instead of setting the full ident@host as a fakehost (real@fake@fake).
if ((argc > 1) && oper_has_access(user, nickserv, nickserv_conf.set_fakehost_level, 0)) {
safestrncpy(mask, argv[1], sizeof(mask));
if ((argc > 1) && oper_has_access(user, nickserv, nickserv_conf.set_fakehost_level, 0)) {
safestrncpy(mask, argv[1], sizeof(mask));
- if ((host = strrchr(mask, '@')) && host != mask &&
- oper_has_access(user, nickserv, nickserv_conf.set_fakeident_level, 0)) {
+ if ((host = strrchr(mask, '@')) && host != mask) {
+ if(!oper_has_access(user, nickserv, nickserv_conf.set_fakeident_level, 0))
+ goto no_access;
ident = mask;
*host++ = '\0';
} else {
ident = mask;
*host++ = '\0';
} else {
apply_fakehost(hi, NULL);
} else {
apply_fakehost(hi, NULL);
} else {
host = generate_fakehost(hi);
ident = generate_fakeident(hi, NULL);
}
host = generate_fakehost(hi);
ident = generate_fakeident(hi, NULL);
}