瀏覽代碼

fix treatment of untagged NO and BAD responses

they aren't possible greeting responses. however, they are warning resp.
error reports from the server, so print them accordingly.
Oswald Buddenhagen 10 年之前
父節點
當前提交
4f3ef54f3a
共有 1 個文件被更改,包括 5 次插入1 次删除
  1. 5 1
      src/drv_imap.c

+ 5 - 1
src/drv_imap.c

@@ -1245,9 +1245,13 @@ imap_socket_read( void *aux )
 			} else if (!strcmp( "OK", arg )) {
 				ctx->greeting = GreetingOk;
 				parse_response_code( ctx, 0, cmd );
-			} else if (!strcmp( "BAD", arg ) || !strcmp( "NO", arg ) || !strcmp( "BYE", arg )) {
+			} else if (!strcmp( "BYE", arg )) {
 				ctx->greeting = GreetingBad;
 				parse_response_code( ctx, 0, cmd );
+			} else if (!strcmp( "NO", arg )) {
+				warn( "Warning from IMAP server: %s\n", cmd );
+			} else if (!strcmp( "BAD", arg )) {
+				error( "Error from IMAP server: %s\n", cmd );
 			} else if (!strcmp( "CAPABILITY", arg )) {
 				parse_capability( ctx, cmd );
 			} else if (!strcmp( "LIST", arg )) {