SNMP2 support

php.internals

Andrey Hristov

22 years ago
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-----

Jani Taskinen

22 years ago
Wouldn't it be much more better idea to make this an ini-option..? (or add some kind of 'snmp_set_option()' func to set this and other similar options..?) --Jani On Wed, 14 Jan 2004, Andrey Hristov wrote: