diff options
Diffstat (limited to 'src/main.rs')
| -rw-r--r-- | src/main.rs | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/src/main.rs b/src/main.rs index a381e28..aa572bb 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,4 +1,5 @@ mod server; +mod mime; use std::env; fn help() { @@ -12,12 +13,16 @@ fn help() { println!(" -l, --listen\t\tadd a listening address (you can define multiple)"); println!(" -d, --default-host\tdefault hostname to listen for"); println!(" -g, --gem-root\tpath to the gemini root, aka the folder to serve files from"); + println!(" --user\tuser to drop to after opening TLS socket"); + println!(" --group\tgroup to drop to after opening TLS socket"); } fn parse_args() -> Option<server::ServerConfig> { let mut has_addr = false; let mut has_host = false; let mut has_root = false; + let mut has_user = false; + let mut has_group = false; let mut config = server::ServerConfig::new(); let mut args = env::args(); @@ -42,12 +47,22 @@ fn parse_args() -> Option<server::ServerConfig> { config.set_gem_root(gem_root); has_root = true; } + if arg == "--user" { + let user = args.next().unwrap(); + config.set_user(user); + has_user = true; + } + if arg == "--group" { + let group = args.next().unwrap(); + config.set_group(group); + has_group = true; + } } None => break, } } - if !has_addr || !has_host || !has_root { + if !has_addr || !has_host || !has_root || !has_user || !has_group { return None; } |
