summaryrefslogtreecommitdiff
path: root/gio/gnetworkservice.c
diff options
context:
space:
mode:
authorDan Winship <danw@gnome.org>2010-09-10 08:51:21 -0400
committerDan Winship <danw@gnome.org>2010-09-10 13:07:00 -0400
commit59383c8bea00b8f4bf50cf82ae9f3e7ce1df1a03 (patch)
treeb20fe720237da649d9ddc4d6a081e10248f0ccdd /gio/gnetworkservice.c
parentf8cb2a60b9fb79f4d3719f842d71245d844ee9c0 (diff)
downloadglib-59383c8bea00b8f4bf50cf82ae9f3e7ce1df1a03.tar.gz
Fix IPv6 parsing in _g_uri_parse_authority, add _g_uri_from_authority
Fixes connections to IPv6 address literals. https://bugzilla.gnome.org/show_bug.cgi?id=629259
Diffstat (limited to 'gio/gnetworkservice.c')
-rw-r--r--gio/gnetworkservice.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/gio/gnetworkservice.c b/gio/gnetworkservice.c
index e46126a8a..b1d934d5f 100644
--- a/gio/gnetworkservice.c
+++ b/gio/gnetworkservice.c
@@ -31,6 +31,7 @@
#include "ginetsocketaddress.h"
#include "gioerror.h"
#include "gnetworkaddress.h"
+#include "gnetworkingprivate.h"
#include "gresolver.h"
#include "gsimpleasyncresult.h"
#include "gsocketaddressenumerator.h"
@@ -438,10 +439,10 @@ g_network_service_address_enumerator_next (GSocketAddressEnumerator *enumerator
continue;
}
- uri = g_strdup_printf ("%s://%s:%u",
- g_network_service_get_scheme (srv_enum->srv),
- hostname,
- g_srv_target_get_port (target));
+ uri = _g_uri_from_authority (g_network_service_get_scheme (srv_enum->srv),
+ hostname,
+ g_srv_target_get_port (target),
+ NULL);
g_free (hostname);
addr = g_network_address_parse_uri (uri,