[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: service/oper Problems



On May 30, Stefan Le Breton wrote:
| Something annoying, services receive *every* MODE <nick> a client
| sends, no matter what. Unsuccessful or even illegal (say MODE <nick> +y)
| a service gets a MODE without args.
| 
| :stelb!stelb@xxxxxxxxxxxxxxxxxxxxx MODE stelb :

Try the following patch

diff -u -r1.10 s_user.c
--- s_user.c	1997/05/28 13:38:14	1.10
+++ s_user.c	1997/06/01 18:00:57
@@ -2634,7 +2634,9 @@
 		send_umode(cptr, sptr, old, ALL_UMODES, buf);
 #ifdef USE_SERVICES
 	/* buf contains all modes for local users, and iow only for remotes */
-	check_services_butone(SERVICE_WANT_UMODE, NULL, sptr,
-			      ":%s MODE %s :%s", sptr->name, sptr->name, buf);
+	if (*buf)
+		check_services_butone(SERVICE_WANT_UMODE, NULL, sptr,
+				      ":%s MODE %s :%s", sptr->name,
+				      sptr->name, buf);
 #endif
 }