]> 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 72c9b84977329fe117dbd948c09398db3190db82..86ff95c4d08496f0809b997429326c84b776c66b 100644 (file)
@@ -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.
                 */
                 * 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, "[@255.255.255.255]");
-               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;
        }
                exit_client(client_p, client_p, client_p, "Server Exists");
                return 0;
        }
@@ -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...
         */
         * 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
 
        /*
         * See if the newly found server is behind a guaranteed
@@ -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);
 
                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;
        }
 
                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);  
 
                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;
        }
 
                return 0;
        }
 
@@ -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)
        {
        /* 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]);
                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)
        {
                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]);       
                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;
        }
 
                return 0;
        }