]> jfr.im git - irc/rqf/shadowircd.git/blobdiff - modules/core/m_server.c
strip_tabs() is related to s_conf.c ONLY - moved it there
[irc/rqf/shadowircd.git] / modules / core / m_server.c
index 29512ec7b78adb25f3a526d046833f9d75f05053..0c90e62a10233ac96ff8d5505e346052b7310665 100644 (file)
@@ -33,7 +33,7 @@
 #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"
@@ -79,7 +79,7 @@ mr_server(struct Client *client_p, struct Client *source_p, int parc, const char
 
        name = parv[1];
        hop = atoi(parv[2]);
-       strlcpy(info, parv[3], sizeof(info));
+       rb_strlcpy(info, parv[3], sizeof(info));
 
        if (IsHandshake(client_p) && irccmp(client_p->name, name))
        {
@@ -173,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)))
@@ -221,7 +230,7 @@ mr_server(struct Client *client_p, struct Client *source_p, int parc, const char
         * C:line in client_p->name
         */
 
-       strlcpy(client_p->name, name, sizeof(client_p->name));
+       rb_strlcpy(client_p->name, name, sizeof(client_p->name));
        set_server_gecos(client_p, info);
        client_p->hopcount = hop;
        server_estab(client_p);
@@ -252,7 +261,7 @@ ms_server(struct Client *client_p, struct Client *source_p, int parc, const char
 
        name = parv[1];
        hop = atoi(parv[2]);
-       strlcpy(info, parv[3], sizeof(info));
+       rb_strlcpy(info, parv[3], sizeof(info));
 
        if((target_p = find_server(NULL, name)))
        {
@@ -412,7 +421,7 @@ ms_server(struct Client *client_p, struct Client *source_p, int parc, const char
        make_server(target_p);
        target_p->hopcount = hop;
 
-       strlcpy(target_p->name, name, sizeof(target_p->name));
+       rb_strlcpy(target_p->name, name, sizeof(target_p->name));
 
        set_server_gecos(target_p, info);
 
@@ -560,7 +569,7 @@ ms_sid(struct Client *client_p, struct Client *source_p, int parc, const char *p
        target_p = make_client(client_p);
        make_server(target_p);
 
-       strlcpy(target_p->name, parv[1], sizeof(target_p->name));
+       rb_strlcpy(target_p->name, parv[1], sizeof(target_p->name));
        target_p->hopcount = atoi(parv[2]);
        strcpy(target_p->id, parv[3]);
        set_server_gecos(target_p, parv[4]);
@@ -659,13 +668,13 @@ set_server_gecos(struct Client *client_p, const char *info)
                        /* if there was a trailing space, s could point to \0, so check */
                        if(s && (*s != '\0'))
                        {
-                               strlcpy(client_p->info, s, sizeof(client_p->info));
+                               rb_strlcpy(client_p->info, s, sizeof(client_p->info));
                                return 1;
                        }
                }
        }
 
-       strlcpy(client_p->info, "(Unknown Location)", sizeof(client_p->info));
+       rb_strlcpy(client_p->info, "(Unknown Location)", sizeof(client_p->info));
 
        return 1;
 }