diff options
| author | Franklin Wei <git@fwei.tk> | 2015-12-04 16:50:40 -0500 |
|---|---|---|
| committer | Franklin Wei <git@fwei.tk> | 2015-12-04 16:50:40 -0500 |
| commit | bbeb7cda3071c7a872ee9c5127e02983b25efda0 (patch) | |
| tree | 4fe11eb7627b150ec47b2652f2451c47ba79096a | |
| parent | b7541dfc74d2d549210aa0ad73e0536ca4818909 (diff) | |
| download | netcosm-0.1.zip netcosm-0.1.tar.gz netcosm-0.1.tar.bz2 netcosm-0.1.tar.xz | |
fix bugs0.1
| -rw-r--r-- | src/auth.c | 2 | ||||
| -rw-r--r-- | src/client.c | 12 | ||||
| -rw-r--r-- | src/netcosm.h | 1 | ||||
| -rw-r--r-- | src/server.c | 8 |
4 files changed, 18 insertions, 5 deletions
@@ -178,6 +178,8 @@ struct authinfo_t auth_check(const char *name2, const char *pass2) flock(fileno(f), LOCK_SH); struct authinfo_t ret; + ret.success = false; + ret.authlevel = -1; while(1) { diff --git a/src/client.c b/src/client.c index a3cc191..b49498f 100644 --- a/src/client.c +++ b/src/client.c @@ -37,8 +37,14 @@ void client_main(int fd, struct sockaddr_in *addr, int total) char *ip = inet_ntoa(addr->sin_addr); printf("New client %s\n", ip); printf("Total clients: %d\n", total); - out("Hello %s.\n", ip); - out("Please authenticate to continue.\n\n"); + + out("NetCosm " NETCOSM_VERSION "\n"); + if(total > 1) + out("%d clients connected.\n", total); + else + out("%d client connected.\n", total); + + out("\nPlease authenticate to continue.\n\n"); int failures = 0; @@ -47,7 +53,7 @@ void client_main(int fd, struct sockaddr_in *addr, int total) /* auth loop */ while(1) { - out("NetCosm login: "); + out("login: "); char *user = client_read(); out("Password: "); char *pass = client_read(); diff --git a/src/netcosm.h b/src/netcosm.h index 86d38b9..d7251ad 100644 --- a/src/netcosm.h +++ b/src/netcosm.h @@ -18,6 +18,7 @@ #define USERFILE "users.dat" #define MAX_FAILURES 3 +#define NETCOSM_VERSION "v0.1" struct authinfo_t { bool success; diff --git a/src/server.c b/src/server.c index 6089317..e717cfe 100644 --- a/src/server.c +++ b/src/server.c @@ -18,7 +18,7 @@ #include "netcosm.h" -#define PORT 1333 +#define PORT 1234 #define BACKLOG 16 void __attribute__((noreturn)) error(const char *fmt, ...) @@ -37,6 +37,7 @@ int num_clients = 0; void sigchld_handler(int s) { + printf("Client disconnect.\n"); // waitpid() might overwrite errno, so we save and restore it: int saved_errno = errno; @@ -71,7 +72,10 @@ void sigint_handler(int sig) int main(int argc, char *argv[]) { - port = PORT; + if(argc != 2) + port = PORT; + else + port = strtol(argv[1], NULL, 0); srand(time(0)); int sock = socket(AF_INET, SOCK_STREAM, 0); |