Эх сурвалжийг харах

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 жил өмнө
parent
commit
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 )) {
 			} else if (!strcmp( "OK", arg )) {
 				ctx->greeting = GreetingOk;
 				ctx->greeting = GreetingOk;
 				parse_response_code( ctx, 0, cmd );
 				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;
 				ctx->greeting = GreetingBad;
 				parse_response_code( ctx, 0, cmd );
 				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 )) {
 			} else if (!strcmp( "CAPABILITY", arg )) {
 				parse_capability( ctx, cmd );
 				parse_capability( ctx, cmd );
 			} else if (!strcmp( "LIST", arg )) {
 			} else if (!strcmp( "LIST", arg )) {