diff options
| author | geniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b <geniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> | 2007-08-29 18:34:07 +0000 |
|---|---|---|
| committer | geniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b <geniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864> | 2007-08-29 18:34:07 +0000 |
| commit | 071a08c7ec0baba9060b00ef264768592ff36d9a (patch) | |
| tree | 88ecb6129e50be2d52580861c59f640ac4288951 /src/protocol/shadowircd.c | |
| parent | 53fbcea42156d8196c06177966f59afbbcbe0925 (diff) | |
BUILD : 1.7.19 (1286) BUGS : 731 NOTES : Fixed TS6 UID generation
git-svn-id: svn://svn.anope.org/anope/trunk@1286 31f1291d-b8d6-0310-a050-a5561fc1590b
git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@1004 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src/protocol/shadowircd.c')
| -rw-r--r-- | src/protocol/shadowircd.c | 26 |
1 files changed, 8 insertions, 18 deletions
diff --git a/src/protocol/shadowircd.c b/src/protocol/shadowircd.c index b57579210..ded8ea738 100644 --- a/src/protocol/shadowircd.c +++ b/src/protocol/shadowircd.c @@ -16,9 +16,6 @@ #include "pseudo.h" #include "shadowircd.h" -/* 6 slot array, 35 possible combinations per slot, exponential. */ -int ts6nickcount[6] = { 0, 0, 0, 0, 0, 0 }; - IRCDVar myIrcd[] = { {"ShadowIRCd 4.0+", /* ircd name */ "+oiqSK", /* nickserv mode */ @@ -992,19 +989,13 @@ void shadowircd_cmd_connect(int servernum) void shadowircd_cmd_bot_nick(char *nick, char *user, char *host, char *real, char *modes) { - char nicknumbuf[10]; + char *uidbuf = ts6_uid_retrieve(); + EnforceQlinedNick(nick, NULL); - snprintf(nicknumbuf, 10, "%sAAAA%c%c", Numeric, - (ts6nickcount[1] + 'A'), (ts6nickcount[0] + 'A')); send_cmd(TS6SID, "UID %s 1 %ld %s %s %s 0.0.0.0 %s %s :%s", nick, - (long int) time(NULL), modes, user, host, nicknumbuf, host, + (long int) time(NULL), modes, user, host, uidbuf, host, real); - new_uid(nick, nicknumbuf); - ts6nickcount[0]++; - if (ts6nickcount[0] > 35) { /* AAAAA9 */ - ts6nickcount[1]++; - ts6nickcount[0] = 0; /* AAAABA */ - } + new_uid(nick, uidbuf); shadowircd_cmd_sqline(nick, "Reserved for services"); } @@ -1360,14 +1351,13 @@ void shadowircd_cmd_tmode(char *source, char *dest, char *buf) void shadowircd_cmd_nick(char *nick, char *name, char *mode) { - char nicknumbuf[10]; + char *uidbuf = ts6_uid_retrieve(); + EnforceQlinedNick(nick, NULL); - snprintf(nicknumbuf, 10, "%sAAAAA%c", TS6SID, (ts6nickcount[0] + 'A')); send_cmd(TS6SID, "UID %s 1 %ld %s %s %s 0.0.0.0 %s %s :%s", nick, (long int) time(NULL), mode, ServiceUser, ServiceHost, - nicknumbuf, ServiceHost, name); - new_uid(nick, nicknumbuf); - ts6nickcount[0]++; + uidbuf, ServiceHost, name); + new_uid(nick, uidbuf); shadowircd_cmd_sqline(nick, "Reserved for services"); } |
