annotate lib/socket-connect-getaddrinfo.c @ 952:a490d94a5b8e

2008-03-28 Brian Masney <masneyb@gftp.org> * lib/Makefile.am lib/misc.c lib/socket-connect.c lib/socket-connect-getaddrinfo.c lib/socket-connect-gethostbyname.c lib/sockutils.c lib/gftp.h - cleaned up more of the socket functions and split them up into their own files. Cleanups and bug fixes to the DNS lookup code.
author masneyb
date Fri, 28 Mar 2008 11:44:36 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
952
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
1 /*****************************************************************************/
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
2 /* socket-connect-getaddrinfo.c - uses getaddrinfo for connections */
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
3 /* Copyright (C) 1998-2008 Brian Masney <masneyb@gftp.org> */
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
4 /* */
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
5 /* This program is free software; you can redistribute it and/or modify */
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
6 /* it under the terms of the GNU General Public License as published by */
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
7 /* the Free Software Foundation; either version 2 of the License, or */
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
8 /* (at your option) any later version. */
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
9 /* */
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
10 /* This program is distributed in the hope that it will be useful, */
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
11 /* but WITHOUT ANY WARRANTY; without even the implied warranty of */
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
12 /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the */
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
13 /* GNU General Public License for more details. */
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
14 /* */
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
15 /* You should have received a copy of the GNU General Public License */
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
16 /* along with this program; if not, write to the Free Software */
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
17 /* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111 USA */
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
18 /*****************************************************************************/
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
19
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
20 #include "gftp.h"
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
21 static const char cvsid[] = "$Id: protocols.c 952 2008-01-24 23:31:26Z masneyb $";
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
22
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
23 #if defined (HAVE_GETADDRINFO) && defined (HAVE_GAI_STRERROR)
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
24
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
25 static int
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
26 get_port (struct addrinfo *addr)
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
27 {
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
28 struct sockaddr_in * saddr;
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
29 int port;
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
30
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
31 if (addr->ai_family == AF_INET)
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
32 {
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
33 saddr = (struct sockaddr_in *) addr->ai_addr;
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
34 port = ntohs (saddr->sin_port);
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
35 }
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
36 else
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
37 port = 0;
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
38
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
39 return (port);
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
40 }
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
41
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
42
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
43 struct addrinfo *
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
44 lookup_host_with_getaddrinfo (gftp_request *request, char *service,
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
45 char *proxy_hostname, int proxy_port)
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
46 {
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
47 struct addrinfo hints, *hostp;
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
48 intptr_t enable_ipv6;
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
49 char serv[8], *connect_host;
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
50 int ret, connect_port;
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
51
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
52 if (request->use_proxy)
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
53 {
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
54 connect_host = proxy_hostname;
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
55 connect_port = proxy_port;
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
56 }
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
57 else
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
58 {
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
59 connect_host = request->hostname;
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
60 connect_port = request->port;
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
61 }
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
62
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
63 gftp_lookup_request_option (request, "enable_ipv6", &enable_ipv6);
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
64
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
65 memset (&hints, 0, sizeof (hints));
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
66 hints.ai_flags = AI_CANONNAME;
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
67
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
68 hints.ai_family = enable_ipv6 ? PF_UNSPEC : AF_INET;
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
69 hints.ai_socktype = SOCK_STREAM;
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
70
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
71 if (connect_port == 0)
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
72 strcpy (serv, service);
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
73 else
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
74 snprintf (serv, sizeof (serv), "%d", connect_port);
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
75
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
76 request->logging_function (gftp_logging_misc, request,
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
77 _("Looking up %s\n"), connect_host);
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
78 if ((ret = getaddrinfo (connect_host, serv, &hints,
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
79 &hostp)) != 0)
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
80 {
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
81 request->logging_function (gftp_logging_error, request,
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
82 _("Cannot look up hostname %s: %s\n"),
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
83 connect_host, gai_strerror (ret));
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
84 return (NULL);
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
85 }
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
86
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
87 return (hostp);
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
88 }
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
89
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
90
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
91 int
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
92 gftp_connect_server_with_getaddrinfo (gftp_request * request, char *service,
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
93 char *proxy_hostname,
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
94 unsigned int proxy_port)
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
95 {
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
96 struct addrinfo *res, *hostp, *current_hostp;
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
97 unsigned int port;
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
98 int sock = -1;
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
99
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
100 hostp = lookup_host_with_getaddrinfo (request, service, proxy_hostname,
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
101 proxy_port);
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
102 if (hostp == NULL)
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
103 return (GFTP_ERETRYABLE);
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
104
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
105 for (res = hostp; res != NULL; res = res->ai_next)
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
106 {
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
107 port = get_port (res);
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
108 if (!request->use_proxy)
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
109 request->port = port;
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
110
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
111 if ((sock = socket (res->ai_family, res->ai_socktype,
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
112 res->ai_protocol)) < 0)
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
113 {
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
114 request->logging_function (gftp_logging_error, request,
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
115 _("Failed to create a socket: %s\n"),
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
116 g_strerror (errno));
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
117 continue;
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
118 }
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
119
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
120 request->logging_function (gftp_logging_misc, request,
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
121 _("Trying %s:%d\n"), res[0].ai_canonname,
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
122 port);
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
123
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
124 if (connect (sock, res->ai_addr, res->ai_addrlen) == -1)
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
125 {
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
126 request->logging_function (gftp_logging_error, request,
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
127 _("Cannot connect to %s: %s\n"),
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
128 res[0].ai_canonname, g_strerror (errno));
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
129 close (sock);
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
130 continue;
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
131 }
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
132
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
133 current_hostp = res;
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
134 request->ai_family = res->ai_family;
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
135 break;
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
136 }
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
137
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
138 if (res == NULL)
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
139 {
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
140 if (hostp != NULL)
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
141 freeaddrinfo (hostp);
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
142
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
143 return (GFTP_ERETRYABLE);
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
144 }
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
145
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
146 request->remote_addr_len = current_hostp->ai_addrlen;
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
147 request->remote_addr = g_malloc0 (request->remote_addr_len);
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
148 memcpy (request->remote_addr, &((struct sockaddr_in *) current_hostp->ai_addr)->sin_addr,
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
149 request->remote_addr_len);
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
150
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
151 request->logging_function (gftp_logging_misc, request,
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
152 _("Connected to %s:%d\n"), res[0].ai_canonname,
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
153 port);
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
154
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
155 return (sock);
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
156 }
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
157
a490d94a5b8e 2008-03-28 Brian Masney <masneyb@gftp.org>
masneyb
parents:
diff changeset
158 #endif