Extra-info descriptors contain extra space between nickname and fingerprint
Starting 16 hours ago, a relay started publishing the following extra-info descriptor that makes metrics-lib choke:
extra-info free EB2798A84E9D962DF13C61FA055C2513DDDAF800 published 2012-07-08 13:36:56 router-signature -----BEGIN SIGNATURE----- nn7itViCioERo/QzaKYB5AKu/ufMjukORZBU4QXqL0PPSvjDVix1+ckK8J5xYJc7 6fie9moyZpUK+bdz4xzIf/YECMbGwT3lJOZO59f+vMwQycI6tRWHyCWc9A941Mf4 6hrvwRj7IKgIcJdhxFp3FevREx5CCA3f+yhWJdAbQ5s= -----END SIGNATURE-----
metrics-lib would expect a single SP between nickname and fingerprint, which is the default for most descriptor lines. I'm not entirely certain that dir-spec.txt doesn't allow two SP though:
"extra-info" Nickname Fingerprint NL
The space between Nickname and Fingerprint could be interpreted as SP (which is what I did in many places that didn't have an explicit definition of SP), or it could be considered WS which is defined as
WS = (SP | TAB)+.
So, should the directory authorities reject this descriptor for being malformed? Or should metrics-lib (and stem) interpret multiple SP as well as any combination of SP and TAB as keyword separator whenever there's no explicit definition in dir-spec.txt?