From: Shuanglei Tao Date: Thu, 20 Jun 2019 14:14:58 +0000 (+0800) Subject: http: remove hack for old libwebsocket versions X-Git-Url: http://git.prime8.dev/?a=commitdiff_plain;h=7901265f52f5c963f90260d0344c06fd76f529c5;p=ttyd.git http: remove hack for old libwebsocket versions --- diff --git a/src/http.c b/src/http.c index cda1c8d..e5d7026 100644 --- a/src/http.c +++ b/src/http.c @@ -97,16 +97,12 @@ callback_http(struct lws *wsi, enum lws_callback_reasons reason, void *user, voi return 1; if (lws_write(wsi, buffer + LWS_PRE, p - (buffer + LWS_PRE), LWS_WRITE_HTTP_HEADERS) < 0) return 1; -#if LWS_LIBRARY_VERSION_MAJOR < 3 - if (n > 0 && lws_write_http(wsi, buf, n) < 0) - return 1; -#else if (n > 0) { pss->buffer = pss->ptr = strdup(buf); pss->len = n; lws_callback_on_writable(wsi); + break; } -#endif goto try_to_reuse; } @@ -131,16 +127,9 @@ callback_http(struct lws *wsi, enum lws_callback_reasons reason, void *user, voi return 1; if (lws_write(wsi, buffer + LWS_PRE, p - (buffer + LWS_PRE), LWS_WRITE_HTTP_HEADERS) < 0) return 1; -#if LWS_LIBRARY_VERSION_MAJOR < 3 - if (lws_write_http(wsi, index_html, index_html_len) < 0) - return 1; - goto try_to_reuse; -#else pss->buffer = pss->ptr = (char *) index_html; pss->len = index_html_len; lws_callback_on_writable(wsi); - return 0; -#endif } break; diff --git a/src/protocol.c b/src/protocol.c index dab0d3a..cba239d 100644 --- a/src/protocol.c +++ b/src/protocol.c @@ -312,22 +312,24 @@ callback_tty(struct lws *wsi, enum lws_callback_reasons reason, break; } if (send_initial_message(wsi, client->initial_cmd_index) < 0) { + lwsl_err("failed to send initial message, index: %d\n", client->initial_cmd_index); lws_close_reason(wsi, LWS_CLOSE_STATUS_UNEXPECTED_CONDITION, NULL, 0); return -1; } client->initial_cmd_index++; lws_callback_on_writable(wsi); - return 0; + break; } if (client->state != STATE_READY) break; // read error or client exited, close connection - if (client->pty_len <= 0) { - lws_close_reason(wsi, - client->pty_len == 0 ? LWS_CLOSE_STATUS_NORMAL - : LWS_CLOSE_STATUS_UNEXPECTED_CONDITION, - NULL, 0); + if (client->pty_len == 0) { + lws_close_reason(wsi, LWS_CLOSE_STATUS_NORMAL, NULL, 0); + return 1; + } else if (client->pty_len < 0) { + lwsl_err("read error: %d (%s)\n", errno, strerror(errno)); + lws_close_reason(wsi, LWS_CLOSE_STATUS_UNEXPECTED_CONDITION, NULL, 0); return -1; }