Package: glib-networking-services
Version: 2.32.0-1ubuntu1
Severity: important
Tags: upstream patch

Dear Maintainer,

When using a local pac file via file:///path/to/pac-file.pac, glib-pacrunner
falls back upon wpad://, thus using either a wrongly-obtained pac file via wpad,
or not being able to find a pac file to run in the first place.

This causes issues with Liferea's Webkit-based HTML-view, and probably a couple
of other applications I haven't noticed as well.

This bug is also reported at
https://bugs.launchpad.net/glib-networking/+bug/981856 and
https://bugzilla.gnome.org/show_bug.cgi?id=674115.


-- System Information:
Debian Release: wheezy/sid
  APT prefers precise-updates
  APT policy: (500, 'precise-updates'), (500, 'precise-security'), (500, 
'precise'), (400, 'precise-proposed'), (100, 'precise-backports')
Architecture: amd64 (x86_64)

Kernel: Linux 3.3.1-hyper2 (SMP w/4 CPU cores; PREEMPT)
Locale: LANG=en_SG.utf8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages glib-networking-services depends on:
ii  glib-networking-common  2.32.0-1ubuntu1
ii  libc6                   2.15-0ubuntu7
ii  libglib2.0-0            2.32.0-1ubuntu3
ii  libproxy1               0.4.7-0ubuntu4

Versions of packages glib-networking-services recommends:
ii  glib-networking  2.32.0-1ubuntu1

glib-networking-services suggests no packages.

-- no debconf information
From: Chow Loong Jin <hyper...@debian.org>
Description: Fix pacrunner to avoid falling back upon wpad:// when using
 file://-schemed pac files
Bug-Ubuntu: https://bugs.launchpad.net/bugs/981856
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=674115
Index: glib-networking-2.32.0/proxy/libproxy/glibpacrunner.c
===================================================================
--- glib-networking-2.32.0.orig/proxy/libproxy/glibpacrunner.c	2012-01-20 00:14:01.000000000 +0800
+++ glib-networking-2.32.0/proxy/libproxy/glibpacrunner.c	2012-04-15 03:59:35.174960658 +0800
@@ -69,7 +69,8 @@
 
   g_variant_get (parameters, "(&s&s)", &pac_url, &lookup_url);
 
-  if (!g_ascii_strncasecmp (pac_url, "http", 4))
+  if (!g_ascii_strncasecmp (pac_url, "http", 4) ||
+      !g_ascii_strncasecmp (pac_url, "file", 4))
     {
       gchar *libproxy_url = g_strdup_printf ("pac+%s", pac_url);
       g_setenv ("http_proxy", libproxy_url, TRUE);

Reply via email to