1
0
mirror of https://github.com/anope/anope.git synced 2026-07-08 22:33:13 +02:00

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
This commit is contained in:
geniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b
2007-08-29 18:34:07 +00:00
parent 53fbcea421
commit 071a08c7ec
7 changed files with 94 additions and 49 deletions
+9 -15
View File
@@ -14,8 +14,6 @@
#include "pseudo.h"
#include "charybdis.h"
int ts6nickcount = 0;
IRCDVar myIrcd[] = {
{"Charybdis 1.0+", /* ircd name */
"+oiS", /* nickserv mode */
@@ -144,6 +142,8 @@ IRCDCAPAB myIrcdcap[] = {
0, 0, 0}
};
/*******************************************************************/
void charybdis_set_umode(User * user, int ac, char **av)
{
int add = 1; /* 1 if adding modes, 0 if deleting */
@@ -1051,16 +1051,13 @@ void charybdis_cmd_connect(int servernum)
void charybdis_cmd_bot_nick(char *nick, char *user, char *host, char *real,
char *modes)
{
char nicknumbuf[10];
EnforceQlinedNick(nick, NULL);
if (UseTS6) {
snprintf(nicknumbuf, 10, "%sAAAAA%c", Numeric,
(ts6nickcount + 'A'));
char *uidbuf = ts6_uid_retrieve();
send_cmd(TS6SID, "UID %s 1 %ld %s %s %s 0 %s :%s", nick,
(long int) time(NULL), modes, user, host, nicknumbuf,
(long int) time(NULL), modes, user, host, uidbuf,
real);
new_uid(nick, nicknumbuf);
ts6nickcount++;
new_uid(nick, uidbuf);
} else {
send_cmd(NULL, "NICK %s 1 %ld %s %s %s %s :%s", nick,
(long int) time(NULL), modes, user, host, ServerName,
@@ -1429,22 +1426,19 @@ void charybdis_cmd_tmode(char *source, char *dest, const char *fmt, ...)
void charybdis_cmd_nick(char *nick, char *name, char *mode)
{
char nicknumbuf[10];
EnforceQlinedNick(nick, NULL);
if (UseTS6) {
snprintf(nicknumbuf, 10, "%sAAAAA%c", Numeric,
(ts6nickcount + 'A'));
char *uidbuf = ts6_uid_retrieve();
send_cmd(TS6SID, "UID %s 1 %ld %s %s %s 0 %s :%s", nick,
(long int) time(NULL), mode, ServiceUser, ServiceHost,
nicknumbuf, name);
new_uid(nick, nicknumbuf);
ts6nickcount++;
uidbuf, name);
new_uid(nick, uidbuf);
} else {
send_cmd(NULL, "NICK %s 1 %ld %s %s %s %s :%s", nick,
(long int) time(NULL), mode, ServiceUser, ServiceHost,
ServerName, name);
}
send_cmd(UseTS6 ? nicknumbuf : nick, "RESV * %s :%s", nick, "Reserved for services");
charybdis_cmd_sqline(nick, "Reserved for services");
}
void charybdis_cmd_kick(char *source, char *chan, char *user, char *buf)
+7 -15
View File
@@ -15,8 +15,6 @@
#include "pseudo.h"
#include "ratbox.h"
int ts6nickcount = 0;
IRCDVar myIrcd[] = {
{"Ratbox 2.0+", /* ircd name */
"+oi", /* nickserv mode */
@@ -989,16 +987,13 @@ void ratbox_cmd_connect(int servernum)
void ratbox_cmd_bot_nick(char *nick, char *user, char *host, char *real,
char *modes)
{
char nicknumbuf[10];
EnforceQlinedNick(nick, NULL);
if (UseTS6) {
snprintf(nicknumbuf, 10, "%sAAAAA%c", Numeric,
(ts6nickcount + 'A'));
char *uidbuf = ts6_uid_retrieve();
send_cmd(TS6SID, "UID %s 1 %ld %s %s %s 0 %s :%s", nick,
(long int) time(NULL), modes, user, host, nicknumbuf,
(long int) time(NULL), modes, user, host, uidbuf,
real);
new_uid(nick, nicknumbuf);
ts6nickcount++;
new_uid(nick, uidbuf);
} else {
send_cmd(NULL, "NICK %s 1 %ld %s %s %s %s :%s", nick,
(long int) time(NULL), modes, user, host, ServerName,
@@ -1360,22 +1355,19 @@ void ratbox_cmd_tmode(char *source, char *dest, const char *fmt, ...)
void ratbox_cmd_nick(char *nick, char *name, char *mode)
{
char nicknumbuf[10];
EnforceQlinedNick(nick, NULL);
if (UseTS6) {
snprintf(nicknumbuf, 10, "%sAAAAA%c", Numeric,
(ts6nickcount + 'A'));
char *uidbuf = ts6_uid_retrieve();
send_cmd(TS6SID, "UID %s 1 %ld %s %s %s 0 %s :%s", nick,
(long int) time(NULL), mode, ServiceUser, ServiceHost,
nicknumbuf, name);
new_uid(nick, nicknumbuf);
ts6nickcount++;
uidbuf, name);
new_uid(nick, uidbuf);
} else {
send_cmd(NULL, "NICK %s 1 %ld %s %s %s %s :%s", nick,
(long int) time(NULL), mode, ServiceUser, ServiceHost,
ServerName, name);
}
send_cmd(UseTS6 ? nicknumbuf : nick, "RESV * %s :%s", nick, "Reserved for services");
ratbox_cmd_sqline(nick, "Reserved for services");
}
void ratbox_cmd_kick(char *source, char *chan, char *user, char *buf)
+8 -18
View File
@@ -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");
}