32 lines
784 B
C
32 lines
784 B
C
--- imap.c.orig 2007-02-27 10:19:38.000000000 -0800
|
|
+++ imap.c 2011-01-06 23:12:58.000000000 -0800
|
|
@@ -138,13 +138,18 @@
|
|
|
|
/* connection is open, let's log in */
|
|
|
|
- sprintf(output, "A000 LOGIN %s %s\r\n", mb->user, mb->pass);
|
|
- WRITE_OUTPUT;
|
|
+ sprintf(output, "A000 LOGIN %s %s\r\n", mb->user, mb->pass);
|
|
+ WRITE_OUTPUT;
|
|
+ while (1) {
|
|
WAITOK;
|
|
+ if (strncmp(input, "A000 ", 5)) /* allow for other tags/untagged */
|
|
+ continue;
|
|
+
|
|
if ( strncmp(input, "A000 OK", 7) ) {
|
|
- BYE(STAT_LOGIN);
|
|
+ BYE(STAT_LOGIN);
|
|
}
|
|
return(STAT_IDLE);
|
|
+ }
|
|
}
|
|
|
|
|
|
@@ -287,6 +292,7 @@
|
|
imap_checkmbox(mb, &s);
|
|
}
|
|
} else {
|
|
+ mb->status = STAT_RUN;
|
|
mb->status |= imap_login(mb, &s);
|
|
mb->status |= imap_checkmbox(mb, &s);
|
|
mb->status |= imap_goodbye(mb, &s);
|