Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:7109 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 85311 invoked by uid 1010); 14 Jan 2004 17:39:46 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 85285 invoked from network); 14 Jan 2004 17:39:45 -0000 Received: from unknown (HELO stella.fastforwardnetwork.com) (209.51.153.50) by pb1.pair.com with SMTP; 14 Jan 2004 17:39:45 -0000 Received: (qmail 18018 invoked from network); 14 Jan 2004 18:44:16 -0000 Received: from pd951901a.dip.t-dialin.net (HELO hristov.com) (217.81.144.26) by d.goto.bg with SMTP; 14 Jan 2004 18:44:16 -0000 Message-ID: <40057E18.8060609@hristov.com> Date: Wed, 14 Jan 2004 18:36:24 +0100 User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.6) Gecko/20031230 X-Accept-Language: en-us, en MIME-Version: 1.0 To: internals@lists.php.net Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Subject: SNMP2 support From: php@hristov.com (Andrey Hristov) Hi internals, follows a message (note from the php.net site which was rejected) It contains a patch to add SNMP v2c support. I have no knowledge of SNMP but I think someone can review and say whether it's good or not, or maybe it can be applied if it's ok. Original URL : http://news.php.net/article.php?group=php.notes&article=63539 Andrey ---------------NOTE FOLLOWS------- Note Submitter: piegtas@hotmail.com ---- I make a patch to add SNMP v2c support. Just apply this patch with patch -p0. It adds a sixth parameter to snmpwalk/snmprealwalk/snmpget. It must be 1 (snmp_v1) or 2 (snmp_v2). diff -u ext/snmp/snmp.c ext/snmp.1/snmp.c --- ext/snmp/snmp.c Wed Jan 14 12:38:15 2004 +++ ext/snmp.1/snmp.c Wed Jan 14 12:35:47 2004 @@ -392,6 +392,7 @@ long timeout=SNMP_DEFAULT_TIMEOUT; long retries=SNMP_DEFAULT_RETRIES; int myargc = ZEND_NUM_ARGS(); + long myvers = SNMP_VERSION_1; char type = (char) 0; char *value = (char *) 0; char hostname[MAX_NAME_LEN]; @@ -437,6 +438,16 @@ convert_to_long_ex(a5); retries = Z_LVAL_PP(a5); } + + if(myargc > 5) { + convert_to_long_ex(a6); + switch(Z_LVAL_PP(a6)) { + case 1: myvers = SNMP_VERSION_1; + break; + case 2: myvers = SNMP_VERSION_2c; + break; + } + } } snmp_sess_init(&session); @@ -448,7 +459,7 @@ session.peername = hostname; session.remote_port = remote_port; - session.version = SNMP_VERSION_1; + session.version = (int)myvers; /* * FIXME: potential memory leak * This is a workaround for an "artifact" (Mike Slifcak) ------CUT HERE-----