diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/Makefile | 16 | ||||
-rw-r--r-- | src/config.c | 2 | ||||
-rw-r--r-- | src/init.c | 2 | ||||
-rw-r--r-- | src/main.c | 26 | ||||
-rw-r--r-- | src/mysql.c | 16 | ||||
-rw-r--r-- | src/news.c | 12 | ||||
-rw-r--r-- | src/nickserv.c | 4 | ||||
-rw-r--r-- | src/operserv.c | 10 | ||||
-rw-r--r-- | src/servers.c | 2 | ||||
-rw-r--r-- | src/users.c | 6 |
10 files changed, 55 insertions, 41 deletions
diff --git a/src/Makefile b/src/Makefile index 54929bf50..46d796985 100644 --- a/src/Makefile +++ b/src/Makefile @@ -1,20 +1,18 @@ MYSQL_OBJ = $(MYSQL:.c=.o) RDB_OBJ = $(RDB:.c=.o) +IRCD_OBJ = $(IRCDFILE:.c=.o) OBJS = actions.o base64.o botserv.o channels.o chanserv.o commands.o compat.o converter.o \ config.o datafiles.o encrypt.o helpserv.o hostserv.o init.o language.o list.o log.o mail.o main.o \ - memory.o memoserv.o messages.o misc.o modules.o news.o nickserv.o operserv.o \ - process.o proxy.o send.o servers.o sessions.o slist.o sockutil.o \ - timeout.o users.o dreamforge.o bahamut.o unreal31.o ultimate2.o ultimate3.o \ - hybrid.o ptlink.o viagra.o rageircd.o unreal32.o solidircd.o \ - $(VSNPRINTF_O) $(RDB_OBJ) $(MYSQL_OBJ) + memory.o memoserv.o messages.o misc.o modules.o news.o nickserv.o operserv.o \ + process.o proxy.o send.o servers.o sessions.o slist.o sockutil.o \ + timeout.o users.o \ + $(VSNPRINTF_O) $(RDB_OBJ) $(MYSQL_OBJ) $(IRCD_OBJ) SRCS = actions.c base64.c botserv.c channels.c chanserv.c commands.c compat.c converter.c \ config.c datafiles.c encrypt.c helpserv.c hostserv.c init.c language.c list.c log.c mail.c main.c \ memory.c memoserv.c messages.c misc.c modules.c news.c nickserv.c operserv.c \ process.c proxy.c send.c servers.c sessions.c slist.c sockutil.c \ - dreamforge.c bahamut.c unreal31.c ultimate2.c ultimate3.c \ - hybrid.c ptlink.c viagra.c rageircd.c unreal32.c solidircd.c \ timeout.c users.c \ - $(VSNPRINTF_C) $(RDB) $(MYSQL) + $(VSNPRINTF_C) $(RDB) $(MYSQL) $(IRCDFILE) INCLUDES = ../include/commands.h ../include/defs.h ../include/language.h \ ../include/pseudo.h ../include/sysconf.h ../include/config.h \ @@ -31,7 +29,7 @@ MAKEARGS = 'CFLAGS=${CFLAGS}' 'CC=${CC}' 'ANOPELIBS=${ANOPELIBS}' \ 'INCLUDEDIR=${INCLUDEDIR}' 'RM=${RM}' 'CP=${CP}' \ 'TOUCH=${TOUCH}' 'SHELL=${SHELL}' 'DATDEST=${DATDEST}' \ 'RUNGROUP=${RUNGROUP}' 'MODULE_PATH=${MODULE_PATH}' 'MYSQL=${MYSQL}'\ - 'RDB=${RDB}' + 'RDB=${RDB}' 'IRCDFILE=${IRCDFILE}' .c.o: $(CC) $(CFLAGS) -I../include/ -c $< diff --git a/src/config.c b/src/config.c index 5e1f69591..5a68e0d99 100644 --- a/src/config.c +++ b/src/config.c @@ -526,7 +526,7 @@ Directive directives[] = { {"Numeric", {{PARAM_POSINT, PARAM_RELOAD, &Numeric}}}, {"PreNickServDB", {{PARAM_STRING, PARAM_RELOAD, &PreNickDBName}}}, {"NSEmailReg", {{PARAM_SET, PARAM_RELOAD, &NSEmailReg}}}, - {"NickRegDelay", {{PARAM_INT, PARAM_RELOAD, &NickRegDelay}}}, + {"NickRegDelay", {{PARAM_POSINT, PARAM_RELOAD, &NickRegDelay}}}, {"NickServName", {{PARAM_STRING, 0, &s_NickServ}, {PARAM_STRING, 0, &desc_NickServ}}}, {"NickServAlias", {{PARAM_STRING, 0, &s_NickServAlias}, diff --git a/src/init.c b/src/init.c index f8094bc16..5b4f02536 100644 --- a/src/init.c +++ b/src/init.c @@ -350,7 +350,9 @@ static int parse_options(int ac, char **av) fprintf(stdout, "-forceload -forceload\n"); fprintf(stdout, "-readonly -readonly\n"); fprintf(stdout, "-noexpire -noexpire\n"); +#ifdef IS44_CONVERTER fprintf(stdout, "-is44 -is44\n"); +#endif fprintf(stdout, "-version -version\n"); fprintf(stdout, "-help -help\n"); fprintf(stdout, "-log -log logfilename\n"); diff --git a/src/main.c b/src/main.c index 6dc3b7a62..e4bb9ccf6 100644 --- a/src/main.c +++ b/src/main.c @@ -126,9 +126,7 @@ extern void expire_all(void) waiting = -27; expire_szlines(); } -#ifndef STREAMLINED expire_exceptions(); -#endif #ifdef USE_THREADS if (ProxyDetect) proxy_expire(); @@ -241,8 +239,10 @@ static void services_restart(void) **/ void do_restart_services(void) { - expire_all(); - save_databases(); + if (!readonly) { + expire_all(); + save_databases(); + } services_restart(); exit(1); } @@ -446,17 +446,25 @@ int main(int ac, char **av, char **envp) else progname = av[0]; - /* Were we run under "listnicks" or "listchans"? Do appropriate stuff - * if so. */ - if (strcmp(progname, "listnicks") == 0) { +#ifdef __CYGWIN__ + if (strcmp(progname, "listnicks.exe") == 0) +#else + if (strcmp(progname, "listnicks") == 0) +#endif + { do_listnicks(ac, av); return 0; - } else if (strcmp(progname, "listchans") == 0) { + } +#ifdef __CYGWIN__ + else if (strcmp(progname, "listchans.exe") == 0) +#else + else if (strcmp(progname, "listchans") == 0) +#endif + { do_listchans(ac, av); return 0; } - /* Initialization stuff. */ if ((i = init(ac, av)) != 0) return i; diff --git a/src/mysql.c b/src/mysql.c index 707515113..c426389e5 100644 --- a/src/mysql.c +++ b/src/mysql.c @@ -900,6 +900,7 @@ void db_mysql_load_bs_dbase(void) if (db_mysql_query(sqlcmd)) { log_perror("Can't create sql query: %s", sqlcmd); db_mysql_error(MYSQL_WARNING, "query"); + return; } mysql_res = mysql_store_result(mysql); if (mysql_num_rows(mysql_res) == 0) { @@ -936,6 +937,7 @@ void db_mysql_load_hs_dbase(void) if (db_mysql_query(sqlcmd)) { log_perror("Can't create sql query: %s", sqlcmd); db_mysql_error(MYSQL_WARNING, "query"); + return; } mysql_res = mysql_store_result(mysql); if (mysql_num_rows(mysql_res) == 0) { @@ -970,6 +972,7 @@ void db_mysql_load_news(void) if (db_mysql_query(sqlcmd)) { log_perror("Can't create sql query: %s", sqlcmd); db_mysql_error(MYSQL_WARNING, "query"); + return; } mysql_res = mysql_store_result(mysql); nnews = mysql_num_rows(mysql_res); @@ -1009,6 +1012,7 @@ void db_mysql_load_exceptions(void) if (db_mysql_query(sqlcmd)) { log_perror("Can't create sql query: %s", sqlcmd); db_mysql_error(MYSQL_WARNING, "query"); + return; } mysql_res = mysql_store_result(mysql); nexceptions = mysql_num_rows(mysql_res); @@ -1044,6 +1048,7 @@ void db_mysql_load_os_dbase(void) if (db_mysql_query(sqlcmd)) { log_perror("Can't create sql query: %s", sqlcmd); db_mysql_error(MYSQL_WARNING, "query"); + return; } mysql_res = mysql_store_result(mysql); if ((mysql_row = mysql_fetch_row(mysql_res))) { @@ -1065,6 +1070,7 @@ void db_mysql_load_os_dbase(void) if (db_mysql_query(sqlcmd)) { log_perror("Can't create sql query: %s", sqlcmd); db_mysql_error(MYSQL_WARNING, "query"); + return; } mysql_res = mysql_store_result(mysql); slist_setcapacity(&akills, akc); @@ -1089,6 +1095,7 @@ void db_mysql_load_os_dbase(void) if (db_mysql_query(sqlcmd)) { log_perror("Can't create sql statement: %s", sqlcmd); db_mysql_error(MYSQL_WARNING, "query"); + return; } mysql_res = mysql_store_result(mysql); while ((mysql_row = mysql_fetch_row(mysql_res))) { @@ -1107,6 +1114,7 @@ void db_mysql_load_os_dbase(void) if (db_mysql_query(sqlcmd)) { log_perror("Can't create sql statement: %s", sqlcmd); db_mysql_error(MYSQL_WARNING, "query"); + return; } mysql_res = mysql_store_result(mysql); while ((mysql_row = mysql_fetch_row(mysql_res))) { @@ -1125,6 +1133,7 @@ void db_mysql_load_os_dbase(void) if (db_mysql_query(sqlcmd)) { log_perror("Can't create sql statement: %s", sqlcmd); db_mysql_error(MYSQL_WARNING, "query"); + return; } mysql_res = mysql_store_result(mysql); while ((mysql_row = mysql_fetch_row(mysql_res))) { @@ -1143,6 +1152,7 @@ void db_mysql_load_os_dbase(void) if (db_mysql_query(sqlcmd)) { log_perror("Can't create sql query: %s", sqlcmd); db_mysql_error(MYSQL_WARNING, "query"); + return; } mysql_res = mysql_store_result(mysql); if (mysql_num_rows(mysql_res) == 0) { @@ -1183,6 +1193,7 @@ void db_mysql_load_cs_dbase(void) if (db_mysql_query(sqlcmd)) { log_perror("Can't create sql query: %s", sqlcmd); db_mysql_error(MYSQL_WARNING, "query"); + return; } mysql_res = mysql_store_result(mysql); if (mysql_num_rows(mysql_res) == 0) { @@ -1242,6 +1253,7 @@ void db_mysql_load_cs_dbase(void) if (db_mysql_query(sqlcmd)) { log_perror("Can't create sql query: %s", sqlcmd); db_mysql_error(MYSQL_WARNING, "query"); + return; } res = mysql_store_result(mysql); n_levels = mysql_num_rows(res); @@ -1260,6 +1272,7 @@ void db_mysql_load_cs_dbase(void) if (db_mysql_query(sqlcmd)) { log_perror("Can't create sql query: %s", sqlcmd); db_mysql_error(MYSQL_WARNING, "query"); + return; } res = mysql_store_result(mysql); j = 0; @@ -1287,6 +1300,7 @@ void db_mysql_load_cs_dbase(void) if (db_mysql_query(sqlcmd)) { log_perror("Can't create sql query: %s", sqlcmd); db_mysql_error(MYSQL_WARNING, "query"); + return; } res = mysql_store_result(mysql); j = 0; @@ -1415,6 +1429,7 @@ void db_mysql_load_ns_req_dbase(void) if (db_mysql_query(sqlcmd)) { log_perror("Can't create sql query: %s", sqlcmd); db_mysql_error(MYSQL_WARNING, "query"); + return; } mysql_res = mysql_store_result(mysql); if (mysql_num_rows(mysql_res) == 0) { @@ -1451,6 +1466,7 @@ void db_mysql_load_ns_dbase(void) if (db_mysql_query(sqlcmd)) { log_perror("Can't create sql query: %s", sqlcmd); db_mysql_error(MYSQL_WARNING, "query"); + return; } mysql_res = mysql_store_result(mysql); if (mysql_num_rows(mysql_res) == 0) { diff --git a/src/news.c b/src/news.c index 868be1993..af3375c34 100644 --- a/src/news.c +++ b/src/news.c @@ -428,13 +428,15 @@ static void do_news_add(User * u, int16 type, int *msgs, snprintf(buf, sizeof(buf), "%sNEWS", typename); syntax_error(s_OperServ, u, buf, msgs[MSG_ADD_SYNTAX]); } else { + if (readonly) { + notice_lang(s_OperServ, u, READ_ONLY_MODE); + return; + } int n = add_newsitem(u, text, type); if (n < 0) notice_lang(s_OperServ, u, msgs[MSG_ADD_FULL]); else notice_lang(s_OperServ, u, msgs[MSG_ADDED], n); - if (readonly) - notice_lang(s_OperServ, u, READ_ONLY_MODE); } } @@ -488,6 +490,10 @@ static void do_news_del(User * u, int16 type, int *msgs, snprintf(buf, sizeof(buf), "%sNEWS", typename); syntax_error(s_OperServ, u, buf, msgs[MSG_DEL_SYNTAX]); } else { + if (readonly) { + notice_lang(s_OperServ, u, READ_ONLY_MODE); + return; + } if (stricmp(text, "ALL") != 0) { int num = atoi(text); if (num > 0 && del_newsitem(num, type)) { @@ -505,8 +511,6 @@ static void do_news_del(User * u, int16 type, int *msgs, else notice_lang(s_OperServ, u, msgs[MSG_DEL_NONE]); } - if (readonly) - notice_lang(s_OperServ, u, READ_ONLY_MODE); } } diff --git a/src/nickserv.c b/src/nickserv.c index 27dfc31ef..d0a53bd72 100644 --- a/src/nickserv.c +++ b/src/nickserv.c @@ -4015,11 +4015,9 @@ static int do_ghost(User * u) char buf[NICKMAX + 32]; snprintf(buf, sizeof(buf), "GHOST command used by %s", u->nick); -#ifndef STREAMLINED if (LimitSessions) { del_session(u2->host); } -#endif kill_user(s_NickServ, nick, buf); notice_lang(s_NickServ, u, NICK_GHOST_KILLED, nick); } else { @@ -4037,11 +4035,9 @@ static int do_ghost(User * u) char buf[NICKMAX + 32]; snprintf(buf, sizeof(buf), "GHOST command used by %s", u->nick); -#ifndef STREAMLINED if (LimitSessions) { del_session(u2->host); } -#endif kill_user(s_NickServ, nick, buf); notice_lang(s_NickServ, u, NICK_GHOST_KILLED, nick); } else { diff --git a/src/operserv.c b/src/operserv.c index 247e70704..176eed93b 100644 --- a/src/operserv.c +++ b/src/operserv.c @@ -190,10 +190,8 @@ void moduleAddOperServCmds(void) { c = createCommand("QUIT", do_os_quit, is_services_admin,OPER_HELP_QUIT, -1,-1,-1,-1); addCoreCommand(OPERSERV,c); c = createCommand("SHUTDOWN", do_shutdown, is_services_admin,OPER_HELP_SHUTDOWN, -1,-1,-1,-1); addCoreCommand(OPERSERV,c); c = createCommand("RESTART", do_restart, is_services_admin,OPER_HELP_RESTART, -1,-1,-1,-1); addCoreCommand(OPERSERV,c); -#ifndef STREAMLINED c = createCommand("SESSION", do_session, is_services_admin,OPER_HELP_SESSION, -1,-1,-1, -1); addCoreCommand(OPERSERV,c); c = createCommand("EXCEPTION", do_exception, is_services_admin,OPER_HELP_EXCEPTION, -1,-1,-1, -1); addCoreCommand(OPERSERV,c); -#endif c = createCommand("CHANLIST", do_chanlist, is_services_admin,OPER_HELP_CHANLIST, -1,-1,-1,-1); addCoreCommand(OPERSERV,c); c = createCommand("USERLIST", do_userlist, is_services_admin,OPER_HELP_USERLIST, -1,-1,-1,-1); addCoreCommand(OPERSERV,c); c = createCommand("CACHE", do_cache, is_services_admin,OPER_HELP_CACHE, -1,-1,-1,-1); addCoreCommand(OPERSERV,c); @@ -876,7 +874,6 @@ int nick_is_services_oper(NickCore * nc) void check_clones(User * user) { -#ifndef STREAMLINED int i, clone_count; long last_time; @@ -925,7 +922,6 @@ void check_clones(User * user) kill_user(s_OperServ, user->nick, "Clone kill"); } } -#endif /* !STREAMLINED */ } /*************************************************************************/ @@ -4617,14 +4613,16 @@ static int do_set(User * u) * Rob **/ } else if (stricmp(option, "SUPERADMIN") == 0) { - if (SuperAdmin && (stricmp(setting, "on") == 0)) { + if (!SuperAdmin) { + notice_lang(s_OperServ, u, OPER_SUPER_ADMIN_NOT_ENABLED); + } else if (stricmp(setting, "on") == 0) { u->isSuperAdmin = 1; notice_lang(s_OperServ, u, OPER_SUPER_ADMIN_ON); alog("%s: %s is a SuperAdmin ", s_OperServ, u->nick); anope_cmd_global(s_OperServ, getstring2(NULL, OPER_SUPER_ADMIN_WALL_ON), u->nick); - } else if (SuperAdmin && (stricmp(setting, "off") == 0)) { + } else if (stricmp(setting, "off") == 0) { u->isSuperAdmin = 0; notice_lang(s_OperServ, u, OPER_SUPER_ADMIN_OFF); alog("%s: %s is no longer a SuperAdmin", s_OperServ, u->nick); diff --git a/src/servers.c b/src/servers.c index b83dea124..1389d3fd9 100644 --- a/src/servers.c +++ b/src/servers.c @@ -160,11 +160,9 @@ static void delete_server(Server * serv, const char *quitreason) na->last_quit = (quitreason ? sstrdup(quitreason) : NULL); } -#ifndef STREAMLINED if (LimitSessions) { del_session(u->host); } -#endif delete_user(u); } u = unext; diff --git a/src/users.c b/src/users.c index e807cb012..1417fd936 100644 --- a/src/users.c +++ b/src/users.c @@ -489,11 +489,9 @@ User *do_nick(const char *source, char *nick, char *username, char *host, if (check_szline(nick, ipbuf)) return NULL; } -#ifndef STREAMLINED /* Now check for session limits */ if (LimitSessions && !add_session(nick, host)) return NULL; -#endif /* And finally, for proxy ;) */ #ifdef USE_THREADS @@ -722,11 +720,9 @@ void do_quit(const char *source, int ac, char **av) free(na->last_quit); na->last_quit = *av[0] ? sstrdup(av[0]) : NULL; } -#ifndef STREAMLINED if (LimitSessions) { del_session(user->host); } -#endif delete_user(user); } @@ -760,11 +756,9 @@ void do_kill(char *nick, char *msg) na->last_quit = *msg ? sstrdup(msg) : NULL; } -#ifndef STREAMLINED if (LimitSessions) { del_session(user->host); } -#endif delete_user(user); } |