aboutsummaryrefslogtreecommitdiffstats
path: root/rfc822.c
diff options
context:
space:
mode:
authorEric S. Raymond <esr@thyrsus.com>1997-05-28 03:39:53 +0000
committerEric S. Raymond <esr@thyrsus.com>1997-05-28 03:39:53 +0000
commit186aa9d9d7e5581f7cb8059e27bfd6400688104a (patch)
treee0637d32ba9aa07b1a836fc97255f58ef62c2f7a /rfc822.c
parent4a6be646c86e2125390a4043095bc74f33d7620f (diff)
downloadfetchmail-186aa9d9d7e5581f7cb8059e27bfd6400688104a.tar.gz
fetchmail-186aa9d9d7e5581f7cb8059e27bfd6400688104a.tar.bz2
fetchmail-186aa9d9d7e5581f7cb8059e27bfd6400688104a.zip
Handle RFC822 group names.
svn path=/trunk/; revision=1032
Diffstat (limited to 'rfc822.c')
-rw-r--r--rfc822.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/rfc822.c b/rfc822.c
index 267c06e5..c9dc37b9 100644
--- a/rfc822.c
+++ b/rfc822.c
@@ -70,7 +70,12 @@ const char *host; /* server hostname */
has_host_part = TRUE;
else if (*from == '"')
state = 2;
- else if ((*from == ',' || HEADER_END(from)) && has_bare_name_part && !has_host_part)
+ /*
+ * Not expanding on from[-1] == ';' deals with groupnames,
+ * an obscure misfeature described in sections
+ * 6.1, 6.2.6, and A.1.5 of the RFC822 standard.
+ */
+ else if ((*from == ',' || HEADER_END(from)) && has_bare_name_part && !has_host_part && from[-1] != ';')
{
int hostlen;