--- /dev/null
+From 2cfcadf5e6d5c444765aa460915ae27109a8dbce Mon Sep 17 00:00:00 2001
+From: Darshit Shah <darnir@gmail.com>
+Date: Mon, 16 Nov 2015 23:16:25 +0000
+Subject: Fix compile error when IPv6 is disabled
+
+* src/ftp-basic.c: The code for the new FTPS functionality was unintentionally
+inside a #ifdef IPV6 block. Move the code around so that it is defined even when
+IPV6 isn't used
+---
+diff --git a/src/ftp-basic.c b/src/ftp-basic.c
+index bcb7847..378374c 100644
+--- a/src/ftp-basic.c
++++ b/src/ftp-basic.c
+@@ -429,6 +429,65 @@ ip_address_to_eprt_repr (const ip_address *addr, int port, char *buf,
+ buf[buflen - 1] = '\0';
+ }
+
++/* Bind a port and send the appropriate PORT command to the FTP
++ server. Use acceptport after RETR, to get the socket of data
++ connection. */
++uerr_t
++ftp_eprt (int csock, int *local_sock)
++{
++ uerr_t err;
++ char *request, *respline;
++ ip_address addr;
++ int nwritten;
++ int port;
++ /* Must contain the argument of EPRT (of the form |af|addr|port|).
++ * 4 chars for the | separators, INET6_ADDRSTRLEN chars for addr
++ * 1 char for af (1-2) and 5 chars for port (0-65535) */
++ char bytes[4 + INET6_ADDRSTRLEN + 1 + 5 + 1];
++
++ /* Get the address of this side of the connection. */
++ if (!socket_ip_address (csock, &addr, ENDPOINT_LOCAL))
++ return FTPSYSERR;
++
++ /* Setting port to 0 lets the system choose a free port. */
++ port = 0;
++
++ /* Bind the port. */
++ *local_sock = bind_local (&addr, &port);
++ if (*local_sock < 0)
++ return FTPSYSERR;
++
++ /* Construct the argument of EPRT (of the form |af|addr|port|). */
++ ip_address_to_eprt_repr (&addr, port, bytes, sizeof (bytes));
++
++ /* Send PORT request. */
++ request = ftp_request ("EPRT", bytes);
++ nwritten = fd_write (csock, request, strlen (request), -1);
++ if (nwritten < 0)
++ {
++ xfree (request);
++ fd_close (*local_sock);
++ return WRITEFAILED;
++ }
++ xfree (request);
++ /* Get appropriate response. */
++ err = ftp_response (csock, &respline);
++ if (err != FTPOK)
++ {
++ fd_close (*local_sock);
++ return err;
++ }
++ if (*respline != '2')
++ {
++ xfree (respline);
++ fd_close (*local_sock);
++ return FTPPORTERR;
++ }
++ xfree (respline);
++ return FTPOK;
++}
++#endif
++
+ #ifdef HAVE_SSL
+ /*
+ * The following three functions defined into this #ifdef block
+@@ -542,65 +601,6 @@ bail:
+ }
+ #endif /* HAVE_SSL */
+
+-/* Bind a port and send the appropriate PORT command to the FTP
+- server. Use acceptport after RETR, to get the socket of data
+- connection. */
+-uerr_t
+-ftp_eprt (int csock, int *local_sock)
+-{
+- uerr_t err;
+- char *request, *respline;
+- ip_address addr;
+- int nwritten;
+- int port;
+- /* Must contain the argument of EPRT (of the form |af|addr|port|).
+- * 4 chars for the | separators, INET6_ADDRSTRLEN chars for addr
+- * 1 char for af (1-2) and 5 chars for port (0-65535) */
+- char bytes[4 + INET6_ADDRSTRLEN + 1 + 5 + 1];
+-
+- /* Get the address of this side of the connection. */
+- if (!socket_ip_address (csock, &addr, ENDPOINT_LOCAL))
+- return FTPSYSERR;
+-
+- /* Setting port to 0 lets the system choose a free port. */
+- port = 0;
+-
+- /* Bind the port. */
+- *local_sock = bind_local (&addr, &port);
+- if (*local_sock < 0)
+- return FTPSYSERR;
+-
+- /* Construct the argument of EPRT (of the form |af|addr|port|). */
+- ip_address_to_eprt_repr (&addr, port, bytes, sizeof (bytes));
+-
+- /* Send PORT request. */
+- request = ftp_request ("EPRT", bytes);
+- nwritten = fd_write (csock, request, strlen (request), -1);
+- if (nwritten < 0)
+- {
+- xfree (request);
+- fd_close (*local_sock);
+- return WRITEFAILED;
+- }
+- xfree (request);
+- /* Get appropriate response. */
+- err = ftp_response (csock, &respline);
+- if (err != FTPOK)
+- {
+- fd_close (*local_sock);
+- return err;
+- }
+- if (*respline != '2')
+- {
+- xfree (respline);
+- fd_close (*local_sock);
+- return FTPPORTERR;
+- }
+- xfree (respline);
+- return FTPOK;
+-}
+-#endif
+-
+ /* Similar to ftp_port, but uses `PASV' to initiate the passive FTP
+ transfer. Reads the response from server and parses it. Reads the
+ host and port addresses and returns them. */
+--
+cgit v0.9.0.2