|
Defines |
| #define | __EXTENSIONS__ |
| #define | _POSIX_SOURCE 1 |
| #define | NO_CMM_ROOT "CMM_ROOT not supplied as required." |
| #define | NO_CMM_PORT "CMM_PORT not supplied as required." |
| #define | CMM_ADMIN "vltsccm" |
| #define | CMM_LOGFILE "cmm.log" |
| #define | CMM_PIDFILE "cmmServer.pid" |
| #define | CMM_USERLIST "userlist" |
| #define | CMM_GROUPLIST "grouplist" |
| #define | CMM_MODLIST "modlist" |
| #define | CMM_RCFILE ".cmmrc" |
| #define | CMM_WELCOME "+OK CMM Server (Version 3.8) at %s starting." |
| #define | CMM_GOODBYE "+OK CMM Server (Version 3.8) at %s signing off." |
| #define | CMM_COMMAND_OK "+OK Command accepted." |
| #define | CMM_PROTVERS "1.0" |
| #define | CMM_TIMEOUT 300 /* 5 minutes */ |
| #define | CMM_OK "+OK" |
| #define | CMM_ERR "-ERR" |
| #define | MAXLINE 1025 /* 1024 + trailing '\0' */ |
| #define | BUFFLEN 256 |
| #define | USERNAMELEN 16 |
| #define | PASSWORDLEN 16 |
| #define | MODULELEN 32 |
| #define | PACKET_SIZE 1024 /* for data transfers */ |
| #define | CMM_SEPARATORS " \t\r\n" |
| #define | CMM_VERSION "VER " |
| #define | CMM_USERNAME "USER " |
| #define | CMM_PASSWORD "PASS " |
| #define | ERR_TIMEOUT "CMM timeout." |
| #define | ERR_PEER_DIED "connection dropped by peer." |
| #define | ERR_NO_PROTOCOL "No protocol specified." |
| #define | ERR_WRONG_PROTVERS "Wrong CMM version." |
| #define | ERR_NO_USER "No user specified." |
| #define | ERR_WRONG_USERNAME "Unknown user: \"%s\"." |
| #define | ERR_NO_PASSWORD "No password supplied." |
| #define | ERR_WRONG_PASSWORD1 "Password supplied for \"" |
| #define | ERR_WRONG_PASSWORD2 "\" is incorrect." |
| #define | ERR_WRONG_COMMAND "-ERR Unknown command: \"%s\"." |
| #define | ERR_MODULE_EXISTS "-ERR \"%s\" already exists." |
| #define | ERR_MODULE_UNKNOWN "-ERR \"%s\" is not a known module." |
| #define | ERR_MODULE_MISMATCH "-ERR Version \"%s\" of module \"%s\" doesn't exist." |
| #define | ERR_SERVER_FAILURE "-ERR Server internal error: notify vltsccm@eso.org" |
| #define | OK_LOGIN "Please supply username and password." |
| #define | OK_PASSWORD_REQUIRED "Password required for" |
| #define | OK_GOOD_USER "User logged in as" |
Functions |
| int | check_env (void) |
| void | init_daemon (void) |
| void | init_log (char *logname) |
| void | cmm_log (char *message, pid_t sid) |
| void | log_pid (void) |
| void | signal_setup (void) |
| void | cmm_shutdown (int sig) |
| void | do_loop (int master_socket) |
| void | handle_it (int conn, struct sockaddr_in *peer) |
| int | socket_setup (int port) |
| int | readn (int fd, char *buffer, int n) |
| int | writen (int fd, char *buffer, int n) |
| int | getaline (int fd, char *buffer, int maxlen) |
| void | load_userlist (void) |
| void | fill_userdata (char *name, char *pass) |
| void | clear_userdata (void) |
| int | check_user (char *user, char *pass) |
| void | load_grouplist (void) |
| void | fill_groupdata (char *name, char *groups) |
| void | clear_groupdata (void) |
| void | load_modlist (void) |
| void | fill_moddata (char *mod, char *rgroups, char *wgroups, char *keyword) |
| void | clear_moddata (void) |
| int | check_access (char *user, char *module, char *command) |
| int | login (int socket, pid_t sid) |
| int | send_to_peer (int s, char *message) |
| int | get_from_peer (int s, char *buffer, int max) |
| int | parse_command (int socket, pid_t sid) |
| int | my_system (char *command, pid_t sid) |
| int | get_module (int socket, char *logheader, char *module, pid_t sid, char *command) |
| int | check_module (int socket, char *buffer, char *logheader, char *module, char *version, pid_t sid, char *command) |
| int | send_module (int socket, char *logheader, char *module, pid_t sid) |