fix-hostname-to-be-server-name--allow-switches-in-any-order.patch
Signed-off-by: Andy Green <andy@warmcat.com>
diff --git a/lib/client-handshake.c b/lib/client-handshake.c
index bb46a7a..a95eb52 100644
--- a/lib/client-handshake.c
+++ b/lib/client-handshake.c
@@ -401,6 +401,7 @@
protocol != NULL)) {
fprintf(stderr, "libwebsocket_client_handshake "
"missing required header(s)\n");
+ pkt[len] = '\0';
fprintf(stderr, "%s", pkt);
goto bail2;
}
diff --git a/lib/libwebsockets.c b/lib/libwebsockets.c
index c88715e..7f11164 100644
--- a/lib/libwebsockets.c
+++ b/lib/libwebsockets.c
@@ -672,6 +672,8 @@
strncpy(this->canonical_hostname, he->h_name,
sizeof this->canonical_hostname - 1);
this->canonical_hostname[sizeof this->canonical_hostname - 1] = '\0';
+ fprintf(stderr, " canonical hostname = '%s'\n",
+ this->canonical_hostname);
/* split the proxy ads:port if given */
diff --git a/test-server/test-client.c b/test-server/test-client.c
index e03d115..59595e0 100644
--- a/test-server/test-client.c
+++ b/test-server/test-client.c
@@ -168,7 +168,7 @@
int port = 7681;
int use_ssl = 0;
struct libwebsocket_context *context;
- const char *address = argv[1];
+ const char *address;
struct libwebsocket *wsi_dumb;
struct libwebsocket *wsi_mirror;
@@ -200,6 +200,11 @@
}
}
+ if (optind >= argc)
+ goto usage;
+
+ address = argv[optind];
+
/*
* create the websockets context. This tracks open connections and
* knows how to route any traffic and which protocol version to use,
@@ -219,7 +224,7 @@
/* create a client websocket using dumb increment protocol */
wsi_dumb = libwebsocket_client_connect(context, address, port, use_ssl,
- "/", libwebsocket_canonical_hostname(context), "origin",
+ "/", argv[optind], argv[optind],
protocols[PROTOCOL_DUMB_INCREMENT].name);
if (wsi_dumb == NULL) {
@@ -230,7 +235,7 @@
/* create a client websocket using mirror protocol */
wsi_mirror = libwebsocket_client_connect(context, address, port,
- use_ssl, "/", libwebsocket_canonical_hostname(context), "origin",
+ use_ssl, "/", argv[optind], argv[optind],
protocols[PROTOCOL_LWS_MIRROR].name);
if (wsi_mirror == NULL) {