[srvx-commits] CVS: services/src opserv.c,1.319,1.320 opserv.help,1.58,1.59
                
                Brought to you by:
                
                    entrope
                    
                
            
            
        
        
        
    | 
      
      
      From: Entrope <en...@us...> - 2003-07-08 03:42:00
      
     | 
| Update of /cvsroot/srvx/services/src
In directory sc8-pr-cvs1:/tmp/cvs-serv26772/src
Modified Files:
	opserv.c opserv.help 
Log Message:
implement RFE [643922] - numchannels trace criteria
Index: opserv.c
===================================================================
RCS file: /cvsroot/srvx/services/src/opserv.c,v
retrieving revision 1.319
retrieving revision 1.320
diff -C2 -r1.319 -r1.320
*** opserv.c	8 Jul 2003 01:55:32 -0000	1.319
--- opserv.c	8 Jul 2003 03:41:57 -0000	1.320
***************
*** 321,325 ****
      struct chanNode *channel;
      char *mask_nick, *mask_ident, *mask_host, *mask_info, *server, *ip_mask_str, *reason;
!     unsigned long limit, ip_addr, ip_mask, min_level, max_level, domain_depth, duration, min_clones;
      unsigned int match_opers : 1, option_log : 1;
      unsigned int chan_req_modes : 2, chan_no_modes : 2;
--- 321,326 ----
      struct chanNode *channel;
      char *mask_nick, *mask_ident, *mask_host, *mask_info, *server, *ip_mask_str, *reason;
!     unsigned long limit, ip_addr, ip_mask;
!     unsigned int min_level, max_level, domain_depth, duration, min_clones, min_channels, max_channels;
      unsigned int match_opers : 1, option_log : 1;
      unsigned int chan_req_modes : 2, chan_no_modes : 2;
***************
*** 2839,2842 ****
--- 2840,2844 ----
      discrim->max_ts = INT_MAX;
      discrim->domain_depth = 2;
+     discrim->max_channels = INT_MAX;
  
      for (i=0; i<argc; i++) {
***************
*** 2908,2911 ****
--- 2910,2915 ----
  		goto fail;
  	    }
+         } else if (irccasecmp(argv[i], "numchannels") == 0) {
+             discrim->min_channels = discrim->max_channels = strtoul(argv[++i], NULL, 10);
  	} else if (irccasecmp(argv[i], "limit") == 0) {
  	    discrim->limit = strtoul(argv[++i], NULL, 10);
***************
*** 2991,2994 ****
--- 2995,3000 ----
      if ((user->timestamp < discrim->min_ts)
          || (user->timestamp > discrim->max_ts)
+         || (user->channels.used < discrim->min_channels)
+         || (user->channels.used > discrim->max_channels)
  	|| (discrim->mask_nick && !match_ircglob(user->nick, discrim->mask_nick))
  	|| (discrim->mask_ident && !match_ircglob(user->ident, discrim->mask_ident))
Index: opserv.help
===================================================================
RCS file: /cvsroot/srvx/services/src/opserv.help,v
retrieving revision 1.58
retrieving revision 1.59
diff -C2 -r1.58 -r1.59
*** opserv.help	21 Feb 2003 07:22:31 -0000	1.58
--- opserv.help	8 Jul 2003 03:41:57 -0000	1.59
***************
*** 72,75 ****
--- 72,76 ----
          "$bIP$b 127.0.0.1           Specifies an IP to search for (independent of hostname).",
          "$bCHANNEL$b #target        Specifies a channel the client must be in.",
+         "$bNUMCHANNELS$b 5          Specifies a number of channels the client must be in.",
          "$bLIMIT$b 50               Limits the number of responses to a certain number.",
          "$bLAST$b duration          Client must have connected to IRC in the last $bduration$b (alias for LINKED <=duration)",
 |