Skip to content

Commit ddcb67d

Browse files
committed
support for password expiration in mysqlnd, through a flag
1 parent 83f736a commit ddcb67d

File tree

2 files changed

+10
-1
lines changed

2 files changed

+10
-1
lines changed

ext/mysqlnd/mysqlnd.c

+8-1
Original file line numberDiff line numberDiff line change
@@ -2282,7 +2282,7 @@ MYSQLND_METHOD(mysqlnd_conn_data, set_client_option)(MYSQLND_CONN_DATA * const c
22822282
break;
22832283
#endif
22842284
case MYSQL_OPT_LOCAL_INFILE:
2285-
if (!value || (*(unsigned int*) value) ? 1 : 0) {
2285+
if (value && (*(unsigned int*) value) ? 1 : 0) {
22862286
conn->options->flags |= CLIENT_LOCAL_FILES;
22872287
} else {
22882288
conn->options->flags &= ~CLIENT_LOCAL_FILES;
@@ -2366,6 +2366,13 @@ MYSQLND_METHOD(mysqlnd_conn_data, set_client_option)(MYSQLND_CONN_DATA * const c
23662366
DBG_INF_FMT("auth_protocol=%s", conn->options->auth_protocol);
23672367
break;
23682368
}
2369+
case MYSQL_OPT_CAN_HANDLE_EXPIRED_PASSWORDS:
2370+
if (value && (*(unsigned int*) value) ? 1 : 0) {
2371+
conn->options->flags |= CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS;
2372+
} else {
2373+
conn->options->flags &= ~CLIENT_CAN_HANDLE_EXPIRED_PASSWORDS;
2374+
}
2375+
break;
23692376
#ifdef WHEN_SUPPORTED_BY_MYSQLI
23702377
case MYSQL_SHARED_MEMORY_BASE_NAME:
23712378
case MYSQL_OPT_USE_RESULT:

ext/mysqlnd/mysqlnd_enum_n_def.h

+2
Original file line numberDiff line numberDiff line change
@@ -169,6 +169,8 @@ typedef enum mysqlnd_option
169169
MYSQL_PLUGIN_DIR,
170170
MYSQL_DEFAULT_AUTH,
171171
MYSQL_SERVER_PUBLIC_KEY,
172+
MYSQL_ENABLE_CLEARTEXT_PLUGIN,
173+
MYSQL_OPT_CAN_HANDLE_EXPIRED_PASSWORDS,
172174
MYSQLND_DEPRECATED_ENUM1 = 200,
173175
#ifdef MYSQLND_STRING_TO_INT_CONVERSION
174176
MYSQLND_OPT_INT_AND_FLOAT_NATIVE = 201,

0 commit comments

Comments
 (0)