tony2001                Mon Jun  5 07:34:00 2006 UTC

  Modified files:              
    /php-src/ext/oci8   oci8_interface.c oci8.c 
  Log:
  fix OCIPasswordChange() parameters (patch by pholdaway at technocom-wireless 
dot com)
  prevent username. password and new password from being empty
  
  
http://cvs.php.net/viewcvs.cgi/php-src/ext/oci8/oci8_interface.c?r1=1.15&r2=1.16&diff_format=u
Index: php-src/ext/oci8/oci8_interface.c
diff -u php-src/ext/oci8/oci8_interface.c:1.15 
php-src/ext/oci8/oci8_interface.c:1.16
--- php-src/ext/oci8/oci8_interface.c:1.15      Tue Mar 28 09:13:22 2006
+++ php-src/ext/oci8/oci8_interface.c   Mon Jun  5 07:34:00 2006
@@ -25,7 +25,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: oci8_interface.c,v 1.15 2006/03/28 09:13:22 tony2001 Exp $ */
+/* $Id: oci8_interface.c,v 1.16 2006/06/05 07:34:00 tony2001 Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include "config.h"
@@ -1679,12 +1679,38 @@
        if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, ZEND_NUM_ARGS() 
TSRMLS_CC, "rsss", &z_connection, &user, &user_len, &pass_old, &pass_old_len, 
&pass_new, &pass_new_len) == SUCCESS) {
                PHP_OCI_ZVAL_TO_CONNECTION(z_connection, connection);
 
+               if (!user_len) {
+                       php_error_docref(NULL TSRMLS_CC, E_WARNING, "username 
cannot be empty");
+                       RETURN_FALSE;
+               }
+               if (!pass_old_len) {
+                       php_error_docref(NULL TSRMLS_CC, E_WARNING, "old 
password cannot be empty");
+                       RETURN_FALSE;
+               }
+               if (!pass_new_len) {
+                       php_error_docref(NULL TSRMLS_CC, E_WARNING, "new 
password cannot be empty");
+                       RETURN_FALSE;
+               }
+
                if (php_oci_password_change(connection, user, user_len, 
pass_old, pass_old_len, pass_new, pass_new_len TSRMLS_CC)) {
                        RETURN_FALSE;
                }
                RETURN_TRUE;
        } else if (zend_parse_parameters_ex(ZEND_PARSE_PARAMS_QUIET, 
ZEND_NUM_ARGS() TSRMLS_CC, "ssss", &dbname, &dbname_len, &user, &user_len, 
&pass_old, &pass_old_len, &pass_new, &pass_new_len) == SUCCESS) {
 
+               if (!user_len) {
+                       php_error_docref(NULL TSRMLS_CC, E_WARNING, "username 
cannot be empty");
+                       RETURN_FALSE;
+               }
+               if (!pass_old_len) {
+                       php_error_docref(NULL TSRMLS_CC, E_WARNING, "old 
password cannot be empty");
+                       RETURN_FALSE;
+               }
+               if (!pass_new_len) {
+                       php_error_docref(NULL TSRMLS_CC, E_WARNING, "new 
password cannot be empty");
+                       RETURN_FALSE;
+               }
+
                connection = php_oci_do_connect_ex(user, user_len, pass_old, 
pass_old_len, pass_new, pass_new_len, dbname, dbname_len, NULL, OCI_DEFAULT, 0, 
0 TSRMLS_CC);
                if (!connection) {
                        RETURN_FALSE;
http://cvs.php.net/viewcvs.cgi/php-src/ext/oci8/oci8.c?r1=1.300&r2=1.301&diff_format=u
Index: php-src/ext/oci8/oci8.c
diff -u php-src/ext/oci8/oci8.c:1.300 php-src/ext/oci8/oci8.c:1.301
--- php-src/ext/oci8/oci8.c:1.300       Mon May 29 10:59:15 2006
+++ php-src/ext/oci8/oci8.c     Mon Jun  5 07:34:00 2006
@@ -26,7 +26,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: oci8.c,v 1.300 2006/05/29 10:59:15 tony2001 Exp $ */
+/* $Id: oci8.c,v 1.301 2006/06/05 07:34:00 tony2001 Exp $ */
 /* TODO
  *
  * file://localhost/www/docs/oci10/ociaahan.htm#423823 - implement lob_empty() 
with OCI_ATTR_LOBEMPTY
@@ -647,7 +647,7 @@
 
        php_info_print_table_start();
        php_info_print_table_row(2, "OCI8 Support", "enabled");
-       php_info_print_table_row(2, "Revision", "$Revision: 1.300 $");
+       php_info_print_table_row(2, "Revision", "$Revision: 1.301 $");
 
        sprintf(buf, "%ld", OCI_G(num_persistent));
        php_info_print_table_row(2, "Active Persistent Connections", buf);
@@ -1264,7 +1264,7 @@
 
        if (new_password) {
                /* try to change password if new one was provided {{{ */
-               OCI_G(errcode) = PHP_OCI_CALL(OCIPasswordChange, 
(connection->svc, OCI_G(err), (text *)username, username_len+1, (text 
*)password, password_len+1, (text *)new_password, new_password_len+1, 
OCI_AUTH));
+               OCI_G(errcode) = PHP_OCI_CALL(OCIPasswordChange, 
(connection->svc, OCI_G(err), (text *)username, username_len, (text *)password, 
password_len, (text *)new_password, new_password_len, OCI_AUTH));
 
                if (OCI_G(errcode) != OCI_SUCCESS) {
                        php_oci_error(OCI_G(err), OCI_G(errcode) TSRMLS_CC);
@@ -1496,7 +1496,7 @@
  Change password for the user with the username given */
 int php_oci_password_change(php_oci_connection *connection, char *user, int 
user_len, char *pass_old, int pass_old_len, char *pass_new, int pass_new_len 
TSRMLS_DC)
 {
-       connection->errcode = PHP_OCI_CALL(OCIPasswordChange, (connection->svc, 
connection->err, (text *)user, user_len+1, (text *)pass_old, pass_old_len+1, 
(text *)pass_new, pass_new_len+1, OCI_DEFAULT));
+       connection->errcode = PHP_OCI_CALL(OCIPasswordChange, (connection->svc, 
connection->err, (text *)user, user_len, (text *)pass_old, pass_old_len, (text 
*)pass_new, pass_new_len, OCI_DEFAULT));
 
        if (connection->errcode != OCI_SUCCESS) {
                php_oci_error(connection->err, connection->errcode TSRMLS_CC);

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to