summaryrefslogtreecommitdiffstats
path: root/src/server.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/server.c')
-rw-r--r--src/server.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/src/server.c b/src/server.c
index 1d7c72a..9c8f118 100644
--- a/src/server.c
+++ b/src/server.c
@@ -71,7 +71,7 @@ static const struct option options[] = {{"port", required_argument, NULL, 'p'},
{"ssl-key", required_argument, NULL, 'K'},
{"ssl-ca", required_argument, NULL, 'A'},
{"url-arg", no_argument, NULL, 'a'},
- {"readonly", no_argument, NULL, 'R'},
+ {"writable", no_argument, NULL, 'W'},
{"terminal-type", required_argument, NULL, 'T'},
{"client-option", required_argument, NULL, 't'},
{"check-origin", no_argument, NULL, 'O'},
@@ -82,7 +82,7 @@ static const struct option options[] = {{"port", required_argument, NULL, 'p'},
{"version", no_argument, NULL, 'v'},
{"help", no_argument, NULL, 'h'},
{NULL, 0, 0, 0}};
-static const char *opt_string = "p:i:c:H:u:g:s:w:I:b:P:6aSC:K:A:Rt:T:Om:oBd:vh";
+static const char *opt_string = "p:i:U:c:H:u:g:s:w:I:b:P:6aSC:K:A:Wt:T:Om:oBd:vh";
static void print_help() {
// clang-format off
@@ -102,7 +102,7 @@ static void print_help() {
" -s, --signal Signal to send to the command when exit it (default: 1, SIGHUP)\n"
" -w, --cwd Working directory to be set for the child program\n"
" -a, --url-arg Allow client to send command line arguments in URL (eg: http://localhost:7681?arg=foo&arg=bar)\n"
- " -R, --readonly Do not allow clients to write to the TTY\n"
+ " -W, --writable Allow clients to write to the TTY (readonly by default)\n"
" -t, --client-option Send option to client (format: key=value), repeat to add more options\n"
" -T, --terminal-type Terminal type to report, default: xterm-256color\n"
" -O, --check-origin Do not allow websocket connection from different origin\n"
@@ -148,10 +148,11 @@ static void print_config() {
if (server->auth_header != NULL) lwsl_notice(" auth header: %s\n", server->auth_header);
if (server->check_origin) lwsl_notice(" check origin: true\n");
if (server->url_arg) lwsl_notice(" allow url arg: true\n");
- if (server->readonly) lwsl_notice(" readonly: true\n");
if (server->max_clients > 0) lwsl_notice(" max clients: %d\n", server->max_clients);
if (server->once) lwsl_notice(" once: true\n");
if (server->index != NULL) lwsl_notice(" custom index.html: %s\n", server->index);
+ if (server->cwd != NULL) lwsl_notice(" working directory: %s\n", server->cwd);
+ if (!server->writable) lwsl_notice("The --writable option is not set, will start in readonly mode");
}
static struct server *server_new(int argc, char **argv, int start) {
@@ -321,7 +322,7 @@ int main(int argc, char **argv) {
#ifndef LWS_WITHOUT_EXTENSIONS
info.extensions = extensions;
#endif
- info.max_http_header_data = 20480;
+ info.max_http_header_data = 65535;
int debug_level = LLL_ERR | LLL_WARN | LLL_NOTICE;
char iface[128] = "";
@@ -334,6 +335,10 @@ int main(int argc, char **argv) {
struct json_object *client_prefs = json_object_new_object();
+#ifdef _WIN32
+ json_object_object_add(client_prefs, "isWindows", json_object_new_boolean(true));
+#endif
+
// parse command line options
int c;
while ((c = getopt_long(start, argv, opt_string, options, NULL)) != -1) {
@@ -350,8 +355,8 @@ int main(int argc, char **argv) {
case 'a':
server->url_arg = true;
break;
- case 'R':
- server->readonly = true;
+ case 'W':
+ server->writable = true;
break;
case 'O':
server->check_origin = true;