diff options
author | Jasmine Hassan <[email protected]> | 2012-10-29 07:15:08 +0200 |
---|---|---|
committer | Jasmine Hassan <[email protected]> | 2012-10-29 08:18:46 +0200 |
commit | 366798a5cd8020de0c1771ca58e2b5c02ce6a482 (patch) | |
tree | 6f641ed0231997af4e41071515a30c9f657fe07f | |
parent | 9af4eb021fd5b34ec1fa4ee6eb01eab0b3924ebc (diff) | |
download | mate-user-share-366798a5cd8020de0c1771ca58e2b5c02ce6a482.tar.bz2 mate-user-share-366798a5cd8020de0c1771ca58e2b5c02ce6a482.tar.xz |
[http] Fix http sharing not workin on Linux 3.0
gnome-user-share tries to discover a free port to run Apache on by
bind()ing a struct sockaddr_in with no port specified in
src/http.c:get_port(). However, it neglects to specify an address
family, so that attempt fails with EINVAL, and the -1 returned gets
passed to spawn_httpd() as the port that Apache should be listening on,
which causes to Apache promptly and silently bail.
This error was caused by a regression in Linux 3.0:
http://thread.gmane.org/gmane.linux.network/205326/focus=205328
https://bugzilla.gnome.org/show_bug.cgi?id=660146
http://git.gnome.org/browse/gnome-user-share/commit/?id=24cc0e2ecc60619af0e51e730ef68bf750182dcf
-rw-r--r-- | src/http.c | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -79,6 +79,7 @@ get_port (void) memset (&addr, 0, sizeof (addr)); addr.sin_port = 0; addr.sin_addr.s_addr = INADDR_ANY; + addr.sin_family = AF_INET; reuse = 1; setsockopt (sock, SOL_SOCKET, SO_REUSEADDR, &reuse, sizeof (reuse)); |