Explorar el Código

remove stray CRLF from AUTHENTICATE continuations

this re-introduces 6741bc94 (just a bit differently), thus effectively
reverting fbfcfea5. i suppose this extra CRLF is needed by a broken
CRAM-MD5 implementation of some server, which is why it was there in the
original implementation as well. however, it breaks more pedantic
non-broken servers. if somebody complains, we'll need to add a much
more sophisticated hack.
Oswald Buddenhagen hace 10 años
padre
commit
3db3f4718e
Se han modificado 1 ficheros con 2 adiciones y 3 borrados
  1. 2 3
      src/drv_imap.c

+ 2 - 3
src/drv_imap.c

@@ -1270,7 +1270,8 @@ imap_socket_read( void *aux )
 					ctx->trashnc = TrashKnown; /* Can't get NO [TRYCREATE] any more. */
 				p = cmdp->param.data;
 				cmdp->param.data = 0;
-				if (socket_write( &ctx->conn, p, cmdp->param.data_len, GiveOwn ) < 0)
+				if (socket_write( &ctx->conn, p, cmdp->param.data_len, GiveOwn ) < 0 ||
+				    socket_write( &ctx->conn, "\r\n", 2, KeepOwn ) < 0)
 					return;
 			} else if (cmdp->param.cont) {
 				if (cmdp->param.cont( ctx, cmdp, cmd ))
@@ -1279,8 +1280,6 @@ imap_socket_read( void *aux )
 				error( "IMAP error: unexpected command continuation request\n" );
 				break;
 			}
-			if (socket_write( &ctx->conn, "\r\n", 2, KeepOwn ) < 0)
-				return;
 		} else {
 			tag = atoi( arg );
 			for (pcmdp = &ctx->in_progress; (cmdp = *pcmdp); pcmdp = &cmdp->next)