srvx-commits Mailing List for srvx IRC Services (Page 10)
Brought to you by:
entrope
You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(80) |
Sep
(51) |
Oct
(94) |
Nov
(132) |
Dec
(85) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(163) |
Feb
(96) |
Mar
(70) |
Apr
(182) |
May
(173) |
Jun
(73) |
Jul
(101) |
Aug
(101) |
Sep
(71) |
Oct
(76) |
Nov
(58) |
Dec
(60) |
2003 |
Jan
(61) |
Feb
(14) |
Mar
(3) |
Apr
|
May
(7) |
Jun
(22) |
Jul
(81) |
Aug
(41) |
Sep
(34) |
Oct
(41) |
Nov
(16) |
Dec
(28) |
2004 |
Jan
(7) |
Feb
|
Mar
(3) |
Apr
(15) |
May
(11) |
Jun
(1) |
Jul
(4) |
Aug
(1) |
Sep
(4) |
Oct
(1) |
Nov
(1) |
Dec
(1) |
2005 |
Jan
(13) |
Feb
(6) |
Mar
(1) |
Apr
|
May
(2) |
Jun
(1) |
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
2009 |
Jan
|
Feb
|
Mar
(5) |
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
(2) |
Oct
|
Nov
|
Dec
|
2010 |
Jan
(2) |
Feb
(3) |
Mar
(4) |
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(2) |
Dec
|
2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
(1) |
Dec
|
2012 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2016 |
Jan
|
Feb
|
Mar
|
Apr
(3) |
May
(4) |
Jun
|
Jul
(1) |
Aug
|
Sep
(3) |
Oct
(2) |
Nov
|
Dec
|
2017 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2018 |
Jan
(2) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2020 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2023 |
Jan
|
Feb
(3) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(3) |
Dec
|
2025 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Entrope <en...@us...> - 2003-09-09 01:58:38
|
Update of /cvsroot/srvx/services/src In directory sc8-pr-cvs1:/tmp/cvs-serv29326/src Modified Files: modcmd.c Log Message: fix bug when using timecmd with a complex alias Index: modcmd.c =================================================================== RCS file: /cvsroot/srvx/services/src/modcmd.c,v retrieving revision 1.66 retrieving revision 1.67 diff -C2 -r1.66 -r1.67 *** modcmd.c 20 Aug 2003 00:36:06 -0000 1.66 --- modcmd.c 9 Sep 2003 01:58:30 -0000 1.67 *************** *** 1158,1164 **** static MODCMD_FUNC(cmd_timecmd) { struct timeval start, stop; ! char *cmd_text; ! cmd_text = unsplit_string(argv+1, argc-1, NULL); gettimeofday(&start, NULL); svccmd_invoke(user, cmd->parent, channel, cmd_text, 0); --- 1158,1164 ---- static MODCMD_FUNC(cmd_timecmd) { struct timeval start, stop; ! char cmd_text[MAXLEN]; ! unsplit_string(argv+1, argc-1, cmd_text); gettimeofday(&start, NULL); svccmd_invoke(user, cmd->parent, channel, cmd_text, 0); *************** *** 1390,1393 **** --- 1390,1394 ---- unsigned int ii; struct module *mod; + struct modcmd *modcmd; if (argc < 2) { *************** *** 1407,1417 **** tbl.contents[ii][2] = mod->helpfile_name ? mod->helpfile_name : "(none)"; } } else { - struct modcmd *modcmd; - - if (!(mod = dict_find(modules, argv[1], NULL))) { - reply(MCMSG_UNKNOWN_MODULE, argv[1]); - return 0; - } reply(MCMSG_MODULE_INFO, mod->name); tbl.length = dict_size(mod->commands) + 1; --- 1408,1415 ---- tbl.contents[ii][2] = mod->helpfile_name ? mod->helpfile_name : "(none)"; } + } else if (!(mod = dict_find(modules, argv[1], NULL))) { + reply(MCMSG_UNKNOWN_MODULE, argv[1]); + return 0; } else { reply(MCMSG_MODULE_INFO, mod->name); tbl.length = dict_size(mod->commands) + 1; *************** *** 1440,1443 **** --- 1438,1442 ---- unsigned int ii; struct service *service; + struct svccmd *svccmd; char *extra; *************** *** 1463,1474 **** } table_send(cmd->parent->bot, user->nick, 0, 0, tbl); return 0; } else { - struct svccmd *svccmd; - - if (!(service = dict_find(services, argv[1], NULL))) { - reply(MCMSG_UNKNOWN_SERVICE, argv[1]); - return 0; - } tbl.length = dict_size(service->commands) + 1; tbl.width = 5; --- 1462,1471 ---- } table_send(cmd->parent->bot, user->nick, 0, 0, tbl); + free(extra); + return 0; + } else if (!(service = dict_find(services, argv[1], NULL))) { + reply(MCMSG_UNKNOWN_SERVICE, argv[1]); return 0; } else { tbl.length = dict_size(service->commands) + 1; tbl.width = 5; |
From: Entrope <en...@us...> - 2003-09-09 01:56:59
|
Update of /cvsroot/srvx/services/src In directory sc8-pr-cvs1:/tmp/cvs-serv29139/src Modified Files: Makefile.am Log Message: remove extraneous srvx_LIBS line Index: Makefile.am =================================================================== RCS file: /cvsroot/srvx/services/src/Makefile.am,v retrieving revision 1.58 retrieving revision 1.59 diff -C2 -r1.58 -r1.59 *** Makefile.am 18 Aug 2003 19:35:50 -0000 1.58 --- Makefile.am 9 Sep 2003 01:56:55 -0000 1.59 *************** *** 9,13 **** ./expnhelp < $(srcdir)/nickserv.help.m4 > $@ - srvx_LIBS = @RX_LIBS@ EXTRA_srvx_SOURCES = proto-bahamut.c proto-common.c proto-p10.c mod-snoop.c mod-memoserv.c srvx_LDADD = @MODULE_OBJS@ --- 9,12 ---- |
From: Entrope <en...@us...> - 2003-09-09 01:56:46
|
Update of /cvsroot/srvx/services In directory sc8-pr-cvs1:/tmp/cvs-serv29015 Modified Files: configure.in Log Message: remove no-longer-used C++ compiler detection Index: configure.in =================================================================== RCS file: /cvsroot/srvx/services/configure.in,v retrieving revision 1.72 retrieving revision 1.73 diff -C2 -r1.72 -r1.73 *** configure.in 1 Sep 2003 14:41:55 -0000 1.72 --- configure.in 9 Sep 2003 01:56:37 -0000 1.73 *************** *** 21,25 **** AC_PROG_AWK AC_PROG_CC - AC_PROG_CXX AC_PROG_RANLIB AC_PROG_INSTALL --- 21,24 ---- |
From: Entrope <en...@us...> - 2003-09-05 13:42:43
|
Update of /cvsroot/srvx/services/src In directory sc8-pr-cvs1:/tmp/cvs-serv1558 Modified Files: proto-p10.c Log Message: Initialize last_req to now instead of timestamp, in case of network time skew Index: proto-p10.c =================================================================== RCS file: /cvsroot/srvx/services/src/proto-p10.c,v retrieving revision 1.76 retrieving revision 1.77 diff -C2 -r1.76 -r1.77 *** proto-p10.c 1 Sep 2003 14:47:59 -0000 1.76 --- proto-p10.c 5 Sep 2003 13:42:39 -0000 1.77 *************** *** 1821,1825 **** uNode->uplink->max_clients = uNode->uplink->clients; } ! uNode->command_policer.last_req = uNode->timestamp; uNode->command_policer.params = IsOper(uNode) ? oper_policer_params : luser_policer_params; uNode->num_local = base64toint(numeric+strlen(uNode->uplink->numeric), 3) & uNode->uplink->num_mask; --- 1821,1825 ---- uNode->uplink->max_clients = uNode->uplink->clients; } ! uNode->command_policer.last_req = now; uNode->command_policer.params = IsOper(uNode) ? oper_policer_params : luser_policer_params; uNode->num_local = base64toint(numeric+strlen(uNode->uplink->numeric), 3) & uNode->uplink->num_mask; |
From: Entrope <en...@us...> - 2003-09-05 13:41:34
|
Update of /cvsroot/srvx/services/src In directory sc8-pr-cvs1:/tmp/cvs-serv1351 Modified Files: mod-memoserv.c Log Message: Correctly handle account unregistration Show dict_size(memos) instead of 0 for total count (thanks, wasted) Index: mod-memoserv.c =================================================================== RCS file: /cvsroot/srvx/services/src/mod-memoserv.c,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** mod-memoserv.c 1 Sep 2003 14:45:42 -0000 1.5 --- mod-memoserv.c 5 Sep 2003 13:41:26 -0000 1.6 *************** *** 76,80 **** #define MSMSG_DELETED_ALL "Deleted all of your messages." #define MSMSG_USE_CONFIRM "Please use /msg $S DELETE * $bCONFIRM$b to delete $uall$u of your messages." ! #define MSMSG_STATUS_TOTAL "I have $b%ld$b memos in my database." #define MSMSG_STATUS_EXPIRED "$b%ld$b memos expired during the time I am awake." #define MSMSG_STATUS_SENT "$b%ld$b memos have been sent." --- 76,80 ---- #define MSMSG_DELETED_ALL "Deleted all of your messages." #define MSMSG_USE_CONFIRM "Please use /msg $S DELETE * $bCONFIRM$b to delete $uall$u of your messages." ! #define MSMSG_STATUS_TOTAL "I have $b%u$b memos in my database." #define MSMSG_STATUS_EXPIRED "$b%ld$b memos expired during the time I am awake." #define MSMSG_STATUS_SENT "$b%ld$b memos have been sent." *************** *** 114,118 **** static struct module *memoserv_module; static struct log_type *MS_LOG; ! static unsigned long memosTotal, memosSent, memosExpired; static struct dict *memos; /* memo_account->handle->handle -> memo_account */ --- 114,118 ---- static struct module *memoserv_module; static struct log_type *MS_LOG; ! static unsigned long memosSent, memosExpired; static struct dict *memos; /* memo_account->handle->handle -> memo_account */ *************** *** 415,419 **** static MODCMD_FUNC(cmd_status) { ! reply(MSMSG_STATUS_TOTAL, memosTotal); reply(MSMSG_STATUS_EXPIRED, memosExpired); reply(MSMSG_STATUS_SENT, memosSent); --- 415,419 ---- static MODCMD_FUNC(cmd_status) { ! reply(MSMSG_STATUS_TOTAL, dict_size(memos)); reply(MSMSG_STATUS_EXPIRED, memosExpired); reply(MSMSG_STATUS_SENT, memosSent); *************** *** 542,545 **** --- 542,551 ---- } + static void + memoserv_unreg_account(UNUSED_ARG(struct userNode *user), struct handle_info *handle) + { + dict_remove(memos, handle->handle); + } + int memoserv_init(void) *************** *** 550,553 **** --- 556,560 ---- reg_auth_func(memoserv_check_messages); reg_handle_rename_func(memoserv_rename_account); + reg_unreg_func(memoserv_unreg_account); conf_register_reload(memoserv_conf_read); reg_exit_func(memoserv_cleanup); |
From: Entrope <en...@us...> - 2003-09-01 14:52:50
|
Update of /cvsroot/srvx/services/src In directory sc8-pr-cvs1:/tmp/cvs-serv28658/src Modified Files: chanserv.help Log Message: fix typo in DELETEME entry Index: chanserv.help =================================================================== RCS file: /cvsroot/srvx/services/src/chanserv.help,v retrieving revision 1.52 retrieving revision 1.53 diff -C2 -r1.52 -r1.53 *** chanserv.help 7 Aug 2003 13:08:06 -0000 1.52 --- chanserv.help 1 Sep 2003 14:52:45 -0000 1.53 *************** *** 163,167 **** "You may use *Account instead of Nick as the name argument; the * makes $C use the name of a account directly (useful if the user is not online).", "$uSee Also:$u adduser, deleteme, users"); ! "DELETEME" ("/msg $c DELETEME <#channel> [<secret>]", "If you have less than owner access in a channel, $bdeleteme$b removes your access from the channel. $bIf you do this by mistake, you must find a higher-ranked user to re-add you.$b", "The secret value changes for each channel and each user. If you do not include the secret value, ChanServ will tell you what it should be.", --- 163,167 ---- "You may use *Account instead of Nick as the name argument; the * makes $C use the name of a account directly (useful if the user is not online).", "$uSee Also:$u adduser, deleteme, users"); ! "DELETEME" ("/msg $C DELETEME <#channel> [<secret>]", "If you have less than owner access in a channel, $bdeleteme$b removes your access from the channel. $bIf you do this by mistake, you must find a higher-ranked user to re-add you.$b", "The secret value changes for each channel and each user. If you do not include the secret value, ChanServ will tell you what it should be.", |
From: Entrope <en...@us...> - 2003-09-01 14:51:03
|
Update of /cvsroot/srvx/services/src In directory sc8-pr-cvs1:/tmp/cvs-serv28342/src Modified Files: conf.c Log Message: remove unnecessary if() tests Index: conf.c =================================================================== RCS file: /cvsroot/srvx/services/src/conf.c,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -r1.33 -r1.34 *** conf.c 7 Jul 2003 16:29:33 -0000 1.33 --- conf.c 1 Sep 2003 14:50:59 -0000 1.34 *************** *** 39,43 **** } reload_funcs[num_rfs++] = crf; ! if (conf_db) crf(); } --- 39,45 ---- } reload_funcs[num_rfs++] = crf; ! if (conf_db) { ! crf(); ! } } *************** *** 53,64 **** { dict_t old_conf = conf_db; ! if (!(conf_db = parse_database(conf_file_name))) goto fail; ! if (reload_funcs) conf_call_reload_funcs(); ! if (old_conf && old_conf != conf_db) free_database(old_conf); return 1; fail: log_module(MAIN_LOG, LOG_ERROR, "Reverting to previous configuration."); ! if (conf_db) free_database(conf_db); conf_db = old_conf; return 0; --- 55,72 ---- { dict_t old_conf = conf_db; ! if (!(conf_db = parse_database(conf_file_name))) { ! goto fail; ! } ! if (reload_funcs) { ! conf_call_reload_funcs(); ! } ! if (old_conf && old_conf != conf_db) { ! free_database(old_conf); ! } return 1; fail: log_module(MAIN_LOG, LOG_ERROR, "Reverting to previous configuration."); ! free_database(conf_db); conf_db = old_conf; return 0; *************** *** 69,73 **** { free_database(conf_db); ! if (reload_funcs) free(reload_funcs); } --- 77,81 ---- { free_database(conf_db); ! free(reload_funcs); } |
From: Entrope <en...@us...> - 2003-09-01 14:50:33
|
Update of /cvsroot/srvx/services/src In directory sc8-pr-cvs1:/tmp/cvs-serv28233/src Modified Files: main.c sendmail.c Log Message: replace waitpid() by wait4() (which valgrind implements) remove unnecessary if() tests fix possible misbehavior with stdio Index: main.c =================================================================== RCS file: /cvsroot/srvx/services/src/main.c,v retrieving revision 1.153 retrieving revision 1.154 diff -C2 -r1.153 -r1.154 *** main.c 18 Aug 2003 19:35:12 -0000 1.153 --- main.c 1 Sep 2003 14:50:28 -0000 1.154 *************** *** 398,402 **** { int code; ! waitpid(-1, &code, WNOHANG); } --- 398,402 ---- { int code; ! wait4(-1, &code, WNOHANG, NULL); } *************** *** 441,445 **** ef_list[--n](); } ! if (ef_list) free(ef_list); ef_used = ef_size = 0; } --- 441,445 ---- ef_list[--n](); } ! free(ef_list); ef_used = ef_size = 0; } *************** *** 450,454 **** struct record_data *rd = data; const char *str = GET_RECORD_QSTRING(rd); ! if (str) policer_params_set(extra, param, str); return 0; } --- 450,456 ---- struct record_data *rd = data; const char *str = GET_RECORD_QSTRING(rd); ! if (str) { ! policer_params_set(extra, param, str); ! } return 0; } *************** *** 461,474 **** info = conf_get_data("services/global/nick", RECDB_QSTRING); ! if (info && (info[0] != '.')) init_global(info); info = conf_get_data("services/nickserv/nick", RECDB_QSTRING); ! if (info && (info[0] != '.')) init_nickserv(info); info = conf_get_data("services/chanserv/nick", RECDB_QSTRING); ! if (info && (info[0] != '.')) init_chanserv(info); info = conf_get_data("services/helpserv/enable", RECDB_QSTRING); ! if (!info || !disabled_string(info)) init_helpserv(); god_policer_params = policer_params_new(); --- 463,484 ---- info = conf_get_data("services/global/nick", RECDB_QSTRING); ! if (info && (info[0] != '.')) { ! init_global(info); ! } info = conf_get_data("services/nickserv/nick", RECDB_QSTRING); ! if (info && (info[0] != '.')) { ! init_nickserv(info); ! } info = conf_get_data("services/chanserv/nick", RECDB_QSTRING); ! if (info && (info[0] != '.')) { ! init_chanserv(info); ! } info = conf_get_data("services/helpserv/enable", RECDB_QSTRING); ! if (!info || !disabled_string(info)) { ! init_helpserv(); ! } god_policer_params = policer_params_new(); *************** *** 495,499 **** info = conf_get_data("services/opserv/nick", RECDB_QSTRING); ! if (info) init_opserv(info); } --- 505,511 ---- info = conf_get_data("services/opserv/nick", RECDB_QSTRING); ! if (info) { ! init_opserv(info); ! } } *************** *** 740,747 **** } setsid(); ! /* Close stdin, stdout, stderr, since we don't expect to use them from now on. */ ! close(0); ! close(1); ! close(2); } --- 752,759 ---- } setsid(); ! /* Close these since we should not use them from now on. */ ! fclose(stdin); ! fclose(stdout); ! fclose(stderr); } Index: sendmail.c =================================================================== RCS file: /cvsroot/srvx/services/src/sendmail.c,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -r1.13 -r1.14 *** sendmail.c 22 Jul 2003 18:32:20 -0000 1.13 --- sendmail.c 1 Sep 2003 14:50:28 -0000 1.14 *************** *** 192,196 **** fclose(out); do { ! rv = waitpid(child, &res, 0); } while ((rv == -1) && (errno == EINTR)); if (rv == child) { --- 192,196 ---- fclose(out); do { ! rv = wait4(child, &res, 0, NULL); } while ((rv == -1) && (errno == EINTR)); if (rv == child) { |
From: Entrope <en...@us...> - 2003-09-01 14:48:55
|
Update of /cvsroot/srvx/services/src In directory sc8-pr-cvs1:/tmp/cvs-serv27872/src Modified Files: recdb.c Log Message: remove unnecessary if() tests Index: recdb.c =================================================================== RCS file: /cvsroot/srvx/services/src/recdb.c,v retrieving revision 1.47 retrieving revision 1.48 diff -C2 -r1.47 -r1.48 *** recdb.c 7 Jul 2003 16:29:34 -0000 1.47 --- recdb.c 1 Sep 2003 14:48:51 -0000 1.48 *************** *** 242,247 **** if (!slist) return; for (i=0; i<slist->used; i++) free(slist->list[i]); ! if (slist->list) free(slist->list); ! slist->used = slist->size = 0; free(slist); } --- 242,246 ---- if (!slist) return; for (i=0; i<slist->used; i++) free(slist->list[i]); ! free(slist->list); free(slist); } *************** *** 580,585 **** return 0; } else { ! if (*pname) free(*pname); ! if (*prd) free(*prd); return failure_reason(res); } --- 579,584 ---- return 0; } else { ! free(*pname); ! free(*prd); return failure_reason(res); } |
From: Entrope <en...@us...> - 2003-09-01 14:48:08
|
Update of /cvsroot/srvx/services/src In directory sc8-pr-cvs1:/tmp/cvs-serv27716/src Modified Files: proto-p10.c Log Message: remove GetUser() function fix GLINE command parsing (bug #785813) clean up clear_chanmode() function Index: proto-p10.c =================================================================== RCS file: /cvsroot/srvx/services/src/proto-p10.c,v retrieving revision 1.75 retrieving revision 1.76 diff -C2 -r1.75 -r1.76 *** proto-p10.c 20 Aug 2003 00:35:21 -0000 1.75 --- proto-p10.c 1 Sep 2003 14:47:59 -0000 1.76 *************** *** 336,345 **** } - struct userNode * - GetUser(const char *user) - { - return (user[0] == ':') ? GetUserH(user+1) : GetUserN(user); - } - static void privmsg_user_helper(struct userNode *un, void *data) --- 336,339 ---- *************** *** 414,417 **** --- 408,412 ---- irc_regnick(UNUSED_ARG(struct userNode *user)) { + /* no operation here */ } *************** *** 1097,1101 **** } ! int clear_chanmode(struct chanNode *channel, struct userNode *who, const char *modes); static CMD_FUNC(cmd_clearmode) --- 1092,1096 ---- } ! static int clear_chanmode(struct chanNode *channel, struct userNode *who, const char *modes); static CMD_FUNC(cmd_clearmode) *************** *** 1137,1141 **** } ! static CMD_FUNC(cmd_num_topic) { static struct chanNode *cn; --- 1132,1137 ---- } ! static CMD_FUNC(cmd_num_topic) ! { static struct chanNode *cn; *************** *** 1189,1193 **** struct userNode *user; if (argc < 2) return 0; ! if (!(user = GetUser(argv[1]))) { /* If we get a KILL for a non-local user, it could be a Ghost * response to a KILL we sent out earlier. So we only whine --- 1185,1194 ---- struct userNode *user; if (argc < 2) return 0; ! if (argv[1][0] == ':') { ! user = GetUserH(argv[1]+1); ! } else { ! user = GetUserN(argv[1]); ! } ! if (!user) { /* If we get a KILL for a non-local user, it could be a Ghost * response to a KILL we sent out earlier. So we only whine *************** *** 1223,1227 **** { if (argc < 3) return 0; ! ChannelUserKicked(GetUserH(origin), GetUser(argv[2]), GetChannel(argv[1])); return 1; } --- 1224,1228 ---- { if (argc < 3) return 0; ! ChannelUserKicked(GetUserH(origin), GetUserN(argv[2]), GetChannel(argv[1])); return 1; } *************** *** 1290,1294 **** if (argv[2][0] == '+') { if (argc < 5) return 0; ! gline_add(origin, argv[2]+1, strtoul(argv[3], NULL, 0), argv[4], now, 0); return 1; } else if (argv[2][0] == '-') { --- 1291,1295 ---- if (argv[2][0] == '+') { if (argc < 5) return 0; ! gline_add(origin, argv[2]+1, strtoul(argv[3], NULL, 0), argv[5], now, 0); return 1; } else if (argv[2][0] == '-') { *************** *** 1550,1556 **** struct chanNode *chan = GetChannel(target_list); if (chan) { ! if (cf) cf(chan, data); } else { ! if (nc) nc(target_list, data); } } else { --- 1551,1561 ---- struct chanNode *chan = GetChannel(target_list); if (chan) { ! if (cf) { ! cf(chan, data); ! } } else { ! if (nc) { ! nc(target_list, data); ! } } } else { *************** *** 1578,1584 **** if (user) { ! if (uf) uf(user, data); } else { ! if (nu) nu(target_list, data); } } --- 1583,1593 ---- if (user) { ! if (uf) { ! uf(user, data); ! } } else { ! if (nu) { ! nu(target_list, data); ! } } } *************** *** 1907,1911 **** case 'O': do_user_mode(FLAGS_LOCOP); break; case 'i': do_user_mode(FLAGS_INVISIBLE); ! if (add) invis_clients++; else invis_clients--; break; case 'w': do_user_mode(FLAGS_WALLOP); break; --- 1916,1924 ---- case 'O': do_user_mode(FLAGS_LOCOP); break; case 'i': do_user_mode(FLAGS_INVISIBLE); ! if (add) { ! invis_clients++; ! } else { ! invis_clients--; ! } break; case 'w': do_user_mode(FLAGS_WALLOP); break; *************** *** 2084,2092 **** case 'l': if (add) { ! if(!*word) return 0; channel->limit = strtoul(word, NULL, 0); advance_word; ! if(channel->limit) channel->modes |= MODE_LIMIT; ! else channel->modes &= ~MODE_LIMIT; } else { /* Old limit not given for MODE -l */ --- 2097,2110 ---- case 'l': if (add) { ! if (!*word) { ! return 0; ! } channel->limit = strtoul(word, NULL, 0); advance_word; ! if (channel->limit) { ! channel->modes |= MODE_LIMIT; ! } else { ! channel->modes &= ~MODE_LIMIT; ! } } else { /* Old limit not given for MODE -l */ *************** *** 2095,2102 **** break; case 'k': if (add) { unsigned int n; - if(!*word) return 0; channel->modes |= MODE_KEY; for (n=0; (*word != ' ' && *word) && (n < sizeof(channel->key)-1); n++) { --- 2113,2122 ---- break; case 'k': + if (!*word) { + return 0; + } if (add) { unsigned int n; channel->modes |= MODE_KEY; for (n=0; (*word != ' ' && *word) && (n < sizeof(channel->key)-1); n++) { *************** *** 2105,2109 **** channel->key[n] = 0; } else { - if(!*word) return 0; channel->modes &= ~MODE_KEY; } --- 2125,2128 ---- *************** *** 2119,2127 **** int bit; ! if(!*word) { return 0; } ! for(start = word, length = 0; *word; word++, length++) { ! if(*word == ' ' || length >= COMBO_NUMERIC_LEN) { break; } --- 2138,2146 ---- int bit; ! if (!*word) { return 0; } ! for (start = word, length = 0; *word; word++, length++) { ! if (*word == ' ' || length >= COMBO_NUMERIC_LEN) { break; } *************** *** 2142,2149 **** bit = (modes[-1] == 'o') ? MODE_CHANOP : MODE_VOICE; ! if (add) mn->modes |= bit; ! else mn->modes &= ~bit; ! if(bit != MODE_CHANOP) break; ! if (who) { call_mode_change_funcs(channel, who, add ? MODE_CHANGE_OP : MODE_CHANGE_DEOP, vic); --- 2161,2172 ---- bit = (modes[-1] == 'o') ? MODE_CHANOP : MODE_VOICE; ! if (add) { ! mn->modes |= bit; ! } else { ! mn->modes &= ~bit; ! } ! if (bit != MODE_CHANOP) { ! break; ! } if (who) { call_mode_change_funcs(channel, who, add ? MODE_CHANGE_OP : MODE_CHANGE_DEOP, vic); *************** *** 2156,2164 **** const char *start, *list = (const char *)ban; ! if(!*word) { return 0; } ! for(start = word, length = 0; *word; word++, length++) { ! if(*word == ' ' || length >= NICKLEN + USERLEN + HOSTLEN + 2) { break; } --- 2179,2187 ---- const char *start, *list = (const char *)ban; ! if (!*word) { return 0; } ! for (start = word, length = 0; *word; word++, length++) { ! if (*word == ' ' || length >= NICKLEN + USERLEN + HOSTLEN + 2) { break; } *************** *** 2188,2250 **** } ! int clear_chanmode(struct chanNode *channel, struct userNode *who, const char *modes) { ! static int flags[] = { ! MODE_CHANOP, 'o', ! MODE_VOICE, 'v', ! MODE_PRIVATE, 'p', ! MODE_SECRET, 's', ! MODE_MODERATED, 'm', ! MODE_TOPICLIMIT, 't', ! MODE_INVITEONLY, 'i', ! MODE_NOPRIVMSGS, 'n', ! MODE_KEY, 'k', ! MODE_BAN, 'b', ! MODE_LIMIT, 'l', ! MODE_DELAYJOINS, 'D', ! MODE_REGONLY, 'r', ! MODE_NOCTCPS, 'C', ! 0x0, 0x0 ! }; ! unsigned int remove = 0; ! while(*modes) ! { ! int *flag_p; ! ! for(flag_p = flags; flag_p[0]; flag_p += 2) ! { ! if(*modes == flag_p[1]) ! { ! remove |= flag_p[0]; ! break; ! } } - modes++; } ! if(!remove) ! { return 1; } - /* Handle channel modes that take arguments in order - of their appearance in flags[]. */ - if((remove & MODE_KEY) && channel->key) - { - channel->key[0] = '\0'; - } - if((remove & MODE_LIMIT) && channel->limit) - { - channel->limit = 0; - } - /* Remove simple modes. */ channel->modes &= ~remove; /* If removing bans, kill 'em all. */ ! if(remove & MODE_BAN && channel->banlist.used) ! { unsigned int i; struct banNode **ary = channel->banlist.list; --- 2211,2254 ---- } ! static int clear_chanmode(struct chanNode *channel, struct userNode *who, const char *modes) { ! unsigned int remove; ! for (remove = 0; *modes; modes++) { ! switch (*modes) { ! case 'o': remove |= MODE_CHANOP; break; ! case 'v': remove |= MODE_VOICE; break; ! case 'p': remove |= MODE_PRIVATE; break; ! case 's': remove |= MODE_SECRET; break; ! case 'm': remove |= MODE_MODERATED; break; ! case 't': remove |= MODE_TOPICLIMIT; break; ! case 'i': remove |= MODE_INVITEONLY; break; ! case 'n': remove |= MODE_NOPRIVMSGS; break; ! case 'k': ! remove |= MODE_KEY; ! channel->key[0] = '\0'; ! break; ! case 'l': ! remove |= MODE_LIMIT; ! channel->limit = 0; ! break; ! case 'b': remove |= MODE_BAN; break; ! case 'D': remove |= MODE_DELAYJOINS; break; ! case 'r': remove |= MODE_REGONLY; break; ! case 'c': remove |= MODE_NOCOLORS; ! case 'C': remove |= MODE_NOCTCPS; break; } } ! if (!remove) { return 1; } /* Remove simple modes. */ channel->modes &= ~remove; /* If removing bans, kill 'em all. */ ! if (remove & MODE_BAN && channel->banlist.used) { unsigned int i; struct banNode **ary = channel->banlist.list; *************** *** 2253,2258 **** removed = alloc_string_list(channel->banlist.used); ! for (i=0; i<channel->banlist.used; i++) ! { ban = strdup(ary[i]->ban); string_list_append(removed, ban); --- 2257,2261 ---- removed = alloc_string_list(channel->banlist.used); ! for (i=0; i<channel->banlist.used; i++) { ban = strdup(ary[i]->ban); string_list_append(removed, ban); *************** *** 2263,2273 **** /* Remove member modes. */ ! if(remove & (MODE_CHANOP | MODE_VOICE) && channel->members.used) ! { int mask = ~(remove & (MODE_CHANOP | MODE_VOICE)); unsigned int i; ! for(i = 0; i < channel->members.used; i++) ! { channel->members.list[i]->modes &= mask; } --- 2266,2274 ---- /* Remove member modes. */ ! if (remove & (MODE_CHANOP | MODE_VOICE) && channel->members.used) { int mask = ~(remove & (MODE_CHANOP | MODE_VOICE)); unsigned int i; ! for (i = 0; i < channel->members.used; i++) { channel->members.list[i]->modes &= mask; } |
From: Entrope <en...@us...> - 2003-09-01 14:45:48
|
Update of /cvsroot/srvx/services/src In directory sc8-pr-cvs1:/tmp/cvs-serv27322/src Modified Files: mod-memoserv.c Log Message: add comment on how to activate MemoServ functions Index: mod-memoserv.c =================================================================== RCS file: /cvsroot/srvx/services/src/mod-memoserv.c,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** mod-memoserv.c 22 Aug 2003 04:06:54 -0000 1.4 --- mod-memoserv.c 1 Sep 2003 14:45:42 -0000 1.5 *************** *** 27,30 **** --- 27,47 ---- * }; * }; + * + * After that, to make the module active on an existing bot: + * /msg opserv bind nickserv * *memoserv.* + * + * If you want a dedicated MemoServ bot, make sure the service control + * commands are bound to OpServ: + * /msg opserv bind opserv service *modcmd.joiner + * /msg opserv bind opserv service\ add *modcmd.service\ add + * /msg opserv bind opserv service\ rename *modcmd.service\ rename + * /msg opserv bind opserv service\ trigger *modcmd.service\ trigger + * /msg opserv bind opserv service\ remove *modcmd.service\ remove + * Add the bot: + * /msg opserv service add MemoServ User-to-user Memorandum Service + * /msg opserv bind memoserv help *modcmd.help + * Restart srvx with the updated conf file (as above, butwith "bot" + * "MemoServ"), and bind the commands to it: + * /msg opserv bind memoserv * *memoserv.* */ |
From: Entrope <en...@us...> - 2003-09-01 14:45:10
|
Update of /cvsroot/srvx/services/src In directory sc8-pr-cvs1:/tmp/cvs-serv27196/src Modified Files: ioset.c Log Message: remove some unneeded if() tests Index: ioset.c =================================================================== RCS file: /cvsroot/srvx/services/src/ioset.c,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -r1.16 -r1.17 *** ioset.c 7 Jul 2003 16:29:33 -0000 1.16 --- ioset.c 1 Sep 2003 14:45:07 -0000 1.17 *************** *** 214,219 **** if (fdp->send.get != fdp->send.put) ioset_try_write(fdp); } ! if (fdp->send.buf) free(fdp->send.buf); ! if (fdp->recv.buf) free(fdp->recv.buf); if (os_close) close(fd); free(fdp); --- 214,219 ---- if (fdp->send.get != fdp->send.put) ioset_try_write(fdp); } ! free(fdp->send.buf); ! free(fdp->recv.buf); if (os_close) close(fd); free(fdp); *************** *** 249,254 **** default: log_module(MAIN_LOG, LOG_ERROR, "Unexpected read() error %d on fd %d: %s", errno, fd->fd, strerror(errno)); ! /* Just flag it as EOF and call ioset_line_read() to notify ! the fd's owner. */ fd->eof = 1; fd->wants_reads = 0; --- 249,253 ---- default: log_module(MAIN_LOG, LOG_ERROR, "Unexpected read() error %d on fd %d: %s", errno, fd->fd, strerror(errno)); ! /* Just flag it as EOF and call readable_cb() to notify the fd's owner. */ fd->eof = 1; fd->wants_reads = 0; |
From: Entrope <en...@us...> - 2003-09-01 14:44:56
|
Update of /cvsroot/srvx/services/src In directory sc8-pr-cvs1:/tmp/cvs-serv27101/src Modified Files: helpserv.c Log Message: fix type of string length variable Index: helpserv.c =================================================================== RCS file: /cvsroot/srvx/services/src/helpserv.c,v retrieving revision 1.78 retrieving revision 1.79 diff -C2 -r1.78 -r1.79 *** helpserv.c 18 Aug 2003 19:36:46 -0000 1.78 --- helpserv.c 1 Sep 2003 14:44:52 -0000 1.79 *************** *** 2495,2499 **** static HELPSERV_FUNC(cmd_unregister) { ! int len; char reason[MAXLEN], channame[CHANNELLEN], botname[NICKLEN]; struct helpserv_botlist *botlist; --- 2495,2499 ---- static HELPSERV_FUNC(cmd_unregister) { ! size_t len; char reason[MAXLEN], channame[CHANNELLEN], botname[NICKLEN]; struct helpserv_botlist *botlist; |
From: Entrope <en...@us...> - 2003-09-01 14:44:30
|
Update of /cvsroot/srvx/services/src In directory sc8-pr-cvs1:/tmp/cvs-serv26919/src Modified Files: heap.c Log Message: fix typo in comment before heap_pop() remove unused function timeval_comparator() Index: heap.c =================================================================== RCS file: /cvsroot/srvx/services/src/heap.c,v retrieving revision 1.23 retrieving revision 1.24 diff -C2 -r1.23 -r1.24 *** heap.c 7 Jul 2003 16:29:33 -0000 1.23 --- heap.c 1 Sep 2003 14:44:26 -0000 1.24 *************** *** 149,153 **** /* ! * Pop the topmost elment from the heap (preserving the heap ordering). */ void --- 149,153 ---- /* ! * Pop the topmost element from the heap (preserving the heap ordering). */ void *************** *** 214,227 **** { return TIME_T_CAST(a)-TIME_T_CAST(b); - } - - int - timeval_comparator(const void *a, const void *b) - { - struct timeval *ta, *tb; - ta = (struct timeval*)a; - tb = (struct timeval*)b; - return ta->tv_sec == tb->tv_sec ? - ta->tv_usec < tb->tv_usec : - ta->tv_sec < tb->tv_sec; } --- 214,216 ---- |
From: Entrope <en...@us...> - 2003-09-01 14:44:19
|
Update of /cvsroot/srvx/services/src In directory sc8-pr-cvs1:/tmp/cvs-serv26894/src Modified Files: hash.c Log Message: fix typo in comment before heap_pop() remove unused function timeval_comparator() Index: hash.c =================================================================== RCS file: /cvsroot/srvx/services/src/hash.c,v retrieving revision 1.179 retrieving revision 1.180 diff -C2 -r1.179 -r1.180 *** hash.c 5 Aug 2003 02:22:29 -0000 1.179 --- hash.c 1 Sep 2003 14:44:16 -0000 1.180 *************** *** 137,141 **** void ReintroduceUser(struct userNode *user) ! { unsigned int n; char modes[MAXLEN]; --- 137,141 ---- void ReintroduceUser(struct userNode *user) ! { unsigned int n; char modes[MAXLEN]; *************** *** 193,197 **** } user->timestamp = now; ! if (IsLocal(user) && !no_announce) irc_nick(user, old_nick); free(old_nick); } --- 193,199 ---- } user->timestamp = now; ! if (IsLocal(user) && !no_announce) { ! irc_nick(user, old_nick); ! } free(old_nick); } *************** *** 221,225 **** right now. ! P10 Protocol violation if (user->modes & FLAGS_STAMPED here.) */ if(account_func) --- 223,227 ---- right now. ! P10 Protocol violation if (user->modes & FLAGS_STAMPED) here. */ if(account_func) *************** *** 526,530 **** { if (!channel->locks) return; ! if (!--channel->locks && !channel->members.used) DelChannel(channel); } --- 528,534 ---- { if (!channel->locks) return; ! if (!--channel->locks && !channel->members.used) { ! DelChannel(channel); ! } } *************** *** 535,539 **** unsigned int n; ! if (reason) irc_part(user, channel, reason); mNode = GetUserMode(channel, user); --- 539,545 ---- unsigned int n; ! if (reason) { ! irc_part(user, channel, reason); ! } mNode = GetUserMode(channel, user); *************** *** 876,880 **** } else { for (n=0; n<tf_used; n++) { ! if (tf_list[n](user, channel, old_topic)) break; } } --- 882,888 ---- } else { for (n=0; n<tf_used; n++) { ! if (tf_list[n](user, channel, old_topic)) { ! break; ! } } } *************** *** 925,937 **** userList_clean(&curr_opers); ! if (slf_list) free(slf_list); ! if (nuf_list) free(nuf_list); ! if (ncf2_list) free(ncf2_list); ! if (duf_list) free(duf_list); ! if (ncf_list) free(ncf_list); ! if (jf_list) free(jf_list); ! if (dcf_list) free(dcf_list); ! if (pf_list) free(pf_list); ! if (kf_list) free(kf_list); ! if (tf_list) free(tf_list); } --- 933,945 ---- userList_clean(&curr_opers); ! free(slf_list); ! free(nuf_list); ! free(ncf2_list); ! free(duf_list); ! free(ncf_list); ! free(jf_list); ! free(dcf_list); ! free(pf_list); ! free(kf_list); ! free(tf_list); } |
From: Entrope <en...@us...> - 2003-09-01 14:43:25
|
Update of /cvsroot/srvx/services/src In directory sc8-pr-cvs1:/tmp/cvs-serv26734/src Modified Files: common.h Log Message: make valgrind happy with safestrncpy() on long buffers Index: common.h =================================================================== RCS file: /cvsroot/srvx/services/src/common.h,v retrieving revision 1.91 retrieving revision 1.92 diff -C2 -r1.91 -r1.92 *** common.h 3 Aug 2003 14:40:24 -0000 1.91 --- common.h 1 Sep 2003 14:43:22 -0000 1.92 *************** *** 48,52 **** #define ArrayLength(x) (sizeof(x)/sizeof(x[0])) ! #define safestrncpy(dest, src, len) do { char *d = (dest); unsigned int l = (len); strncpy(d, (src), l); d[l-1] = 0; } while (0) #ifdef __GNUC__ --- 48,52 ---- #define ArrayLength(x) (sizeof(x)/sizeof(x[0])) ! #define safestrncpy(dest, src, len) do { char *d = (dest); size_t l = strlen(src)+1; if ((len) < l) l = (len); memmove(d, (src), l); d[l-1] = 0; } while (0) #ifdef __GNUC__ |
From: Entrope <en...@us...> - 2003-09-01 14:42:22
|
Update of /cvsroot/srvx/services In directory sc8-pr-cvs1:/tmp/cvs-serv26562 Modified Files: autogen.sh Log Message: remove version numbers from aclocal and automake invocations Index: autogen.sh =================================================================== RCS file: /cvsroot/srvx/services/autogen.sh,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -r1.13 -r1.14 *** autogen.sh 9 Nov 2002 02:33:22 -0000 1.13 --- autogen.sh 1 Sep 2003 14:42:18 -0000 1.14 *************** *** 1,7 **** #! /bin/sh ! aclocal-1.6 autoheader -Wall ! automake-1.6 -a --gnu Makefile rx/Makefile src/Makefile autoconf -Wall if [ -d ./src/srvx ] ; then --- 1,7 ---- #! /bin/sh ! aclocal autoheader -Wall ! automake -a --gnu Makefile rx/Makefile src/Makefile autoconf -Wall if [ -d ./src/srvx ] ; then |
From: Entrope <en...@us...> - 2003-09-01 14:41:59
|
Update of /cvsroot/srvx/services In directory sc8-pr-cvs1:/tmp/cvs-serv26478 Modified Files: configure.in Log Message: use preferred AC_CONFIG_HEADERS directive Index: configure.in =================================================================== RCS file: /cvsroot/srvx/services/configure.in,v retrieving revision 1.71 retrieving revision 1.72 diff -C2 -r1.71 -r1.72 *** configure.in 29 Jul 2003 01:51:24 -0000 1.71 --- configure.in 1 Sep 2003 14:41:55 -0000 1.72 *************** *** 6,10 **** AC_INIT(srvx, 1.2, srv...@li...) CODENAME=dust ! AM_CONFIG_HEADER(src/config.h) AC_CONFIG_SRCDIR(src/opserv.c) dnl AM_CANONICAL_TARGET must be before AM_INIT_AUTOMAKE() or autoconf whines --- 6,10 ---- AC_INIT(srvx, 1.2, srv...@li...) CODENAME=dust ! AC_CONFIG_HEADERS(src/config.h) AC_CONFIG_SRCDIR(src/opserv.c) dnl AM_CANONICAL_TARGET must be before AM_INIT_AUTOMAKE() or autoconf whines |
From: Entrope <en...@us...> - 2003-09-01 14:37:01
|
Update of /cvsroot/srvx/services In directory sc8-pr-cvs1:/tmp/cvs-serv25671 Modified Files: INSTALL Log Message: srvx works with RH 8.x egcs is long obsolete, so do not recommend it Index: INSTALL =================================================================== RCS file: /cvsroot/srvx/services/INSTALL,v retrieving revision 1.24 retrieving revision 1.25 diff -C2 -r1.24 -r1.25 *** INSTALL 7 Jul 2003 02:24:11 -0000 1.24 --- INSTALL 1 Sep 2003 14:36:53 -0000 1.25 *************** *** 35,39 **** For the Linux kernel, srvx has been tested on Debian 2.x - 3.x, and ! Redhat 5.x - 7.x. srvx should compile on other system types also. If you have success --- 35,39 ---- For the Linux kernel, srvx has been tested on Debian 2.x - 3.x, and ! Redhat 5.x - 8.x. srvx should compile on other system types also. If you have success *************** *** 43,47 **** gcc 2.96 tends to emit spurious warnings; before reporting any compiler warnings from it, make sure you are using the most recent ! version of it or try using an official release of gcc or egcs. You may also have trouble unless your compiler's C preprocessor --- 43,47 ---- gcc 2.96 tends to emit spurious warnings; before reporting any compiler warnings from it, make sure you are using the most recent ! version of it or try using an official release of gcc. You may also have trouble unless your compiler's C preprocessor |
From: Entrope <en...@us...> - 2003-08-22 09:36:31
|
Update of /cvsroot/srvx/services/src In directory sc8-pr-cvs1:/tmp/cvs-serv22303/src Modified Files: mod-memoserv.c Log Message: fix "delete * confirm" check fix min_argc for "set <option>" commands Index: mod-memoserv.c =================================================================== RCS file: /cvsroot/srvx/services/src/mod-memoserv.c,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** mod-memoserv.c 18 Aug 2003 19:35:50 -0000 1.1 --- mod-memoserv.c 21 Aug 2003 03:59:35 -0000 1.2 *************** *** 271,275 **** if (!(ma = memoserv_get_account(user->handle_info))) return 0; if (!irccasecmp(argv[1], "*") || !irccasecmp(argv[1], "all")) { ! if ((argc < 3) || !irccasecmp(argv[2], "confirm")) { reply(MSMSG_USE_CONFIRM); return 0; --- 271,275 ---- if (!(ma = memoserv_get_account(user->handle_info))) return 0; if (!irccasecmp(argv[1], "*") || !irccasecmp(argv[1], "all")) { ! if ((argc < 3) || irccasecmp(argv[2], "confirm")) { reply(MSMSG_USE_CONFIRM); return 0; *************** *** 540,546 **** modcmd_register(memoserv_module, "expiry", cmd_expiry, 1, 0, NULL); modcmd_register(memoserv_module, "status", cmd_status, 1, 0, NULL); ! modcmd_register(memoserv_module, "set notify", cmd_set_notify, 3, 0, NULL); ! modcmd_register(memoserv_module, "set authnotify", cmd_set_authnotify, 3, 0, NULL); ! modcmd_register(memoserv_module, "set private", cmd_set_private, 3, 0, NULL); modcmd_register(memoserv_module, "version", cmd_version, 1, 0, NULL); --- 540,546 ---- modcmd_register(memoserv_module, "expiry", cmd_expiry, 1, 0, NULL); modcmd_register(memoserv_module, "status", cmd_status, 1, 0, NULL); ! modcmd_register(memoserv_module, "set notify", cmd_set_notify, 1, 0, NULL); ! modcmd_register(memoserv_module, "set authnotify", cmd_set_authnotify, 1, 0, NULL); ! modcmd_register(memoserv_module, "set private", cmd_set_private, 1, 0, NULL); modcmd_register(memoserv_module, "version", cmd_version, 1, 0, NULL); |
From: Entrope <en...@us...> - 2003-08-22 05:30:55
|
Update of /cvsroot/srvx/services/src In directory sc8-pr-cvs1:/tmp/cvs-serv5843/src Modified Files: mod-snoop.c Log Message: add proper return values to snoop_finalize() Index: mod-snoop.c =================================================================== RCS file: /cvsroot/srvx/services/src/mod-snoop.c,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -r1.17 -r1.18 *** mod-snoop.c 18 Aug 2003 19:35:13 -0000 1.17 --- mod-snoop.c 19 Aug 2003 22:56:59 -0000 1.18 *************** *** 169,177 **** node = conf_get_data("modules/snoop", RECDB_OBJECT); ! if (!node) return; str = database_get_data(node, "bot", RECDB_QSTRING); ! if (!str) return; snoop_cfg.bot = GetUserH(str); ! if (!snoop_cfg.bot) return; AddChannelUser(snoop_cfg.bot, snoop_cfg.channel); AddChannelOp(1, &snoop_cfg.bot, snoop_cfg.channel, snoop_cfg.bot, 1); --- 169,177 ---- node = conf_get_data("modules/snoop", RECDB_OBJECT); ! if (!node) return 0; str = database_get_data(node, "bot", RECDB_QSTRING); ! if (!str) return 0; snoop_cfg.bot = GetUserH(str); ! if (!snoop_cfg.bot) return 0; AddChannelUser(snoop_cfg.bot, snoop_cfg.channel); AddChannelOp(1, &snoop_cfg.bot, snoop_cfg.channel, snoop_cfg.bot, 1); |
From: Entrope <en...@us...> - 2003-08-22 05:30:53
|
Update of /cvsroot/srvx/services/src In directory sc8-pr-cvs1:/tmp/cvs-serv5797/src Modified Files: proto-p10.c Log Message: remove deleted channels from the unbursted_channels dict in case they expire while we are still bursting Index: proto-p10.c =================================================================== RCS file: /cvsroot/srvx/services/src/proto-p10.c,v retrieving revision 1.73 retrieving revision 1.74 diff -C2 -r1.73 -r1.74 *** proto-p10.c 5 Aug 2003 02:22:29 -0000 1.73 --- proto-p10.c 19 Aug 2003 22:56:33 -0000 1.74 *************** *** 1337,1340 **** --- 1337,1345 ---- } + static void + remove_unbursted_channel(struct chanNode *cNode) { + dict_remove(unbursted_channels, cNode->name); + } + void init_parse(void) *************** *** 1488,1491 **** --- 1493,1497 ---- userList_init(&dead_users); + reg_del_channel_func(remove_unbursted_channel); reg_exit_func(parse_cleanup); } |
From: Entrope <en...@us...> - 2003-08-22 04:07:56
|
Update of /cvsroot/srvx/services/src In directory sc8-pr-cvs1:/tmp/cvs-serv17911/src Modified Files: chanserv.c Log Message: unlock source channel in a move (memory leak) allow masters to !wipeinfo Index: chanserv.c =================================================================== RCS file: /cvsroot/srvx/services/src/chanserv.c,v retrieving revision 1.378 retrieving revision 1.379 diff -C2 -r1.378 -r1.379 *** chanserv.c 21 Aug 2003 03:30:38 -0000 1.378 --- chanserv.c 22 Aug 2003 04:07:51 -0000 1.379 *************** *** 2126,2129 **** --- 2126,2130 ---- DelChannelUser(chanserv, channel, reason2, 0); } + UnlockChannel(channel); global_message(MESSAGE_RECIPIENT_OPERS | MESSAGE_RECIPIENT_HELPERS, reason); return 1; *************** *** 7254,7258 **** DEFINE_COMMAND(set, 1, MODCMD_REQUIRE_CHANUSER, "access", "op", NULL); DEFINE_COMMAND(setinfo, 1, MODCMD_REQUIRE_CHANUSER, "flags", "+nolog", NULL); ! DEFINE_COMMAND(wipeinfo, 2, MODCMD_REQUIRE_CHANUSER, "access", "coowner", NULL); DEFINE_COMMAND(events, 1, MODCMD_REQUIRE_REGCHAN, "flags", "+nolog", "access", "coowner", NULL); --- 7255,7259 ---- DEFINE_COMMAND(set, 1, MODCMD_REQUIRE_CHANUSER, "access", "op", NULL); DEFINE_COMMAND(setinfo, 1, MODCMD_REQUIRE_CHANUSER, "flags", "+nolog", NULL); ! DEFINE_COMMAND(wipeinfo, 2, MODCMD_REQUIRE_CHANUSER, "access", "master", NULL); DEFINE_COMMAND(events, 1, MODCMD_REQUIRE_REGCHAN, "flags", "+nolog", "access", "coowner", NULL); |
From: Entrope <en...@us...> - 2003-08-22 04:06:58
|
Update of /cvsroot/srvx/services/src In directory sc8-pr-cvs1:/tmp/cvs-serv17791/src Modified Files: mod-memoserv.c Log Message: fix typo that put messages with the wrong sender Index: mod-memoserv.c =================================================================== RCS file: /cvsroot/srvx/services/src/mod-memoserv.c,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** mod-memoserv.c 22 Aug 2003 00:25:50 -0000 1.3 --- mod-memoserv.c 22 Aug 2003 04:06:54 -0000 1.4 *************** *** 180,184 **** memo->message = strdup(message); memoList_append(&recipient->recvd, memo); ! memoList_append(&recipient->sent, memo); memosSent++; return memo; --- 180,184 ---- memo->message = strdup(message); memoList_append(&recipient->recvd, memo); ! memoList_append(&sender->sent, memo); memosSent++; return memo; |
From: Entrope <en...@us...> - 2003-08-22 03:52:37
|
Update of /cvsroot/srvx/services/src In directory sc8-pr-cvs1:/tmp/cvs-serv19207/src Modified Files: chanserv.c Log Message: do not crash when truncating a note on channels that don't have the note remove an unnecessary jump to improve profiling coverage if a !set option is somehow corrupted, reset it to the default Index: chanserv.c =================================================================== RCS file: /cvsroot/srvx/services/src/chanserv.c,v retrieving revision 1.377 retrieving revision 1.378 diff -C2 -r1.377 -r1.378 *** chanserv.c 18 Aug 2003 19:32:13 -0000 1.377 --- chanserv.c 21 Aug 2003 03:30:38 -0000 1.378 *************** *** 792,796 **** for (cData = channelList; cData; cData = cData->next) { note = dict_find(cData->notes, ntype->name, NULL); ! if(strlen(note->note) > ntype->max_length) { dict_remove2(cData->notes, ntype->name, 1); note = realloc(note, size); --- 792,799 ---- for (cData = channelList; cData; cData = cData->next) { note = dict_find(cData->notes, ntype->name, NULL); ! if (!note) { ! continue; ! } ! if (strlen(note->note) > ntype->max_length) { dict_remove2(cData->notes, ntype->name, 1); note = realloc(note, size); *************** *** 934,938 **** { int lock = -1, argo = 1, pos = 0, limit = 0, key = 0; ! long on = 0, off = 0, conflict = 0; if(count < 1) return 0; --- 937,941 ---- { int lock = -1, argo = 1, pos = 0, limit = 0, key = 0; ! long on = 0, off = 0; if(count < 1) return 0; *************** *** 1004,1016 **** } ! /* strip out any conflicting mode locks ('+p-p', for example). */ ! if((conflict = on & off)) ! { ! on &= ~conflict; ! off &= ~conflict; ! } ! ! channel->mode_on = on; ! channel->mode_off = off; return 1; --- 1007,1013 ---- } ! /* do not record conflicting mode locks ('+p-p', for example). */ ! channel->mode_on = on & ~off; ! channel->mode_off = off & ~on; return 1; *************** *** 5313,5316 **** --- 5310,5319 ---- /* Find current option value. */ for(index = 0; index < count && cData->options[option] != values[index].value; index++); + if(index == count) + { + /* Somehow, the option value is corrupt; reset it to the default. */ + cData->options[option] = CHANNEL_DEFAULT_OPTIONS[option]; + for(index = 0; index < count && cData->options[option] != values[index].value; index++); + } } |