Project homepage Mailing List  Warmcat.com  API Docs  Github Mirror 
{"schema":"libjg2-1", "vpath":"/git/", "avatar":"/git/avatar/", "alang":"", "gen_ut":1713580585, "reponame":"libwebsockets", "desc":"libwebsockets lightweight C networking library", "owner": { "name": "Andy Green", "email": "andy@warmcat.com", "md5": "c50933ca2aa61e0fe2c43d46bb6b59cb" },"url":"https://libwebsockets.org/repo/libwebsockets", "f":3, "items": [ {"schema":"libjg2-1", "cid":"d694dad9e300d3276e6f9de873a556a7", "commit": {"type":"commit", "time": 1520947852, "time_ofs": 480, "oid_tree": { "oid": "1384decfb0c0becc958666e170a8f98ee885cee7", "alias": []}, "oid":{ "oid": "f97b67a774b3b52a55ee5e05ef32d8058d0f0cda", "alias": []}, "msg": "LWS_SERVER_OPTION_ALLOW_NON_SSL_ON_SSL_PORT: protect against zero length packet causing spin w", "sig_commit": { "git_time": { "time": 1520947852, "offset": 480 }, "name": "Andy Green", "email": "andy@warmcat.com", "md5": "c50933ca2aa61e0fe2c43d46bb6b59cb" }, "sig_author": { "git_time": { "time": 1520947852, "offset": 480 }, "name": "Andy Green", "email": "andy@warmcat.com", "md5": "c50933ca2aa61e0fe2c43d46bb6b59cb" }}, "body": "LWS_SERVER_OPTION_ALLOW_NON_SSL_ON_SSL_PORT: protect against zero length packet causing spin when deciding if tls or not tls\n\nhttps://github.com/warmcat/libwebsockets/pull/1206" , "diff": "diff --git a/lib/libwebsockets.c b/lib/libwebsockets.c\nindex 8fe0854..3868cd3 100644\n--- a/lib/libwebsockets.c\n+++ b/lib/libwebsockets.c\n@@ -674,6 +674,7 @@ just_kill_connection:\n \t\t/* libuv: no event available to guarantee completion */\n \t\tif (!wsi-\u003esocket_is_permanently_unusable \u0026\u0026\n \t\t lws_sockfd_valid(wsi-\u003edesc.sockfd) \u0026\u0026\n+\t\t wsi-\u003estate !\u003d LWSS_SHUTDOWN \u0026\u0026\n \t\t !LWS_LIBUV_ENABLED(context)) {\n \t\t\tlws_change_pollfd(wsi, LWS_POLLOUT, LWS_POLLIN);\n \t\t\twsi-\u003estate \u003d LWSS_SHUTDOWN;\ndiff --git a/lib/ssl.c b/lib/ssl.c\nindex 755d06d..761aaee 100644\n--- a/lib/ssl.c\n+++ b/lib/ssl.c\n@@ -818,12 +818,14 @@ lws_server_socket_service_ssl(struct lws *wsi, lws_sockfd_type accept_fd)\n \t\t\t\t\twsi-\u003eredirect_to_https \u003d 1;\n \t\t\t\tgoto accepted;\n \t\t\t}\n-\t\t\tif (!n) /*\n-\t\t\t\t * connection is gone, or nothing to read\n-\t\t\t\t * if it's gone, we will timeout on\n-\t\t\t\t * PENDING_TIMEOUT_SSL_ACCEPT\n+\t\t\tif (!n) {\n+\t\t\t\t/*\n+\t\t\t\t * connection is gone, fail out\n \t\t\t\t */\n-\t\t\t\tbreak;\n+\t\t\t\tlwsl_debug(\u0022PEEKed 0\u005cn\u0022);\n+\t\t\t\tgoto fail;\n+\t\t\t}\n+\n \t\t\tif (n \u003c 0 \u0026\u0026 (LWS_ERRNO \u003d\u003d LWS_EAGAIN ||\n \t\t\t\t LWS_ERRNO \u003d\u003d LWS_EWOULDBLOCK)) {\n \t\t\t\t/*\n","s":{"c":1713580585,"u": 10572}} ],"g": 11608,"chitpc": 0,"ehitpc": 0,"indexed":0 , "ab": 0, "si": 0, "db":0, "di":0, "sat":0, "lfc": "0000"}