- return Version(1,2,0,0,VF_VENDOR,API_VERSION);
- }
-
- virtual int OnUserPreJoin(User *user, Channel *c, const char *cname, std::string &privs, const std::string &key)
- {
- if (!IS_LOCAL(user))
- return 0;
-
- if (!c)
- return 0;
+ if ((mask.length() > 2) && (mask[1] == ':'))
+ {
+ if (mask[0] == 'r')
+ {
+ if (InspIRCd::Match(user->GetRealName(), mask.substr(2)))
+ return MOD_RES_DENY;
+ }
+ else if (mask[0] == 'a')
+ {
+ // Check that the user actually specified a real name.
+ const size_t divider = mask.find('+', 1);
+ if (divider == std::string::npos)
+ return MOD_RES_PASSTHRU;