From 1efb63c2bef1d1e33ed5c5935c3cd297bbabc51e Mon Sep 17 00:00:00 2001 From: Andy Green Date: Sun, 6 Feb 2011 17:42:06 +0000 Subject: [PATCH] fix-hostname-to-be-server-name--allow-switches-in-any-order.patch Signed-off-by: Andy Green --- lib/client-handshake.c | 1 + lib/libwebsockets.c | 2 ++ test-server/test-client.c | 11 ++++++++--- 3 files changed, 11 insertions(+), 3 deletions(-) diff --git a/lib/client-handshake.c b/lib/client-handshake.c index bb46a7ad..a95eb52d 100644 --- a/lib/client-handshake.c +++ b/lib/client-handshake.c @@ -401,6 +401,7 @@ libwebsocket_client_connect(struct libwebsocket_context *this, 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 c88715e2..7f111644 100644 --- a/lib/libwebsockets.c +++ b/lib/libwebsockets.c @@ -672,6 +672,8 @@ libwebsocket_create_context(int port, 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 e03d1159..59595e03 100644 --- a/test-server/test-client.c +++ b/test-server/test-client.c @@ -168,7 +168,7 @@ int main(int argc, char **argv) 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 @@ int main(int argc, char **argv) } } + 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 @@ int main(int argc, char **argv) /* 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 @@ int main(int argc, char **argv) /* 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) {