X-Git-Url: https://jfr.im/git/irc/rqf/shadowircd.git/blobdiff_plain/fd4ba65e17a00f7cbcd8c24427a61769642650b6..ca89e98e0309a81155c0690cf0a516f75e285929:/modules/core/m_server.c diff --git a/modules/core/m_server.c b/modules/core/m_server.c index bd38f0f..dfcf18e 100644 --- a/modules/core/m_server.c +++ b/modules/core/m_server.c @@ -25,17 +25,15 @@ */ #include "stdinc.h" -#include "tools.h" #include "client.h" /* client struct */ #include "common.h" /* TRUE bleah */ -#include "event.h" #include "hash.h" /* add_to_client_hash */ #include "irc_string.h" #include "ircd.h" /* me */ #include "numeric.h" /* ERR_xxx */ #include "s_conf.h" /* struct ConfItem */ #include "s_newconf.h" -#include "s_log.h" /* log level defines */ +#include "logger.h" /* log level defines */ #include "s_serv.h" /* server_estab, check_server */ #include "s_stats.h" /* ServerStats */ #include "scache.h" @@ -175,6 +173,15 @@ mr_server(struct Client *client_p, struct Client *source_p, int parc, const char return 0; /* NOT REACHED */ break; + case -5: + sendto_realops_snomask(SNO_GENERAL, L_ALL, + "Connection from servername %s requires SSL/TLS but is plaintext", + name); + ilog(L_SERVER, "Access denied, requires SSL/TLS but is plaintext from %s", + log_client_name(client_p, SHOW_IP)); + + exit_client(client_p, client_p, client_p, "Access denied, requires SSL/TLS but is plaintext"); + return 0; } if((target_p = find_server(NULL, name))) @@ -250,7 +257,7 @@ ms_server(struct Client *client_p, struct Client *source_p, int parc, const char int hop; int hlined = 0; int llined = 0; - dlink_node *ptr; + rb_dlink_node *ptr; name = parv[1]; hop = atoi(parv[2]); @@ -333,7 +340,7 @@ ms_server(struct Client *client_p, struct Client *source_p, int parc, const char * leaf. If so, close the link. * */ - DLINK_FOREACH(ptr, hubleaf_conf_list.head) + RB_DLINK_FOREACH(ptr, hubleaf_conf_list.head) { hub_p = ptr->data; @@ -422,10 +429,10 @@ ms_server(struct Client *client_p, struct Client *source_p, int parc, const char SetServer(target_p); - dlinkAddTail(target_p, &target_p->node, &global_client_list); - dlinkAddTailAlloc(target_p, &global_serv_list); + rb_dlinkAddTail(target_p, &target_p->node, &global_client_list); + rb_dlinkAddTailAlloc(target_p, &global_serv_list); add_to_client_hash(target_p->name, target_p); - dlinkAdd(target_p, &target_p->lnode, &target_p->servptr->serv->servers); + rb_dlinkAdd(target_p, &target_p->lnode, &target_p->servptr->serv->servers); target_p->serv->nameinfo = scache_connect(target_p->name, target_p->info, IsHidden(target_p)); @@ -453,7 +460,7 @@ ms_sid(struct Client *client_p, struct Client *source_p, int parc, const char *p struct Client *target_p; struct remote_conf *hub_p; hook_data_client hdata; - dlink_node *ptr; + rb_dlink_node *ptr; int hop; int hlined = 0; int llined = 0; @@ -519,7 +526,7 @@ ms_sid(struct Client *client_p, struct Client *source_p, int parc, const char *p * H: allows it to introduce a server matching that mask * L: disallows it introducing a server matching that mask */ - DLINK_FOREACH(ptr, hubleaf_conf_list.head) + RB_DLINK_FOREACH(ptr, hubleaf_conf_list.head) { hub_p = ptr->data; @@ -570,11 +577,11 @@ ms_sid(struct Client *client_p, struct Client *source_p, int parc, const char *p target_p->servptr = source_p; SetServer(target_p); - dlinkAddTail(target_p, &target_p->node, &global_client_list); - dlinkAddTailAlloc(target_p, &global_serv_list); + rb_dlinkAddTail(target_p, &target_p->node, &global_client_list); + rb_dlinkAddTailAlloc(target_p, &global_serv_list); add_to_client_hash(target_p->name, target_p); add_to_id_hash(target_p->id, target_p); - dlinkAdd(target_p, &target_p->lnode, &target_p->servptr->serv->servers); + rb_dlinkAdd(target_p, &target_p->lnode, &target_p->servptr->serv->servers); target_p->serv->nameinfo = scache_connect(target_p->name, target_p->info, IsHidden(target_p));