aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFranklin Wei <git@fwei.tk>2015-12-04 16:50:40 -0500
committerFranklin Wei <git@fwei.tk>2015-12-04 16:50:40 -0500
commitbbeb7cda3071c7a872ee9c5127e02983b25efda0 (patch)
tree4fe11eb7627b150ec47b2652f2451c47ba79096a
parentb7541dfc74d2d549210aa0ad73e0536ca4818909 (diff)
downloadnetcosm-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.c2
-rw-r--r--src/client.c12
-rw-r--r--src/netcosm.h1
-rw-r--r--src/server.c8
4 files changed, 18 insertions, 5 deletions
diff --git a/src/auth.c b/src/auth.c
index 53ae4f6..f47aee8 100644
--- a/src/auth.c
+++ b/src/auth.c
@@ -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);