myserver-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[myserver-commit] [SCM] GNU MyServer branch, master, updated. 0_9_1-42-g


From: Giuseppe Scrivano
Subject: [myserver-commit] [SCM] GNU MyServer branch, master, updated. 0_9_1-42-gae0ca17
Date: Mon, 08 Feb 2010 00:28:52 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU MyServer".

The branch, master has been updated
       via  ae0ca1765d0a274fc25ceae00c15893ee15421db (commit)
       via  5e694f2c1922d5ffd5b165bd6dbabb3223c45c29 (commit)
       via  85b5a3a815bd84e1f4007bbac907d7704bffe69d (commit)
       via  09b658b28fa860acd80fed886efa59a1d6ab4bec (commit)
       via  b4a3446ea120b33a3286ee4cf0a24175d4fa69a6 (commit)
       via  ab7dfdd846bd2f82c2251b0355c1e101b1e5cda0 (commit)
       via  5ba9ccf2685c25144ccb075cf5db5d9ddac22e86 (commit)
       via  230c8f864bed5aa1319632792115fa94813668d1 (commit)
       via  b519d1e92574ff12ea1eb3ed5ccdd27acda2a352 (commit)
       via  c4888d7dda42af77c121ac44c0e33cdd77607ed9 (commit)
       via  186671520aa491cd2c15baeee041f72924c01cd7 (commit)
       via  45e2728b407644b8e1e11dd39c7a702a7594d6b2 (commit)
       via  cebcda83a6dc078a4df2c78f0c288ebe79792832 (commit)
       via  242eaf7bfe64bfdd3542d594f15a558b88dc256d (commit)
       via  dfa646f8a4824e220a2ed2a3122445d374d1619f (commit)
       via  ec946148004db983a871fb4d27ca4ac0071257fb (commit)
       via  d1cd168cd5c1ba67d472fdacdbf59df00a175d5f (commit)
       via  3dec625c9f5f81c04921338dc90f235ab1513cca (commit)
       via  6e98f3e19361364be62c98196e1de5b84455cc96 (commit)
      from  0729c236837deda9b59305ef9d7a731788e6926b (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------


commit ae0ca1765d0a274fc25ceae00c15893ee15421db
Author: Giuseppe Scrivano <address@hidden>
Date:   Mon Feb 8 01:29:21 2010 +0100

    Remove WIN32 legacy code in favor of gnulib abstractions

diff --git a/myserver/include/base/socket/socket.h 
b/myserver/include/base/socket/socket.h
index 9c3c9bc..92352b8 100644
--- a/myserver/include/base/socket/socket.h
+++ b/myserver/include/base/socket/socket.h
@@ -49,11 +49,7 @@ extern "C"
 #  define SD_BOTH SHUT_RDWR
 # endif
 
-# ifdef WIN32
-typedef SOCKET SocketHandle;
-# else
 typedef int SocketHandle;
-# endif
 
 # ifdef INET6_ADDRSTRLEN
 #  define MAX_IP_STRING_LEN  INET6_ADDRSTRLEN
diff --git a/myserver/include/base/socket/ssl_socket.h 
b/myserver/include/base/socket/ssl_socket.h
index 909cbe4..72bf6b7 100644
--- a/myserver/include/base/socket/ssl_socket.h
+++ b/myserver/include/base/socket/ssl_socket.h
@@ -36,17 +36,6 @@ using namespace std;
 
 # include <gnutls/openssl.h>
 
-
-# ifndef WIN32
-extern "C" {
-#  include <sys/ioctl.h>
-#  include <netinet/in.h>
-#  include <netdb.h>
-#  include <stdio.h>
-#  include <unistd.h>
-}
-# endif
-
 class SslSocket : public Socket
 {
 public:
@@ -70,12 +59,13 @@ public:
   virtual int dataOnRead (int sec = 0, int usec = 500);
 # endif
 
+  SslSocket ();
   SslSocket (Socket*);
   virtual ~SslSocket ();
 
 protected:
   bool externalContext;
-  Socket* socket;
+  Socket* sock;
   SSL *sslConnection;
   SSL_CTX *sslContext;
   const X509 *clientCert;
diff --git a/myserver/src/base/socket/socket.cpp 
b/myserver/src/base/socket/socket.cpp
index e06341c..661fc84 100644
--- a/myserver/src/base/socket/socket.cpp
+++ b/myserver/src/base/socket/socket.cpp
@@ -24,12 +24,13 @@ along with this program.  If not, see 
<http://www.gnu.org/licenses/>.
 
 extern "C"
 {
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <sys/ioctl.h>
+
 #ifndef WIN32
-# include <sys/types.h>
-# include <sys/socket.h>
-# include <sys/ioctl.h>
-# include <netdb.h>
 # include <unistd.h>
+# include <netdb.h>
 # include <netinet/in.h>
 # include <arpa/inet.h>
 #endif
@@ -48,16 +49,12 @@ using namespace std;
 int Socket::startupSocketLib ()
 {
 #ifdef WIN32
-  /*
-   *Under windows we need to initialize the socket library before use it.
-   */
   static bool done = false;
-
   if (!done)
     {
       WSADATA wsaData;
       done = true;
-      return WSAStartup (MAKEWORD ( 1, 1), &wsaData);
+      return WSAStartup (MAKEWORD (1, 1), &wsaData);
     }
 #endif
   return 0;
@@ -103,12 +100,8 @@ int Socket::operator=(Socket* s)
  */
 int Socket::socket (int af, int type, int protocol)
 {
-#ifdef WIN32
-  socketHandle = ::socket (af, type, protocol);
-#else
   socketHandle = ::socket (af, type, protocol);
-#endif
-  return (int)socketHandle;
+  return socketHandle;
 }
 
 /*!
@@ -169,23 +162,19 @@ Socket::Socket ()
 /*!
  *Bind the port to the socket.
  */
-int Socket::bind (MYSERVER_SOCKADDR* sa,int namelen)
+int Socket::bind (MYSERVER_SOCKADDR* sa, int namelen)
 {
-   if ( sa == NULL )
-      return -1;
+  if ( sa == NULL )
+    return -1;
 
   if ((sa->ss_family == AF_INET && namelen != sizeof (sockaddr_in))
 #if HAVE_IPV6
-  || (sa->ss_family == AF_INET6 && namelen != sizeof (sockaddr_in6))
+      || (sa->ss_family == AF_INET6 && namelen != sizeof (sockaddr_in6))
 #endif
-       )
+      )
     return -1;
 
-#ifdef WIN32
   return ::bind (socketHandle, (struct sockaddr*) sa, namelen);
-#else
-  return ::bind (socketHandle, (const struct sockaddr*)sa, namelen);
-#endif
 }
 
 /*!
@@ -193,11 +182,7 @@ int Socket::bind (MYSERVER_SOCKADDR* sa,int namelen)
  */
 int Socket::listen (int max)
 {
-#ifdef WIN32
   return ::listen (socketHandle, max);
-#else
-  return ::listen (socketHandle, max);
-#endif
 }
 
 /*!
@@ -209,7 +194,7 @@ Socket* Socket::accept (MYSERVER_SOCKADDR* sa, socklen_t* 
sockaddrlen)
                                           sockaddrlen);
 
   if (acceptedHandle >= 0)
-    return new Socket ((SocketHandle)acceptedHandle);
+    return new Socket ((SocketHandle) acceptedHandle);
   else
     return NULL;
 }
@@ -221,13 +206,8 @@ int Socket::close ()
 {
   int ret = -1;
   if (socketHandle >= 0)
-    {
-#ifdef WIN32
-      ret = ::closesocket (socketHandle);
-#else
-      ret = ::close (socketHandle);
-#endif
-    }
+    ret = ::close (socketHandle);
+
   socketHandle = -1;
   return ret;
 }
@@ -237,12 +217,7 @@ int Socket::close ()
  */
 MYSERVER_HOSTENT *Socket::gethostbyaddr (char* addr, int len, int type)
 {
-#ifdef WIN32
-  HOSTENT *he = ::gethostbyaddr (addr,len,type);
-#else
-  struct hostent * he = ::gethostbyaddr (addr,len,type);
-#endif
-  return he;
+  return (MYSERVER_HOSTENT *) ::gethostbyaddr (addr, len, type);
 }
 
 /*!
@@ -250,7 +225,7 @@ MYSERVER_HOSTENT *Socket::gethostbyaddr (char* addr, int 
len, int type)
 */
 MYSERVER_HOSTENT *Socket::gethostbyname (const char *hostname)
 {
-  return (MYSERVER_HOSTENT *)::gethostbyname (hostname);
+  return (MYSERVER_HOSTENT *) ::gethostbyname (hostname);
 }
 
 /*!
@@ -279,7 +254,7 @@ int Socket::getLocalIPsList (string &out)
   memset (serverName, 0, HOST_NAME_MAX + 1);
 
   Socket::gethostname (serverName, HOST_NAME_MAX);
-#if ( HAVE_IPV6 )
+#if HAVE_IPV6
   addrinfo aiHints = { 0 }, *pHostInfo = NULL, *pCrtHostInfo = NULL;
   /* only interested in socket types the that server will listen to.  */
   aiHints.ai_socktype = SOCK_STREAM;
@@ -351,14 +326,7 @@ int Socket::getLocalIPsList (string &out)
  */
 int Socket::rawSend (const char* buffer, int len, int flags)
 {
-#ifdef WIN32
-  int ret;
-  SetLastError (0);
-
-  return ::send (socketHandle, buffer, len, flags);
-#else
   return ::send (socketHandle, buffer, len, flags);
-#endif
 }
 
 /*!
@@ -409,13 +377,9 @@ int Socket::send (const char* buffer, int len, int flags)
 /*!
  *Function used to control the socket.
  */
-int Socket::ioctlsocket (long cmd,unsigned long* argp)
+int Socket::ioctlsocket (long cmd, unsigned long* argp)
 {
-#ifdef WIN32
-  return ::ioctlsocket (socketHandle, cmd, argp);
-#else
   return ::ioctl (socketHandle, cmd, argp);
-#endif
 }
 
 /*!
@@ -427,7 +391,7 @@ int Socket::connect (const char* host, u_short port)
   if ( host == NULL )
     return -1;
 
-#if ( HAVE_IPV6 )
+#if HAVE_IPV6
   MYSERVER_SOCKADDRIN thisSock = { 0 };
   int nLength = sizeof (MYSERVER_SOCKADDRIN);
   int nSockLen = 0;
@@ -563,11 +527,7 @@ int Socket::connect (MYSERVER_SOCKADDR* sa, int na)
  )
     return -1;
 
-#ifdef WIN32
-  return ::connect (socketHandle,(sockaddr *)sa, na);
-#else
-  return ::connect (socketHandle,(const sockaddr *)sa,na);
-#endif
+  return ::connect (socketHandle, (sockaddr *) sa, na);
 }
 
 /*!
@@ -589,17 +549,6 @@ int Socket::recv (char* buffer,int len,int flags)
 {
   int err = 0;
 
-#ifdef WIN32
-  err = ::recv (socketHandle, buffer, len, flags);
-
-  if ( err == SOCKET_ERROR && GetLastError () == WSAEWOULDBLOCK && 
isNonBlocking)
-    return 0;
-
-  if (err == SOCKET_ERROR)
-    return -1;
-  else
-    return err;
-#else
   err = ::recv (socketHandle, buffer, len, flags);
 
   if ( err < 0 && errno == EAGAIN && isNonBlocking)
@@ -609,8 +558,6 @@ int Socket::recv (char* buffer,int len,int flags)
     err = -1;
 
   return err;
-#endif
-
 }
 
 /*!
@@ -631,23 +578,22 @@ u_long Socket::bytesToRead ()
 }
 
 /*!
- *Change the socket behaviour when an operation can't be completed
- *immediately.
- *If the socket is configured to be non blocking then it will return
- *immediately the control to the caller function.
- *A blocking socket will wait until the operation can be performed.
- *\param nonBlocking Nonzero to configure the socket non blocking.
+ * Change the socket behaviour when an operation can't be completed
+ * immediately.
+ * If the socket is configured to be non blocking then it will return
+ * immediately the control to the caller function.
+ * A blocking socket will wait until the operation can be performed.
+ * \param nonBlocking Nonzero to configure the socket non blocking.
  */
 int Socket::setNonBlocking (int nonBlocking)
 {
   int ret = -1;
+  int flags;
+
 #ifdef WIN32
   u_long nonblock = nonBlocking ? 1 : 0;
-  ret = ioctlsocket ( FIONBIO, &nonblock);
-
+  ret = ioctlsocket (FIONBIO, &nonblock);
 #else
-
-  int flags;
   flags = fcntl (socketHandle, F_GETFL, 0);
   if (flags < 0)
     return -1;
@@ -659,8 +605,9 @@ int Socket::setNonBlocking (int nonBlocking)
 
   ret = fcntl (socketHandle, F_SETFL, flags);
 
-#endif
   isNonBlocking = nonBlocking ? true : false;
+#endif
+
   return ret;
 }
 
@@ -677,14 +624,10 @@ int Socket::gethostname (char *name, int namelen)
  */
 int Socket::getsockname (MYSERVER_SOCKADDR *ad, int *namelen)
 {
-#ifdef WIN32
-  return ::getsockname (socketHandle,(sockaddr *)ad,namelen);
-#else
   socklen_t len =(socklen_t) *namelen;
   int ret = ::getsockname (socketHandle, (struct sockaddr *)ad, &len);
   *namelen = (int)len;
   return ret;
-#endif
 }
 
 /*!
@@ -715,11 +658,8 @@ int Socket::dataOnRead (int sec, int usec)
   tv.tv_usec = usec;
 
   FD_ZERO (&readfds);
-#ifdef WIN32
   FD_SET (socketHandle, &readfds);
-#else
-  FD_SET (socketHandle, &readfds);
-#endif
+
   ret = ::select (socketHandle + 1, &readfds, NULL, NULL, &tv);
 
   if (ret <= 0)
diff --git a/myserver/src/base/socket/ssl_socket.cpp 
b/myserver/src/base/socket/ssl_socket.cpp
index 0b4c9cf..ca0f017 100644
--- a/myserver/src/base/socket/ssl_socket.cpp
+++ b/myserver/src/base/socket/ssl_socket.cpp
@@ -1,19 +1,19 @@
 /*
-MyServer
-Copyright (C) 2002, 2003, 2004, 2006, 2007, 2008, 2009, 2010 Free
-Software Foundation, Inc.
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 3 of the License, or
-(at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program.  If not, see <http://www.gnu.org/licenses/>.
+  MyServer
+  Copyright (C) 2002, 2003, 2004, 2006, 2007, 2008, 2009, 2010 Free
+  Software Foundation, Inc.
+  This program is free software; you can redistribute it and/or modify
+  it under the terms of the GNU General Public License as published by
+  the Free Software Foundation; either version 3 of the License, or
+  (at your option) any later version.
+
+  This program is distributed in the hope that it will be useful,
+  but WITHOUT ANY WARRANTY; without even the implied warranty of
+  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  GNU General Public License for more details.
+
+  You should have received a copy of the GNU General Public License
+  along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
 
@@ -21,13 +21,14 @@ along with this program.  If not, see 
<http://www.gnu.org/licenses/>.
 #include <include/base/utility.h>
 #include "include/base/socket/ssl_socket.h"
 
-extern "C" {
+extern "C"
+{
 #include <string.h>
 #include <stdio.h>
-#ifndef WIN32
 # include <sys/types.h>
 # include <sys/socket.h>
 # include <sys/ioctl.h>
+#ifndef WIN32
 # include <netdb.h>
 # include <unistd.h>
 # include <netinet/in.h>
@@ -42,9 +43,19 @@ using namespace std;
 /*!
  *Constructor of the class.
  */
-SslSocket::SslSocket (Socket* socket) : Socket (socket)
+SslSocket::SslSocket (Socket* sock) : Socket (sock)
 {
-  this->socket = socket;
+  this->sock = sock;
+  sslConnection = 0;
+  sslContext = 0;
+  clientCert = 0;
+  sslMethod = 0;
+  externalContext = false;
+}
+
+SslSocket::SslSocket ()
+{
+  this->sock = NULL;
   sslConnection = 0;
   sslContext = 0;
   clientCert = 0;
@@ -63,7 +74,6 @@ SslSocket::~SslSocket ()
 int SslSocket::close ()
 {
   freeSSL ();
-
   return Socket::close ();
 }
 
@@ -73,15 +83,9 @@ int SslSocket::close ()
 int SslSocket::shutdown (int how)
 {
   if (sslConnection)
-  {
     SSL_shutdown (sslConnection);
-  }
 
-#ifdef WIN32
   return ::shutdown (socketHandle, how);
-#else
-  return ::shutdown ((int)socketHandle, how);
-#endif
 }
 
 /*!
@@ -93,11 +97,11 @@ int SslSocket::rawSend (const char* buffer, int len, int 
flags)
 {
   int err;
   do
-  {
-    err = SSL_write (sslConnection,buffer,len);
-  }while ((err <= 0) &&
-         (SSL_get_error (sslConnection,err) == SSL_ERROR_WANT_WRITE
-          || SSL_get_error (sslConnection,err) == SSL_ERROR_WANT_READ));
+    {
+      err = SSL_write (sslConnection, buffer, len);
+    }while ((err <= 0) &&
+            (SSL_get_error (sslConnection,err) == SSL_ERROR_WANT_WRITE
+             || SSL_get_error (sslConnection,err) == SSL_ERROR_WANT_READ));
   if (err <= 0)
     return -1;
   else
@@ -124,28 +128,28 @@ int SslSocket::connect (MYSERVER_SOCKADDR* sa, int na)
   if (sslContext == 0)
     return -1;
 
-  /*! Do the TCP connection. */
-  if (::connect ((int) socketHandle,(sockaddr *) sa, na))
-  {
-    SSL_CTX_free (sslContext);
-    sslContext = 0;
-    return -1;
-  }
+  /*! Do the TCP connection.  */
+  if (::connect (socketHandle, (sockaddr *) sa, na))
+    {
+      SSL_CTX_free (sslContext);
+      sslContext = 0;
+      return -1;
+    }
   sslConnection = SSL_new (sslContext);
   if (sslConnection == 0)
-  {
-    SSL_CTX_free (sslContext);
-    sslContext = 0;
-    return -1;
-  }
-  SSL_set_fd (sslConnection, (int)socketHandle);
+    {
+      SSL_CTX_free (sslContext);
+      sslContext = 0;
+      return -1;
+    }
+  SSL_set_fd (sslConnection, socketHandle);
   if (SSL_connect (sslConnection) < 0)
-  {
-    SSL_CTX_free (sslContext);
-    close ();
-    sslContext = 0;
-    return -1;
-  }
+    {
+      SSL_CTX_free (sslContext);
+      sslContext = 0;
+      return -1;
+    }
+
   externalContext = false;
   return 0;
 }
@@ -157,7 +161,6 @@ int SslSocket::setSSLContext (SSL_CTX* context)
 {
   sslContext = context;
   externalContext = true;
-
   return 1;
 }
 
@@ -168,16 +171,16 @@ int SslSocket::freeSSL ()
 {
   /*! free up the SSL context. */
   if (sslConnection)
-  {
-    SSL_free (sslConnection);
-    sslConnection = 0;
-  }
+    {
+      SSL_free (sslConnection);
+      sslConnection = 0;
+    }
 
   if (sslContext && !externalContext)
-  {
-    SSL_CTX_free (sslContext);
-    sslContext = 0;
-  }
+    {
+      SSL_CTX_free (sslContext);
+      sslContext = 0;
+    }
   return 1;
 }
 
@@ -203,32 +206,30 @@ int SslSocket::sslAccept ()
     freeSSL ();
   sslConnection = SSL_new (sslContext);
   if (sslConnection == 0)
-  {
-    freeSSL ();
-    return -1;
-  }
+    {
+      freeSSL ();
+      return -1;
+    }
 
-  if (SSL_set_fd (sslConnection,socketHandle) == 0)
-  {
-    shutdown (2);
-    freeSSL ();
-    close ();
-    return -1;
-  }
+  if (SSL_set_fd (sslConnection, socketHandle) == 0)
+    {
+      shutdown (2);
+      freeSSL ();
+      return -1;
+    }
 
   do
-  {
-    sslAccept = SSL_accept (sslConnection);
-  }while (sslAccept != 1 &&
-          SSL_get_error (sslConnection, sslAccept) == SSL_ERROR_WANT_READ);
+    {
+      sslAccept = SSL_accept (sslConnection);
+    }while (sslAccept != 1
+            && SSL_get_error (sslConnection, sslAccept) == 
SSL_ERROR_WANT_READ);
 
   if (sslAccept != 1 )
-  {
-    shutdown (2);
-    freeSSL ();
-    close ();
-    return -1;
-  }
+    {
+      shutdown (2);
+      freeSSL ();
+      return -1;
+    }
 
   clientCert = SSL_get_peer_certificate (sslConnection);
 
@@ -245,27 +246,27 @@ int SslSocket::recv (char* buffer, int len, int flags)
   int err = 0;
 
   if (sslConnection)
-  {
-    for (;;)
     {
-      int sslError;
-      err = SSL_read (sslConnection, buffer, len);
+      for (;;)
+        {
+          int sslError;
+          err = SSL_read (sslConnection, buffer, len);
 
-      if (err > 0)
-        break;
+          if (err > 0)
+            break;
 
-      sslError = SSL_get_error (sslConnection, err);
+          sslError = SSL_get_error (sslConnection, err);
 
-      if ((sslError != SSL_ERROR_WANT_READ) &&
-          (sslError != SSL_ERROR_WANT_WRITE))
-        break;
-    }
+          if ((sslError != SSL_ERROR_WANT_READ) &&
+              (sslError != SSL_ERROR_WANT_WRITE))
+            break;
+        }
 
-    if (err <= 0)
-      return -1;
-    else
-      return err;
-  }
+      if (err <= 0)
+        return -1;
+      else
+        return err;
+    }
 
   return 0;
 }
diff --git a/myserver/src/base/socket_pair/socket_pair.cpp 
b/myserver/src/base/socket_pair/socket_pair.cpp
index ec26eff..7ed8f29 100644
--- a/myserver/src/base/socket_pair/socket_pair.cpp
+++ b/myserver/src/base/socket_pair/socket_pair.cpp
@@ -60,18 +60,8 @@ SocketPair::SocketPair ()
  */
 int SocketPair::create ()
 {
-#ifdef WIN32
-# define LOCAL_SOCKETPAIR_AF AF_INET
-#else
-# define LOCAL_SOCKETPAIR_AF AF_UNIX
-#endif
-
-  int af = LOCAL_SOCKETPAIR_AF;
-  int type = SOCK_STREAM;
-  int protocol = 0;
-
 #ifndef WIN32
-  int ret = socketpair (af, type, protocol, (int*)handles);
+  int ret = socketpair (AF_UNIX, SOCK_STREAM, 0, (int*) handles);
   if (ret == 0)
     socketHandle = handles[0];
 
@@ -86,10 +76,10 @@ int SocketPair::create ()
   if (handles == 0)
     return -1;
 
-  handles[0] = handles[1] = INVALID_SOCKET;
-  listener = socket (AF_INET, type, 0);
+  handles[0] = handles[1] = -1;
+  listener = ::socket (AF_INET, SOCK_STREAM, 0);
 
-  if (listener == INVALID_SOCKET)
+  if (listener < 0)
     return -1;
 
   memset (&addr, 0, sizeof (addr));
@@ -97,41 +87,46 @@ int SocketPair::create ()
   addr.sin_addr.s_addr = htonl (0x7f000001);
   addr.sin_port = 0;
 
-  e = ::bind (listener, (struct sockaddr*) &addr, sizeof (addr));
-  if (e == SOCKET_ERROR)
+  if (::bind (listener, (struct sockaddr*) &addr, sizeof (addr)) < 0)
     {
-      closesocket (listener);
+      ::close (listener);
       return -1;
     }
 
-  e = ::getsockname (listener, (struct sockaddr*) &addr, &addrlen);
-  if (e == SOCKET_ERROR)
+  if (::getsockname (listener, (struct sockaddr*) &addr, &addrlen) < 0)
     {
-      closesocket (listener);
+      ::close (listener);
       return -1;
     }
 
   do
     {
-      if (::listen (listener, 1) == SOCKET_ERROR)
+      if (::listen (listener, 1) < 0)
         break;
-      if ((handles[0] = ::socket (AF_INET, type, 0)) == INVALID_SOCKET)
+
+      if ((handles[0] = ::socket (AF_INET, SOCK_STREAM, 0)) < 0)
         break;
-      if (::connect (handles[0], (struct sockaddr*) &addr, sizeof (addr))
-          == SOCKET_ERROR)
+
+      if (::connect (handles[0], (struct sockaddr*) &addr, sizeof (addr)) < 0)
         break;
-      if ((handles[1] = ::accept (listener, NULL, NULL)) == INVALID_SOCKET)
+
+      if ((handles[1] = ::accept (listener, NULL, NULL)) < 0)
         break;
 
       socketHandle = handles[0];
 
-      closesocket (listener);
+      ::close (listener);
       return 0;
     } while (0);
 
-  closesocket (listener);
-  closesocket (handles[0]);
-  closesocket (handles[1]);
+  ::close (listener);
+
+  if (handles[0] != -1)
+    ::close (handles[0]);
+
+
+  if (handles[1] != -1)
+    ::close (handles[1]);
 
   return -1;
 #endif
diff --git a/myserver/src/base/utility.cpp b/myserver/src/base/utility.cpp
index 38ed19d..a235e3d 100644
--- a/myserver/src/base/utility.cpp
+++ b/myserver/src/base/utility.cpp
@@ -100,7 +100,6 @@ int freecwd ()
   if (!currentPath)
     return 0;
 
-  delete [] currentPath;
   currentPathLen = 0;
   return 0;
 }
@@ -124,15 +123,15 @@ int getdefaultwdlen ()
 char *getdefaultwd (char *path, int len)
 {
   if (!currentPath && initializeCwd ())
-      return NULL;
+    return NULL;
 
   if (path)
     {
       /* If len is equal to zero we assume no limit.  */
       if (len)
-       myserver_strlcpy (path, currentPath, len);
+        myserver_strlcpy (path, currentPath, len);
       else
-       strcpy (path, currentPath);
+        strcpy (path, currentPath);
     }
 
   return currentPath;
diff --git a/myserver/src/connections_scheduler/connections_scheduler.cpp 
b/myserver/src/connections_scheduler/connections_scheduler.cpp
index f374663..aeed1fd 100644
--- a/myserver/src/connections_scheduler/connections_scheduler.cpp
+++ b/myserver/src/connections_scheduler/connections_scheduler.cpp
@@ -22,7 +22,8 @@
 
 static DEFINE_THREAD (dispatcher, p)
 {
-  ConnectionsScheduler::DispatcherArg *da = 
(ConnectionsScheduler::DispatcherArg*)p;
+  ConnectionsScheduler::DispatcherArg *da
+    = (ConnectionsScheduler::DispatcherArg*) p;
 
   if (da == NULL)
     return NULL;
diff --git a/myserver/src/log/stream/socket_stream_creator.cpp 
b/myserver/src/log/stream/socket_stream_creator.cpp
index 5ceac6e..51318f3 100644
--- a/myserver/src/log/stream/socket_stream_creator.cpp
+++ b/myserver/src/log/stream/socket_stream_creator.cpp
@@ -25,20 +25,22 @@ SocketStreamCreator::create (FiltersFactory* ff, string 
location,
   Socket* out = new Socket ();
   string host = getHost (location);
   u_short port = getPort (location);
+
+  if (out->socket (AF_INET, SOCK_STREAM, 0) < 0)
+    return NULL;
+
   if (out && !out->connect (host.c_str (), port))
     {
       u_long nbw;
       FiltersChain* fc = ff->chain (filters, out, &nbw);
       if (fc)
-        {
-          return new SocketStream (ff, cycle, out, fc);
-        }
+        return new SocketStream (ff, cycle, out, fc);
     }
+
   if (out)
-    {
-      delete out;
-    }
-  return 0;
+    delete out;
+
+  return NULL;
 }
 
 u_short
diff --git a/myserver/tests/test_ssl_socket.cpp 
b/myserver/tests/test_ssl_socket.cpp
index 7128436..700e39c 100644
--- a/myserver/tests/test_ssl_socket.cpp
+++ b/myserver/tests/test_ssl_socket.cpp
@@ -93,15 +93,13 @@ static DEFINE_THREAD (testSslRecvClient, pParam);
 
 class TestSslSocket : public CppUnit::TestFixture
 {
-  CPPUNIT_TEST_SUITE ( TestSslSocket );
-
-  CPPUNIT_TEST ( testRecv );
-
-  CPPUNIT_TEST_SUITE_END ( );
+  CPPUNIT_TEST_SUITE (TestSslSocket);
+  CPPUNIT_TEST (testRecv);
+  CPPUNIT_TEST_SUITE_END ();
 
 public:
 
-  void setUp ( )
+  void setUp ()
   {
     initializeSSL ();
     u_long nbw;
@@ -116,13 +114,13 @@ public:
     f.close ();
   }
 
-  void tearDown ( )
+  void tearDown ()
   {
     FilesUtility::deleteFile (TESTSERVERPEM);
     FilesUtility::deleteFile (TESTSERVERKEY);
   }
 
-  void testRecv ( )
+  void testRecv ()
   {
     Socket *obj = new Socket;
     SslSocket *sslObj = NULL;
@@ -136,84 +134,83 @@ public:
     int status;
 
     ((sockaddr_in*) (&sockIn))->sin_family = AF_INET;
-    ((sockaddr_in*) (&sockIn))->sin_addr.s_addr = inet_addr ( "127.0.0.1" );
-    ((sockaddr_in*) (&sockIn))->sin_port = htons ( port );
+    ((sockaddr_in*) (&sockIn))->sin_addr.s_addr = inet_addr ("127.0.0.1");
+    ((sockaddr_in*) (&sockIn))->sin_port = htons (port);
 
-    socklen_t sockInLen = sizeof ( sockaddr_in );
+    socklen_t sockInLen = sizeof (sockaddr_in);
 
-    CPPUNIT_ASSERT ( obj->socket ( AF_INET, SOCK_STREAM, 0 ) != -1 );
+    CPPUNIT_ASSERT (obj->socket (AF_INET, SOCK_STREAM, 0) != -1);
 
-    CPPUNIT_ASSERT ( obj->setsockopt ( SOL_SOCKET, SO_REUSEADDR,
+    CPPUNIT_ASSERT (obj->setsockopt (SOL_SOCKET, SO_REUSEADDR,
                                       (const char*) &optvalReuseAddr,
-                                      sizeof (optvalReuseAddr) ) != -1 );
+                                      sizeof (optvalReuseAddr)) != -1);
 
-    ctx = SSL_CTX_new ( SSLv23_server_method () );
+    ctx = SSL_CTX_new (SSLv23_server_method ());
 
-    if ( SSL_CTX_use_certificate_file ( ctx, TESTSERVERPEM, SSL_FILETYPE_PEM ) 
!= 1 )
+    if (SSL_CTX_use_certificate_file (ctx, TESTSERVERPEM, SSL_FILETYPE_PEM) != 
1)
     {
-      SSL_CTX_free ( ctx );
+      SSL_CTX_free (ctx);
       CPPUNIT_ASSERT (false);
     }
 
-    if ( SSL_CTX_use_PrivateKey_file ( ctx, TESTSERVERKEY, SSL_FILETYPE_PEM ) 
!= 1 )
+    if (SSL_CTX_use_PrivateKey_file (ctx, TESTSERVERKEY, SSL_FILETYPE_PEM) != 
1)
     {
-      SSL_CTX_free ( ctx );
+      SSL_CTX_free (ctx);
       CPPUNIT_ASSERT (false);
     }
 
-    // If the port is used by another program, try a few others.
+    /* If the port is used by another program, try a few others.  */
     do
-    {
-      port++;
-      ((sockaddr_in*) (&sockIn))->sin_port = htons ( port);
-    }
+      {
+        port++;
+        ((sockaddr_in*) (&sockIn))->sin_port = htons (port);
+      }
     while ((status = obj->bind (&sockIn, sockInLen)) != 0 && port < 28000);
 
-    CPPUNIT_ASSERT ( status != -1 );
+    CPPUNIT_ASSERT (status != -1);
 
-    CPPUNIT_ASSERT ( obj->listen ( 1 ) != -1 );
+    CPPUNIT_ASSERT (obj->listen (1) != -1);
 
-    CPPUNIT_ASSERT_EQUAL ( Thread::create ( &tid, testSslRecvClient, &port ), 
0 );
-    Socket s = obj->accept ( &sockIn, &sockInLen );
-    sslObj = new SslSocket (&s);
+    CPPUNIT_ASSERT_EQUAL (Thread::create (&tid, testSslRecvClient, &port), 0);
+    Socket s = obj->accept (&sockIn, &sockInLen);
 
-    sslObj->setSSLContext ( ctx );
+    sslObj = new SslSocket (&s);
+    sslObj->setSSLContext (ctx);
 
-    int ret = sslObj->sslAccept ( );
+    int ret = sslObj->sslAccept ();
 
-    if ( ret < 0 )
+    if (ret < 0)
     {
       delete obj;
       delete sslObj;
-      SSL_CTX_free ( ctx );
+      SSL_CTX_free (ctx);
       CPPUNIT_ASSERT (false);
     }
 
     char buf[32] = {0};
 
-    ret = sslObj->recv ( buf, sizeof (buf), 0 );
+    ret = sslObj->recv (buf, sizeof (buf), 0);
 
-    sslObj->send ( "a", 1, 0);
+    sslObj->send ("a", 1, 0);
 
-    CPPUNIT_ASSERT (ret != -1 );
+    CPPUNIT_ASSERT (ret != -1);
 
-    CPPUNIT_ASSERT ( sslObj->close ( ) != -1 );
+    CPPUNIT_ASSERT (sslObj->close () != -1);
 
-    CPPUNIT_ASSERT ( obj->close ( ) != -1 );
+    CPPUNIT_ASSERT (obj->close () != -1);
 
-    SSL_CTX_free ( ctx );
+    SSL_CTX_free (ctx);
 
     delete obj;
     delete sslObj;
   }
 };
 
-CPPUNIT_TEST_SUITE_REGISTRATION ( TestSslSocket );
+CPPUNIT_TEST_SUITE_REGISTRATION (TestSslSocket);
 
 static DEFINE_THREAD (testSslRecvClient, pParam)
 {
-  Socket *obj2 = new Socket;
-  SslSocket *sslObj2 = NULL;
+  SslSocket *sslClient = NULL;
   int optvalReuseAddr = 1;
   char host[] = "localhost";
   int port = *((int*)pParam);
@@ -221,29 +218,24 @@ static DEFINE_THREAD (testSslRecvClient, pParam)
   MYSERVER_SOCKADDRIN sockIn = { 0 };
 
   ((sockaddr_in*) (&sockIn))->sin_family = AF_INET;
-  ((sockaddr_in*) (&sockIn))->sin_addr.s_addr = inet_addr ( "127.0.0.1" );
-  ((sockaddr_in*) (&sockIn))->sin_port = htons ( port );
+  ((sockaddr_in*) (&sockIn))->sin_addr.s_addr = inet_addr ("127.0.0.1");
+  ((sockaddr_in*) (&sockIn))->sin_port = htons (port);
 
-  int sockInLen = sizeof ( struct sockaddr_in );
+  int sockInLen = sizeof (struct sockaddr_in);
 
-  CPPUNIT_ASSERT ( obj2->socket ( AF_INET, SOCK_STREAM, 0 ) != -1 );
+  sslClient = new SslSocket ();
 
-  sslObj2 = new SslSocket ( obj2 );
+  CPPUNIT_ASSERT (sslClient->socket (AF_INET, SOCK_STREAM, 0) != -1);
 
-  CPPUNIT_ASSERT ( sslObj2->connect ( &sockIn, sockInLen ) != -1 );
+  CPPUNIT_ASSERT (sslClient->connect (&sockIn, sockInLen) != -1);
 
   char buf[] = "Works?\n";
 
-  int ret = sslObj2->send ( buf, strlen (buf), 0 );
-
-  sslObj2->recv ( buf, 1, 0 );
-
-  CPPUNIT_ASSERT (ret != -1 );
-
-
-  CPPUNIT_ASSERT ( sslObj2->close ( ) != -1 );
+  int ret = sslClient->send (buf, strlen (buf), 0);
+  sslClient->recv (buf, 1, 0);
 
-  delete obj2;
-  delete sslObj2;
+  CPPUNIT_ASSERT (ret != -1);
+  CPPUNIT_ASSERT (sslClient->close () != -1);
+  delete sslClient;
   return 0;
 }



commit 5e694f2c1922d5ffd5b165bd6dbabb3223c45c29
Author: Giuseppe Scrivano <address@hidden>
Date:   Mon Feb 8 01:25:29 2010 +0100

    Use gnulib ioctl module

diff --git a/myserver/bootstrap.conf b/myserver/bootstrap.conf
index f4aefb8..9741cc5 100644
--- a/myserver/bootstrap.conf
+++ b/myserver/bootstrap.conf
@@ -35,6 +35,7 @@ gethostname
 getsockname
 gettext
 gettimeofday
+ioctl
 listen
 malloc
 mktime



commit 85b5a3a815bd84e1f4007bbac907d7704bffe69d
Author: Giuseppe Scrivano <address@hidden>
Date:   Sun Feb 7 22:14:54 2010 +0100

    Show tests progress when executed in text mode

diff --git a/myserver/tests/main.cpp b/myserver/tests/main.cpp
index 8271ad5..cf9d930 100644
--- a/myserver/tests/main.cpp
+++ b/myserver/tests/main.cpp
@@ -27,6 +27,9 @@
 #include <cppunit/extensions/TestFactoryRegistry.h>
 #include <cppunit/ui/text/TestRunner.h>
 #include <cppunit/extensions/HelperMacros.h>
+#include <cppunit/BriefTestProgressListener.h>
+#include <cppunit/TestResult.h>
+#include <cppunit/TestResultCollector.h>
 
 #include <fstream>
 #include <string.h>
@@ -40,6 +43,7 @@ int main (int argc, char* argv[])
   bool xml = argc > 1 && !strcmp (argv[1], "xml");
   bool compiler = argc > 1 && !strcmp (argv[1], "compiler");
   char *filename = argc > 2 ? argv[2] : NULL;
+  CppUnit::BriefTestProgressListener progress;
 
   program_name = argv[0];
 
@@ -59,16 +63,19 @@ int main (int argc, char* argv[])
   CppUnit::Outputter * out;
   CppUnit::Test *suite = CppUnit::TestFactoryRegistry::getRegistry ().makeTest 
();
   CppUnit::TextUi::TestRunner runner;
-  runner.addTest ( suite );
+  runner.addTest (suite);
 
   if (xml)
-    out = new CppUnit::XmlOutputter ( &runner.result (), *str );
+    out = new CppUnit::XmlOutputter (&runner.result (), *str);
   else if (compiler)
-    out = new CppUnit::CompilerOutputter ( &runner.result (), *str );
+    out = new CppUnit::CompilerOutputter (&runner.result (), *str);
   else
-    out = new CppUnit::TextOutputter ( &runner.result (), *str );
+    {
+      out = new CppUnit::TextOutputter (&runner.result (), *str);
+      runner.eventManager ().addListener (&progress);
+    }
 
-  runner.setOutputter ( out );
+  runner.setOutputter (out);
 
   int ret = runner.run () ? 0 : 1;
 



commit 09b658b28fa860acd80fed886efa59a1d6ab4bec
Author: Giuseppe Scrivano <address@hidden>
Date:   Sun Feb 7 18:15:02 2010 +0100

    Move inclusion of myserver headers before undef open/close

diff --git a/myserver/tests/main.cpp b/myserver/tests/main.cpp
index 9af9d6e..8271ad5 100644
--- a/myserver/tests/main.cpp
+++ b/myserver/tests/main.cpp
@@ -16,6 +16,7 @@
  */
 
 #include "myserver.h"
+#include <include/server/server.h>
 
 #undef open
 #undef close
@@ -30,8 +31,6 @@
 #include <fstream>
 #include <string.h>
 
-#include <include/server/server.h>
-
 using namespace std;
 
 const char *program_name = NULL;
@@ -74,7 +73,7 @@ int main (int argc, char* argv[])
   int ret = runner.run () ? 0 : 1;
 
   if (filename)
-      ofile.close ();
+    ofile.close ();
 
   return ret;
 }



commit b4a3446ea120b33a3286ee4cf0a24175d4fa69a6
Author: Giuseppe Scrivano <address@hidden>
Date:   Sun Feb 7 14:22:22 2010 +0100

    Add a delay after the writer thread creation

diff --git a/myserver/tests/test_socket.cpp b/myserver/tests/test_socket.cpp
index 5d1ef2f..cd15885 100644
--- a/myserver/tests/test_socket.cpp
+++ b/myserver/tests/test_socket.cpp
@@ -112,6 +112,8 @@ public:
 
     CPPUNIT_ASSERT_EQUAL (Thread::create (&tid, testRecvClient, &port), 0);
 
+    Thread::wait (MYSERVER_SEC (1));
+
     CPPUNIT_ASSERT (obj->dataOnRead (5));
 
     Socket s = obj->accept (&sockIn, &sockInLen);



commit ab7dfdd846bd2f82c2251b0355c1e101b1e5cda0
Author: Giuseppe Scrivano <address@hidden>
Date:   Sun Feb 7 14:21:24 2010 +0100

    Specify a WINVER recent enough to support getaddrinfo.

diff --git a/myserver/configure.ac b/myserver/configure.ac
index 8f9c189..60135dd 100644
--- a/myserver/configure.ac
+++ b/myserver/configure.ac
@@ -46,6 +46,8 @@ AC_PROG_YACC
 AC_C_BIGENDIAN
 AC_PROG_RANLIB
 AC_PROG_LIBTOOL
+
+AC_DEFINE([WINVER], [0x0501], [WINVER])
 AC_LIBTOOL_WIN32_DLL
 
 AC_CANONICAL_HOST



commit 5ba9ccf2685c25144ccb075cf5db5d9ddac22e86
Author: Giuseppe Scrivano <address@hidden>
Date:   Sun Feb 7 14:16:34 2010 +0100

    Ensure to create the server class instance

diff --git a/myserver/tests/main.cpp b/myserver/tests/main.cpp
index 4e70269..9af9d6e 100644
--- a/myserver/tests/main.cpp
+++ b/myserver/tests/main.cpp
@@ -54,6 +54,7 @@ int main (int argc, char* argv[])
       str = &ofile;
     }
 
+  Server::createInstance ();
   Server::getInstance ()->loadLibraries ();
 
   CppUnit::Outputter * out;



commit 230c8f864bed5aa1319632792115fa94813668d1
Author: Giuseppe Scrivano <address@hidden>
Date:   Sun Feb 7 01:06:31 2010 +0100

    Use new/free instead of calloc.

diff --git a/myserver/src/base/base64/mime_utils.cpp 
b/myserver/src/base/base64/mime_utils.cpp
index 6dbce24..aec95e9 100644
--- a/myserver/src/base/base64/mime_utils.cpp
+++ b/myserver/src/base/base64/mime_utils.cpp
@@ -393,7 +393,7 @@ char* CBase64Utils::encode (const char *input, int bufsize)
 char* CBase64Utils::decode (const char *input, int *bufsize)
 {
   int std = 0, count = 1, resultlen = 0;
-  char *finalresult = (char*)calloc (*bufsize + sizeof (char), sizeof (char));
+  char *finalresult = new char[*bufsize + sizeof (char)];
 
   const char *s = input;
   char *result = finalresult;
@@ -472,8 +472,7 @@ CQPUtils::~CQPUtils ()
 char* CQPUtils::decode (char *input)
 {
   char *s = input;
-  char *finalresult = (char*)calloc (strlen (input) + sizeof (char),
-                                    sizeof (char));
+  char *finalresult = new char [strlen (input) + sizeof (char)];
   char *result = finalresult;
   while (*s != '\0')
   {
diff --git a/myserver/src/protocol/http/http_headers.cpp 
b/myserver/src/protocol/http/http_headers.cpp
index 844c3d2..3ef0d38 100644
--- a/myserver/src/protocol/http/http_headers.cpp
+++ b/myserver/src/protocol/http/http_headers.cpp
@@ -752,7 +752,7 @@ int HttpHeaders::readReqAuthLine (HttpRequestHeader 
*request,
       password[i] = '\0';
       connection->setLogin (login);
       connection->setPassword (password);
-      delete decodedPwBuf;
+      delete [] decodedPwBuf;
 
       *lenOut = tokenOff = getEndLine (token, 100);
       if (tokenOff == -1)



commit b519d1e92574ff12ea1eb3ed5ccdd27acda2a352
Author: Giuseppe Scrivano <address@hidden>
Date:   Sat Feb 6 21:29:45 2010 +0100

    The two branches are identical, remove one.

diff --git a/myserver/src/base/socket/socket.cpp 
b/myserver/src/base/socket/socket.cpp
index f7d9dff..e06341c 100644
--- a/myserver/src/base/socket/socket.cpp
+++ b/myserver/src/base/socket/socket.cpp
@@ -258,11 +258,7 @@ MYSERVER_HOSTENT *Socket::gethostbyname (const char 
*hostname)
  */
 int Socket::shutdown (int how)
 {
-#ifdef WIN32
-  return ::shutdown (socketHandle, how);
-#else
   return ::shutdown (socketHandle, how);
-#endif
 }
 
 /*!



commit c4888d7dda42af77c121ac44c0e33cdd77607ed9
Author: Giuseppe Scrivano <address@hidden>
Date:   Sat Feb 6 20:00:06 2010 +0100

    Pipe::inverted duplicates used handles.

diff --git a/myserver/src/base/pipe/pipe.cpp b/myserver/src/base/pipe/pipe.cpp
index 9bb82cf..bb3b5bb 100644
--- a/myserver/src/base/pipe/pipe.cpp
+++ b/myserver/src/base/pipe/pipe.cpp
@@ -209,19 +209,48 @@ int Pipe::close ()
   return 0;
 }
 
+class PipeException : public exception
+{
+public:
+  virtual const char *what () const throw ()
+  {
+    return message;
+  }
+
+  PipeException (string & str)
+  {
+    this->message = str.c_str ();
+  }
+
+private:
+  const char *message;
+};
+
 /*!
  * Invert the current pipe on another instance of the class.
- * The input will be used as output and viceversa.
+ * The input stream will be used as output and viceversa.
  * \param pipe The pipe where write.
  */
 void Pipe::inverted (Pipe& pipe)
 {
 #ifndef WIN32
-  handles[0] = pipe.handles[1];
-  handles[1] = pipe.handles[0];
+  pipe.handles[0] = dup (handles[1]);
+  pipe.handles[1] = dup (handles[0]);
+  if (pipe.handles[0] < 0 || pipe.handles[1] < 0)
+    {
+      string err (_("Internal error"));
+      throw PipeException (err);
+    }
 #else
-  pipe.readHandle = writeHandle;
-  pipe.writeHandle = readHandle;
+  if ((! DuplicateHandle (GetCurrentProcess(), writeHandle, 
GetCurrentProcess(),
+                          &pipe.readHandle, 0, FALSE, DUPLICATE_SAME_ACCESS))
+      || (! DuplicateHandle (GetCurrentProcess(), readHandle,
+                             GetCurrentProcess(), &pipe.writeHandle, 0, FALSE,
+                             DUPLICATE_SAME_ACCESS)))
+    {
+      string err (_("Internal error"));
+      throw PipeException (err);
+    }
 #endif
 }
 
diff --git a/myserver/tests/test_pipe.cpp b/myserver/tests/test_pipe.cpp
index f465df6..304ca3e 100644
--- a/myserver/tests/test_pipe.cpp
+++ b/myserver/tests/test_pipe.cpp
@@ -117,8 +117,8 @@ public:
 
     pipe->inverted (pipeInv);
 
-    CPPUNIT_ASSERT_EQUAL (pipeInv.getReadHandle (), pipe->getWriteHandle ());
-    CPPUNIT_ASSERT_EQUAL (pipe->getReadHandle (), pipeInv.getWriteHandle ());
+    CPPUNIT_ASSERT (pipeInv.getReadHandle () != pipe->getReadHandle ());
+    CPPUNIT_ASSERT (pipeInv.getWriteHandle () != pipe->getWriteHandle ());
 
     pipe->close ();
 



commit 186671520aa491cd2c15baeee041f72924c01cd7
Author: Giuseppe Scrivano <address@hidden>
Date:   Sat Feb 6 18:49:32 2010 +0100

    Change type of the `host' variable to string.

diff --git a/myserver/src/log/stream/socket_stream_creator.cpp 
b/myserver/src/log/stream/socket_stream_creator.cpp
index d7a019b..5ceac6e 100644
--- a/myserver/src/log/stream/socket_stream_creator.cpp
+++ b/myserver/src/log/stream/socket_stream_creator.cpp
@@ -23,9 +23,9 @@ SocketStreamCreator::create (FiltersFactory* ff, string 
location,
                              list<string>& filters, u_long cycle)
 {
   Socket* out = new Socket ();
-  char const* host = getHost (location).c_str ();
+  string host = getHost (location);
   u_short port = getPort (location);
-  if (out && !out->connect (host, port))
+  if (out && !out->connect (host.c_str (), port))
     {
       u_long nbw;
       FiltersChain* fc = ff->chain (filters, out, &nbw);



commit 45e2728b407644b8e1e11dd39c7a702a7594d6b2
Author: Giuseppe Scrivano <address@hidden>
Date:   Sat Feb 6 18:41:52 2010 +0100

    Use AC_LIBTOOL_WIN32_DLL

diff --git a/myserver/configure.ac b/myserver/configure.ac
index 5300208..8f9c189 100644
--- a/myserver/configure.ac
+++ b/myserver/configure.ac
@@ -2,7 +2,7 @@ dnl GNU MySever configuration script
 dnl
 dnl GNU MyServer
 dnl
-dnl Copyright (C) 2002-2009 Free Software Foundation, Inc.
+dnl Copyright (C) 2002-2010 Free Software Foundation, Inc.
 dnl This program is free software; you can redistribute it and/or modify
 dnl it under the terms of the GNU General Public License as published by
 dnl the Free Software Foundation; either version 3 of the License, or
@@ -46,6 +46,7 @@ AC_PROG_YACC
 AC_C_BIGENDIAN
 AC_PROG_RANLIB
 AC_PROG_LIBTOOL
+AC_LIBTOOL_WIN32_DLL
 
 AC_CANONICAL_HOST
 



commit cebcda83a6dc078a4df2c78f0c288ebe79792832
Merge: 242eaf7 0729c23
Author: Giuseppe Scrivano <address@hidden>
Date:   Sat Feb 6 01:45:59 2010 +0100

    Merge branch 'master' of file:///home/gscrivano/myserver/myserver




commit 242eaf7bfe64bfdd3542d594f15a558b88dc256d
Merge: dfa646f 9271f7e
Author: Giuseppe Scrivano <address@hidden>
Date:   Fri Feb 5 23:14:19 2010 +0100

    Merge branch 'master' of file:///home/gscrivano/myserver/myserver




commit dfa646f8a4824e220a2ed2a3122445d374d1619f
Merge: ec94614 80fe8da
Author: Giuseppe Scrivano <address@hidden>
Date:   Wed Feb 3 21:03:53 2010 +0100

    Merge branch 'master' of file:///home/gscrivano/myserver/myserver




commit ec946148004db983a871fb4d27ca4ac0071257fb
Merge: d1cd168 32f225f
Author: Giuseppe Scrivano <address@hidden>
Date:   Wed Nov 18 19:07:40 2009 +0100

    Merge branch 'master' of file:///home/gscrivano/myserver/myserver




commit d1cd168cd5c1ba67d472fdacdbf59df00a175d5f
Author: Giuseppe Scrivano <address@hidden>
Date:   Tue Nov 17 20:23:39 2009 +0100

    Http header parser avoids to copy more bytes than needed.

diff --git a/myserver/src/protocol/http/http_headers.cpp 
b/myserver/src/protocol/http/http_headers.cpp
index d5e5dac..642e595 100644
--- a/myserver/src/protocol/http/http_headers.cpp
+++ b/myserver/src/protocol/http/http_headers.cpp
@@ -523,14 +523,14 @@ int HttpHeaders::buildHTTPRequestHeaderStruct (const char 
*input,
            * If the version is not specified or it is too long store
            * some information for logging then return an invalid header value.
            */
-          if ((!j) || ( (i-j) == HTTP_REQUEST_VER_DIM ))
+          if (!j || ((i-j) == HTTP_REQUEST_VER_DIM))
             {
               request->ver.clear ();
               request->cmd.clear ();
               tokenOff = getEndLine (input, HTTP_REQUEST_URI_DIM);
               if (tokenOff > 0)
-                request->uri.assign (input,
-                                     min (HTTP_REQUEST_URI_DIM, tokenOff));
+                request->uri.assign (input, min (HTTP_REQUEST_URI_DIM,
+                                                 tokenOff));
               else
                 request->uri.assign (input, HTTP_REQUEST_URI_DIM );
               return 400;
@@ -547,14 +547,14 @@ int HttpHeaders::buildHTTPRequestHeaderStruct (const char 
*input,
           request->uri=trimRight (request->uri, " /");
           request->uriOpts=trim (request->uriOpts, " ");
         }
-      else if (!strcmpi (command,"Authorization"))
+      else if (!strcmpi (command, "Authorization"))
         {
           int ret = readReqAuthLine (request, connection, token, &tokenOff);
           if (ret)
             return ret;
           lineControlled = 1;
         }
-      else if (!strcmpi (command, (char*)"Content-length"))
+      else if (!strcmpi (command, "Content-length"))
         {
           tokenOff = getEndLine (token, HTTP_REQUEST_CONTENT_LENGTH_DIM);
           if (tokenOff == -1)
@@ -562,7 +562,7 @@ int HttpHeaders::buildHTTPRequestHeaderStruct (const char 
*input,
           lineControlled = 1;
           request->contentLength.assign (token,tokenOff);
         }
-      else if (!strcmpi (command, (char*)"Range"))
+      else if (!strcmpi (command, "Range"))
         {
           int ret = readReqRangeLine (request, connection, token, &tokenOff);
           if (ret)
@@ -588,13 +588,11 @@ int HttpHeaders::buildHTTPRequestHeaderStruct (const char 
*input,
           else
             {
               HttpRequestHeader::Entry *e = new HttpRequestHeader::Entry ();
-              if (e)
-                {
-                  e->name->assign (command, HTTP_RESPONSE_OTHER_DIM);
-                  e->value->assign (token,
-                               std::min (HTTP_RESPONSE_OTHER_DIM, tokenOff));
-                  request->other.put (cmdStr, e);
-                }
+              e->name->assign (command, std::min (HTTP_RESPONSE_OTHER_DIM,
+                                                  tokenOff));
+              e->value->assign (token, std::min (HTTP_RESPONSE_OTHER_DIM,
+                                                 tokenOff));
+              request->other.put (cmdStr, e);
             }
         }
       token += tokenOff + 2;



commit 3dec625c9f5f81c04921338dc90f235ab1513cca
Author: Giuseppe Scrivano <address@hidden>
Date:   Tue Nov 17 20:11:54 2009 +0100

    Under Windows configuration files can be only in the current directory.

diff --git a/myserver/src/myserver.cpp b/myserver/src/myserver.cpp
index d044359..e9b138f 100644
--- a/myserver/src/myserver.cpp
+++ b/myserver/src/myserver.cpp
@@ -264,6 +264,7 @@ int loadConfFileLocation (string &outFile, string fileName, 
const char *dir)
 
 #ifdef WIN32
       outFile = fileName;
+      return FilesUtility::fileExists (fileName) ? 0 : -1;
 #else
 
       if (dir)



commit 6e98f3e19361364be62c98196e1de5b84455cc96
Author: Giuseppe Scrivano <address@hidden>
Date:   Mon Nov 16 22:26:53 2009 +0100

    Fix a compiling issue under Windows.

diff --git a/myserver/tests/test_membuf_file.cpp 
b/myserver/tests/test_membuf_file.cpp
index 922b721..a114847 100644
--- a/myserver/tests/test_membuf_file.cpp
+++ b/myserver/tests/test_membuf_file.cpp
@@ -64,9 +64,9 @@ public:
   void testHandle ()
   {
     Handle handle = (Handle) 1;
-    CPPUNIT_ASSERT_EQUAL (tfile->getHandle (), -1);
+    CPPUNIT_ASSERT_EQUAL (tfile->getHandle (), (Handle)-1);
     CPPUNIT_ASSERT_EQUAL (tfile->setHandle (handle), -1);
-    CPPUNIT_ASSERT_EQUAL (tfile->getHandle (), -1);
+    CPPUNIT_ASSERT_EQUAL (tfile->getHandle (), (Handle)-1);
   }
 
   void testCreateTemporaryMembufFile ()

-----------------------------------------------------------------------

Summary of changes:
 myserver/bootstrap.conf                            |    1 +
 myserver/configure.ac                              |    5 +-
 myserver/include/base/socket/socket.h              |    4 -
 myserver/include/base/socket/ssl_socket.h          |   14 +--
 myserver/src/base/base64/mime_utils.cpp            |    5 +-
 myserver/src/base/pipe/pipe.cpp                    |   39 ++++-
 myserver/src/base/socket/socket.cpp                |  130 ++++----------
 myserver/src/base/socket/ssl_socket.cpp            |  193 ++++++++++----------
 myserver/src/base/socket_pair/socket_pair.cpp      |   53 +++---
 myserver/src/base/utility.cpp                      |    7 +-
 .../connections_scheduler.cpp                      |    3 +-
 myserver/src/log/stream/socket_stream_creator.cpp  |   20 +-
 myserver/src/protocol/http/http_headers.cpp        |    2 +-
 myserver/tests/main.cpp                            |   23 ++-
 myserver/tests/test_pipe.cpp                       |    4 +-
 myserver/tests/test_socket.cpp                     |    2 +
 myserver/tests/test_ssl_socket.cpp                 |  108 +++++------
 17 files changed, 283 insertions(+), 330 deletions(-)


hooks/post-receive
-- 
GNU MyServer




reply via email to

[Prev in Thread] Current Thread [Next in Thread]