diff lib/sshv2.c @ 186:13ca1defdc75

2003-6-16 Brian Masney <masneyb@gftp.org> * lib/gftp.h src/text/gftp-text.c src/gtk/misc-gtk.c - changed 2nd parameter of logging function to be a request structure, instead of request->user_data. In the logging functions, if the string isn't in UTF-8, convert it with gftp_string_to_utf8() * lib/bookmark.c lib/cache.c lib/gftp.h lib/https.c lib/local.c lib/protocols.c lib/rfc2068.c lib/rfc959.c lib/sshv2.c lib/sslcommon.c src/gtk/chmod_dialog.c src/gtk/delete_dialog.c src/gtk/gftp-gtk.h src/gtk/menu-items.c src/gtk/misc-gtk.c src/gtk/mkdir_dialog.c src/gtk/rename_dialog.c src/gtk/transfer.c src/text/gftp-text.c src/gtk/gftp-gtk.h src/text/gftp-text.h - pass request structure to logging function instead of request->user_data
author masneyb
date Tue, 17 Jun 2003 10:49:16 +0000
parents aec4b4541d3a
children 82ebd1b05345
line wrap: on
line diff
--- a/lib/sshv2.c	Tue Jun 17 10:13:26 2003 +0000
+++ b/lib/sshv2.c	Tue Jun 17 10:49:16 2003 +0000
@@ -248,7 +248,7 @@
     sshv2_add_exec_args (&logstr, &logstr_len, &args, &args_len, &args_cur,
                          " %s \"%s\"", request->hostname, execname);
 
-  request->logging_function (gftp_logging_misc, request->user_data, 
+  request->logging_function (gftp_logging_misc, request, 
                              _("Running program %s\n"), logstr);
   g_free (logstr);
   return (args);
@@ -342,7 +342,7 @@
         break;
       else if (rem <= 1)
         {
-          request->logging_function (gftp_logging_recv, request->user_data,
+          request->logging_function (gftp_logging_recv, request,
                                      "%s", tempstr + lastdiff);
           len += SSH_LOGIN_BUFSIZE;
           rem += SSH_LOGIN_BUFSIZE;
@@ -355,19 +355,19 @@
   g_free (pwstr);
 
   if (*(tempstr + lastdiff) != '\0')
-    request->logging_function (gftp_logging_recv, request->user_data,
+    request->logging_function (gftp_logging_recv, request,
                                "%s\n", tempstr + lastdiff);
 
   if (ok <= 0)
     {
       if (ok == SSH_ERROR_BADPASS)
-        request->logging_function (gftp_logging_error, request->user_data,
+        request->logging_function (gftp_logging_error, request,
                                _("Error: An incorrect password was entered\n"));
       else if (ok == SSH_ERROR_QUESTION)
-        request->logging_function (gftp_logging_error, request->user_data,
+        request->logging_function (gftp_logging_error, request,
                                _("Please connect to this host with the command line SSH utility and answer this question appropriately.\n"));
       else if (ok == SSH_WARNING)
-        request->logging_function (gftp_logging_error, request->user_data,
+        request->logging_function (gftp_logging_error, request,
                                    _("Please correct the above warning to connect to this host.\n"));
 
       g_free (tempstr);
@@ -406,13 +406,13 @@
   switch (type)
     {
       case SSH_FXP_INIT:
-        request->logging_function (level, request->user_data, 
+        request->logging_function (level, request, 
                                    _("%d: Protocol Initialization\n"), id);
         break;
       case SSH_FXP_VERSION:
         memcpy (&num, message, 4);
         num = ntohl (num);
-        request->logging_function (level, request->user_data, 
+        request->logging_function (level, request, 
                                    _("%d: Protocol version %d\n"), id, num);
         break;
       case SSH_FXP_OPEN:
@@ -421,51 +421,51 @@
         pos = message + 12 + num - 1;
         oldchar = *pos;
         *pos = '\0';
-        request->logging_function (level, request->user_data,
+        request->logging_function (level, request,
                                    _("%d: Open %s\n"), id, message + 8);
         *pos = oldchar;
         break;
       case SSH_FXP_CLOSE:
-        request->logging_function (level, request->user_data, 
+        request->logging_function (level, request, 
                                    _("%d: Close\n"), id);
       case SSH_FXP_READ:
       case SSH_FXP_WRITE:
         break;  
       case SSH_FXP_OPENDIR:
-        request->logging_function (level, request->user_data, 
+        request->logging_function (level, request, 
                                    _("%d: Open Directory %s\n"), id,
                                    message + 8);
         break;
       case SSH_FXP_READDIR:
-        request->logging_function (level, request->user_data, 
+        request->logging_function (level, request, 
                                    _("%d: Read Directory\n"), id);
         break;
       case SSH_FXP_REMOVE:
-        request->logging_function (level, request->user_data, 
+        request->logging_function (level, request, 
                                    _("%d: Remove file %s\n"), id,
                                    message + 8);
         break;
       case SSH_FXP_MKDIR:
-        request->logging_function (level, request->user_data, 
+        request->logging_function (level, request, 
                                    _("%d: Make directory %s\n"), id,
                                    message + 8);
         break;
       case SSH_FXP_RMDIR:
-        request->logging_function (level, request->user_data, 
+        request->logging_function (level, request, 
                                    _("%d: Remove directory %s\n"), id,
                                    message + 8);
         break;
       case SSH_FXP_REALPATH:
-        request->logging_function (level, request->user_data, 
+        request->logging_function (level, request, 
                                    _("%d: Realpath %s\n"), id,
                                    message + 8);
         break;
       case SSH_FXP_ATTRS:
-        request->logging_function (level, request->user_data,
+        request->logging_function (level, request,
                                    _("%d: File attributes\n"), id);
         break;
       case SSH_FXP_STAT:
-        request->logging_function (level, request->user_data, 
+        request->logging_function (level, request, 
                                    _("%d: Stat %s\n"), id,
                                    message + 8);
         break;
@@ -482,12 +482,12 @@
         switch (stattype)
           {
             case SSH_FILEXFER_ATTR_PERMISSIONS:
-              request->logging_function (level, request->user_data,
+              request->logging_function (level, request,
                                          _("%d: Chmod %s %o\n"), id,
                                          message + 8, attr);
               break;
             case SSH_FILEXFER_ATTR_ACMODTIME:
-              request->logging_function (level, request->user_data,
+              request->logging_function (level, request,
                                          _("%d: Utime %s %d\n"), id,
                                          message + 8, attr);
           }
@@ -531,11 +531,11 @@
               descr = _("Unknown message returned from server");
               break;
           }
-        request->logging_function (level, request->user_data,
+        request->logging_function (level, request,
                                    "%d: %s\n", id, descr);
         break;
       case SSH_FXP_HANDLE:
-        request->logging_function (level, request->user_data, 
+        request->logging_function (level, request, 
                                    "%d: File handle\n", id);
         break;
       case SSH_FXP_DATA:
@@ -543,12 +543,12 @@
       case SSH_FXP_NAME:
         memcpy (&num, message + 4, 4);
         num = ntohl (num);
-        request->logging_function (level, request->user_data, 
+        request->logging_function (level, request, 
                                    "%d: Filenames (%d entries)\n", id,
                                    num);
         break;
       default:
-        request->logging_function (level, request->user_data, 
+        request->logging_function (level, request, 
                                    "Command: %x\n", type);
     }
 }
@@ -564,7 +564,7 @@
 
   if (len > 33995)
     {
-      request->logging_function (gftp_logging_error, request->user_data,
+      request->logging_function (gftp_logging_error, request,
                              _("Error: Message size %d too big\n"), len);
       gftp_disconnect (request);
       return (GFTP_EFATAL);
@@ -616,7 +616,7 @@
   message->length = ntohl (message->length);
   if (message->length > 34000)
     {
-      request->logging_function (gftp_logging_error, request->user_data,
+      request->logging_function (gftp_logging_error, request,
                              _("Error: Message size %d too big from server\n"),
                              message->length);
       memset (message, 0, sizeof (*message));
@@ -677,7 +677,7 @@
 
   if (message->end - message->pos < 4)
     {
-      request->logging_function (gftp_logging_error, request->user_data,
+      request->logging_function (gftp_logging_error, request,
                      _("Received wrong response from server, disconnecting\n"));
       sshv2_message_free (message);
       gftp_disconnect (request);
@@ -690,7 +690,7 @@
 
   if (expected_response > 0 && ret != expected_response)
     {
-      request->logging_function (gftp_logging_error, request->user_data,
+      request->logging_function (gftp_logging_error, request,
                      _("Received wrong response from server, disconnecting\n"));
       sshv2_message_free (message);
       gftp_disconnect (request);
@@ -712,7 +712,7 @@
 
   if (len > SSH_MAX_STRING_SIZE || (message->end - message->pos < len))
     {
-      request->logging_function (gftp_logging_error, request->user_data,
+      request->logging_function (gftp_logging_error, request,
                      _("Received wrong response from server, disconnecting\n"));
       sshv2_message_free (message);
       gftp_disconnect (request);
@@ -780,7 +780,7 @@
     }
   else if (ret != SSH_FXP_NAME)
     {
-      request->logging_function (gftp_logging_error, request->user_data,
+      request->logging_function (gftp_logging_error, request,
                      _("Received wrong response from server, disconnecting\n"));
       sshv2_message_free (&message);
       gftp_disconnect (request);
@@ -826,7 +826,7 @@
   if (request->datafd > 0)
     return (0);
 
-  request->logging_function (gftp_logging_misc, request->user_data,
+  request->logging_function (gftp_logging_misc, request,
 			     _("Opening SSH connection to %s\n"),
                              request->hostname);
 
@@ -855,7 +855,7 @@
     {
       if (!r_getservbyname ("ssh", "tcp", &serv_struct, NULL))
         {
-         request->logging_function (gftp_logging_error, request->user_data,
+         request->logging_function (gftp_logging_error, request,
                                     _("Cannot look up service name %s/tcp. Please check your services file\n"),
                                     "ssh");
         }
@@ -870,7 +870,7 @@
     {
       if (socketpair (AF_LOCAL, SOCK_STREAM, 0, s) < 0)
         {
-          request->logging_function (gftp_logging_error, request->user_data,
+          request->logging_function (gftp_logging_error, request,
                                      _("Cannot create a socket pair: %s\n"),
                                      g_strerror (errno));
           return (GFTP_ERETRYABLE);
@@ -927,7 +927,7 @@
       memset (&message, 0, sizeof (message));
       if ((ret = sshv2_read_response (request, &message, -1)) != SSH_FXP_VERSION)
         {
-          request->logging_function (gftp_logging_error, request->user_data,
+          request->logging_function (gftp_logging_error, request,
                    _("Received wrong response from server, disconnecting\n"));
           sshv2_message_free (&message);
           gftp_disconnect (request);
@@ -939,13 +939,13 @@
         }
       sshv2_message_free (&message);
 
-      request->logging_function (gftp_logging_misc, request->user_data,
+      request->logging_function (gftp_logging_misc, request,
 			         _("Successfully logged into SSH server %s\n"),
                                  request->hostname);
     }
   else
     {
-      request->logging_function (gftp_logging_error, request->user_data,
+      request->logging_function (gftp_logging_error, request,
                                  _("Cannot fork another process: %s\n"),
                                  g_strerror (errno));
       g_free (args);
@@ -981,12 +981,12 @@
 
   if (request->datafd > 0)
     {
-      request->logging_function (gftp_logging_misc, request->user_data,
+      request->logging_function (gftp_logging_misc, request,
 			         _("Disconnecting from site %s\n"),
                                  request->hostname);
 
       if (close (request->datafd) < 0)
-        request->logging_function (gftp_logging_error, request->user_data,
+        request->logging_function (gftp_logging_error, request,
                                    _("Error closing file descriptor: %s\n"),
                                    g_strerror (errno));
 
@@ -1028,7 +1028,7 @@
       memset (&message, 0, sizeof (message));
       if ((ret = sshv2_read_response (request, &message, -1)) != SSH_FXP_STATUS)
         {
-          request->logging_function (gftp_logging_error, request->user_data,
+          request->logging_function (gftp_logging_error, request,
                      _("Received wrong response from server, disconnecting\n"));
           sshv2_message_free (&message);
           gftp_disconnect (request);
@@ -1066,7 +1066,7 @@
 
   params = request->protocol_data;
 
-  request->logging_function (gftp_logging_misc, request->user_data,
+  request->logging_function (gftp_logging_misc, request,
 			     _("Retrieving directory listing...\n"));
 
   tempstr = g_malloc (strlen (request->directory) + 9);
@@ -1096,7 +1096,7 @@
     }
   else if (ret != SSH_FXP_HANDLE)
     {
-      request->logging_function (gftp_logging_error, request->user_data,
+      request->logging_function (gftp_logging_error, request,
                      _("Received wrong response from server, disconnecting\n"));
       sshv2_message_free (&message);
       gftp_disconnect (request);
@@ -1105,7 +1105,7 @@
 
   if (message.length - 4 > SSH_MAX_HANDLE_SIZE)
     {
-      request->logging_function (gftp_logging_error, request->user_data,
+      request->logging_function (gftp_logging_error, request,
                              _("Error: Message size %d too big from server\n"),
                              message.length - 4);
       sshv2_message_free (&message);
@@ -1210,7 +1210,7 @@
           params->message.pos += 8;
           if (params->message.pos > params->message.end)
             {
-              request->logging_function (gftp_logging_error, request->user_data,
+              request->logging_function (gftp_logging_error, request,
                      _("Received wrong response from server, disconnecting\n"));
               sshv2_message_free (&params->message);
               gftp_disconnect (request);
@@ -1223,7 +1223,7 @@
           params->message.pos += 8;
           if (params->message.pos > params->message.end)
             {
-              request->logging_function (gftp_logging_error, request->user_data,
+              request->logging_function (gftp_logging_error, request,
                      _("Received wrong response from server, disconnecting\n"));
               sshv2_message_free (&params->message);
               gftp_disconnect (request);
@@ -1236,7 +1236,7 @@
           params->message.pos += 4;
           if (params->message.pos > params->message.end)
             {
-              request->logging_function (gftp_logging_error, request->user_data,
+              request->logging_function (gftp_logging_error, request,
                      _("Received wrong response from server, disconnecting\n"));
               sshv2_message_free (&params->message);
               gftp_disconnect (request);
@@ -1249,7 +1249,7 @@
           params->message.pos += 8;
           if (params->message.pos > params->message.end)
             {
-              request->logging_function (gftp_logging_error, request->user_data,
+              request->logging_function (gftp_logging_error, request,
                      _("Received wrong response from server, disconnecting\n"));
               sshv2_message_free (&params->message);
               gftp_disconnect (request);
@@ -1305,7 +1305,7 @@
     }
   else
     {
-      request->logging_function (gftp_logging_error, request->user_data,
+      request->logging_function (gftp_logging_error, request,
                      _("Received wrong response from server, disconnecting\n"));
       sshv2_message_free (&params->message);
       gftp_disconnect (request);
@@ -1370,7 +1370,7 @@
         }
       else if (ret != SSH_FXP_NAME)
         {
-          request->logging_function (gftp_logging_error, request->user_data,
+          request->logging_function (gftp_logging_error, request,
                      _("Received wrong response from server, disconnecting\n"));
           sshv2_message_free (&message);
           gftp_disconnect (request);
@@ -1830,7 +1830,7 @@
     }
   else if (serv_ret != SSH_FXP_ATTRS)
     {
-      request->logging_function (gftp_logging_error, request->user_data,
+      request->logging_function (gftp_logging_error, request,
                      _("Received wrong response from server, disconnecting\n"));
       sshv2_message_free (&params->message);
       gftp_disconnect (request);
@@ -1932,7 +1932,7 @@
     }
   else if (ret != SSH_FXP_HANDLE)
     {
-      request->logging_function (gftp_logging_error, request->user_data,
+      request->logging_function (gftp_logging_error, request,
                      _("Received wrong response from server, disconnecting\n"));
       sshv2_message_free (&message);
       gftp_disconnect (request);
@@ -1941,7 +1941,7 @@
 
   if (message.length - 4 > SSH_MAX_HANDLE_SIZE)
     {
-      request->logging_function (gftp_logging_error, request->user_data,
+      request->logging_function (gftp_logging_error, request,
                              _("Error: Message size %d too big from server\n"),
                              message.length - 4);
       sshv2_message_free (&message);
@@ -2025,7 +2025,7 @@
     }
   else if (ret != SSH_FXP_HANDLE)
     {
-      request->logging_function (gftp_logging_error, request->user_data,
+      request->logging_function (gftp_logging_error, request,
                      _("Received wrong response from server, disconnecting\n"));
       sshv2_message_free (&message);
       gftp_disconnect (request);
@@ -2034,7 +2034,7 @@
 
   if (message.length - 4 > SSH_MAX_HANDLE_SIZE)
     {
-      request->logging_function (gftp_logging_error, request->user_data,
+      request->logging_function (gftp_logging_error, request,
                              _("Error: Message size %d too big from server\n"),
                              message.length - 4);
       sshv2_message_free (&message);
@@ -2110,7 +2110,7 @@
       sshv2_message_free (&message);
       if (num != SSH_FX_EOF)
         {
-          request->logging_function (gftp_logging_error, request->user_data,
+          request->logging_function (gftp_logging_error, request,
                      _("Received wrong response from server, disconnecting\n"));
           gftp_disconnect (request);
           return (GFTP_ERETRYABLE);
@@ -2122,7 +2122,7 @@
   num = ntohl (num);
   if (num > size)
     {
-      request->logging_function (gftp_logging_error, request->user_data,
+      request->logging_function (gftp_logging_error, request,
                              _("Error: Message size %d too big from server\n"),
                              num);
       sshv2_message_free (&message);
@@ -2195,7 +2195,7 @@
   params->dont_log_status = 0;
   if (ret != SSH_FXP_STATUS)
    {
-     request->logging_function (gftp_logging_error, request->user_data,
+     request->logging_function (gftp_logging_error, request,
                      _("Received wrong response from server, disconnecting\n"));
      sshv2_message_free (&message);
      gftp_disconnect (request);