changeset 177:aec4b4541d3a

2003-6-9 Brian Masney <masneyb@gftp.org> * lib/bookmark.c lib/gftp.h lib/local.c lib/protocols.c lib/rfc2068.c lib/rfc959.c lib/sshv2.c - make return value of *_set_config_options() be an integer * lib/rfc2068.c lib/rfc959.c - return the error code of gftp_connect_server() if there was a connection problem
author masneyb
date Tue, 10 Jun 2003 12:03:54 +0000
parents 4e4de2e87241
children 8beb7bfca92b
files ChangeLog lib/bookmark.c lib/gftp.h lib/local.c lib/protocols.c lib/rfc2068.c lib/rfc959.c lib/sshv2.c
diffstat 8 files changed, 44 insertions(+), 28 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog	Mon Jun 09 23:16:53 2003 +0000
+++ b/ChangeLog	Tue Jun 10 12:03:54 2003 +0000
@@ -1,3 +1,15 @@
+2003-6-9 Brian Masney <masneyb@gftp.org>
+	* lib/bookmark.c lib/gftp.h lib/local.c lib/protocols.c lib/rfc2068.c
+	lib/rfc959.c lib/sshv2.c - make return value of *_set_config_options()
+	be an integer
+
+	* lib/rfc2068.c lib/rfc959.c - return the error code of
+	gftp_connect_server() if there was a connection problem
+
+2003-6-8 Brian Masney <masneyb@gftp.org>
+	* lib/rfc959.c lib/rfc2068.c - if gftp_connect_server() returns an
+	error, make sure the exact error code is returned
+
 2003-6-8 Brian Masney <masneyb@gftp.org>
 	* lib/sslcommon.c - added entropy_len option. Added
 	gftp_ssl_get_index(). Use SSL_get_ex_data() so that we can get the
@@ -938,7 +950,7 @@
 
 	* cvsclean - added this script
 
-	* *.[ch] - added $Id: ChangeLog,v 1.85 2003/06/09 02:03:36 masneyb Exp $ tags
+	* *.[ch] - added $Id: ChangeLog,v 1.86 2003/06/10 12:03:53 masneyb Exp $ tags
 
 	* debian/* - updated files from Debian maintainer
 
--- a/lib/bookmark.c	Mon Jun 09 23:16:53 2003 +0000
+++ b/lib/bookmark.c	Tue Jun 10 12:03:54 2003 +0000
@@ -89,8 +89,7 @@
   request->use_threads = 0;
   request->use_cache = 0;
   request->always_connected = 0;
-  gftp_set_config_options (request);
 
-  return (0);
+  return (gftp_set_config_options (request));
 }
 
--- a/lib/gftp.h	Mon Jun 09 23:16:53 2003 +0000
+++ b/lib/gftp.h	Tue Jun 10 12:03:54 2003 +0000
@@ -403,7 +403,7 @@
 					  const char *filename );
   int (*parse_url)			( gftp_request * request,
 					  const char *url );
-  void (*set_config_options)		( gftp_request * request );
+  int (*set_config_options)		( gftp_request * request );
   void (*swap_socks)			( gftp_request * dest,
 					  gftp_request * source );
 
@@ -831,7 +831,7 @@
 					  struct servent *result_buf, 
 					  int *h_errnop );
 
-void gftp_set_config_options 		( gftp_request * request );
+int gftp_set_config_options 		( gftp_request * request );
 
 void print_file_list 			( GList * list );
 
--- a/lib/local.c	Mon Jun 09 23:16:53 2003 +0000
+++ b/lib/local.c	Tue Jun 10 12:03:54 2003 +0000
@@ -679,7 +679,6 @@
   request->use_cache = 0;
   request->use_threads = 0;
   request->always_connected = 1;
-  gftp_set_config_options (request);
 
   lpd = g_malloc0 (sizeof (*lpd));
   request->protocol_data = lpd;
@@ -690,6 +689,6 @@
     g_free (request->hostname);
   request->hostname = g_strdup (_("local filesystem"));
 
-  return (0);
+  return (gftp_set_config_options (request));
 }
 
--- a/lib/protocols.c	Mon Jun 09 23:16:53 2003 +0000
+++ b/lib/protocols.c	Tue Jun 10 12:03:54 2003 +0000
@@ -104,12 +104,15 @@
 int
 gftp_connect (gftp_request * request)
 {
+  int ret;
+
   g_return_val_if_fail (request != NULL, GFTP_EFATAL);
 
   if (request->connect == NULL)
     return (GFTP_EFATAL);
 
-  gftp_set_config_options (request);
+  if ((ret = gftp_set_config_options (request)) < 0)
+    return (ret);
 
   return (request->connect (request));
 }
@@ -1804,11 +1807,13 @@
 }
 
 
-void
+int
 gftp_set_config_options (gftp_request * request)
 {
   if (request->set_config_options != NULL)
-    request->set_config_options (request);
+    return (request->set_config_options (request));
+  else
+    return (0);
 }
 
 
--- a/lib/rfc2068.c	Mon Jun 09 23:16:53 2003 +0000
+++ b/lib/rfc2068.c	Tue Jun 10 12:03:54 2003 +0000
@@ -192,7 +192,7 @@
 {
   char *proxy_hostname, *proxy_config;
   rfc2068_params * params;
-  int proxy_port;
+  int proxy_port, ret;
 
   g_return_val_if_fail (request != NULL, GFTP_EFATAL);
   g_return_val_if_fail (request->protonum == GFTP_HTTP_NUM, GFTP_EFATAL);
@@ -213,9 +213,9 @@
       request->url_prefix = g_strdup ("ftp");
     }
 
-  if (gftp_connect_server (request, request->url_prefix, proxy_hostname, 
-                           proxy_port) < 0)
-    return (GFTP_ERETRYABLE);
+  if ((ret = gftp_connect_server (request, request->url_prefix, proxy_hostname, 
+                                  proxy_port)) < 0)
+    return (ret);
 
   if (request->directory && *request->directory == '\0')
     {
@@ -657,9 +657,10 @@
 }
 
 
-static void
+static int
 rfc2068_set_config_options (gftp_request * request)
 {
+  return (0);
 }
 
 
@@ -812,8 +813,6 @@
   params = request->protocol_data;
   params->real_read_function = gftp_fd_read;
 
-  gftp_set_config_options (request);
-
-  return (0);
+  return (gftp_set_config_options (request));
 }
 
--- a/lib/rfc959.c	Mon Jun 09 23:16:53 2003 +0000
+++ b/lib/rfc959.c	Tue Jun 10 12:03:54 2003 +0000
@@ -436,8 +436,8 @@
   else if (strcasecmp (request->username, "anonymous") == 0)
     gftp_set_password (request, email);
    
-  if (gftp_connect_server (request, "ftp", proxy_hostname, proxy_port) < 0)
-    return (request->datafd);
+  if ((ret = gftp_connect_server (request, "ftp", proxy_hostname, proxy_port)) < 0)
+    return (ret);
 
   /* Get the banner */
   if ((ret = rfc959_read_response (request)) != '2')
@@ -1590,18 +1590,22 @@
 }
 
 
-static void
+static int
 rfc959_set_config_options (gftp_request * request)
 {
   char *proxy_config;
+  int ret;
 
   gftp_lookup_request_option (request, "proxy_config", &proxy_config);
   if (strcmp (proxy_config, "http") == 0)
     {
-      gftp_protocols[GFTP_HTTP_NUM].init (request); /* FIXME - check return value */
+      if ((ret = gftp_protocols[GFTP_HTTP_NUM].init (request)) < 0)
+        return (ret);
 
       gftp_set_request_option (request, "proxy_config", "ftp");
     }
+
+  return (0);
 }
 
 
@@ -1679,8 +1683,6 @@
   parms = request->protocol_data;
   parms->data_connection = -1; 
 
-  gftp_set_config_options (request);
-
-  return (0);
+  return (gftp_set_config_options (request));
 }
 
--- a/lib/sshv2.c	Mon Jun 09 23:16:53 2003 +0000
+++ b/lib/sshv2.c	Tue Jun 10 12:03:54 2003 +0000
@@ -2217,13 +2217,14 @@
 }
 
 
-static void
+static int
 sshv2_set_config_options (gftp_request * request)
 {
   int ssh_need_userpass;
 
   gftp_lookup_request_option (request, "ssh_need_userpass", &ssh_need_userpass);
   request->need_userpass = ssh_need_userpass;
+  return (0);
 }
 
 
@@ -2289,11 +2290,10 @@
   request->always_connected = 0;
   request->protocol_data = g_malloc0 (sizeof (sshv2_params));
   request->server_type = GFTP_DIRTYPE_UNIX;
-  gftp_set_config_options (request);
 
   params = request->protocol_data;
   params->id = 1;
 
-  return (0);
+  return (gftp_set_config_options (request));
 }