author | Junio C Hamano <junkio@cox.net> | |
Sun, 28 May 2006 20:39:05 +0000 (13:39 -0700) | ||
committer | Junio C Hamano <junkio@cox.net> | |
Sun, 28 May 2006 20:39:05 +0000 (13:39 -0700) |
* jc/mailinfo:
mailinfo: skip bogus UNIX From line inside body
mailinfo: skip bogus UNIX From line inside body
1 | 2 | |||
---|---|---|---|---|
mailinfo.c | patch | | diff1 | | diff2 | | blob | history |
diff --cc mailinfo.c
index 88f9fbb198a7343715fb01c64c72044a7abaedab,a133e6d08aa69a5b19f6f232729b7dd108a630d6..5b6c2157ede415e019099098f2d0dc522b1e7a27
--- 1/mailinfo.c
--- 2/mailinfo.c
+++ b/mailinfo.c
#define SEEN_FROM 01
#define SEEN_DATE 02
#define SEEN_SUBJECT 04
- #define SEEN_PREFIX 0x08
+ #define SEEN_BOGUS_UNIX_FROM 010
++#define SEEN_PREFIX 020
/* First lines of body can have From:, Date:, and Subject: */
-static int handle_inbody_header(int *seen, char *line)
+static void handle_inbody_header(int *seen, char *line)
{
- return 1;
+ if (!memcmp(">From", line, 5) && isspace(line[5])) {
+ if (!(*seen & SEEN_BOGUS_UNIX_FROM)) {
+ *seen |= SEEN_BOGUS_UNIX_FROM;
++ return;
+ }
+ }
if (!memcmp("From:", line, 5) && isspace(line[5])) {
if (!(*seen & SEEN_FROM) && handle_from(line+6)) {
*seen |= SEEN_FROM;