]> jfr.im git - solanum.git/blobdiff - modules/core/m_server.c
Show libratbox version info to opers in /info.
[solanum.git] / modules / core / m_server.c
index d2c40a93f1a72bfc4ef73a092ef95151a5ff20bd..86ff95c4d08496f0809b997429326c84b776c66b 100644 (file)
@@ -119,7 +119,7 @@ mr_server(struct Client *client_p, struct Client *source_p, int parc, const char
                        sendto_realops_snomask(SNO_GENERAL, L_ALL,
                                             "Unauthorised server connection attempt from %s: "
                                             "No entry for servername %s",
-                                            client_p->name, name);
+                                            "[@255.255.255.255]", name);
 
                        ilog(L_SERVER, "Access denied, no connect block for server %s%s",
                             EmptyString(client_p->name) ? name : "",
@@ -135,7 +135,7 @@ mr_server(struct Client *client_p, struct Client *source_p, int parc, const char
                sendto_realops_snomask(SNO_GENERAL, is_remote_connect(client_p) ? L_NETWIDE : L_ALL,
                                     "Unauthorised server connection attempt from %s: "
                                     "Bad password for server %s",
-                                    client_p->name, name);
+                                    "[@255.255.255.255]", name);
 
                ilog(L_SERVER, "Access denied, invalid password for server %s%s",
                     EmptyString(client_p->name) ? name : "",
@@ -150,7 +150,7 @@ mr_server(struct Client *client_p, struct Client *source_p, int parc, const char
                sendto_realops_snomask(SNO_GENERAL, L_ALL,
                                     "Unauthorised server connection attempt from %s: "
                                     "Invalid host for server %s",
-                                    client_p->name, name);
+                                    "[@255.255.255.255]", name);
 
                ilog(L_SERVER, "Access denied, invalid host for server %s%s",
                     EmptyString(client_p->name) ? name : "",
@@ -165,7 +165,7 @@ mr_server(struct Client *client_p, struct Client *source_p, int parc, const char
        case -4:
                sendto_realops_snomask(SNO_GENERAL, L_ALL,
                                     "Invalid servername %s from %s",
-                                    name, client_p->name);
+                                    name, "[@255.255.255.255]");
                ilog(L_SERVER, "Access denied, invalid servername from %s",
                     log_client_name(client_p, SHOW_IP));
 
@@ -206,13 +206,24 @@ mr_server(struct Client *client_p, struct Client *source_p, int parc, const char
                 * Definitely don't do that here. This is from an unregistered
                 * connect - A1kmm.
                 */
-               sendto_realops_snomask(SNO_GENERAL, L_ALL,
-                                    "Attempt to re-introduce server %s from %s",
-                                    name, client_p->name);
-               ilog(L_SERVER, "Attempt to re-introduce server %s from %s",
-                               name, log_client_name(client_p, SHOW_IP));
+               if (target_p->servptr->flags & FLAGS_SERVICE)
+               {
+                       /* Assume any servers introduced by services
+                        * are jupes.
+                        * -- jilles
+                        */
+                       sendto_one(client_p, "ERROR :Server juped.");
+               }
+               else
+               {
+                       sendto_realops_snomask(SNO_GENERAL, L_ALL,
+                                            "Attempt to re-introduce server %s from %s",
+                                            name, "[@255.255.255.255]");
+                       ilog(L_SERVER, "Attempt to re-introduce server %s from %s",
+                                       name, log_client_name(client_p, SHOW_IP));
 
-               sendto_one(client_p, "ERROR :Server already exists.");
+                       sendto_one(client_p, "ERROR :Server already exists.");
+               }
                exit_client(client_p, client_p, client_p, "Server Exists");
                return 0;
        }
@@ -297,7 +308,7 @@ ms_server(struct Client *client_p, struct Client *source_p, int parc, const char
                ilog(L_SERVER, "Link %s cancelled, server %s already exists",
                        client_p->name, name);
 
-               snprintf(squitreason, sizeof squitreason,
+               rb_snprintf(squitreason, sizeof squitreason,
                                "Server %s already exists",
                                name);
                exit_client(client_p, client_p, &me, squitreason);
@@ -332,11 +343,6 @@ ms_server(struct Client *client_p, struct Client *source_p, int parc, const char
         * add it to list and propagate word to my other
         * server links...
         */
-       if(parc == 1 || EmptyString(info))
-       {
-               sendto_one(client_p, "ERROR :No server info specified for %s", name);
-               return 0;
-       }
 
        /*
         * See if the newly found server is behind a guaranteed
@@ -379,7 +385,7 @@ ms_server(struct Client *client_p, struct Client *source_p, int parc, const char
         * .edu's
         */
 
-       /* Ok, check client_p can hub the new server, and make sure it's not a LL */
+       /* Ok, check client_p can hub the new server */
        if(!hlined)
        {
                /* OOOPs nope can't HUB */
@@ -388,7 +394,10 @@ ms_server(struct Client *client_p, struct Client *source_p, int parc, const char
                ilog(L_SERVER, "Non-Hub link %s introduced %s.",
                        client_p->name, name);
 
-               exit_client(NULL, client_p, &me, "No matching hub_mask.");
+               rb_snprintf(squitreason, sizeof squitreason,
+                               "No matching hub_mask for %s",
+                               name);
+               exit_client(NULL, client_p, &me, squitreason);
                return 0;
        }
 
@@ -402,7 +411,10 @@ ms_server(struct Client *client_p, struct Client *source_p, int parc, const char
                ilog(L_SERVER, "Link %s introduced leafed server %s.",
                        client_p->name, name);  
 
-               exit_client(NULL, client_p, &me, "Leafed Server.");
+               rb_snprintf(squitreason, sizeof squitreason,
+                               "Matching leaf_mask for %s",
+                               name);
+               exit_client(NULL, client_p, &me, squitreason);
                return 0;
        }
 
@@ -477,7 +489,7 @@ ms_sid(struct Client *client_p, struct Client *source_p, int parc, const char *p
                ilog(L_SERVER, "Link %s cancelled, server %s already exists",
                        client_p->name, parv[1]);
 
-               snprintf(squitreason, sizeof squitreason,
+               rb_snprintf(squitreason, sizeof squitreason,
                                "Server %s already exists",
                                parv[1]);
                exit_client(NULL, client_p, &me, squitreason);
@@ -496,7 +508,7 @@ ms_sid(struct Client *client_p, struct Client *source_p, int parc, const char *p
                ilog(L_SERVER, "Link %s cancelled, SID %s for server %s already in use by %s",
                        client_p->name, parv[3], parv[1], target_p->name);
 
-               snprintf(squitreason, sizeof squitreason,
+               rb_snprintf(squitreason, sizeof squitreason,
                                "SID %s for %s already in use by %s",
                                parv[3], parv[1], target_p->name);
                exit_client(NULL, client_p, &me, squitreason);
@@ -550,26 +562,32 @@ ms_sid(struct Client *client_p, struct Client *source_p, int parc, const char *p
        /* no matching hub_mask */
        if(!hlined)
        {
-               sendto_one(client_p, "ERROR :No matching hub_mask");
                sendto_realops_snomask(SNO_GENERAL, L_ALL,
                                     "Non-Hub link %s introduced %s.",
                                     client_p->name, parv[1]);
                ilog(L_SERVER, "Non-Hub link %s introduced %s.",
                        client_p->name, parv[1]);
-               exit_client(NULL, client_p, &me, "No matching hub_mask.");
+
+               rb_snprintf(squitreason, sizeof squitreason,
+                               "No matching hub_mask for %s",
+                               parv[1]);
+               exit_client(NULL, client_p, &me, squitreason);
                return 0;
        }
 
        /* matching leaf_mask */
        if(llined)
        {
-               sendto_one(client_p, "ERROR :Matching leaf_mask");
                sendto_realops_snomask(SNO_GENERAL, L_ALL,
                                     "Link %s introduced leafed server %s.",
                                     client_p->name, parv[1]);
                ilog(L_SERVER, "Link %s introduced leafed server %s.",
                        client_p->name, parv[1]);       
-               exit_client(NULL, client_p, &me, "Leafed Server.");
+
+               rb_snprintf(squitreason, sizeof squitreason,
+                               "Matching leaf_mask for %s",
+                               parv[1]);
+               exit_client(NULL, client_p, &me, squitreason);
                return 0;
        }