srvx-commits Mailing List for srvx IRC Services (Page 19)
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-01-07 04:26:00
|
Update of /cvsroot/srvx/services/src
In directory sc8-pr-cvs1:/tmp/cvs-serv27240/src
Modified Files:
nickserv.c
Log Message:
always update nick_info->owner during a merge (fixes bug #662972)
Index: nickserv.c
===================================================================
RCS file: /cvsroot/srvx/services/src/nickserv.c,v
retrieving revision 1.224
retrieving revision 1.225
diff -C2 -r1.224 -r1.225
*** nickserv.c 6 Jan 2003 02:12:51 -0000 1.224
--- nickserv.c 7 Jan 2003 04:25:57 -0000 1.225
***************
*** 2525,2535 ****
for (last_ni=hi_to->nicks; last_ni->next; last_ni=last_ni->next) ;
last_ni->next = hi_from->nicks;
! while (hi_from->nicks) {
! hi_from->nicks->owner = hi_to;
! hi_from->nicks = hi_from->nicks->next;
! }
! } else {
! hi_to->nicks = hi_from->nicks;
! hi_from->nicks = NULL;
}
--- 2525,2532 ----
for (last_ni=hi_to->nicks; last_ni->next; last_ni=last_ni->next) ;
last_ni->next = hi_from->nicks;
! }
! while (hi_from->nicks) {
! hi_from->nicks->owner = hi_to;
! hi_from->nicks = hi_from->nicks->next;
}
|
|
From: Entrope <en...@us...> - 2003-01-07 04:25:06
|
Update of /cvsroot/srvx/services/src
In directory sc8-pr-cvs1:/tmp/cvs-serv27025/src
Modified Files:
modcmd.c
Log Message:
do not let suspended users use any auth-required commands
Index: modcmd.c
===================================================================
RCS file: /cvsroot/srvx/services/src/modcmd.c,v
retrieving revision 1.46
retrieving revision 1.47
diff -C2 -r1.46 -r1.47
*** modcmd.c 17 Dec 2002 20:25:56 -0000 1.46
--- modcmd.c 7 Jan 2003 04:25:03 -0000 1.47
***************
*** 35,38 ****
--- 35,39 ----
#define MCMSG_BAD_OPTION "Unknown option %s."
#define MCMSG_MUST_QUALIFY "You $bMUST$b \"/msg %s@$s %s\" (not just /msg %s)."
+ #define MCMSG_ACCOUNT_SUSPENDED "Your account has been suspended."
#define MCMSG_CHAN_NOT_REGISTERED "%s has not been registered with $C."
#define MCMSG_NO_CHANNEL_ACCESS "You lack access to %s."
***************
*** 434,440 ****
return 0;
}
! if ((flags & MODCMD_REQUIRE_AUTHED) && !user->handle_info) {
! if (noisy) send_message(user, bot, MSG_AUTHENTICATE);
! return 0;
}
if (channel || noisy) {
--- 435,447 ----
return 0;
}
! if (flags & MODCMD_REQUIRE_AUTHED) {
! if (!user->handle_info) {
! if (noisy) send_message(user, bot, MSG_AUTHENTICATE);
! return 0;
! }
! if (HANDLE_FLAGGED(user->handle_info, SUSPENDED)) {
! if (noisy) send_message(user, bot, MCMSG_ACCOUNT_SUSPENDED);
! return 0;
! }
}
if (channel || noisy) {
|
|
From: Entrope <en...@us...> - 2003-01-07 04:24:29
|
Update of /cvsroot/srvx/services/src
In directory sc8-pr-cvs1:/tmp/cvs-serv26851/src
Modified Files:
mod-snoop.c
Log Message:
do not show AUTH messages during burst
do not show QUIT messages when we are exiting
Index: mod-snoop.c
===================================================================
RCS file: /cvsroot/srvx/services/src/mod-snoop.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -r1.9 -r1.10
*** mod-snoop.c 3 Jan 2003 23:57:31 -0000 1.9
--- mod-snoop.c 7 Jan 2003 04:24:25 -0000 1.10
***************
*** 111,114 ****
--- 111,115 ----
(void)old_handle;
if (!snoop_cfg.enabled) return;
+ if (user->uplink->burst && !snoop_cfg.show_bursts) return;
if (user->handle_info) {
UPDATE_TIMESTAMP();
***************
*** 140,145 ****
--- 141,152 ----
}
+ void
+ snoop_cleanup(void) {
+ unreg_del_user_func(snoop_del_user);
+ }
+
int
snoop_init(void) {
+ reg_exit_func(snoop_cleanup);
conf_register_reload(snoop_conf_read);
reg_nick_change_func(snoop_nick_change);
|
|
From: Entrope <en...@us...> - 2003-01-07 04:23:17
|
Update of /cvsroot/srvx/services/src
In directory sc8-pr-cvs1:/tmp/cvs-serv26508/src
Modified Files:
hash.c
Log Message:
do not clear channel modes in ReintroduceUser()
remove an incorrect comment in NickChange()
Index: hash.c
===================================================================
RCS file: /cvsroot/srvx/services/src/hash.c,v
retrieving revision 1.170
retrieving revision 1.171
diff -C2 -r1.170 -r1.171
*** hash.c 6 Jan 2003 01:53:01 -0000 1.170
--- hash.c 7 Jan 2003 04:23:12 -0000 1.171
***************
*** 159,163 ****
}
irc_join(user, mn->channel);
- mn->modes &= ~(MODE_CHANOP|MODE_VOICE); /* since they just rejoined */
if (modes[0]) irc_mode(user, mn->channel, modes);
}
--- 159,162 ----
***************
*** 174,184 ****
/* remove old entry from clients dictionary */
dict_remove(clients, user->nick);
/* Make callbacks for nick changes.
* This needs to be done with the old nick still in place, else
* dict lookups based on user->nick will miss the user.
! * It is safe to re-insert using new_nick (which may be a
! * temporary pointer) since the later value of user->nick will be
! * correct. */
for (nn=0; nn<ncf2_used; nn++) {
ncf2_list[nn](user, new_nick);
--- 173,185 ----
/* remove old entry from clients dictionary */
dict_remove(clients, user->nick);
+ #if !defined(WITH_PROTOCOL_P10)
+ /* Remove from uplink's clients dict */
+ dict_remove(user->uplink->users, user->nick);
+ #endif
/* Make callbacks for nick changes.
* This needs to be done with the old nick still in place, else
* dict lookups based on user->nick will miss the user.
! */
for (nn=0; nn<ncf2_used; nn++) {
ncf2_list[nn](user, new_nick);
***************
*** 187,194 ****
user->timestamp = now;
if (IsLocal(user) && !no_announce) irc_nick(user, new_nick);
- #if !defined(WITH_PROTOCOL_P10)
- /* Remove from uplink's clients dict */
- dict_remove(user->uplink->users, user->nick);
- #endif
/* Copy new nick into user structure */
safestrncpy(user->nick, new_nick, sizeof(user->nick));
--- 188,191 ----
|
|
From: Entrope <en...@us...> - 2003-01-06 02:12:54
|
Update of /cvsroot/srvx/services/src
In directory sc8-pr-cvs1:/tmp/cvs-serv31704/src
Modified Files:
nickserv.c
Log Message:
allow cookie data to be missing when reading DB (allowauth, for example, does not use it)
Index: nickserv.c
===================================================================
RCS file: /cvsroot/srvx/services/src/nickserv.c,v
retrieving revision 1.223
retrieving revision 1.224
diff -C2 -r1.223 -r1.224
*** nickserv.c 6 Jan 2003 01:53:01 -0000 1.223
--- nickserv.c 6 Jan 2003 02:12:51 -0000 1.224
***************
*** 2396,2400 ****
char *type;
- saxdb_start_record(ctx, KEY_COOKIE, 0);
switch (cookie->type) {
case ACTIVATION: type = KEY_ACTIVATION; break;
--- 2396,2399 ----
***************
*** 2404,2412 ****
default: type = NULL; break;
}
! if (type) saxdb_write_string(ctx, KEY_COOKIE_TYPE, type);
! saxdb_write_int(ctx, KEY_COOKIE_EXPIRES, cookie->expires);
! if (cookie->data) saxdb_write_string(ctx, KEY_COOKIE_DATA, cookie->data);
! saxdb_write_string(ctx, KEY_COOKIE, cookie->cookie);
! saxdb_end_record(ctx);
}
if (hi->email_addr) saxdb_write_string(ctx, KEY_EMAIL_ADDR, hi->email_addr);
--- 2403,2414 ----
default: type = NULL; break;
}
! if (type) {
! saxdb_start_record(ctx, KEY_COOKIE, 0);
! saxdb_write_string(ctx, KEY_COOKIE_TYPE, type);
! saxdb_write_int(ctx, KEY_COOKIE_EXPIRES, cookie->expires);
! if (cookie->data) saxdb_write_string(ctx, KEY_COOKIE_DATA, cookie->data);
! saxdb_write_string(ctx, KEY_COOKIE, cookie->cookie);
! saxdb_end_record(ctx);
! }
}
if (hi->email_addr) saxdb_write_string(ctx, KEY_EMAIL_ADDR, hi->email_addr);
***************
*** 2933,2937 ****
expires = database_get_data(subdb, KEY_COOKIE_EXPIRES, RECDB_QSTRING);
cookie_str = database_get_data(subdb, KEY_COOKIE, RECDB_QSTRING);
! if (!type || !data || !expires || !cookie_str) {
log(NS_LOG, LOG_ERROR, "Missing field(s) from cookie for account %s; dropping cookie.\n", hi->handle);
goto cookie_out;
--- 2935,2939 ----
expires = database_get_data(subdb, KEY_COOKIE_EXPIRES, RECDB_QSTRING);
cookie_str = database_get_data(subdb, KEY_COOKIE, RECDB_QSTRING);
! if (!type || !expires || !cookie_str) {
log(NS_LOG, LOG_ERROR, "Missing field(s) from cookie for account %s; dropping cookie.\n", hi->handle);
goto cookie_out;
***************
*** 2947,2951 ****
cookie->expires = strtoul(expires, NULL, 0);
if (cookie->expires < now) goto cookie_out;
! cookie->data = strdup(data);
safestrncpy(cookie->cookie, cookie_str, sizeof(cookie->cookie));
cookie->hi = hi;
--- 2949,2953 ----
cookie->expires = strtoul(expires, NULL, 0);
if (cookie->expires < now) goto cookie_out;
! if (data) cookie->data = strdup(data);
safestrncpy(cookie->cookie, cookie_str, sizeof(cookie->cookie));
cookie->hi = hi;
|
|
From: Entrope <en...@us...> - 2003-01-06 01:53:04
|
Update of /cvsroot/srvx/services/src
In directory sc8-pr-cvs1:/tmp/cvs-serv25181/src
Modified Files:
hash.c hash.h nickserv.c proto-p10.c
Log Message:
call account_func callback before calling new_user_func callback
Index: hash.c
===================================================================
RCS file: /cvsroot/srvx/services/src/hash.c,v
retrieving revision 1.169
retrieving revision 1.170
diff -C2 -r1.169 -r1.170
*** hash.c 2 Jan 2003 23:11:34 -0000 1.169
--- hash.c 6 Jan 2003 01:53:01 -0000 1.170
***************
*** 206,210 ****
}
! static account_func_t account_func = NULL;
void
--- 206,210 ----
}
! static account_func_t account_func;
void
***************
*** 218,222 ****
void
! call_account_func(struct userNode *user, char *stamp)
{
/* We've received an account stamp for a user; notify
--- 218,222 ----
void
! call_account_func(struct userNode *user, const char *stamp)
{
/* We've received an account stamp for a user; notify
***************
*** 224,228 ****
right now.
! (P10 Protocol violation if (user->modes & FLAGS_STAMPED here.)
*/
if(account_func)
--- 224,228 ----
right now.
! P10 Protocol violation if (user->modes & FLAGS_STAMPED here.)
*/
if(account_func)
***************
*** 238,250 ****
void
! StampUser(struct userNode *user, char *stamp)
{
#ifdef WITH_PROTOCOL_P10
/* The P10 protocol says we can't stamp users who already
have a stamp. */
! if(user->modes & FLAGS_STAMPED)
! {
! return;
! }
#endif
--- 238,247 ----
void
! StampUser(struct userNode *user, const char *stamp)
{
#ifdef WITH_PROTOCOL_P10
/* The P10 protocol says we can't stamp users who already
have a stamp. */
! if(IsStamped(user)) return;
#endif
Index: hash.h
===================================================================
RCS file: /cvsroot/srvx/services/src/hash.h,v
retrieving revision 1.97
retrieving revision 1.98
diff -C2 -r1.97 -r1.98
*** hash.h 15 Dec 2002 09:59:38 -0000 1.97
--- hash.h 6 Jan 2003 01:53:01 -0000 1.98
***************
*** 200,207 ****
void NickChange(struct userNode* user, const char *new_nick, int no_announce);
! typedef void (*account_func_t) (struct userNode *user, char *stamp);
void reg_account_func(account_func_t handler);
! void call_account_func(struct userNode *user, char *stamp);
! void StampUser(struct userNode *user, char *stamp);
typedef void (*new_channel_func_t) (struct chanNode *chan);
--- 200,207 ----
void NickChange(struct userNode* user, const char *new_nick, int no_announce);
! typedef void (*account_func_t) (struct userNode *user, const char *stamp);
void reg_account_func(account_func_t handler);
! void call_account_func(struct userNode *user, const char *stamp);
! void StampUser(struct userNode *user, const char *stamp);
typedef void (*new_channel_func_t) (struct chanNode *chan);
Index: nickserv.c
===================================================================
RCS file: /cvsroot/srvx/services/src/nickserv.c,v
retrieving revision 1.222
retrieving revision 1.223
diff -C2 -r1.222 -r1.223
*** nickserv.c 4 Jan 2003 05:32:58 -0000 1.222
--- nickserv.c 6 Jan 2003 01:53:01 -0000 1.223
***************
*** 3231,3235 ****
void
! handle_account(struct userNode *user, char *stamp)
{
struct handle_info *hi;
--- 3231,3235 ----
void
! handle_account(struct userNode *user, const char *stamp)
{
struct handle_info *hi;
Index: proto-p10.c
===================================================================
RCS file: /cvsroot/srvx/services/src/proto-p10.c,v
retrieving revision 1.55
retrieving revision 1.56
diff -C2 -r1.55 -r1.56
*** proto-p10.c 4 Jan 2003 06:25:20 -0000 1.55
--- proto-p10.c 6 Jan 2003 01:53:01 -0000 1.56
***************
*** 285,289 ****
static struct dict *unbursted_channels;
! static struct userNode *AddUser(struct server* uplink, const char *nick, const char *ident, const char *hostname, const char *modes, const char *numeric, const char *userinfo, time_t timestamp, const char *realip);
/* Numerics can be XYY, XYYY, or XXYYY; with X's identifying the
--- 285,289 ----
static struct dict *unbursted_channels;
! static struct userNode *AddUser(struct server* uplink, const char *nick, const char *ident, const char *hostname, const char *modes, const char *account, const char *numeric, const char *userinfo, time_t timestamp, const char *realip);
/* Numerics can be XYY, XYYY, or XXYYY; with X's identifying the
***************
*** 910,920 ****
if (argc > 10) {
/* The user is +r and has an ACCOUNT stamp in argv[7]. */
! user = AddUser(serv, argv[1], argv[4], argv[5], argv[6], argv[9], argv[argc-1], atoi(argv[3]), argv[8]);
! if (user) call_account_func(user, argv[7]);
} else {
! AddUser(serv, argv[1], argv[4], argv[5], argv[6], argv[8], argv[argc-1], atoi(argv[3]), argv[7]);
}
} else {
! AddUser(serv, argv[1], argv[4], argv[5], "+", argv[7], argv[argc-1], atoi(argv[3]), argv[6]);
}
}
--- 910,919 ----
if (argc > 10) {
/* The user is +r and has an ACCOUNT stamp in argv[7]. */
! AddUser(serv, argv[1], argv[4], argv[5], argv[6], argv[7], argv[9], argv[argc-1], atoi(argv[3]), argv[8]);
} else {
! AddUser(serv, argv[1], argv[4], argv[5], argv[6], NULL, argv[8], argv[argc-1], atoi(argv[3]), argv[7]);
}
} else {
! AddUser(serv, argv[1], argv[4], argv[5], "+", NULL, argv[7], argv[argc-1], atoi(argv[3]), argv[6]);
}
}
***************
*** 926,944 ****
struct userNode *user;
! if (argc < 3) {
! return 0;
! }
!
! if (!origin || !GetServerH(origin)) {
! /* Protocol violation - ACCOUNT from user. */
! return 0;
! }
!
user = GetUserN(argv[1]);
! if(!user) {
! /* Ignore ACCOUNT for user that QUIT; probably crossed */
! return 1;
! }
!
call_account_func(user, argv[2]);
return 1;
--- 925,932 ----
struct userNode *user;
! if (argc < 3) return 0;
! if (!origin || !GetServerH(origin)) return 0; /* Origin must be server. */
user = GetUserN(argv[1]);
! if (!user) return 1; /* A QUIT probably passed the ACCOUNT. */
call_account_func(user, argv[2]);
return 1;
***************
*** 1722,1726 ****
}
make_numeric(self, local_num, numeric);
! return AddUser(self, nick, nick, self->name, "+oik", numeric, desc, now, "AAAAAA");
}
--- 1710,1714 ----
}
make_numeric(self, local_num, numeric);
! return AddUser(self, nick, nick, self->name, "+oik", NULL, numeric, desc, now, "AAAAAA");
}
***************
*** 1736,1740 ****
}
make_numeric(self, local_num, numeric);
! return AddUser(self, nick, ident, hostname, "+i", numeric, desc, now, "AAAAAA");
}
--- 1724,1728 ----
}
make_numeric(self, local_num, numeric);
! return AddUser(self, nick, ident, hostname, "+i", NULL, numeric, desc, now, "AAAAAA");
}
***************
*** 1752,1756 ****
static struct userNode*
! AddUser(struct server* uplink, const char *nick, const char *ident, const char *hostname, const char *modes, const char *numeric, const char *userinfo, time_t timestamp, const char *realip)
{
struct userNode *oldUser, *uNode;
--- 1740,1744 ----
static struct userNode*
! AddUser(struct server* uplink, const char *nick, const char *ident, const char *hostname, const char *modes, const char *account, const char *numeric, const char *userinfo, time_t timestamp, const char *realip)
{
struct userNode *oldUser, *uNode;
***************
*** 1796,1799 ****
--- 1784,1788 ----
uNode->num_local = base64toint(numeric+strlen(uNode->uplink->numeric), 3) & uNode->uplink->num_mask;
uNode->uplink->users[uNode->num_local] = uNode;
+ if (account) call_account_func(uNode, account);
if ((oldUser = GetUserH(nick))) {
|
|
From: Entrope <en...@us...> - 2003-01-06 01:52:19
|
Update of /cvsroot/srvx/services/src
In directory sc8-pr-cvs1:/tmp/cvs-serv25020/src
Modified Files:
opserv.c
Log Message:
fix ?part
Index: opserv.c
===================================================================
RCS file: /cvsroot/srvx/services/src/opserv.c,v
retrieving revision 1.303
retrieving revision 1.304
diff -C2 -r1.303 -r1.304
*** opserv.c 3 Jan 2003 23:59:07 -0000 1.303
--- opserv.c 6 Jan 2003 01:52:15 -0000 1.304
***************
*** 1094,1101 ****
{
char *reason;
! OPSERV_NEED_CHANNEL();
! reason = (argc < 2) ? "Leaving." : unsplit_string(argv+1, argc-1, NULL);
! opserv_notice(user, OSMSG_LEAVING, channel->name);
! DelChannelUser(opserv, channel, reason, 0);
return 1;
}
--- 1094,1107 ----
{
char *reason;
! OPSERV_MIN_PARMS(2, false);
! if (!IsChannelName(argv[1])) {
! reply(MSG_NOT_CHANNEL_NAME);
! return 0;
! }
! if ((channel = GetChannel(argv[1]))) {
! reason = (argc < 2) ? "Leaving." : unsplit_string(argv+1, argc-1, NULL);
! opserv_notice(user, OSMSG_LEAVING, channel->name);
! DelChannelUser(opserv, channel, reason, 0);
! }
return 1;
}
|
|
From: Entrope <en...@us...> - 2003-01-06 01:51:21
|
Update of /cvsroot/srvx/services/src
In directory sc8-pr-cvs1:/tmp/cvs-serv24809/src
Modified Files:
global.c
Log Message:
fix slight memory leak in the Global "list" command
Index: global.c
===================================================================
RCS file: /cvsroot/srvx/services/src/global.c,v
retrieving revision 1.52
retrieving revision 1.53
diff -C2 -r1.52 -r1.53
*** global.c 4 Jan 2003 05:32:21 -0000 1.52
--- global.c 6 Jan 2003 01:51:17 -0000 1.53
***************
*** 490,493 ****
--- 490,494 ----
free(table.contents[nn]);
}
+ free(table.contents[0]);
free(table.contents);
|
|
From: Entrope <en...@us...> - 2003-01-05 23:55:03
|
Update of /cvsroot/srvx/services
In directory sc8-pr-cvs1:/tmp/cvs-serv24887
Modified Files:
srvx.conf.example
Log Message:
update srvx.conf.example documentation
Index: srvx.conf.example
===================================================================
RCS file: /cvsroot/srvx/services/srvx.conf.example,v
retrieving revision 1.34
retrieving revision 1.35
diff -C2 -r1.34 -r1.35
*** srvx.conf.example 14 Nov 2002 00:51:07 -0000 1.34
--- srvx.conf.example 5 Jan 2003 23:55:00 -0000 1.35
***************
*** 6,17 ****
*/
"uplinks" {
"private-network" {
"address" "10.0.0.3";
"port" "6660";
"password" "passwordtoconnect";
"their_password" "passwordtorequire";
"enabled" "1";
! "max_tries" "3"; // tries before giving up on this uplink
// "bind_address" "192.168.0.10"; // use this ip to link
};
--- 6,26 ----
*/
+ // The "uplinks" section describes what servers we can possibly link
+ // to. Each subsection describes one server.
"uplinks" {
"private-network" {
+ // IP address and port the server listens on
"address" "10.0.0.3";
"port" "6660";
+ // What password should we send when we connect?
"password" "passwordtoconnect";
+ // What password should we require our peer to send?
+ // (If it is blank, we do not require a specific password.)
"their_password" "passwordtorequire";
"enabled" "1";
! // How many times should we try to connect before giving up?
! "max_tries" "3";
! // What IP should we bind to?
! // If you do not specify bind_address, the default is used.
// "bind_address" "192.168.0.10"; // use this ip to link
};
***************
*** 25,48 ****
"password" "passwordtoconnect";
"their_password" "passwordtorequire";
"enabled" "0";
! "max_tries" "3"; // tries before giving up on this uplink
! // "bind_address" "192.168.0.10"; // use this ip to link
};
};
"services" {
"nickserv" {
"nick" "NickServ";
! // If you want to by default have a hostmask like *@*,
! // you may list it here. For security reasons, this is
! // strongly discouraged.
! // "default_hostmask" "*@*";
! // one account may only have this many nicks
! "nicks_per_account" "4";
! // do we warn users when someone new auths to the user's account?
"warn_clone_auth" "1";
! // this can be a file that contains easily guessed passwords
"dict_file" "/usr/share/dict/words";
! // minimum number of various types of characters for a password
"password_min_length" "4";
"password_min_digits" "1";
--- 34,58 ----
"password" "passwordtoconnect";
"their_password" "passwordtorequire";
+ // If "enabled" is 0, we will not try to use this uplink.
"enabled" "0";
! "max_tries" "3";
};
};
+ // The "services" section configures the services that make up srvx.
"services" {
"nickserv" {
"nick" "NickServ";
! // If you want to by have *@* as the default hostmask, set
! // default_hostmask. This is discouraged for security reasons.
! // "default_hostmask" "1";
! // do we warn users when someone new auths to their account?
"warn_clone_auth" "1";
! // This names a file that contains easily guessed passwords.
! // It always contains "password", "<password>" and the user's
! // account name.
"dict_file" "/usr/share/dict/words";
! // Minimum number of various types of characters permitted in
! // a password.
"password_min_length" "4";
"password_min_digits" "1";
***************
*** 50,55 ****
"password_min_lower" "0";
// What should valid account and nicks look like?
! // (If valid_nick_regex is omitted, valid_account_regex is used
! // for both nicks and accounts.)
// These look funny because "[][-]" is the only way to write the
// character class containing the characters ']', '[' and '-'.
--- 60,65 ----
"password_min_lower" "0";
// What should valid account and nicks look like?
! // If valid_nick_regex is omitted, valid_account_regex is used
! // for both nicks and accounts.
// These look funny because "[][-]" is the only way to write the
// character class containing the characters ']', '[' and '-'.
***************
*** 57,75 ****
"valid_nick_regex" "^[-_a-z][-_a-z0-9]*$";
! // should nick ownership be disabled?
"disable_nicks" "0";
! // what to do when someone uses the NickServ "reclaim" command?
! // this can be one of "none", "warn", "svsnick", or "kill", but
// stock ircu does not support svsnick -- you need Bahamut or a
// patch for ircu. no, don't ask srvx developers for the patch.
"reclaim_action" "none";
! // send a warning when someone uses a registered nick?
! "warn_nick_owned" "0";
! // what (else) to do when someone uses a registered nick?
! // this can be anything "reclaim_action" can be, but it makes
// more sense to use the "warn_nick_owned" instead of "warn".
"auto_reclaim_action" "none";
! // and how long to wait before doing it?
! // this is ignored if "auto_reclaim_action" is "none".
"auto_reclaim_delay" "0";
--- 67,87 ----
"valid_nick_regex" "^[-_a-z][-_a-z0-9]*$";
! // Should nick ownership be disabled?
"disable_nicks" "0";
! // One account may only own this many nicks.
! "nicks_per_account" "4";
! // Send a warning when someone uses a registered nick?
! "warn_nick_owned" "0";
! // What to do when someone uses the NickServ "reclaim" command?
! // This can be one of "none", "warn", "svsnick", or "kill", but
// stock ircu does not support svsnick -- you need Bahamut or a
// patch for ircu. no, don't ask srvx developers for the patch.
"reclaim_action" "none";
! // What (else) to do when someone uses a registered nick?
! // This can be anything "reclaim_action" can be, but it makes
// more sense to use the "warn_nick_owned" instead of "warn".
"auto_reclaim_action" "none";
! // How long to wait before doing the auto_reclaim_action?
! // This is ignored if "auto_reclaim_action" is "none".
"auto_reclaim_delay" "0";
***************
*** 106,111 ****
// How to integrate with email cookies?
"email_enabled" "0"; // if set, /mail/enable MUST be set too
! "email_required" "0";
! "cookie_timeout" "1d";
"accounts_per_email" "1"; // you may want to increase this; or not
"email_visible_level" "800"; // minimum OpServ level to see somebody's email address
--- 118,123 ----
// How to integrate with email cookies?
"email_enabled" "0"; // if set, /mail/enable MUST be set too
! "email_required" "0"; // ignored unless email_enabled is non-zero
! "cookie_timeout" "1d"; // how long before we expire cookies?
"accounts_per_email" "1"; // you may want to increase this; or not
"email_visible_level" "800"; // minimum OpServ level to see somebody's email address
|
|
From: Entrope <en...@us...> - 2003-01-04 06:25:23
|
Update of /cvsroot/srvx/services/src
In directory sc8-pr-cvs1:/tmp/cvs-serv13224/src
Modified Files:
proto-bahamut.c proto-p10.c
Log Message:
do not call mod_usermode() until user is inserted into clients dict;
this way mode callbacks can send the user a message
generate a "genuine" nick collision to override a user using a
service's nick
don't call oper callback funcs on local users
Index: proto-bahamut.c
===================================================================
RCS file: /cvsroot/srvx/services/src/proto-bahamut.c,v
retrieving revision 1.29
retrieving revision 1.30
diff -C2 -r1.29 -r1.30
*** proto-bahamut.c 2 Jan 2003 23:11:34 -0000 1.29
--- proto-bahamut.c 4 Jan 2003 06:25:20 -0000 1.30
***************
*** 143,158 ****
pol_params = IsOper(uNode) ? oper_policer_params : luser_policer_params;
uNode->command_policer = policer_new(pol_params, uNode->timestamp);
- mod_usermode(uNode, modes);
/* does the nick already exist? if so, how to handle? */
if ((oldUser = GetUserH(nick))) {
! if (oldUser->uplink == self) {
! /* Since we want services to be authoritative over
! * other servers, we'll issue a KILL regardless of
! * timestamp comparisons. If this other user is +k,
! * then somebody screwed up. */
! irc_kill(NULL, uNode, "Nick collision");
}
! } else {
dict_insert(clients, uNode->nick, uNode);
if (dict_size(clients) > max_clients) {
--- 143,160 ----
pol_params = IsOper(uNode) ? oper_policer_params : luser_policer_params;
uNode->command_policer = policer_new(pol_params, uNode->timestamp);
/* does the nick already exist? if so, how to handle? */
if ((oldUser = GetUserH(nick))) {
! if (IsLocal(oldUser) && IsService(oldUser)) {
! oldUser->timestamp = uNode->timestamp - 1;
! irc_user(oldUser);
}
! if (oldUser->timestamp > uNode->timestamp) {
! DelUser(oldUser, NULL, false, "Newer nick overruled");
! oldUser = NULL;
! }
! }
!
! if (!oldUser) {
dict_insert(clients, uNode->nick, uNode);
if (dict_size(clients) > max_clients) {
***************
*** 162,165 ****
--- 164,168 ----
}
+ mod_usermode(uNode, modes);
if (IsLocal(uNode)) irc_user(uNode);
for (nn=0; nn<nuf_used; nn++) {
***************
*** 1059,1063 ****
{
unsigned int n;
!
for (n=0; n<of_used; n++)
{
--- 1062,1066 ----
{
unsigned int n;
! if (IsLocal(user)) return;
for (n=0; n<of_used; n++)
{
Index: proto-p10.c
===================================================================
RCS file: /cvsroot/srvx/services/src/proto-p10.c,v
retrieving revision 1.54
retrieving revision 1.55
diff -C2 -r1.54 -r1.55
*** proto-p10.c 3 Jan 2003 23:59:59 -0000 1.54
--- proto-p10.c 4 Jan 2003 06:25:20 -0000 1.55
***************
*** 1794,1810 ****
pol_params = IsOper(uNode) ? oper_policer_params : luser_policer_params;
uNode->command_policer = policer_new(pol_params, uNode->timestamp);
- mod_usermode(uNode, modes);
uNode->num_local = base64toint(numeric+strlen(uNode->uplink->numeric), 3) & uNode->uplink->num_mask;
- /* does the nick already exist? if so, how to handle? */
if ((oldUser = GetUserH(nick))) {
! if (oldUser->uplink == self) {
! /* Since we want services to be authoritative over
! * other servers, we'll issue a KILL regardless of
! * timestamp comparisons. If this other user is +k,
! * then somebody screwed up. */
! irc_kill(NULL, uNode, "Nick collision");
}
! } else {
dict_insert(clients, uNode->nick, uNode);
if (dict_size(clients) > max_clients) {
--- 1794,1811 ----
pol_params = IsOper(uNode) ? oper_policer_params : luser_policer_params;
uNode->command_policer = policer_new(pol_params, uNode->timestamp);
uNode->num_local = base64toint(numeric+strlen(uNode->uplink->numeric), 3) & uNode->uplink->num_mask;
+ uNode->uplink->users[uNode->num_local] = uNode;
if ((oldUser = GetUserH(nick))) {
! if (IsLocal(oldUser) && IsService(oldUser)) {
! oldUser->timestamp = uNode->timestamp - 1;
! irc_user(oldUser);
}
! if (oldUser->timestamp > uNode->timestamp) {
! oldUser = NULL;
! }
! }
!
! if (!oldUser) {
dict_insert(clients, uNode->nick, uNode);
if (dict_size(clients) > max_clients) {
***************
*** 1814,1825 ****
}
! uNode->uplink->users[uNode->num_local] = uNode;
!
if (IsLocal(uNode)) irc_user(uNode);
-
for (n=0; n<nuf_used; n++) {
if (nuf_list[n](uNode)) break;
}
-
return uNode;
}
--- 1815,1823 ----
}
! mod_usermode(uNode, modes);
if (IsLocal(uNode)) irc_user(uNode);
for (n=0; n<nuf_used; n++) {
if (nuf_list[n](uNode)) break;
}
return uNode;
}
***************
*** 1869,1873 ****
* a list of clients that get freed after processing each line.
*/
! userList_append(&dead_users, user);
}
--- 1867,1875 ----
* a list of clients that get freed after processing each line.
*/
! if (dead_users.size) {
! userList_append(&dead_users, user);
! } else {
! free(user);
! }
}
***************
*** 2322,2328 ****
{
unsigned int n;
!
! for (n=0; n<of_used; n++)
! {
of_list[n](user);
}
--- 2324,2329 ----
{
unsigned int n;
! if (IsLocal(user)) return;
! for (n=0; n<of_used; n++) {
of_list[n](user);
}
|
|
From: Entrope <en...@us...> - 2003-01-04 05:33:01
|
Update of /cvsroot/srvx/services/src
In directory sc8-pr-cvs1:/tmp/cvs-serv3042/src
Modified Files:
nickserv.c
Log Message:
remove the (generally bogus and annoying) account vs user timestamp check
Index: nickserv.c
===================================================================
RCS file: /cvsroot/srvx/services/src/nickserv.c,v
retrieving revision 1.221
retrieving revision 1.222
diff -C2 -r1.221 -r1.222
*** nickserv.c 22 Dec 2002 19:12:44 -0000 1.221
--- nickserv.c 4 Jan 2003 05:32:58 -0000 1.222
***************
*** 3242,3258 ****
if (hi) {
- /* If the user is older than the account, ignore the
- stamp, as it may be invalid. */
- if (hi->registered > user->timestamp) {
- log(MAIN_LOG, LOG_OTHER, "Ignoring user stamp %s for %s since user's timestamp predates account %s ("FMT_TIME_T" < "FMT_TIME_T").\n", stamp, user, hi->handle, user->timestamp, hi->registered);
- return;
- }
-
- /* valid_user_for() is theoretically unnecessary here
- because users must authenticate to receive a stamp
- in the first place; however, we must prevent
- stamped users from getting onto suspended handles.
- The last argument is 0 because we don't want to
- stamp the user again. */
if (HANDLE_FLAGGED(hi, SUSPENDED)) {
return;
--- 3242,3245 ----
|
|
From: Entrope <en...@us...> - 2003-01-04 05:32:24
|
Update of /cvsroot/srvx/services/src
In directory sc8-pr-cvs1:/tmp/cvs-serv2945/src
Modified Files:
global.c
Log Message:
don't send oper motds to opers bursting in
Index: global.c
===================================================================
RCS file: /cvsroot/srvx/services/src/global.c,v
retrieving revision 1.51
retrieving revision 1.52
diff -C2 -r1.51 -r1.52
*** global.c 11 Oct 2002 03:08:43 -0000 1.51
--- global.c 4 Jan 2003 05:32:21 -0000 1.52
***************
*** 615,618 ****
--- 615,619 ----
global_process_oper(struct userNode *user)
{
+ if(user->uplink->burst) return;
send_messages(user, MESSAGE_RECIPIENT_OPERS, 0);
}
|
|
From: Entrope <en...@us...> - 2003-01-04 05:16:43
|
Update of /cvsroot/srvx/services/src
In directory sc8-pr-cvs1:/tmp/cvs-serv32497/src
Modified Files:
chanserv.c
Log Message:
unregister a suspended channel (and thus free its suspended->name)
AFTER remove it from sChans
Index: chanserv.c
===================================================================
RCS file: /cvsroot/srvx/services/src/chanserv.c,v
retrieving revision 1.328
retrieving revision 1.329
diff -C2 -r1.328 -r1.329
*** chanserv.c 3 Jan 2003 23:57:12 -0000 1.328
--- chanserv.c 4 Jan 2003 05:16:40 -0000 1.329
***************
*** 1895,1900 ****
if(IsSuspended(cData))
{
unregister_channel(cData);
- dict_remove(sChannels, channel->name);
}
else
--- 1895,1900 ----
if(IsSuspended(cData))
{
+ dict_remove(sChannels, channel->name);
unregister_channel(cData);
}
else
|
|
From: Entrope <en...@us...> - 2003-01-04 00:00:03
|
Update of /cvsroot/srvx/services/src
In directory sc8-pr-cvs1:/tmp/cvs-serv19776/src
Modified Files:
proto-p10.c
Log Message:
fix verify_mod_chanmode() to accept 'c' and 'C'
Index: proto-p10.c
===================================================================
RCS file: /cvsroot/srvx/services/src/proto-p10.c,v
retrieving revision 1.53
retrieving revision 1.54
diff -C2 -r1.53 -r1.54
*** proto-p10.c 2 Jan 2003 23:11:34 -0000 1.53
--- proto-p10.c 3 Jan 2003 23:59:59 -0000 1.54
***************
*** 1980,1983 ****
--- 1980,1985 ----
case 'D':
case 'r':
+ case 'c':
+ case 'C':
if(add == -1) {
return 0;
|
|
From: Entrope <en...@us...> - 2003-01-03 23:59:11
|
Update of /cvsroot/srvx/services/src
In directory sc8-pr-cvs1:/tmp/cvs-serv19559/src
Modified Files:
opserv.c
Log Message:
fix ?join and ?part to not take a context channel
Index: opserv.c
===================================================================
RCS file: /cvsroot/srvx/services/src/opserv.c,v
retrieving revision 1.302
retrieving revision 1.303
diff -C2 -r1.302 -r1.303
*** opserv.c 2 Jan 2003 23:11:56 -0000 1.302
--- opserv.c 3 Jan 2003 23:59:07 -0000 1.303
***************
*** 943,963 ****
static OPSERV_FUNC(cmd_join)
{
! int announce_op = 1;
! if (!channel) {
! announce_op = 0;
! if (argc < 2) {
! reply(MSG_MISSING_PARAMS, argv[0]);
! OPSERV_SYNTAX();
! return 0;
! }
! if (!IsChannelName(argv[1])) {
! reply(MSG_NOT_CHANNEL_NAME);
return 0;
}
! channel = AddChannel(argv[1], now, NULL, NULL);
! }
! if (GetUserMode(channel, opserv)) {
! reply(OSMSG_ALREADY_JOINED, channel->name);
! return 0;
}
AddChannelUser(opserv, channel);
--- 943,961 ----
static OPSERV_FUNC(cmd_join)
{
! int announce_op;
! OPSERV_MIN_PARMS(2, false);
! if (!IsChannelName(argv[1])) {
! reply(MSG_NOT_CHANNEL_NAME);
! return 0;
! }
! if ((channel = GetChannel(argv[1]))) {
! if (GetUserMode(channel, opserv)) {
! reply(OSMSG_ALREADY_JOINED, channel->name);
return 0;
}
! announce_op = 1;
! } else {
! channel = AddChannel(argv[1], now, NULL, NULL);
! announce_op = 0;
}
AddChannelUser(opserv, channel);
***************
*** 2017,2032 ****
const char *chanName;
! OPSERV_MIN_PARMS(1, false);
! if (channel) {
! chanName = channel->name;
! } else if ((argc > 1) && IsChannelName(argv[1])) {
chanName = argv[1];
} else {
! opserv_notice(user, MSG_MISSING_PARAMS, argv[0]);
OPSERV_SYNTAX();
return 0;
}
dict_insert(opserv_exempt_channels, strdup(chanName), NULL);
! opserv_notice(user, OSMSG_ADDED_EXEMPTION, chanName);
return 1;
}
--- 2015,2028 ----
const char *chanName;
! OPSERV_MIN_PARMS(2, false);
! if ((argc > 1) && IsChannelName(argv[1])) {
chanName = argv[1];
} else {
! reply(MSG_NOT_CHANNEL_NAME);
OPSERV_SYNTAX();
return 0;
}
dict_insert(opserv_exempt_channels, strdup(chanName), NULL);
! reply(OSMSG_ADDED_EXEMPTION, chanName);
return 1;
}
***************
*** 2036,2046 ****
const char *chanName;
! OPSERV_MIN_PARMS(1, false);
! if (channel) {
! chanName = channel->name;
! } else if ((argc > 1) && IsChannelName(argv[1])) {
chanName = argv[1];
} else {
! opserv_notice(user, MSG_MISSING_PARAMS, argv[0]);
OPSERV_SYNTAX();
return 0;
--- 2032,2040 ----
const char *chanName;
! OPSERV_MIN_PARMS(2, false);
! if ((argc > 1) && IsChannelName(argv[1])) {
chanName = argv[1];
} else {
! reply(MSG_NOT_CHANNEL_NAME);
OPSERV_SYNTAX();
return 0;
***************
*** 2050,2054 ****
return 0;
}
! opserv_notice(user, OSMSG_REMOVED_EXEMPTION, chanName);
return 1;
}
--- 2044,2048 ----
return 0;
}
! reply(OSMSG_REMOVED_EXEMPTION, chanName);
return 1;
}
***************
*** 4042,4046 ****
opserv_define_func("GTRACE PRINT", NULL, 0, 0);
opserv_define_func("INVITEME", cmd_inviteme, 100, 0);
! opserv_define_func("JOIN", cmd_join, 601, 1);
opserv_define_func("JUMP", cmd_jump, 900, 0);
opserv_define_func("JUPE", cmd_jupe, 900, 0);
--- 4036,4040 ----
opserv_define_func("GTRACE PRINT", NULL, 0, 0);
opserv_define_func("INVITEME", cmd_inviteme, 100, 0);
! opserv_define_func("JOIN", cmd_join, 601, 0);
opserv_define_func("JUMP", cmd_jump, 900, 0);
opserv_define_func("JUPE", cmd_jupe, 900, 0);
***************
*** 4056,4060 ****
opserv_define_func("OP", cmd_op, 100, 2);
opserv_define_func("OPALL", cmd_opall, 400, 2);
! opserv_define_func("PART", cmd_part, 601, 2);
opserv_define_func("QUERY", cmd_query, 0, 0);
opserv_define_func("RAW", cmd_raw, 999, 0);
--- 4050,4054 ----
opserv_define_func("OP", cmd_op, 100, 2);
opserv_define_func("OPALL", cmd_opall, 400, 2);
! opserv_define_func("PART", cmd_part, 601, 0);
opserv_define_func("QUERY", cmd_query, 0, 0);
opserv_define_func("RAW", cmd_raw, 999, 0);
|
|
From: Entrope <en...@us...> - 2003-01-03 23:57:34
|
Update of /cvsroot/srvx/services/src
In directory sc8-pr-cvs1:/tmp/cvs-serv19072/src
Modified Files:
mod-snoop.c
Log Message:
update to new AddChannel() calling convention
Index: mod-snoop.c
===================================================================
RCS file: /cvsroot/srvx/services/src/mod-snoop.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -r1.8 -r1.9
*** mod-snoop.c 14 Nov 2002 00:49:47 -0000 1.8
--- mod-snoop.c 3 Jan 2003 23:57:31 -0000 1.9
***************
*** 1,4 ****
/* mod-snoop.c - User surveillance module (per pomac's spec)
! * Copyright 2002 srvx Development Team
*
* This program is free software; you can redistribute it and/or modify
--- 1,4 ----
/* mod-snoop.c - User surveillance module (per pomac's spec)
! * Copyright 2002-2003 srvx Development Team
*
* This program is free software; you can redistribute it and/or modify
***************
*** 131,135 ****
str = database_get_data(node, "channel", RECDB_QSTRING);
if (!str) return;
! snoop_cfg.channel = AddChannel(str, now, "+sntim", NULL, 0, NULL);
if (!snoop_cfg.channel) return;
AddChannelUser(snoop_cfg.bot, snoop_cfg.channel);
--- 131,135 ----
str = database_get_data(node, "channel", RECDB_QSTRING);
if (!str) return;
! snoop_cfg.channel = AddChannel(str, now, "+sntim", NULL);
if (!snoop_cfg.channel) return;
AddChannelUser(snoop_cfg.bot, snoop_cfg.channel);
|
|
From: Entrope <en...@us...> - 2003-01-03 23:57:16
|
Update of /cvsroot/srvx/services/src
In directory sc8-pr-cvs1:/tmp/cvs-serv18960/src
Modified Files:
chanserv.c
Log Message:
make !netinfo report true (not "skewed") uptime
Index: chanserv.c
===================================================================
RCS file: /cvsroot/srvx/services/src/chanserv.c,v
retrieving revision 1.327
retrieving revision 1.328
diff -C2 -r1.327 -r1.328
*** chanserv.c 1 Jan 2003 00:02:43 -0000 1.327
--- chanserv.c 3 Jan 2003 23:57:12 -0000 1.328
***************
*** 3933,3937 ****
{
create_mode_lock(modes, channel->channel_info);
-
mod_chanmode(channel, chanserv, modes);
irc_mode(chanserv, channel, modes);
--- 3933,3936 ----
***************
*** 4239,4243 ****
chanserv_notice(user, CSMSG_CHANNEL_USERS, "Total User", PADLEN - 17, "", userCount[0]);
! intervalString(interval, now - boot_time);
chanserv_notice(user, CSMSG_SERVICES_UPTIME, interval);
--- 4238,4242 ----
chanserv_notice(user, CSMSG_CHANNEL_USERS, "Total User", PADLEN - 17, "", userCount[0]);
! intervalString(interval, time(NULL) - boot_time);
chanserv_notice(user, CSMSG_SERVICES_UPTIME, interval);
|
|
From: Entrope <en...@us...> - 2003-01-02 23:12:00
|
Update of /cvsroot/srvx/services/src
In directory sc8-pr-cvs1:/tmp/cvs-serv27319/src
Modified Files:
opserv.c
Log Message:
use current system time (instead of network time) to calculate uptime
Index: opserv.c
===================================================================
RCS file: /cvsroot/srvx/services/src/opserv.c,v
retrieving revision 1.301
retrieving revision 1.302
diff -C2 -r1.301 -r1.302
*** opserv.c 2 Jan 2003 01:22:22 -0000 1.301
--- opserv.c 2 Jan 2003 23:11:56 -0000 1.302
***************
*** 1,4 ****
/* opserv.c - IRC Operator assistant service
! * Copyright 2000-2002 srvx Development Team
*
* This program is free software; you can redistribute it and/or modify
--- 1,4 ----
/* opserv.c - IRC Operator assistant service
! * Copyright 2000-2003 srvx Development Team
*
* This program is free software; you can redistribute it and/or modify
***************
*** 1506,1510 ****
(void)argv;
! intervalString(uptime, now-boot_time);
times(&buf);
reply(OSMSG_UPTIME_STATS,
--- 1506,1510 ----
(void)argv;
! intervalString(uptime, time(NULL)-boot_time);
times(&buf);
reply(OSMSG_UPTIME_STATS,
|
|
From: Entrope <en...@us...> - 2003-01-02 23:11:37
|
Update of /cvsroot/srvx/services/src
In directory sc8-pr-cvs1:/tmp/cvs-serv27198/src
Modified Files:
hash.c proto-bahamut.c proto-common.c proto-p10.c
Log Message:
make dead_list a protocol-private thing
add missing newline to "Undernet-style SERVER" log message
ignore WALLOPS in ircu
Index: hash.c
===================================================================
RCS file: /cvsroot/srvx/services/src/hash.c,v
retrieving revision 1.168
retrieving revision 1.169
diff -C2 -r1.168 -r1.169
*** hash.c 15 Dec 2002 18:41:25 -0000 1.168
--- hash.c 2 Jan 2003 23:11:34 -0000 1.169
***************
*** 1,4 ****
/* hash.c - IRC network state database
! * Copyright 2000-2002 srvx Development Team
*
* This program is free software; you can redistribute it and/or modify
--- 1,4 ----
/* hash.c - IRC network state database
! * Copyright 2000-2003 srvx Development Team
*
* This program is free software; you can redistribute it and/or modify
***************
*** 910,915 ****
hash_cleanup(void)
{
- unsigned int nn;
-
DelServer(self, 0, NULL);
dict_delete(channels);
--- 910,913 ----
***************
*** 928,933 ****
if (kf_list) free(kf_list);
if (tf_list) free(tf_list);
-
- for (nn=0; nn<dead_users.used; nn++) free(dead_users.list[nn]);
- userList_clean(&dead_users);
}
--- 926,928 ----
Index: proto-bahamut.c
===================================================================
RCS file: /cvsroot/srvx/services/src/proto-bahamut.c,v
retrieving revision 1.28
retrieving revision 1.29
diff -C2 -r1.28 -r1.29
*** proto-bahamut.c 14 Nov 2002 02:22:36 -0000 1.28
--- proto-bahamut.c 2 Jan 2003 23:11:34 -0000 1.29
***************
*** 1,4 ****
/* proto-bahamut.c - IRC protocol output
! * Copyright 2000-2002 srvx Development Team
*
* This program is free software; you can redistribute it and/or modify
--- 1,4 ----
/* proto-bahamut.c - IRC protocol output
! * Copyright 2000-2003 srvx Development Team
*
* This program is free software; you can redistribute it and/or modify
***************
*** 912,917 ****
--- 912,920 ----
void parse_cleanup(void) {
+ unsigned int nn;
if (of_list) free(of_list);
dict_delete(irc_func_dict);
+ for (nn=0; nn<dead_users.used; nn++) free(dead_users.list[nn]);
+ userList_clean(&dead_users);
}
Index: proto-common.c
===================================================================
RCS file: /cvsroot/srvx/services/src/proto-common.c,v
retrieving revision 1.24
retrieving revision 1.25
diff -C2 -r1.24 -r1.25
*** proto-common.c 17 Dec 2002 19:49:13 -0000 1.24
--- proto-common.c 2 Jan 2003 23:11:34 -0000 1.25
***************
*** 1,4 ****
/* proto.c - common IRC protocol parsing/sending support
! * Copyright 2000-2002 srvx Development Team
*
* This program is free software; you can redistribute it and/or modify
--- 1,4 ----
/* proto.c - common IRC protocol parsing/sending support
! * Copyright 2000-2003 srvx Development Team
*
* This program is free software; you can redistribute it and/or modify
***************
*** 32,36 ****
unsigned int lines_processed;
FILE *replay_file;
- struct userList dead_users;
struct io_fd *socket_io_fd;
int force_n2k;
--- 32,35 ----
***************
*** 42,45 ****
--- 41,45 ----
static int replay_connected;
static unsigned int nicklen = NICKLEN; /* how long do we think servers allow nicks to be? */
+ static struct userList dead_users;
extern struct cManagerNode cManager;
Index: proto-p10.c
===================================================================
RCS file: /cvsroot/srvx/services/src/proto-p10.c,v
retrieving revision 1.52
retrieving revision 1.53
diff -C2 -r1.52 -r1.53
*** proto-p10.c 2 Jan 2003 21:38:49 -0000 1.52
--- proto-p10.c 2 Jan 2003 23:11:34 -0000 1.53
***************
*** 748,752 ****
srv->burst = 1;
if ((argv[7][0] == '+') && !force_n2k) {
! log(MAIN_LOG, LOG_WARNING, "Got Undernet-style SERVER message but \"force_n2k\" not on.");
}
send_burst();
--- 748,752 ----
srv->burst = 1;
if ((argv[7][0] == '+') && !force_n2k) {
! log(MAIN_LOG, LOG_WARNING, "Got Undernet-style SERVER message but \"force_n2k\" not on.\n");
}
send_burst();
***************
*** 1238,1245 ****
if (argc < 2) return 0;
user = GetUserH(origin);
! if(!user) {
! /* A KILL, QUIT, etc. probably crossed PART. */
! return 0;
! }
parse_foreach(argv[1], part_helper, NULL, NULL, NULL, user);
return 1;
--- 1238,1242 ----
if (argc < 2) return 0;
user = GetUserH(origin);
! if (!user) return 0;
parse_foreach(argv[1], part_helper, NULL, NULL, NULL, user);
return 1;
***************
*** 1300,1311 ****
static CMD_FUNC(cmd_away)
{
! struct userNode *uNode = GetUserH(origin);
! (void)argv;
! if (!uNode) {
! /* mumble...cross... */
! return 0;
! }
!
if (argc < 2) {
uNode->modes &= ~FLAGS_AWAY;
--- 1297,1305 ----
static CMD_FUNC(cmd_away)
{
! struct userNode *uNode;
! (void)argv;
! uNode = GetUserH(origin);
! if (!uNode) return 1;
if (argc < 2) {
uNode->modes &= ~FLAGS_AWAY;
***************
*** 1347,1350 ****
--- 1341,1345 ----
parse_cleanup(void)
{
+ unsigned int nn;
if (of_list) free(of_list);
free(privmsg_funcs);
***************
*** 1352,1355 ****
--- 1347,1352 ----
free(mcf_list);
dict_delete(irc_func_dict);
+ for (nn=0; nn<dead_users.used; nn++) free(dead_users.list[nn]);
+ userList_clean(&dead_users);
}
***************
*** 1474,1477 ****
--- 1471,1477 ----
dict_insert(irc_func_dict, CMD_WALLCHOPS, cmd_dummy);
dict_insert(irc_func_dict, TOK_WALLCHOPS, cmd_dummy);
+ /* Ignore opers being silly. */
+ dict_insert(irc_func_dict, CMD_WALLOPS, cmd_dummy);
+ dict_insert(irc_func_dict, TOK_WALLOPS, cmd_dummy);
/* handle topics */
dict_insert(irc_func_dict, "331", cmd_num_topic);
|
|
From: Entrope <en...@us...> - 2003-01-02 21:38:54
|
Update of /cvsroot/srvx/services/src
In directory sc8-pr-cvs1:/tmp/cvs-serv23502/src
Modified Files:
proto-p10.c
Log Message:
fix off-by-one error when growing privmsg and notice handler arrays
Index: proto-p10.c
===================================================================
RCS file: /cvsroot/srvx/services/src/proto-p10.c,v
retrieving revision 1.51
retrieving revision 1.52
diff -C2 -r1.51 -r1.52
*** proto-p10.c 29 Dec 2002 06:19:22 -0000 1.51
--- proto-p10.c 2 Jan 2003 21:38:49 -0000 1.52
***************
*** 1,4 ****
/* proto-p10.c - IRC protocol output
! * Copyright 2000-2002 srvx Development Team
*
* This program is free software; you can redistribute it and/or modify
--- 1,4 ----
/* proto-p10.c - IRC protocol output
! * Copyright 2000-2003 srvx Development Team
*
* This program is free software; you can redistribute it and/or modify
***************
*** 2273,2277 ****
{
unsigned int numeric = user->num_local;
! if (numeric > num_privmsg_funcs) {
int newnum = numeric + 8;
privmsg_funcs = realloc(privmsg_funcs, newnum*sizeof(privmsg_func_t));
--- 2273,2277 ----
{
unsigned int numeric = user->num_local;
! if (numeric >= num_privmsg_funcs) {
int newnum = numeric + 8;
privmsg_funcs = realloc(privmsg_funcs, newnum*sizeof(privmsg_func_t));
***************
*** 2289,2293 ****
{
unsigned int numeric = user->num_local;
! if (numeric > num_notice_funcs) {
int newnum = numeric + 8;
notice_funcs = realloc(notice_funcs, newnum*sizeof(privmsg_func_t));
--- 2289,2293 ----
{
unsigned int numeric = user->num_local;
! if (numeric >= num_notice_funcs) {
int newnum = numeric + 8;
notice_funcs = realloc(notice_funcs, newnum*sizeof(privmsg_func_t));
|
|
From: Entrope <en...@us...> - 2003-01-02 01:22:26
|
Update of /cvsroot/srvx/services/src
In directory sc8-pr-cvs1:/tmp/cvs-serv16767/src
Modified Files:
opserv.c modcmd.help
Log Message:
fix typo in last opserv.c commit
add documentation for HELPING and TOY command flags
Index: opserv.c
===================================================================
RCS file: /cvsroot/srvx/services/src/opserv.c,v
retrieving revision 1.300
retrieving revision 1.301
diff -C2 -r1.300 -r1.301
*** opserv.c 1 Jan 2003 23:08:53 -0000 1.300
--- opserv.c 2 Jan 2003 01:22:22 -0000 1.301
***************
*** 952,956 ****
}
if (!IsChannelName(argv[1])) {
! reply(MSG_NOT_CHANNEL_NAME, argv[1]);
return 0;
}
--- 952,956 ----
}
if (!IsChannelName(argv[1])) {
! reply(MSG_NOT_CHANNEL_NAME);
return 0;
}
Index: modcmd.help
===================================================================
RCS file: /cvsroot/srvx/services/src/modcmd.help,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -r1.8 -r1.9
*** modcmd.help 29 Oct 2002 04:31:29 -0000 1.8
--- modcmd.help 2 Jan 2003 01:22:23 -0000 1.9
***************
*** 43,46 ****
--- 43,47 ----
" CHANUSER Require that the user have $C access to the context",
" DISABLED Command is disabled",
+ " HELPING Require that the user have security override enabled",
" JOINABLE Require that the user have $C access to the channel, be in the channel, or be network staff to use the command",
" KEEPBOUND Do not let the last instance of the command be removed",
***************
*** 52,55 ****
--- 53,57 ----
" REGCHAN Require a registered channel to be give as the context",
" SUPPORTHELPER Allow support helpers to use the command",
+ " TOY Command is a toy (cannot be invoked on a channel from outside the channel)",
"Note: If any of SUPPORTHELPER, NETWORKHELPER, OPER, any of the specified flags is considered sufficient. For example, NETWORKHELPER and OPER both specified means both network helpers and opers can use the command.");
"joiner" ("/msg $S JOINER [subcmd ...]",
|
|
From: Entrope <en...@us...> - 2003-01-01 23:09:00
|
Update of /cvsroot/srvx/services/src
In directory sc8-pr-cvs1:/tmp/cvs-serv15690/src
Modified Files:
opserv.c
Log Message:
cmd_join(): check that argv[1] actually is a channel name
Index: opserv.c
===================================================================
RCS file: /cvsroot/srvx/services/src/opserv.c,v
retrieving revision 1.299
retrieving revision 1.300
diff -C2 -r1.299 -r1.300
*** opserv.c 18 Dec 2002 04:45:21 -0000 1.299
--- opserv.c 1 Jan 2003 23:08:53 -0000 1.300
***************
*** 944,959 ****
{
int announce_op = 1;
- (void)argc;
if (!channel) {
announce_op = 0;
if (argc < 2) {
! opserv_notice(user, MSG_MISSING_PARAMS, argv[0]);
OPSERV_SYNTAX();
return 0;
}
channel = AddChannel(argv[1], now, NULL, NULL);
}
if (GetUserMode(channel, opserv)) {
! opserv_notice(user, OSMSG_ALREADY_JOINED, channel->name);
return 0;
}
--- 944,962 ----
{
int announce_op = 1;
if (!channel) {
announce_op = 0;
if (argc < 2) {
! reply(MSG_MISSING_PARAMS, argv[0]);
OPSERV_SYNTAX();
return 0;
}
+ if (!IsChannelName(argv[1])) {
+ reply(MSG_NOT_CHANNEL_NAME, argv[1]);
+ return 0;
+ }
channel = AddChannel(argv[1], now, NULL, NULL);
}
if (GetUserMode(channel, opserv)) {
! reply(OSMSG_ALREADY_JOINED, channel->name);
return 0;
}
***************
*** 961,965 ****
AddChannelOp(1, &opserv, channel, opserv, announce_op);
irc_fetchtopic(opserv, channel->name);
! opserv_notice(user, OSMSG_JOIN_DONE, channel->name);
return 1;
}
--- 964,968 ----
AddChannelOp(1, &opserv, channel, opserv, announce_op);
irc_fetchtopic(opserv, channel->name);
! reply(OSMSG_JOIN_DONE, channel->name);
return 1;
}
|
|
From: Entrope <en...@us...> - 2003-01-01 00:02:48
|
Update of /cvsroot/srvx/services/src
In directory sc8-pr-cvs1:/tmp/cvs-serv9617/src
Modified Files:
chanserv.c
Log Message:
cmd_wipeinfo should use override access for actor, not their (possibly null) true access
Index: chanserv.c
===================================================================
RCS file: /cvsroot/srvx/services/src/chanserv.c,v
retrieving revision 1.326
retrieving revision 1.327
diff -C2 -r1.326 -r1.327
*** chanserv.c 31 Dec 2002 23:59:35 -0000 1.326
--- chanserv.c 1 Jan 2003 00:02:43 -0000 1.327
***************
*** 4389,4393 ****
REQUIRE_PARAMS(2);
! actor = GetChannelAccess(channel->channel_info, user->handle_info);
if(!(victim = chanserv_get_handle_info(user, argv[1]))) return 0;
if(!(ud = GetTrueChannelAccess(channel->channel_info, victim)))
--- 4389,4393 ----
REQUIRE_PARAMS(2);
! actor = GetChannelUser(channel->channel_info, user->handle_info);
if(!(victim = chanserv_get_handle_info(user, argv[1]))) return 0;
if(!(ud = GetTrueChannelAccess(channel->channel_info, victim)))
|
|
From: Entrope <en...@us...> - 2002-12-31 23:59:40
|
Update of /cvsroot/srvx/services/src
In directory sc8-pr-cvs1:/tmp/cvs-serv6430/src
Modified Files:
chanserv.c
Log Message:
protect users from each other when protect option is 0 ('a') -- patch credits to Byte
Index: chanserv.c
===================================================================
RCS file: /cvsroot/srvx/services/src/chanserv.c,v
retrieving revision 1.325
retrieving revision 1.326
diff -C2 -r1.325 -r1.326
*** chanserv.c 30 Dec 2002 01:10:54 -0000 1.325
--- chanserv.c 31 Dec 2002 23:59:35 -0000 1.326
***************
*** 1509,1512 ****
--- 1509,1513 ----
if(cs_victim->access > cs_aggressor->access) return 1;
break;
+ case 'a':
case 'e':
if(cs_victim->access >= cs_aggressor->access) return 1;
|
|
From: Entrope <en...@us...> - 2002-12-31 23:56:04
|
Update of /cvsroot/srvx/services/src
In directory sc8-pr-cvs1:/tmp/cvs-serv4201/src
Modified Files:
chanserv.help
Log Message:
update chanserv.help for the (slightly) new "non-users and users will be protected" case
Index: chanserv.help
===================================================================
RCS file: /cvsroot/srvx/services/src/chanserv.help,v
retrieving revision 1.47
retrieving revision 1.48
diff -C2 -r1.47 -r1.48
*** chanserv.help 14 Dec 2002 01:07:12 -0000 1.47
--- chanserv.help 31 Dec 2002 23:55:59 -0000 1.48
***************
*** 400,406 ****
"/msg $C SET <#channel> PROTECT <value>",
"This setting restricts the protection that $C enforces. Valid settings are:",
! "$b0$b Users will be protected from those of equal or lower access.",
! "$b1$b Users will be protected from those of lower access.",
! "$b2$b No users will be protected.",
"$uSee Also:$u set");
"SET SETTERS" ("$bSET SETTERS$b",
--- 400,407 ----
"/msg $C SET <#channel> PROTECT <value>",
"This setting restricts the protection that $C enforces. Valid settings are:",
! "$b0$b Non-users and users will be protected from those of equal or lower access",
! "$b1$b Users will be protected from those of equal or lower access.",
! "$b2$b Users will be protected from those of lower access.",
! "$b3$b No users will be protected.",
"$uSee Also:$u set");
"SET SETTERS" ("$bSET SETTERS$b",
|