diff options
author | Matthias Andree <matthias.andree@gmx.de> | 2010-10-09 12:21:51 +0200 |
---|---|---|
committer | Matthias Andree <matthias.andree@gmx.de> | 2010-10-09 12:21:51 +0200 |
commit | c0db499f36439269c81c0d83fc4655502985bbc5 (patch) | |
tree | 6014c43afcec291ff11cbcea75320a8af5564cec /pop3.c | |
parent | 858d08aeb74c6280ebcc29f6674084f345fdd425 (diff) | |
parent | 269cba9b00fa7ecb0d707ef5b6f10d34e049327c (diff) | |
download | fetchmail-c0db499f36439269c81c0d83fc4655502985bbc5.tar.gz fetchmail-c0db499f36439269c81c0d83fc4655502985bbc5.tar.bz2 fetchmail-c0db499f36439269c81c0d83fc4655502985bbc5.zip |
Merge branch 'master' of gitorious.org:fetchmail/fetchmail
Diffstat (limited to 'pop3.c')
-rw-r--r-- | pop3.c | 53 |
1 files changed, 5 insertions, 48 deletions
@@ -82,60 +82,17 @@ char *sdps_envto; static int do_pop3_ntlm(int sock, struct query *ctl, int msn_instead /** if true, send AUTH MSN, else send AUTH NTLM */) { - tSmbNtlmAuthRequest request; - tSmbNtlmAuthChallenge challenge; - tSmbNtlmAuthResponse response; + char msgbuf[POPBUFSIZE+1]; + int result; - char msgbuf[2048]; - int result,len; - gen_send(sock, msn_instead ? "AUTH MSN" : "AUTH NTLM"); - if ((result = gen_recv(sock, msgbuf, sizeof msgbuf))) + if ((result = ntlm_helper(sock, ctl, "POP3"))) return result; - - if (msgbuf[0] != '+') - return PS_AUTHFAIL; - - buildSmbNtlmAuthRequest(&request,ctl->remotename,NULL); - - if (outlevel >= O_DEBUG) - dumpSmbNtlmAuthRequest(stdout, &request); - - memset(msgbuf,0,sizeof msgbuf); - to64frombits (msgbuf, &request, SmbLength(&request)); - - if (outlevel >= O_MONITOR) - report(stdout, "POP3> %s\n", msgbuf); - - strcat(msgbuf,"\r\n"); - SockWrite (sock, msgbuf, strlen (msgbuf)); - - if ((gen_recv(sock, msgbuf, sizeof msgbuf))) - return result; - - len = from64tobits (&challenge, msgbuf, sizeof(msgbuf)); - - if (outlevel >= O_DEBUG) - dumpSmbNtlmAuthChallenge(stdout, &challenge); - - buildSmbNtlmAuthResponse(&challenge, &response,ctl->remotename,ctl->password); - - if (outlevel >= O_DEBUG) - dumpSmbNtlmAuthResponse(stdout, &response); - - memset(msgbuf,0,sizeof msgbuf); - to64frombits (msgbuf, &response, SmbLength(&response)); - - if (outlevel >= O_MONITOR) - report(stdout, "POP3> %s\n", msgbuf); - - strcat(msgbuf,"\r\n"); - SockWrite (sock, msgbuf, strlen (msgbuf)); - + if ((result = gen_recv (sock, msgbuf, sizeof msgbuf))) return result; - + if (strstr (msgbuf, "OK")) return PS_SUCCESS; else |