#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define USERFILE "users.dat" #define MAX_FAILURES 3 #define NETCOSM_VERSION "v0.1" struct authinfo_t { bool success; const char *user; int authlevel; /* 0 = highest */ }; void client_main(int fd, struct sockaddr_in *addr, int); void __attribute__((noreturn)) error(const char *fmt, ...); void first_run_setup(void); struct authinfo_t auth_check(const char*, const char*);