X-Git-Url: https://jfr.im/git/solanum.git/blobdiff_plain/105a4985b402b3ab294e3bec1fa75bac75430482..ea41b24fd4807e3565bf5f8f293e2efc4c20b62d:/modules/m_user.c diff --git a/modules/m_user.c b/modules/m_user.c index f3905789..fc657c9b 100644 --- a/modules/m_user.c +++ b/modules/m_user.c @@ -33,10 +33,12 @@ #include "msg.h" #include "parse.h" #include "modules.h" -#include "blacklist.h" #include "s_assert.h" -static int mr_user(struct MsgBuf *, struct Client *, struct Client *, int, const char **); +static const char user_desc[] = + "Provides the USER command to register a new connection"; + +static void mr_user(struct MsgBuf *, struct Client *, struct Client *, int, const char **); struct Message user_msgtab = { "USER", 0, 0, 0, 0, @@ -44,10 +46,10 @@ struct Message user_msgtab = { }; mapi_clist_av1 user_clist[] = { &user_msgtab, NULL }; -DECLARE_MODULE_AV2(user, NULL, NULL, user_clist, NULL, NULL, NULL, NULL, NULL); +DECLARE_MODULE_AV2(user, NULL, NULL, user_clist, NULL, NULL, NULL, NULL, user_desc); -static int do_local_user(struct Client *client_p, struct Client *source_p, - const char *username, const char *realname); +static void do_local_user(struct Client *client_p, struct Client *source_p, + const char *username, const char *realname); /* mr_user() * parv[1] = username (login name, account) @@ -55,20 +57,20 @@ static int do_local_user(struct Client *client_p, struct Client *source_p, * parv[3] = server host name (ignored) * parv[4] = users gecos */ -static int +static void mr_user(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_p, int parc, const char *parv[]) { static char buf[BUFSIZE]; char *p; - if (strlen(client_p->id) == 3) + if (strlen(client_p->id) == 3 || (source_p->preClient && !EmptyString(source_p->preClient->id))) { exit_client(client_p, client_p, client_p, "Mixing client and server protocol"); - return 0; + return; } if(source_p->flags & FLAGS_SENTUSER) - return 0; + return; if((p = strchr(parv[1], '@'))) *p = '\0'; @@ -78,10 +80,9 @@ mr_user(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *source_ source_p->localClient->fullcaps = rb_strdup(buf); do_local_user(client_p, source_p, parv[1], parv[4]); - return 0; } -static int +static void do_local_user(struct Client *client_p, struct Client *source_p, const char *username, const char *realname) { @@ -90,7 +91,6 @@ do_local_user(struct Client *client_p, struct Client *source_p, make_user(source_p); - lookup_blacklists(source_p); source_p->flags |= FLAGS_SENTUSER; rb_strlcpy(source_p->info, realname, sizeof(source_p->info)); @@ -101,8 +101,6 @@ do_local_user(struct Client *client_p, struct Client *source_p, if(source_p->name[0]) { /* NICK already received, now I have USER... */ - return register_local_user(client_p, source_p); + register_local_user(client_p, source_p); } - - return 0; }