mirror of
https://github.com/unrealircd/unrealircd.git
synced 2026-07-08 02:23:12 +02:00
+- Added Find_link, serv->conf, did a Find_tld fixup, removed serv->nline,
+ removing a lot of my_name_for_link crap, indented s_serv.c +- Recoded m_server(YES!) -stskeeps
This commit is contained in:
@@ -103,3 +103,6 @@
|
||||
- Heavily recoded /rehash (removed a ton of coding)
|
||||
- Updated match() to have some optimizations from bahamut
|
||||
- +GScm now affect /part msgs (requested by SegFault and others)
|
||||
- Added Find_link, serv->conf, did a Find_tld fixup, removed serv->nline,
|
||||
removing a lot of my_name_for_link crap, indented s_serv.c
|
||||
- Recoded m_server(YES!) -stskeeps
|
||||
+1
-1
@@ -67,7 +67,7 @@ ConfigItem_listen *Find_listen(char *ipmask, int port);
|
||||
ConfigItem_ulines *Find_uline(char *host);
|
||||
ConfigItem_except *Find_except(char *host, short type);
|
||||
ConfigItem_tld *Find_tld(char *host);
|
||||
|
||||
ConfigItem_link *Find_link(char *username, char *hostname, char *ip, char *servername);
|
||||
|
||||
aMotd *read_motd(char *filename);
|
||||
aMotd *read_rules(char *filename);
|
||||
|
||||
+11
-10
@@ -717,14 +717,14 @@ struct User {
|
||||
};
|
||||
|
||||
struct Server {
|
||||
struct Server *nexts;
|
||||
anUser *user; /* who activated this connection */
|
||||
char *up; /* uplink for this server */
|
||||
char by[NICKLEN + 1];
|
||||
aConfItem *nline; /* N-line pointer for this server */
|
||||
TS timestamp; /* Remotely determined connect try time */
|
||||
unsigned short numeric; /* NS numeric, 0 if none */
|
||||
long users;
|
||||
struct Server *nexts;
|
||||
anUser *user; /* who activated this connection */
|
||||
char *up; /* uplink for this server */
|
||||
char by[NICKLEN + 1];
|
||||
ConfigItem_link *conf;
|
||||
TS timestamp; /* Remotely determined connect try time */
|
||||
unsigned short numeric; /* NS numeric, 0 if none */
|
||||
long users;
|
||||
#ifdef LIST_DEBUG
|
||||
aClient *bcptr;
|
||||
#endif
|
||||
@@ -1068,10 +1068,11 @@ struct _configitem_link {
|
||||
short port;
|
||||
char *hubmask;
|
||||
char *leafmask;
|
||||
unsigned char leafdepth;
|
||||
unsigned char leafdepth;
|
||||
char *connpwd;
|
||||
char *recvpwd;
|
||||
ConfigItem_class *class;
|
||||
int refcount;
|
||||
ConfigItem_class *class;
|
||||
short options;
|
||||
};
|
||||
|
||||
|
||||
+24
-2
@@ -1871,10 +1871,32 @@ ConfigItem_tld *Find_tld(char *host) {
|
||||
if (!host)
|
||||
return NULL;
|
||||
|
||||
for(tld = conf_tld; tld; tld = (ConfigItem_tld *) tld->next) {
|
||||
if (!match(tld->mask, host))
|
||||
for(tld = conf_tld; tld; tld = (ConfigItem_tld *) tld->next)
|
||||
{
|
||||
if (!match(tld->mask, host))
|
||||
return tld;
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
||||
ConfigItem_link *Find_link(char *username,
|
||||
char *hostname,
|
||||
char *ip,
|
||||
char *servername)
|
||||
{
|
||||
ConfigItem_link *link;
|
||||
|
||||
if (!username || !hostname || !servername || !ip)
|
||||
return NULL;
|
||||
|
||||
for(link = conf_link; link; link = (ConfigItem_link *) link->next)
|
||||
{
|
||||
if (!match(link->servername, servername) &&
|
||||
!match(link->username, username) &&
|
||||
(!match(link->hostname, hostname) || !match(link->hostname, ip)))
|
||||
return link;
|
||||
}
|
||||
return NULL;
|
||||
|
||||
}
|
||||
@@ -653,10 +653,6 @@ static void exit_one_client_backend(cptr, sptr, from, comment, split)
|
||||
if (!(acptr = local[i]) || !IsServer(acptr) ||
|
||||
acptr == cptr || IsMe(acptr))
|
||||
continue;
|
||||
if ((aconf = acptr->serv->nline) &&
|
||||
(match(my_name_for_link(me.name, aconf),
|
||||
sptr->name) == 0))
|
||||
continue;
|
||||
/*
|
||||
** SQUIT going "upstream". This is the remote
|
||||
** squit still hunting for the target. Use prefixed
|
||||
|
||||
+1039
-682
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user