X-Git-Url: https://jfr.im/git/irc/evilnet/x3.git/blobdiff_plain/ec0120d1f04430a824d581290932ade7a750be43..639bdb1d287235b147d36acb79a0b608e5fca0af:/src/proto-p10.c?ds=sidebyside diff --git a/src/proto-p10.c b/src/proto-p10.c index 82bd7cf..baba499 100644 --- a/src/proto-p10.c +++ b/src/proto-p10.c @@ -714,6 +714,16 @@ irc_mode(struct userNode *from, struct chanNode *target, const char *modes) target->name, modes, target->timestamp); } +/* Added to allow services to mode users + 2005 - 8 - 10 by Life4Christ +*/ +void +irc_umode(struct userNode *target, const char *modes) +{ + putsock("%s " P10_MODE " %s %s ",self->numeric,target->nick, modes); +} + + void irc_invite(struct userNode *from, struct userNode *who, struct chanNode *to) { @@ -2150,7 +2160,6 @@ void mod_usermode(struct userNode *user, const char *mode_change) { case '+': add = 1; break; case '-': add = 0; break; case 'o': - do_user_mode(FLAGS_OPER); if (add) { if(!IsOper(user)) { /* Dont re-oper an oper */ userList_append(&curr_opers, user); @@ -2159,6 +2168,7 @@ void mod_usermode(struct userNode *user, const char *mode_change) { } else { userList_remove(&curr_opers, user); } + do_user_mode(FLAGS_OPER); break; case 'O': do_user_mode(FLAGS_LOCOP); break; case 'i': do_user_mode(FLAGS_INVISIBLE);