--- dsniff-2.4/decode_smtp.c 2009-11-22 00:12:52.000000000 -0500 +++ dsniff-2.4-mine/decode_smtp.c 2009-10-19 23:13:22.000000000 -0400 @@ -29,13 +29,13 @@ decode_smtp(u_char *buf, int len, u_char obuf[0] = '\0'; for (p = strtok(buf, "\r\n"); p != NULL; p = strtok(NULL, "\r\n")) { - if (login == 1) { + if (login > 0) { strlcat(obuf, p, olen); i = base64_pton(p, p, strlen(p)); p[i] = '\0'; j = strlen(obuf); snprintf(obuf + j, olen - j, " [%s]\n", p); - login = 0; + login--; } else if (strncmp(p, "AUTH LOGIN ", 11) == 0) { strlcat(obuf, p, olen); @@ -46,6 +46,9 @@ decode_smtp(u_char *buf, int len, u_char snprintf(obuf + j, olen - j, " [%s]\n", p); login = 1; } + else if (strncmp(p, "AUTH LOGIN", 10) == 0) { + login = 2; + } else if (strncmp(p, "MAIL ", 5) == 0 || strncmp(p, "RCPT ", 5) == 0 || strncmp(p, "DATA", 4) == 0) {