]> jfr.im git - irc/rqf/shadowircd.git/commitdiff
[svn] Don't leak auth{} spoofed IP addresses in +f notices.
authorjilles <redacted>
Fri, 2 Mar 2007 17:45:47 +0000 (09:45 -0800)
committerjilles <redacted>
Fri, 2 Mar 2007 17:45:47 +0000 (09:45 -0800)
from ratbox (androsyn)

ChangeLog
include/serno.h
src/s_conf.c

index e31518089491025f73a455a28794d030c8acf2fa..eff68c7c2b9383a8b9b40d397b89862391f857ca 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+jilles      2007/02/24 19:34:28 UTC    (20070224-3219)
+  Log:
+  Make oper_up() take +i/-i during opering up into account
+  (e.g. no_oper_invis extension, +i in operator::umodes).
+  Remove the hack from no_oper_invis.
+  
+
+  Changes:     Modified:
+  +0 -2                trunk/extensions/no_oper_invis.c (File Modified) 
+  +4 -0                trunk/src/s_user.c (File Modified) 
+
+
 jilles      2007/02/24 18:35:58 UTC    (20070224-3215)
   Log:
   no_oper_invis: decrement invisible count when clearing
index 2f2a2f21eda88c4f8b9086dbd265b1ef43aa2e06..d15786a1502eb086910b6dbf866fbdbe216061fd 100644 (file)
@@ -1 +1 @@
-#define SERNO "20070224-3215"
+#define SERNO "20070224-3219"
index ea0dc8d772dad912be490097b86cf58e785345c7..4283333eb01f17f23ea87b3888c7e4d4c417f85b 100644 (file)
@@ -21,7 +21,7 @@
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
  *
- *  $Id: s_conf.c 3161 2007-01-25 07:23:01Z nenolod $
+ *  $Id: s_conf.c 3223 2007-03-02 17:45:47Z jilles $
  */
 
 #include "stdinc.h"
@@ -188,10 +188,15 @@ check_client(struct Client *client_p, struct Client *source_p, const char *usern
                break;
 
        case TOO_MANY_LOCAL:
+               /* Note that these notices are sent to opers on other
+                * servers also, so even if local opers are allowed to
+                * see the IP, we still cannot send it.
+                */
                sendto_realops_snomask(SNO_FULL, L_NETWIDE,
                                "Too many local connections for %s!%s%s@%s",
                                source_p->name, IsGotId(source_p) ? "" : "~",
-                               source_p->username, source_p->sockhost);
+                               source_p->username,
+                               show_ip(NULL, source_p) && !IsIPSpoof(source_p) ? source_p->sockhost : source_p->host);
 
                ilog(L_FUSER, "Too many local connections from %s!%s%s@%s",
                        source_p->name, IsGotId(source_p) ? "" : "~",
@@ -205,7 +210,8 @@ check_client(struct Client *client_p, struct Client *source_p, const char *usern
                sendto_realops_snomask(SNO_FULL, L_NETWIDE,
                                "Too many global connections for %s!%s%s@%s",
                                source_p->name, IsGotId(source_p) ? "" : "~",
-                               source_p->username, source_p->sockhost);
+                               source_p->username,
+                               show_ip(NULL, source_p) && !IsIPSpoof(source_p) ? source_p->sockhost : source_p->host);
                ilog(L_FUSER, "Too many global connections from %s!%s%s@%s",
                        source_p->name, IsGotId(source_p) ? "" : "~",
                        source_p->username, source_p->sockhost);
@@ -218,7 +224,8 @@ check_client(struct Client *client_p, struct Client *source_p, const char *usern
                sendto_realops_snomask(SNO_FULL, L_NETWIDE,
                                "Too many user connections for %s!%s%s@%s",
                                source_p->name, IsGotId(source_p) ? "" : "~",
-                               source_p->username, source_p->sockhost);
+                               source_p->username,
+                               show_ip(NULL, source_p) && !IsIPSpoof(source_p) ? source_p->sockhost : source_p->host);
                ilog(L_FUSER, "Too many user connections from %s!%s%s@%s",
                        source_p->name, IsGotId(source_p) ? "" : "~",
                        source_p->username, source_p->sockhost);