Introduction
Introduction Statistics Contact Development Disclaimer Help
First stub for new http-compatibility feature. - geomyidae - a small C-based go…
git clone git://git.codemadness.org/geomyidae
Log
Files
Refs
README
LICENSE
---
commit 3a876cbe4fb9b93ecf98decfa79e7f9b27dbc320
parent 646c0c9ac1c8944393c3640c63ffefd6f400c2a5
Author: Christoph Lohmann <[email protected]>
Date: Sat, 22 Jul 2023 17:14:59 +0200
First stub for new http-compatibility feature.
Diffstat:
M main.c | 19 +++++++++++++++++++
1 file changed, 19 insertions(+), 0 deletions(-)
---
diff --git a/main.c b/main.c
@@ -187,6 +187,25 @@ handlerequest(int sock, char *req, int rlen, char *base, c…
if (c)
c[0] = '\0';
+ /*
+ * Try to guess if we have some HTTP-like protocol compatibility
+ * mode.
+ */
+ if (!nocgi && recvb[0] != '/' && (c = strchr(recvb, " "))) {
+ *c = '\0';
+ if (strchr(recvb, '/'))
+ goto dothegopher;
+ if (snprintf(path, "%s/%s", base, recvb) <= sizeof(path)) {
+ if (realpath(path, (char *)rpath)) {
+ if (stat(rpath, &dir)) {
+ handlecgi(sock, rpath, port, base, NUL…
+ clienth, serverh, istls, req, …
+ }
+ }
+ }
+ }
+dothegopher:
+
/* Do not allow requests including "..". */
if (strstr(recvb, "..")) {
dprintf(sock, "%s", selinval);
You are viewing proxied material from codemadness.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.