From 7c7460d37f79f2e6447c44705cbff443aeac4478 Mon Sep 17 00:00:00 2001 From: Nate Choe Date: Mon, 31 Jan 2022 22:35:46 -0600 Subject: [PATCH] Added dynamic pages --- documentation/sitefiles.md | 1 + example/logs | 1296 +++++++++++++++++ .../blog/{2021-1-25.html => 2022-1-25.html} | 0 example/site/blog/blog/2022-1-31.sh | 3 + example/site/index.html | 3 +- example/sitefile | 2 + src/connections.c | 21 +- src/include/connections.h | 5 - src/include/responses.h | 2 +- src/include/sitefile.h | 1 + src/responses.c | 133 +- src/sitefile.c | 7 + 12 files changed, 1428 insertions(+), 46 deletions(-) rename example/site/blog/blog/{2021-1-25.html => 2022-1-25.html} (100%) create mode 100755 example/site/blog/blog/2022-1-31.sh diff --git a/documentation/sitefiles.md b/documentation/sitefiles.md index 4bfccab..9ff2739 100644 --- a/documentation/sitefiles.md +++ b/documentation/sitefiles.md @@ -14,6 +14,7 @@ sitefiles also allow comments with # * ```set [variable] [value]``` - sets some local variable for the following pages * ```define [variable] [value]``` - sets some global variable * ```read [http path] [file path]``` - if the requested path matches ```[http path]```, return the contents of ```[file path]```. If [file path] is a directory, then the http path is appended to [file path] and that is read instead. +* ```exec [http path] [file path]``` - if the requested path matches ```[http path]```, execute ```[file path]``` and send the the contents of stdout. ```argv[0]``` is the ```[file path]```, ```argv[1]``` is a header, ```argv[2]``` is the value for that header, ```argv[3]``` is the next header, and so on. ##### Other than set, commands should take in a regex as argument 1 and operate on a file specified in argument 2. diff --git a/example/logs b/example/logs index 845393b..0afd1ec 100644 --- a/example/logs +++ b/example/logs @@ -51,3 +51,1299 @@ [2022-01-31T03:36:20Z] swebs started [2022-01-31T03:37:29Z] Couldn't find swebs user [2022-01-31T03:37:29Z] swebs started +[2022-01-31T17:43:59Z] Couldn't find swebs user +[2022-01-31T17:43:59Z] swebs started +[2022-01-31T17:45:16Z] seteuid() failed +[2022-01-31T17:45:16Z] swebs started +[2022-01-31T17:45:19Z] Accepting a stream failed +[2022-01-31T17:45:19Z] Accepting a stream failed +[2022-01-31T17:45:19Z] Accepting a stream failed +[2022-01-31T17:45:19Z] Accepting a stream failed +[2022-01-31T17:45:19Z] Accepting a stream failed +[2022-01-31T17:45:19Z] Accepting a stream failed +[2022-01-31T17:45:19Z] Accepting a stream failed +[2022-01-31T17:45:19Z] Accepting a stream failed +[2022-01-31T17:45:19Z] Accepting a stream failed +[2022-01-31T17:45:19Z] Accepting a stream failed +[2022-01-31T17:45:20Z] Accepting a stream failed +[2022-01-31T17:45:20Z] Accepting a stream failed +[2022-01-31T17:45:20Z] Accepting a stream failed +[2022-01-31T17:45:20Z] Accepting a stream failed +[2022-01-31T17:45:20Z] Accepting a stream failed +[2022-01-31T17:45:20Z] Accepting a stream failed +[2022-01-31T17:45:20Z] Accepting a stream failed +[2022-01-31T17:45:20Z] Accepting a stream failed +[2022-01-31T17:45:20Z] Accepting a stream failed +[2022-01-31T17:45:20Z] Accepting a stream failed +[2022-01-31T17:45:20Z] Accepting a stream failed +[2022-01-31T17:45:20Z] Accepting a stream failed +[2022-01-31T17:45:20Z] Accepting a stream failed +[2022-01-31T17:45:20Z] Accepting a stream failed +[2022-01-31T17:45:20Z] Accepting a stream failed +[2022-01-31T17:45:20Z] Accepting a stream failed +[2022-01-31T17:45:20Z] Accepting a stream failed +[2022-01-31T17:45:20Z] Accepting a stream failed +[2022-01-31T17:45:20Z] Accepting a stream failed +[2022-01-31T17:45:20Z] Accepting a stream failed +[2022-01-31T17:45:21Z] Accepting a stream failed +[2022-01-31T17:45:21Z] Accepting a stream failed +[2022-01-31T17:45:21Z] Accepting a stream failed +[2022-01-31T17:45:21Z] Accepting a stream failed +[2022-01-31T17:45:21Z] Accepting a stream failed +[2022-01-31T17:45:21Z] Accepting a stream failed +[2022-01-31T17:45:21Z] Accepting a stream failed +[2022-01-31T17:45:21Z] Accepting a stream failed +[2022-01-31T17:45:21Z] Accepting a stream failed +[2022-01-31T17:45:21Z] Accepting a stream failed +[2022-01-31T17:45:21Z] Accepting a stream failed +[2022-01-31T17:45:21Z] Accepting a stream failed +[2022-01-31T17:45:21Z] Accepting a stream failed +[2022-01-31T17:45:21Z] Accepting a stream failed +[2022-01-31T17:45:21Z] Accepting a stream failed +[2022-01-31T17:45:21Z] Accepting a stream failed +[2022-01-31T17:45:21Z] Accepting a stream failed +[2022-01-31T17:45:21Z] Accepting a stream failed +[2022-01-31T17:45:21Z] Accepting a stream failed +[2022-01-31T17:45:21Z] Accepting a stream failed +[2022-01-31T17:45:21Z] Accepting a stream failed +[2022-01-31T17:45:21Z] Accepting a stream failed +[2022-01-31T17:45:21Z] Accepting a stream failed +[2022-01-31T17:45:21Z] Accepting a stream failed +[2022-01-31T17:45:21Z] Accepting a stream failed +[2022-01-31T17:45:21Z] Accepting a stream failed +[2022-01-31T17:45:21Z] Accepting a stream failed +[2022-01-31T17:45:21Z] Accepting a stream failed +[2022-01-31T17:45:21Z] Accepting a stream failed +[2022-01-31T17:45:21Z] Accepting a stream failed +[2022-01-31T17:45:21Z] Accepting a stream failed +[2022-01-31T17:45:21Z] Accepting a stream failed +[2022-01-31T17:45:21Z] Accepting a stream failed +[2022-01-31T17:45:21Z] Accepting a stream failed +[2022-01-31T17:45:21Z] Accepting a stream failed +[2022-01-31T17:45:21Z] Accepting a stream failed +[2022-01-31T17:45:21Z] Accepting a stream failed +[2022-01-31T17:45:21Z] Accepting a stream failed +[2022-01-31T17:45:21Z] Accepting a stream failed +[2022-01-31T17:45:21Z] Accepting a stream failed +[2022-01-31T17:45:28Z] seteuid() failed +[2022-01-31T17:45:28Z] swebs started +[2022-01-31T17:45:29Z] Accepting a stream failed +[2022-01-31T17:45:29Z] Accepting a stream failed +[2022-01-31T17:45:29Z] Accepting a stream failed +[2022-01-31T17:45:29Z] Accepting a stream failed +[2022-01-31T17:45:29Z] Accepting a stream failed +[2022-01-31T17:45:29Z] Accepting a stream failed +[2022-01-31T17:45:29Z] Accepting a stream failed +[2022-01-31T17:45:29Z] Accepting a stream failed +[2022-01-31T17:45:29Z] Accepting a stream failed +[2022-01-31T17:45:29Z] Accepting a stream failed +[2022-01-31T17:45:30Z] Accepting a stream failed +[2022-01-31T17:45:30Z] Accepting a stream failed +[2022-01-31T17:45:30Z] Accepting a stream failed +[2022-01-31T17:45:30Z] Accepting a stream failed +[2022-01-31T17:45:30Z] Accepting a stream failed +[2022-01-31T17:45:30Z] Accepting a stream failed +[2022-01-31T17:45:30Z] Accepting a stream failed +[2022-01-31T17:45:30Z] Accepting a stream failed +[2022-01-31T17:45:30Z] Accepting a stream failed +[2022-01-31T17:45:30Z] Accepting a stream failed +[2022-01-31T17:45:30Z] Accepting a stream failed +[2022-01-31T17:45:30Z] Accepting a stream failed +[2022-01-31T17:45:30Z] Accepting a stream failed +[2022-01-31T17:45:30Z] Accepting a stream failed +[2022-01-31T17:45:30Z] Accepting a stream failed +[2022-01-31T17:45:30Z] Accepting a stream failed +[2022-01-31T17:45:30Z] Accepting a stream failed +[2022-01-31T17:45:30Z] Accepting a stream failed +[2022-01-31T17:45:30Z] Accepting a stream failed +[2022-01-31T17:45:30Z] Accepting a stream failed +[2022-01-31T17:45:30Z] Accepting a stream failed +[2022-01-31T17:45:30Z] Accepting a stream failed +[2022-01-31T17:45:30Z] Accepting a stream failed +[2022-01-31T17:45:30Z] Accepting a stream failed +[2022-01-31T17:45:30Z] Accepting a stream failed +[2022-01-31T17:45:30Z] Accepting a stream failed +[2022-01-31T17:45:30Z] Accepting a stream failed +[2022-01-31T17:45:30Z] Accepting a stream failed +[2022-01-31T17:45:30Z] Accepting a stream failed +[2022-01-31T17:45:30Z] Accepting a stream failed +[2022-01-31T17:45:30Z] Accepting a stream failed +[2022-01-31T17:45:30Z] Accepting a stream failed +[2022-01-31T17:45:30Z] Accepting a stream failed +[2022-01-31T17:45:30Z] Accepting a stream failed +[2022-01-31T17:45:30Z] Accepting a stream failed +[2022-01-31T17:45:30Z] Accepting a stream failed +[2022-01-31T17:45:30Z] Accepting a stream failed +[2022-01-31T17:45:30Z] Accepting a stream failed +[2022-01-31T17:45:30Z] Accepting a stream failed +[2022-01-31T17:45:30Z] Accepting a stream failed +[2022-01-31T17:45:31Z] Accepting a stream failed +[2022-01-31T17:45:31Z] Accepting a stream failed +[2022-01-31T17:45:31Z] Accepting a stream failed +[2022-01-31T17:45:31Z] Accepting a stream failed +[2022-01-31T17:45:31Z] Accepting a stream failed +[2022-01-31T17:45:31Z] Accepting a stream failed +[2022-01-31T17:45:31Z] Accepting a stream failed +[2022-01-31T17:45:31Z] Accepting a stream failed +[2022-01-31T17:45:31Z] Accepting a stream failed +[2022-01-31T17:45:31Z] Accepting a stream failed +[2022-01-31T17:45:31Z] Accepting a stream failed +[2022-01-31T17:45:31Z] Accepting a stream failed +[2022-01-31T17:45:31Z] Accepting a stream failed +[2022-01-31T17:45:31Z] Accepting a stream failed +[2022-01-31T17:45:31Z] Accepting a stream failed +[2022-01-31T17:45:31Z] Accepting a stream failed +[2022-01-31T17:45:31Z] Accepting a stream failed +[2022-01-31T17:45:31Z] Accepting a stream failed +[2022-01-31T17:45:31Z] Accepting a stream failed +[2022-01-31T17:45:31Z] Accepting a stream failed +[2022-01-31T17:45:39Z] seteuid() failed +[2022-01-31T17:45:39Z] swebs started +[2022-01-31T17:45:40Z] Accepting a stream failed +[2022-01-31T17:45:40Z] Accepting a stream failed +[2022-01-31T17:45:40Z] Accepting a stream failed +[2022-01-31T17:45:40Z] Accepting a stream failed +[2022-01-31T17:45:40Z] Accepting a stream failed +[2022-01-31T17:45:40Z] Accepting a stream failed +[2022-01-31T17:45:40Z] Accepting a stream failed +[2022-01-31T17:45:40Z] Accepting a stream failed +[2022-01-31T17:45:40Z] Accepting a stream failed +[2022-01-31T17:45:40Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:41Z] Accepting a stream failed +[2022-01-31T17:45:42Z] Accepting a stream failed +[2022-01-31T17:45:42Z] Accepting a stream failed +[2022-01-31T17:45:42Z] Accepting a stream failed +[2022-01-31T17:45:42Z] Accepting a stream failed +[2022-01-31T17:45:42Z] Accepting a stream failed +[2022-01-31T17:45:42Z] Accepting a stream failed +[2022-01-31T17:45:42Z] Accepting a stream failed +[2022-01-31T17:45:42Z] Accepting a stream failed +[2022-01-31T17:45:42Z] Accepting a stream failed +[2022-01-31T17:45:42Z] Accepting a stream failed +[2022-01-31T17:45:42Z] Accepting a stream failed +[2022-01-31T17:45:42Z] Accepting a stream failed +[2022-01-31T17:45:42Z] Accepting a stream failed +[2022-01-31T17:45:42Z] Accepting a stream failed +[2022-01-31T17:45:42Z] Accepting a stream failed +[2022-01-31T17:45:42Z] Accepting a stream failed +[2022-01-31T17:45:42Z] Accepting a stream failed +[2022-01-31T17:45:42Z] Accepting a stream failed +[2022-01-31T17:45:42Z] Accepting a stream failed +[2022-01-31T17:45:42Z] Accepting a stream failed +[2022-01-31T17:45:44Z] Accepting a stream failed +[2022-01-31T17:45:44Z] Accepting a stream failed +[2022-01-31T17:45:44Z] Accepting a stream failed +[2022-01-31T17:45:44Z] Accepting a stream failed +[2022-01-31T17:45:44Z] Accepting a stream failed +[2022-01-31T17:45:44Z] Accepting a stream failed +[2022-01-31T17:45:44Z] Accepting a stream failed +[2022-01-31T17:45:44Z] Accepting a stream failed +[2022-01-31T17:45:44Z] Accepting a stream failed +[2022-01-31T17:45:44Z] Accepting a stream failed +[2022-01-31T17:46:14Z] seteuid() failed +[2022-01-31T17:46:14Z] swebs started +[2022-01-31T17:46:17Z] seteuid() failed +[2022-01-31T17:46:17Z] swebs started +[2022-01-31T17:46:17Z] Accepting a stream failed +[2022-01-31T17:46:17Z] Accepting a stream failed +[2022-01-31T17:46:17Z] Accepting a stream failed +[2022-01-31T17:46:17Z] Accepting a stream failed +[2022-01-31T17:46:17Z] Accepting a stream failed +[2022-01-31T17:46:17Z] Accepting a stream failed +[2022-01-31T17:46:17Z] Accepting a stream failed +[2022-01-31T17:46:17Z] Accepting a stream failed +[2022-01-31T17:46:17Z] Accepting a stream failed +[2022-01-31T17:46:17Z] Accepting a stream failed +[2022-01-31T17:46:18Z] Accepting a stream failed +[2022-01-31T17:46:18Z] Accepting a stream failed +[2022-01-31T17:46:18Z] Accepting a stream failed +[2022-01-31T17:46:18Z] Accepting a stream failed +[2022-01-31T17:46:18Z] Accepting a stream failed +[2022-01-31T17:46:18Z] Accepting a stream failed +[2022-01-31T17:46:18Z] Accepting a stream failed +[2022-01-31T17:46:18Z] Accepting a stream failed +[2022-01-31T17:46:18Z] Accepting a stream failed +[2022-01-31T17:46:18Z] Accepting a stream failed +[2022-01-31T17:46:18Z] Accepting a stream failed +[2022-01-31T17:46:18Z] Accepting a stream failed +[2022-01-31T17:46:18Z] Accepting a stream failed +[2022-01-31T17:46:18Z] Accepting a stream failed +[2022-01-31T17:46:18Z] Accepting a stream failed +[2022-01-31T17:46:18Z] Accepting a stream failed +[2022-01-31T17:46:18Z] Accepting a stream failed +[2022-01-31T17:46:18Z] Accepting a stream failed +[2022-01-31T17:46:18Z] Accepting a stream failed +[2022-01-31T17:46:18Z] Accepting a stream failed +[2022-01-31T17:46:18Z] Accepting a stream failed +[2022-01-31T17:46:18Z] Accepting a stream failed +[2022-01-31T17:46:18Z] Accepting a stream failed +[2022-01-31T17:46:18Z] Accepting a stream failed +[2022-01-31T17:46:18Z] Accepting a stream failed +[2022-01-31T17:46:18Z] Accepting a stream failed +[2022-01-31T17:46:18Z] Accepting a stream failed +[2022-01-31T17:46:18Z] Accepting a stream failed +[2022-01-31T17:46:18Z] Accepting a stream failed +[2022-01-31T17:46:18Z] Accepting a stream failed +[2022-01-31T17:46:18Z] Accepting a stream failed +[2022-01-31T17:46:18Z] Accepting a stream failed +[2022-01-31T17:46:18Z] Accepting a stream failed +[2022-01-31T17:46:18Z] Accepting a stream failed +[2022-01-31T17:46:18Z] Accepting a stream failed +[2022-01-31T17:46:18Z] Accepting a stream failed +[2022-01-31T17:46:18Z] Accepting a stream failed +[2022-01-31T17:46:18Z] Accepting a stream failed +[2022-01-31T17:46:18Z] Accepting a stream failed +[2022-01-31T17:46:18Z] Accepting a stream failed +[2022-01-31T17:46:18Z] Accepting a stream failed +[2022-01-31T17:46:18Z] Accepting a stream failed +[2022-01-31T17:46:18Z] Accepting a stream failed +[2022-01-31T17:46:18Z] Accepting a stream failed +[2022-01-31T17:46:18Z] Accepting a stream failed +[2022-01-31T17:46:18Z] Accepting a stream failed +[2022-01-31T17:46:18Z] Accepting a stream failed +[2022-01-31T17:46:18Z] Accepting a stream failed +[2022-01-31T17:46:18Z] Accepting a stream failed +[2022-01-31T17:46:18Z] Accepting a stream failed +[2022-01-31T17:46:19Z] Accepting a stream failed +[2022-01-31T17:46:19Z] Accepting a stream failed +[2022-01-31T17:46:19Z] Accepting a stream failed +[2022-01-31T17:46:19Z] Accepting a stream failed +[2022-01-31T17:46:19Z] Accepting a stream failed +[2022-01-31T17:46:19Z] Accepting a stream failed +[2022-01-31T17:46:19Z] Accepting a stream failed +[2022-01-31T17:46:19Z] Accepting a stream failed +[2022-01-31T17:46:19Z] Accepting a stream failed +[2022-01-31T17:46:19Z] Accepting a stream failed +[2022-01-31T17:46:19Z] Accepting a stream failed +[2022-01-31T17:46:19Z] Accepting a stream failed +[2022-01-31T17:46:19Z] Accepting a stream failed +[2022-01-31T17:46:19Z] Accepting a stream failed +[2022-01-31T17:46:19Z] Accepting a stream failed +[2022-01-31T17:46:19Z] Accepting a stream failed +[2022-01-31T17:46:19Z] Accepting a stream failed +[2022-01-31T17:46:19Z] Accepting a stream failed +[2022-01-31T17:46:19Z] Accepting a stream failed +[2022-01-31T17:46:19Z] Accepting a stream failed +[2022-01-31T17:46:19Z] Accepting a stream failed +[2022-01-31T17:46:19Z] Accepting a stream failed +[2022-01-31T17:46:19Z] Accepting a stream failed +[2022-01-31T17:46:19Z] Accepting a stream failed +[2022-01-31T17:46:19Z] Accepting a stream failed +[2022-01-31T17:46:19Z] Accepting a stream failed +[2022-01-31T17:46:19Z] Accepting a stream failed +[2022-01-31T17:46:19Z] Accepting a stream failed +[2022-01-31T17:46:19Z] Accepting a stream failed +[2022-01-31T17:46:19Z] Accepting a stream failed +[2022-01-31T17:46:19Z] Accepting a stream failed +[2022-01-31T17:46:19Z] Accepting a stream failed +[2022-01-31T17:46:19Z] Accepting a stream failed +[2022-01-31T17:46:19Z] Accepting a stream failed +[2022-01-31T17:46:19Z] Accepting a stream failed +[2022-01-31T17:46:19Z] Accepting a stream failed +[2022-01-31T17:46:19Z] Accepting a stream failed +[2022-01-31T17:46:19Z] Accepting a stream failed +[2022-01-31T17:46:19Z] Accepting a stream failed +[2022-01-31T17:46:19Z] Accepting a stream failed +[2022-01-31T17:46:20Z] Accepting a stream failed +[2022-01-31T17:46:20Z] Accepting a stream failed +[2022-01-31T17:46:20Z] Accepting a stream failed +[2022-01-31T17:46:20Z] Accepting a stream failed +[2022-01-31T17:46:20Z] Accepting a stream failed +[2022-01-31T17:46:20Z] Accepting a stream failed +[2022-01-31T17:46:20Z] Accepting a stream failed +[2022-01-31T17:46:20Z] Accepting a stream failed +[2022-01-31T17:46:20Z] Accepting a stream failed +[2022-01-31T17:46:20Z] Accepting a stream failed +[2022-01-31T17:46:24Z] Accepting a stream failed +[2022-01-31T17:46:24Z] Accepting a stream failed +[2022-01-31T17:46:24Z] Accepting a stream failed +[2022-01-31T17:46:24Z] Accepting a stream failed +[2022-01-31T17:46:24Z] Accepting a stream failed +[2022-01-31T17:46:24Z] Accepting a stream failed +[2022-01-31T17:46:24Z] Accepting a stream failed +[2022-01-31T17:46:24Z] Accepting a stream failed +[2022-01-31T17:46:24Z] Accepting a stream failed +[2022-01-31T17:46:24Z] Accepting a stream failed +[2022-01-31T17:46:24Z] Accepting a stream failed +[2022-01-31T17:46:24Z] Accepting a stream failed +[2022-01-31T17:46:24Z] Accepting a stream failed +[2022-01-31T17:46:24Z] Accepting a stream failed +[2022-01-31T17:46:24Z] Accepting a stream failed +[2022-01-31T17:46:24Z] Accepting a stream failed +[2022-01-31T17:46:24Z] Accepting a stream failed +[2022-01-31T17:46:24Z] Accepting a stream failed +[2022-01-31T17:46:24Z] Accepting a stream failed +[2022-01-31T17:46:24Z] Accepting a stream failed +[2022-01-31T17:46:39Z] seteuid() failed +[2022-01-31T17:46:39Z] swebs started +[2022-01-31T17:46:39Z] Accepting a stream failed +[2022-01-31T17:46:39Z] Accepting a stream failed +[2022-01-31T17:46:39Z] Accepting a stream failed +[2022-01-31T17:46:39Z] Accepting a stream failed +[2022-01-31T17:46:39Z] Accepting a stream failed +[2022-01-31T17:46:39Z] Accepting a stream failed +[2022-01-31T17:46:39Z] Accepting a stream failed +[2022-01-31T17:46:39Z] Accepting a stream failed +[2022-01-31T17:46:39Z] Accepting a stream failed +[2022-01-31T17:46:39Z] Accepting a stream failed +[2022-01-31T17:46:39Z] Accepting a stream failed +[2022-01-31T17:46:40Z] Accepting a stream failed +[2022-01-31T17:46:40Z] Accepting a stream failed +[2022-01-31T17:46:40Z] Accepting a stream failed +[2022-01-31T17:46:40Z] Accepting a stream failed +[2022-01-31T17:46:40Z] Accepting a stream failed +[2022-01-31T17:46:40Z] Accepting a stream failed +[2022-01-31T17:46:40Z] Accepting a stream failed +[2022-01-31T17:46:40Z] Accepting a stream failed +[2022-01-31T17:46:40Z] Accepting a stream failed +[2022-01-31T17:46:40Z] Accepting a stream failed +[2022-01-31T17:46:40Z] Accepting a stream failed +[2022-01-31T17:46:40Z] Accepting a stream failed +[2022-01-31T17:46:40Z] Accepting a stream failed +[2022-01-31T17:46:40Z] Accepting a stream failed +[2022-01-31T17:46:40Z] Accepting a stream failed +[2022-01-31T17:46:40Z] Accepting a stream failed +[2022-01-31T17:46:40Z] Accepting a stream failed +[2022-01-31T17:46:40Z] Accepting a stream failed +[2022-01-31T17:46:40Z] Accepting a stream failed +[2022-01-31T17:46:40Z] Accepting a stream failed +[2022-01-31T17:46:40Z] Accepting a stream failed +[2022-01-31T17:46:40Z] Accepting a stream failed +[2022-01-31T17:46:40Z] Accepting a stream failed +[2022-01-31T17:46:40Z] Accepting a stream failed +[2022-01-31T17:46:40Z] Accepting a stream failed +[2022-01-31T17:46:40Z] Accepting a stream failed +[2022-01-31T17:46:40Z] Accepting a stream failed +[2022-01-31T17:46:40Z] Accepting a stream failed +[2022-01-31T17:46:40Z] Accepting a stream failed +[2022-01-31T17:46:40Z] Accepting a stream failed +[2022-01-31T17:46:40Z] Accepting a stream failed +[2022-01-31T17:46:40Z] Accepting a stream failed +[2022-01-31T17:46:40Z] Accepting a stream failed +[2022-01-31T17:46:40Z] Accepting a stream failed +[2022-01-31T17:46:40Z] Accepting a stream failed +[2022-01-31T17:46:40Z] Accepting a stream failed +[2022-01-31T17:46:40Z] Accepting a stream failed +[2022-01-31T17:46:40Z] Accepting a stream failed +[2022-01-31T17:46:40Z] Accepting a stream failed +[2022-01-31T17:46:58Z] seteuid() failed +[2022-01-31T17:46:58Z] swebs started +[2022-01-31T17:46:58Z] Accepting a stream failed +[2022-01-31T17:46:58Z] Accepting a stream failed +[2022-01-31T17:46:58Z] Accepting a stream failed +[2022-01-31T17:46:58Z] Accepting a stream failed +[2022-01-31T17:46:58Z] Accepting a stream failed +[2022-01-31T17:46:58Z] Accepting a stream failed +[2022-01-31T17:46:58Z] Accepting a stream failed +[2022-01-31T17:46:58Z] Accepting a stream failed +[2022-01-31T17:46:58Z] Accepting a stream failed +[2022-01-31T17:46:58Z] Accepting a stream failed +[2022-01-31T17:46:59Z] Accepting a stream failed +[2022-01-31T17:46:59Z] Accepting a stream failed +[2022-01-31T17:46:59Z] Accepting a stream failed +[2022-01-31T17:46:59Z] Accepting a stream failed +[2022-01-31T17:46:59Z] Accepting a stream failed +[2022-01-31T17:46:59Z] Accepting a stream failed +[2022-01-31T17:46:59Z] Accepting a stream failed +[2022-01-31T17:46:59Z] Accepting a stream failed +[2022-01-31T17:46:59Z] Accepting a stream failed +[2022-01-31T17:46:59Z] Accepting a stream failed +[2022-01-31T17:46:59Z] Accepting a stream failed +[2022-01-31T17:46:59Z] Accepting a stream failed +[2022-01-31T17:46:59Z] Accepting a stream failed +[2022-01-31T17:46:59Z] Accepting a stream failed +[2022-01-31T17:46:59Z] Accepting a stream failed +[2022-01-31T17:46:59Z] Accepting a stream failed +[2022-01-31T17:46:59Z] Accepting a stream failed +[2022-01-31T17:46:59Z] Accepting a stream failed +[2022-01-31T17:46:59Z] Accepting a stream failed +[2022-01-31T17:46:59Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:00Z] Accepting a stream failed +[2022-01-31T17:47:01Z] Accepting a stream failed +[2022-01-31T17:47:01Z] Accepting a stream failed +[2022-01-31T17:47:01Z] Accepting a stream failed +[2022-01-31T17:47:01Z] Accepting a stream failed +[2022-01-31T17:47:01Z] Accepting a stream failed +[2022-01-31T17:47:01Z] Accepting a stream failed +[2022-01-31T17:47:01Z] Accepting a stream failed +[2022-01-31T17:47:01Z] Accepting a stream failed +[2022-01-31T17:47:01Z] Accepting a stream failed +[2022-01-31T17:47:01Z] Accepting a stream failed +[2022-01-31T17:47:01Z] Accepting a stream failed +[2022-01-31T17:47:01Z] Accepting a stream failed +[2022-01-31T17:47:01Z] Accepting a stream failed +[2022-01-31T17:47:01Z] Accepting a stream failed +[2022-01-31T17:47:01Z] Accepting a stream failed +[2022-01-31T17:47:01Z] Accepting a stream failed +[2022-01-31T17:47:01Z] Accepting a stream failed +[2022-01-31T17:47:01Z] Accepting a stream failed +[2022-01-31T17:47:01Z] Accepting a stream failed +[2022-01-31T17:47:01Z] Accepting a stream failed +[2022-01-31T17:47:01Z] Accepting a stream failed +[2022-01-31T17:47:01Z] Accepting a stream failed +[2022-01-31T17:47:01Z] Accepting a stream failed +[2022-01-31T17:47:01Z] Accepting a stream failed +[2022-01-31T17:47:01Z] Accepting a stream failed +[2022-01-31T17:47:01Z] Accepting a stream failed +[2022-01-31T17:47:01Z] Accepting a stream failed +[2022-01-31T17:47:01Z] Accepting a stream failed +[2022-01-31T17:47:01Z] Accepting a stream failed +[2022-01-31T17:47:01Z] Accepting a stream failed +[2022-01-31T17:47:01Z] Accepting a stream failed +[2022-01-31T17:47:01Z] Accepting a stream failed +[2022-01-31T17:47:01Z] Accepting a stream failed +[2022-01-31T17:47:01Z] Accepting a stream failed +[2022-01-31T17:47:01Z] Accepting a stream failed +[2022-01-31T17:47:01Z] Accepting a stream failed +[2022-01-31T17:47:01Z] Accepting a stream failed +[2022-01-31T17:47:01Z] Accepting a stream failed +[2022-01-31T17:47:01Z] Accepting a stream failed +[2022-01-31T17:47:01Z] Accepting a stream failed +[2022-01-31T17:47:01Z] Accepting a stream failed +[2022-01-31T17:47:01Z] Accepting a stream failed +[2022-01-31T17:47:01Z] Accepting a stream failed +[2022-01-31T17:47:01Z] Accepting a stream failed +[2022-01-31T17:47:01Z] Accepting a stream failed +[2022-01-31T17:47:01Z] Accepting a stream failed +[2022-01-31T17:47:01Z] Accepting a stream failed +[2022-01-31T17:47:01Z] Accepting a stream failed +[2022-01-31T17:47:01Z] Accepting a stream failed +[2022-01-31T17:47:01Z] Accepting a stream failed +[2022-01-31T17:47:02Z] Accepting a stream failed +[2022-01-31T17:47:02Z] Accepting a stream failed +[2022-01-31T17:47:02Z] Accepting a stream failed +[2022-01-31T17:47:02Z] Accepting a stream failed +[2022-01-31T17:47:02Z] Accepting a stream failed +[2022-01-31T17:47:02Z] Accepting a stream failed +[2022-01-31T17:47:02Z] Accepting a stream failed +[2022-01-31T17:47:02Z] Accepting a stream failed +[2022-01-31T17:47:02Z] Accepting a stream failed +[2022-01-31T17:47:02Z] Accepting a stream failed +[2022-01-31T17:47:20Z] seteuid() failed +[2022-01-31T17:47:20Z] swebs started +[2022-01-31T17:47:22Z] Accepting a stream failed +[2022-01-31T17:47:22Z] Accepting a stream failed +[2022-01-31T17:47:22Z] Accepting a stream failed +[2022-01-31T17:47:22Z] Accepting a stream failed +[2022-01-31T17:47:22Z] Accepting a stream failed +[2022-01-31T17:47:22Z] Accepting a stream failed +[2022-01-31T17:47:22Z] Accepting a stream failed +[2022-01-31T17:47:22Z] Accepting a stream failed +[2022-01-31T17:47:22Z] Accepting a stream failed +[2022-01-31T17:47:22Z] Accepting a stream failed +[2022-01-31T17:47:39Z] seteuid() failed +[2022-01-31T17:47:39Z] swebs started +[2022-01-31T17:47:40Z] Accepting a stream failed +[2022-01-31T17:47:40Z] Accepting a stream failed +[2022-01-31T17:47:40Z] Accepting a stream failed +[2022-01-31T17:47:40Z] Accepting a stream failed +[2022-01-31T17:47:40Z] Accepting a stream failed +[2022-01-31T17:47:40Z] Accepting a stream failed +[2022-01-31T17:47:40Z] Accepting a stream failed +[2022-01-31T17:47:40Z] Accepting a stream failed +[2022-01-31T17:47:40Z] Accepting a stream failed +[2022-01-31T17:47:40Z] Accepting a stream failed +[2022-01-31T17:47:44Z] seteuid() failed +[2022-01-31T17:47:44Z] swebs started +[2022-01-31T17:47:45Z] Accepting a stream failed +[2022-01-31T17:47:45Z] Accepting a stream failed +[2022-01-31T17:47:45Z] Accepting a stream failed +[2022-01-31T17:47:45Z] Accepting a stream failed +[2022-01-31T17:47:45Z] Accepting a stream failed +[2022-01-31T17:47:45Z] Accepting a stream failed +[2022-01-31T17:47:45Z] Accepting a stream failed +[2022-01-31T17:47:45Z] Accepting a stream failed +[2022-01-31T17:47:45Z] Accepting a stream failed +[2022-01-31T17:47:45Z] Accepting a stream failed +[2022-01-31T17:47:54Z] seteuid() failed +[2022-01-31T17:47:54Z] swebs started +[2022-01-31T17:47:54Z] Accepting a stream failed +[2022-01-31T17:47:54Z] Accepting a stream failed +[2022-01-31T17:47:54Z] Accepting a stream failed +[2022-01-31T17:47:54Z] Accepting a stream failed +[2022-01-31T17:47:54Z] Accepting a stream failed +[2022-01-31T17:47:54Z] Accepting a stream failed +[2022-01-31T17:47:54Z] Accepting a stream failed +[2022-01-31T17:47:54Z] Accepting a stream failed +[2022-01-31T17:47:54Z] Accepting a stream failed +[2022-01-31T17:47:54Z] Accepting a stream failed +[2022-01-31T17:47:55Z] Accepting a stream failed +[2022-01-31T17:47:55Z] Accepting a stream failed +[2022-01-31T17:47:55Z] Accepting a stream failed +[2022-01-31T17:47:55Z] Accepting a stream failed +[2022-01-31T17:47:55Z] Accepting a stream failed +[2022-01-31T17:47:55Z] Accepting a stream failed +[2022-01-31T17:47:55Z] Accepting a stream failed +[2022-01-31T17:47:55Z] Accepting a stream failed +[2022-01-31T17:47:55Z] Accepting a stream failed +[2022-01-31T17:47:55Z] Accepting a stream failed +[2022-01-31T17:47:55Z] Accepting a stream failed +[2022-01-31T17:47:55Z] Accepting a stream failed +[2022-01-31T17:47:55Z] Accepting a stream failed +[2022-01-31T17:47:55Z] Accepting a stream failed +[2022-01-31T17:47:55Z] Accepting a stream failed +[2022-01-31T17:47:55Z] Accepting a stream failed +[2022-01-31T17:47:55Z] Accepting a stream failed +[2022-01-31T17:47:55Z] Accepting a stream failed +[2022-01-31T17:47:55Z] Accepting a stream failed +[2022-01-31T17:47:55Z] Accepting a stream failed +[2022-01-31T17:47:55Z] Accepting a stream failed +[2022-01-31T17:47:55Z] Accepting a stream failed +[2022-01-31T17:47:55Z] Accepting a stream failed +[2022-01-31T17:47:55Z] Accepting a stream failed +[2022-01-31T17:47:55Z] Accepting a stream failed +[2022-01-31T17:47:55Z] Accepting a stream failed +[2022-01-31T17:47:55Z] Accepting a stream failed +[2022-01-31T17:47:55Z] Accepting a stream failed +[2022-01-31T17:47:55Z] Accepting a stream failed +[2022-01-31T17:47:55Z] Accepting a stream failed +[2022-01-31T17:47:56Z] Accepting a stream failed +[2022-01-31T17:47:56Z] Accepting a stream failed +[2022-01-31T17:47:56Z] Accepting a stream failed +[2022-01-31T17:47:56Z] Accepting a stream failed +[2022-01-31T17:47:56Z] Accepting a stream failed +[2022-01-31T17:47:56Z] Accepting a stream failed +[2022-01-31T17:47:56Z] Accepting a stream failed +[2022-01-31T17:47:56Z] Accepting a stream failed +[2022-01-31T17:47:56Z] Accepting a stream failed +[2022-01-31T17:47:56Z] Accepting a stream failed +[2022-01-31T17:47:56Z] Accepting a stream failed +[2022-01-31T17:47:56Z] Accepting a stream failed +[2022-01-31T17:47:56Z] Accepting a stream failed +[2022-01-31T17:47:56Z] Accepting a stream failed +[2022-01-31T17:47:56Z] Accepting a stream failed +[2022-01-31T17:47:56Z] Accepting a stream failed +[2022-01-31T17:47:56Z] Accepting a stream failed +[2022-01-31T17:47:56Z] Accepting a stream failed +[2022-01-31T17:47:56Z] Accepting a stream failed +[2022-01-31T17:47:56Z] Accepting a stream failed +[2022-01-31T17:47:56Z] Accepting a stream failed +[2022-01-31T17:47:56Z] Accepting a stream failed +[2022-01-31T17:47:56Z] Accepting a stream failed +[2022-01-31T17:47:56Z] Accepting a stream failed +[2022-01-31T17:47:56Z] Accepting a stream failed +[2022-01-31T17:47:56Z] Accepting a stream failed +[2022-01-31T17:47:56Z] Accepting a stream failed +[2022-01-31T17:47:56Z] Accepting a stream failed +[2022-01-31T17:47:56Z] Accepting a stream failed +[2022-01-31T17:47:56Z] Accepting a stream failed +[2022-01-31T17:47:56Z] Accepting a stream failed +[2022-01-31T17:47:56Z] Accepting a stream failed +[2022-01-31T17:47:56Z] Accepting a stream failed +[2022-01-31T17:47:56Z] Accepting a stream failed +[2022-01-31T17:47:56Z] Accepting a stream failed +[2022-01-31T17:47:56Z] Accepting a stream failed +[2022-01-31T17:47:56Z] Accepting a stream failed +[2022-01-31T17:47:56Z] Accepting a stream failed +[2022-01-31T17:47:56Z] Accepting a stream failed +[2022-01-31T17:47:56Z] Accepting a stream failed +[2022-01-31T17:47:56Z] Accepting a stream failed +[2022-01-31T17:47:56Z] Accepting a stream failed +[2022-01-31T17:47:56Z] Accepting a stream failed +[2022-01-31T17:47:56Z] Accepting a stream failed +[2022-01-31T17:47:56Z] Accepting a stream failed +[2022-01-31T17:47:56Z] Accepting a stream failed +[2022-01-31T17:47:56Z] Accepting a stream failed +[2022-01-31T17:47:56Z] Accepting a stream failed +[2022-01-31T17:47:56Z] Accepting a stream failed +[2022-01-31T17:47:56Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:57Z] Accepting a stream failed +[2022-01-31T17:47:58Z] Accepting a stream failed +[2022-01-31T17:47:58Z] Accepting a stream failed +[2022-01-31T17:47:58Z] Accepting a stream failed +[2022-01-31T17:47:58Z] Accepting a stream failed +[2022-01-31T17:47:58Z] Accepting a stream failed +[2022-01-31T17:47:58Z] Accepting a stream failed +[2022-01-31T17:47:58Z] Accepting a stream failed +[2022-01-31T17:47:58Z] Accepting a stream failed +[2022-01-31T17:47:58Z] Accepting a stream failed +[2022-01-31T17:47:58Z] Accepting a stream failed +[2022-01-31T17:47:58Z] Accepting a stream failed +[2022-01-31T17:47:58Z] Accepting a stream failed +[2022-01-31T17:47:58Z] Accepting a stream failed +[2022-01-31T17:47:58Z] Accepting a stream failed +[2022-01-31T17:47:58Z] Accepting a stream failed +[2022-01-31T17:47:58Z] Accepting a stream failed +[2022-01-31T17:47:58Z] Accepting a stream failed +[2022-01-31T17:47:58Z] Accepting a stream failed +[2022-01-31T17:47:58Z] Accepting a stream failed +[2022-01-31T17:47:58Z] Accepting a stream failed +[2022-01-31T17:48:05Z] seteuid() failed +[2022-01-31T17:48:05Z] swebs started +[2022-01-31T17:48:06Z] Accepting a stream failed +[2022-01-31T17:48:06Z] Accepting a stream failed +[2022-01-31T17:48:06Z] Accepting a stream failed +[2022-01-31T17:48:06Z] Accepting a stream failed +[2022-01-31T17:48:06Z] Accepting a stream failed +[2022-01-31T17:48:06Z] Accepting a stream failed +[2022-01-31T17:48:06Z] Accepting a stream failed +[2022-01-31T17:48:06Z] Accepting a stream failed +[2022-01-31T17:48:06Z] Accepting a stream failed +[2022-01-31T17:48:06Z] Accepting a stream failed +[2022-01-31T17:48:07Z] Accepting a stream failed +[2022-01-31T17:48:07Z] Accepting a stream failed +[2022-01-31T17:48:07Z] Accepting a stream failed +[2022-01-31T17:48:07Z] Accepting a stream failed +[2022-01-31T17:48:07Z] Accepting a stream failed +[2022-01-31T17:48:07Z] Accepting a stream failed +[2022-01-31T17:48:07Z] Accepting a stream failed +[2022-01-31T17:48:07Z] Accepting a stream failed +[2022-01-31T17:48:07Z] Accepting a stream failed +[2022-01-31T17:48:07Z] Accepting a stream failed +[2022-01-31T17:48:07Z] Accepting a stream failed +[2022-01-31T17:48:07Z] Accepting a stream failed +[2022-01-31T17:48:07Z] Accepting a stream failed +[2022-01-31T17:48:07Z] Accepting a stream failed +[2022-01-31T17:48:07Z] Accepting a stream failed +[2022-01-31T17:48:07Z] Accepting a stream failed +[2022-01-31T17:48:07Z] Accepting a stream failed +[2022-01-31T17:48:07Z] Accepting a stream failed +[2022-01-31T17:48:07Z] Accepting a stream failed +[2022-01-31T17:48:07Z] Accepting a stream failed +[2022-01-31T17:48:07Z] Accepting a stream failed +[2022-01-31T17:48:07Z] Accepting a stream failed +[2022-01-31T17:48:07Z] Accepting a stream failed +[2022-01-31T17:48:07Z] Accepting a stream failed +[2022-01-31T17:48:07Z] Accepting a stream failed +[2022-01-31T17:48:07Z] Accepting a stream failed +[2022-01-31T17:48:07Z] Accepting a stream failed +[2022-01-31T17:48:07Z] Accepting a stream failed +[2022-01-31T17:48:07Z] Accepting a stream failed +[2022-01-31T17:48:07Z] Accepting a stream failed +[2022-01-31T17:48:08Z] Accepting a stream failed +[2022-01-31T17:48:08Z] Accepting a stream failed +[2022-01-31T17:48:08Z] Accepting a stream failed +[2022-01-31T17:48:08Z] Accepting a stream failed +[2022-01-31T17:48:08Z] Accepting a stream failed +[2022-01-31T17:48:08Z] Accepting a stream failed +[2022-01-31T17:48:08Z] Accepting a stream failed +[2022-01-31T17:48:08Z] Accepting a stream failed +[2022-01-31T17:48:08Z] Accepting a stream failed +[2022-01-31T17:48:08Z] Accepting a stream failed +[2022-01-31T17:48:13Z] seteuid() failed +[2022-01-31T17:48:13Z] swebs started +[2022-01-31T17:48:14Z] Accepting a stream failed +[2022-01-31T17:48:14Z] Accepting a stream failed +[2022-01-31T17:48:14Z] Accepting a stream failed +[2022-01-31T17:48:14Z] Accepting a stream failed +[2022-01-31T17:48:14Z] Accepting a stream failed +[2022-01-31T17:48:14Z] Accepting a stream failed +[2022-01-31T17:48:14Z] Accepting a stream failed +[2022-01-31T17:48:14Z] Accepting a stream failed +[2022-01-31T17:48:14Z] Accepting a stream failed +[2022-01-31T17:48:14Z] Accepting a stream failed +[2022-01-31T17:48:40Z] seteuid() failed +[2022-01-31T17:48:40Z] swebs started +[2022-01-31T17:48:40Z] Accepting a stream failed +[2022-01-31T17:48:40Z] Accepting a stream failed +[2022-01-31T17:48:40Z] Accepting a stream failed +[2022-01-31T17:48:40Z] Accepting a stream failed +[2022-01-31T17:48:40Z] Accepting a stream failed +[2022-01-31T17:48:40Z] Accepting a stream failed +[2022-01-31T17:48:40Z] Accepting a stream failed +[2022-01-31T17:48:40Z] Accepting a stream failed +[2022-01-31T17:48:40Z] Accepting a stream failed +[2022-01-31T17:48:40Z] Accepting a stream failed +[2022-01-31T17:48:52Z] seteuid() failed +[2022-01-31T17:48:52Z] swebs started +[2022-01-31T17:48:52Z] Accepting a stream failed +[2022-01-31T17:48:52Z] Accepting a stream failed +[2022-01-31T17:48:52Z] Accepting a stream failed +[2022-01-31T17:48:52Z] Accepting a stream failed +[2022-01-31T17:48:52Z] Accepting a stream failed +[2022-01-31T17:48:52Z] Accepting a stream failed +[2022-01-31T17:48:52Z] Accepting a stream failed +[2022-01-31T17:48:52Z] Accepting a stream failed +[2022-01-31T17:48:52Z] Accepting a stream failed +[2022-01-31T17:48:52Z] Accepting a stream failed +[2022-01-31T17:49:06Z] seteuid() failed +[2022-01-31T17:49:06Z] swebs started +[2022-01-31T17:49:06Z] Accepting a stream failed +[2022-01-31T17:49:06Z] Accepting a stream failed +[2022-01-31T17:49:06Z] Accepting a stream failed +[2022-01-31T17:49:06Z] Accepting a stream failed +[2022-01-31T17:49:06Z] Accepting a stream failed +[2022-01-31T17:49:06Z] Accepting a stream failed +[2022-01-31T17:49:06Z] Accepting a stream failed +[2022-01-31T17:49:06Z] Accepting a stream failed +[2022-01-31T17:49:06Z] Accepting a stream failed +[2022-01-31T17:49:06Z] Accepting a stream failed +[2022-01-31T17:49:15Z] seteuid() failed +[2022-01-31T17:49:15Z] swebs started +[2022-01-31T17:49:16Z] Accepting a stream failed +[2022-01-31T17:49:16Z] Accepting a stream failed +[2022-01-31T17:49:16Z] Accepting a stream failed +[2022-01-31T17:49:16Z] Accepting a stream failed +[2022-01-31T17:49:16Z] Accepting a stream failed +[2022-01-31T17:49:16Z] Accepting a stream failed +[2022-01-31T17:49:16Z] Accepting a stream failed +[2022-01-31T17:49:16Z] Accepting a stream failed +[2022-01-31T17:49:16Z] Accepting a stream failed +[2022-01-31T17:49:16Z] Accepting a stream failed +[2022-01-31T17:49:30Z] seteuid() failed +[2022-01-31T17:49:30Z] swebs started +[2022-01-31T17:49:30Z] Accepting a stream failed +[2022-01-31T17:49:30Z] Accepting a stream failed +[2022-01-31T17:49:30Z] Accepting a stream failed +[2022-01-31T17:49:30Z] Accepting a stream failed +[2022-01-31T17:49:30Z] Accepting a stream failed +[2022-01-31T17:49:30Z] Accepting a stream failed +[2022-01-31T17:49:30Z] Accepting a stream failed +[2022-01-31T17:49:30Z] Accepting a stream failed +[2022-01-31T17:49:30Z] Accepting a stream failed +[2022-01-31T17:49:30Z] Accepting a stream failed +[2022-01-31T17:50:36Z] seteuid() failed +[2022-01-31T17:50:36Z] swebs started +[2022-01-31T17:50:37Z] Accepting a stream failed +[2022-01-31T17:50:37Z] Accepting a stream failed +[2022-01-31T17:50:37Z] Accepting a stream failed +[2022-01-31T17:50:37Z] Accepting a stream failed +[2022-01-31T17:50:37Z] Accepting a stream failed +[2022-01-31T17:50:37Z] Accepting a stream failed +[2022-01-31T17:50:37Z] Accepting a stream failed +[2022-01-31T17:50:37Z] Accepting a stream failed +[2022-01-31T17:50:37Z] Accepting a stream failed +[2022-01-31T17:50:37Z] Accepting a stream failed +[2022-01-31T17:50:38Z] Accepting a stream failed +[2022-01-31T17:50:38Z] Accepting a stream failed +[2022-01-31T17:50:38Z] Accepting a stream failed +[2022-01-31T17:50:38Z] Accepting a stream failed +[2022-01-31T17:50:38Z] Accepting a stream failed +[2022-01-31T17:50:38Z] Accepting a stream failed +[2022-01-31T17:50:38Z] Accepting a stream failed +[2022-01-31T17:50:38Z] Accepting a stream failed +[2022-01-31T17:50:38Z] Accepting a stream failed +[2022-01-31T17:50:38Z] Accepting a stream failed +[2022-01-31T17:50:38Z] Accepting a stream failed +[2022-01-31T17:50:38Z] Accepting a stream failed +[2022-01-31T17:50:38Z] Accepting a stream failed +[2022-01-31T17:50:38Z] Accepting a stream failed +[2022-01-31T17:50:38Z] Accepting a stream failed +[2022-01-31T17:50:38Z] Accepting a stream failed +[2022-01-31T17:50:38Z] Accepting a stream failed +[2022-01-31T17:50:38Z] Accepting a stream failed +[2022-01-31T17:50:38Z] Accepting a stream failed +[2022-01-31T17:50:38Z] Accepting a stream failed +[2022-01-31T17:50:38Z] Accepting a stream failed +[2022-01-31T17:50:38Z] Accepting a stream failed +[2022-01-31T17:50:38Z] Accepting a stream failed +[2022-01-31T17:50:38Z] Accepting a stream failed +[2022-01-31T17:50:38Z] Accepting a stream failed +[2022-01-31T17:50:38Z] Accepting a stream failed +[2022-01-31T17:50:38Z] Accepting a stream failed +[2022-01-31T17:50:38Z] Accepting a stream failed +[2022-01-31T17:50:38Z] Accepting a stream failed +[2022-01-31T17:50:38Z] Accepting a stream failed +[2022-01-31T17:50:38Z] Accepting a stream failed +[2022-01-31T17:50:38Z] Accepting a stream failed +[2022-01-31T17:50:38Z] Accepting a stream failed +[2022-01-31T17:50:38Z] Accepting a stream failed +[2022-01-31T17:50:38Z] Accepting a stream failed +[2022-01-31T17:50:38Z] Accepting a stream failed +[2022-01-31T17:50:38Z] Accepting a stream failed +[2022-01-31T17:50:38Z] Accepting a stream failed +[2022-01-31T17:50:38Z] Accepting a stream failed +[2022-01-31T17:50:38Z] Accepting a stream failed +[2022-01-31T17:50:38Z] Accepting a stream failed +[2022-01-31T17:50:38Z] Accepting a stream failed +[2022-01-31T17:50:38Z] Accepting a stream failed +[2022-01-31T17:50:38Z] Accepting a stream failed +[2022-01-31T17:50:38Z] Accepting a stream failed +[2022-01-31T17:50:38Z] Accepting a stream failed +[2022-01-31T17:50:38Z] Accepting a stream failed +[2022-01-31T17:50:38Z] Accepting a stream failed +[2022-01-31T17:50:38Z] Accepting a stream failed +[2022-01-31T17:50:38Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:39Z] Accepting a stream failed +[2022-01-31T17:50:44Z] seteuid() failed +[2022-01-31T17:50:44Z] swebs started +[2022-01-31T17:50:44Z] Accepting a stream failed +[2022-01-31T17:50:44Z] Accepting a stream failed +[2022-01-31T17:50:44Z] Accepting a stream failed +[2022-01-31T17:50:44Z] Accepting a stream failed +[2022-01-31T17:50:44Z] Accepting a stream failed +[2022-01-31T17:50:44Z] Accepting a stream failed +[2022-01-31T17:50:44Z] Accepting a stream failed +[2022-01-31T17:50:44Z] Accepting a stream failed +[2022-01-31T17:50:44Z] Accepting a stream failed +[2022-01-31T17:50:44Z] Accepting a stream failed +[2022-01-31T17:50:45Z] Accepting a stream failed +[2022-01-31T17:50:45Z] Accepting a stream failed +[2022-01-31T17:50:45Z] Accepting a stream failed +[2022-01-31T17:50:45Z] Accepting a stream failed +[2022-01-31T17:50:45Z] Accepting a stream failed +[2022-01-31T17:50:45Z] Accepting a stream failed +[2022-01-31T17:50:45Z] Accepting a stream failed +[2022-01-31T17:50:45Z] Accepting a stream failed +[2022-01-31T17:50:45Z] Accepting a stream failed +[2022-01-31T17:50:45Z] Accepting a stream failed +[2022-01-31T17:50:45Z] Accepting a stream failed +[2022-01-31T17:50:45Z] Accepting a stream failed +[2022-01-31T17:50:45Z] Accepting a stream failed +[2022-01-31T17:50:45Z] Accepting a stream failed +[2022-01-31T17:50:45Z] Accepting a stream failed +[2022-01-31T17:50:45Z] Accepting a stream failed +[2022-01-31T17:50:45Z] Accepting a stream failed +[2022-01-31T17:50:45Z] Accepting a stream failed +[2022-01-31T17:50:45Z] Accepting a stream failed +[2022-01-31T17:50:45Z] Accepting a stream failed +[2022-01-31T17:50:45Z] Accepting a stream failed +[2022-01-31T17:50:45Z] Accepting a stream failed +[2022-01-31T17:50:45Z] Accepting a stream failed +[2022-01-31T17:50:45Z] Accepting a stream failed +[2022-01-31T17:50:45Z] Accepting a stream failed +[2022-01-31T17:50:45Z] Accepting a stream failed +[2022-01-31T17:50:45Z] Accepting a stream failed +[2022-01-31T17:50:45Z] Accepting a stream failed +[2022-01-31T17:50:45Z] Accepting a stream failed +[2022-01-31T17:50:45Z] Accepting a stream failed +[2022-01-31T17:50:45Z] Accepting a stream failed +[2022-01-31T17:50:45Z] Accepting a stream failed +[2022-01-31T17:50:45Z] Accepting a stream failed +[2022-01-31T17:50:45Z] Accepting a stream failed +[2022-01-31T17:50:45Z] Accepting a stream failed +[2022-01-31T17:50:45Z] Accepting a stream failed +[2022-01-31T17:50:45Z] Accepting a stream failed +[2022-01-31T17:50:45Z] Accepting a stream failed +[2022-01-31T17:50:45Z] Accepting a stream failed +[2022-01-31T17:50:45Z] Accepting a stream failed +[2022-01-31T17:50:45Z] Accepting a stream failed +[2022-01-31T17:50:45Z] Accepting a stream failed +[2022-01-31T17:50:45Z] Accepting a stream failed +[2022-01-31T17:50:45Z] Accepting a stream failed +[2022-01-31T17:50:45Z] Accepting a stream failed +[2022-01-31T17:50:45Z] Accepting a stream failed +[2022-01-31T17:50:45Z] Accepting a stream failed +[2022-01-31T17:50:45Z] Accepting a stream failed +[2022-01-31T17:50:45Z] Accepting a stream failed +[2022-01-31T17:50:45Z] Accepting a stream failed +[2022-01-31T17:50:46Z] Accepting a stream failed +[2022-01-31T17:50:46Z] Accepting a stream failed +[2022-01-31T17:50:46Z] Accepting a stream failed +[2022-01-31T17:50:46Z] Accepting a stream failed +[2022-01-31T17:50:46Z] Accepting a stream failed +[2022-01-31T17:50:46Z] Accepting a stream failed +[2022-01-31T17:50:46Z] Accepting a stream failed +[2022-01-31T17:50:46Z] Accepting a stream failed +[2022-01-31T17:50:46Z] Accepting a stream failed +[2022-01-31T17:50:46Z] Accepting a stream failed +[2022-01-31T17:50:46Z] Accepting a stream failed +[2022-01-31T17:50:46Z] Accepting a stream failed +[2022-01-31T17:50:46Z] Accepting a stream failed +[2022-01-31T17:50:46Z] Accepting a stream failed +[2022-01-31T17:50:46Z] Accepting a stream failed +[2022-01-31T17:50:46Z] Accepting a stream failed +[2022-01-31T17:50:46Z] Accepting a stream failed +[2022-01-31T17:50:46Z] Accepting a stream failed +[2022-01-31T17:50:46Z] Accepting a stream failed +[2022-01-31T17:50:46Z] Accepting a stream failed +[2022-01-31T17:50:46Z] Accepting a stream failed +[2022-01-31T17:50:46Z] Accepting a stream failed +[2022-01-31T17:50:46Z] Accepting a stream failed +[2022-01-31T17:50:46Z] Accepting a stream failed +[2022-01-31T17:50:46Z] Accepting a stream failed +[2022-01-31T17:50:46Z] Accepting a stream failed +[2022-01-31T17:50:46Z] Accepting a stream failed +[2022-01-31T17:50:46Z] Accepting a stream failed +[2022-01-31T17:50:46Z] Accepting a stream failed +[2022-01-31T17:50:46Z] Accepting a stream failed +[2022-01-31T17:50:46Z] Accepting a stream failed +[2022-01-31T17:50:46Z] Accepting a stream failed +[2022-01-31T17:50:46Z] Accepting a stream failed +[2022-01-31T17:50:46Z] Accepting a stream failed +[2022-01-31T17:50:46Z] Accepting a stream failed +[2022-01-31T17:50:46Z] Accepting a stream failed +[2022-01-31T17:50:46Z] Accepting a stream failed +[2022-01-31T17:50:46Z] Accepting a stream failed +[2022-01-31T17:50:46Z] Accepting a stream failed +[2022-01-31T17:50:46Z] Accepting a stream failed +[2022-01-31T17:50:46Z] Accepting a stream failed +[2022-01-31T17:50:46Z] Accepting a stream failed +[2022-01-31T17:50:46Z] Accepting a stream failed +[2022-01-31T17:50:46Z] Accepting a stream failed +[2022-01-31T17:50:46Z] Accepting a stream failed +[2022-01-31T17:50:46Z] Accepting a stream failed +[2022-01-31T17:50:46Z] Accepting a stream failed +[2022-01-31T17:50:46Z] Accepting a stream failed +[2022-01-31T17:50:46Z] Accepting a stream failed +[2022-01-31T17:50:46Z] Accepting a stream failed +[2022-01-31T17:50:47Z] Accepting a stream failed +[2022-01-31T17:50:47Z] Accepting a stream failed +[2022-01-31T17:50:47Z] Accepting a stream failed +[2022-01-31T17:50:47Z] Accepting a stream failed +[2022-01-31T17:50:47Z] Accepting a stream failed +[2022-01-31T17:50:47Z] Accepting a stream failed +[2022-01-31T17:50:47Z] Accepting a stream failed +[2022-01-31T17:50:47Z] Accepting a stream failed +[2022-01-31T17:50:47Z] Accepting a stream failed +[2022-01-31T17:50:47Z] Accepting a stream failed +[2022-01-31T17:50:47Z] Accepting a stream failed +[2022-01-31T17:50:47Z] Accepting a stream failed +[2022-01-31T17:50:47Z] Accepting a stream failed +[2022-01-31T17:50:47Z] Accepting a stream failed +[2022-01-31T17:50:47Z] Accepting a stream failed +[2022-01-31T17:50:47Z] Accepting a stream failed +[2022-01-31T17:50:47Z] Accepting a stream failed +[2022-01-31T17:50:47Z] Accepting a stream failed +[2022-01-31T17:50:47Z] Accepting a stream failed +[2022-01-31T17:50:47Z] Accepting a stream failed +[2022-01-31T17:50:47Z] Accepting a stream failed +[2022-01-31T17:50:47Z] Accepting a stream failed +[2022-01-31T17:50:47Z] Accepting a stream failed +[2022-01-31T17:50:47Z] Accepting a stream failed +[2022-01-31T17:50:47Z] Accepting a stream failed +[2022-01-31T17:50:47Z] Accepting a stream failed +[2022-01-31T17:50:47Z] Accepting a stream failed +[2022-01-31T17:50:47Z] Accepting a stream failed +[2022-01-31T17:50:47Z] Accepting a stream failed +[2022-01-31T17:50:47Z] Accepting a stream failed +[2022-01-31T17:52:04Z] seteuid() failed +[2022-01-31T17:52:04Z] swebs started +[2022-01-31T17:52:13Z] seteuid() failed +[2022-01-31T17:52:13Z] swebs started +[2022-01-31T17:53:22Z] seteuid() failed +[2022-01-31T17:53:22Z] swebs started +[2022-01-31T17:53:24Z] Accepting a stream failed +[2022-01-31T17:53:24Z] Accepting a stream failed +[2022-01-31T17:53:24Z] Accepting a stream failed +[2022-01-31T17:53:24Z] Accepting a stream failed +[2022-01-31T17:53:24Z] Accepting a stream failed +[2022-01-31T17:53:24Z] Accepting a stream failed +[2022-01-31T17:53:24Z] Accepting a stream failed +[2022-01-31T17:53:24Z] Accepting a stream failed +[2022-01-31T17:53:24Z] Accepting a stream failed +[2022-01-31T17:53:24Z] Accepting a stream failed +[2022-01-31T17:53:26Z] Accepting a stream failed +[2022-02-01T03:31:05Z] seteuid() failed +[2022-02-01T03:31:05Z] swebs started +[2022-02-01T03:31:07Z] Accepting a stream failed +[2022-02-01T03:31:07Z] Accepting a stream failed +[2022-02-01T03:31:07Z] Accepting a stream failed +[2022-02-01T03:31:07Z] Accepting a stream failed +[2022-02-01T03:31:07Z] Accepting a stream failed +[2022-02-01T03:31:07Z] Accepting a stream failed +[2022-02-01T03:31:07Z] Accepting a stream failed +[2022-02-01T03:31:07Z] Accepting a stream failed +[2022-02-01T03:31:07Z] Accepting a stream failed +[2022-02-01T03:31:07Z] Accepting a stream failed +[2022-02-01T03:31:10Z] Accepting a stream failed +[2022-02-01T04:24:37Z] seteuid() failed +[2022-02-01T04:24:37Z] swebs started +[2022-02-01T04:24:41Z] Accepting a stream failed +[2022-02-01T04:24:41Z] Accepting a stream failed +[2022-02-01T04:24:41Z] Accepting a stream failed +[2022-02-01T04:24:41Z] Accepting a stream failed +[2022-02-01T04:24:41Z] Accepting a stream failed +[2022-02-01T04:24:41Z] Accepting a stream failed +[2022-02-01T04:24:41Z] Accepting a stream failed +[2022-02-01T04:24:41Z] Accepting a stream failed +[2022-02-01T04:24:41Z] Accepting a stream failed +[2022-02-01T04:24:41Z] Accepting a stream failed +[2022-02-01T04:24:42Z] Accepting a stream failed +[2022-02-01T04:24:42Z] Accepting a stream failed +[2022-02-01T04:24:42Z] Accepting a stream failed +[2022-02-01T04:24:42Z] Accepting a stream failed +[2022-02-01T04:24:42Z] Accepting a stream failed +[2022-02-01T04:24:42Z] Accepting a stream failed +[2022-02-01T04:24:42Z] Accepting a stream failed +[2022-02-01T04:24:42Z] Accepting a stream failed +[2022-02-01T04:24:42Z] Accepting a stream failed +[2022-02-01T04:24:42Z] Accepting a stream failed +[2022-02-01T04:24:43Z] Accepting a stream failed +[2022-02-01T04:24:43Z] Accepting a stream failed +[2022-02-01T04:24:43Z] Accepting a stream failed +[2022-02-01T04:24:43Z] Accepting a stream failed +[2022-02-01T04:24:43Z] Accepting a stream failed +[2022-02-01T04:24:43Z] Accepting a stream failed +[2022-02-01T04:24:43Z] Accepting a stream failed +[2022-02-01T04:24:43Z] Accepting a stream failed +[2022-02-01T04:24:43Z] Accepting a stream failed +[2022-02-01T04:24:43Z] Accepting a stream failed +[2022-02-01T04:24:43Z] Accepting a stream failed +[2022-02-01T04:24:43Z] Accepting a stream failed +[2022-02-01T04:24:43Z] Accepting a stream failed +[2022-02-01T04:24:43Z] Accepting a stream failed +[2022-02-01T04:24:43Z] Accepting a stream failed +[2022-02-01T04:24:43Z] Accepting a stream failed +[2022-02-01T04:24:43Z] Accepting a stream failed +[2022-02-01T04:24:43Z] Accepting a stream failed +[2022-02-01T04:24:43Z] Accepting a stream failed +[2022-02-01T04:24:43Z] Accepting a stream failed +[2022-02-01T04:24:43Z] Accepting a stream failed +[2022-02-01T04:24:43Z] Accepting a stream failed +[2022-02-01T04:24:43Z] Accepting a stream failed +[2022-02-01T04:24:43Z] Accepting a stream failed +[2022-02-01T04:24:43Z] Accepting a stream failed +[2022-02-01T04:24:43Z] Accepting a stream failed +[2022-02-01T04:24:43Z] Accepting a stream failed +[2022-02-01T04:24:43Z] Accepting a stream failed +[2022-02-01T04:24:43Z] Accepting a stream failed +[2022-02-01T04:24:43Z] Accepting a stream failed +[2022-02-01T04:24:43Z] Accepting a stream failed +[2022-02-01T04:24:43Z] Accepting a stream failed +[2022-02-01T04:24:43Z] Accepting a stream failed +[2022-02-01T04:24:43Z] Accepting a stream failed +[2022-02-01T04:24:43Z] Accepting a stream failed +[2022-02-01T04:24:43Z] Accepting a stream failed +[2022-02-01T04:24:43Z] Accepting a stream failed +[2022-02-01T04:24:43Z] Accepting a stream failed +[2022-02-01T04:24:43Z] Accepting a stream failed +[2022-02-01T04:24:43Z] Accepting a stream failed +[2022-02-01T04:24:52Z] seteuid() failed +[2022-02-01T04:24:52Z] swebs started +[2022-02-01T04:25:23Z] seteuid() failed +[2022-02-01T04:25:23Z] swebs started +[2022-02-01T04:27:03Z] seteuid() failed +[2022-02-01T04:27:03Z] swebs started +[2022-02-01T04:27:37Z] seteuid() failed +[2022-02-01T04:27:37Z] swebs started +[2022-02-01T04:28:09Z] seteuid() failed +[2022-02-01T04:28:09Z] swebs started +[2022-02-01T04:30:44Z] seteuid() failed +[2022-02-01T04:30:44Z] swebs started +[2022-02-01T04:32:46Z] seteuid() failed +[2022-02-01T04:32:46Z] swebs started +[2022-02-01T04:34:09Z] seteuid() failed +[2022-02-01T04:34:09Z] swebs started +[2022-02-01T04:34:50Z] seteuid() failed +[2022-02-01T04:34:50Z] swebs started +[2022-02-01T04:35:09Z] seteuid() failed +[2022-02-01T04:35:09Z] swebs started +[2022-02-01T04:35:30Z] seteuid() failed +[2022-02-01T04:35:30Z] swebs started diff --git a/example/site/blog/blog/2021-1-25.html b/example/site/blog/blog/2022-1-25.html similarity index 100% rename from example/site/blog/blog/2021-1-25.html rename to example/site/blog/blog/2022-1-25.html diff --git a/example/site/blog/blog/2022-1-31.sh b/example/site/blog/blog/2022-1-31.sh new file mode 100755 index 0000000..8536551 --- /dev/null +++ b/example/site/blog/blog/2022-1-31.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +echo "

By the way today's date is $(date)

" diff --git a/example/site/index.html b/example/site/index.html index 4c37efa..0ff4c5f 100644 --- a/example/site/index.html +++ b/example/site/index.html @@ -2,4 +2,5 @@

It's not very polished but it's certainly a website

-2021-1-25 +2021-1-25 +2021-1-31 diff --git a/example/sitefile b/example/sitefile index 34e21ff..da9fcf3 100644 --- a/example/sitefile +++ b/example/sitefile @@ -6,8 +6,10 @@ define timeout 2000 set host localhost:8000 read / site/index.html read /hello site/hello.html +exec /blog/2022-1-31 site/blog/blog/2022-1-31.sh read /blog/.* site/blog/ #/blog/2021-1-25.html turns into site/blog//blog/2021-1-25.html +exec /dynamic site/build-page.sh set host 127.0.0.1:8000 read / site/easteregg.html read /egg.png site/egg.png diff --git a/src/connections.c b/src/connections.c index b6bdaa6..87681a4 100644 --- a/src/connections.c +++ b/src/connections.c @@ -198,26 +198,7 @@ static int processChar(Connection *conn, char c, Sitefile *site) { } if (conn->progress == RECEIVE_BODY && conn->receivedBody >= conn->bodylen) - getResponse(conn, site); - if (conn->progress == SEND_RESPONSE) { - lseek(conn->fd, 0, SEEK_SET); - while (conn->len > 0) { - char buff[1024]; - ssize_t readLen = read(conn->fd, buff, sizeof(buff)); - if (readLen < 0) - return 1; - ssize_t leftToSend = readLen; - while (leftToSend > 0) { - size_t writeLen = sendStream(conn->stream, - buff, leftToSend); - if (writeLen < 0) - return 1; - leftToSend -= writeLen; - } - conn->len -= readLen; - } - resetConnection(conn); - } + sendResponse(conn, site); return 0; } diff --git a/src/include/connections.h b/src/include/connections.h index c91e439..d35da53 100644 --- a/src/include/connections.h +++ b/src/include/connections.h @@ -25,7 +25,6 @@ typedef enum { RECEIVE_REQUEST, RECEIVE_HEADER, RECEIVE_BODY, - SEND_RESPONSE, } ConnectionSteps; typedef struct { @@ -54,10 +53,6 @@ typedef struct Connection { size_t bodylen; size_t receivedBody; - int fd; - size_t len; - //the fd and length of the response left to send - char *currLine; //persistent size_t currLineAlloc; diff --git a/src/include/responses.h b/src/include/responses.h index eabd9e8..63c4b8c 100644 --- a/src/include/responses.h +++ b/src/include/responses.h @@ -20,6 +20,6 @@ #include #include -int getResponse(Connection *conn, Sitefile *site); +int sendResponse(Connection *conn, Sitefile *site); //returns 1 on error, sets conn->progress to SEND_RESPONSE and sets conn->fd #endif diff --git a/src/include/sitefile.h b/src/include/sitefile.h index 1eb1253..3b4f4d6 100644 --- a/src/include/sitefile.h +++ b/src/include/sitefile.h @@ -23,6 +23,7 @@ typedef enum { READ, + EXEC, } Command; typedef struct { diff --git a/src/responses.c b/src/responses.c index 782bbb2..dba591d 100644 --- a/src/responses.c +++ b/src/responses.c @@ -25,16 +25,29 @@ #include #include #include +#include #include #include +static int resilientSend(Stream *stream, char *buff, size_t len) { +//Will either write len bytes, or return 1 for error. + while (len > 0) { + ssize_t sent = sendStream(stream, buff, len); + if (sent < 0) + return 1; + len -= sent; + buff += sent; + } + return 0; +} + static int readResponse(Connection *conn, char *path) { - int fd = -1;; + int fd = 1; struct stat statbuf; if (stat(path, &statbuf)) { sendErrorResponse(conn, ERROR_404); - return -1; + return 1; } if (S_ISDIR(statbuf.st_mode)) { long reqPathLen = strlen(conn->path); @@ -50,7 +63,7 @@ static int readResponse(Connection *conn, char *path) { if (errno == ENOENT) { free(assembledPath); sendErrorResponse(conn, ERROR_404); - return -1; + return 1; } free(assembledPath); goto error; @@ -75,12 +88,12 @@ static int readResponse(Connection *conn, char *path) { if (stat(requestPath, &requestbuf)) { free(assembledPath); sendErrorResponse(conn, ERROR_404); - return -1; + return 1; } if (S_ISDIR(requestbuf.st_mode)) { free(assembledPath); sendErrorResponse(conn, ERROR_400); - return -1; + return 1; } fd = open(requestPath, O_RDONLY); @@ -96,17 +109,100 @@ static int readResponse(Connection *conn, char *path) { if (lseek(fd, 0, SEEK_SET) < 0) { sendErrorResponse(conn, ERROR_500); close(fd); - return -1; + return 1; } sendHeader(conn, CODE_200, len); - conn->len = len; - return fd; + + while (len > 0) { + char buff[1024]; + size_t readLen = read(fd, buff, sizeof(buff)); + if (resilientSend(conn->stream, buff, readLen)) + goto error; + len -= readLen; + } + + return 0; error: sendErrorResponse(conn, ERROR_500); - return -1; + return 1; forbidden: sendErrorResponse(conn, ERROR_403); - return -1; + return 1; +} + +static int execResponse(Connection *conn, char *path) { + int output[2]; + if (pipe(output)) + goto error; + + pid_t pid = fork(); + if (pid < 0) + goto error; + if (pid == 0) { + close(1); + close(output[0]); + dup2(output[1], 1); + char **args = malloc((conn->fieldCount*2 + 2) * sizeof(char *)); + if (args == NULL) { + close(output[1]); + exit(EXIT_FAILURE); + } + args[0] = path; + for (int i = 0; i < conn->fieldCount; i++) { + args[i * 2 + 1] = conn->fields[i].field; + args[i * 2 + 2] = conn->fields[i].value; + } + args[conn->fieldCount*2 + 1] = NULL; + if (execv(path, args) < 0) { + close(output[1]); + free(args); + exit(EXIT_FAILURE); + } + close(output[1]); + free(args); + exit(EXIT_SUCCESS); + } + size_t allocResponse = 1024; + size_t responseLen = 0; + char *response = malloc(allocResponse); + close(output[1]); + for (;;) { + if (responseLen == allocResponse) { + allocResponse *= 2; + char *newresponse = realloc(response, allocResponse); + if (newresponse == NULL) + goto looperror; + response = newresponse; + } + ssize_t len = read(output[0], + response + responseLen, + allocResponse - responseLen); + if (len < 0) + goto looperror; + if (len == 0) + break; + responseLen += len; + continue; +looperror: + close(output[0]); + int status; + waitpid(pid, &status, 0); + free(response); + goto error; + } + close(output[0]); + int status; + waitpid(pid, &status, 0); + sendHeader(conn, CODE_200, responseLen); + if (resilientSend(conn->stream, response, responseLen)) { + free(response); + return 1; + } + free(response); + return 0; +error: + sendErrorResponse(conn, ERROR_500); + return 1; } static int fullmatch(regex_t *regex, char *str) { @@ -116,7 +212,7 @@ static int fullmatch(regex_t *regex, char *str) { return match.rm_so != 0 || match.rm_eo != strlen(str); } -int getResponse(Connection *conn, Sitefile *site) { +int sendResponse(Connection *conn, Sitefile *site) { char *host = NULL; for (int i = 0; i < conn->fieldCount; i++) { if (strcmp(conn->fields[i].field, "Host") == 0) { @@ -134,23 +230,22 @@ int getResponse(Connection *conn, Sitefile *site) { if (fullmatch(&site->content[i].host, host)) continue; if (fullmatch(&site->content[i].path, conn->path) == 0) { - int fd = -1; switch (site->content[i].command) { case READ: - fd = readResponse(conn, - site->content[i].arg); + readResponse(conn, + site->content[i].arg); break; + case EXEC: + execResponse(conn, + site->content[i].arg); default: sendErrorResponse(conn, ERROR_500); return 1; } - if (fd == -1) - return 1; - conn->fd = fd; - conn->progress = SEND_RESPONSE; + resetConnection(conn); return 0; } } sendErrorResponse(conn, ERROR_404); - return -1; + return 1; } diff --git a/src/sitefile.c b/src/sitefile.c index 17f92a0..300f3dc 100644 --- a/src/sitefile.c +++ b/src/sitefile.c @@ -258,6 +258,13 @@ Sitefile *parseSitefile(char *path) { ret->content[ret->size].arg = copyString(argv[2]); if (ret->content[ret->size].arg == NULL) goto error; + ret->content[ret->size].command = READ; + } + else if (strcmp(argv[0], "exec") == 0) { + ret->content[ret->size].arg = copyString(argv[2]); + if (ret->content[ret->size].arg == NULL) + goto error; + ret->content[ret->size].command = EXEC; } else goto error;