/* pop.c: client routines for talking to a POP3-protocol post-office server
-Copyright (C) 1991, 1993, 1996-1997, 1999, 2001-2011
+Copyright (C) 1991, 1993, 1996-1997, 1999, 2001-2012
Free Software Foundation, Inc.
Author: Jonathan Kamens <jik@security.ov.com>
along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
-#ifdef HAVE_CONFIG_H
#include <config.h>
-#else
-#define MAIL_USE_POP
-#endif
#ifdef MAIL_USE_POP
#include "ntlib.h"
#include <winsock.h>
#undef SOCKET_ERROR
-#define RECV(s,buf,len,flags) recv(s,buf,len,flags)
-#define SEND(s,buf,len,flags) send(s,buf,len,flags)
-#define CLOSESOCKET(s) closesocket(s)
+#define RECV(s,buf,len,flags) recv (s,buf,len,flags)
+#define SEND(s,buf,len,flags) send (s,buf,len,flags)
+#define CLOSESOCKET(s) closesocket (s)
#else
#include <netinet/in.h>
#include <sys/socket.h>
-#define RECV(s,buf,len,flags) read(s,buf,len)
-#define SEND(s,buf,len,flags) write(s,buf,len)
-#define CLOSESOCKET(s) close(s)
+#define RECV(s,buf,len,flags) read (s,buf,len)
+#define SEND(s,buf,len,flags) write (s,buf,len)
+#define CLOSESOCKET(s) close (s)
#endif
#include <pop.h>
#endif /* KERBEROS */
#ifndef WINDOWSNT
-#if !defined(HAVE_H_ERRNO) || !defined(HAVE_CONFIG_H)
+#ifndef HAVE_H_ERRNO
extern int h_errno;
#endif
#endif
if (0 == strncmp (fromserver, "-ERR", 4))
{
strncpy (pop_error, fromserver, ERROR_MAX);
+ pop_error[ERROR_MAX-1] = '\0';
}
else
{
if (strncmp (fromserver, "+OK ", 4))
{
if (! strncmp (fromserver, "-ERR", 4))
- strncpy (pop_error, fromserver, ERROR_MAX);
+ {
+ strncpy (pop_error, fromserver, ERROR_MAX);
+ pop_error[ERROR_MAX-1] = '\0';
+ }
else
{
strcpy (pop_error,
if (0 == strncmp (*response, "-ERR", 4))
{
strncpy (pop_error, *response, ERROR_MAX);
+ pop_error[ERROR_MAX-1] = '\0';
return (-1);
}
else if (0 == strncmp (*response, "+OK", 3))
if (! strncmp (fromserver, "-ERR", 4))
{
strncpy (pop_error, fromserver, ERROR_MAX);
+ pop_error[ERROR_MAX-1] = '\0';
return (-1);
}
else if (strncmp (fromserver, "+OK ", 4))
}
#ifdef HAVE_GETADDRINFO
- memset (&hints, 0, sizeof(hints));
+ memset (&hints, 0, sizeof (hints));
hints.ai_socktype = SOCK_STREAM;
hints.ai_flags = AI_CANONNAME;
hints.ai_family = AF_INET;
krb5_free_context (kcontext);
strcpy (pop_error, KRB_ERROR);
strncat (pop_error, error_message (rem),
- ERROR_MAX - sizeof(KRB_ERROR));
+ ERROR_MAX - sizeof (KRB_ERROR));
CLOSESOCKET (sock);
return (-1);
}
ERROR_MAX - strlen (pop_error) - 1);
}
#elif defined HAVE_KRB5_ERROR_E_TEXT
- if (err_ret && err_ret->e_text && strlen(*err_ret->e_text))
+ if (err_ret && err_ret->e_text && strlen (*err_ret->e_text))
{
strncat (pop_error, " [server says '",
ERROR_MAX - strlen (pop_error) - 1);