srvx-commits Mailing List for srvx IRC Services (Page 24)
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...> - 2002-11-09 01:29:58
|
Update of /cvsroot/srvx/services/src
In directory usw-pr-cvs1:/tmp/cvs-serv4368/src
Modified Files:
main.c
Log Message:
ignore SIGPIPE (which we will get from proxychecking occasionally)
Index: main.c
===================================================================
RCS file: /cvsroot/srvx/services/src/main.c,v
retrieving revision 1.143
retrieving revision 1.144
diff -C2 -r1.143 -r1.144
*** main.c 5 Nov 2002 03:10:07 -0000 1.143
--- main.c 9 Nov 2002 01:29:55 -0000 1.144
***************
*** 638,642 ****
memset(&sv, 0, sizeof(sv));
sigemptyset(&sv.sa_mask);
! sigaddset(&sv.sa_mask, SIGPIPE);
sv.sa_handler = sigaction_rehash;
sigaction(SIGHUP, &sv, NULL);
--- 638,643 ----
memset(&sv, 0, sizeof(sv));
sigemptyset(&sv.sa_mask);
! sv.sa_handler = SIG_IGN;
! sigaction(SIGPIPE, &sv, NULL);
sv.sa_handler = sigaction_rehash;
sigaction(SIGHUP, &sv, NULL);
|
|
From: Adrian D. <sai...@us...> - 2002-11-07 02:05:50
|
Update of /cvsroot/srvx/services/src
In directory usw-pr-cvs1:/tmp/cvs-serv19544
Modified Files:
helpserv.c helpserv.help
Log Message:
Add set option ReqMaxLen -- the maximum number of lines allowed in a request
Index: helpserv.c
===================================================================
RCS file: /cvsroot/srvx/services/src/helpserv.c,v
retrieving revision 1.46
retrieving revision 1.47
diff -C2 -r1.46 -r1.47
*** helpserv.c 4 Nov 2002 04:28:22 -0000 1.46
--- helpserv.c 7 Nov 2002 02:05:47 -0000 1.47
***************
*** 71,74 ****
--- 71,75 ----
#define KEY_REGISTRAR "registrar"
#define KEY_IDWRAP "id_wrap"
+ #define KEY_REQ_MAXLEN "req_maxlen"
#define KEY_LAST_REQUESTID "last_requestid"
#define KEY_HELPERS "users"
***************
*** 177,180 ****
--- 178,182 ----
#define HSMSG_REQ_PERSIST_PART "Everything you tell me until you are helped (or you leave %s) will be recorded. If you part %s, your request will be lost."
#define HSMSG_REQ_PERSIST_HANDLE "Everything you tell me until you are helped will be recorded."
+ #define HSMSG_REQ_MAXLEN "Sorry, but your request has reached the maximum number of lines. Please wait to be assigned to a helper and continue explaining your request to them."
#define HSMSG_REQ_FOUND_ANOTHER "Request ID#%lu has been closed. $S detected that you also have request ID#%lu open. If you send $S a message, it will be associated with that request."
***************
*** 402,405 ****
--- 404,408 ----
unsigned long last_requestid;
unsigned long id_wrap;
+ unsigned long req_maxlen; /* Maxmimum request length in lines */
unsigned int privmsg_only : 1;
***************
*** 819,823 ****
req = create_request(user, hs, 0);
helpserv_page(PGSRC_STATUS, HSMSG_PAGE_NEW_REQUEST, req->id, user->nick, user->handle_info ? user->handle_info->handle : "not authed");
! } else if (hs->intervals[INTERVAL_STALE_DELAY] && (req->updated < TIME_T_CAST(now - hs->intervals[INTERVAL_STALE_DELAY]))) {
char buf[MAX_LINE_SIZE], updatestr[INTERVALLEN], timestr[MAX_LINE_SIZE];
strftime(timestr, MAX_LINE_SIZE, HSFMT_TIME, localtime(&req->opened));
--- 822,826 ----
req = create_request(user, hs, 0);
helpserv_page(PGSRC_STATUS, HSMSG_PAGE_NEW_REQUEST, req->id, user->nick, user->handle_info ? user->handle_info->handle : "not authed");
! } else if (hs->intervals[INTERVAL_STALE_DELAY] && (req->updated < TIME_T_CAST(now - hs->intervals[INTERVAL_STALE_DELAY])) && (!hs->req_maxlen || req->text->used < hs->req_maxlen)) {
char buf[MAX_LINE_SIZE], updatestr[INTERVALLEN], timestr[MAX_LINE_SIZE];
strftime(timestr, MAX_LINE_SIZE, HSFMT_TIME, localtime(&req->opened));
***************
*** 834,838 ****
req->updated = now;
! string_list_append(req->text, strdup(text));
}
--- 837,845 ----
req->updated = now;
! if (!hs->req_maxlen || req->text->used < hs->req_maxlen) {
! string_list_append(req->text, strdup(text));
! } else {
! helpserv_msguser(user, HSMSG_REQ_MAXLEN);
! }
}
***************
*** 2666,2677 ****
}
static HELPSERV_OPTION(opt_id_wrap) {
! int changed=0;
! if (argc > 0) {
! hs->id_wrap = strtoul(argv[0], NULL, 0);
! changed = 1;
! }
! helpserv_notice(user, HSMSG_INTEGER_VALUE, "IDWrap", hs->id_wrap);
! return changed;
}
--- 2673,2693 ----
}
+ #define OPTION_UINT(var, name) do { \
+ int changed=0; \
+ \
+ if (argc > 0) { \
+ (var) = strtoul(argv[0], NULL, 0); \
+ changed = 1; \
+ } \
+ helpserv_notice(user, HSMSG_INTEGER_VALUE, (name), (var)); \
+ return changed; \
+ } while (0);
+
static HELPSERV_OPTION(opt_id_wrap) {
! OPTION_UINT(hs->id_wrap, "IDWrap");
! }
!
! static HELPSERV_OPTION(opt_req_maxlen) {
! OPTION_UINT(hs->req_maxlen, "ReqMaxLen");
}
***************
*** 2716,2720 ****
opt_empty_interval, opt_stale_delay, opt_request_persistence,
opt_helper_persistence, opt_notification, opt_id_wrap,
! opt_privmsg_only, opt_req_on_join
};
--- 2732,2736 ----
opt_empty_interval, opt_stale_delay, opt_request_persistence,
opt_helper_persistence, opt_notification, opt_id_wrap,
! opt_req_maxlen, opt_privmsg_only, opt_req_on_join
};
***************
*** 2990,2993 ****
--- 3006,3010 ----
saxdb_write_int(ctx, KEY_REGISTERED, hs->registered);
saxdb_write_int(ctx, KEY_IDWRAP, hs->id_wrap);
+ saxdb_write_int(ctx, KEY_REQ_MAXLEN, hs->req_maxlen);
saxdb_write_int(ctx, KEY_LAST_REQUESTID, hs->last_requestid);
if (hs->registrar) saxdb_write_string(ctx, KEY_REGISTRAR, hs->registrar);
***************
*** 3089,3092 ****
--- 3106,3111 ----
str = database_get_data(GET_RECORD_OBJECT(br), KEY_IDWRAP, RECDB_QSTRING);
if (str) hs->id_wrap = strtoul(str, NULL, 0);
+ str = database_get_data(GET_RECORD_OBJECT(br), KEY_REQ_MAXLEN, RECDB_QSTRING);
+ if (str) hs->req_maxlen = strtoul(str, NULL, 0);
str = database_get_data(GET_RECORD_OBJECT(br), KEY_LAST_REQUESTID, RECDB_QSTRING);
if (str) hs->last_requestid = strtoul(str, NULL, 0);
***************
*** 3913,3916 ****
--- 3932,3936 ----
helpserv_define_option("HELPERPERSIST", opt_helper_persistence);
helpserv_define_option("NOTIFICATION", opt_notification);
+ helpserv_define_option("REQMAXLEN", opt_req_maxlen);
helpserv_define_option("IDWRAP", opt_id_wrap);
helpserv_define_option("PRIVMSGONLY", opt_privmsg_only);
Index: helpserv.help
===================================================================
RCS file: /cvsroot/srvx/services/src/helpserv.help,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -r1.13 -r1.14
*** helpserv.help 5 Nov 2002 03:08:38 -0000 1.13
--- helpserv.help 7 Nov 2002 02:05:47 -0000 1.14
***************
*** 138,141 ****
--- 138,142 ----
"Notification Notification to helpers of events concerning their requests",
"IdWrap Maximum request ID plus one (IDs wrap to 0 when they reach this)",
+ "ReqMaxLen Maximum number of lines of text allowed in a request",
"PrivmsgOnly Messages to users are sent as privmsg (overriding account preference)",
"ReqOnJoin Automatically opens a request for a user who joins the channel",
|
|
From: Entrope <en...@us...> - 2002-11-07 01:41:21
|
Update of /cvsroot/srvx/services/src
In directory usw-pr-cvs1:/tmp/cvs-serv3183/src
Modified Files:
mod-snoop.c
Log Message:
fix compile error
Index: mod-snoop.c
===================================================================
RCS file: /cvsroot/srvx/services/src/mod-snoop.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -r1.5 -r1.6
*** mod-snoop.c 23 Oct 2002 12:37:54 -0000 1.5
--- mod-snoop.c 7 Nov 2002 01:41:17 -0000 1.6
***************
*** 51,56 ****
}
! static void
! snoop_join(struct userNode *user, struct chanNode *chan) {
if (!snoop_cfg.enabled) return 0;
if (user->uplink->burst && !snoop_cfg.show_bursts) return 0;
--- 51,58 ----
}
! static int
! snoop_join(struct modeNode *mNode) {
! struct userNode *user = mNode->user;
! struct chanNode *chan = mNode->channel;
if (!snoop_cfg.enabled) return 0;
if (user->uplink->burst && !snoop_cfg.show_bursts) return 0;
|
|
From: Entrope <en...@us...> - 2002-11-07 00:30:21
|
Update of /cvsroot/srvx/services/src
In directory usw-pr-cvs1:/tmp/cvs-serv20564/src
Modified Files:
opserv.c
Log Message:
fix memory leak when people do a bad ?trace
Index: opserv.c
===================================================================
RCS file: /cvsroot/srvx/services/src/opserv.c,v
retrieving revision 1.287
retrieving revision 1.288
diff -C2 -r1.287 -r1.288
*** opserv.c 31 Oct 2002 03:42:28 -0000 1.287
--- opserv.c 7 Nov 2002 00:30:17 -0000 1.288
***************
*** 2854,2858 ****
if (i == argc - 1) {
opserv_notice(user, MSG_MISSING_PARAMS, argv[i]);
! return NULL;
}
if (irccasecmp(argv[i], "mask") == 0) {
--- 2854,2858 ----
if (i == argc - 1) {
opserv_notice(user, MSG_MISSING_PARAMS, argv[i]);
! goto fail;
}
if (irccasecmp(argv[i], "mask") == 0) {
|
|
From: Entrope <en...@us...> - 2002-11-06 23:53:05
|
Update of /cvsroot/srvx/services/src
In directory usw-pr-cvs1:/tmp/cvs-serv24961/src
Modified Files:
nickserv.c sockcheck.c
Log Message:
compile fixes for gcc 3.2
Index: nickserv.c
===================================================================
RCS file: /cvsroot/srvx/services/src/nickserv.c,v
retrieving revision 1.213
retrieving revision 1.214
diff -C2 -r1.213 -r1.214
*** nickserv.c 31 Oct 2002 03:41:04 -0000 1.213
--- nickserv.c 6 Nov 2002 23:53:01 -0000 1.214
***************
*** 805,809 ****
char id[IDLEN + 1];
inttobase64(id, hi->id, IDLEN);
! #else if WITH_PROTOCOL_P10
/* Stamp users with their account name. */
char *id = hi->handle;
--- 805,809 ----
char id[IDLEN + 1];
inttobase64(id, hi->id, IDLEN);
! #elif WITH_PROTOCOL_P10
/* Stamp users with their account name. */
char *id = hi->handle;
Index: sockcheck.c
===================================================================
RCS file: /cvsroot/srvx/services/src/sockcheck.c,v
retrieving revision 1.81
retrieving revision 1.82
diff -C2 -r1.81 -r1.82
*** sockcheck.c 31 Oct 2002 03:43:46 -0000 1.81
--- sockcheck.c 6 Nov 2002 23:53:01 -0000 1.82
***************
*** 126,132 ****
unsigned int max_read;
unsigned int gline_duration;
struct sockaddr_in *local_addr;
int local_addr_len;
- int max_cache_age;
} sockcheck_conf;
--- 126,132 ----
unsigned int max_read;
unsigned int gline_duration;
+ unsigned int max_cache_age;
struct sockaddr_in *local_addr;
int local_addr_len;
} sockcheck_conf;
|
|
From: Entrope <en...@us...> - 2002-11-05 03:10:39
|
Update of /cvsroot/srvx/services/src
In directory usw-pr-cvs1:/tmp/cvs-serv18822/src
Modified Files:
helpfile.c
Log Message:
use __va_copy() instead of reusing va_lists
Index: helpfile.c
===================================================================
RCS file: /cvsroot/srvx/services/src/helpfile.c,v
retrieving revision 1.57
retrieving revision 1.58
diff -C2 -r1.57 -r1.58
*** helpfile.c 25 Oct 2002 13:03:52 -0000 1.57
--- helpfile.c 5 Nov 2002 03:10:35 -0000 1.58
***************
*** 152,155 ****
--- 152,156 ----
unsigned int size, pos, length, chars_sent;
int ret, use_color;
+ va_list working;
if (IsChannelName(dest) || *dest == '$') {
***************
*** 169,180 ****
* The kludge-around is to pass a non-NULL pointer instead.
*/
! if ((ret = vsnprintf(line, 0, format, al)) <= 0) {
char *temp;
/* non-C99 behavior */
size = strlen(format);
input = malloc(size);
! while ((ret = vsnprintf(input, size, format, al)) == -1) {
size <<= 1;
input = realloc(input, size);
}
temp = alloca(ret+1);
--- 170,186 ----
* The kludge-around is to pass a non-NULL pointer instead.
*/
! __va_copy(working, al);
! if ((ret = vsnprintf(line, 0, format, working)) <= 0) {
char *temp;
/* non-C99 behavior */
size = strlen(format);
input = malloc(size);
! va_end(working);
! __va_copy(working, al);
! while ((ret = vsnprintf(input, size, format, working)) == -1) {
size <<= 1;
input = realloc(input, size);
+ va_end(working);
+ __va_copy(working, al);
}
temp = alloca(ret+1);
***************
*** 186,189 ****
--- 192,197 ----
size = ret + 1;
input = alloca(size);
+ va_end(working);
+ __va_copy(working, al);
ret = vsnprintf(input, size, format, al);
}
|
|
From: Entrope <en...@us...> - 2002-11-05 03:10:10
|
Update of /cvsroot/srvx/services/src
In directory usw-pr-cvs1:/tmp/cvs-serv18677/src
Modified Files:
main.c
Log Message:
use waitpid() instead of wait() to wait for child processes
Index: main.c
===================================================================
RCS file: /cvsroot/srvx/services/src/main.c,v
retrieving revision 1.142
retrieving revision 1.143
diff -C2 -r1.142 -r1.143
*** main.c 26 Oct 2002 15:17:46 -0000 1.142
--- main.c 5 Nov 2002 03:10:07 -0000 1.143
***************
*** 400,404 ****
int code;
(void)x;
! wait(&code);
}
--- 400,404 ----
int code;
(void)x;
! waitpid(-1, &code, WNOHANG);
}
|
|
From: Entrope <en...@us...> - 2002-11-05 03:08:41
|
Update of /cvsroot/srvx/services/src
In directory usw-pr-cvs1:/tmp/cvs-serv18146/src
Modified Files:
chanserv.help helpserv.help nickserv.help.m4
Log Message:
update help files (undocument removed commands, etc)
Index: chanserv.help
===================================================================
RCS file: /cvsroot/srvx/services/src/chanserv.help,v
retrieving revision 1.42
retrieving revision 1.43
diff -C2 -r1.42 -r1.43
*** chanserv.help 28 Oct 2002 01:55:33 -0000 1.42
--- chanserv.help 5 Nov 2002 03:08:38 -0000 1.43
***************
*** 106,129 ****
"Adds a ban to the channels permanent ban list, remaining in effect until removed with the DELBAN command. If it exactly matches an existing ban already in the list, the reason will be updated. If the existing ban was a timed ban, it will be extended into a permanent ban.",
"$uSee Also:$u bans, delban, mdelban");
- "ADDCOOWNER" ("/msg $C ADDCOOWNER <#channel> <nick|*account>",
- "Adds a coowner to the channel user list.",
- "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 clist, delcoowner, mdelcoowner, users");
- "ADDMASTER" ("/msg $C ADDMASTER <#channel> <nick|*account>",
- "This command adds a master to the user list of the channel.",
- "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 delcoowner, mdelcoowner, mlist, users");
- "ADDOP" ("/msg $C ADDOP <#channel> <nick|*account>",
- "This command adds an op to the user list of the channel.",
- "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 delop, mdelop, olist, users");
- "ADDOWNER" ("/msg $C ADDOWNER <#channel> <nick|*account>",
- "This command adds an owner to the user list of the channel.",
- "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 delowner, mdelowner, users, wlist");
- "ADDPEON" ("/msg $C ADDPEON <#channel> <nick|*account>",
- "This command adds a peon to the user list of the channel.",
- "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 delpeon, mdelpeon, plist, users");
"ADDUSER" ("/msg $C ADDUSER <#channel> <level> <nick|*account>",
"This command adds someone to the channel user list with the specified access level. (You may only add users to levels less than your own.)",
--- 106,109 ----
***************
*** 165,191 ****
"Deletes a ban from the channel ban list. This command works for both permanent and timed bans alike.",
"$uSee Also:$u addban, addtimedban, bans");
- "DELCOOWNER" ("/msg $C DELCOOWNER <#channel> <nick|*account>",
- "Deletes a coowner from the channel user list.",
- "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 addcoowner, clist, mdelcoowner, users");
- "DELMASTER" ("/msg $C DELMASTER <#channel> <nick|*account>",
- "Deletes a master from the channel user list.",
- "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 addmaster, mdelmaster, mlist, users");
"DELNOTE" ("/msg $C DELNOTE <#channel> <note-name>",
"Deletes a note from the channel. To do this, you must be able to set the note.",
"$uSee Also:$u note, note types");
- "DELOP" ("/msg $C DELOP <#channel> <nick|*account>",
- "Deletes an op from the channel user list.",
- "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 addop, mdelop, olist, users");
- "DELOWNER" ("/msg $C DELOWNER <#channel> <nick|*account>",
- "Deletes an owner from the channel user list.",
- "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 addowner, mdelowner, users, wlist");
- "DELPEON" ("/msg $C DELPEON <#channel> <nick|*account>",
- "Deletes a peon from the channel user list.",
- "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 addpeon, mdelpeon, users, plist");
"DELUSER" ("/msg $C DELUSER <#channel> <nick|*account>",
"Deletes a user from the channel user list.",
--- 145,151 ----
***************
*** 475,484 ****
"This disables the target's access to the channel. That access can be restored using the unsuspend command.",
"$uSee Also:$u unsuspend, deluser");
- "SWITCH" ("/msg $C SWITCH <#channel> [user]",
- "Transitions a channel from X2 to $b$C$b control. The user (if not specified, defaults to whoever issued the command) must be authenticated with X2 as the channel owner to use this command. The channel will be registered and $b$C$b will recognize that user as the owner of the channel. $bNothing else will be transferred: other users, bans, and channel settings will be lost.$b",
- "This option is only available if transition support was enabled during srvx configuration.",
- "$uSee Also:$u register");
- "TOGOP" ("/msg $C TOGOP <#channel> [on|off]",
- "Sets whether $C will op you when you join the channel. If you say $btogop on$b or $btogop off$b, it will be set that; if you just say $btogop$b, it will change it from on to off or vice versa.");
"TOPIC" ("/msg $C TOPIC <#channel> [topic]",
"Sets the current topic for the specified channel. If no topic is specified, thenset the current topic to the default topic.");
--- 435,438 ----
Index: helpserv.help
===================================================================
RCS file: /cvsroot/srvx/services/src/helpserv.help,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -r1.12 -r1.13
*** helpserv.help 26 Oct 2002 16:15:16 -0000 1.12
--- helpserv.help 5 Nov 2002 03:08:38 -0000 1.13
***************
*** 126,135 ****
"StatusPageType Delivery type for status pages (less urgent information, such as requests being opened/assigned/closed)",
"Greeting Message sent to users joining channel",
! "OpenReq Message sent to user opening a new request",
! "AssignReq Message sent to user when their request is assigned to a helper",
! "CloseReq Message sent to user when their request is closed",
"IdleDelay Time user may idle in channel before bot complains to StatusPageTarget",
- "WhineDelay Time before an unhandled request makes bot complain to AlertPageTarget",
"WhineInterval Time between complaints about unhandled requests and idle users",
"EmptyInterval Time between complaints (to AlertPageTarget) that the help channel is unstaffed",
"StaleDelay Time after which updating an old request causes it to send an activity alert",
--- 126,135 ----
"StatusPageType Delivery type for status pages (less urgent information, such as requests being opened/assigned/closed)",
"Greeting Message sent to users joining channel",
! "ReqOpened Message sent to user opening a new request",
! "ReqAssigned Message sent to user when their request is assigned to a helper",
! "ReqClosed Message sent to user when their request is closed",
"IdleDelay Time user may idle in channel before bot complains to StatusPageTarget",
"WhineInterval Time between complaints about unhandled requests and idle users",
+ "WhineDelay Time before an unhandled request makes bot complain to AlertPageTarget",
"EmptyInterval Time between complaints (to AlertPageTarget) that the help channel is unstaffed",
"StaleDelay Time after which updating an old request causes it to send an activity alert",
***************
*** 137,140 ****
--- 137,141 ----
"HelperPersist Persistence for assignation of requests to helpers",
"Notification Notification to helpers of events concerning their requests",
+ "IdWrap Maximum request ID plus one (IDs wrap to 0 when they reach this)",
"PrivmsgOnly Messages to users are sent as privmsg (overriding account preference)",
"ReqOnJoin Automatically opens a request for a user who joins the channel",
Index: nickserv.help.m4
===================================================================
RCS file: /cvsroot/srvx/services/src/nickserv.help.m4,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -r1.11 -r1.12
*** nickserv.help.m4 30 Jul 2002 02:15:11 -0000 1.11
--- nickserv.help.m4 5 Nov 2002 03:08:38 -0000 1.12
***************
*** 51,55 ****
" REGNICK Register a nickname.",
" UNREGNICK Unregister a nickname.",
! " KILL Request a KILL for someone using your nick.");
"NICKINFO" ("$bNICKINFO$b",
--- 51,55 ----
" REGNICK Register a nickname.",
" UNREGNICK Unregister a nickname.",
! " RECLAIM Reclaim a nick registered to you.");
"NICKINFO" ("$bNICKINFO$b",
***************
*** 90,96 ****
"$uSee Also:$u register, regnick, unregister");
! "KILL" ("$bKILL$b",
! "/msg $N KILL <nick>",
! "Kills the specified nick. You must be authenticated to the account that has ownership of the specified nick.");})
ifdef({/services/nickserv/email_enabled},
--- 90,97 ----
"$uSee Also:$u register, regnick, unregister");
! "RECLAIM" ("$bRECLAIM$b",
! "/msg $N RECLAIM <nick>",
! "Reclaims the specified nick. You must be authenticated to the account that registered the nick.",
! "Depending on configuration, this may do nothing, may ask the user nicely, may force a nick change on them, or may /KILL (disconnect) the target user.");})
ifdef({/services/nickserv/email_enabled},
***************
*** 123,127 ****
"/msg $N@$s COOKIE <account> <cookie>",
"Completes the maintenance action (for example, activating an account or changing your password) for which a cookie was issued. The cookie will then be forgotten.",
! "$uSee Also:$u cookieauth, resetpass, set, delcookie");
"EMAIL POLICY" ("$bEMAIL POLICY",
--- 124,128 ----
"/msg $N@$s COOKIE <account> <cookie>",
"Completes the maintenance action (for example, activating an account or changing your password) for which a cookie was issued. The cookie will then be forgotten.",
! "$uSee Also:$u authcookie, resetpass, set, delcookie");
"EMAIL POLICY" ("$bEMAIL POLICY",
***************
*** 244,248 ****
{ "$uSee Also:$u accountinfo, nickinfo, userinfo"}));
"STATUS" ("$bSTATUS$b",
! "/msg $N STATUS ",
ifdef({/services/nickserv/disable_nicks},
{ "Displays information about the status of $b$N$b, including the total number of accounts in its database."},
--- 245,249 ----
{ "$uSee Also:$u accountinfo, nickinfo, userinfo"}));
"STATUS" ("$bSTATUS$b",
! "/msg $N STATUS",
ifdef({/services/nickserv/disable_nicks},
{ "Displays information about the status of $b$N$b, including the total number of accounts in its database."},
***************
*** 258,266 ****
"/msg $N WRITE",
"Writes the $b$N$b database to disk.");
! ifdef({/services/nickserv/enable_ghost},
! {"GHOST" ("$bGHOST$b",
"/msg $N GHOST <nick>",
"This disconnects an old client that is authed to your account. This is $bnot$b the same thing as nick ownership; the user $bmust$b be authenticated to the same account you are.",
! "$uSee Also:$u auth");})
"RENAME" ("$bRENAME$b",
"/msg $N RENAME <nick|*old-account> <new-account>",
--- 259,266 ----
"/msg $N WRITE",
"Writes the $b$N$b database to disk.");
! "GHOST" ("$bGHOST$b",
"/msg $N GHOST <nick>",
"This disconnects an old client that is authed to your account. This is $bnot$b the same thing as nick ownership; the user $bmust$b be authenticated to the same account you are.",
! "$uSee Also:$u auth");
"RENAME" ("$bRENAME$b",
"/msg $N RENAME <nick|*old-account> <new-account>",
|
|
From: Adrian D. <sai...@us...> - 2002-11-04 04:28:25
|
Update of /cvsroot/srvx/services/src
In directory usw-pr-cvs1:/tmp/cvs-serv17155
Modified Files:
helpserv.c saxdb.c
Log Message:
Compile fixes (this just isn't my night)
Index: helpserv.c
===================================================================
RCS file: /cvsroot/srvx/services/src/helpserv.c,v
retrieving revision 1.45
retrieving revision 1.46
diff -C2 -r1.45 -r1.46
*** helpserv.c 4 Nov 2002 03:26:03 -0000 1.45
--- helpserv.c 4 Nov 2002 04:28:22 -0000 1.46
***************
*** 191,195 ****
#define HSMSG_PAGE_ASSIGN_REQUEST "Request ID#%lu from $b%s$b (Account %s) has been assigned to %s."
#define HSMSG_PAGE_HELPER_GONE "Request ID#%lu from $b%s$b (Account %s) $bhas been unassigned$b, as its helper, %s has %s."
! #define HSMSG_PAGE_WHINE_HEADER "$b%u unhandled request%c$b waiting at least $b%s$b:"
#define HSMSG_PAGE_IDLE_HEADER "$b%u users$b in %s $bidle at least %s$b:"
#define HSMSG_PAGE_EMPTYALERT "$b%s has no helpers present$b"
--- 191,195 ----
#define HSMSG_PAGE_ASSIGN_REQUEST "Request ID#%lu from $b%s$b (Account %s) has been assigned to %s."
#define HSMSG_PAGE_HELPER_GONE "Request ID#%lu from $b%s$b (Account %s) $bhas been unassigned$b, as its helper, %s has %s."
! #define HSMSG_PAGE_WHINE_HEADER "$b%u unhandled request%s$b waiting at least $b%s$b:"
#define HSMSG_PAGE_IDLE_HEADER "$b%u users$b in %s $bidle at least %s$b:"
#define HSMSG_PAGE_EMPTYALERT "$b%s has no helpers present$b"
***************
*** 2099,2103 ****
}
! helpserv_page(PGSRC_ALERT, HSMSG_PAGE_WHINE_HEADER, reqlist.used, (reqlist.used == 1 ? '' : 's'), strwhinedelay);
table_send(hs->helpserv, hs->page_targets[PGSRC_ALERT]->name, 0, page_type_funcs[hs->page_types[PGSRC_ALERT]], tbl);
--- 2099,2103 ----
}
! helpserv_page(PGSRC_ALERT, HSMSG_PAGE_WHINE_HEADER, reqlist.used, (reqlist.used == 1 ? "" : "s"), strwhinedelay);
table_send(hs->helpserv, hs->page_targets[PGSRC_ALERT]->name, 0, page_type_funcs[hs->page_types[PGSRC_ALERT]], tbl);
***************
*** 2107,2111 ****
}
#else
! helpserv_page(PGSRC_ALERT, HSMSG_PAGE_WHINE_HEADER, reqlist.used, (reqlist.used == 1 ? '' : 's'), strwhinedelay);
#endif
}
--- 2107,2111 ----
}
#else
! helpserv_page(PGSRC_ALERT, HSMSG_PAGE_WHINE_HEADER, reqlist.used, (reqlist.used == 1 ? "" : "s"), strwhinedelay);
#endif
}
Index: saxdb.c
===================================================================
RCS file: /cvsroot/srvx/services/src/saxdb.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -C2 -r1.19 -r1.20
*** saxdb.c 4 Nov 2002 03:47:10 -0000 1.19
--- saxdb.c 4 Nov 2002 04:28:22 -0000 1.20
***************
*** 493,498 ****
void
saxdb_close_context(struct saxdb_context *ctx) {
! assert(ctx.complex.used == 0);
! int_list_clean(&ctx.complex);
free(ctx);
}
--- 493,498 ----
void
saxdb_close_context(struct saxdb_context *ctx) {
! assert(ctx->complex.used == 0);
! int_list_clean(&ctx->complex);
free(ctx);
}
|
|
From: Adrian D. <sai...@us...> - 2002-11-04 03:47:13
|
Update of /cvsroot/srvx/services/src
In directory usw-pr-cvs1:/tmp/cvs-serv6723
Modified Files:
saxdb.h saxdb.c
Log Message:
Oops... setjmp() doesn't work how I thought. It's not needed for now, but make a note in case it's used in the future.
Index: saxdb.h
===================================================================
RCS file: /cvsroot/srvx/services/src/saxdb.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -r1.5 -r1.6
*** saxdb.h 4 Nov 2002 03:27:25 -0000 1.5
--- saxdb.h 4 Nov 2002 03:47:10 -0000 1.6
***************
*** 49,53 ****
/* For doing db writing by hand */
struct saxdb_context *saxdb_open_context(FILE *f);
- int saxdb_setjmp(struct saxdb_context *ctx);
void saxdb_close_context(struct saxdb_context *ctx);
--- 49,52 ----
Index: saxdb.c
===================================================================
RCS file: /cvsroot/srvx/services/src/saxdb.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -C2 -r1.18 -r1.19
*** saxdb.c 4 Nov 2002 03:27:25 -0000 1.18
--- saxdb.c 4 Nov 2002 03:47:10 -0000 1.19
***************
*** 43,46 ****
--- 43,48 ----
struct int_list complex;
jmp_buf jbuf;
+ /* XXX: If jbuf is ever used, places that use saxdb_open_context() and
+ * saxdb_close_context() must be modified to fill it in */
};
***************
*** 487,501 ****
return ctx;
- }
-
- int
- saxdb_setjmp(struct saxdb_context *ctx) {
- if ((res = setjmp(ctx->jbuf))) {
- if (res) {
- log(MAIN_LOG, LOG_ERROR, "Exception %d caught while writing to %s\n", res, tmp_fname);
- }
- int_list_clean(&ctx->complex);
- }
- return res;
}
--- 489,492 ----
|
|
From: Adrian D. <sai...@us...> - 2002-11-04 03:27:29
|
Update of /cvsroot/srvx/services/src
In directory usw-pr-cvs1:/tmp/cvs-serv2646
Modified Files:
saxdb.c saxdb.h
Log Message:
Add saxdb context open/closing functions
Index: saxdb.c
===================================================================
RCS file: /cvsroot/srvx/services/src/saxdb.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -C2 -r1.17 -r1.18
*** saxdb.c 28 Oct 2002 01:54:23 -0000 1.17
--- saxdb.c 4 Nov 2002 03:27:25 -0000 1.18
***************
*** 476,477 ****
--- 476,507 ----
return 0;
}
+
+ struct saxdb_context *
+ saxdb_open_context(FILE *file) {
+ struct saxdb_context *ctx;
+
+ assert(file);
+ ctx = calloc(1, sizeof(*ctx));
+ ctx->output = file;
+ int_list_init(&ctx->complex);
+
+ return ctx;
+ }
+
+ int
+ saxdb_setjmp(struct saxdb_context *ctx) {
+ if ((res = setjmp(ctx->jbuf))) {
+ if (res) {
+ log(MAIN_LOG, LOG_ERROR, "Exception %d caught while writing to %s\n", res, tmp_fname);
+ }
+ int_list_clean(&ctx->complex);
+ }
+ return res;
+ }
+
+ void
+ saxdb_close_context(struct saxdb_context *ctx) {
+ assert(ctx.complex.used == 0);
+ int_list_clean(&ctx.complex);
+ free(ctx);
+ }
Index: saxdb.h
===================================================================
RCS file: /cvsroot/srvx/services/src/saxdb.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -r1.4 -r1.5
*** saxdb.h 27 Aug 2002 03:11:24 -0000 1.4
--- saxdb.h 4 Nov 2002 03:27:25 -0000 1.5
***************
*** 47,49 ****
--- 47,54 ----
void saxdb_write_int(struct saxdb_context *dest, const char *name, unsigned long value);
+ /* For doing db writing by hand */
+ struct saxdb_context *saxdb_open_context(FILE *f);
+ int saxdb_setjmp(struct saxdb_context *ctx);
+ void saxdb_close_context(struct saxdb_context *ctx);
+
#endif /* !defined(DBMGR_H) */
|
|
From: Adrian D. <sai...@us...> - 2002-11-04 03:26:07
|
Update of /cvsroot/srvx/services/src
In directory usw-pr-cvs1:/tmp/cvs-serv2480
Modified Files:
helpserv.c
Log Message:
Fix singular/plural for "requests" in the HelpServ whine message
Index: helpserv.c
===================================================================
RCS file: /cvsroot/srvx/services/src/helpserv.c,v
retrieving revision 1.44
retrieving revision 1.45
diff -C2 -r1.44 -r1.45
*** helpserv.c 28 Oct 2002 01:56:01 -0000 1.44
--- helpserv.c 4 Nov 2002 03:26:03 -0000 1.45
***************
*** 191,199 ****
#define HSMSG_PAGE_ASSIGN_REQUEST "Request ID#%lu from $b%s$b (Account %s) has been assigned to %s."
#define HSMSG_PAGE_HELPER_GONE "Request ID#%lu from $b%s$b (Account %s) $bhas been unassigned$b, as its helper, %s has %s."
! #if ANNOYING_ALERT_PAGES
! #define HSMSG_PAGE_WHINE_HEADER "$b%u unhandled requests$b waiting at least $b%s$b:"
! #else
! #define HSMSG_PAGE_WHINE_HEADER "$b%u unhandled requests$b waiting at least $b%s$b."
! #endif
#define HSMSG_PAGE_IDLE_HEADER "$b%u users$b in %s $bidle at least %s$b:"
#define HSMSG_PAGE_EMPTYALERT "$b%s has no helpers present$b"
--- 191,195 ----
#define HSMSG_PAGE_ASSIGN_REQUEST "Request ID#%lu from $b%s$b (Account %s) has been assigned to %s."
#define HSMSG_PAGE_HELPER_GONE "Request ID#%lu from $b%s$b (Account %s) $bhas been unassigned$b, as its helper, %s has %s."
! #define HSMSG_PAGE_WHINE_HEADER "$b%u unhandled request%c$b waiting at least $b%s$b:"
#define HSMSG_PAGE_IDLE_HEADER "$b%u users$b in %s $bidle at least %s$b:"
#define HSMSG_PAGE_EMPTYALERT "$b%s has no helpers present$b"
***************
*** 2103,2107 ****
}
! helpserv_page(PGSRC_ALERT, HSMSG_PAGE_WHINE_HEADER, reqlist.used, strwhinedelay);
table_send(hs->helpserv, hs->page_targets[PGSRC_ALERT]->name, 0, page_type_funcs[hs->page_types[PGSRC_ALERT]], tbl);
--- 2099,2103 ----
}
! helpserv_page(PGSRC_ALERT, HSMSG_PAGE_WHINE_HEADER, reqlist.used, (reqlist.used == 1 ? '' : 's'), strwhinedelay);
table_send(hs->helpserv, hs->page_targets[PGSRC_ALERT]->name, 0, page_type_funcs[hs->page_types[PGSRC_ALERT]], tbl);
***************
*** 2111,2115 ****
}
#else
! helpserv_page(PGSRC_ALERT, HSMSG_PAGE_WHINE_HEADER, reqlist.used, strwhinedelay);
#endif
}
--- 2107,2111 ----
}
#else
! helpserv_page(PGSRC_ALERT, HSMSG_PAGE_WHINE_HEADER, reqlist.used, (reqlist.used == 1 ? '' : 's'), strwhinedelay);
#endif
}
|
|
From: Entrope <en...@us...> - 2002-11-02 03:07:43
|
Update of /cvsroot/srvx/services/src
In directory usw-pr-cvs1:/tmp/cvs-serv29432/src
Modified Files:
Tag: rel-1_1-branch
nickserv.c
Log Message:
fix typo in last commit
Index: nickserv.c
===================================================================
RCS file: /cvsroot/srvx/services/src/nickserv.c,v
retrieving revision 1.170.2.4
retrieving revision 1.170.2.5
diff -C2 -r1.170.2.4 -r1.170.2.5
*** nickserv.c 1 Nov 2002 02:14:36 -0000 1.170.2.4
--- nickserv.c 2 Nov 2002 03:07:40 -0000 1.170.2.5
***************
*** 3173,3177 ****
strcpy(old_nick, user->nick);
strcpy(user->nick, new_nick);
! dict_insert(nickserv_allow_auth_dict, new_nick, hi);
strcpy(user->nick, old_nick);
}
--- 3173,3177 ----
strcpy(old_nick, user->nick);
strcpy(user->nick, new_nick);
! dict_insert(nickserv_allow_auth_dict, user->nick, hi);
strcpy(user->nick, old_nick);
}
|
|
From: Entrope <en...@us...> - 2002-11-01 02:14:54
|
Update of /cvsroot/srvx/services/src
In directory usw-pr-cvs1:/tmp/cvs-serv9161/src
Modified Files:
Tag: rel-1_1-branch
nickserv.c
Log Message:
backport memory corruption fix from CVS HEAD
Index: nickserv.c
===================================================================
RCS file: /cvsroot/srvx/services/src/nickserv.c,v
retrieving revision 1.170.2.3
retrieving revision 1.170.2.4
diff -C2 -r1.170.2.3 -r1.170.2.4
*** nickserv.c 21 Oct 2002 03:03:03 -0000 1.170.2.3
--- nickserv.c 1 Nov 2002 02:14:36 -0000 1.170.2.4
***************
*** 3165,3171 ****
struct handle_info *hi;
if ((hi = dict_find(nickserv_allow_auth_dict, user->nick, 0))) {
! /* Need to update allow_auth_dict .. */
dict_remove(nickserv_allow_auth_dict, user->nick);
dict_insert(nickserv_allow_auth_dict, new_nick, hi);
}
if (nickserv_conf.warn_nick_owned
--- 3165,3178 ----
struct handle_info *hi;
if ((hi = dict_find(nickserv_allow_auth_dict, user->nick, 0))) {
! char old_nick[NICKLEN+1];
! /* Need to update allow_auth_dict. However, new_nick may be a
! * temporary pointer. The dict stores the key pointer. Make
! * sure it knows about the change but still points to
! * user->nick. */
dict_remove(nickserv_allow_auth_dict, user->nick);
+ strcpy(old_nick, user->nick);
+ strcpy(user->nick, new_nick);
dict_insert(nickserv_allow_auth_dict, new_nick, hi);
+ strcpy(user->nick, old_nick);
}
if (nickserv_conf.warn_nick_owned
|
|
From: Entrope <en...@us...> - 2002-11-01 02:14:04
|
Update of /cvsroot/srvx/services/src
In directory usw-pr-cvs1:/tmp/cvs-serv8692/src
Modified Files:
Tag: rel-1_1-branch
chanserv.help nickserv.help.m4
Log Message:
fix typos in help files (backport from CVS HEAD)
Index: chanserv.help
===================================================================
RCS file: /cvsroot/srvx/services/src/chanserv.help,v
retrieving revision 1.26.2.2
retrieving revision 1.26.2.3
diff -C2 -r1.26.2.2 -r1.26.2.3
*** chanserv.help 24 Jul 2002 23:58:51 -0000 1.26.2.2
--- chanserv.help 1 Nov 2002 02:13:23 -0000 1.26.2.3
***************
*** 31,35 ****
" OP Give ops to the specified user.",
" DEOP Remove ops from the specified user.",
! " VOICE Give voice to the speicifed user.",
" DEVOICE Remove voice from the specified user.",
" SUSPEND Suspend a user's access to a channel.",
--- 31,35 ----
" OP Give ops to the specified user.",
" DEOP Remove ops from the specified user.",
! " VOICE Give voice to the specified user.",
" DEVOICE Remove voice from the specified user.",
" SUSPEND Suspend a user's access to a channel.",
Index: nickserv.help.m4
===================================================================
RCS file: /cvsroot/srvx/services/src/nickserv.help.m4,v
retrieving revision 1.5.2.1
retrieving revision 1.5.2.2
diff -C2 -r1.5.2.1 -r1.5.2.2
*** nickserv.help.m4 2 Jul 2002 00:53:43 -0000 1.5.2.1
--- nickserv.help.m4 1 Nov 2002 02:13:36 -0000 1.5.2.2
***************
*** 99,103 ****
"/msg $n COOKIE <account> <cookie>",
"Completes the maintenance action (for example, activating an account or changing your password) for which a cookie was issued. The cookie will then be forgotten.",
! "$uSee Also:$u cookieauth, resetpass, set, delcookie");
"EMAIL POLICY" ("$bEMAIL POLICY",
--- 99,103 ----
"/msg $n COOKIE <account> <cookie>",
"Completes the maintenance action (for example, activating an account or changing your password) for which a cookie was issued. The cookie will then be forgotten.",
! "$uSee Also:$u authcookie, resetpass, set, delcookie");
"EMAIL POLICY" ("$bEMAIL POLICY",
|
|
From: Entrope <en...@us...> - 2002-10-31 03:46:23
|
Update of /cvsroot/srvx/services/src
In directory usw-pr-cvs1:/tmp/cvs-serv11237/src
Modified Files:
proto-common.c
Log Message:
report errno when ioset connect() fails
Index: proto-common.c
===================================================================
RCS file: /cvsroot/srvx/services/src/proto-common.c,v
retrieving revision 1.21
retrieving revision 1.22
diff -C2 -r1.21 -r1.22
*** proto-common.c 28 Oct 2002 01:54:53 -0000 1.21
--- proto-common.c 31 Oct 2002 03:46:20 -0000 1.22
***************
*** 127,130 ****
--- 127,131 ----
socket_io_fd = ioset_connect((struct sockaddr*)cManager.uplink->bind_addr, sizeof(struct sockaddr), addr, port, 1, NULL);
if (!socket_io_fd) {
+ log(MAIN_LOG, LOG_ERROR, "Connection to uplink failed: %s (%d)\n", strerror(errno), errno);
target->state = DISCONNECTED;
target->tries++;
|
|
From: Entrope <en...@us...> - 2002-10-31 03:46:10
|
Update of /cvsroot/srvx/services/src
In directory usw-pr-cvs1:/tmp/cvs-serv11106/src
Modified Files:
ioset.c ioset.h
Log Message:
add an errno parameter to connect() callbacks
Index: ioset.c
===================================================================
RCS file: /cvsroot/srvx/services/src/ioset.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -r1.12 -r1.13
*** ioset.c 26 Oct 2002 15:17:46 -0000 1.12
--- ioset.c 31 Oct 2002 03:46:07 -0000 1.13
***************
*** 127,131 ****
struct io_fd *
! ioset_connect(struct sockaddr *local, unsigned int sa_size, const char *peer, unsigned int port, int blocking, void (*connect_cb)(struct io_fd *fd)) {
int fd, res;
struct io_fd *io_fd;
--- 127,131 ----
struct io_fd *
! ioset_connect(struct sockaddr *local, unsigned int sa_size, const char *peer, unsigned int port, int blocking, void (*connect_cb)(struct io_fd *fd, int error)) {
int fd, res;
struct io_fd *io_fd;
***************
*** 179,183 ****
}
}
! if (connect_cb) connect_cb(io_fd);
return io_fd;
}
--- 179,183 ----
}
}
! if (connect_cb) connect_cb(io_fd, ((res < 0) ? errno : 0));
return io_fd;
}
***************
*** 389,394 ****
}
if (FD_ISSET(nn, &write_fds) && !fd->connected) {
fd->connected = 1;
! if (fd->connect_cb) fd->connect_cb(fd);
}
/* Note: check whether write FD is still set, since the
--- 389,396 ----
}
if (FD_ISSET(nn, &write_fds) && !fd->connected) {
+ int rc, arglen = sizeof(rc);
+ if (getsockopt(fd->fd, SOL_SOCKET, SO_ERROR, &rc, &arglen) < 0) rc = errno;
fd->connected = 1;
! if (fd->connect_cb) fd->connect_cb(fd, rc);
}
/* Note: check whether write FD is still set, since the
Index: ioset.h
===================================================================
RCS file: /cvsroot/srvx/services/src/ioset.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -r1.6 -r1.7
*** ioset.h 26 Oct 2002 15:17:46 -0000 1.6
--- ioset.h 31 Oct 2002 03:46:07 -0000 1.7
***************
*** 40,44 ****
struct ioq send;
struct ioq recv;
! void (*connect_cb)(struct io_fd *fd);
void (*readable_cb)(struct io_fd *fd);
void (*destroy_cb)(struct io_fd *fd);
--- 40,44 ----
struct ioq send;
struct ioq recv;
! void (*connect_cb)(struct io_fd *fd, int error);
void (*readable_cb)(struct io_fd *fd);
void (*destroy_cb)(struct io_fd *fd);
***************
*** 50,54 ****
struct io_fd *ioset_add(int fd);
! struct io_fd *ioset_connect(struct sockaddr *local, unsigned int sa_size, const char *hostname, unsigned int port, int blocking, void (*connect_cb)(struct io_fd *fd));
void ioset_run(void);
void ioset_write(struct io_fd *fd, const char *buf, unsigned int nbw);
--- 50,54 ----
struct io_fd *ioset_add(int fd);
! struct io_fd *ioset_connect(struct sockaddr *local, unsigned int sa_size, const char *hostname, unsigned int port, int blocking, void (*connect_cb)(struct io_fd *fd, int error));
void ioset_run(void);
void ioset_write(struct io_fd *fd, const char *buf, unsigned int nbw);
|
|
From: Entrope <en...@us...> - 2002-10-31 03:44:48
|
Update of /cvsroot/srvx/services/src
In directory usw-pr-cvs1:/tmp/cvs-serv10413/src
Modified Files:
dict-splay.c
Log Message:
remove extra calls to irccasecmp()
simplify dict_remove2() function
make dict_find(NULL, *, *) return NULL
Index: dict-splay.c
===================================================================
RCS file: /cvsroot/srvx/services/src/dict-splay.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -r1.10 -r1.11
*** dict-splay.c 15 Aug 2002 03:50:09 -0000 1.10
--- dict-splay.c 31 Oct 2002 03:44:45 -0000 1.11
***************
*** 155,160 ****
new_node->r = dict->root;
dict->root->l = NULL;
! if (dict->root->prev) dict->root->prev->next = new_node;
! if (irccasecmp(key, dict->first->key) < 0) dict->first = new_node;
new_node->prev = dict->root->prev;
new_node->next = dict->root;
--- 155,163 ----
new_node->r = dict->root;
dict->root->l = NULL;
! if (dict->root->prev) {
! dict->root->prev->next = new_node;
! } else {
! dict->first = new_node;
! }
new_node->prev = dict->root->prev;
new_node->next = dict->root;
***************
*** 166,171 ****
new_node->l = dict->root;
dict->root->r = NULL;
! if (dict->root->next) dict->root->next->prev = new_node;
! if (irccasecmp(key, dict->last->key) > 0) dict->last = new_node;
new_node->next = dict->root->next;
new_node->prev = dict->root;
--- 169,177 ----
new_node->l = dict->root;
dict->root->r = NULL;
! if (dict->root->next) {
! dict->root->next->prev = new_node;
! } else {
! dict->last = new_node;
! }
new_node->next = dict->root->next;
new_node->prev = dict->root;
***************
*** 198,224 ****
dict_remove2(dict_t dict, const char *key, int no_dispose)
{
dict->root = dict_splay(dict->root, key);
! if (dict->root && !irccasecmp(key, dict->root->key)) {
! struct dict_node *new_root;
! if (!dict->root->l) {
! new_root = dict->root->r;
! } else {
! new_root = dict_splay(dict->root->l, key);
! new_root->r = dict->root->r;
! }
! if (dict->root->prev) dict->root->prev->next = dict->root->next;
! if (dict->first == dict->root) dict->first = dict->first->next;
! if (dict->root->next) dict->root->next->prev = dict->root->prev;
! if (dict->last == dict->root) dict->last = dict->last->prev;
! if (no_dispose) {
! free(dict->root);
! } else {
! dict_dispose_node(dict->root, dict->free_keys, dict->free_data);
! }
! dict->root = new_root;
! dict->count--;
! return 1;
}
! return 0;
}
--- 204,231 ----
dict_remove2(dict_t dict, const char *key, int no_dispose)
{
+ struct dict_node *new_root;
+
+ if (!dict->root) return 0;
dict->root = dict_splay(dict->root, key);
! if (irccasecmp(key, dict->root->key)) return 0;
!
! if (!dict->root->l) {
! new_root = dict->root->r;
! } else {
! new_root = dict_splay(dict->root->l, key);
! new_root->r = dict->root->r;
! }
! if (dict->root->prev) dict->root->prev->next = dict->root->next;
! if (dict->first == dict->root) dict->first = dict->first->next;
! if (dict->root->next) dict->root->next->prev = dict->root->prev;
! if (dict->last == dict->root) dict->last = dict->last->prev;
! if (no_dispose) {
! free(dict->root);
! } else {
! dict_dispose_node(dict->root, dict->free_keys, dict->free_data);
}
! dict->root = new_root;
! dict->count--;
! return 1;
}
***************
*** 233,237 ****
{
int was_found;
! if (!dict->root || !key) {
if (found) *found = 0;
return NULL;
--- 240,244 ----
{
int was_found;
! if (!dict || !dict->root || !key) {
if (found) *found = 0;
return NULL;
|
|
From: Entrope <en...@us...> - 2002-10-31 03:43:49
|
Update of /cvsroot/srvx/services/src
In directory usw-pr-cvs1:/tmp/cvs-serv9853/src
Modified Files:
sockcheck.c
Log Message:
only cache negative (g-line) results for as long as a g-line lasts
(this prevents people from getting re-glined after they remove a trojan)
Index: sockcheck.c
===================================================================
RCS file: /cvsroot/srvx/services/src/sockcheck.c,v
retrieving revision 1.80
retrieving revision 1.81
diff -C2 -r1.80 -r1.81
*** sockcheck.c 23 Oct 2002 12:30:26 -0000 1.80
--- sockcheck.c 31 Oct 2002 03:43:46 -0000 1.81
***************
*** 128,132 ****
struct sockaddr_in *local_addr;
int local_addr_len;
! time_t max_cache_age;
} sockcheck_conf;
--- 128,132 ----
struct sockaddr_in *local_addr;
int local_addr_len;
! int max_cache_age;
} sockcheck_conf;
***************
*** 600,611 ****
static void
! sockcheck_connected(struct io_fd *fd)
{
struct sockcheck_client *client = fd->data;
- int rc, arglen = sizeof(rc);
- if (getsockopt(fd->fd, SOL_SOCKET, SO_ERROR, &rc, &arglen) < 0) rc = errno;
switch (rc) {
default:
! log(PC_LOG, LOG_ERROR, "BUG: getsockopt(SO_ERROR) returned error %d (%s) for client at %s\n", rc, strerror(rc), client->addr->hostname);
case EHOSTUNREACH:
case ECONNREFUSED:
--- 600,609 ----
static void
! sockcheck_connected(struct io_fd *fd, int rc)
{
struct sockcheck_client *client = fd->data;
switch (rc) {
default:
! log(PC_LOG, LOG_ERROR, "BUG: connect() got error %d (%s) for client at %s\n", rc, strerror(rc), client->addr->hostname);
case EHOSTUNREACH:
case ECONNREFUSED:
***************
*** 688,692 ****
sci = dict_find(checked_ip_dict, buff, NULL);
if (sci) {
! if ((sci->last_touched + sockcheck_conf.max_cache_age) >= now) {
if (sci->decision == REJECT) sockcheck_issue_gline(sci);
return;
--- 686,691 ----
sci = dict_find(checked_ip_dict, buff, NULL);
if (sci) {
! int max_age = (sci->decision == REJECT) ? sockcheck_conf.gline_duration : sockcheck_conf.max_cache_age;
! if ((sci->last_touched + max_age) >= now) {
if (sci->decision == REJECT) sockcheck_issue_gline(sci);
return;
***************
*** 929,932 ****
--- 928,932 ----
sockcheck_cache_info sci;
unsigned int nn;
+ int max_age;
(void)data;
***************
*** 954,958 ****
next = iter_next(it);
sci = iter_data(it);
! if (((sci->last_touched + sockcheck_conf.max_cache_age) < now)
&& !dict_find(curr_clients, sci->hostname, NULL)) {
if (SOCKCHECK_DEBUG) {
--- 954,959 ----
next = iter_next(it);
sci = iter_data(it);
! max_age = (sci->decision == REJECT) ? sockcheck_conf.gline_duration : sockcheck_conf.max_cache_age;
! if (((sci->last_touched + max_age) < now)
&& !dict_find(curr_clients, sci->hostname, NULL)) {
if (SOCKCHECK_DEBUG) {
|
|
From: Entrope <en...@us...> - 2002-10-31 03:43:05
|
Update of /cvsroot/srvx/services/src
In directory usw-pr-cvs1:/tmp/cvs-serv9525/src
Modified Files:
proto-p10.c
Log Message:
set burst_begin after we get SERVER from our uplink (and adjust our time)
Index: proto-p10.c
===================================================================
RCS file: /cvsroot/srvx/services/src/proto-p10.c,v
retrieving revision 1.42
retrieving revision 1.43
diff -C2 -r1.42 -r1.43
*** proto-p10.c 29 Oct 2002 21:07:37 -0000 1.42
--- proto-p10.c 31 Oct 2002 03:43:02 -0000 1.43
***************
*** 499,503 ****
{
void timed_send_ping(void *data);
- extern time_t burst_begin;
self->self_burst = self->burst = 1;
--- 499,502 ----
***************
*** 505,509 ****
irc_server(self);
burst_length = 0;
- burst_begin = now;
timeq_add(now + ping_freq, timed_send_ping, 0);
}
--- 504,507 ----
***************
*** 778,781 ****
--- 776,783 ----
clock_skew = srv->link - (now - clock_skew);
}
+ }
+ if (srv == self->uplink) {
+ extern time_t burst_begin;
+ burst_begin = now + clock_skew;
}
return 1;
|
|
From: Entrope <en...@us...> - 2002-10-31 03:42:31
|
Update of /cvsroot/srvx/services/src
In directory usw-pr-cvs1:/tmp/cvs-serv9296/src
Modified Files:
opserv.c
Log Message:
don't allow users to set a discrim on a channel
fix some meory leaks and a free'd pointer reference
Index: opserv.c
===================================================================
RCS file: /cvsroot/srvx/services/src/opserv.c,v
retrieving revision 1.286
retrieving revision 1.287
diff -C2 -r1.286 -r1.287
*** opserv.c 29 Oct 2002 01:56:28 -0000 1.286
--- opserv.c 31 Oct 2002 03:42:28 -0000 1.287
***************
*** 202,205 ****
--- 202,206 ----
#define OSMSG_ALERT_TRIGGERED "Alert $b%s$b triggered by user $b%s$b!%s@%s (%s)."
#define OSMSG_ALERT_EXISTS "An alert named $b%s$b already exists."
+ #define OSMSG_NO_CHANNEL_ALERT "Alert not registered: specifying a channel is not supported."
#define OSMSG_UNKNOWN_REACTION "Unknown reaction to alert $b%s$b."
#define OSMSG_ADDED_ALERT "Added alert named $b%s$b."
***************
*** 2470,2473 ****
--- 2471,2479 ----
wordc = split_line(discrim_copy, false, ArrayLength(wordv), wordv);
alert->discrim = opserv_discrim_create(req, wordc, wordv);
+ if (alert->discrim->channel) {
+ opserv_notice(req, OSMSG_NO_CHANNEL_ALERT);
+ opserv_free_user_alert(alert->discrim);
+ alert->discrim = NULL;
+ }
if (!alert->discrim) {
free(alert->text_discrim);
***************
*** 3035,3039 ****
} else if (discrim->mask_host && !discrim->mask_host[strcspn(discrim->mask_host, "?*")]) {
struct opserv_hostinfo *ohi = dict_find(opserv_hostinfo_dict, discrim->mask_host, NULL);
! if (!ohi) return 0;
for (nn=0; (nn<ohi->clients.used) && (matched.used < discrim->limit); nn++) {
if (discrim_match(discrim, ohi->clients.list[nn])) {
--- 3041,3048 ----
} else if (discrim->mask_host && !discrim->mask_host[strcspn(discrim->mask_host, "?*")]) {
struct opserv_hostinfo *ohi = dict_find(opserv_hostinfo_dict, discrim->mask_host, NULL);
! if (!ohi) {
! userList_clean(&matched);
! return 0;
! }
for (nn=0; (nn<ohi->clients.used) && (matched.used < discrim->limit); nn++) {
if (discrim_match(discrim, ohi->clients.list[nn])) {
***************
*** 3252,3258 ****
}
das.discrim = opserv_discrim_create(user, argc-2, argv+2);
if (!das.discrim) return 0;
- das.source = user;
if (action == trace_print_func) {
--- 3261,3268 ----
}
+ das.dict = NULL;
+ das.source = user;
das.discrim = opserv_discrim_create(user, argc-2, argv+2);
if (!das.discrim) return 0;
if (action == trace_print_func) {
***************
*** 3262,3265 ****
--- 3272,3276 ----
} else if (action == trace_domains_func) {
das.dict = dict_new();
+ dict_set_free_data(das.dict, free);
dict_set_free_keys(das.dict, free);
das.disp_limit = das.discrim->limit;
***************
*** 3282,3285 ****
--- 3293,3297 ----
free(das.discrim);
+ dict_delete(das.dict);
return 1;
}
***************
*** 3794,3800 ****
}
if (!svccmd_can_invoke(user, opserv, subcmd, channel, 0, 0, 1)) return 0;
! if (opserv_add_user_alert(user, name, reaction, unsplit_string(argv + 3, argc - 3, NULL))) {
! opserv_notice(user, OSMSG_ADDED_ALERT, name);
! }
return 1;
}
--- 3806,3811 ----
}
if (!svccmd_can_invoke(user, opserv, subcmd, channel, 0, 0, 1)) return 0;
! if (!opserv_add_user_alert(user, name, reaction, unsplit_string(argv + 3, argc - 3, NULL))) return 0;
! opserv_notice(user, OSMSG_ADDED_ALERT, name);
return 1;
}
***************
*** 3805,3810 ****
OPSERV_MIN_PARMS(2, 0);
for (i=1; i<argc; i++) {
if (dict_remove(opserv_user_alerts, argv[i])) {
- dict_remove(opserv_nick_based_alerts, argv[i]);
opserv_notice(user, OSMSG_REMOVED_ALERT, argv[i]);
} else {
--- 3816,3821 ----
OPSERV_MIN_PARMS(2, 0);
for (i=1; i<argc; i++) {
+ dict_remove(opserv_nick_based_alerts, argv[i]);
if (dict_remove(opserv_user_alerts, argv[i])) {
opserv_notice(user, OSMSG_REMOVED_ALERT, argv[i]);
} else {
|
|
From: Entrope <en...@us...> - 2002-10-31 03:41:07
|
Update of /cvsroot/srvx/services/src
In directory usw-pr-cvs1:/tmp/cvs-serv8695/src
Modified Files:
nickserv.c
Log Message:
warn users when someone OREGISTERs an account
update allow_auth_dict correctly when a user changes nick
Index: nickserv.c
===================================================================
RCS file: /cvsroot/srvx/services/src/nickserv.c,v
retrieving revision 1.212
retrieving revision 1.213
diff -C2 -r1.212 -r1.213
*** nickserv.c 28 Oct 2002 02:01:47 -0000 1.212
--- nickserv.c 31 Oct 2002 03:41:04 -0000 1.213
***************
*** 95,99 ****
#define NSMSG_NONE "(none)"
#define NSMSG_UNKNOWN "<unknown>"
! #define NSMSG_HANDLE_EXISTS "Account $b%s$b already registered."
#define NSMSG_HANDLE_TOO_LONG "Account name too long."
#define NSMSG_PASSWORD_SHORT "Your password must be at least %lu characters long."
--- 95,99 ----
#define NSMSG_NONE "(none)"
#define NSMSG_UNKNOWN "<unknown>"
! #define NSMSG_HANDLE_EXISTS "Account $b%s$b is already registered."
#define NSMSG_HANDLE_TOO_LONG "Account name too long."
#define NSMSG_PASSWORD_SHORT "Your password must be at least %lu characters long."
***************
*** 102,107 ****
#define NSMSG_PASSWORD_READABLE "Your password must have at least %lu digit(s), %lu capital letter(s), and %lu lower-case letter(s)."
#define NSMSG_PARTIAL_REGISTER "Account has been registered to you; nick was already registered to someone else."
#define NSMSG_OREGISTER_H_SUCCESS "Account has been registered."
! #define NSMSG_REGISTER_H_SUCCESS "Account has been registered to you."
#define NSMSG_REGISTER_HN_SUCCESS "Account and nick have been registered to you."
#define NSMSG_REQUIRE_OPER "You must be an $bIRC Operator$b to register the first account."
--- 102,108 ----
#define NSMSG_PASSWORD_READABLE "Your password must have at least %lu digit(s), %lu capital letter(s), and %lu lower-case letter(s)."
#define NSMSG_PARTIAL_REGISTER "Account has been registered to you; nick was already registered to someone else."
+ #define NSMSG_OREGISTER_VICTIM "%s has registered a new account for you (named %s)."
#define NSMSG_OREGISTER_H_SUCCESS "Account has been registered."
! #define NSMSG_REGISTER_H_SUCCESS "Account has been registered to you."
#define NSMSG_REGISTER_HN_SUCCESS "Account and nick have been registered to you."
#define NSMSG_REQUIRE_OPER "You must be an $bIRC Operator$b to register the first account."
***************
*** 862,865 ****
--- 863,869 ----
}
}
+ if (settee && (user != settee)) {
+ nickserv_notice(settee, NSMSG_OREGISTER_VICTIM, user->nick, hi->handle);
+ }
return hi;
}
***************
*** 3152,3159 ****
{
struct handle_info *hi;
if ((hi = dict_find(nickserv_allow_auth_dict, user->nick, 0))) {
! /* Need to update allow_auth_dict .. */
dict_remove(nickserv_allow_auth_dict, user->nick);
! dict_insert(nickserv_allow_auth_dict, new_nick, hi);
}
timeq_del(0, nickserv_reclaim_p, user, TIMEQ_IGNORE_WHEN);
--- 3156,3171 ----
{
struct handle_info *hi;
+
if ((hi = dict_find(nickserv_allow_auth_dict, user->nick, 0))) {
! char old_nick[NICKLEN+1];
! /* Need to update allow_auth_dict. However, new_nick may be a
! * temporary pointer. The dict stores the key pointer. Make
! * sure it knows about the change but still points to
! * user->nick. */
dict_remove(nickserv_allow_auth_dict, user->nick);
! strcpy(old_nick, user->nick);
! strcpy(user->nick, new_nick);
! dict_insert(nickserv_allow_auth_dict, user->nick, hi);
! strcpy(user->nick, old_nick);
}
timeq_del(0, nickserv_reclaim_p, user, TIMEQ_IGNORE_WHEN);
|
|
From: Entrope <en...@us...> - 2002-10-31 03:40:11
|
Update of /cvsroot/srvx/services/src
In directory usw-pr-cvs1:/tmp/cvs-serv8261/src
Modified Files:
modcmd.c
Log Message:
don't allow opers to adjust commands that are above their level
fix "command *module.cmdname" crash
fix a memory leak
Index: modcmd.c
===================================================================
RCS file: /cvsroot/srvx/services/src/modcmd.c,v
retrieving revision 1.36
retrieving revision 1.37
diff -C2 -r1.36 -r1.37
*** modcmd.c 29 Oct 2002 04:31:29 -0000 1.36
--- modcmd.c 31 Oct 2002 03:40:08 -0000 1.37
***************
*** 29,32 ****
--- 29,33 ----
#define MCMSG_BAD_OPSERV_LEVEL "Invalid $O access level %s."
#define MCMSG_BAD_CHANSERV_LEVEL "Invalid $C access level %s."
+ #define MCMSG_LEVEL_TOO_LOW "You cannot set the access requirements for %s (your level is too low.)"
#define MCMSG_LEVEL_TOO_HIGH "You cannot set the access requirements to %s (that is too high)."
#define MCMSG_UNKNOWN_COMMAND "Unknown command name %s (as template for %s in service %s)."
***************
*** 322,325 ****
--- 323,330 ----
return 0;
}
+ if (user && (!user->handle_info || (cmd->min_opserv_level > user->handle_info->opserv_level))) {
+ send_message(user, bot, MCMSG_LEVEL_TOO_LOW, cmd->name);
+ return 0;
+ }
if (user && (!user->handle_info || (newval > user->handle_info->opserv_level))) {
send_message(user, bot, MCMSG_LEVEL_TOO_HIGH, value);
***************
*** 1127,1132 ****
return 0;
}
! other = dict_find(svccmd->parent->commands, svccmd->command->name, NULL);
! if (other && !other->alias.used && (other->command == svccmd->command)) {
pos = snprintf(buf, sizeof(buf), "%s", other->name);
} else {
--- 1132,1139 ----
return 0;
}
! if (svccmd->parent
! && (other = dict_find(svccmd->parent->commands, svccmd->command->name, NULL))
! && !other->alias.used
! && (other->command == svccmd->command)) {
pos = snprintf(buf, sizeof(buf), "%s", other->name);
} else {
***************
*** 1358,1362 ****
tbl.length = dict_size(mod->commands) + 1;
tbl.width = 3;
! tbl.flags = TABLE_NO_FREE | TABLE_PAD_LEFT;
tbl.contents = calloc(tbl.length, sizeof(tbl.contents[0]));
tbl.contents[0] = calloc(tbl.width, sizeof(tbl.contents[0][0]));
--- 1365,1369 ----
tbl.length = dict_size(mod->commands) + 1;
tbl.width = 3;
! tbl.flags = TABLE_PAD_LEFT;
tbl.contents = calloc(tbl.length, sizeof(tbl.contents[0]));
tbl.contents[0] = calloc(tbl.width, sizeof(tbl.contents[0][0]));
|
|
From: Entrope <en...@us...> - 2002-10-31 03:38:05
|
Update of /cvsroot/srvx/services/src
In directory usw-pr-cvs1:/tmp/cvs-serv7122/src
Modified Files:
chanserv.c
Log Message:
make default epithets options in srvx.conf
allow !wipeinfo self
MODCMD_REQUIRE_CHANNEL for op, deop, voice, devoice commands
Index: chanserv.c
===================================================================
RCS file: /cvsroot/srvx/services/src/chanserv.c,v
retrieving revision 1.301
retrieving revision 1.302
diff -C2 -r1.301 -r1.302
*** chanserv.c 28 Oct 2002 02:27:49 -0000 1.301
--- chanserv.c 31 Oct 2002 03:38:01 -0000 1.302
***************
*** 49,54 ****
#define KEY_REFRESH_PERIOD "refresh_period"
#define KEY_CTCP_SHORT_BAN_DURATION "ctcp_short_ban_duration"
! #define KEY_CTCP_LONG_BAN_DURATION "ctcp_long_ban_duration"
! #define KEY_MAX_OWNED "max_owned"
/* ChanServ database */
--- 49,57 ----
#define KEY_REFRESH_PERIOD "refresh_period"
#define KEY_CTCP_SHORT_BAN_DURATION "ctcp_short_ban_duration"
! #define KEY_CTCP_LONG_BAN_DURATION "ctcp_long_ban_duration"
! #define KEY_MAX_OWNED "max_owned"
! #define KEY_IRC_OPERATOR_EPITHET "irc_operator_epithet"
! #define KEY_NETWORK_HELPER_EPITHET "network_helper_epithet"
! #define KEY_SUPPORT_HELPER_EPITHET "support_helper_epithet"
/* ChanServ database */
***************
*** 290,295 ****
#define CSMSG_HELPER_NO_ACCESS "%s lacks access to %s but has $bsecurity override$b enabled."
#define CSMSG_HELPER_HAS_ACCESS "%s is %s $b%s$b in %s and has $bsecurity override$b enabled."
! #define CSMSG_LAZY_SMURF_TARGET "%s is a megalomaniacal power hungry tyrant ($bIRCOp$b; not logged in)."
! #define CSMSG_LAZY_LAME_SMURF_TARGET "%s is an IRCOp (not logged in)."
#define CSMSG_SMURF_TARGET "%s is %s ($b%s$b)."
#define CSMSG_LAME_SMURF_TARGET "%s is %s %s."
--- 293,297 ----
#define CSMSG_HELPER_NO_ACCESS "%s lacks access to %s but has $bsecurity override$b enabled."
#define CSMSG_HELPER_HAS_ACCESS "%s is %s $b%s$b in %s and has $bsecurity override$b enabled."
! #define CSMSG_LAZY_SMURF_TARGET "%s is %s ($bIRCOp$b; not logged in)."
#define CSMSG_SMURF_TARGET "%s is %s ($b%s$b)."
#define CSMSG_LAME_SMURF_TARGET "%s is %s %s."
***************
*** 408,413 ****
static int eject_user(struct userNode *user, struct chanNode *channel, unsigned int argc, unsigned char *argv[], struct svccmd *cmd, int action);
- extern time_t boot_time;
-
struct userNode *chanserv;
dict_t note_types;
--- 410,413 ----
***************
*** 443,446 ****
--- 443,450 ----
const char *ctcp_short_ban_duration;
const char *ctcp_long_ban_duration;
+
+ const char *irc_operator_epithet;
+ const char *network_helper_epithet;
+ const char *support_helper_epithet;
} chanserv_conf;
***************
*** 3390,3394 ****
if(IsOper(target))
{
! chanserv_notice(user, CSMSG_LAZY_SMURF_TARGET, target->nick);
return 0;
}
--- 3394,3398 ----
if(IsOper(target))
{
! chanserv_notice(user, CSMSG_LAZY_SMURF_TARGET, chanserv_conf.irc_operator_epithet, target->nick);
return 0;
}
***************
*** 3407,3421 ****
if(IsOper(target))
{
! epithet = "a megalomaniacal power hungry tyrant";
type = "IRCOp";
}
else if(IsNetworkHelper(target))
{
! epithet = "a wannabe tyrant";
type = "network helper";
}
else if(IsSupportHelper(target))
{
! epithet = "a wannabe tyrant";
type = "support helper";
}
--- 3411,3425 ----
if(IsOper(target))
{
! epithet = chanserv_conf.irc_operator_epithet;
type = "IRCOp";
}
else if(IsNetworkHelper(target))
{
! epithet = chanserv_conf.network_helper_epithet;
type = "network helper";
}
else if(IsSupportHelper(target))
{
! epithet = chanserv_conf.support_helper_epithet;
type = "support helper";
}
***************
*** 4109,4112 ****
--- 4113,4117 ----
static CHANSERV_FUNC(cmd_netinfo)
{
+ extern time_t boot_time;
extern unsigned long burst_length;
char interval[INTERVALLEN];
***************
*** 4288,4292 ****
return 0;
}
! if(ud->access >= actor->access)
{
reply(MSG_USER_OUTRANKED, victim->handle);
--- 4293,4297 ----
return 0;
}
! if((ud->access >= actor->access) && (ud != actor))
{
reply(MSG_USER_OUTRANKED, victim->handle);
***************
*** 6429,6432 ****
--- 6434,6443 ----
str = database_get_data(conf_node, KEY_MAX_OWNED, RECDB_QSTRING);
chanserv_conf.max_owned = str ? atoi(str) : 5;
+ str = database_get_data(conf_node, KEY_IRC_OPERATOR_EPITHET, RECDB_QSTRING);
+ chanserv_conf.irc_operator_epithet = str ? str : "a megalomaniacal power hungry tyrant";
+ str = database_get_data(conf_node, KEY_NETWORK_HELPER_EPITHET, RECDB_QSTRING);
+ chanserv_conf.network_helper_epithet = str ? str : "a wannabe tyrant";
+ str = database_get_data(conf_node, KEY_SUPPORT_HELPER_EPITHET, RECDB_QSTRING);
+ chanserv_conf.support_helper_epithet = str ? str : "a wannabe tyrant";
free_string_list(chanserv_conf.set_shows);
strlist = database_get_data(conf_node, "set_shows", RECDB_STRING_LIST);
***************
*** 7135,7142 ****
DEFINE_COMMAND(upall, 1, MODCMD_REQUIRE_AUTHED, NULL);
DEFINE_COMMAND(downall, 1, MODCMD_REQUIRE_AUTHED, NULL);
! DEFINE_COMMAND(op, 2, 0, "access", "op", NULL);
! DEFINE_COMMAND(deop, 2, 0, "template", "op", NULL);
! DEFINE_COMMAND(voice, 2, 0, "template", "op", NULL);
! DEFINE_COMMAND(devoice, 2, 0, "template", "op", NULL);
DEFINE_COMMAND(kickban, 2, MODCMD_REQUIRE_REGCHAN, "template", "op", NULL);
--- 7146,7153 ----
DEFINE_COMMAND(upall, 1, MODCMD_REQUIRE_AUTHED, NULL);
DEFINE_COMMAND(downall, 1, MODCMD_REQUIRE_AUTHED, NULL);
! DEFINE_COMMAND(op, 2, MODCMD_REQUIRE_CHANNEL, "access", "op", NULL);
! DEFINE_COMMAND(deop, 2, MODCMD_REQUIRE_CHANNEL, "template", "op", NULL);
! DEFINE_COMMAND(voice, 2, MODCMD_REQUIRE_CHANNEL, "template", "op", NULL);
! DEFINE_COMMAND(devoice, 2, MODCMD_REQUIRE_CHANNEL, "template", "op", NULL);
DEFINE_COMMAND(kickban, 2, MODCMD_REQUIRE_REGCHAN, "template", "op", NULL);
|
|
From: Entrope <en...@us...> - 2002-10-31 03:38:05
|
Update of /cvsroot/srvx/services
In directory usw-pr-cvs1:/tmp/cvs-serv7122
Modified Files:
srvx.conf.example
Log Message:
make default epithets options in srvx.conf
allow !wipeinfo self
MODCMD_REQUIRE_CHANNEL for op, deop, voice, devoice commands
Index: srvx.conf.example
===================================================================
RCS file: /cvsroot/srvx/services/srvx.conf.example,v
retrieving revision 1.31
retrieving revision 1.32
diff -C2 -r1.31 -r1.32
*** srvx.conf.example 29 Oct 2002 07:51:41 -0000 1.31
--- srvx.conf.example 31 Oct 2002 03:38:01 -0000 1.32
***************
*** 189,192 ****
--- 189,196 ----
// how long between automatic topic refreshes with TopicRefresh 0
"refresh_period" "3h";
+ // what should !access say for various staff?
+ "irc_operator_epithet" "a megalomaniacal power hungry tyrant";
+ "network_helper_epithet" "a wannabe tyrant";
+ "support_helper_epithet" "a wannabe tyrant";
};
|