00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #include "stdinc.h"
00026 #include "handlers.h"
00027 #include "client.h"
00028 #include "irc_string.h"
00029 #include "ircd.h"
00030 #include "numeric.h"
00031 #include "s_user.h"
00032 #include "send.h"
00033 #include "s_conf.h"
00034 #include "msg.h"
00035 #include "parse.h"
00036 #include "modules.h"
00037
00038
00039 static void mr_user(struct Client*, struct Client*, int, char**);
00040
00041 struct Message user_msgtab = {
00042 "USER", 0, 0, 5, 0, MFLG_SLOW, 0L,
00043 {mr_user, m_registered, m_ignore, m_ignore, m_registered, m_ignore}
00044 };
00045
00046 #ifndef STATIC_MODULES
00047 void
00048 _modinit(void)
00049 {
00050 mod_add_cmd(&user_msgtab);
00051 }
00052
00053 void
00054 _moddeinit(void)
00055 {
00056 mod_del_cmd(&user_msgtab);
00057 }
00058
00059 const char *_version = "$Revision: 33 $";
00060 #endif
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070 static void
00071 mr_user(struct Client *client_p, struct Client *source_p,
00072 int parc, char *parv[])
00073 {
00074 char *p;
00075
00076 if ((p = strchr(parv[1],'@')) != NULL)
00077 *p = '\0';
00078
00079 if (*parv[4] == '\0')
00080 {
00081 sendto_one(source_p, form_str(ERR_NEEDMOREPARAMS),
00082 me.name, EmptyString(parv[0]) ? "*" : parv[0], "USER");
00083 return;
00084 }
00085
00086 do_local_user(parv[0], client_p, source_p,
00087 parv[1],
00088 parv[2],
00089 parv[3],
00090 parv[4] );
00091 }