From: Michael Poole Date: Fri, 22 Sep 2006 01:48:00 +0000 (+0000) Subject: Merge AddService(), AddClone() into AddLocalUser() X-Git-Tag: v1.4.0-rc1~121 X-Git-Url: http://git.pk910.de/?p=srvx.git;a=commitdiff_plain;h=ee7d244de2093e0f15b5058ecd405da654c8235b Merge AddService(), AddClone() into AddLocalUser() src/chanserv.c (init_chanserv): Convert AddService() call to AddLocalUser(). src/global.c (init_global): Likewise. src/mod-helpserv.c (register_helpserv): Likewise. src/modcmd.c (cmd_service_add): Likewise. (modcmd_load_bots): Likewise. src/nickserv.c (regex.h): Fall back to rxposix.h from local rx package. (init_nickserv): Convert AddService() call to AddLocalUser(). src/opserv.c (opserv_add_reserve): Convert AddClone() call to AddLocalUser(). (cmd_clone): Likewise. (add_reserved): Likewise. (init_opserv): Convert AddService() call to AddLocalUser(). src/proto-bahamut.c (AddService): Convert into AddLocalUser(). (AddClone): Delete. src/proto-p10.c (AddService): Convert into AddLocalUser(). (AddClone): Delete. src/proto.h (AddService): Convert into AddLocalUser(). (AddClone): Delete. git-archimport-id: srvx@srvx.net--2006/srvx--devo--1.3--patch-35 --- diff --git a/ChangeLog b/ChangeLog index 1f70b3f..f44c8d2 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,6 +2,45 @@ # arch-tag: automatic-ChangeLog--srvx@srvx.net--2006/srvx--devo--1.3 # +2006-09-22 01:48:00 GMT Michael Poole patch-35 + + Summary: + Merge AddService(), AddClone() into AddLocalUser() + Revision: + srvx--devo--1.3--patch-35 + + src/chanserv.c (init_chanserv): Convert AddService() call to AddLocalUser(). + + src/global.c (init_global): Likewise. + + src/mod-helpserv.c (register_helpserv): Likewise. + + src/modcmd.c (cmd_service_add): Likewise. + (modcmd_load_bots): Likewise. + + src/nickserv.c (regex.h): Fall back to rxposix.h from local rx package. + (init_nickserv): Convert AddService() call to AddLocalUser(). + + src/opserv.c (opserv_add_reserve): Convert AddClone() call to AddLocalUser(). + (cmd_clone): Likewise. + (add_reserved): Likewise. + (init_opserv): Convert AddService() call to AddLocalUser(). + + src/proto-bahamut.c (AddService): Convert into AddLocalUser(). + (AddClone): Delete. + + src/proto-p10.c (AddService): Convert into AddLocalUser(). + (AddClone): Delete. + + src/proto.h (AddService): Convert into AddLocalUser(). + (AddClone): Delete. + + modified files: + ChangeLog src/chanserv.c src/global.c src/mod-helpserv.c + src/modcmd.c src/nickserv.c src/opserv.c src/proto-bahamut.c + src/proto-p10.c src/proto.h + + 2006-09-22 01:35:03 GMT Michael Poole patch-34 Summary: diff --git a/src/chanserv.c b/src/chanserv.c index 3ee0aef..e9196a3 100644 --- a/src/chanserv.c +++ b/src/chanserv.c @@ -7373,7 +7373,7 @@ init_chanserv(const char *nick) if(nick) { const char *modes = conf_get_data("services/chanserv/modes", RECDB_QSTRING); - chanserv = AddService(nick, modes ? modes : NULL, "Channel Services", NULL); + chanserv = AddLocalUser(nick, nick, NULL, "Channel Services", modes); service_register(chanserv)->trigger = '!'; reg_chanmsg_func('\001', chanserv, chanserv_ctcp_check); } diff --git a/src/global.c b/src/global.c index d92e5bd..d1aea5d 100644 --- a/src/global.c +++ b/src/global.c @@ -704,7 +704,7 @@ init_global(const char *nick) if(nick) { const char *modes = conf_get_data("services/global/modes", RECDB_QSTRING); - global = AddService(nick, modes ? modes : NULL, "Global Services", NULL); + global = AddLocalUser(nick, nick, NULL, "Global Services", modes); global_service = service_register(global); } saxdb_register("Global", global_saxdb_read, global_saxdb_write); diff --git a/src/mod-helpserv.c b/src/mod-helpserv.c index e8053d5..3b8130e 100644 --- a/src/mod-helpserv.c +++ b/src/mod-helpserv.c @@ -2601,7 +2601,7 @@ static struct helpserv_bot *register_helpserv(const char *nick, const char *help * it's a harmless default */ hs = calloc(1, sizeof(struct helpserv_bot)); - if (!(hs->helpserv = AddService(nick, "+iok", helpserv_conf.description, NULL))) { + if (!(hs->helpserv = AddLocalUser(nick, nick, NULL, helpserv_conf.description, NULL))) { free(hs); return NULL; } diff --git a/src/modcmd.c b/src/modcmd.c index 2e83300..fb811e8 100644 --- a/src/modcmd.c +++ b/src/modcmd.c @@ -1733,7 +1733,7 @@ static MODCMD_FUNC(cmd_service_add) { reply("MCMSG_ALREADY_SERVICE", bot->nick); return 0; } - bot = AddService(nick, NULL, desc, hostname); + bot = AddLocalUser(nick, nick, hostname, desc, NULL); service_register(bot); reply("MCMSG_NEW_SERVICE", bot->nick); return 1; @@ -2052,7 +2052,7 @@ modcmd_load_bots(struct dict *db, int default_nick) { hostname = database_get_data(rd->d.object, "hostname", RECDB_QSTRING); if (desc) { if (!svc) - svc = service_register(AddService(nick, NULL, desc, hostname)); + svc = service_register(AddLocalUser(nick, nick, hostname, desc, NULL)); else if (hostname) strcpy(svc->bot->hostname, hostname); desc = database_get_data(rd->d.object, "trigger", RECDB_QSTRING); diff --git a/src/nickserv.c b/src/nickserv.c index 54c6fbc..4b0e374 100644 --- a/src/nickserv.c +++ b/src/nickserv.c @@ -1,5 +1,5 @@ /* nickserv.c - Nick/authentication service - * Copyright 2000-2004 srvx Development Team + * Copyright 2000-2006 srvx Development Team * * This file is part of srvx. * @@ -28,7 +28,9 @@ #include "timeq.h" #ifdef HAVE_REGEX_H -#include +# include +#else +# include "rx/rxposix.h" #endif #define NICKSERV_CONF_NAME "services/nickserv" @@ -3840,7 +3842,7 @@ init_nickserv(const char *nick) if (nick) { const char *modes = conf_get_data("services/nickserv/modes", RECDB_QSTRING); - nickserv = AddService(nick, modes ? modes : NULL, "Nick Services", NULL); + nickserv = AddLocalUser(nick, nick, NULL, "Nick Services", modes); nickserv_service = service_register(nickserv); } saxdb_register("NickServ", nickserv_saxdb_read, nickserv_saxdb_write); diff --git a/src/opserv.c b/src/opserv.c index 5751df1..ee7b6b8 100644 --- a/src/opserv.c +++ b/src/opserv.c @@ -1646,7 +1646,7 @@ opserv_add_reserve(struct svccmd *cmd, struct userNode *user, const char *nick, return NULL; } } - if ((resv = AddClone(nick, ident, host, desc))) { + if ((resv = AddLocalUser(nick, ident, host, desc, "+i"))) { dict_insert(opserv_reserved_nick_dict, resv->nick, resv); } return resv; @@ -2248,7 +2248,7 @@ static MODCMD_FUNC(cmd_clone) reply("OSMSG_NOT_A_HOSTMASK"); return 0; } - if (!(clone = AddClone(argv[2], ident, argv[3]+i, userinfo))) { + if (!(clone = AddLocalUser(argv[2], ident, argv[3]+i, userinfo, "+i"))) { reply("OSMSG_CLONE_FAILED", argv[2]); return 0; } @@ -2429,7 +2429,7 @@ int add_reserved(const char *key, void *data, void *extra) log_module(OS_LOG, LOG_ERROR, "Missing description for reserve of %s", key); return 0; } - if ((reserve = AddClone(key, ident, hostname, desc))) { + if ((reserve = AddLocalUser(key, ident, hostname, desc, "+i"))) { reserve->modes |= FLAGS_PERSISTENT; dict_insert(extra, reserve->nick, reserve); } @@ -4097,7 +4097,7 @@ init_opserv(const char *nick) OS_LOG = log_register_type("OpServ", "file:opserv.log"); if (nick) { const char *modes = conf_get_data("services/opserv/modes", RECDB_QSTRING); - opserv = AddService(nick, modes ? modes : NULL, "Oper Services", NULL); + opserv = AddLocalUser(nick, nick, NULL, "Oper Services", modes); } conf_register_reload(opserv_conf_read); diff --git a/src/proto-bahamut.c b/src/proto-bahamut.c index d493744..faa89fe 100644 --- a/src/proto-bahamut.c +++ b/src/proto-bahamut.c @@ -1,5 +1,5 @@ /* proto-bahamut.c - IRC protocol output - * Copyright 2000-2004 srvx Development Team + * Copyright 2000-2006 srvx Development Team * * This file is part of srvx. * @@ -171,10 +171,14 @@ AddUser(struct server* uplink, const char *nick, const char *ident, const char * } struct userNode * -AddService(const char *nick, const char *modes, const char *desc, const char *hostname) { +AddLocalUser(const char *nick, const char *ident, const char *hostname, const char *desc, const char *modes) +{ time_t timestamp = now; struct userNode *old_user = GetUserH(nick); static const irc_in_addr_t ipaddr; + + if (!modes) + modes = "+oikr"; if (old_user) { if (IsLocal(old_user)) return old_user; @@ -182,20 +186,7 @@ AddService(const char *nick, const char *modes, const char *desc, const char *ho } if (!hostname) hostname = self->name; - return AddUser(self, nick, nick, hostname, modes ? modes : "+oikr", desc, timestamp, ipaddr, 0); -} - -struct userNode * -AddClone(const char *nick, const char *ident, const char *hostname, const char *desc) { - time_t timestamp = now; - struct userNode *old_user = GetUserH(nick); - static const irc_in_addr_t ipaddr; - if (old_user) { - if (IsLocal(old_user)) - return old_user; - timestamp = old_user->timestamp - 1; - } - return AddUser(self, nick, ident, hostname, "+ir", desc, timestamp, ipaddr, 0); + return AddUser(self, nick, ident, hostname, modes, desc, timestamp, ipaddr, 0); } void diff --git a/src/proto-p10.c b/src/proto-p10.c index 75f9e2b..dce0d98 100644 --- a/src/proto-p10.c +++ b/src/proto-p10.c @@ -1904,13 +1904,15 @@ void DelServer(struct server* serv, int announce, const char *message) } struct userNode * -AddService(const char *nick, const char *modes, const char *desc, const char *hostname) +AddLocalUser(const char *nick, const char *ident, const char *hostname, const char *desc, const char *modes) { char numeric[COMBO_NUMERIC_LEN+1]; int local_num = get_local_numeric(); time_t timestamp = now; struct userNode *old_user = GetUserH(nick); + if (!modes) + modes = "+oik"; if (old_user) { if (IsLocal(old_user)) return old_user; @@ -1923,7 +1925,7 @@ AddService(const char *nick, const char *modes, const char *desc, const char *ho if (!hostname) hostname = self->name; make_numeric(self, local_num, numeric); - return AddUser(self, nick, nick, hostname, modes ? modes : "+oik", numeric, desc, now, "AAAAAA"); + return AddUser(self, nick, ident, hostname, modes, numeric, desc, now, "AAAAAA"); } struct userNode * diff --git a/src/proto.h b/src/proto.h index 8f6bb0b..451c889 100644 --- a/src/proto.h +++ b/src/proto.h @@ -167,8 +167,7 @@ void irc_numeric(struct userNode *user, unsigned int num, const char *format, .. /* stuff originally from other headers that is really protocol-specific */ int IsChannelName(const char *name); int is_valid_nick(const char *nick); -struct userNode *AddService(const char *nick, const char *modes, const char *desc, const char *hostname); -struct userNode *AddClone(const char *nick, const char *ident, const char *hostname, const char *desc); +struct userNode *AddLocalUser(const char *nick, const char *ident, const char *hostname, const char *desc, const char *modes); struct server* AddServer(struct server* uplink, const char *name, int hops, time_t boot, time_t link, const char *numeric, const char *description); void DelServer(struct server* serv, int announce, const char *message); void DelUser(struct userNode* user, struct userNode *killer, int announce, const char *why);