Johann150
ba9297eabf
implement stricter requirements for request URLs
...
Addresses changes in the specification, namely these stricter requirements:
0235100151/specification.gmi (L153-155)
2021-04-07 23:54:44 +02:00
Johann150
16d05c73a0
resolve clippy warning
2021-03-27 20:31:06 +01:00
Johann150
1a537d630f
automatically create certificate directory
...
resolves #44
2021-03-27 20:31:06 +01:00
Johann150
2213b055dc
add automatic certificate generation
2021-03-27 00:52:50 +01:00
Johann150
d24db63583
remove silent flag in favour of RUST_LOG
2021-03-26 20:33:45 +01:00
Johann150
2934350485
add function to check for cert of a domain
2021-03-26 12:49:31 +01:00
Johann150
e6f70722de
improve help texts
2021-03-25 21:42:24 +01:00
Johann150
eec057515d
finish up for merge
2021-03-23 23:25:04 +01:00
Johann150
2ed6d2886e
Merge branch 'master' into multi-certs
2021-03-09 21:11:34 +01:00
Johann150
3ffe89b775
make all log lines uniform
...
Now also if the connection is never established. Use the nonexistent status
code 00 for that.
2021-03-07 00:04:22 +01:00
Johann150
d4324233c7
make log lines more uniform
...
Ensure there is something logged for the request if reading it actually failed.
Instead just write an empty quoted string.
2021-03-07 00:04:21 +01:00
Johann150
c6b34055e9
suppress log messages from other modules
...
resolves #30
2021-03-07 00:04:02 +01:00
Johann150
afd30c386c
implement clippy reccomendation
2021-03-03 23:17:35 +01:00
Johann150
5dbb4be864
improve comments
2021-03-03 23:09:29 +01:00
Johann150
424bed7861
add instructions for multiple certificates
...
also adjusted the certificate creation example to contain a subject alt name
with a DNS entry. This is strictly speaking not required for the top level
certificate, but it doesn't hurt to include it and makes the example reusable
for all certificates.
2021-03-03 19:41:36 +01:00
Johann150
635f7bc1e7
better error messages
2021-03-03 18:46:41 +01:00
Johann150
06819eeabd
add loading fallback certificates
2021-02-28 15:12:20 +01:00
Johann150
5a4907292f
use certificate store
2021-02-28 10:42:56 +01:00
Johann150
f374598fd3
add module to store multiple certificates
2021-02-28 10:42:51 +01:00
Johann150
e00f8e5026
add version info flag
2021-02-27 20:46:08 +01:00
Johann150
b7ffece867
correct help text
2021-02-27 20:43:47 +01:00
Johann150
1059f8b94a
never log remote port
...
This information is basically useless anyway and fills logs needlessly.
Because this is not necessarily true for the local port because multiple ports
may be selected for hosting, logging for the local socket address is unchanged.
2021-02-25 14:14:08 +01:00
Johann150
bc501ebcc5
update CHANGELOG and CONTRIBUTING
...
Moved updating the changelog from the quality standards up to the workflow
section so it should not be missed, since it is not really a quality standard
but an action to be performed.
2021-02-19 12:08:19 +01:00
Johann150
b5fa24cb5b
resolve TODO comment for Url
2021-02-19 12:01:59 +01:00
06kellyjac
4e130dc89e
have help exit with code 0
2021-02-19 08:33:00 +00:00
Johann150
7af42a9bd5
make semicolon not a comment
...
This causes issues with MIME media type parameters.
2021-02-12 20:34:03 +01:00
Johann150
197e4592b9
use configparser crate
...
This parser can correctly read globs from configuration keys which allows
their use not just in theory in the server logic but in the config file too.
2021-02-12 16:51:42 +01:00
Johann150
fdca530591
allow globs in config file paths
...
The configuration parser will have to be changed again because YAML does not
support asterisks in its key names.
2021-02-12 15:00:29 +01:00
Johann150
49813d0c68
serve hidden files if there is a .meta config for them
2021-02-11 18:46:20 +01:00
Johann150
bd9ed3255a
add central configuration mode
...
also slight correction of the documentation because we are now using YAML
(a space is now required behind the colon)
2021-02-11 09:04:38 +01:00
Johann150
8fd9ca15c3
better error message for missing keys (again)
...
adresses comments from #33
Loading the certificate and key file is done at startup because:
1. We can detect the incorrect file faster and fail the whole server and not
just a worker thread. All subsequent worker threads would fail for the same
reason anyway.
2. We do not have to read the same unchanged files over and over again. This
is good because file I/O is slower than in-memory cloning instead.
2021-02-10 23:39:11 +01:00
Johann150
fb0a30e5fc
better error message for incorrect keys
2021-02-10 22:41:39 +01:00
Johann150
544f577b59
use YAML parser for sidecar files
...
The syntax so far is (compatible with) YAML.
2021-02-10 21:25:22 +01:00
Johann150
9d9fb3d31b
resolve merge conflicts
2021-02-09 19:52:29 +01:00
Johann150
a9588350a0
format using cargo fmt
2021-02-09 15:01:26 +01:00
Johann150
03325ba1a4
add flag for only TLSv1.3
...
closes #12
2021-02-09 14:45:47 +01:00
Johann150
309da06208
harmonise help texts
2021-02-08 21:52:22 +01:00
Johann150
8fbbec2b4b
implement simple vhosts
...
closes #28
2021-02-08 21:52:22 +01:00
Johann150
5de00f66bb
reenable multiple occurences of --addr
...
Accidentally disabled this when merging reformatting.
2021-02-08 10:22:16 +01:00
Johann150
e0cd1a723a
resolve clippy warnings
2021-02-06 20:03:58 +01:00
Johann150
055dceeece
also check logging environment variable
2021-02-05 08:43:07 +01:00
Johann150
f1ff0fe0fe
use Mutex instead of RwLock
...
Since we only ever need to access it mutably, no need to differentiate
mutable and immutable acces.
2021-02-04 17:56:50 +01:00
Johann150
548e0f401f
cache parsing, new syntax
...
Changed the parsing and also parse once when reading the config file and then
cache the parse result, rather than checking the line format every time the
file is served.
2021-02-04 17:00:33 +01:00
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