[PHP-CVS] svn: /php/php-src/trunk/ext/mysqlnd/ config.w32

2011-03-30 Thread Pierre Joye
pajoye   Wed, 30 Mar 2011 09:25:09 +

Revision: http://svn.php.net/viewvc?view=revisionrevision=309839

Log:
- fix build

Changed paths:
U   php/php-src/trunk/ext/mysqlnd/config.w32

Modified: php/php-src/trunk/ext/mysqlnd/config.w32
===
--- php/php-src/trunk/ext/mysqlnd/config.w322011-03-30 07:37:26 UTC (rev 
309838)
+++ php/php-src/trunk/ext/mysqlnd/config.w322011-03-30 09:25:09 UTC (rev 
309839)
@@ -7,10 +7,10 @@
if (CHECK_LIB(ws2_32.lib, mysqlnd)) {
mysqlnd_source =
mysqlnd.c  +
-   mysqlnd_alloc.c +
+   mysqlnd_alloc.c  +
mysqlnd_auth.c  +
mysqlnd_block_alloc.c  +
-   mysqlnd_bt.c +
+   mysqlnd_bt.c  +
mysqlnd_charset.c  +
mysqlnd_debug.c  +
mysqlnd_loaddata.c  +
@@ -22,7 +22,7 @@
mysqlnd_result_meta.c  +
mysqlnd_statistics.c  +
mysqlnd_wireprotocol.c  +
-   php_mysqlnd.c;
+   php_mysqlnd.c ;
EXTENSION(mysqlnd, mysqlnd_source, false);
if (((PHP_ZLIB==no)  (CHECK_LIB(zlib_a.lib;zlib.lib, 
mysqlnd, PHP_MYSQLND))) ||
(PHP_ZLIB_SHARED  CHECK_LIB(zlib.lib, mysqlnd, 
PHP_MYSQLND)) || (PHP_ZLIB == yes  (!PHP_ZLIB_SHARED)))

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

[PHP-CVS] svn: /php/php-src/trunk/ext/mysqlnd/ config.w32

2011-01-16 Thread Kalle Sommer Nielsen
kalleSun, 16 Jan 2011 15:44:48 +

Revision: http://svn.php.net/viewvc?view=revisionrevision=307512

Log:
Fix mysqlnd build

Changed paths:
U   php/php-src/trunk/ext/mysqlnd/config.w32

Modified: php/php-src/trunk/ext/mysqlnd/config.w32
===
--- php/php-src/trunk/ext/mysqlnd/config.w322011-01-16 12:57:34 UTC (rev 
307511)
+++ php/php-src/trunk/ext/mysqlnd/config.w322011-01-16 15:44:48 UTC (rev 
307512)
@@ -7,7 +7,7 @@
if (CHECK_LIB(ws2_32.lib, mysqlnd)) {
mysqlnd_source =
mysqlnd.c  +
-   mysqlnd_auth.c +
+   mysqlnd_auth.c  +
mysqlnd_block_alloc.c  +
mysqlnd_charset.c  +
mysqlnd_debug.c  +

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

[PHP-CVS] svn: /php/php-src/trunk/ext/mysqlnd/ config.w32 config9.m4 mysqlnd.c mysqlnd_auth.c mysqlnd_enum_n_def.h mysqlnd_priv.h mysqlnd_structs.h mysqlnd_wireprotocol.c mysqlnd_wireprotocol.h

2011-01-12 Thread Andrey Hristov
andrey   Wed, 12 Jan 2011 21:40:05 +

Revision: http://svn.php.net/viewvc?view=revisionrevision=307423

Log:
grok the MySQL 5.5 extended handshake.
Move the authentication routines, the native ones, to
separate file and encapsulate them in a plugin.
Depending on the server version and what the server
requests (or doesn't in old versions) load the authentication
plugin to handle it.
Currently only the 4.1+ authentication is supported. More to come

Changed paths:
U   php/php-src/trunk/ext/mysqlnd/config.w32
U   php/php-src/trunk/ext/mysqlnd/config9.m4
U   php/php-src/trunk/ext/mysqlnd/mysqlnd.c
A   php/php-src/trunk/ext/mysqlnd/mysqlnd_auth.c
U   php/php-src/trunk/ext/mysqlnd/mysqlnd_enum_n_def.h
U   php/php-src/trunk/ext/mysqlnd/mysqlnd_priv.h
U   php/php-src/trunk/ext/mysqlnd/mysqlnd_structs.h
U   php/php-src/trunk/ext/mysqlnd/mysqlnd_wireprotocol.c
U   php/php-src/trunk/ext/mysqlnd/mysqlnd_wireprotocol.h

Modified: php/php-src/trunk/ext/mysqlnd/config.w32
===
--- php/php-src/trunk/ext/mysqlnd/config.w32	2011-01-12 21:14:47 UTC (rev 307422)
+++ php/php-src/trunk/ext/mysqlnd/config.w32	2011-01-12 21:40:05 UTC (rev 307423)
@@ -7,6 +7,7 @@
 	if (CHECK_LIB(ws2_32.lib, mysqlnd)) {
 		mysqlnd_source =
 			mysqlnd.c  +
+			mysqlnd_auth.c +
 			mysqlnd_block_alloc.c  +
 			mysqlnd_charset.c  +
 			mysqlnd_debug.c  +

Modified: php/php-src/trunk/ext/mysqlnd/config9.m4
===
--- php/php-src/trunk/ext/mysqlnd/config9.m4	2011-01-12 21:14:47 UTC (rev 307422)
+++ php/php-src/trunk/ext/mysqlnd/config9.m4	2011-01-12 21:40:05 UTC (rev 307423)
@@ -16,7 +16,7 @@
 if test $PHP_MYSQLND_ENABLED = yes; then
   mysqlnd_sources=mysqlnd.c mysqlnd_charset.c mysqlnd_wireprotocol.c \
mysqlnd_ps.c mysqlnd_loaddata.c mysqlnd_net.c \
-   mysqlnd_ps_codec.c mysqlnd_statistics.c \
+   mysqlnd_ps_codec.c mysqlnd_statistics.c mysqlnd_auth.c \
    mysqlnd_result.c mysqlnd_result_meta.c mysqlnd_debug.c\
    mysqlnd_block_alloc.c mysqlnd_plugin.c php_mysqlnd.c


Modified: php/php-src/trunk/ext/mysqlnd/mysqlnd.c
===
--- php/php-src/trunk/ext/mysqlnd/mysqlnd.c	2011-01-12 21:14:47 UTC (rev 307422)
+++ php/php-src/trunk/ext/mysqlnd/mysqlnd.c	2011-01-12 21:40:05 UTC (rev 307423)
@@ -92,6 +92,10 @@
 		mnd_pefree(conn-options.charset_name, pers);
 		conn-options.charset_name = NULL;
 	}
+	if (conn-options.auth_protocol) {
+		mnd_pefree(conn-options.auth_protocol, pers);
+		conn-options.auth_protocol = NULL;
+	}
 	if (conn-options.num_commands) {
 		unsigned int i;
 		for (i = 0; i  conn-options.num_commands; i++) {
@@ -427,9 +431,8 @@
 /* }}} */


-#define MYSQLND_ASSEMBLED_PACKET_MAX_SIZE 3UL*1024UL*1024UL*1024UL
 /* {{{ mysqlnd_switch_to_ssl_if_needed */
-static MYSQLND_PACKET_AUTH *
+static enum_func_status
 mysqlnd_switch_to_ssl_if_needed(
 			MYSQLND * conn,
 			const MYSQLND_PACKET_GREET * const greet_packet,
@@ -438,13 +441,15 @@
 			TSRMLS_DC
 		)
 {
-	const MYSQLND_CHARSET * charset = NULL;
-	MYSQLND_PACKET_AUTH * auth_packet = conn-protocol-m.get_auth_packet(conn-protocol, FALSE TSRMLS_CC);
+	enum_func_status ret = FAIL;
+	const MYSQLND_CHARSET * charset;
+	MYSQLND_PACKET_AUTH * auth_packet;
 	DBG_ENTER(mysqlnd_switch_to_ssl_if_needed);

+	auth_packet = conn-protocol-m.get_auth_packet(conn-protocol, FALSE TSRMLS_CC);
 	if (!auth_packet) {
 		SET_OOM_ERROR(conn-error_info);
-		goto err;
+		goto end;
 	}
 	auth_packet-client_flags = mysql_flags;
 	auth_packet-max_packet_size = MYSQLND_ASSEMBLED_PACKET_MAX_SIZE;
@@ -466,20 +471,20 @@
 		if (!PACKET_WRITE(auth_packet, conn)) {
 			CONN_SET_STATE(conn, CONN_QUIT_SENT);
 			SET_CLIENT_ERROR(conn-error_info, CR_SERVER_GONE_ERROR, UNKNOWN_SQLSTATE, mysqlnd_server_gone);
-			goto err;
+			goto end;
 		}

 		conn-net-m.set_client_option(conn-net, MYSQL_OPT_SSL_VERIFY_SERVER_CERT, (const char *) verify TSRMLS_CC);

 		if (FAIL == conn-net-m.enable_ssl(conn-net TSRMLS_CC)) {
-			goto err;
+			goto end;
 		}
 	}
 #endif
-	DBG_RETURN(auth_packet);
-err:
+	ret = PASS;
+end:
 	PACKET_FREE(auth_packet);
-	DBG_RETURN(NULL);
+	DBG_RETURN(ret);
 }
 /* }}} */

@@ -498,76 +503,52 @@
 			TSRMLS_DC)
 {
 	enum_func_status ret = FAIL;
-	MYSQLND_PACKET_AUTH * auth_packet = NULL;
-	MYSQLND_PACKET_OK * ok_packet = conn-protocol-m.get_ok_packet(conn-protocol, FALSE TSRMLS_CC);
-
 	DBG_ENTER(mysqlnd_connect_run_authentication);

-	if (!ok_packet) {
-		SET_OOM_ERROR(conn-error_info);
-		goto err;
-	}
+	ret = mysqlnd_switch_to_ssl_if_needed(conn, greet_packet, options, mysql_flags TSRMLS_CC);
+	if (PASS == ret) {
+		char * switch_to_auth_protocol = NULL;
+		char * requested_protocol = NULL;

-	auth_packet = mysqlnd_switch_to_ssl_if_needed(conn, greet_packet, options, mysql_flags TSRMLS_CC);
+		do {
+