hermes

HTTP GET/HEAD-only web server for static content.
git clone git://git.francescosaccone.com/hermes
Log | Files | Refs | README | LICENSE

commit 9d66706974c2ff99283f8060d9728dee61e62707
parent ca50a393a3c32b286a1f323ff85247941819ea9c
Author: Francesco Saccone <francesco@francescosaccone.com>
Date:   Mon, 31 Mar 2025 15:58:32 +0200

fix: check if -d flag is set

Signed-off-by: Francesco Saccone <francesco@francescosaccone.com>

Diffstat:
Mmain.c | 9++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/main.c b/main.c @@ -28,7 +28,8 @@ main(int argc, char *argv[]) { group_name[GROUP_NAME_MAX_LENGTH] = "nogroup", directory_index[DIRECTORY_INDEX_MAX_LENGTH] = "index.html"; int i, port = 80, - server_socket_fd; + server_socket_fd, + is_directory_set = 0; struct passwd *user; struct group *group; @@ -55,6 +56,7 @@ main(int argc, char *argv[]) { "%s", argv[i + 1]); directory[sizeof(directory) - 1] = '\0'; + is_directory_set = 1; i++; break; case 'p': @@ -104,6 +106,11 @@ main(int argc, char *argv[]) { } } + if (!is_directory_set) { + print_usage(program_name); + return 1; + } + user = getpwnam(user_name); group = getgrnam(group_name);