Re: libproxy as external dependency

2008-12-18 Thread Michael Banck
On Thu, Nov 06, 2008 at 03:01:01PM +0100, Vincent Untz wrote:
 Le mardi 21 octobre 2008, à 10:30 -0400, Nathaniel McCallum a écrit :
  I'd like to propose libproxy (LGPL 2.1+;  
  http://code.google.com/p/libproxy/) as a blessed external dependency for  
  GNOME 2.26.  libproxy is currently used by vlc and neon and libsoup and  
  webkit are considering adopting it.
 
 The only argument I see against libproxy is yet another library while
 we're trying to reduce the number of libraries and people seemed to
 agree that this is actually not a real issue.
 
 So I guess we can accept it, unless someone else raises another issue?

FYI, a member of the Debian security team raised concerns:

WPAD is a broken protocol with security issues inherent to the DNS
devolution mechanism (which is also performed by libproxy).  Please
don't add implementations to the Debian archive.

http://lists.debian.org/debian-devel/2008/12/msg00737.html

Forwarding here without further comments as I have no idea about the
security implications.


Michael
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: libproxy as external dependency

2008-12-18 Thread Dan Winship
Michael Banck wrote:
 FYI, a member of the Debian security team raised concerns:
 
 WPAD is a broken protocol with security issues inherent to the DNS
 devolution mechanism (which is also performed by libproxy).  Please
 don't add implementations to the Debian archive.
 
 http://lists.debian.org/debian-devel/2008/12/msg00737.html
 
 Forwarding here without further comments as I have no idea about the
 security implications.

As noted in the followups:

- The fact that it's broken doesn't change the fact that lots of
  sites use it

- It's already implemented by other programs in the distro anyway
  (notably Firefox)

- Its use in libproxy can be disabled system-wide by the
  administrator

I think in current libproxy WPAD is enabled by default though. We should
make sure that's changed.

-- Dan

___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: libproxy as external dependency

2008-12-18 Thread Nathaniel McCallum
On Thu, Dec 18, 2008 at 11:25 AM, Dan Winship d...@gnome.org wrote:

 Michael Banck wrote:
  FYI, a member of the Debian security team raised concerns:
 
  WPAD is a broken protocol with security issues inherent to the DNS
  devolution mechanism (which is also performed by libproxy).  Please
  don't add implementations to the Debian archive.
 
  http://lists.debian.org/debian-devel/2008/12/msg00737.html
 
  Forwarding here without further comments as I have no idea about the
  security implications.

 As noted in the followups:

- The fact that it's broken doesn't change the fact that lots of
  sites use it

- It's already implemented by other programs in the distro anyway
  (notably Firefox)

- Its use in libproxy can be disabled system-wide by the
  administrator

 I think in current libproxy WPAD is enabled by default though. We should
 make sure that's changed.


Regarding libproxy enabling WPAD by default, this is both true and false.
Since one of the goals of libproxy is to read configurations from other
sources, we will use whatever is the default for the highest priority
configuration source.  In the case of GNOME, if libproxy is used in GNOME,
libproxy will use whatever is the default configuration in gconf.  By
default gnome-network-properties disables WPAD.

However, if no configuration is found (which should hopefully never happen)
we do fall back to WPAD.  Perhaps this should be changed?

Nathaniel
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list

Re: libproxy as external dependency

2008-12-18 Thread Richard Hughes
On Thu, 2008-11-06 at 15:01 +0100, Vincent Untz wrote:
 So I guess we can accept it, unless someone else raises another issue?

I think we have to accept it. It's a stable library that solves a real
problem written by people who are approachable and know what they are
doing.

+1 from me.

Richard.


___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: libproxy as external dependency

2008-11-06 Thread Vincent Untz
Le mardi 21 octobre 2008, à 10:30 -0400, Nathaniel McCallum a écrit :
 Hi,

 I'd like to propose libproxy (LGPL 2.1+;  
 http://code.google.com/p/libproxy/) as a blessed external dependency for  
 GNOME 2.26.  libproxy is currently used by vlc and neon and libsoup and  
 webkit are considering adopting it.

Looking at the code, you don't listen for changes to the gconf keys. If
I have an active connection through a proxy and I change my proxy
settings, shouldn't libproxy tell the app the proxy settings have
changed, so that it can restart the connection?

Vincent

-- 
Les gens heureux ne sont pas pressés.
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: libproxy as external dependency

2008-11-06 Thread Nathaniel McCallum

Vincent Untz wrote:

Le mardi 21 octobre 2008, à 10:30 -0400, Nathaniel McCallum a écrit :
  

Hi,

I'd like to propose libproxy (LGPL 2.1+;  
http://code.google.com/p/libproxy/) as a blessed external dependency for  
GNOME 2.26.  libproxy is currently used by vlc and neon and libsoup and  
webkit are considering adopting it.



Looking at the code, you don't listen for changes to the gconf keys. If
I have an active connection through a proxy and I change my proxy
settings, shouldn't libproxy tell the app the proxy settings have
changed, so that it can restart the connection?
  
libproxy reads the configuration from gconf every time a new connection 
is established.  IMHO, it is a bad practice to tear down a working 
connection so that you can try to establish a new connection which 
*might* work (or might fail).  Best practice should be to keep all 
operational connections established and only use the new proxy settings 
for new connections.


Nathaniel
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: libproxy as external dependency

2008-11-06 Thread Vincent Untz
Le jeudi 06 novembre 2008, à 07:59 -0500, Nathaniel McCallum a écrit :
 Vincent Untz wrote:
 Le mardi 21 octobre 2008, à 10:30 -0400, Nathaniel McCallum a écrit :
   
 Hi,

 I'd like to propose libproxy (LGPL 2.1+;   
 http://code.google.com/p/libproxy/) as a blessed external dependency 
 for  GNOME 2.26.  libproxy is currently used by vlc and neon and 
 libsoup and  webkit are considering adopting it.
 

 Looking at the code, you don't listen for changes to the gconf keys. If
 I have an active connection through a proxy and I change my proxy
 settings, shouldn't libproxy tell the app the proxy settings have
 changed, so that it can restart the connection?
   
 libproxy reads the configuration from gconf every time a new connection  
 is established.  IMHO, it is a bad practice to tear down a working  
 connection so that you can try to establish a new connection which  
 *might* work (or might fail).  Best practice should be to keep all  
 operational connections established and only use the new proxy settings  
 for new connections.

What if the connection works in both cases, but the results are
different? I would guess it's up to the application to know if the
connection should be restarted.

An example for this (although this is a short-life connection) is that
you can directly access PDF of the ACM library via a proxy while you end
up on a webpage asking you to login if you don't use the proxy. I guess
there could be similar examples -- but maybe it's not that important,
don't know.

Vincent

-- 
Les gens heureux ne sont pas pressés.
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: libproxy as external dependency

2008-11-06 Thread Vincent Untz
Le jeudi 06 novembre 2008, à 14:32 +0100, Patryk Zawadzki a écrit :
 On Thu, Nov 6, 2008 at 2:23 PM, Vincent Untz [EMAIL PROTECTED] wrote:
  What if the connection works in both cases, but the results are
  different? I would guess it's up to the application to know if the
  connection should be restarted.
 
  An example for this (although this is a short-life connection) is that
  you can directly access PDF of the ACM library via a proxy while you end
  up on a webpage asking you to login if you don't use the proxy. I guess
  there could be similar examples -- but maybe it's not that important,
  don't know.
 
 But is it likely that the user remembers and manages to switch the
 proxy *during* the download to save one click?
 
 What if while trying to read that PDF you were 90% done downloading
 another large file (say a DVD iso) that is equally accessible with or
 without a proxy? Should it be restarted from scratch as there is no
 guarantee as to data integrity in case of (range GET) resuming with
 another proxy (a different cached copy comes to mind as a trivial
 example)?

That's why I said it might be up to the application to know what to do
:-) But it might be an issue that's not really solvable without user
interaction anyway...

Vincent

-- 
Les gens heureux ne sont pas pressés.
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: libproxy as external dependency

2008-11-06 Thread Vincent Untz
Le mardi 21 octobre 2008, à 10:30 -0400, Nathaniel McCallum a écrit :
 Hi,

 I'd like to propose libproxy (LGPL 2.1+;  
 http://code.google.com/p/libproxy/) as a blessed external dependency for  
 GNOME 2.26.  libproxy is currently used by vlc and neon and libsoup and  
 webkit are considering adopting it.

The only argument I see against libproxy is yet another library while
we're trying to reduce the number of libraries and people seemed to
agree that this is actually not a real issue.

So I guess we can accept it, unless someone else raises another issue?

Vincent

-- 
Les gens heureux ne sont pas pressés.
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: libproxy as external dependency

2008-11-06 Thread Patryk Zawadzki
On Thu, Nov 6, 2008 at 2:23 PM, Vincent Untz [EMAIL PROTECTED] wrote:
 What if the connection works in both cases, but the results are
 different? I would guess it's up to the application to know if the
 connection should be restarted.

 An example for this (although this is a short-life connection) is that
 you can directly access PDF of the ACM library via a proxy while you end
 up on a webpage asking you to login if you don't use the proxy. I guess
 there could be similar examples -- but maybe it's not that important,
 don't know.

But is it likely that the user remembers and manages to switch the
proxy *during* the download to save one click?

What if while trying to read that PDF you were 90% done downloading
another large file (say a DVD iso) that is equally accessible with or
without a proxy? Should it be restarted from scratch as there is no
guarantee as to data integrity in case of (range GET) resuming with
another proxy (a different cached copy comes to mind as a trivial
example)?

-- 
Patryk Zawadzki
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: libproxy as external dependency

2008-11-06 Thread Shaun McCance
On Thu, 2008-11-06 at 15:01 +0100, Vincent Untz wrote:
 Le mardi 21 octobre 2008, à 10:30 -0400, Nathaniel McCallum a écrit :
  Hi,
 
  I'd like to propose libproxy (LGPL 2.1+;  
  http://code.google.com/p/libproxy/) as a blessed external dependency for  
  GNOME 2.26.  libproxy is currently used by vlc and neon and libsoup and  
  webkit are considering adopting it.
 
 The only argument I see against libproxy is yet another library while
 we're trying to reduce the number of libraries and people seemed to
 agree that this is actually not a real issue.

Personally, I'm less concerned with how many libraries we
happen to depend on to build Gnome than I am with how many
interfaces we're presenting to our third-party developers.

Ideally, I'd love to see a GLib-level networking library.
If that happened to use libproxy, wonderful.

But since we don't have the single point of entry right
now, exposing libproxy as a potential interface to our
developers seems like the reasonable thing to do.  That
is to say, we should only reduce the number of libraries
through unification, not through reduction of features.

--
Shaun


___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list

Re: libproxy as external dependency

2008-10-26 Thread Felipe Contreras
On Fri, Oct 24, 2008 at 11:40 AM, Emmanuele Bassi [EMAIL PROTECTED] wrote:
 On Fri, 2008-10-24 at 11:21 +0200, Xavier Bestel wrote:
 On Thu, 2008-10-23 at 17:35 +, Benjamin Otte wrote:
  pros:
  - current proxy handling in GNOME is a huge mess, we're all lucky we can 
  live
  without proxies
  - the API looks extremely sane
  - there is nothing else that does proxying
  - Dan (who is going to be the main - or only? - user of it) likes it
  - active maintainers
  - no bugs
 
  cons:
  - I'm (luckily) not too knowledgable about proxy handling
  - not a lot of users

 - yet another library, slowing applications startup.

 only of those that might require a proxied connection, not every single
 application, which is fairly obvious.

s/proxied connection/network connection/

As a user you want all network applications to be proxy aware if you
are behind a firewall that requires a proxy.

-- 
Felipe Contreras
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: libproxy as external dependency

2008-10-26 Thread Felipe Contreras
On Sat, Oct 25, 2008 at 7:38 PM, Nathaniel McCallum
[EMAIL PROTECTED] wrote:
 Ali Sabil wrote:


 2008/10/24 Ross Burton [EMAIL PROTECTED] mailto:[EMAIL PROTECTED]

On Fri, 2008-10-24 at 11:09 +0100, Rui Tiago Cação Matos wrote:
 In this specific library case, since the API is so simple and you
 don't know you need it until you somehow check your app's settings
 it's a no-brainer really.

You could lazy-load the library when you need to access a URL, but the
point is that your app shouldn't have to know how to handle proxies or
check settings: it just asks the library to handle them.


 From what I understood, libproxy only allows your to know which proxy to
 connect to for reaching a specific resource, not how to handle the proxy, as
 you are supposed to handle them yourself.

 This is basically true.  There are three steps to initiating a connection to
 a host through a proxy.
 1. Load proxy configuration
 2. Evaluate proxy configuration (ex. WPAD, PAC and ignore lists)
 3. Establish connection through the proxy

 libproxy covers #1 and #2.  #3 is protocol specific.  Since libproxy can't
 implement every protocol out there, it is up to your protocol layer to do
 step #3.  This is the job of, say, libsoup.  So, if your application uses
 libsoup, you shouldn't need to know anything about proxies.

Why is #3 protocol-specific? You want to connect to host:port, the
proxy configuration says you need to connect to host2:port2, so
somebody will need to create the socket, why not do it in libproxy?

There's also:
4. Do the actual proxified communication

Who is supposed to add the SOCKS 4/5 headers and HTTP proxy stuff? I
don't think libsoup (an HTTP library) is supposed to do that, since
other protocols will need to do the same (IRC, FTP, etc).

It sounds to me that it's the job of libproxy to handle the SOCKS stuff.

The current proposal sounds like a libproxy-conf, not libproxy.

-- 
Felipe Contreras
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list

Re: libproxy as external dependency

2008-10-26 Thread Dan Winship
Felipe Contreras wrote:
 There's also:
 4. Do the actual proxified communication
 
 Who is supposed to add the SOCKS 4/5 headers and HTTP proxy stuff? I
 don't think libsoup (an HTTP library) is supposed to do that, since
 other protocols will need to do the same (IRC, FTP, etc).

SOCKS will presumably be handled by the gio-based network layer, once
that exists. Presumably the case of (ab)use an HTTP proxy to connect to
a non-HTTP protocol could be added there as well.

If we're going to have an API that creates network connections, it
should be a nice, glib-ish API, and libproxy isn't going to provide
that, because it's not a glib-based library. It's desktop-agnostic by
design.

 The current proposal sounds like a libproxy-conf, not libproxy.

Yes, that's exactly right. The problem libproxy solves is NOT help apps
connect to proxies. It's let apps know what proxies they are supposed
to connect to, because that seems to be where most of the problems are.
(Lots of apps already have support for using a proxy, they just don't
have any support for using *the same proxy you already configured
somewhere else*.)

Making SOCKS work everywhere in GNOME is a bigger problem, which is
explicitly outside libproxy's scope.

And it's not a proposal, it's working code.

-- Dan
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: libproxy as external dependency

2008-10-25 Thread Ali Sabil
2008/10/24 Ross Burton [EMAIL PROTECTED]

 On Fri, 2008-10-24 at 11:09 +0100, Rui Tiago Cação Matos wrote:
  In this specific library case, since the API is so simple and you
  don't know you need it until you somehow check your app's settings
  it's a no-brainer really.

 You could lazy-load the library when you need to access a URL, but the
 point is that your app shouldn't have to know how to handle proxies or
 check settings: it just asks the library to handle them.


From what I understood, libproxy only allows your to know which proxy to
connect to for reaching a specific resource, not how to handle the proxy, as
you are supposed to handle them yourself.
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list

Re: libproxy as external dependency

2008-10-25 Thread Nathaniel McCallum

Ali Sabil wrote:



2008/10/24 Ross Burton [EMAIL PROTECTED] mailto:[EMAIL PROTECTED]

On Fri, 2008-10-24 at 11:09 +0100, Rui Tiago Cação Matos wrote:
 In this specific library case, since the API is so simple and you
 don't know you need it until you somehow check your app's settings
 it's a no-brainer really.

You could lazy-load the library when you need to access a URL, but the
point is that your app shouldn't have to know how to handle proxies or
check settings: it just asks the library to handle them.


From what I understood, libproxy only allows your to know which proxy 
to connect to for reaching a specific resource, not how to handle the 
proxy, as you are supposed to handle them yourself.
This is basically true.  There are three steps to initiating a 
connection to a host through a proxy.

1. Load proxy configuration
2. Evaluate proxy configuration (ex. WPAD, PAC and ignore lists)
3. Establish connection through the proxy

libproxy covers #1 and #2.  #3 is protocol specific.  Since libproxy 
can't implement every protocol out there, it is up to your protocol 
layer to do step #3.  This is the job of, say, libsoup.  So, if your 
application uses libsoup, you shouldn't need to know anything about proxies.


However, some applications have the protocol layer built-in.  An example 
of this might be xchat.  libproxy will do #1 and #2, but xchat will need 
to program #3.


Ideally, each protocol should be split into a library which would 
utilize libproxy.


Nathaniel
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list

Re: libproxy as external dependency

2008-10-24 Thread Xavier Bestel
On Thu, 2008-10-23 at 17:35 +, Benjamin Otte wrote:
 pros:
 - current proxy handling in GNOME is a huge mess, we're all lucky we can live
 without proxies
 - the API looks extremely sane
 - there is nothing else that does proxying
 - Dan (who is going to be the main - or only? - user of it) likes it
 - active maintainers
 - no bugs
 
 cons:
 - I'm (luckily) not too knowledgable about proxy handling
 - not a lot of users

- yet another library, slowing applications startup.


___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: libproxy as external dependency

2008-10-24 Thread Emmanuele Bassi
On Fri, 2008-10-24 at 11:21 +0200, Xavier Bestel wrote:
 On Thu, 2008-10-23 at 17:35 +, Benjamin Otte wrote:
  pros:
  - current proxy handling in GNOME is a huge mess, we're all lucky we can 
  live
  without proxies
  - the API looks extremely sane
  - there is nothing else that does proxying
  - Dan (who is going to be the main - or only? - user of it) likes it
  - active maintainers
  - no bugs
  
  cons:
  - I'm (luckily) not too knowledgable about proxy handling
  - not a lot of users
 
 - yet another library, slowing applications startup.

only of those that might require a proxied connection, not every single
application, which is fairly obvious.

but humour me: where would you put this functionality? and saying
libgnome or gtk+ is not going to cut it.

ciao,
 Emmanuele.

-- 
Emmanuele Bassi,
W: http://www.emmanuelebassi.net
B: http://log.emmanuelebassi.net

___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: libproxy as external dependency

2008-10-24 Thread Wouter Bolsterlee
2008-10-24 klockan 11:40 skrev Emmanuele Bassi:
 but humour me: where would you put this functionality? and saying
 libgnome or gtk+ is not going to cut it.

libsoup perhaps?

— Wouter

-- 
:wq   mail [EMAIL PROTECTED]
  web http://uwstopia.nl

come on fallen star · i refuse to let you die · so be mine — placebo


signature.asc
Description: Digital signature
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list

Re: libproxy as external dependency

2008-10-24 Thread Rui Tiago Cação Matos
2008/10/24 Xavier Bestel [EMAIL PROTECTED]:
 - yet another library, slowing applications startup.

Actually, I've been thinking about this problem lately. Why don't
people use dlopen() more often? If you use a library in your app which
is not intrinsically essential to it (like gtk+ is) why are you
linking to it at load time? In general I think GUI apps should be
designed to load up as fast as possible, lazily loading and processing
as much as possible.

In this specific library case, since the API is so simple and you
don't know you need it until you somehow check your app's settings
it's a no-brainer really.

Rui
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: libproxy as external dependency

2008-10-24 Thread Emmanuele Bassi
On Fri, 2008-10-24 at 12:04 +0200, Wouter Bolsterlee wrote:
 2008-10-24 klockan 11:40 skrev Emmanuele Bassi:
  but humour me: where would you put this functionality? and saying
  libgnome or gtk+ is not going to cut it.
 
 libsoup perhaps?

er...

http://mail.gnome.org/archives/desktop-devel-list/2008-October/msg00041.html

libsoup is going to use this library, but not every project is going to
be using libsoup to access proxies. e.g. the dictionary might probably
use libproxy to try and connect to the DICT servers, and no libsoup
would be involved.

ciao,
 Emmanuele.

-- 
Emmanuele Bassi,
W: http://www.emmanuelebassi.net
B: http://log.emmanuelebassi.net

___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: libproxy as external dependency

2008-10-24 Thread Ross Burton
On Fri, 2008-10-24 at 11:09 +0100, Rui Tiago Cação Matos wrote:
 In this specific library case, since the API is so simple and you
 don't know you need it until you somehow check your app's settings
 it's a no-brainer really.

You could lazy-load the library when you need to access a URL, but the
point is that your app shouldn't have to know how to handle proxies or
check settings: it just asks the library to handle them.

Ross
-- 
Ross Burton mail: [EMAIL PROTECTED]
  jabber: [EMAIL PROTECTED]
   www: http://burtonini.com


signature.asc
Description: This is a digitally signed message part
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list

Re: libproxy as external dependency

2008-10-24 Thread Emmanuele Bassi
On Fri, 2008-10-24 at 11:09 +0100, Rui Tiago Cação Matos wrote:
 2008/10/24 Xavier Bestel [EMAIL PROTECTED]:
  - yet another library, slowing applications startup.
 
 Actually, I've been thinking about this problem lately. Why don't
 people use dlopen() more often? If you use a library in your app which
 is not intrinsically essential to it (like gtk+ is) why are you
 linking to it at load time? In general I think GUI apps should be
 designed to load up as fast as possible, lazily loading and processing
 as much as possible.

that's already what happens by default: used symbols are only paged in
when needed.

the default penalty for adding a shared object is 4 kB, and if the
library has been written correctly, the amount of dirty RSS memory
should be 0.

ciao,
 Emmanuele.

-- 
Emmanuele Bassi,
W: http://www.emmanuelebassi.net
B: http://log.emmanuelebassi.net

___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list

Re: libproxy as external dependency

2008-10-23 Thread Nathaniel McCallum

Dan Winship wrote:

Nathaniel McCallum wrote:
  

I'd like to propose libproxy (LGPL 2.1+;
http://code.google.com/p/libproxy/) as a blessed external dependency for
GNOME 2.26.  libproxy is currently used by vlc and neon and libsoup and
webkit are considering adopting it.



You need a comma somewhere... Since I know libsoup doesn't currently use
it, you must mean either:

  libproxy is currently used by vlc ... and neon and libsoup and webkit
  are considering adopting it.

OR

  libproxy is currently used by vlc and neon ... and libsoup and webkit
  are considering adopting it.


Anyway, Nathaniel is proposing this for GNOME primarily so that libsoup
can depend on it, and here's the story with that:

For various reasons, mostly bad, libsoup has never handled reading the
HTTP proxy configuration out of GConf itself, which means that apps
using libsoup either have to do it themselves (which sucks), or else
they ignore the problem and then don't work for people who need proxies
(which also sucks).

I've been meaning to fix this for a while, but haven't. Anyway, I'd like
to fix it for 2.26, which means either:

1. libsoup takes a mandatory dependency on libproxy
or
2. libsoup takes an optional dependency on libproxy, and then also
   has gconf-specific code to be used in case libproxy isn't
   present.

It can't be libsoup takes an optional dependency on libproxy, and
doesn't handle proxies if libproxy isn't present, because then apps
can't rely on libsoup doing the right thing for them, so we'd end up
with proxy code in *both* libsoup (via libproxy) *and* the apps (via
gconf directly), which would be even worse than what we have now.

Now I *can* do option 2 (libsoup has codepaths for both libproxy and
gconf directly), and that's what I will end up doing if libproxy isn't
accepted as an external dependency, but it would be simpler not to have
the extra codepath (there are all sorts of icky bits if you want to do
this 100% right, like parsing and matching IPv6 network masks in
ignore_hosts, etc).

Also, if GNOME makes libproxy a required external dependency, that means
all distros have to ship it, which then makes it easier for other
applications to start depending on it, which brings us one step closer
to universal proxy workingness.

All of which is to say, +1.
  

One comment?  that's all so far? ;)

Nathaniel
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: libproxy as external dependency

2008-10-23 Thread Benjamin Otte
pros:
- current proxy handling in GNOME is a huge mess, we're all lucky we can live
without proxies
- the API looks extremely sane
- there is nothing else that does proxying
- Dan (who is going to be the main - or only? - user of it) likes it
- active maintainers
- no bugs

cons:
- I'm (luckily) not too knowledgable about proxy handling
- not a lot of users

Considering that all cons I can come up with aren't their fault, this has to be
a +1 from me.

Cheers,
Benjamin

___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: libproxy as external dependency

2008-10-23 Thread Ross Burton
On Tue, 2008-10-21 at 10:30 -0400, Nathaniel McCallum wrote:
 I'd like to propose libproxy (LGPL 2.1+; 
 http://code.google.com/p/libproxy/) as a blessed external dependency for 
 GNOME 2.26.  libproxy is currently used by vlc and neon and libsoup and 
 webkit are considering adopting it.

I'd happily use this in both Sound Juicer and Postr.  libproxy has
Python, Java, and C# bindings, so I'm very much a +1.

Ross
-- 
Ross Burton mail: [EMAIL PROTECTED]
  jabber: [EMAIL PROTECTED]
   www: http://burtonini.com


signature.asc
Description: This is a digitally signed message part
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list

Re: libproxy as external dependency

2008-10-23 Thread Nathaniel McCallum

Ross Burton wrote:

On Tue, 2008-10-21 at 10:30 -0400, Nathaniel McCallum wrote:
  
I'd like to propose libproxy (LGPL 2.1+; 
http://code.google.com/p/libproxy/) as a blessed external dependency for 
GNOME 2.26.  libproxy is currently used by vlc and neon and libsoup and 
webkit are considering adopting it.



I'd happily use this in both Sound Juicer and Postr.  libproxy has
Python, Java, and C# bindings, so I'm very much a +1.
  
Actually, our Java bindings are yet-to-be-written... :)  However, the 
small API enables bindings to be written easier.


Nathaniel
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


libproxy as external dependency

2008-10-21 Thread Nathaniel McCallum

Hi,

I'd like to propose libproxy (LGPL 2.1+; 
http://code.google.com/p/libproxy/) as a blessed external dependency for 
GNOME 2.26.  libproxy is currently used by vlc and neon and libsoup and 
webkit are considering adopting it.


libproxy is a library for handling all aspects of proxy configuration 
and evaluation.  Currently, GNOME stores proxy configuration in gconf 
and expects each application to read settings from there and evaluate 
them in some manner (i.e. exceptions, WPAD, PAC).  This doesn't really 
scale because things like exceptions, WPAD and PAC are non-trivial, 
which leads to inconsistent and impartial implementations.


For instance, if a user specifies to use auto-configure and does not 
specify a PAC file, auto-configure does not work for any GNOME 
application (that I know of).  Even if a PAC file is specified, only 
those applications that provide javascript will actually use it.


Applications developers really only have one question when it comes to 
proxies: Given a network resource, how do I reach it?


libproxy answers this question in a simple, consistent, performant and 
spec-compliant way.  There are currently three functions in the (stable) 
external API.  Two of these functions instantantiate/destantiate the a 
ProxyFactory object.  This object provides caching for WPAD/PAC, 
allowing for increased speed when dealing with these mechanisms.  The 
third function is the get_proxies(char *url) function.  Just call the 
function for each url that you want to fetch and you are guaranteed a 
spec compliant proxy configuration evaluation.  Version 0.3, to be 
released before GNOME 2.26, will also contain two more functions for 
getting and setting proxy credentials.


Currently we support using mozjs or webkit (javascriptcore), detectable 
at runtime.  We also can determine proxy information on a per-session 
basis.  In other words, if you run a GNOME app in KDE (and it uses 
libproxy) it will respect KDE's proxy settings (and vice versa).


libproxy has no external dependencies in its core.  Support for GNOME, 
KDE, NetworkManager, WebKit, Firefox/mozjs, etc are implemented via plugins.


For more detailed information, please see the website listed above.  I 
am also glad to answer any questions you might have.


Nathaniel
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list


Re: libproxy as external dependency

2008-10-21 Thread Nathaniel McCallum

Dan Winship wrote:

Nathaniel McCallum wrote:
  

I'd like to propose libproxy (LGPL 2.1+;
http://code.google.com/p/libproxy/) as a blessed external dependency for
GNOME 2.26.  libproxy is currently used by vlc and neon and libsoup and
webkit are considering adopting it.



You need a comma somewhere... Since I know libsoup doesn't currently use
it, you must mean either:

  libproxy is currently used by vlc ... and neon and libsoup and webkit
  are considering adopting it.

OR

  libproxy is currently used by vlc and neon ... and libsoup and webkit
  are considering adopting it.

  

Sorry, that is less than clear!

It should read:

1. vlc and neon currently use libproxy
2. libsoup and webkit are considering adopting it.

Sorry for the confusion. :)


Nathaniel
___
desktop-devel-list mailing list
desktop-devel-list@gnome.org
http://mail.gnome.org/mailman/listinfo/desktop-devel-list