]> jfr.im git - irc/quakenet/newserv.git/commitdiff
Fixed OpenBSD compatibility.
authorChris Porter <redacted>
Sat, 12 Nov 2005 12:54:00 +0000 (12:54 +0000)
committerChris Porter <redacted>
Sat, 12 Nov 2005 12:54:00 +0000 (12:54 +0000)
Added error message for trying to message local users.

nterface/nterfacer.h
nterface/nterfacer_relay.c
nterface/nterfacer_relay.h

index da70de8448f9306391f2c6f9ec7c2ac0cb5599ff..8b8798897b44a7dd4d3b1de20b9a0fe1b9339767 100644 (file)
@@ -6,6 +6,7 @@
 #ifndef __nterfacer_H
 #define __nterfacer_H
 
+#include <sys/types.h>
 #include <netinet/in.h>
 
 #include "esockets.h"
index 653c019c87b7e4cbbde6e6f9e248d61663b6d5c0..43c42de6473d61a42fc2154068cf87ab1e0f1e16 100644 (file)
@@ -2,6 +2,8 @@
   nterfacer relay4
   Copyright (C) 2004-2005 Chris Porter.
 
+  v1.14
+    - made it return an error instead of a timeout when sending to local users
   v1.13
     - found a load of stuff on froo's box
   v1.12
@@ -201,6 +203,9 @@ int relay_handler(struct rline *ri, int argc, char **argv) {
   if(!dest)
     return ri_error(ri, RELAY_NICK_NOT_FOUND, "Nickname not found!");
 
+  if(homeserver(dest->numeric) == mylongnum)
+    return ri_error(ri, RELAY_LOCAL_USER, "Cannot relay to local users");
+  
   for(i=3;i<argc;i++)
     if(strchr(argv[i], '\r'))
       return ri_error(ri, RELAY_INVALID_CHARS, "Invalid character in input");
index af673dcd45938d91e5c6eeed986b34148fe0a6e0..07cc9659f685d8190f1ebd437696028f505fbe9b 100644 (file)
@@ -31,6 +31,7 @@
 #define RELAY_SERVER_NOT_FOUND 0x0F
 #define RELAY_INVALID_COMMAND  0x10
 #define RELAY_INVALID_CHARS    0x11
+#define RELAY_LOCAL_USER       0x12
 
 #define MODE_TAG     0x01
 #define MODE_LINES   0x02