diff options
| author | Adam- <Adam-@5417fbe8-f217-4b02-8779-1006273d7864> | 2009-11-08 20:06:21 +0000 |
|---|---|---|
| committer | Adam- <Adam-@5417fbe8-f217-4b02-8779-1006273d7864> | 2009-11-08 20:06:21 +0000 |
| commit | 458be36a321615c0f3004a6abde7e14d40f5da32 (patch) | |
| tree | 711be83fc6f2d49f9d31015db51730cdac57f687 /src/nickserv.c | |
| parent | 38ad96c57c520dd84c8de21766f5de082a844a99 (diff) | |
Rewrote all of the old C style flag systems into a new Flag class which everything inherits from. This breaks reading and writing flags to the old databases (and probably many other things aswell) - Don't use it
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@2636 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src/nickserv.c')
| -rw-r--r-- | src/nickserv.c | 64 |
1 files changed, 34 insertions, 30 deletions
diff --git a/src/nickserv.c b/src/nickserv.c index 39fe54706..ed3541227 100644 --- a/src/nickserv.c +++ b/src/nickserv.c @@ -130,7 +130,7 @@ class NickServRelease : public Timer else ircdproto->SendQuit(na->nick, NULL); } - na->status &= ~NS_KILL_HELD; + na->UnsetFlag(NS_KILL_HELD); } static void ClearTimers(NickAlias *na, bool dorelease = false) @@ -381,9 +381,10 @@ void load_ns_dbase() SAFE(read_int32(&nc->icq, f)); SAFE(read_string(&nc->url, f)); - SAFE(read_int32(&nc->flags, f)); + //SAFE(read_int32(&nc->flags, f)); + SAFE(read_int32(&tmp32, f)); if (!NSAllowKillImmed) - nc->flags &= ~NI_KILL_IMMED; + nc->UnsetFlag(NI_KILL_IMMED); SAFE(read_int16(&nc->language, f)); uint16 accesscount; @@ -413,7 +414,8 @@ void load_ns_dbase() nc->memos.memos[j] = new Memo; Memo *memo = nc->memos.memos[j]; SAFE(read_int32(&memo->number, f)); - SAFE(read_int16(&memo->flags, f)); + //SAFE(read_int16(&memo->flags, f)); + SAFE(read_int16(&tmp16, f)); SAFE(read_int32(&tmp32, f)); memo->time = tmp32; SAFE(read_buffer(memo->sender, f)); @@ -448,8 +450,9 @@ void load_ns_dbase() na->time_registered = tmp32; SAFE(read_int32(&tmp32, f)); na->last_seen = tmp32; - SAFE(read_int16(&na->status, f)); - na->status &= ~NS_TEMPORARY; + //SAFE(read_int16(&na->status, f)); + SAFE(read_int16(&tmp16, f)); + //na->UnsetFlag(NS_TEMPORARY); SAFE(read_string(&s, f)); na->nc = findcore(s); @@ -457,7 +460,7 @@ void load_ns_dbase() slist_add(&na->nc->aliases, na); - if (!(na->status & NS_FORBIDDEN)) + if (!na->HasFlag(NS_FORBIDDEN)) { if (!na->last_usermask) na->last_usermask = sstrdup(""); @@ -540,7 +543,8 @@ void save_ns_dbase() SAFE(write_int32(nc->icq, f)); SAFE(write_string(nc->url, f)); - SAFE(write_int32(nc->flags, f)); + //SAFE(write_int32(nc->flags, f)); + SAFE(write_int32(0, f)); SAFE(write_int16(nc->language, f)); SAFE(write_int16(nc->access.size(), f)); @@ -556,7 +560,8 @@ void save_ns_dbase() { Memo *memo = nc->memos.memos[j]; SAFE(write_int32(memo->number, f)); - SAFE(write_int16(memo->flags, f)); + //SAFE(write_int16(memo->flags, f)); + SAFE(write_int16(0, f)); SAFE(write_int32(memo->time, f)); SAFE(write_buffer(memo->sender, f)); SAFE(write_string(memo->text, f)); @@ -586,7 +591,8 @@ void save_ns_dbase() SAFE(write_int32(na->time_registered, f)); SAFE(write_int32(na->last_seen, f)); - SAFE(write_int16(na->status, f)); + //SAFE(write_int16(na->status, f)); + SAFE(write_int16(0, f)); SAFE(write_string(na->nc->display, f)); @@ -651,21 +657,21 @@ int validate_user(User * u) if (!(na = findnick(u->nick))) return 0; - if (na->status & NS_FORBIDDEN) + if (na->HasFlag(NS_FORBIDDEN)) { notice_lang(s_NickServ, u, NICK_MAY_NOT_BE_USED); collide(na, 0); return 0; } - if (na->nc->flags & NI_SUSPENDED) + if (na->nc->HasFlag(NI_SUSPENDED)) { notice_lang(s_NickServ, u, NICK_X_SUSPENDED, u->nick); collide(na, 0); return 0; } - if (!(na->nc->flags & NI_SECURE) && u->IsRecognized()) + if (!na->nc->HasFlag(NI_SECURE) && u->IsRecognized()) { na->last_seen = time(NULL); if (na->last_usermask) @@ -678,22 +684,22 @@ int validate_user(User * u) return 1; } - if (u->IsRecognized() || !(na->nc->flags & NI_KILL_IMMED)) + if (u->IsRecognized() || !na->nc->HasFlag(NI_KILL_IMMED)) { - if (na->nc->flags & NI_SECURE) + if (na->nc->HasFlag(NI_SECURE)) notice_lang(s_NickServ, u, NICK_IS_SECURE, s_NickServ); else notice_lang(s_NickServ, u, NICK_IS_REGISTERED, s_NickServ); } - if ((na->nc->flags & NI_KILLPROTECT) && !u->IsRecognized()) + if (na->nc->HasFlag(NI_KILLPROTECT) && !u->IsRecognized()) { - if (na->nc->flags & NI_KILL_IMMED) + if (na->nc->HasFlag(NI_KILL_IMMED)) { notice_lang(s_NickServ, u, FORCENICKCHANGE_NOW); collide(na, 0); } - else if (na->nc->flags & NI_KILL_QUICK) + else if (na->nc->HasFlag(NI_KILL_QUICK)) { notice_lang(s_NickServ, u, FORCENICKCHANGE_IN_20_SECONDS); t = new NickServCollide(na, 20); @@ -721,7 +727,7 @@ void cancel_user(User * u) if (na) { - if (na->status & NS_GUESTED) + if (na->HasFlag(NS_GUESTED)) { if (ircd->svshold) { @@ -738,14 +744,12 @@ void cancel_user(User * u) { ircdproto->SendSVSKill(s_NickServ, u->nick, "Please do not use a registered nickname without identifying"); } - na->status &= ~NS_TEMPORARY; - na->status |= NS_KILL_HELD; - } - else - { - na->status &= ~NS_TEMPORARY; + na->SetFlag(NS_KILL_HELD); } + na->UnsetFlag(NS_KILL_HELD); + na->UnsetFlag(NS_GUESTED); + NickServCollide::ClearTimers(na); } } @@ -784,7 +788,7 @@ void expire_nicks() next = na->next; User *u = finduser(na->nick); - if (u && ((na->nc->flags & NI_SECURE) ? nick_identified(u) : u->IsRecognized())) + if (u && (na->nc->HasFlag(NI_SECURE) ? nick_identified(u) : u->IsRecognized())) { if (debug >= 2) alog("debug: NickServ: updating last seen time for %s", @@ -794,8 +798,8 @@ void expire_nicks() } if (NSExpire && now - na->last_seen >= NSExpire - && !(na->status & (NS_FORBIDDEN | NS_NO_EXPIRE)) - && !(na->nc->flags & (NI_SUSPENDED))) + && !na->HasFlag(NS_FORBIDDEN) && !na->HasFlag(NS_NO_EXPIRE) + && !na->nc->HasFlag(NI_SUSPENDED)) { EventReturn MOD_RESULT; FOREACH_RESULT(I_OnPreNickExpire, OnPreNickExpire(na)); @@ -1320,7 +1324,7 @@ void collide(NickAlias * na, int from_timeout) while (finduser(guestnick)); notice_lang(s_NickServ, finduser(na->nick), FORCENICKCHANGE_CHANGING, guestnick); ircdproto->SendForceNickChange(na->nick, guestnick, time(NULL)); - na->status |= NS_GUESTED; + na->SetFlag(NS_GUESTED); } else { @@ -1345,7 +1349,7 @@ void release(NickAlias * na, int from_timeout) { ircdproto->SendQuit(na->nick, NULL); } - na->status &= ~NS_KILL_HELD; + na->UnsetFlag(NS_KILL_HELD); } /*************************************************************************/ |
