Johann150
aa713a2dea
formatting
2021-02-04 16:56:17 +01:00
Johann150
46866c4320
resolve merge conflicts
2021-01-27 22:00:28 +01:00
Johann150
0411a8278f
fix doc comment
2021-01-26 09:36:51 -08:00
Johann150
f0789921e0
make functions into methods of RequestHandle
2021-01-26 09:36:51 -08:00
Johann150
116c9fdcb4
rename flag
2021-01-26 09:36:51 -08:00
Johann150
74853799c7
handle errors in handle_request
2021-01-26 09:36:51 -08:00
Johann150
3353989e7e
add log_line to RequestHandle
...
There are still some problems with this, the error handling in handle_request
will have to be changed to accomodated the new log_line.
2021-01-26 09:36:51 -08:00
Johann150
aa17b5bc17
add RequestHandle struct
2021-01-26 09:36:51 -08:00
Johann150
21486a0d11
add logging for peer IP addresses
2021-01-26 09:36:51 -08:00
Johann150
fdd2ac7e56
simplify meta type to &str
...
Since this specialty is only used once and this would complicate generating the
logging string from a str array without code duplication.
2021-01-26 09:36:51 -08:00
Johann150
6bbbb5ed4b
use sidecar files
2021-01-17 19:43:42 +01:00
Johann150
e68637fb1b
fix check_outdated
2021-01-17 19:42:48 +01:00
Johann150
f7ac1fe21b
update readme
2021-01-17 19:42:48 +01:00
Johann150
c916827709
add metadata database
2021-01-17 19:42:48 +01:00
Johann150
bb7e885143
run cargo fmt
2021-01-17 19:42:48 +01:00
Johann150
6d51e97649
fix help message
2021-01-16 18:24:10 -08:00
Johann150
7c4a042cd3
check port against TCP stream's port
...
This also reinstates the old format for the --addr flag and removes
the separate flag for the port.
2021-01-16 18:24:10 -08:00
Matt Brubeck
dd4be5b9f6
Take port as a separate command-line argument
2021-01-16 10:42:27 -08:00
Johann150
4e7d09204f
only check path segments in URL
...
This will only check path segments specified in the request URL and not
path segments that are part of the path specified on the command line.
Otherwise if the content directory was (in) a hidden directory, or specified
with a relative path containing "." or ".." segments, nothing would be served.
2021-01-16 09:56:58 -08:00
Johann150
972ecf8c13
correctly redirect directories
...
cf. <https://lists.orbitalfox.eu/archives/gemini/2021/004827.html >
2021-01-16 09:56:04 -08:00
Johann150
681ba770a1
check all path components
2021-01-05 12:36:50 -08:00
Johann150
af783f6911
configuration flag to reenable secret files
2021-01-05 12:36:50 -08:00
Johann150
7d10fa3c74
do not serve hidden files
2021-01-05 12:36:50 -08:00
Matt Brubeck
1361f07467
Scheme-relative URLs are no longer allowed
...
https://lists.orbitalfox.eu/archives/gemini/2020/003646.html
2021-01-01 20:10:04 -08:00
Matt Brubeck
c563f27b1a
Send close_notify before closing connection
2021-01-01 20:05:19 -08:00
Matt Brubeck
33d39cc34b
Organize imports
2020-12-31 18:07:59 -08:00
Matt Brubeck
471a9927a0
Use the Tokio async runtime
2020-12-31 18:05:46 -08:00
Matt Brubeck
ec50a315a3
Use concrete types for TlsStreams
2020-12-31 17:02:45 -08:00
Matt Brubeck
edf2ebffdc
Refactor error handling and logging
2020-12-31 16:20:57 -08:00
Matt Brubeck
847434d844
Reorganize some code
2020-12-31 15:41:15 -08:00
Matt Brubeck
879422c2cc
Simplify percent-encoding of paths.
2020-12-31 15:39:36 -08:00
Matt Brubeck
fe62be214e
Reduce number of writes in send_header
2020-12-31 14:43:22 -08:00
Matt Brubeck
bf2e35537c
Percent-escape more characters
2020-12-30 22:12:38 -08:00
Matt Brubeck
70b28a65e1
Encode spaces in filenames
2020-12-30 21:16:12 -08:00
Matt Brubeck
9683146851
Print directory listings in alphabetical order
2020-12-30 21:15:35 -08:00
Matt Brubeck
a70f5e6100
Use async version of read_dir
2020-12-27 12:18:05 -08:00
Matt Brubeck
0909a4def8
Rename 'respond' to 'send_header'
2020-12-27 12:12:21 -08:00
Matt Brubeck
a007908248
Facter directory listing into a function
2020-12-27 12:11:38 -08:00
Johann150
e4dacd1315
implement basic directory listing
2020-12-27 11:30:53 -08:00
Matt Brubeck
a2f6f5932f
Enable logging by default
2020-12-22 17:42:23 -08:00
Matt Brubeck
7a117f3a47
Option to add a language code to text/gemini responses
2020-12-22 16:16:42 -08:00
Matt Brubeck
dfa5dbd971
Use getopts for option parsing
2020-12-22 16:09:05 -08:00
Matt Brubeck
cd5918e1b9
Refactor error handling code
2020-11-21 10:44:06 -08:00
Matt Brubeck
9097318e28
Log all requests
2020-11-21 09:53:26 -08:00
Matt Brubeck
6b553afa13
Use error 53 for mismatched port
2020-11-21 09:51:28 -08:00
Matt Brubeck
b88cffb75e
Tweak formatting of URLs in logs
2020-11-20 14:16:14 -08:00
Johann150
a515d508ac
do not redirect on empty path
...
also fixed the check for a trailing slash
2020-11-20 13:45:08 -08:00
Johann150
b671ddf235
implement right status codes
...
Ran cargo fmt.
Implemented most recommendations of clippy.
2020-11-16 20:39:30 +01:00
Johann150
7ef914153b
add host and port checks
...
If the host does not match, the status code 53 should be used. But I am not sure how
to implement this best as the parse_request function only returns a String as error.
2020-11-14 11:15:30 +01:00
Tronje Krabbe
b33417198c
Add some simple logging via the env_logger crate
2020-11-09 16:55:09 +01:00