Michal Čihař - Archive for May 30, 2006

Removal of inactive developers

Marc yesterday proposed to remove inactive developers from project on sourceforge. This would clean up the list to show actual state of developers instead of everybody who contributed in past.

For past contributors there is huge credits section in documentation, so it should be enough for anybody ego ;-).

Lets see how it will evolve, at least Garvin seems to be against his removal.

Time to update PGP keys

Time to time I do full update of local PGP keys from keyserver. This reduces need for updating keys when checking not so important signatures.

This time it looks like lot of signatures were added:

gpg: Total number processed: 1442
gpg:               imported: 1
gpg:              unchanged: 810
gpg:           new user IDs: 78
gpg:            new subkeys: 14
gpg:         new signatures: 31038

Updating of all keys should be done with gpg --refresh-keys. It attempts to receive keys from not respoding servers defined in some keys, so I wrote simple script to do the same using default key server:

gpg --list-keys | grep ^pub | grep -o '[0-9A-Z]\{8\}' | sort -u > /tmp/keys
< /tmp/keys xargs gpg --recv-keys

Fight with www.foo sites

There are many sites where www.foo.bar points to different web than foo.bar. Random example that comes to my mind is http://opensuse.com/ and http://www.opensuse.com/. This sucks. I'm probably not the only lazy men in the world and typing www everytime is pointless.

So I much appreciate www. is deprecated website, which tries to persuade people about pointless keeping of www in many cases. So if you can, please classify your site as Class B, which is the best solution right now.

GnuPG path grabbing

Many times I needed "intelligent" way to grab key path from my key (and others I somehow trust for signing purposes) to other random key that gets to me.

Receiving keys for all signatures is quite expensive operation and you soon end with most of PGP keys on the world in your database. The best seems to fetch only needed keys. You can find path using PGP pathfinder & key statistics by Henk P. Penning. It's extremely useful site, where you can find many information about PGP keys.

So the logical step seems to be to write down script which will grab needed keys:

#!/bin/sh

if [ "$#" -lt 1 -o "$#" -gt 2 ] ; then
    echo usage `basename $0` ID [gpgparam]
    exit 1
fi

url=http://www.cs.uu.nl/people/henkp/henkp/pgp/pathfinder/mk_path.cgi

(
links -dump "$url?FROM=36E75604&TO=$1"
links -dump "$url?FROM=B3B2A12C&TO=$1"
links -dump "$url?FROM=65D0FD58&TO=$1"
) | grep -o '[0-9A-F]\{8\}'  | sort -u | xargs gpg --recv-keys --no-auto-check-trustdb $2

gpg --check-trustdb $2

And special bonus for Sylpheed-Claws users. Here is action to call above script:

ID=`gpg --verify %p /dev/null 2>&1 | \
grep "key ID" | tr -d "[:space:]" | \
tail -c8`;echo "==== Fetching $ID ===="; \
~/bin/gpg_get_path $ID --no-tty