summaryrefslogtreecommitdiff
path: root/src/nickserv.c
diff options
context:
space:
mode:
authorAdam- <Adam-@5417fbe8-f217-4b02-8779-1006273d7864>2009-12-14 00:56:58 +0000
committerAdam- <Adam-@5417fbe8-f217-4b02-8779-1006273d7864>2009-12-14 00:56:58 +0000
commitd4af97a7a7bac9fb6dba1b223700fcdc614ae024 (patch)
treed07a57e1b5d9129b6b24c68a6f7635de41ea92dd /src/nickserv.c
parent710355fd2c40c4babfd627b6f09296c12b227e19 (diff)
Ripped out old databases
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@2699 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src/nickserv.c')
-rw-r--r--src/nickserv.c362
1 files changed, 0 insertions, 362 deletions
diff --git a/src/nickserv.c b/src/nickserv.c
index 536550045..e44441379 100644
--- a/src/nickserv.c
+++ b/src/nickserv.c
@@ -260,368 +260,6 @@ void nickserv(User * u, char *buf)
/*************************************************************************/
-/* Load/save data files. */
-
-
-#define SAFE(x) do { \
- if ((x) < 0) { \
- if (!forceload) \
- fatal("Read error on %s", Config.NickDBName); \
- failed = 1; \
- break; \
- } \
-} while (0)
-
-void load_ns_req_db()
-{
- dbFILE *f;
- int i, c, ver;
- NickRequest *nr;
- uint32 tmp32;
- int failed = 0, len;
- char *pass;
-
- if (!(f = open_db(Config.s_NickServ, Config.PreNickDBName, "r", PRE_NICK_VERSION)))
- return;
- ver = get_file_version(f);
- for (i = 0; i < 1024 && !failed; i++)
- {
- while ((c = getc_db(f)) == 1)
- {
- if (c != 1)
- fatal("Invalid format in %s", Config.PreNickDBName);
-
- char *s;
- SAFE(read_string(&s, f));
- nr = new NickRequest(s);
- delete [] s;
-
- SAFE(read_string(&nr->passcode, f));
- if (ver < 2)
- {
- SAFE(read_string(&pass, f));
- len = strlen(pass);
- enc_encrypt(pass, len, nr->password, PASSMAX);
- memset(pass, 0, len);
- delete [] pass;
- }
- else
- SAFE(read_buffer(nr->password, f));
- SAFE(read_string(&nr->email, f));
- SAFE(read_int32(&tmp32, f));
- nr->requested = tmp32;
- insert_requestnick(nr);
- }
- }
- close_db(f);
-}
-
-void load_ns_dbase()
-{
- dbFILE *f;
- int ver, c;
- unsigned i, j;
- NickAlias *na, **nalast, *naprev;
- NickCore *nc, **nclast, *ncprev;
- int failed = 0;
- uint16 tmp16;
- uint32 tmp32;
- char *s;
-
- if (!(f = open_db(Config.s_NickServ, Config.NickDBName, "r", NICK_VERSION)))
- return;
-
- ver = get_file_version(f);
-
- if (ver != 14)
- {
- close_db(f);
- fatal("DB %s is too old", Config.NickDBName);
- return;
- }
-
- /* First we load nick cores */
- for (i = 0; i < 1024 && !failed; i++)
- {
- nclast = &nclists[i];
- ncprev = NULL;
-
- while ((c = getc_db(f)) == 1)
- {
- if (c != 1)
- fatal("Invalid format in %s", Config.NickDBName);
-
- SAFE(read_string(&s, f));
- nc = new NickCore(s);
- delete [] s;
- *nclast = nc;
- nclast = &nc->next;
- nc->prev = ncprev;
- ncprev = nc;
-
- slist_init(&nc->aliases);
-
- SAFE(read_buffer(nc->pass, f));
-
- SAFE(read_string(&nc->email, f));
- SAFE(read_string(&nc->greet, f));
- SAFE(read_int32(&nc->icq, f));
- SAFE(read_string(&nc->url, f));
-
- //SAFE(read_int32(&nc->flags, f));
- SAFE(read_int32(&tmp32, f));
- if (!Config.NSAllowKillImmed)
- nc->UnsetFlag(NI_KILL_IMMED);
- SAFE(read_int16(&nc->language, f));
-
- uint16 accesscount;
- SAFE(read_int16(&accesscount, f));
- if (accesscount)
- {
- for (j = 0; j < accesscount; ++j)
- {
- char *access;
- SAFE(read_string(&access, f));
- if (access)
- {
- nc->AddAccess(access);
- delete [] access;
- }
- }
- }
-
- SAFE(read_int16(&tmp16, f));
- if (tmp16) nc->memos.memos.resize(tmp16);
- SAFE(read_int16(&tmp16, f));
- nc->memos.memomax = static_cast<int16>(tmp16);
- if (!nc->memos.memos.empty())
- {
- for (j = 0; j < nc->memos.memos.size(); j++)
- {
- 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(&tmp16, f));
- SAFE(read_int32(&tmp32, f));
- memo->time = tmp32;
- SAFE(read_buffer(memo->sender, f));
- SAFE(read_string(&memo->text, f));
- }
- }
-
- SAFE(read_int16(&nc->channelcount, f));
- SAFE(read_int16(&tmp16, f));
- } /* while (getc_db(f) != 0) */
- *nclast = NULL;
- } /* for (i) */
-
- for (i = 0; i < 1024 && !failed; i++)
- {
- nalast = &nalists[i];
- naprev = NULL;
- while ((c = getc_db(f)) == 1)
- {
- if (c != 1)
- fatal("Invalid format in %s", Config.NickDBName);
-
- SAFE(read_string(&s, f));
- na = new NickAlias(s, nclists[0]); // XXXXXXXX
- delete [] s;
-
- SAFE(read_string(&na->last_usermask, f));
- SAFE(read_string(&na->last_realname, f));
- SAFE(read_string(&na->last_quit, f));
-
- SAFE(read_int32(&tmp32, f));
- na->time_registered = tmp32;
- SAFE(read_int32(&tmp32, f));
- na->last_seen = tmp32;
- //SAFE(read_int16(&na->status, f));
- SAFE(read_int16(&tmp16, f));
- //na->UnsetFlag(NS_TEMPORARY);
-
- SAFE(read_string(&s, f));
- na->nc = findcore(s);
- delete [] s;
-
- slist_add(&na->nc->aliases, na);
-
- if (!na->HasFlag(NS_FORBIDDEN))
- {
- if (!na->last_usermask)
- na->last_usermask = sstrdup("");
- if (!na->last_realname)
- na->last_realname = sstrdup("");
- }
-
- *nalast = na;
- nalast = &na->next;
- na->prev = naprev;
- naprev = na;
-
- } /* while (getc_db(f) != 0) */
-
- *nalast = NULL;
- } /* for (i) */
-
- close_db(f);
-
- for (i = 0; i < 1024; i++)
- {
- NickAlias *next;
-
- for (na = nalists[i]; na; na = next)
- {
- next = na->next;
- /* We check for coreless nicks (although it should never happen) */
- if (!na->nc)
- {
- alog("%s: while loading database: %s has no core! We delete it.", Config.s_NickServ, na->nick);
- delete na;
- continue;
- }
-
- }
- }
-}
-
-#undef SAFE
-
-/*************************************************************************/
-
-#define SAFE(x) do { \
- if ((x) < 0) { \
- restore_db(f); \
- log_perror("Write error on %s", Config.NickDBName); \
- if (time(NULL) - lastwarn > Config.WarningTimeout) { \
- ircdproto->SendGlobops(NULL, "Write error on %s: %s", Config.NickDBName, \
- strerror(errno)); \
- lastwarn = time(NULL); \
- } \
- return; \
- } \
-} while (0)
-
-
-
-void save_ns_dbase()
-{
- dbFILE *f;
- unsigned i, j;
- NickAlias *na;
- NickCore *nc;
- static time_t lastwarn = 0;
-
- if (!(f = open_db(Config.s_NickServ, Config.NickDBName, "w", NICK_VERSION)))
- return;
-
- for (i = 0; i < 1024; i++)
- {
- for (nc = nclists[i]; nc; nc = nc->next)
- {
- SAFE(write_int8(1, f));
-
- SAFE(write_string(nc->display, f));
- SAFE(write_buffer(nc->pass, f));
-
- SAFE(write_string(nc->email, f));
- SAFE(write_string(nc->greet, f));
- SAFE(write_int32(nc->icq, f));
- SAFE(write_string(nc->url, 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));
- for (j = 0; j < nc->access.size(); ++j)
- {
- std::string access = nc->GetAccess(j);
- SAFE(write_string(access.c_str(), f));
- }
-
- SAFE(write_int16(nc->memos.memos.size(), f));
- SAFE(write_int16(nc->memos.memomax, f));
- for (j = 0; j < nc->memos.memos.size(); j++)
- {
- Memo *memo = nc->memos.memos[j];
- SAFE(write_int32(memo->number, 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));
- }
-
- SAFE(write_int16(nc->channelcount, f));
- SAFE(write_int16(nc->channelcount, f)); // write this twice to avoid having to revbump the NickServ DB from anope 1.7, hack alert XXX
-
- } /* for (nc) */
-
- SAFE(write_int8(0, f));
-
- } /* for (i) */
-
- for (i = 0; i < 1024; i++)
- {
- for (na = nalists[i]; na; na = na->next)
- {
- SAFE(write_int8(1, f));
-
- SAFE(write_string(na->nick, f));
-
- SAFE(write_string(na->last_usermask, f));
- SAFE(write_string(na->last_realname, f));
- SAFE(write_string(na->last_quit, f));
-
- SAFE(write_int32(na->time_registered, f));
- SAFE(write_int32(na->last_seen, f));
-
- //SAFE(write_int16(na->status, f));
- SAFE(write_int16(0, f));
-
- SAFE(write_string(na->nc->display, f));
-
- } /* for (na) */
- SAFE(write_int8(0, f));
- } /* for (i) */
-
- close_db(f);
-
-}
-
-void save_ns_req_dbase()
-{
- dbFILE *f;
- int i;
- NickRequest *nr;
- static time_t lastwarn = 0;
-
- if (!(f = open_db(Config.s_NickServ, Config.PreNickDBName, "w", PRE_NICK_VERSION)))
- return;
-
- for (i = 0; i < 1024; i++)
- {
- for (nr = nrlists[i]; nr; nr = nr->next)
- {
- SAFE(write_int8(1, f));
- SAFE(write_string(nr->nick, f));
- SAFE(write_string(nr->passcode, f));
- SAFE(write_buffer(nr->password, f));
- SAFE(write_string(nr->email, f));
- SAFE(write_int32(nr->requested, f));
- SAFE(write_int8(0, f));
- }
- }
- close_db(f);
-
-}
-
-#undef SAFE
-
-/*************************************************************************/
-
/* Check whether a user is on the access list of the nick they're using If
* not, send warnings as appropriate. If so (and not NI_SECURE), update
* last seen info.