summaryrefslogtreecommitdiff
path: root/src/server.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/server.c')
-rw-r--r--src/server.c25
1 files changed, 23 insertions, 2 deletions
diff --git a/src/server.c b/src/server.c
index 80ba5ce..7ff9c87 100644
--- a/src/server.c
+++ b/src/server.c
@@ -10,6 +10,7 @@
#define PORT 3456
+#include "server/base64.c"
#include "server/ws_key.c"
#include "server/comms.c"
@@ -133,10 +134,30 @@ int handle_client(int client) {
}
unsigned char mask[4];
- recv(client, mask, 4, MSG_WAITALL);
+ recvn = recv(client, mask, 4, MSG_WAITALL);
+ if (recvn == -1) {
+ char buf[256];
+ if (strerror_r(errno, buf, sizeof(buf)) == 0) {
+ log_warnf("mask recv err: %s", buf);
+ }
+ } else {
+ char mask_hex[256] = {0};
+ base64_encode(mask, 126, mask_hex);
+ log_infof("mask recv{%d}: %s", recvn, mask_hex);
+ }
unsigned char payload[126];
- recv(client, payload, len, MSG_WAITALL);
+ recvn = recv(client, payload, len, MSG_WAITALL);
+ if (recvn == -1) {
+ char buf[256];
+ if (strerror_r(errno, buf, sizeof(buf)) == 0) {
+ log_warnf("payload recv err: %s", buf);
+ }
+ } else {
+ char payload_hex[256] = {0};
+ base64_encode(payload, 126, payload_hex);
+ log_infof("payload recv{%d}: %s", recvn, payload_hex);
+ }
for (unsigned i = 0; i < len; i++)
payload[i] ^= mask[i % 4];