Commit:    258c76eb41a7eaf8e1e7b4994fa5f268c2060039
Author:    Andrey Hristov <and...@php.net>         Wed, 9 Jan 2013 18:58:29 
+0100
Parents:   bcd278ad7f3a8e549a3281600decd897dd7d73ce
Branches:  PHP-5.4 PHP-5.5 master

Link:       
http://git.php.net/?p=php-src.git;a=commitdiff;h=258c76eb41a7eaf8e1e7b4994fa5f268c2060039

Log:
backport handling of expired passwords in mysqlnd to 5.4

Changed paths:
  M  ext/mysqlnd/mysqlnd.c
  M  ext/mysqlnd/mysqlnd_enum_n_def.h


Diff:
diff --git a/ext/mysqlnd/mysqlnd.c b/ext/mysqlnd/mysqlnd.c
index db0a111..0b81ac9 100644
--- a/ext/mysqlnd/mysqlnd.c
+++ b/ext/mysqlnd/mysqlnd.c
@@ -2286,7 +2286,7 @@ MYSQLND_METHOD(mysqlnd_conn_data, 
set_client_option)(MYSQLND_CONN_DATA * const c
                        break;
 #endif
                case MYSQL_OPT_LOCAL_INFILE:
-                       if (!value || (*(unsigned int*) value) ? 1 : 0) {
+                       if (value && (*(unsigned int*) value) ? 1 : 0) {
                                conn->options->flags |= CLIENT_LOCAL_FILES;
                        } else {
                                conn->options->flags &= ~CLIENT_LOCAL_FILES;
@@ -2370,6 +2370,13 @@ MYSQLND_METHOD(mysqlnd_conn_data, 
set_client_option)(MYSQLND_CONN_DATA * const c
                        DBG_INF_FMT("auth_protocol=%s", 
conn->options->auth_protocol);
                        break;
                }
+               case MYSQL_OPT_CAN_HANDLE_EXPIRED_PASSWORDS:
+                       if (value && (*(unsigned int*) value) ? 1 : 0) {
+                               conn->options->flags |= 
CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS;
+                       } else {
+                               conn->options->flags &= 
~CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS;
+                       }
+                       break;
 #ifdef WHEN_SUPPORTED_BY_MYSQLI
                case MYSQL_SHARED_MEMORY_BASE_NAME:
                case MYSQL_OPT_USE_RESULT:
diff --git a/ext/mysqlnd/mysqlnd_enum_n_def.h b/ext/mysqlnd/mysqlnd_enum_n_def.h
index 56a2bf9..92f6cb3 100644
--- a/ext/mysqlnd/mysqlnd_enum_n_def.h
+++ b/ext/mysqlnd/mysqlnd_enum_n_def.h
@@ -95,7 +95,9 @@
 #define CLIENT_MULTI_RESULTS           (1UL << 17) /* Enable/disable 
multi-results */
 #define CLIENT_PS_MULTI_RESULTS                (1UL << 18) /* Multi-results in 
PS-protocol */
 #define CLIENT_PLUGIN_AUTH                     (1UL << 19) /* Client supports 
plugin authentication */
-
+#define CLIENT_CONNECT_ATTRS           (1UL << 20) /* Client supports 
connection attributes */
+#define CLIENT_PLUGIN_AUTH_LENENC_CLIENT_DATA  (1UL << 21) /* Enable 
authentication response packet to be larger than 255 bytes. */
+#define CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS            (1UL << 22) /* Don't 
close the connection for a connection with expired password. */
 #define CLIENT_SSL_VERIFY_SERVER_CERT (1UL << 30)
 
 #define MYSQLND_CAPABILITIES (CLIENT_LONG_PASSWORD | CLIENT_LONG_FLAG | 
CLIENT_TRANSACTIONS | \
@@ -164,6 +166,9 @@ typedef enum mysqlnd_option
        MYSQL_OPT_SSL_VERIFY_SERVER_CERT,
        MYSQL_PLUGIN_DIR,
        MYSQL_DEFAULT_AUTH,
+       MYSQL_SERVER_PUBLIC_KEY,
+       MYSQL_ENABLE_CLEARTEXT_PLUGIN,
+       MYSQL_OPT_CAN_HANDLE_EXPIRED_PASSWORDS,
 #if MYSQLND_UNICODE
        MYSQLND_OPT_NUMERIC_AND_DATETIME_AS_UNICODE = 200,
 #endif


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

Reply via email to