7f57011928
Copy from network:utilities/wget based on submit request 49901 from user coolo OBS-URL: https://build.opensuse.org/request/show/49901 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/wget?expand=0&rev=13
97 lines
2.9 KiB
Diff
97 lines
2.9 KiB
Diff
Index: wget-1.12/configure.ac
|
|
===================================================================
|
|
--- wget-1.12.orig/configure.ac
|
|
+++ wget-1.12/configure.ac
|
|
@@ -353,6 +353,22 @@ then
|
|
AC_DEFINE([HAVE_MD5], 1, [Define if we're compiling support for MD5.])
|
|
fi
|
|
|
|
+dnl
|
|
+dnl libproxy support
|
|
+dnl
|
|
+AC_ARG_ENABLE(libproxy,
|
|
+ [ --enable-libproxy libproxy support for system wide proxy configuration])
|
|
+if test "${enable_libproxy}" != "no"
|
|
+then
|
|
+ PKG_CHECK_MODULES([libproxy], [libproxy-1.0], [enable_libproxy=yes], [enable_libproxy=no])
|
|
+fi
|
|
+if test "${enable_libproxy}" = "yes"
|
|
+then
|
|
+ AC_SUBST(libproxy_CFLAGS)
|
|
+ AC_SUBST(libproxy_LIBS)
|
|
+ AC_DEFINE([HAVE_LIBPROXY], 1, [Define when using libproxy])
|
|
+fi
|
|
+
|
|
dnl **********************************************************************
|
|
dnl Checks for IPv6
|
|
dnl **********************************************************************
|
|
Index: wget-1.12/src/Makefile.am
|
|
===================================================================
|
|
--- wget-1.12.orig/src/Makefile.am
|
|
+++ wget-1.12/src/Makefile.am
|
|
@@ -36,7 +36,7 @@ endif
|
|
|
|
# The following line is losing on some versions of make!
|
|
DEFS = @DEFS@ -DSYSTEM_WGETRC=\"$(sysconfdir)/wgetrc\" -DLOCALEDIR=\"$(localedir)\"
|
|
-LIBS = @LIBSSL@ @LIBGNUTLS@ @LIBICONV@ @LIBINTL@ @LIBS@
|
|
+LIBS = @LIBSSL@ @LIBGNUTLS@ @LIBICONV@ @LIBINTL@ @libproxy_LIBS@ @LIBS@
|
|
|
|
bin_PROGRAMS = wget
|
|
wget_SOURCES = cmpt.c connect.c convert.c cookies.c ftp.c \
|
|
Index: wget-1.12/src/retr.c
|
|
===================================================================
|
|
--- wget-1.12.orig/src/retr.c
|
|
+++ wget-1.12/src/retr.c
|
|
@@ -55,6 +55,10 @@ as that of the covered work. */
|
|
#include "html-url.h"
|
|
#include "iri.h"
|
|
|
|
+#ifdef HAVE_LIBPROXY
|
|
+#include "proxy.h"
|
|
+#endif
|
|
+
|
|
/* Total size of downloaded files. Used to enforce quota. */
|
|
SUM_SIZE_INT total_downloaded_bytes;
|
|
|
|
@@ -1134,7 +1138,40 @@ getproxy (struct url *u)
|
|
break;
|
|
}
|
|
if (!proxy || !*proxy)
|
|
+#ifdef HAVE_LIBPROXY
|
|
+ {
|
|
+ pxProxyFactory *pf = px_proxy_factory_new();
|
|
+ if (!pf)
|
|
+ {
|
|
+ logprintf (LOG_VERBOSE, _("Allocating memory for libproxy failed"));
|
|
+ return NULL;
|
|
+ }
|
|
+ int i;
|
|
+ char direct[] = "direct://";
|
|
+
|
|
+ logprintf (LOG_VERBOSE, _("asking libproxy about url '%s'\n"), u->url);
|
|
+ char **proxies = px_proxy_factory_get_proxies(pf, u->url);
|
|
+ if (proxies[0])
|
|
+ {
|
|
+ char *check = NULL;
|
|
+ asprintf(&check , "%s", proxies[0]);
|
|
+ logprintf (LOG_VERBOSE, _("libproxy suggest to use '%s'\n"), check);
|
|
+ if(strcmp(check ,direct) != 0)
|
|
+ {
|
|
+ asprintf(&proxy , "%s", proxies[0]);
|
|
+ logprintf (LOG_VERBOSE, _("case 2: libproxy setting to use '%s'\n"), proxy);
|
|
+ }
|
|
+ }
|
|
+ for(i=0;proxies[i];i++) free(proxies[i]);
|
|
+ free(proxies);
|
|
+ free(pf);
|
|
+
|
|
+ if (!proxy || !*proxy)
|
|
+ return NULL;
|
|
+ }
|
|
+#else
|
|
return NULL;
|
|
+#endif
|
|
|
|
/* Handle shorthands. `rewritten_storage' is a kludge to allow
|
|
getproxy() to return static storage. */
|