hopefully fix usermodes
This commit is contained in:
parent
97ad490c06
commit
b6aae5e158
1 changed files with 7 additions and 7 deletions
14
src/s_user.c
14
src/s_user.c
|
@ -19,7 +19,7 @@
|
|||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||
* USA
|
||||
*
|
||||
* $Id: s_user.c,v 1.33 2002/09/26 12:44:33 fishwaldo Exp $
|
||||
* $Id: s_user.c,v 1.34 2002/10/15 03:18:15 fishwaldo Exp $
|
||||
*/
|
||||
|
||||
#include "stdinc.h"
|
||||
|
@ -927,7 +927,7 @@ do_remote_user(char* nick, struct Client* client_p, struct Client* source_p,
|
|||
int
|
||||
user_mode(struct Client *client_p, struct Client *source_p, int parc, char *parv[])
|
||||
{
|
||||
int flag;
|
||||
int flag = 0;
|
||||
int i;
|
||||
char **p, *m;
|
||||
struct Client *target_p;
|
||||
|
@ -958,7 +958,7 @@ user_mode(struct Client *client_p, struct Client *source_p, int parc, char *parv
|
|||
*/
|
||||
|
||||
|
||||
if (IsServer(source_p) && (target_p->servptr != client_p) && !IsUlined(source_p))
|
||||
if (IsServer(source_p) && (target_p->servptr != source_p) && !IsUlined(source_p))
|
||||
{
|
||||
sendto_realops_flags(FLAGS_ALL|FLAGS_REMOTE, L_ADMIN, "*** Mode for User %s from %s",
|
||||
parv[1], source_p->name);
|
||||
|
@ -1090,20 +1090,20 @@ user_mode(struct Client *client_p, struct Client *source_p, int parc, char *parv
|
|||
if(badflag)
|
||||
sendto_one(target_p, form_str(ERR_UMODEUNKNOWNFLAG), me.name, parv[0]);
|
||||
|
||||
if ((target_p->umodes & FLAGS_NCHANGE) && !IsOperN(target_p))
|
||||
if ((flag & FLAGS_NCHANGE) && !IsOperN(target_p))
|
||||
{
|
||||
sendto_one(source_p,":%s NOTICE %s :*** You need oper and N flag for +n",
|
||||
me.name,parv[0]);
|
||||
target_p->umodes &= ~FLAGS_NCHANGE; /* only tcm's really need this */
|
||||
}
|
||||
|
||||
if (MyConnect(target_p) && (target_p->umodes & FLAGS_ADMIN) && !IsOperAdmin(target_p))
|
||||
if (MyConnect(target_p) && (flag & FLAGS_ADMIN) && !IsOperAdmin(target_p))
|
||||
{
|
||||
sendto_one(source_p,":%s NOTICE %s :*** You need oper and A flag for +a",
|
||||
me.name, parv[0]);
|
||||
target_p->umodes &= ~FLAGS_ADMIN;
|
||||
}
|
||||
if (!IsUlined(target_p->servptr) && (target_p->umodes & FLAGS_SERVICES))
|
||||
if (!IsUlined(target_p->servptr) && (flag & FLAGS_SERVICES))
|
||||
{
|
||||
sendto_one(source_p, ":%s NOTICE %s :*** Only Services can set +S",
|
||||
me.name, parv[0]);
|
||||
|
@ -1112,7 +1112,7 @@ user_mode(struct Client *client_p, struct Client *source_p, int parc, char *parv
|
|||
/* if the +r isn't from a U lined server, or from the clients server
|
||||
** then its a error
|
||||
*/
|
||||
if ((!IsUlined(source_p) && (source_p != target_p->servptr)) && (target_p->umodes & FLAGS_REGNICK))
|
||||
if ((!IsUlined(source_p) && (source_p != target_p->servptr)) && (flag & FLAGS_REGNICK))
|
||||
{
|
||||
sendto_one(source_p, ":%s NOTICE %s :*** Only Services can set +r",
|
||||
me.name, parv[0]);
|
||||
|
|
Reference in a new issue