X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=odmr.c;h=64e70bcebb3e1af0311fec11474b48d24dc328ea;hb=33cddbff323efcbae1503e91e6e65b2733da80c7;hp=cb0d559a6dbcefc388cbac2bca41851e262d945e;hpb=d57b00768a8fa44d1e1c5f758440edabfa488baf;p=~andy%2Ffetchmail diff --git a/odmr.c b/odmr.c index cb0d559a..64e70bce 100644 --- a/odmr.c +++ b/odmr.c @@ -9,24 +9,15 @@ #include #include #include -#ifdef HAVE_STRING_H /* strcat() */ #include -#endif -#ifdef HAVE_NET_SOCKET_H /* BeOS needs this */ -#include -#endif #include -#ifdef HAVE_NET_SELECT_H /* AIX needs this */ -#include -#endif -#ifdef HAVE_SYS_SELECT_H /* AIX 4.1, at least, needs this */ #include -#endif #include #include #include -#include "i18n.h" +#include "gettext.h" #include "fetchmail.h" +#include "sdump.h" #include "smtp.h" #include "socket.h" @@ -36,7 +27,7 @@ static int odmr_ok (int sock, char *argbuf) int ok; (void)argbuf; - ok = SMTP_ok(sock, SMTP_MODE); + ok = SMTP_ok(sock, SMTP_MODE, TIMEOUT_DEFAULT); if (ok == SM_UNRECOVERABLE) return(PS_PROTOCOL); else @@ -126,9 +117,12 @@ static int odmr_getrange(int sock, struct query *ctl, const char *id, report(stderr, GT_("Authentication required.\n")); return(PS_AUTHFAIL); - default: - report(stderr, GT_("Unknown ODMR error %d\n"), atoi(buf)); - return(PS_PROTOCOL); + default: { + char *t = sdump(buf, strlen(buf)); + report(stderr, GT_("Unknown ODMR error \"%s\"\n"), t); + xfree(t); + return(PS_PROTOCOL); + } } /* @@ -138,7 +132,7 @@ static int odmr_getrange(int sock, struct query *ctl, const char *id, * instead, we'll use select(2) to watch the read sides of both * sockets and just throw their data at each other. */ - if ((smtp_sock = smtp_open(ctl)) == -1) + if ((smtp_sock = smtp_setup(ctl)) == -1) return(PS_SOCKET); else { @@ -148,7 +142,6 @@ static int odmr_getrange(int sock, struct query *ctl, const char *id, { fd_set readfds; struct timeval timeout; - char buf[MSGBUFSIZE]; FD_ZERO(&readfds); FD_SET(sock, &readfds);