The old parsing code used fscanf, and so happened to allow a tab as a
delimiter. Even though smime_keys.pl uses a space, some users
maintain their own .index files by hand (using tab delimiters), so
continue to allow that delimiter.
Thanks to Andre for the bug report and patch.
for (p = buf; p; p = pend)
{
- if ((pend = strchr (p, ' ')) || (pend = strchr (p, '\n')))
+ /* Some users manually maintain their .index file, and use a tab
+ * as a delimiter, which the old parsing code (using fscanf)
+ * happened to allow. smime_keys.pl uses a space, so search for both.
+ */
+ if ((pend = strchr (p, ' ')) || (pend = strchr (p, '\t')) ||
+ (pend = strchr (p, '\n')))
*pend++ = 0;
/* For backward compatibility, don't count consecutive delimiters