migrate client hs and c_port into ah
Signed-off-by: Andy Green <andy.green@linaro.org>
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 @@
/*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 @@
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 @@
}
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 @@
* 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 @@
*/
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 @@
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 @@
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 {