ID:               20857
 Comment by:       di98mha at student dot bth dot se
 Reported By:      rs at epost dot de
 Status:           Closed
 Bug Type:         SNMP related
 Operating System: Linux RH 7.3
 PHP Version:      4.3.0RC2
 New Comment:

This bug still exist under 4.3.1!!
It seems like the patch is not added to this version.

The patch works perfectly fine if you add it in 4.3.1


Previous Comments:
------------------------------------------------------------------------

[2003-01-24 03:54:51] [EMAIL PROTECTED]

This bug has been fixed in CVS.

In case this was a PHP problem, snapshots of the sources are packaged
every three hours; this change will be in the next snapshot. You can
grab the snapshot at http://snaps.php.net/.
 
In case this was a documentation problem, the fix will show up soon at
http://www.php.net/manual/.

In case this was a PHP.net website problem, the change will show
up on the PHP.net site and on the mirror sites in short time.
 
Thank you for the report, and for helping us make PHP better.


Patch applied, thanks!


------------------------------------------------------------------------

[2003-01-24 02:36:15] jirapat at nstda dot or dot th

on WinNT4, W2K
snmpset function said "Couldn't add variable" when I try to use it with
version 4.3.0.
But if I use same script with php version 4.2.3 it's work fine in same
environment.
I've found this error on CVS version both 4.3.x and 5.x too.
I tried to copy php_snmp.dll from version 4.2.3 to replace version
4.3.0 script is work again.
So I think this must come from snmp extension from 4.3.0 up.

PS there is no problem with snmpget and snmpwalk

------------------------------------------------------------------------

[2003-01-09 08:18:32] steve at deinon dot com

This problem still exists for the php 4.3.0 release.  I am also using
net-snmp 5.0.6

The patch posted by [EMAIL PROTECTED] fixed the problem.  I updated the
offsets in his patch for the 4.3.0 sources.

The updated patch can be found at:
http://www.deinon.com/php/php-4.3.0-snmpset.patch

------------------------------------------------------------------------

[2002-12-07 04:35:59] rs at epost dot de

I tried this patch in diff -u format. Note that there is also a change
in the php_error_docref-string, becaue the output was not very
informative. Of course, I would prefer, that a php-snmp maintainer
would have a look at it.

--- snmp.c.orig Mon Nov 11 22:37:18 2002
+++ snmp.c      Sat Dec  7 11:23:24 2002
@@ -197,7 +197,7 @@
 static void php_snmp_internal(INTERNAL_FUNCTION_PARAMETERS,
                int st,
                struct snmp_session *session,
-               char *objid) 
+               char *objid, char type, char* value) 
 {
        struct snmp_session *ss;
        struct snmp_pdu *pdu=NULL, *response;
@@ -211,8 +211,6 @@
        char buf[2048];
        char buf2[2048];
        int keepwalking=1;
-       char type = (char) 0;
-       char *value = (char *) 0;
        char *err;
 
        if (st >= 2) { /* walk */
@@ -267,7 +265,12 @@
                } else if (st == 11) {
                        pdu = snmp_pdu_create(SNMP_MSG_SET);
                        if (snmp_add_var(pdu, name, name_length, type, value)) {
-                               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Could not 
add
variable: %s", name);
+#ifdef HAVE_NET_SNMP
+                               snprint_objid(buf, sizeof(buf), name, name_length);
+#else
+                               sprint_objid(buf, name, name_length);
+#endif
+                               php_error_docref(NULL TSRMLS_CC, E_WARNING, "Could not 
add
variable: %s %c %s", buf, type, value);
                                snmp_close(ss);
                                RETURN_FALSE;
                        }
@@ -466,7 +469,7 @@
        
        session.authenticator = NULL;
 
-       php_snmp_internal(INTERNAL_FUNCTION_PARAM_PASSTHRU, st, &session,
Z_STRVAL_PP(a3));
+       php_snmp_internal(INTERNAL_FUNCTION_PARAM_PASSTHRU, st, &session,
Z_STRVAL_PP(a3), type, value);
 }
 /* }}} */
 
@@ -849,7 +852,7 @@
        session.retries = retries;
        session.timeout = timeout;
 
-       php_snmp_internal(INTERNAL_FUNCTION_PARAM_PASSTHRU, st, &session,
Z_STRVAL_PP(a8));
+       php_snmp_internal(INTERNAL_FUNCTION_PARAM_PASSTHRU, st, &session,
Z_STRVAL_PP(a8), type, value);
 }
 /* }}} */

------------------------------------------------------------------------

[2002-12-06 18:37:58] [EMAIL PROTECTED]

Do you have a patch for this?


------------------------------------------------------------------------

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/20857

-- 
Edit this bug report at http://bugs.php.net/?id=20857&edit=1

Reply via email to