-- Leo's gemini proxy

-- Connecting to git.thebackupbox.net:1965...

-- Connected

-- Sending request

-- Meta line: 20 text/gemini

repo: shell-daemons
action: shortlog
revision:
path_from:
revision_from: refs/heads/master/:
path_to:
revision_to:

git.thebackupbox.net

shell-daemons

git://git.thebackupbox.net/shell-daemons

as feed:

ass

rss

atom

gemfeed

twtxt

2024-05-17 websocket.cgi.c was trying to send write -1 length data to subprocess after sending back a pong. also arguments are now what is being ran instead of hard-coded /var/websocket/handler

2024-04-19 remove child kill code. the httpd calling this CGI can kill all the children. add support for ping, pong, and timingout

2024-02-19 poll-my-finger-ring was expect user@host format for third field instead of a finger URI. using uricut from uritools repo to parse those now.

2024-02-19 was missing a newline at the end of a message

2024-01-20 trying to get websocket.cgi to actually clean up its mess

2024-01-20 deleted gopherd-tiny. rearranged, cleaned up, removed old code from httpd. added gzip content-encoding support to httpd and its cgi handler

2023-12-15 someone thought of serving blog posts over finger or something, so I added a way of doing that. other small changes.

2023-12-15 added a tiny gopher daemon written in Perl. a "PH daemon" written in shell, and a script to run ident on a remote service we connect to.

2023-10-18 Merge branch 'master' of ssh://git.thebackupbox.net/shell-daemons

2023-10-18 actually put a serious license on two files by request

2023-10-16 copyright information added

2023-08-28 tell HTTP clients to fuck off. added crappy PHP "support"

2023-05-20 not a shell script I guess, but gopherd-tiny does pretty close to absolute minimum safely enough

2023-04-25 a lot of websocket.cgi.c got changed. seems stable enough now though.

2023-03-03 added a logger line and a handy message if the user's finger response won't work

2023-02-25 coule changes to work with php

2023-02-25 added some php support, and attempted to prevent tilde dirs from working for *all* vhosts

2023-02-25 fixed a redirect bug that wasn't taking PATH_INFO being empty into account, also default to autoindex

2023-02-25 automatically recheck all fingers on the ring list

2023-02-24 added finger ring fun

2022-08-11 Merge branch 'master' of ssh://git.thebackupbox.net/shell-daemons

2022-08-11 properly 404 if we do not pass PATH_INFO to a CGI

2022-08-01 made read_headers not explode when ran naively.

2022-08-01 finally took the three places where I run CGIs and put it into an external script

2022-06-17 cd into the dir a CGI is running in before running it. set as many env vars as we can. error message on a previously untested case.

2022-06-12 added supersu

2022-06-12 added sockip and peerip helpers

2022-03-23 lowered the bs of dd so streams from CGIs are per-byte instead of per-chunk

2022-03-23 very terrible kind of working version of websocket.cgi.c

2022-02-18 actually made it read files instead of just the request

2022-02-18 minimal spartand that just shows env vars

2022-02-10 more logging. I wanted to see referers too. also, return 408 if request times out

2022-01-20 fmrl relay

2022-01-07 convert IPv4 as IPv6 address to a plain-IPv4-looking address

2022-01-05 forgot to add finger daemon. last commit, the Makefile would fail on install target.

2022-01-05 the source file for that thing I added to the Makefile two commits ago

2022-01-05 PATH_INFO broke some stuff and this appears to be stuff I did to fix some of the borkedness

2022-01-05 added rfc7231date to Makefile and added missing stuff to clean up to clean target

2021-12-03 added an X-Debug header so it is easier to see where your error pages are coming from. also was missing some usual headers in a couple spots.

2021-11-19 normalize request domain to lower-case. comment out some debug messages. use an earlier variable instead of deriving the same value again.

2021-11-14 added things to gitignore

2021-11-14 some derpy coin daemon I made

2021-11-14 ident stuff added.

2021-11-14 added dict and ident stuff to Makefile

2021-11-14 geminid now does user CGIs and drops privs from root to that user or to gemini user

2021-11-14 change the gemini2html call to not cause duplicate header and footer html. status codes now also do messages

2021-10-19 was adding an extra \n for no good reason

2021-10-19 added alpha version of dictd

2021-09-28 cleaned up some comments and fixed the broken loops in --set and --unset

2021-09-20 fixed comment about a missing feature that I added last commit.

2021-09-20 first-pass at getting unquoted values working too.

2021-09-20 added a partially working auth-param parser for easier use of scripting the parsing of HTTP Signature headers

2021-08-11 rearranged the main loop in mime-type. duplicated a bit of code, but as long as it does not have to use file --mime-type for everything, it will go faster than it used to. now uses wordtr from the examples in libhashtable so... I guess install that shit too.

2021-08-09 added some helpful other ways of running mime-type, like setting, unsetting, and verbose for the new multi-file ability so you can tell what file it is.

2021-05-08 query_param was busted I guess. just barely.

2021-05-08 added some unicode file extension for gemini symbol to be text/gemini and irc file extension to be text/irc... as if anyone knows how to interpret those

2021-05-08 I don't remember. stop bothering me with commit messages.

2021-05-08 switched from using $path to $SCRIPT_FILENAME and added the better PATH_INFO handling using path_info_find. probably other stuff. check a diff.

2021-05-08 added a new non shell script that httpd and geminid use for finding PATH_INFO path_info_find. no idea how I came up with the name.

2021-05-08 added better PATH_INFO determining, put SERVER_PROTOCOL into a variable, set it to 1.0. moved some stuff around... I should have commit'd sooner.

2020-11-08 added http2gemini script for use by gemini proxies just needing to pass along HTTP responses.

2020-11-02 added support for user CGIs in the httpd which I did by making it assume it is running as root... yeah. how much do you trust my shell-coding to not open a root hole?

2020-11-02 forgot to add gopherd to Makefile

2020-11-02 added fallback host if SNI is not sent by client. fixed bug caused by change in normalpath. added index.cgi support. removed couple comments. added file-extension guessing so /derp will try /derp.cgi and /derp.gmi which makes URLs cleaner

2020-09-18 added query param to make install target

2020-09-18 hurray. some tests failed and I fixed them.

2020-09-18 added a usage: for when no arguments. attempted to prevent any possible overflow by allocating /at least/ enough based on the length of the expanding string where the string gets expanded compared to the input

2020-09-18 actually deleted the test output

2020-09-18 added tests/normalpath.output to git ignore

2020-09-18 added 3 more tests. multiple ../s from root, invalid user home, and invalid user home subdir

2020-09-18 fixed the case where you use an invalid username after a tilde

2020-09-18 make clean now cleans up tests. make all does make test

2020-09-18 readme now mentions the C programs

2020-09-18 added tests for normalpath. I have no idea what I am doing with tests. added a "clean" and "test" target to the makefile. updated normalpath to handle some cases I thought of while making tests

2020-09-13 forgot to remove an echo $0 I was using for testing

2020-09-13 added includes and some other fixes that pedantic walls suggested. thank you, compiler

2020-09-13 added a pedantic wall

2020-09-13 added two more binaries to gitignore. Makefile now build query_param too

2020-09-13 made a Makefile so you can do make install and to build the C programs in here

2020-09-13 added a couple SERVER_ env vars that CGI scripts might want to use

2020-09-13 added a few comments

2020-09-13 made a C program to read headers from stdin and put them into the environment so the httpd is now two-staged

2020-09-01 was missing characters in the HTTP_HOST whitelist for raw IPv6 addresses

2020-08-28 added a .gitignore for query_param

2020-08-28 same thing that the geminid got in the last commit, but I also made home dirs work for homes that are not in /home

2020-08-28 added the ability for a 404 to be turned into a script-call... so any user with a home dir and ~/public_gemini can run whatever script they want as the gemini daemon. do not use this unless you are sure you know what is going on

2020-08-21 added a little C program (yes, I know, this repo says "shell-daemons", but this is a helper program, not the "daemon" part) to extract a query string parameter value from QUERY_STRING env var

2020-08-21 I think I might have made things better instead of worse. oh well

2020-08-21 added support for text/gemini autoconversion to the httpd using gemini2html from the geminiclient repo (now in a data-store near you!)

2020-08-06 config examples

2020-08-06 renamed REQUEST_URI to REQUEST since REQUEST_URI isn't a URI, just the path requested after the REQUEST_METHOD part of the request.

2020-08-06 some tests with SNI info from stunnel. this should not be considered a "release" if I actually did those things

2020-07-05 added .gmi meaning text/gemini

2020-06-15 no sniffing me in httpd. renamed gemini to geminid

2020-06-12 updated mime-type to allow extended attributes to override the mime-type response

2020-05-24 save point. collecting deps

2020-05-24 wow. derp me. symlinks do no work for this. changed to hardlinks.

2020-05-24 added gemini. ofc. you can read the diffs.

2019-11-16 init. ofc. that's always the first commit message.

-- Response ended

-- Page fetched on Sun May 19 13:15:40 2024