]> git.sesse.net Git - vlc/blobdiff - src/network/tcp.c
Fix previous commit
[vlc] / src / network / tcp.c
index a456b9374e394dffccf5b2833a3eed172c1c178d..4d62d36eebcb9982dc0076f5c1269d3ae2a68cf3 100644 (file)
 #endif
 
 static int SocksNegociate( vlc_object_t *, int fd, int i_socks_version,
-                           char *psz_socks_user, char *psz_socks_passwd );
+                           const char *psz_user, const char *psz_passwd );
 static int SocksHandshakeTCP( vlc_object_t *,
                               int fd, int i_socks_version,
-                              char *psz_socks_user, char *psz_socks_passwd,
+                              const char *psz_user, const char *psz_passwd,
                               const char *psz_host, int i_port );
 extern int net_Socket( vlc_object_t *p_this, int i_family, int i_socktype,
                        int i_protocol );
@@ -147,7 +147,7 @@ int __net_Connect( vlc_object_t *p_this, const char *psz_host, int i_port,
                              proto ?: ptr->ai_protocol );
         if( fd == -1 )
         {
-            msg_Dbg( p_this, "socket error: %s", strerror( net_errno ) );
+            msg_Dbg( p_this, "socket error: %m" );
             continue;
         }
 
@@ -159,8 +159,7 @@ int __net_Connect( vlc_object_t *p_this, const char *psz_host, int i_port,
 
             if( net_errno != EINPROGRESS )
             {
-                msg_Err( p_this, "connection failed: %s",
-                         strerror( net_errno ) );
+                msg_Err( p_this, "connection failed: %m" );
                 goto next_ai;
             }
 
@@ -199,8 +198,7 @@ int __net_Connect( vlc_object_t *p_this, const char *psz_host, int i_port,
 
                 if( ( i_ret == -1 ) && ( net_errno != EINTR ) )
                 {
-                    msg_Err( p_this, "connection polling error: %s",
-                              strerror( net_errno ) );
+                    msg_Err( p_this, "connection polling error: %m" );
                     goto next_ai;
                 }
 
@@ -217,8 +215,7 @@ int __net_Connect( vlc_object_t *p_this, const char *psz_host, int i_port,
             if( getsockopt( fd, SOL_SOCKET, SO_ERROR, (void*)&i_val,
                             &i_val_size ) == -1 || i_val != 0 )
             {
-                msg_Err( p_this, "connection failed: %s",
-                         net_strerror( i_val ) );
+                msg_Err( p_this, "connection failed: %m" );
                 goto next_ai;
             }
 #endif
@@ -240,8 +237,8 @@ next_ai: /* failure */
     if( psz_socks != NULL )
     {
         /* NOTE: psz_socks already free'd! */
-        char *psz_user = var_CreateGetString( p_this, "socks-user" );
-        char *psz_pwd  = var_CreateGetString( p_this, "socks-pwd" );
+        char *psz_user = var_CreateGetNonEmptyString( p_this, "socks-user" );
+        char *psz_pwd  = var_CreateGetNonEmptyString( p_this, "socks-pwd" );
 
         if( SocksHandshakeTCP( p_this, i_handle, 5, psz_user, psz_pwd,
                                psz_host, i_port ) )
@@ -264,10 +261,12 @@ next_ai: /* failure */
  *****************************************************************************
  * Accept a connection on a set of listening sockets and return it
  *****************************************************************************/
-int __net_Accept( vlc_object_t *p_this, int pi_fd[], mtime_t i_wait )
+int __net_Accept( vlc_object_t *p_this, int *pi_fd, mtime_t i_wait )
 {
     vlc_bool_t b_block = (i_wait < 0);
 
+    assert( pi_fd != NULL );
+
     while( !p_this->b_die )
     {
         unsigned n = 0;
@@ -288,8 +287,7 @@ int __net_Accept( vlc_object_t *p_this, int pi_fd[], mtime_t i_wait )
             case -1:
                 if (net_errno != EINTR)
                 {
-                    msg_Err (p_this, "poll error: %s",
-                             net_strerror (net_errno));
+                    msg_Err (p_this, "poll error: %m");
                 }
                 return -1;
 
@@ -308,8 +306,7 @@ int __net_Accept( vlc_object_t *p_this, int pi_fd[], mtime_t i_wait )
             int fd = accept (sfd, NULL, NULL);
             if (fd == -1)
             {
-                msg_Err (p_this, "accept failed (%s)",
-                         net_strerror (net_errno));
+                msg_Err (p_this, "accept failed (%m)");
                 continue;
             }
             net_SetupSocket (fd);
@@ -336,8 +333,8 @@ int __net_Accept( vlc_object_t *p_this, int pi_fd[], mtime_t i_wait )
  *****************************************************************************/
 static int SocksNegociate( vlc_object_t *p_obj,
                            int fd, int i_socks_version,
-                           char *psz_socks_user,
-                           char *psz_socks_passwd )
+                           const char *psz_socks_user,
+                           const char *psz_socks_passwd )
 {
     uint8_t buffer[128+2*256];
     int i_len;
@@ -348,8 +345,7 @@ static int SocksNegociate( vlc_object_t *p_obj,
 
     /* We negociate authentication */
 
-    if( psz_socks_user && psz_socks_passwd &&
-        *psz_socks_user && *psz_socks_passwd )
+    if( ( psz_socks_user == NULL ) && ( psz_socks_passwd == NULL ) )
         b_auth = VLC_TRUE;
 
     buffer[0] = i_socks_version;    /* SOCKS version */
@@ -427,7 +423,7 @@ static int SocksNegociate( vlc_object_t *p_obj,
 static int SocksHandshakeTCP( vlc_object_t *p_obj,
                               int fd,
                               int i_socks_version,
-                              char *psz_socks_user, char *psz_socks_passwd,
+                              const char *psz_user, const char *psz_passwd,
                               const char *psz_host, int i_port )
 {
     uint8_t buffer[128+2*256];
@@ -438,9 +434,9 @@ static int SocksHandshakeTCP( vlc_object_t *p_obj,
         i_socks_version = 5;
     }
 
-    if( i_socks_version == 5 && 
+    if( i_socks_version == 5 &&
         SocksNegociate( p_obj, fd, i_socks_version,
-                        psz_socks_user, psz_socks_passwd ) )
+                        psz_user, psz_passwd ) )
         return VLC_EGENERIC;
 
     if( i_socks_version == 4 )
@@ -448,7 +444,7 @@ static int SocksHandshakeTCP( vlc_object_t *p_obj,
         struct addrinfo hints, *p_res;
 
         /* v4 only support ipv4 */
-       memset (&hints, 0, sizeof (hints));
+        memset (&hints, 0, sizeof (hints));
         hints.ai_family = AF_INET;
         if( vlc_getaddrinfo( p_obj, psz_host, 0, &hints, &p_res ) )
             return VLC_EGENERIC;
@@ -513,7 +509,7 @@ static int SocksHandshakeTCP( vlc_object_t *p_obj,
             i_len = buffer[4] + 2;
         else if( buffer[3] == 0x04 )
             i_len = 16-1+2;
-        else 
+        else
             return VLC_EGENERIC;
 
         if( net_Read( p_obj, fd, NULL, buffer, i_len, VLC_TRUE ) != i_len )