commit a1cdda3a103efbe3da4dfed6b2b26301d1b83757
parent 1ee9a83904a0077b273014297bd5ca0a1d076148
Author: Christoph Lohmann <20h@r-36.net>
Date: Tue, 30 Jan 2018 22:21:42 +0100
Adding gopher+ compatibility.
Diffstat:
1 file changed, 14 insertions(+), 3 deletions(-)
diff --git a/main.c b/main.c
@@ -130,6 +130,20 @@ handlerequest(int sock, char *base, char *ohost, char *port, char *clienth,
c = strchr(recvb, '\n');
if (c)
c[0] = '\0';
+ sear = strchr(recvb, '\t');
+ if (sear != nil) {
+ *sear++ = '\0';
+
+ /* Gopher+ compatibility hack. */
+ if (*sear == '+' || *sear == '$' || *sear == '!') {
+ dprintf(sock, "+-2\r\n");
+ dprintf(sock, "+INFO: 1gopher+\t\t%s\t%s\r\n",
+ ohost, port);
+ dprintf(sock, "+ADMIN:\r\n Admin: Me\r\n");
+ return;
+ }
+ }
+
memmove(recvc, recvb, len+1);
if (!strncmp(recvb, "URL:", 4)) {
@@ -143,9 +157,6 @@ handlerequest(int sock, char *base, char *ohost, char *port, char *clienth,
return;
}
- sear = strchr(recvb, '\t');
- if (sear != nil)
- *sear++ = '\0';
args = strchr(recvb, '?');
if (args != nil)
*args++ = '\0';