From ef5959a879ecb38ae2e4e44ed96365f032c0ceac Mon Sep 17 00:00:00 2001 From: Andy Green Date: Mon, 18 Feb 2013 10:38:45 +0800 Subject: [PATCH] migrate client hs and c_port into ah Signed-off-by: Andy Green --- lib/client-handshake.c | 8 ++++---- lib/client.c | 8 ++++---- lib/private-libwebsockets.h | 8 ++++---- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/lib/client-handshake.c b/lib/client-handshake.c index 575d03a..d043545 100644 --- a/lib/client-handshake.c +++ b/lib/client-handshake.c @@ -24,7 +24,7 @@ struct libwebsocket *__libwebsocket_client_connect_2( /*Proxy-authorization: basic aGVsbG86d29ybGQ= */ "\x0d\x0a", lws_hdr_simple_ptr(wsi, _WSI_TOKEN_CLIENT_PEER_ADDRESS), - wsi->u.hdr.c_port); + wsi->u.hdr.ah->c_port); /* OK from now on we talk via the proxy, so connect to that */ @@ -35,7 +35,7 @@ struct libwebsocket *__libwebsocket_client_connect_2( if (lws_hdr_simple_create(wsi, _WSI_TOKEN_CLIENT_PEER_ADDRESS, context->http_proxy_address)) goto oom4; - wsi->u.hdr.c_port = context->http_proxy_port; + wsi->u.hdr.ah->c_port = context->http_proxy_port; } /* @@ -60,7 +60,7 @@ struct libwebsocket *__libwebsocket_client_connect_2( } server_addr.sin_family = AF_INET; - server_addr.sin_port = htons(wsi->u.hdr.c_port); + server_addr.sin_port = htons(wsi->u.hdr.ah->c_port); server_addr.sin_addr = *((struct in_addr *)server_hostent->h_addr); bzero(&server_addr.sin_zero, 8); @@ -210,7 +210,7 @@ libwebsocket_client_connect(struct libwebsocket_context *context, * we're not necessarily in a position to action these right away, * stash them... we only need during connect phase so u.hdr is fine */ - wsi->u.hdr.c_port = port; + wsi->u.hdr.ah->c_port = port; if (lws_hdr_simple_create(wsi, _WSI_TOKEN_CLIENT_PEER_ADDRESS, address)) goto bail1; diff --git a/lib/client.c b/lib/client.c index 397d4e5..6422fb7 100644 --- a/lib/client.c +++ b/lib/client.c @@ -589,9 +589,9 @@ check_accept: */ p = lws_hdr_simple_ptr(wsi, WSI_TOKEN_ACCEPT); - if (strcmp(p, wsi->u.hdr.initial_handshake_hash_base64)) { + if (strcmp(p, wsi->u.hdr.ah->initial_handshake_hash_base64)) { lwsl_warn("lws_client_int_s_hs: accept %s wrong vs %s\n", p, - wsi->u.hdr.initial_handshake_hash_base64); + wsi->u.hdr.ah->initial_handshake_hash_base64); goto bail2; } @@ -845,8 +845,8 @@ libwebsockets_generate_client_handshake(struct libwebsocket_context *context, SHA1((unsigned char *)buf, n, (unsigned char *)hash); lws_b64_encode_string(hash, 20, - wsi->u.hdr.initial_handshake_hash_base64, - sizeof(wsi->u.hdr.initial_handshake_hash_base64)); + wsi->u.hdr.ah->initial_handshake_hash_base64, + sizeof(wsi->u.hdr.ah->initial_handshake_hash_base64)); return p; } diff --git a/lib/private-libwebsockets.h b/lib/private-libwebsockets.h index 27fec46..7b8b6f4 100644 --- a/lib/private-libwebsockets.h +++ b/lib/private-libwebsockets.h @@ -319,16 +319,16 @@ struct allocated_headers { unsigned char frag_index[WSI_TOKEN_COUNT]; struct lws_fragments frags[WSI_TOKEN_COUNT * 2]; char data[LWS_MAX_HEADER_LEN]; +#ifndef LWS_NO_CLIENT + char initial_handshake_hash_base64[30]; + unsigned short c_port; +#endif }; struct _lws_header_related { struct allocated_headers *ah; short lextable_pos; unsigned char parser_state; /* enum lws_token_indexes */ -#ifndef LWS_NO_CLIENT - char initial_handshake_hash_base64[30]; - unsigned short c_port; -#endif }; struct _lws_websocket_related { -- 2.7.4