#include <unistd.h>
#include "i18n.h"
#include "fetchmail.h"
+#include "sdump.h"
#include "smtp.h"
#include "socket.h"
{
int ok;
- ok = SMTP_ok(sock, SMTP_MODE);
+ (void)argbuf;
+ ok = SMTP_ok(sock, SMTP_MODE, TIMEOUT_DEFAULT);
if (ok == SM_UNRECOVERABLE)
return(PS_PROTOCOL);
else
char buf [MSGBUFSIZE+1];
struct idlist *qnp; /* pointer to Q names */
+ (void)id;
if ((ok = SMTP_ehlo(sock, SMTP_MODE, fetchmailhost,
ctl->server.esmtp_name, ctl->server.esmtp_password,
&opts)))
*/
buf[0] = '\0';
for (qnp = ctl->domainlist; qnp; qnp = qnp->next)
- if (strlen(buf) + strlen((const char *)qnp->id) + 1 >= sizeof(buf))
+ if (strlen(buf) + strlen(qnp->id) + 1 >= sizeof(buf))
break;
else
{
- strcat(buf, (const char *)qnp->id);
+ strcat(buf, qnp->id);
strcat(buf, ",");
}
buf[strlen(buf) - 1] = '\0'; /* nuke final comma */
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);
+ }
}
/*
* 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
{
{
fd_set readfds;
struct timeval timeout;
- char buf[MSGBUFSIZE];
FD_ZERO(&readfds);
FD_SET(sock, &readfds);