[NeoStats-Devel] [Commits] r372 - branches/3.0

[email protected] Sat, 17 Sep 2005 06:41:37 +1000
Newsgroups gmane.comp.neostats.devel
Message-ID <[email protected]>
Author: Mark
Date: Sat Sep 17 04:41:35 2005
New Revision: 372

Modified:
   branches/3.0/ChangeLog
   branches/3.0/SecureServ.c
   branches/3.0/SecureServ.h
Log:
more ctcp version updates

Modified: branches/3.0/ChangeLog
==============================================================================
--- branches/3.0/ChangeLog	(original)
+++ branches/3.0/ChangeLog	Sat Sep 17 04:41:35 2005
@@ -2,6 +2,7 @@
 Fish (F), Mark (M), DeadNotBuried (D)
 ==============================================================================
 3.0.a3-dev - Mark (M)
+ - Use new core ctcp request/reply system. (M)
  - if Core version checking is disabled, but secureserv versionscan is
    enabled, then ctcp requests come from SecureServ (F)
  - secure.irc-chat.net update reports now moved to core (F)

Modified: branches/3.0/SecureServ.c
==============================================================================
--- branches/3.0/SecureServ.c	(original)
+++ branches/3.0/SecureServ.c	Sat Sep 17 04:41:35 2005
@@ -68,7 +68,7 @@
 	MODULE_VERSION,
 	__DATE__,
 	__TIME__,
-	MODULE_FLAG_LOCAL_EXCLUDES,
+	MODULE_FLAG_CTCP_VERSION | MODULE_FLAG_LOCAL_EXCLUDES,
 	0,
 };
 
@@ -89,7 +89,7 @@
 static bot_setting ss_settings[]=
 {
 	{"HELPERS",		&SecureServ.helpers,	SET_TYPE_BOOLEAN,	0,	0,			NS_ULEVEL_ADMIN,NULL,	ts_help_set_helpers, ss_cmd_set_helpers_cb, (void *)1 },
-	{"VERSIONSCAN",		&SecureServ.doscan,		SET_TYPE_BOOLEAN,	0,	0,			NS_ULEVEL_ADMIN,NULL,	ts_help_set_version, NULL, (void *)1 },
+	{"VERSION",		&SecureServ.version,		SET_TYPE_BOOLEAN,	0,	0,			NS_ULEVEL_ADMIN,NULL,	ts_help_set_version, NULL, (void *)1 },
 	{"HELPCHAN",	&SecureServ.HelpChan,	SET_TYPE_CHANNEL,	0,	MAXCHANLEN,	NS_ULEVEL_ADMIN,NULL,	ts_help_set_helpchan, NULL, (void *)"#nohack" },
 #ifdef HAVE_CRYPT_H
 	{"REPORT",		&SecureServ.report,		SET_TYPE_BOOLEAN,	0,	0,			NS_ULEVEL_ADMIN,NULL,	ts_help_set_report, NULL, (void *)1 },
@@ -328,45 +328,26 @@
 	return NS_SUCCESS;
 }
 
-static void ss_do_version(CmdParams *cmdparams)
-{
-	/* if NeoStats Version Check is disabled, but SecureServ Version check is enabled, send CTCP request */
-	if ((!me.versionscan) &&  (SecureServ.doscan)) {
-		irc_ctcp_version_req(ss_bot, cmdparams->source);
-	}
-}
-
 /* scan someone connecting */
 static int ss_event_signon(CmdParams *cmdparams) 
 {
 	SET_SEGV_LOCATION();
-	if (SecureServ.doscan == 0)
-		return NS_SUCCESS;
 	if (IsNetSplit(cmdparams->source)) {
 		dlog (DEBUG1, "Ignoring netsplit nick %s", cmdparams->source->name);
 		return NS_SUCCESS;
 	}
-	if (ModIsUserExcluded(cmdparams->source) == NS_TRUE) {
+	if (ModIsUserExcluded(cmdparams->source) == NS_TRUE)
 		return NS_SUCCESS;
-	}
 	/* fizzer scan */
-	if (SecureServ.dofizzer && ScanFizzer(cmdparams->source)) {
+	if (SecureServ.dofizzer && ScanFizzer(cmdparams->source))
 		return NS_SUCCESS;
-	}
 	/* check the nickname, ident, realname */
-	if (ScanNick(cmdparams->source) && SecureServ.breakorcont != 0) {
-		ss_do_version(cmdparams);
+	if (ScanNick(cmdparams->source) && SecureServ.breakorcont != 0)
 		return NS_SUCCESS;
-	}
-	if (ScanIdent(cmdparams->source) && SecureServ.breakorcont != 0) {
-		ss_do_version(cmdparams);
+	if (ScanIdent(cmdparams->source) && SecureServ.breakorcont != 0)
 		return NS_SUCCESS;
-	}
-	if (ScanRealname(cmdparams->source) && SecureServ.breakorcont != 0) {
-		ss_do_version(cmdparams);
+	if (ScanRealname(cmdparams->source) && SecureServ.breakorcont != 0)
 		return NS_SUCCESS;
-	}
-	ss_do_version(cmdparams);
 	return NS_SUCCESS;
 }
 
@@ -376,21 +357,23 @@
 	static int versioncount = 0;
 
 	SET_SEGV_LOCATION();
+	if( !SecureServ.version )
+		return NS_SUCCESS;
 	/* because neostats doesn't check this when the version request comes from the core */
-	if (IsNetSplit(cmdparams->source)) {
+	if( IsNetSplit( cmdparams->source ) )
+	{
 		dlog (DEBUG1, "Ignoring netsplit nick %s", cmdparams->source->name);
 		return NS_SUCCESS;
 	}
-	if (ModIsUserExcluded(cmdparams->source) == NS_TRUE) {
+	if (ModIsUserExcluded(cmdparams->source) == NS_TRUE)
 		return NS_SUCCESS;
-	}
 	if (SecureServ.verbose) 
 		irc_chanalert(ss_bot, "Got Version Reply from %s: %s", cmdparams->source->name, cmdparams->param);
-
 	positive = ScanCTCPVersion(cmdparams->source, cmdparams->param);
 	versioncount++;
 	/* why do we only change the version reply every 23 entries? Why not? */
-	if ((positive == 0) && (versioncount > 23)) {
+	if ((positive == 0) && (versioncount > 23))
+	{
 		strlcpy(SecureServ.sampleversion, cmdparams->param, SS_BUF_SIZE);
 		versioncount = 0;
 	}

Modified: branches/3.0/SecureServ.h
==============================================================================
--- branches/3.0/SecureServ.h	(original)
+++ branches/3.0/SecureServ.h	Sat Sep 17 04:41:35 2005
@@ -91,7 +91,7 @@
 #define MAX_PATTERN_TYPES	20
 
 struct SecureServ {
-	int doscan;
+	int version;
 	int datfileversion;
 	char akillinfo[BUFSIZE];
 	char nohelp[BUFSIZE];