Introduction
Introduction Statistics Contact Development Disclaimer Help
Implement handler for letsencrypt ACME challenges. - bitreich-httpd - Bitreich …
git clone git://bitreich.org/bitreich-httpd git://enlrupgkhuxnvlhsf6lc3fziv5h2h…
Log
Files
Refs
Tags
README
LICENSE
---
commit d0062f038d181b8d5eb150003ea7b50bcb5330f3
parent a0590477c4c74d7111a031a4cb1c9e5d61ff3044
Author: parazyd <[email protected]>
Date: Fri, 28 Oct 2022 15:07:04 +0200
Implement handler for letsencrypt ACME challenges.
Signed-off-by: Christoph Lohmann <[email protected]>
Diffstat:
M bitreich-httpd.c | 18 ++++++++++++++++--
1 file changed, 16 insertions(+), 2 deletions(-)
---
diff --git a/bitreich-httpd.c b/bitreich-httpd.c
@@ -105,8 +105,8 @@ servefile(char *path, char *ctype, int sock)
int
main(int argc, char *argv[])
{
- char *wwwbase, *wwwindex, request[512], *ctype, *path,
- clienth[NI_MAXHOST], clientp[NI_MAXSERV], *zuccbase;
+ char *wwwbase, *wwwindex, request[512], *ctype, *path, *le_file,
+ *le_base, clienth[NI_MAXHOST], clientp[NI_MAXSERV], *zuccbase;
int rlen;
struct sockaddr_storage clt;
socklen_t cltlen = sizeof(clt);
@@ -115,6 +115,7 @@ main(int argc, char *argv[])
wwwbase = "/bitreich/www";
wwwindex = "index.html";
+ le_base = "/br/www/uacme";
zuccbase = "/br/www/zuccless";
if (!getpeername(0, (struct sockaddr *)&clt, &cltlen)) {
@@ -166,6 +167,19 @@ main(int argc, char *argv[])
sleep(1);
asprintf(&path, "%s/s/yolo-css.css", wwwbase);
ctype = "text/css";
+ } else if ((le_file = strstr(request, ".well-known/acme-challenge/")))…
+ /* Setup for Letsencrypt */
+ le_file += strlen(".well-known/acme-challenge/");
+ char *requested = strtok(le_file, " ");
+ if (strchr(requested, '/') != NULL) {
+ /* Get Zucced, no path exploitation. */
+ asprintf(&path, "%s/zucc-job.webm", zuccbase);
+ ctype = "video/webm";
+ } else {
+ /* Seems legit. */
+ asprintf(&path, "%s/%s", le_base, requested);
+ ctype = "text/plain";
+ }
} else {
if (strstr(request, "zuccless.org")) {
tim = time(NULL);
You are viewing proxied material from bitreich.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.