Commits
- Commit:
e2003e7e305adabd1ee575e401a55e6d7e050297
- From:
- Omar Polo <op@omarpolo.com>
- Date:
simplify request handling
get rid of check_path(), it's overly complicated. Instead, inline
open_file() in client_read() and rework open_dir() to just use
openat() instead of the complicate dance it was doing.
Simplify open_dir() too in the process: if the directory entry for the
index is not a regular file, pretend it doesn't exist.
- Commit:
2339a71178cc4a29dd2eada458c84b6092b056ce
- From:
- Omar Polo <op@omarpolo.com>
- Date:
use a function-local buffer for the canonical redirect
- Commit:
c9e878d6a40f4b509bb8928e4736a63f8b7723a2
- From:
- Omar Polo <op@omarpolo.com>
- Date:
use snprintf() instead of chain of strlcpy/cat
- Commit:
ed164e7221f75d3d7f48351e9427f2ce53ab284a
- From:
- Omar Polo <op@omarpolo.com>
- Date:
call getnameinfo() only once per request
- Commit:
da0821b6cb54a85bcbe76cdf0a9a16f8f1a14619
- From:
- Omar Polo <op@omarpolo.com>
- Date:
avoid gratious strlen; evbuffer_readln returns the length
- Commit:
841633cfeca9acf9a691f16760c2d7c06202664f
- From:
- Omar Polo <op@omarpolo.com>
- Date:
plug memory leak in client_close_ev
- Commit:
ddf7a437de12fab9e000e5b555fdbf1891632dad
- From:
- Omar Polo <op@omarpolo.com>
- Date:
fix client_close_ev when tls_close() returns TLS_WANT_POLLIN/OUT
in those cases we need to reschedule the function and return, instead
of going on with the cleanup.
- Commit:
c5edb157405883dc7c869beb2c1e05cefe325fdf
- From:
- Omar Polo <op@omarpolo.com>
- Date:
properly handle handshake failures
If a TLS handshake fails there's nothing we can do, so don't attempt
to reply an error (the connected client is not speaking Gemini as
it's not using TLS at all) and instead just close the connection.
Fixes issue #13
- Commit:
eac9287d295719131cbc346503dd2a0612e54b4b
- From:
- Omar Polo <op@omarpolo.com>
- Date:
copyright years++
- Commit:
df6282815f8ffb0b967b818d15129a63c3b95058
- From:
- Omar Polo <op@omarpolo.com>
- Date:
remove unused global flag
- Commit:
aa30aaedc819776e80078811ba0fd896c7216405
- From:
- Omar Polo <op@omarpolo.com>
- Date:
don't match host if connecting from the wrong socket
limit how one given virtual host can be reached based on its `listen
on' lists
- Commit:
e50f85adcb432192b35cf7b878c9104d697ad1a3
- From:
- Omar Polo <op@omarpolo.com>
- Date:
load the certs per listening address
- Commit:
a0a42860d214974f2706d2a47203af9bc884f512
- From:
- Omar Polo <op@omarpolo.com>
- Date:
send host addresses to the server process
- Commit:
509d0509a50883a6f8407b63774f40dd1e41dadf
- From:
- Omar Polo <op@omarpolo.com>
- Date:
implement `listen on'
Listening by default on all the addresses is so bad I don't know
why I haven't changed this before. Anyway.
Add a `listen on $hostname port $port' syntax to the config file
and deprecate the old "port" and "ipv6" global setting. Still try
to honour them when no "listen on" directive is used for backward
compatibily, but this will go away in the next next version hopefully.
At the moment the `listen on' in server context don't filter the
host, i.e. one can still reach a host from a address not specified
in the corresponding `liste on', this will be added later.
- Commit:
37df23d183de23b74f8a026977b8210dc22701a6
- From:
- Omar Polo <op@omarpolo.com>
- Date:
rename client->addr to raddr (remote address) and keep original length