]> jfr.im git - solanum.git/blobdiff - modules/m_etrace.c
Add oper:testline
[solanum.git] / modules / m_etrace.c
index 3a0f5e18d74e74bbba50237f58c6899a0415204f..193d842be0510aad4887bef9a15f39b0edc4f378 100644 (file)
@@ -35,7 +35,6 @@
 #include "hook.h"
 #include "client.h"
 #include "hash.h"
-#include "common.h"
 #include "hash.h"
 #include "match.h"
 #include "ircd.h"
@@ -108,12 +107,10 @@ mo_etrace(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *sourc
        {
                if(!irccmp(parv[1], "-full"))
                        do_etrace_full(source_p);
-#ifdef RB_IPV6
                else if(!irccmp(parv[1], "-v6"))
                        do_etrace(source_p, 0, 1);
                else if(!irccmp(parv[1], "-v4"))
                        do_etrace(source_p, 1, 0);
-#endif
                else
                {
                        struct Client *target_p = find_named_person(parv[1]);
@@ -164,15 +161,13 @@ do_etrace(struct Client *source_p, int ipv4, int ipv6)
        {
                target_p = ptr->data;
 
-#ifdef RB_IPV6
-               if((!ipv4 && target_p->localClient->ip.ss_family == AF_INET) ||
-                  (!ipv6 && target_p->localClient->ip.ss_family == AF_INET6))
+               if((!ipv4 && GET_SS_FAMILY(&target_p->localClient->ip) == AF_INET) ||
+                  (!ipv6 && GET_SS_FAMILY(&target_p->localClient->ip) == AF_INET6))
                        continue;
-#endif
 
                sendto_one(source_p, form_str(RPL_ETRACE),
                           me.name, source_p->name,
-                          IsOper(target_p) ? "Oper" : "User",
+                          SeesOper(target_p, source_p) ? "Oper" : "User",
                           get_client_class(target_p),
                           target_p->name, target_p->username, target_p->host,
                           show_ip(source_p, target_p) ? target_p->sockhost : "255.255.255.255",
@@ -211,14 +206,14 @@ do_single_etrace(struct Client *source_p, struct Client *target_p)
        if(!show_ip(source_p, target_p))
                sendto_one(source_p, form_str(RPL_ETRACEFULL),
                                me.name, source_p->name,
-                               IsOper(target_p) ? "Oper" : "User",
+                               SeesOper(target_p, source_p) ? "Oper" : "User",
                                get_client_class(target_p),
                                target_p->name, target_p->username, target_p->host,
                                "255.255.255.255", "<hidden> <hidden>", target_p->info);
        else
                sendto_one(source_p, form_str(RPL_ETRACEFULL),
                                me.name, source_p->name,
-                               IsOper(target_p) ? "Oper" : "User",
+                               SeesOper(target_p, source_p) ? "Oper" : "User",
                                get_client_class(target_p),
                                target_p->name, target_p->username,
                                target_p->host, target_p->sockhost,
@@ -283,7 +278,7 @@ m_chantrace(struct MsgBuf *msgbuf_p, struct Client *client_p, struct Client *sou
 
                sendto_one(source_p, form_str(RPL_ETRACE),
                                me.name, source_p->name,
-                               IsOper(target_p) ? "Oper" : "User",
+                               SeesOper(target_p, source_p) ? "Oper" : "User",
                                /* class field -- pretend its server.. */
                                target_p->servptr->name,
                                target_p->name, target_p->username, target_p->host,
@@ -328,7 +323,7 @@ match_masktrace(struct Client *source_p, rb_dlink_list *list,
 
                        sendto_one(source_p, form_str(RPL_ETRACE),
                                me.name, source_p->name,
-                               IsOper(target_p) ? "Oper" : "User",
+                               SeesOper(target_p, source_p) ? "Oper" : "User",
                                /* class field -- pretend its server.. */
                                target_p->servptr->name,
                                target_p->name, target_p->username, target_p->host,