summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/config.c2
-rw-r--r--src/nickserv.c19
2 files changed, 16 insertions, 5 deletions
diff --git a/src/config.c b/src/config.c
index 35ab3d981..51cce1a26 100644
--- a/src/config.c
+++ b/src/config.c
@@ -180,6 +180,7 @@ int NSEmailReg;
int NSModeOnID;
int NSRestrictGetPass;
int NSNickTracking;
+int NSAddAccessOnReg;
int CSDefNone;
int CSDefKeepTopic;
@@ -559,6 +560,7 @@ Directive directives[] = {
{{PARAM_SET, PARAM_RELOAD, &NSStrictPrivileges}}},
{"NSRestrictGetPass", {{PARAM_SET, PARAM_RELOAD, &NSRestrictGetPass}}},
{"NSNickTracking", {{PARAM_SET, PARAM_RELOAD, &NSNickTracking}}},
+ {"NSAddAccessOnReg", {{PARAM_SET, PARAM_RELOAD, &NSAddAccessOnReg}}},
{"OperServDB", {{PARAM_STRING, PARAM_RELOAD, &OperDBName}}},
{"OperServName", {{PARAM_STRING, 0, &s_OperServ},
{PARAM_STRING, 0, &desc_OperServ}}},
diff --git a/src/nickserv.c b/src/nickserv.c
index 7fcea6dab..a22e33f8e 100644
--- a/src/nickserv.c
+++ b/src/nickserv.c
@@ -2277,9 +2277,14 @@ static int do_confirm(User * u)
na->last_realname = sstrdup(u->realname);
}
na->time_registered = na->last_seen = time(NULL);
- na->nc->accesscount = 1;
- na->nc->access = scalloc(sizeof(char *), 1);
- na->nc->access[0] = create_mask(u);
+ if (NSAddAccessOnReg) {
+ na->nc->accesscount = 1;
+ na->nc->access = scalloc(sizeof(char *), 1);
+ na->nc->access[0] = create_mask(u);
+ } else {
+ na->nc->accesscount = 0;
+ na->nc->access = NULL;
+ }
na->nc->language = NSDefLanguage;
if (email)
na->nc->email = sstrdup(email);
@@ -2289,8 +2294,12 @@ static int do_confirm(User * u)
alog("%s: '%s' registered by %s@%s (e-mail: %s)", s_NickServ,
u->nick, u->username, common_get_vhost(u),
(email ? email : "none"));
- notice_lang(s_NickServ, u, NICK_REGISTERED, u->nick,
- na->nc->access[0]);
+ if (NSAddAccessOnReg)
+ notice_lang(s_NickServ, u, NICK_REGISTERED, u->nick,
+ na->nc->access[0]);
+ else
+ notice_lang(s_NickServ, u, NICK_REGISTERED_NO_MASK,
+ u->nick);
#ifndef USE_ENCRYPTION
notice_lang(s_NickServ, u, NICK_PASSWORD_IS, na->nc->pass);
#endif