[Spice-devel] [PATCH] proxy: support ipv6 addresses in brackets
Victor Toso
lists at victortoso.com
Mon Oct 5 05:53:54 PDT 2015
Hi,
On Mon, Oct 05, 2015 at 02:38:51PM +0200, Wolfgang Bumiller wrote:
> Signed-off-by: Wolfgang Bumiller <w.bumiller at proxmox.com>
> ---
> src/spice-uri.c | 19 ++++++++++++++++---
> 1 file changed, 16 insertions(+), 3 deletions(-)
>
> diff --git a/src/spice-uri.c b/src/spice-uri.c
> index 82aefdb..2415857 100644
> --- a/src/spice-uri.c
> +++ b/src/spice-uri.c
> @@ -114,11 +114,24 @@ gboolean spice_uri_parse(SpiceURI *self, const gchar *_uri, GError **error)
> uri = next;
> }
>
> - /* max 2 parts, host:port */
> - gchar **uriv = g_strsplit(uri, ":", 2);
> + /* ipv6 support */
> + gchar **uriv = NULL;
> const gchar *uri_port = NULL;
> + if (uri[0] == '[') {
> + gchar *end = strstr(uri+1, "]");
> + if (end) {
> + *end = 0;
> + uriv = g_malloc(sizeof(gchar*)*3);
> + uriv[0] = g_strdup(uri+1);
> + uriv[1] = (end[1] == ':') ? g_strdup(end+2) : NULL;
> + uriv[2] = NULL;
> + }
> + } else {
> + /* max 2 parts, host:port */
> + uriv = g_strsplit(uri, ":", 2);
> + }
>
> - if (uriv[0] == NULL || strlen(uriv[0]) == 0) {
> + if (!uriv || uriv[0] == NULL || strlen(uriv[0]) == 0) {
> g_set_error(error, SPICE_CLIENT_ERROR, SPICE_CLIENT_ERROR_FAILED,
> "Invalid hostname in uri address");
> goto end;
> --
> 2.1.4
>
Could you please also add some tests in tests/session.c ?
We are lacking tests and this seems a good oportunity ;)
cheers,
Victor Toso
More information about the Spice-devel
mailing list