[srvx-commits] CVS: services/src uplink.c,1.11,1.12 tools.h,1.14,1.15 tools.c,1.97,1.98 service.h,1.
Brought to you by:
entrope
Update of /cvsroot/srvx/services/src In directory usw-pr-cvs1:/tmp/cvs-serv21875/src Modified Files: uplink.c tools.h tools.c service.h service.c rules.h proto_ircu_p10.c proto_bahamut.c proto.h proto.def proto.c modules.h modules.c mod_common.h mod_common.c log.h log.c hash.h hash.c gline.h gline.c Removed Files: globtest.c alias.h alias.c Log Message: various cleanups -- mostly ditch the ill-conceived and awkward "annotation" code Index: uplink.c =================================================================== RCS file: /cvsroot/srvx/services/src/uplink.c,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -r1.11 -r1.12 *** uplink.c 2001/09/29 04:37:31 1.11 --- uplink.c 2001/10/10 04:00:41 1.12 *************** *** 29,32 **** --- 29,33 ---- #include "conf.h" + #include "hash.h" #include "log.h" #include "proto.h" Index: tools.h =================================================================== RCS file: /cvsroot/srvx/services/src/tools.h,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -r1.14 -r1.15 *** tools.h 2001/09/27 21:58:07 1.14 --- tools.h 2001/10/10 04:00:41 1.15 *************** *** 29,34 **** #define disabled_string(string) (!strcasecmp((string), "off") || !strcmp((string), "0") || !strcasecmp((string), "disabled")) ! struct userNode; ! struct chanNode; extern unsigned char channel_inverse_modes[256]; --- 29,34 ---- #define disabled_string(string) (!strcasecmp((string), "off") || !strcmp((string), "0") || !strcasecmp((string), "disabled")) ! struct user; ! struct channel; extern unsigned char channel_inverse_modes[256]; *************** *** 36,41 **** int getusermodes(char *sender); ! void mod_usermode(struct userNode *user, const char *modes); ! void mod_chanmode(struct chanNode *channel, const char *mode_change, const char *key, int limit); int verify_chanmode(const char *modes); int split_line(unsigned char *line, int irc_colon, int argv_size, unsigned char *argv[]); --- 36,41 ---- int getusermodes(char *sender); ! void mod_usermode(struct user *user, const char *modes); ! void mod_chanmode(struct channel *channel, const char *mode_change, const char *key, int limit); int verify_chanmode(const char *modes); int split_line(unsigned char *line, int irc_colon, int argv_size, unsigned char *argv[]); *************** *** 44,48 **** int mmatch(const char *glob, const char *newglob); int match_ircglob(const char *text, const char *glob); ! int user_matches_glob(struct userNode *user, const char *glob, int include_nick); int is_ircmask(const unsigned char *text); --- 44,48 ---- int mmatch(const char *glob, const char *newglob); int match_ircglob(const char *text, const char *glob); ! int user_matches_glob(struct user *user, const char *glob, int include_nick); int is_ircmask(const unsigned char *text); *************** *** 55,59 **** #define GENMASK_BYIP 8 #define GENMASK_SRVXMASK 16 ! char *generate_hostmask(struct userNode *user, int options); unsigned long ParseInterval(const unsigned char *interval); --- 55,59 ---- #define GENMASK_BYIP 8 #define GENMASK_SRVXMASK 16 ! char *generate_hostmask(struct user *user, int options); unsigned long ParseInterval(const unsigned char *interval); *************** *** 73,78 **** const char *preposition(char *word); ! int ban_match_user(struct userNode *user, char *ban); ! int ban_match_user_host(struct userNode *user, char *hostmask, char *ban); DECLARE_LIST(string_buffer, char); --- 73,78 ---- const char *preposition(char *word); ! int ban_match_user(struct user *user, char *ban); ! int ban_match_user_host(struct user *user, char *hostmask, char *ban); DECLARE_LIST(string_buffer, char); *************** *** 80,85 **** void string_buffer_replace(struct string_buffer *buf, unsigned int from, unsigned int len, const char *repl); ! int make_chanmode(struct chanNode *chan, char *out, unsigned int len); ! int make_usermode(struct userNode *user, char *out, unsigned int len); #endif /* ifdef _TOOLS_H_ */ --- 80,85 ---- void string_buffer_replace(struct string_buffer *buf, unsigned int from, unsigned int len, const char *repl); ! int make_chanmode(struct channel *chan, char *out, unsigned int len); ! int make_usermode(struct user *user, char *out, unsigned int len); #endif /* ifdef _TOOLS_H_ */ Index: tools.c =================================================================== RCS file: /cvsroot/srvx/services/src/tools.c,v retrieving revision 1.97 retrieving revision 1.98 diff -C2 -r1.97 -r1.98 *** tools.c 2001/10/03 00:57:46 1.97 --- tools.c 2001/10/10 04:00:41 1.98 *************** *** 71,75 **** void ! mod_usermode(struct userNode *user, const char *mode_change) { unsigned long orig_modes; int add = 1; --- 71,75 ---- void ! mod_usermode(struct user *user, const char *mode_change) { unsigned long orig_modes; int add = 1; *************** *** 94,102 **** #undef do_user_mode } ! /* TODO: add callback to notify things of mode changes*/ } int ! make_usermode(struct userNode *user, char *out, unsigned int len) { unsigned int nn, jj=0; --- 94,102 ---- #undef do_user_mode } ! /* TODO: add callback to notify things of mode changes */ } int ! make_usermode(struct user *user, char *out, unsigned int len) { unsigned int nn, jj=0; *************** *** 113,117 **** void ! mod_chanmode(struct chanNode *channel, const char *mode_change, const char *key, int limit) { int add = 1, n; --- 113,117 ---- void ! mod_chanmode(struct channel *channel, const char *mode_change, const char *key, int limit) { int add = 1, n; *************** *** 168,172 **** int ! make_chanmode(struct chanNode *channel, char *out, unsigned int len) { unsigned int nn, jj=0; --- 168,172 ---- int ! make_chanmode(struct channel *channel, char *out, unsigned int len) { unsigned int nn, jj=0; *************** *** 406,410 **** int ! user_matches_glob(struct userNode *user, const char *orig_glob, int include_nick) { char *glob, *marker; --- 406,410 ---- int ! user_matches_glob(struct user *user, const char *orig_glob, int include_nick) { char *glob, *marker; *************** *** 486,490 **** char * ! generate_hostmask(struct userNode *user, int options) { char *nickname, *username, *hostname; --- 486,490 ---- char * ! generate_hostmask(struct user *user, int options) { char *nickname, *username, *hostname; Index: service.h =================================================================== RCS file: /cvsroot/srvx/services/src/service.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** service.h 2001/09/27 21:58:07 1.2 --- service.h 2001/10/10 04:00:41 1.3 *************** *** 25,37 **** #include "modules.h" ! struct userNode; struct service_template { dict_t commands; /* string->struct service_command* */ ! struct annotations notes; }; ! int service_create(const char *templ_name, dict_t defn); ! struct userNode *service_instantiate(const char *name); #endif /* !defined(SERVICE_H) */ --- 25,47 ---- #include "modules.h" ! #define SERVICE_MAJOR 0 ! #define SERVICE_MINOR 0 ! #define SERVICE_REVISION 0 + struct user; + struct service_common; + struct service_template { dict_t commands; /* string->struct service_command* */ ! struct service_common *common; ! }; ! ! /* Attached as a "service" module note to "struct user" */ ! struct service_instance { ! struct service_template *templ; }; ! void service_init(); ! struct user *service_create(const char *templ_name, dict_t params); #endif /* !defined(SERVICE_H) */ Index: service.c =================================================================== RCS file: /cvsroot/srvx/services/src/service.c,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** service.c 2001/09/27 21:58:07 1.2 --- service.c 2001/10/10 04:00:41 1.3 *************** *** 20,45 **** #include "config.h" #include "dict.h" #include "rules.h" #include "service.h" static dict_t service_templates; ! int ! service_create(const char *name, dict_t defn) { ! (void)name; (void)defn; ! if (!service_templates) service_templates = dict_new(); ! if (dict_find(service_templates, name, NULL)) return 1; ! /* TODO: finish service_create() */ ! return 2; } ! struct userNode * ! service_instantiate(const char *name) { ! (void)name; ! /* TODO: finish service_instantiate */ ! return NULL; } --- 20,139 ---- #include "config.h" + #include <assert.h> + #include <ctype.h> + #include <stdlib.h> #include "dict.h" + #include "proto.h" #include "rules.h" #include "service.h" + #include "tools.h" + struct service_command { + struct module_command *base; + struct expression *rule; + }; + + static struct module *service_module; static dict_t service_templates; + #define SINST(USER) ((USER)->service) ! void ! service_init(void) { ! service_module = module_register("service", MAKE_VERSION(SERVICE_MAJOR, SERVICE_MINOR, SERVICE_REVISION), NULL, NULL); ! service_templates = dict_new(); ! } ! ! static void ! service_chanmsg(struct user *bot, struct user *source, struct channel *chan, char *real_text) ! { ! unsigned char *text = real_text; ! unsigned char *argv[MAXNUMPARAMS], *chan_name; ! unsigned int argc, shift; ! struct service_instance *sinst; ! struct service_command *cmd; ! struct expression_context rule_ctx; ! ! (void)source; (void)chan; ! shift = 0; ! argc = split_line(text, 0, ArrayLength(argv), argv); ! sinst = bot->service; ! if ((argc > 0) && (argv[0][0] == '#')) { ! cmd = dict_find(sinst->templ->commands, argv[1], NULL); ! if (cmd->base->flags & (1 << TAKES_CHANNEL)) { ! shift = 1; ! chan_name = argv[0]; ! } else { ! /* TODO: whine */ ! } ! } else if ((argc > 1) && (argv[1][0] == '#')) { ! cmd = dict_find(sinst->templ->commands, argv[0], NULL); ! if (cmd->base->flags & (1 << TAKES_CHANNEL)) { ! shift = 1; ! chan_name = argv[1]; ! argv[1] = argv[0]; ! argv[0] = chan_name; ! } else { ! /* Doesn't take a channel, so leave second arg in place */ ! } ! } else { ! shift = 0; ! cmd = dict_find(sinst->templ->commands, argv[0], NULL); ! } ! if ((cmd->base->flags & (1 << TAKES_CHANNEL)) && shift) { ! chan = GetChannel(argv[shift-1]); ! } ! if ((cmd->base->flags & (1 << REQUIRE_CHANNEL)) && !chan) { ! /* TODO: whine */ ! return; ! } ! /* TODO: check for authed state and whine if not */ ! if ((cmd->base->flags & (1 << REQUIRE_AUTHED)) && 0) { ! } ! /* Fill in rule context and evaluate it */ ! rule_ctx.user = source; ! rule_ctx.channel = chan; ! if (!expression_evaluate(cmd->rule ? cmd->rule : cmd->base->default_rule, &rule_ctx)) { ! /* TODO: whine */ ! return; ! } ! if (cmd->base->function(source, bot, chan, argc-shift, argv+shift)) { ! /* TODO: whine or something */ ! return; ! } } ! static void ! service_privmsg(struct user *bot, struct user *source, char *text) { ! /* Is this sufficient? */ ! service_chanmsg(bot, source, NULL, text); ! } ! ! struct user * ! service_create(const char *name, dict_t params) ! { ! struct user *user; ! const char *hostname, *userinfo, *trigger; ! struct service_template *templ; ! struct service_instance *sinst; ! ! /* Is the template defined? */ ! if (!(templ = dict_find(service_templates, name, NULL))) return NULL; ! /* Get the various parameters from the params dict */ ! hostname = dict_find(params, "hostname", NULL); ! userinfo = dict_find(params, "userinfo", NULL); ! trigger = dict_find(params, "trigger", NULL); ! /* Create the user and annotate it */ ! user = add_local_user(name, name, hostname, "+oik", userinfo, now); ! sinst = calloc(1, sizeof(*sinst)); ! assert(sinst); ! sinst->templ = templ; ! user->service = sinst; ! /* Register callbacks */ ! if (trigger) reg_chanmsg_func(trigger[0], user, service_chanmsg); ! reg_privmsg_func(user, service_privmsg); ! /* TODO: finish service_create() */ ! return user; } Index: rules.h =================================================================== RCS file: /cvsroot/srvx/services/src/rules.h,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** rules.h 2001/09/22 16:12:54 1.1 --- rules.h 2001/10/10 04:00:41 1.2 *************** *** 25,30 **** struct expression_context { ! struct userNode *user; ! struct chanNode *channel; }; --- 25,30 ---- struct expression_context { ! struct user *user; ! struct channel *channel; }; Index: proto_ircu_p10.c =================================================================== RCS file: /cvsroot/srvx/services/src/proto_ircu_p10.c,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -r1.25 -r1.26 *** proto_ircu_p10.c 2001/10/02 16:04:36 1.25 --- proto_ircu_p10.c 2001/10/10 04:00:41 1.26 *************** *** 65,80 **** static struct module *proto_module; ! struct userNode_proto { char numeric[COMBO_NUMERIC_LEN+1]; }; ! static unsigned int uproto_note_id; ! #define UPROTO(USER) ((struct userNode_proto*)get_note(&(USER)->notes, uproto_note_id)) ! struct serverNode_proto { char numeric[SERVER_NUMERIC_LEN+1]; ! struct userNode *users[USERARRAYSIZE]; /* flat indexed by numeric */ }; ! static unsigned int sproto_note_id; ! #define SPROTO(SERVER) ((struct serverNode_proto*)get_note(&(SERVER)->notes, sproto_note_id)) /**************************************/ --- 65,78 ---- static struct module *proto_module; ! struct user_proto { char numeric[COMBO_NUMERIC_LEN+1]; }; ! #define UPROTO(USER) ((USER)->proto) ! struct server_proto { char numeric[SERVER_NUMERIC_LEN+1]; ! struct user *users[USERARRAYSIZE]; /* flat indexed by numeric */ }; ! #define SPROTO(SERVER) ((SERVER)->proto) /**************************************/ *************** *** 288,292 **** static void ! irc_uptime(struct userNode *user) { char uptime[INTERVALLEN]; --- 286,290 ---- static void ! irc_uptime(struct user *user) { char uptime[INTERVALLEN]; *************** *** 299,303 **** static void ! irc_whois(struct userNode *from, struct userNode *who) { putsock(":%s 311 %s %s %s %s * :%s", self->name, from->nick, who->nick, who->username, who->hostname, who->info); --- 297,301 ---- static void ! irc_whois(struct user *from, struct user *who) { putsock(":%s 311 %s %s %s %s * :%s", self->name, from->nick, who->nick, who->username, who->hostname, who->info); *************** *** 309,313 **** void ! irc_user(struct userNode *user) { char b64ip[7]; --- 307,311 ---- void ! irc_user(struct user *user) { char b64ip[7]; *************** *** 326,330 **** void ! irc_nick(struct userNode *user) { putsock("%s %s %s "FMT_TIME_T, UPROTO(user)->numeric, CMD_NICK, user->nick, now); --- 324,328 ---- void ! irc_nick(struct user *user) { putsock("%s %s %s "FMT_TIME_T, UPROTO(user)->numeric, CMD_NICK, user->nick, now); *************** *** 332,336 **** void ! irc_fetchtopic(struct userNode *from, struct chanNode *target) { putsock("%s TOPIC %s", from->nick, target->name); --- 330,334 ---- void ! irc_fetchtopic(struct user *from, struct channel *target) { putsock("%s TOPIC %s", from->nick, target->name); *************** *** 359,363 **** void ! irc_notice(struct userNode *from, const char *to, const char *message) { putsock("%s %s %s :%s", UPROTO(from)->numeric, CMD_NOTICE, to, message); --- 357,361 ---- void ! irc_notice(struct user *from, const char *to, const char *message) { putsock("%s %s %s :%s", UPROTO(from)->numeric, CMD_NOTICE, to, message); *************** *** 365,374 **** void ! irc_privmsg(struct userNode *from, const char *to, const char *message) { if (IsChannelName(to)) { putsock("%s %s %s :%s", UPROTO(from)->numeric, CMD_PRIVMSG, to, message); } else { ! struct userNode *user = GetUser(to); if (user) putsock("%s %s %s :%s", UPROTO(from)->numeric, CMD_PRIVMSG, UPROTO(user)->numeric, message); } --- 363,372 ---- void ! irc_privmsg(struct user *from, const char *to, const char *message) { if (IsChannelName(to)) { putsock("%s %s %s :%s", UPROTO(from)->numeric, CMD_PRIVMSG, to, message); } else { ! struct user *user = GetUser(to); if (user) putsock("%s %s %s :%s", UPROTO(from)->numeric, CMD_PRIVMSG, UPROTO(user)->numeric, message); } *************** *** 445,454 **** static void ! irc_burst(struct chanNode *chan) { char burst_line[510]; int pos, base_len, len; ! struct modeNode *mn; ! struct banNode *bn; long last_mode=-1; unsigned int n; --- 443,452 ---- static void ! irc_burst(struct channel *chan) { char burst_line[510]; int pos, base_len, len; ! struct mode *mn; ! struct ban *bn; long last_mode=-1; unsigned int n; *************** *** 507,511 **** void ! irc_quit(struct userNode *user, const char *message) { putsock("%s %s :%s", UPROTO(user)->numeric, CMD_QUIT, message); --- 505,509 ---- void ! irc_quit(struct user *user, const char *message) { putsock("%s %s :%s", UPROTO(user)->numeric, CMD_QUIT, message); *************** *** 523,527 **** void ! irc_kill(struct userNode *from, struct userNode *target, const char *message) { if (from) { --- 521,525 ---- void ! irc_kill(struct user *from, struct user *target, const char *message) { if (from) { *************** *** 533,539 **** void ! irc_mode(struct userNode *from, struct chanNode *target, const char *modes) { ! struct modeNode *mn; const char *src; if ((mn = GetUserMode(target, from)) && (mn->modes & MODE_CHANOP)) { --- 531,537 ---- void ! irc_mode(struct user *from, struct channel *target, const char *modes) { ! struct mode *mn; const char *src; if ((mn = GetUserMode(target, from)) && (mn->modes & MODE_CHANOP)) { *************** *** 546,550 **** void ! irc_invite(struct userNode *from, struct userNode *who, struct chanNode *to) { putsock("%s %s %s %s", from->nick, CMD_INVITE, who->nick, to->name); --- 544,548 ---- void ! irc_invite(struct user *from, struct user *who, struct channel *to) { putsock("%s %s %s %s", from->nick, CMD_INVITE, who->nick, to->name); *************** *** 552,556 **** void ! irc_join(struct userNode *who, struct chanNode *what) { if (what->members.used == 1) { --- 550,554 ---- void ! irc_join(struct user *who, struct channel *what) { if (what->members.used == 1) { *************** *** 562,566 **** void ! irc_kick(struct userNode *actor, struct userNode *who, struct chanNode *from, const char *msg) { putsock("%s %s %s %s :%s", UPROTO(actor)->numeric, CMD_KICK, from->name, UPROTO(who)->numeric, msg); --- 560,564 ---- void ! irc_kick(struct user *actor, struct user *who, struct channel *from, const char *msg) { putsock("%s %s %s %s :%s", UPROTO(actor)->numeric, CMD_KICK, from->name, UPROTO(who)->numeric, msg); *************** *** 574,578 **** void ! irc_stats(struct userNode *from, struct server *target, char type) { putsock("%s STATS %c :%s", UPROTO(from)->numeric, type, SPROTO(target)->numeric); --- 572,576 ---- void ! irc_stats(struct user *from, struct server *target, char type) { putsock("%s STATS %c :%s", UPROTO(from)->numeric, type, SPROTO(target)->numeric); *************** *** 580,584 **** void ! irc_part(struct userNode *who, struct chanNode *what, const char *reason) { putsock("%s %s %s :%s", UPROTO(who)->numeric, CMD_PART, what->name, reason); --- 578,582 ---- void ! irc_part(struct user *who, struct channel *what, const char *reason) { putsock("%s %s %s :%s", UPROTO(who)->numeric, CMD_PART, what->name, reason); *************** *** 586,590 **** void ! irc_topic(struct userNode *who, struct chanNode *what, const char *topic) { putsock(":%s %s %s :%s", who->nick, CMD_TOPIC, what->name, topic); --- 584,588 ---- void ! irc_topic(struct user *who, struct channel *what, const char *topic) { putsock(":%s %s %s :%s", who->nick, CMD_TOPIC, what->name, topic); *************** *** 592,596 **** void ! chan_apply_bans(struct userNode *who, struct chanNode *channel, char *what, unsigned int count, char **list) { char buffer[400]; --- 590,594 ---- void ! chan_apply_bans(struct user *who, struct channel *channel, char *what, unsigned int count, char **list) { char buffer[400]; *************** *** 628,632 **** void ! chan_apply_mode(struct userNode *who, struct chanNode *channel, char *what, unsigned int count, struct userNode **list) { char buffer[400]; --- 626,630 ---- void ! chan_apply_mode(struct user *who, struct channel *channel, char *what, unsigned int count, struct user **list) { char buffer[400]; *************** *** 664,668 **** void ! irc_change_channel_modes(struct chanNode *channel, struct userNode *source, const unsigned char *modes, va_list args) { char modebuf[200]; --- 662,666 ---- void ! irc_change_channel_modes(struct channel *channel, struct user *source, const unsigned char *modes, va_list args) { char modebuf[200]; *************** *** 677,681 **** while (*modes) { switch (*modes++) { ! struct userNode *user; int number; case '+': --- 675,679 ---- while (*modes) { switch (*modes++) { ! struct user *user; int number; case '+': *************** *** 688,696 **** break; case 'o': ! user = va_arg(args, struct userNode *); arg_text = UPROTO(user)->numeric; goto add_arg; case 'v': ! user = va_arg(args, struct userNode *); arg_text = UPROTO(user)->numeric; goto add_arg; --- 686,694 ---- break; case 'o': ! user = va_arg(args, struct user *); arg_text = UPROTO(user)->numeric; goto add_arg; case 'v': ! user = va_arg(args, struct user *); arg_text = UPROTO(user)->numeric; goto add_arg; *************** *** 733,739 **** /********************/ ! typedef void (*foreach_chanfunc) (struct chanNode *chan, void *data); typedef void (*foreach_nonchan) (char *name, void *data); ! typedef void (*foreach_userfunc) (struct userNode *user, void *data); typedef void (*foreach_nonuser) (char *name, void *data); static void parse_foreach(char *target_list, foreach_chanfunc cf, foreach_nonchan nc, foreach_userfunc uf, foreach_nonuser nu, void *data); --- 731,737 ---- /********************/ ! typedef void (*foreach_chanfunc) (struct channel *chan, void *data); typedef void (*foreach_nonchan) (char *name, void *data); ! typedef void (*foreach_userfunc) (struct user *user, void *data); typedef void (*foreach_nonuser) (char *name, void *data); static void parse_foreach(char *target_list, foreach_chanfunc cf, foreach_nonchan nc, foreach_userfunc uf, foreach_nonuser nu, void *data); *************** *** 773,780 **** } ! static struct userNode * GetUserN(const char *numeric) /* using numeric */ { ! struct userNode *un; struct server *s; int n; --- 771,778 ---- } ! static struct user * GetUserN(const char *numeric) /* using numeric */ { ! struct user *un; struct server *s; int n; *************** *** 798,802 **** } ! static struct userNode * GetUserX(const char *something) /* using either numeric or :Nick */ { --- 796,800 ---- } ! static struct user * GetUserX(const char *something) /* using either numeric or :Nick */ { *************** *** 891,901 **** { struct server *new_server; ! struct serverNode_proto *sproto; new_server = AddServer(uplink, name, hops, boot, link, description); servers_num[base64toint(numeric, SERVER_NUMERIC_LEN)] = new_server; ! sproto = calloc(1, sizeof(*sproto)); safestrncpy(sproto->numeric, numeric, sizeof(sproto->numeric)); - put_note(&new_server->notes, sproto_note_id, sproto); return new_server; } --- 889,898 ---- { struct server *new_server; ! struct server_proto *sproto; new_server = AddServer(uplink, name, hops, boot, link, description); servers_num[base64toint(numeric, SERVER_NUMERIC_LEN)] = new_server; ! sproto = uplink->proto = calloc(1, sizeof(*sproto)); safestrncpy(sproto->numeric, numeric, sizeof(sproto->numeric)); return new_server; } *************** *** 939,943 **** static CMD_FUNC(cmd_stats) { ! struct userNode *un = GetUserX(argv[0]); (void)argc; --- 936,940 ---- static CMD_FUNC(cmd_stats) { ! struct user *un = GetUserX(argv[0]); (void)argc; *************** *** 950,955 **** static CMD_FUNC(cmd_whois) { ! struct userNode *from; ! struct userNode *who; if (argc < 4) return 0; --- 947,952 ---- static CMD_FUNC(cmd_whois) { ! struct user *from; ! struct user *who; if (argc < 4) return 0; *************** *** 1010,1014 **** struct create_desc { ! struct userNode *user; time_t when; }; --- 1007,1011 ---- struct create_desc { ! struct user *user; time_t when; }; *************** *** 1018,1022 **** { struct create_desc *cd = data; ! struct chanNode *cn; /* We can't assume the channel create was allowed because of the --- 1015,1019 ---- { struct create_desc *cd = data; ! struct channel *cn; /* We can't assume the channel create was allowed because of the *************** *** 1030,1034 **** */ if (cn->members.used == 1) { ! struct modeNode *mn = GetUserMode(cn, cd->user); if (mn) mn->modes = MODE_CHANOP; } --- 1027,1031 ---- */ if (cn->members.used == 1) { ! struct mode *mn = GetUserMode(cn, cd->user); if (mn) mn->modes = MODE_CHANOP; } *************** *** 1060,1067 **** } ! static struct userNode * ircu_add_user(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 *uNode; if (strlen(numeric) != COMBO_NUMERIC_LEN) { --- 1057,1064 ---- } ! static struct user * ircu_add_user(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 user *uNode; if (strlen(numeric) != COMBO_NUMERIC_LEN) { *************** *** 1073,1081 **** if (uNode) { unsigned long num_local; ! struct userNode_proto *uproto; uproto = calloc(1, sizeof(*uproto)); safestrncpy(uproto->numeric, numeric, sizeof(uproto->numeric)); ! put_note(&uNode->notes, uproto_note_id, uproto); uNode->ip = base64toint(realip, 6); num_local = base64toint(numeric+SERVER_NUMERIC_LEN, USER_NUMERIC_LEN); --- 1070,1078 ---- if (uNode) { unsigned long num_local; ! struct user_proto *uproto; uproto = calloc(1, sizeof(*uproto)); safestrncpy(uproto->numeric, numeric, sizeof(uproto->numeric)); ! uNode->proto = uproto; uNode->ip = base64toint(realip, 6); num_local = base64toint(numeric+SERVER_NUMERIC_LEN, USER_NUMERIC_LEN); *************** *** 1110,1114 **** } ! struct userNode * add_local_user(const char *nick, const char *ident, const char *hostname, const char *modes, const char *userinfo, time_t timestamp) { --- 1107,1111 ---- } ! struct user * add_local_user(const char *nick, const char *ident, const char *hostname, const char *modes, const char *userinfo, time_t timestamp) { *************** *** 1152,1161 **** static void ! BurstChannel(struct chanNode *chan, char *members, char *banlist) { unsigned int i; long mode; ! struct userNode *un; ! struct modeNode *mn; /* go through the list of users to add and add each one */ --- 1149,1158 ---- static void ! BurstChannel(struct channel *chan, char *members, char *banlist) { unsigned int i; long mode; ! struct user *un; ! struct mode *mn; /* go through the list of users to add and add each one */ *************** *** 1196,1200 **** const char *key = NULL, *modes = NULL; unsigned int limit = 0, next = 4; ! struct chanNode *channel; if (argc < 4) return 0; --- 1193,1197 ---- const char *key = NULL, *modes = NULL; unsigned int limit = 0, next = 4; ! struct channel *channel; if (argc < 4) return 0; *************** *** 1256,1260 **** static void ! call_mode_change_funcs(struct chanNode *channel, struct userNode *user, int change_type, void *change) { unsigned int n; --- 1253,1257 ---- static void ! call_mode_change_funcs(struct channel *channel, struct user *user, int change_type, void *change) { unsigned int n; *************** *** 1270,1274 **** if (argc < 4) return 0; if (!IsChannelName(argv[2])) { ! struct userNode *un = GetUser(argv[2]); if (!un) { log(MAIN_LOG, LOG_ERROR, "Unable to find user %s whose mode is changing\n", argv[2]); --- 1267,1271 ---- if (argc < 4) return 0; if (!IsChannelName(argv[2])) { ! struct user *un = GetUser(argv[2]); if (!un) { log(MAIN_LOG, LOG_ERROR, "Unable to find user %s whose mode is changing\n", argv[2]); *************** *** 1278,1287 **** return 1; } else { ! struct chanNode *cn; ! struct userNode *un; int next_arg=4, res=1, add=1, bit; const char *mchange; ! struct modeNode *mn; ! chan_mode_t mode; char orig_key[KEYLEN+1]; unsigned int orig_limit; --- 1275,1284 ---- return 1; } else { ! struct channel *cn; ! struct user *un; int next_arg=4, res=1, add=1, bit; const char *mchange; ! struct mode *mn; ! channel_mode_t mode; char orig_key[KEYLEN+1]; unsigned int orig_limit; *************** *** 1326,1330 **** case 'o': case 'v': { ! struct userNode *vic; vic = GetUserN(argv[next_arg++]); if (!vic) { --- 1323,1327 ---- case 'o': case 'v': { ! struct user *vic; vic = GetUserN(argv[next_arg++]); if (!vic) { *************** *** 1368,1373 **** static CMD_FUNC(cmd_topic) { ! static struct chanNode *cn; ! static struct userNode *un; if (argc < 4) return 0; --- 1365,1370 ---- static CMD_FUNC(cmd_topic) { ! static struct channel *cn; ! static struct user *un; if (argc < 4) return 0; *************** *** 1386,1390 **** static CMD_FUNC(cmd_num_topic) { ! static struct chanNode *cn; if (!argv[1]) return 0; --- 1383,1387 ---- static CMD_FUNC(cmd_num_topic) { ! static struct channel *cn; if (!argv[1]) return 0; *************** *** 1427,1431 **** static CMD_FUNC(cmd_quit) { ! struct userNode *user; if (argc < 3) return 0; user = GetUserX(argv[0]); --- 1424,1428 ---- static CMD_FUNC(cmd_quit) { ! struct user *user; if (argc < 3) return 0; user = GetUserX(argv[0]); *************** *** 1441,1445 **** static CMD_FUNC(cmd_kill) { ! struct userNode *user; if (argc < 3) return 0; if (!(user = GetUserX(argv[2]))) { --- 1438,1442 ---- static CMD_FUNC(cmd_kill) { ! struct user *user; if (argc < 3) return 0; if (!(user = GetUserX(argv[2]))) { *************** *** 1459,1463 **** static void ! join_helper(struct chanNode *cn, void *data) { AddChannelUser(data, cn, 0); --- 1456,1460 ---- static void ! join_helper(struct channel *cn, void *data) { AddChannelUser(data, cn, 0); *************** *** 1467,1476 **** join_helper_old_server(char *name, void *data) { ! struct userNode *un = data; ! struct chanNode *cn; cn = AddChannel(name, now, "", "", 0); AddChannelUser(un, cn, 0); if (cn->members.used == 1) { ! struct modeNode *mn = GetUserMode(cn, un); if (mn) mn->modes = MODE_CHANOP; } --- 1464,1473 ---- join_helper_old_server(char *name, void *data) { ! struct user *un = data; ! struct channel *cn; cn = AddChannel(name, now, "", "", 0); AddChannelUser(un, cn, 0); if (cn->members.used == 1) { ! struct mode *mn = GetUserMode(cn, un); if (mn) mn->modes = MODE_CHANOP; } *************** *** 1479,1483 **** static CMD_FUNC(cmd_join) { ! struct userNode *user; if (argc < 3) return 0; user = GetUserX(argv[0]); --- 1476,1480 ---- static CMD_FUNC(cmd_join) { ! struct user *user; if (argc < 3) return 0; user = GetUserX(argv[0]); *************** *** 1494,1498 **** static void ! part_helper(struct chanNode *cn, void *data) { DelChannelUser(data, cn, 0, 0); --- 1491,1495 ---- static void ! part_helper(struct channel *cn, void *data) { DelChannelUser(data, cn, 0, 0); *************** *** 1501,1505 **** static CMD_FUNC(cmd_part) { ! struct userNode *user; if (argc < 3) return 0; user = GetUserX(argv[0]); --- 1498,1502 ---- static CMD_FUNC(cmd_part) { ! struct user *user; if (argc < 3) return 0; user = GetUserX(argv[0]); *************** *** 1510,1516 **** static CMD_FUNC(cmd_kick) { ! struct userNode *victim; ! struct userNode *kicker; ! struct chanNode *channel; if (argc < 4) return 0; --- 1507,1513 ---- static CMD_FUNC(cmd_kick) { ! struct user *victim; ! struct user *kicker; ! struct channel *channel; if (argc < 4) return 0; *************** *** 1538,1542 **** static struct chanmsg_desc { chanmsg_func_t func; ! struct userNode *service; } chanmsg_funcs[256]; static privmsg_func_t *privmsg_funcs; --- 1535,1539 ---- static struct chanmsg_desc { chanmsg_func_t func; ! struct user *service; } chanmsg_funcs[256]; static privmsg_func_t *privmsg_funcs; *************** *** 1546,1550 **** struct privmsg_desc { ! struct userNode *user; unsigned char *text; unsigned int is_notice; --- 1543,1547 ---- struct privmsg_desc { ! struct user *user; unsigned char *text; unsigned int is_notice; *************** *** 1552,1556 **** static void ! privmsg_chan_helper(struct chanNode *cn, void *data) { struct privmsg_desc *pd = data; --- 1549,1553 ---- static void ! privmsg_chan_helper(struct channel *cn, void *data) { struct privmsg_desc *pd = data; *************** *** 1566,1570 **** static void ! privmsg_user_helper(struct userNode *un, void *data) { struct privmsg_desc *pd = data; --- 1563,1567 ---- static void ! privmsg_user_helper(struct user *un, void *data) { struct privmsg_desc *pd = data; *************** *** 1607,1611 **** static CMD_FUNC(cmd_away) { ! struct userNode *uNode = GetUserX(argv[0]); if (argc < 3) { --- 1604,1608 ---- static CMD_FUNC(cmd_away) { ! struct user *uNode = GetUserX(argv[0]); if (argc < 3) { *************** *** 1645,1649 **** static void ! ircu_del_user(struct userNode *user) { SPROTO(user->uplink)->users[base64toint(UPROTO(user)->numeric+SERVER_NUMERIC_LEN, USER_NUMERIC_LEN)] = NULL; --- 1642,1646 ---- static void ! ircu_del_user(struct user *user) { SPROTO(user->uplink)->users[base64toint(UPROTO(user)->numeric+SERVER_NUMERIC_LEN, USER_NUMERIC_LEN)] = NULL; *************** *** 1673,1678 **** /* Register things with module registry */ proto_module = module_register("proto", MAKE_VERSION(0, 0, 0), NULL, lib); - uproto_note_id = note_register_module("struct userNode", proto_module); - sproto_note_id = note_register_module("struct server", proto_module); /* initialize data structures */ --- 1670,1673 ---- *************** *** 1800,1804 **** void ! reg_privmsg_func(struct userNode *user, privmsg_func_t handler) { unsigned long numeric = base64toint(UPROTO(user)->numeric+SERVER_NUMERIC_LEN, USER_NUMERIC_LEN); --- 1795,1799 ---- void ! reg_privmsg_func(struct user *user, privmsg_func_t handler) { unsigned long numeric = base64toint(UPROTO(user)->numeric+SERVER_NUMERIC_LEN, USER_NUMERIC_LEN); *************** *** 1816,1820 **** void ! reg_notice_func(struct userNode *user, privmsg_func_t handler) { unsigned int numeric = base64toint(UPROTO(user)->numeric+SERVER_NUMERIC_LEN, USER_NUMERIC_LEN); --- 1811,1815 ---- void ! reg_notice_func(struct user *user, privmsg_func_t handler) { unsigned int numeric = base64toint(UPROTO(user)->numeric+SERVER_NUMERIC_LEN, USER_NUMERIC_LEN); *************** *** 1832,1836 **** void ! reg_chanmsg_func(unsigned char prefix, struct userNode *service, chanmsg_func_t handler) { if (chanmsg_funcs[prefix].func) { --- 1827,1831 ---- void ! reg_chanmsg_func(unsigned char prefix, struct user *service, chanmsg_func_t handler) { if (chanmsg_funcs[prefix].func) { *************** *** 1851,1855 **** *j = 0; if (IsChannelName(target_list)) { ! struct chanNode *chan = GetChannel(target_list); if (chan) { if (cf) cf(chan, data); --- 1846,1850 ---- *j = 0; if (IsChannelName(target_list)) { ! struct channel *chan = GetChannel(target_list); if (chan) { if (cf) cf(chan, data); *************** *** 1858,1862 **** } } else { ! struct userNode *user = GetUserN(target_list); if (user) { if (uf) uf(user, data); --- 1853,1857 ---- } } else { ! struct user *user = GetUserN(target_list); if (user) { if (uf) uf(user, data); Index: proto_bahamut.c =================================================================== RCS file: /cvsroot/srvx/services/src/proto_bahamut.c,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -r1.15 -r1.16 *** proto_bahamut.c 2001/10/02 16:04:36 1.15 --- proto_bahamut.c 2001/10/10 04:00:41 1.16 *************** *** 45,51 **** /************************************/ ! typedef void (*foreach_chanfunc) (struct chanNode *chan, void *data); typedef void (*foreach_nonchan) (char *name, void *data); ! typedef void (*foreach_userfunc) (struct userNode *user, void *data); typedef void (*foreach_nonuser) (char *name, void *data); --- 45,51 ---- /************************************/ ! typedef void (*foreach_chanfunc) (struct channel *chan, void *data); typedef void (*foreach_nonchan) (char *name, void *data); ! typedef void (*foreach_userfunc) (struct user *user, void *data); typedef void (*foreach_nonuser) (char *name, void *data); *************** *** 58,62 **** unsigned int proto_max_channel_bans = 30; - static void timed_send_ping(void *data); static void timed_ping_timeout(void *data); --- 58,61 ---- *************** *** 93,108 **** static struct module *proto_module; ! struct userNode_proto { privmsg_func_t privmsg_func; privmsg_func_t notice_func; }; ! static unsigned int uproto_note_id; ! #define UPROTO(USER) ((struct userNode_proto*)get_note(&(USER)->notes, uproto_note_id)) ! struct serverNode_proto { dict_t clients; }; ! static unsigned int sproto_note_id; ! #define SPROTO(SERVER) ((struct serverNode_proto*)get_note(&(SERVER)->notes, sproto_note_id)) /********************/ --- 92,105 ---- static struct module *proto_module; ! struct user_proto { privmsg_func_t privmsg_func; privmsg_func_t notice_func; }; ! #define UPROTO(USER) ((USER)->proto) ! struct server_proto { dict_t clients; }; ! #define SPROTO(SERVER) ((SERVER)->proto) /********************/ *************** *** 193,197 **** static void ! irc_uptime(struct userNode *user) { char uptime[INTERVALLEN]; --- 190,194 ---- static void ! irc_uptime(struct user *user) { char uptime[INTERVALLEN]; *************** *** 204,208 **** static void ! irc_whois(struct userNode *from, struct userNode *who) { putsock(":%s 311 %s %s %s %s * :%s", self->name, from->nick, who->nick, who->username, who->hostname, who->info); --- 201,205 ---- static void ! irc_whois(struct user *from, struct user *who) { putsock(":%s 311 %s %s %s %s * :%s", self->name, from->nick, who->nick, who->username, who->hostname, who->info); *************** *** 215,219 **** void ! irc_user(struct userNode *user) { char modes[16]; --- 212,216 ---- void ! irc_user(struct user *user) { char modes[16]; *************** *** 227,231 **** void ! irc_nick(struct userNode *user) { putsock(":%s %s %s "FMT_TIME_T, user->nick, CMD_NICK, user->nick, now); --- 224,228 ---- void ! irc_nick(struct user *user) { putsock(":%s %s %s "FMT_TIME_T, user->nick, CMD_NICK, user->nick, now); *************** *** 233,237 **** void ! irc_fetchtopic(struct userNode *from, struct chanNode *target) { putsock(":%s TOPIC %s", from->nick, target->name); --- 230,234 ---- void ! irc_fetchtopic(struct user *from, struct channel *target) { putsock(":%s TOPIC %s", from->nick, target->name); *************** *** 251,255 **** void ! irc_notice(struct userNode *from, const char *to, const char *message) { putsock(":%s %s %s :%s", from->nick, CMD_NOTICE, to, message); --- 248,252 ---- void ! irc_notice(struct user *from, const char *to, const char *message) { putsock(":%s %s %s :%s", from->nick, CMD_NOTICE, to, message); *************** *** 257,261 **** void ! irc_privmsg(struct userNode *from, const char *to, const char *message) { putsock(":%s %s %s :%s", from->nick, CMD_PRIVMSG, to, message); --- 254,258 ---- void ! irc_privmsg(struct user *from, const char *to, const char *message) { putsock(":%s %s %s :%s", from->nick, CMD_PRIVMSG, to, message); *************** *** 334,338 **** void ! irc_quit(struct userNode *user, const char *message) { putsock(":%s %s :%s", user->nick, CMD_QUIT, message); --- 331,335 ---- void ! irc_quit(struct user *user, const char *message) { putsock(":%s %s :%s", user->nick, CMD_QUIT, message); *************** *** 350,354 **** void ! irc_kill(struct userNode *from, struct userNode *target, const char *message) { if (from) { --- 347,351 ---- void ! irc_kill(struct user *from, struct user *target, const char *message) { if (from) { *************** *** 360,364 **** void ! irc_mode(struct userNode *from, struct chanNode *target, const char *modes) { putsock(":%s %s %s %s", from->nick, CMD_MODE, target->name, modes); --- 357,361 ---- void ! irc_mode(struct user *from, struct channel *target, const char *modes) { putsock(":%s %s %s %s", from->nick, CMD_MODE, target->name, modes); *************** *** 366,370 **** void ! irc_invite(struct userNode *from, struct userNode *who, struct chanNode *to) { putsock(":%s %s %s %s", from->nick, CMD_INVITE, who->nick, to->name); --- 363,367 ---- void ! irc_invite(struct user *from, struct user *who, struct channel *to) { putsock(":%s %s %s %s", from->nick, CMD_INVITE, who->nick, to->name); *************** *** 372,376 **** void ! irc_join(struct userNode *who, struct chanNode *what) { if (what->members.used == 1) { --- 369,373 ---- void ! irc_join(struct user *who, struct channel *what) { if (what->members.used == 1) { *************** *** 382,386 **** void ! irc_kick(struct userNode *actor, struct userNode *who, struct chanNode *from, const char *msg) { putsock(":%s %s %s %s :%s", actor->nick, CMD_KICK, from->name, who->nick, msg); --- 379,383 ---- void ! irc_kick(struct user *actor, struct user *who, struct channel *from, const char *msg) { putsock(":%s %s %s %s :%s", actor->nick, CMD_KICK, from->name, who->nick, msg); *************** *** 394,398 **** void ! irc_stats(struct userNode *from, struct server *target, char type) { putsock(":%s STATS %c :%s", from->nick, type, target->name); --- 391,395 ---- void ! irc_stats(struct user *from, struct server *target, char type) { putsock(":%s STATS %c :%s", from->nick, type, target->name); *************** *** 400,404 **** void ! irc_part(struct userNode *who, struct chanNode *what, const char *reason) { putsock(":%s %s %s :%s", who->nick, CMD_PART, what->name, reason); --- 397,401 ---- void ! irc_part(struct user *who, struct channel *what, const char *reason) { putsock(":%s %s %s :%s", who->nick, CMD_PART, what->name, reason); *************** *** 406,410 **** void ! irc_topic(struct userNode *who, struct chanNode *what, const char *topic) { putsock(":%s %s %s :%s", who->nick, CMD_TOPIC, what->name, topic); --- 403,407 ---- void ! irc_topic(struct user *who, struct channel *what, const char *topic) { putsock(":%s %s %s :%s", who->nick, CMD_TOPIC, what->name, topic); *************** *** 412,416 **** void ! chan_apply_bans(struct userNode *who, struct chanNode *channel, char *what, unsigned int count, char **list) { char buffer[400]; --- 409,413 ---- void ! chan_apply_bans(struct user *who, struct channel *channel, char *what, unsigned int count, char **list) { char buffer[400]; *************** *** 448,452 **** void ! chan_apply_mode(struct userNode *who, struct chanNode *channel, char *what, unsigned int count, struct userNode **list) { char buffer[400]; --- 445,449 ---- void ! chan_apply_mode(struct user *who, struct channel *channel, char *what, unsigned int count, struct user **list) { char buffer[400]; *************** *** 484,488 **** void ! irc_change_channel_modes(struct chanNode *channel, struct userNode *source, const unsigned char *modes, va_list args) { char modebuf[200]; --- 481,485 ---- void ! irc_change_channel_modes(struct channel *channel, struct user *source, const unsigned char *modes, va_list args) { char modebuf[200]; *************** *** 497,501 **** while (*modes) { switch (*modes++) { ! struct userNode *user; int number; case '+': --- 494,498 ---- while (*modes) { switch (*modes++) { ! struct user *user; int number; case '+': *************** *** 508,516 **** break; case 'o': ! user = va_arg(args, struct userNode *); arg_text = user->nick; goto add_arg; case 'v': ! user = va_arg(args, struct userNode *); arg_text = user->nick; goto add_arg; --- 505,513 ---- break; case 'o': ! user = va_arg(args, struct user *); arg_text = user->nick; goto add_arg; case 'v': ! user = va_arg(args, struct user *); arg_text = user->nick; goto add_arg; *************** *** 584,591 **** bahamut_new_server(struct server *server) { ! struct serverNode_proto *pserver; ! pserver = calloc(1, sizeof(*pserver)); ! pserver->clients = dict_new(); ! put_note(&server->notes, sproto_note_id, pserver); } --- 581,586 ---- bahamut_new_server(struct server *server) { ! server->proto = calloc(1, sizeof(*server->proto)); ! server->proto->clients = dict_new(); } *************** *** 593,597 **** bahamut_del_server_client(const char *key, void *data, void *extra) { ! struct userNode *user = data; (void)key; (void)extra; DelUser(user, NULL, 0, "Server delinked"); --- 588,592 ---- bahamut_del_server_client(const char *key, void *data, void *extra) { ! struct user *user = data; (void)key; (void)extra; DelUser(user, NULL, 0, "Server delinked"); *************** *** 607,611 **** static int ! bahamut_new_user(struct userNode *user) { dict_insert(SPROTO(user->uplink)->clients, user->nick, user); --- 602,606 ---- static int ! bahamut_new_user(struct user *user) { dict_insert(SPROTO(user->uplink)->clients, user->nick, user); *************** *** 617,621 **** static void ! bahamut_del_user(struct userNode *user) { dict_remove(SPROTO(user->uplink)->clients, user->nick); --- 612,616 ---- static void ! bahamut_del_user(struct user *user) { dict_remove(SPROTO(user->uplink)->clients, user->nick); *************** *** 625,629 **** burst_send_nick(const char *key, void *data, void *extra) { ! struct userNode *user = data; (void)key; (void)extra; irc_user(user); --- 620,624 ---- burst_send_nick(const char *key, void *data, void *extra) { ! struct user *user = data; (void)key; (void)extra; irc_user(user); *************** *** 634,639 **** burst_send_channel(const char *key, void *data, void *extra) { ! struct chanNode *channel = data; ! struct modeNode *mn; unsigned int pos, base_len, nn; char burst_line[510]; --- 629,634 ---- burst_send_channel(const char *key, void *data, void *extra) { ! struct channel *channel = data; ! struct mode *mn; unsigned int pos, base_len, nn; char burst_line[510]; *************** *** 682,686 **** struct privmsg_desc { ! struct userNode *user; unsigned char *text; unsigned int is_notice; --- 677,681 ---- struct privmsg_desc { ! struct user *user; unsigned char *text; unsigned int is_notice; *************** *** 689,693 **** static struct chanmsg_desc { chanmsg_func_t func; ! struct userNode *service; } chanmsg_funcs[256]; --- 684,688 ---- static struct chanmsg_desc { chanmsg_func_t func; ! struct user *service; } chanmsg_funcs[256]; *************** *** 698,702 **** static void ! privmsg_chan_helper(struct chanNode *cn, void *data) { struct privmsg_desc *pd = data; --- 693,697 ---- static void ! privmsg_chan_helper(struct channel *cn, void *data) { struct privmsg_desc *pd = data; *************** *** 712,719 **** static void ! privmsg_user_helper(struct userNode *un, void *data) { struct privmsg_desc *pd = data; ! struct userNode_proto *uproto = UPROTO(un); if (!uproto) return; if (!pd->is_notice) { --- 707,714 ---- static void ! privmsg_user_helper(struct user *un, void *data) { struct privmsg_desc *pd = data; ! struct user_proto *uproto = UPROTO(un); if (!uproto) return; if (!pd->is_notice) { *************** *** 747,751 **** static void ! call_mode_change_funcs(struct chanNode *channel, struct userNode *user, int change_type, void *change) { unsigned int n; --- 742,746 ---- static void ! call_mode_change_funcs(struct channel *channel, struct user *user, int change_type, void *change) { unsigned int n; *************** *** 852,856 **** { struct server *uplink; ! struct userNode *user; if (argc == 3) { /* Client nick change */ --- 847,851 ---- { struct server *uplink; ! struct user *user; if (argc == 3) { /* Client nick change */ *************** *** 882,888 **** const char *key = NULL, *modes, *name; unsigned char *names; ! struct chanNode *channel; ! struct userNode *user; ! struct modeNode *mn; if (argc < 5) return 0; --- 877,883 ---- const char *key = NULL, *modes, *name; unsigned char *names; ! struct channel *channel; ! struct user *user; ! struct mode *mn; if (argc < 5) return 0; *************** *** 948,953 **** static CMD_FUNC(cmd_topic) { ! static struct chanNode *cn; ! static struct userNode *un; if (argc < 4) return 0; --- 943,948 ---- static CMD_FUNC(cmd_topic) { ! static struct channel *cn; ! static struct user *un; if (argc < 4) return 0; *************** *** 968,972 **** if (argc < 3) return 0; if (!IsChannelName(argv[1])) { ! struct userNode *un = GetUser(argv[1]); if (!un) { log(MAIN_LOG, LOG_ERROR, "Unable to find user %s whose mode is changing\n", argv[1]); --- 963,967 ---- if (argc < 3) return 0; if (!IsChannelName(argv[1])) { ! struct user *un = GetUser(argv[1]); if (!un) { log(MAIN_LOG, LOG_ERROR, "Unable to find user %s whose mode is changing\n", argv[1]); *************** *** 976,985 **** return 1; } else { ! struct chanNode *cn = GetChannel(argv[1]); ! struct userNode *un = GetUser(argv[-1]); int next_arg=3, res=1, add=1, bit; const char *mchange; ! struct modeNode *mn; ! chan_mode_t mode; char orig_key[KEYLEN+1]; unsigned int orig_limit; --- 971,980 ---- return 1; } else { ! struct channel *cn = GetChannel(argv[1]); ! struct user *un = GetUser(argv[-1]); int next_arg=3, res=1, add=1, bit; const char *mchange; ! struct mode *mn; ! channel_mode_t mode; char orig_key[KEYLEN+1]; unsigned int orig_limit; *************** *** 1022,1026 **** case 'o': case 'v': { ! struct userNode *vic; vic = GetUser(argv[next_arg++]); if (!vic) { --- 1017,1021 ---- case 'o': case 'v': { ! struct user *vic; vic = GetUser(argv[next_arg++]); if (!vic) { *************** *** 1076,1080 **** static CMD_FUNC(cmd_quit) { ! struct userNode *user; if (argc < 2) return 0; user = GetUser(argv[-1]); --- 1071,1075 ---- static CMD_FUNC(cmd_quit) { ! struct user *user; if (argc < 2) return 0; user = GetUser(argv[-1]); *************** *** 1090,1094 **** if (argc != 3) return 0; pd.user = GetUser(argv[-1]); ! /* The gag flag is never applied to userNodes it does not belong on, so no worries. */ if (IsGagged(pd.user)) return 1; --- 1085,1089 ---- if (argc != 3) return 0; pd.user = GetUser(argv[-1]); ! /* The gag flag is never applied to users it does not belong on, so no worries. */ if (IsGagged(pd.user)) return 1; *************** *** 1130,1134 **** static CMD_FUNC(cmd_stats) { ! struct userNode *un; if (argc < 4) return 0; --- 1125,1129 ---- static CMD_FUNC(cmd_stats) { ! struct user *un; if (argc < 4) return 0; *************** *** 1140,1145 **** static CMD_FUNC(cmd_whois) { ! struct userNode *from; ! struct userNode *who; if (argc < 4) return 0; --- 1135,1140 ---- static CMD_FUNC(cmd_whois) { ! struct user *from; ! struct user *who; if (argc < 4) return 0; *************** *** 1157,1161 **** struct create_desc { ! struct userNode *user; time_t when; }; --- 1152,1156 ---- struct create_desc { ! struct user *user; time_t when; }; *************** *** 1165,1169 **** { struct create_desc *cd = data; ! struct chanNode *cn; /* We can't assume the channel create was allowed because of the --- 1160,1164 ---- { struct create_desc *cd = data; ! struct channel *cn; /* We can't assume the channel create was allowed because of the *************** *** 1177,1181 **** */ if (cn->members.used == 1) { ! struct modeNode *mn = GetUserMode(cn, cd->user); if (mn) mn->modes = MODE_CHANOP; } --- 1172,1176 ---- */ if (cn->members.used == 1) { ! struct mode *mn = GetUserMode(cn, cd->user); if (mn) mn->modes = MODE_CHANOP; } *************** *** 1193,1200 **** } ! static struct userNode * bahamut_add_user(struct server *uplink, const char *nick, const char *ident, const char *hostname, const char *modes, const char *userinfo, time_t timestamp) { ! struct userNode *uNode; uNode = AddUser(uplink, nick, ident, hostname, modes, userinfo, timestamp); --- 1188,1195 ---- } ! static struct user * bahamut_add_user(struct server *uplink, const char *nick, const char *ident, const char *hostname, const char *modes, const char *userinfo, time_t timestamp) { ! struct user *uNode; uNode = AddUser(uplink, nick, ident, hostname, modes, userinfo, timestamp); *************** *** 1215,1219 **** } ! struct userNode * add_local_user(const char *nick, const char *ident, const char *hostname, const char *modes, const char *userinfo, time_t timestamp) { --- 1210,1214 ---- } ! struct user * add_local_user(const char *nick, const char *ident, const char *hostname, const char *modes, const char *userinfo, time_t timestamp) { *************** *** 1222,1226 **** static CMD_FUNC(cmd_num_topic) { ! static struct chanNode *cn; if (argc < 3) return 0; --- 1217,1221 ---- static CMD_FUNC(cmd_num_topic) { ! static struct channel *cn; if (argc < 3) return 0; *************** *** 1253,1257 **** static CMD_FUNC(cmd_kill) { ! struct userNode *user; if (argc < 3) return 0; if (!(user = GetUser(argv[2]))) { --- 1248,1252 ---- static CMD_FUNC(cmd_kill) { ! struct user *user; if (argc < 3) return 0; if (!(user = GetUser(argv[2]))) { *************** *** 1271,1275 **** static void ! join_helper(struct chanNode *cn, void *data) { AddChannelUser(data, cn, 0); --- 1266,1270 ---- static void ! join_helper(struct channel *cn, void *data) { AddChannelUser(data, cn, 0); *************** *** 1279,1288 **** join_helper_old_server(char *name, void *data) { ! struct userNode *un = data; ! struct chanNode *cn; cn = AddChannel(name, now, "", "", 0); AddChannelUser(un, cn, 0); if (cn->members.used == 1) { ! struct modeNode *mn = GetUserMode(cn, un); if (mn) mn->modes = MODE_CHANOP; } --- 1274,1283 ---- join_helper_old_server(char *name, void *data) { ! struct user *un = data; ! struct channel *cn; cn = AddChannel(name, now, "", "", 0); AddChannelUser(un, cn, 0); if (cn->members.used == 1) { ! struct mode *mn = GetUserMode(cn, un); if (mn) mn->modes = MODE_CHANOP; } *************** *** 1291,1295 **** static CMD_FUNC(cmd_join) { ! struct userNode *user; if (argc < 3) return 0; user = GetUser(argv[0]); --- 1286,1290 ---- static CMD_FUNC(cmd_join) { ! struct user *user; if (argc < 3) return 0; user = GetUser(argv[0]); *************** *** 1306,1310 **** static void ! part_helper(struct chanNode *cn, void *data) { DelChannelUser(data, cn, 0, 0); --- 1301,1305 ---- static void ! part_helper(struct channel *cn, void *data) { DelChannelUser(data, cn, 0, 0); *************** *** 1313,1317 **** static CMD_FUNC(cmd_part) { ! struct userNode *user; if (argc < 3) return 0; user = GetUser(argv[0]); --- 1308,1312 ---- static CMD_FUNC(cmd_part) { ! struct user *user; if (argc < 3) return 0; user = GetUser(argv[0]); *************** *** 1322,1328 **** static CMD_FUNC(cmd_kick) { ! struct userNode *victim; ! struct userNode *kicker; ! struct chanNode *channel; if (argc < 4) return 0; --- 1317,1323 ---- static CMD_FUNC(cmd_kick) { ! struct user *victim; ! struct user *kicker; ! struct channel *channel; if (argc < 4) return 0; *************** *** 1350,1354 **** static CMD_FUNC(cmd_away) { ! struct userNode *uNode = GetUser(argv[0]); if (argc < 3) { --- 1345,1349 ---- static CMD_FUNC(cmd_away) { ! struct user *uNode = GetUser(argv[0]); if (argc < 3) { *************** *** 1393,1398 **** /* Register things with module registry */ proto_module = module_register("proto", MAKE_VERSION(PROTO_INTERFACE_MAJOR, PROTO_INTERFACE_MINOR, 0), N... [truncated message content] |