Le Vendredi 23 Octobre 2009 17:24:17, Noah Baker a écrit :
> Can we get customizable socket support for the snmp agentx subagent?  I've
> implemented it using a -S flag.  It's useful if you need multiple subagents
> for monitoring multiple amavisd instances.  Tested w/ Net SNMP 5.4.2.1 with
> multiple agents.  Here's the patch:
> 
> --- /usr/sbin/amavisd-snmp-subagent   2009-10-15 17:23:36.000000000 -0700
> +++ /usr/sbin/amavisd-snmp-subagent   2009-10-16 17:27:15.000000000 -0700
> @@ -99,6 +99,8 @@
>  my($syslog_open) = 0;
>  my($num_proc_gone) = 0;
> 
> +my($agentx_socket); # e.g. "localhost:705";
> +
>  # geometic progression, rounded,
>  #   common ratio = exp((ln(60)-ln(1))/6) = 1.97860
>  my(@age_slots) = (
> @@ -125,6 +127,7 @@
>  use NetSNMP::OID;
>  use NetSNMP::ASN qw(:all);
>  use NetSNMP::agent qw(:all);
> +use NetSNMP::agent::default_store qw(:all);
>  use NetSNMP::default_store qw(:all);
> 
>  my(%oidstr_to_name);
> @@ -722,6 +725,8 @@
>     -f              stay in foreground
>     -d log_level    debugging level, 0..5, default 0
>     -P pid_file     a file name to receive a PID of a damonized process
> +   -S socket       agentx socket/port
> +                     default localhost:705
>     -D db_home_dir  amavis database directory ($db_home),
>                       default AMAVISD_DB_HOME or /var/amavis/db
>  EOD
> @@ -735,7 +740,7 @@
>    $SIG{TERM} = sub { die "terminated\n" };   # do the END code block
>    $SIG{PIPE} = 'IGNORE';  # don't signal on a write to a widowed pipe
> 
> -  while (@ARGV >= 2 && $ARGV[0] =~ /^-[dDP]\z/ ||
> +  while (@ARGV >= 2 && $ARGV[0] =~ /^-[dDPS]\z/ ||
>           @ARGV >= 1 && $ARGV[0] =~ /^-[hVf-]\z/) {
>      my($opt,$val);
>      $opt = shift @ARGV;
> @@ -754,6 +759,8 @@
>        $db_home = untaint($val)  if $val ne '';
>      } elsif ($opt eq '-P') {  # -P pid_file
>        $pid_filename = untaint($val)  if $val ne '';
> +    } elsif ($opt eq '-S') {  # -S agentx_socket
> +      $agentx_socket = untaint($val)  if $val ne '';
>      } else {
>        die "Error in parsing command line options: $opt\n\n" . usage();
>      }
> @@ -1100,6 +1107,10 @@
> 
>    #netsnmp_ds_set_boolean(NETSNMP_DS_APPLICATION_ID,
>    #                       NETSNMP_DS_LIB_DONT_READ_CONFIGS, 1);
> +  if (defined($agentx_socket)) {
> +    netsnmp_ds_set_string(NETSNMP_DS_APPLICATION_ID,
> +                          NETSNMP_DS_AGENT_X_SOCKET, $agentx_socket);
> +  }
> 
>    my($agent) = NetSNMP::agent->new('Name' => $agent_name, 'AgentX' => 1)
>      or die "Can't create a SNMP agent $agent_name";
> 
> ---------------------------------------------------------------------------
> --- Come build with us! The BlackBerry(R) Developer Conference in SF, CA is
> the only developer event you need to attend this year. Jumpstart your
> developing skills, take BlackBerry mobile applications to market and stay
> ahead of the curve. Join us from November 9 - 12, 2009. Register now!
> http://p.sf.net/sfu/devconference
> _______________________________________________
> AMaViS-user mailing list
> AMaViS-user@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/amavis-user
>  AMaViS-FAQ:http://www.amavis.org/amavis-faq.php3
>  AMaViS-HowTos:http://www.amavis.org/howto/

If we miss -S will listen 705 by default then?

------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
AMaViS-user mailing list
AMaViS-user@lists.sourceforge.net 
https://lists.sourceforge.net/lists/listinfo/amavis-user 
 AMaViS-FAQ:http://www.amavis.org/amavis-faq.php3 
 AMaViS-HowTos:http://www.amavis.org/howto/ 

Reply via email to