From nobody@FreeBSD.org  Thu Nov 15 07:40:50 2012
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52])
	by hub.freebsd.org (Postfix) with ESMTP id 6B26FF84
	for <freebsd-gnats-submit@FreeBSD.org>; Thu, 15 Nov 2012 07:40:50 +0000 (UTC)
	(envelope-from nobody@FreeBSD.org)
Received: from red.freebsd.org (red.freebsd.org [IPv6:2001:4f8:fff6::22])
	by mx1.freebsd.org (Postfix) with ESMTP id 508B28FC15
	for <freebsd-gnats-submit@FreeBSD.org>; Thu, 15 Nov 2012 07:40:50 +0000 (UTC)
Received: from red.freebsd.org (localhost [127.0.0.1])
	by red.freebsd.org (8.14.5/8.14.5) with ESMTP id qAF7enfr094252
	for <freebsd-gnats-submit@FreeBSD.org>; Thu, 15 Nov 2012 07:40:49 GMT
	(envelope-from nobody@red.freebsd.org)
Received: (from nobody@localhost)
	by red.freebsd.org (8.14.5/8.14.5/Submit) id qAF7endO094251;
	Thu, 15 Nov 2012 07:40:49 GMT
	(envelope-from nobody)
Message-Id: <201211150740.qAF7endO094251@red.freebsd.org>
Date: Thu, 15 Nov 2012 07:40:49 GMT
From: Valery Komarov <komarov@valerka.net>
To: freebsd-gnats-submit@FreeBSD.org
Subject: [UPDATE] databases/php5-redis to 2.2.2
X-Send-Pr-Version: www-3.1
X-GNATS-Notify: m.tsatsenko@gmail.com

>Number:         173643
>Category:       ports
>Synopsis:       [UPDATE] databases/php5-redis to 2.2.2
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    scheidell
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          update
>Submitter-Id:   current-users
>Arrival-Date:   Thu Nov 15 07:50:00 UTC 2012
>Closed-Date:    Fri Mar 01 10:52:14 UTC 2013
>Last-Modified:  Fri Mar  1 11:00:00 UTC 2013
>Originator:     Valery Komarov
>Release:        FreeBSD 9-STABLE amd64
>Organization:
>Environment:
>Description:
Update to version 2.2.2

p.s. resubmit becouse i can't find my previous PR 173625
>How-To-Repeat:

>Fix:


Patch attached with submission follows:

diff -ruN /usr/ports/databases/php5-redis/Makefile php5-redis/Makefile
--- /usr/ports/databases/php5-redis/Makefile	2012-05-17 05:00:03.978503597 +0400
+++ php5-redis/Makefile	2012-11-15 11:35:23.462008798 +0400
@@ -6,8 +6,7 @@
 #
 
 PORTNAME=	redis
-PORTVERSION=	2.2.1
-PORTREVISION=	1
+PORTVERSION=	2.2.2
 CATEGORIES=	databases
 MASTER_SITES=	https://github.com/nicolasff/phpredis/tarball/${PORTVERSION}/
 PKGNAMEPREFIX=	php5-
@@ -18,9 +17,9 @@
 
 LICENSE=	PHP301
 
-GITVERSION=	g882c7dc
+GITVERSION=	4197a7f
 FETCH_ARGS=	-pRr
-WRKSRC=		${WRKDIR}/nicolasff-phpredis-250e81b
+WRKSRC=		${WRKDIR}/nicolasff-phpredis-4197a7f
 
 USE_PHP=	session
 USE_PHP_BUILD=	yes
diff -ruN /usr/ports/databases/php5-redis/distinfo php5-redis/distinfo
--- /usr/ports/databases/php5-redis/distinfo	2012-04-19 05:05:42.533503012 +0400
+++ php5-redis/distinfo	2012-11-14 16:02:11.478009610 +0400
@@ -1,2 +1,2 @@
-SHA256 (nicolasff-phpredis-2.2.1-0-gg882c7dc.tar.gz) = ef72e795c7d9038e8a4b83a948e6952eb9e424cf4b8313bfa6403176701efd3a
-SIZE (nicolasff-phpredis-2.2.1-0-gg882c7dc.tar.gz) = 113427
+SHA256 (nicolasff-phpredis-2.2.2-0-g4197a7f.tar.gz) = 7e784a16d5ef4b6351e7237fb42d28153e820dbe3f1237886269e061a8467284
+SIZE (nicolasff-phpredis-2.2.2-0-g4197a7f.tar.gz) = 126081
diff -ruN /usr/ports/databases/php5-redis/files/patch-echo-nothrow php5-redis/files/patch-echo-nothrow
--- /usr/ports/databases/php5-redis/files/patch-echo-nothrow	2012-05-16 10:31:05.000000000 +0400
+++ php5-redis/files/patch-echo-nothrow	1970-01-01 03:00:00.000000000 +0300
@@ -1,1027 +0,0 @@
-diff --git a/README.markdown b/README.markdown
-index 265ff2a..c49e5b6 100644
---- a/README.markdown
-+++ README.markdown
-@@ -186,7 +186,6 @@ Parameter value.
- $redis->getOption(Redis::OPT_SERIALIZER);	// return Redis::SERIALIZER_NONE, Redis::SERIALIZER_PHP, or Redis::SERIALIZER_IGBINARY.
- </pre>
- 
--
- ## ping
- ##### *Description*
- 
-@@ -201,6 +200,20 @@ Check the current connection status
- *STRING*: `+PONG` on success. Throws a RedisException object on connectivity error, as described above.
- 
- 
-+## echo
-+##### *Description*
-+
-+Sends a string to Redis, which replies with the same string
-+
-+##### *Parameters*
-+
-+*STRING*: The message to send.
-+
-+##### *Return Value*
-+
-+*STRING*: the same message.
-+
-+
- ## get
- ##### *Description*
- 
-@@ -761,9 +774,9 @@ Adds a value to the set value stored at key. If this value is already in the set
- *BOOL* `TRUE` if value didn't exist and was added successfully, `FALSE` if the value is already present.
- ##### *Example*
- <pre>
--$redis->sAdd('key1' , 'set1'); /* TRUE, 'key1' => {'set1'} */
--$redis->sAdd('key1' , 'set2'); /* TRUE, 'key1' => {'set1', 'set2'}*/
--$redis->sAdd('key1' , 'set2'); /* FALSE, 'key1' => {'set1', 'set2'}*/
-+$redis->sAdd('key1' , 'member1'); /* TRUE, 'key1' => {'member1'} */
-+$redis->sAdd('key1' , 'member2'); /* TRUE, 'key1' => {'member1', 'member2'}*/
-+$redis->sAdd('key1' , 'member2'); /* FALSE, 'key1' => {'member1', 'member2'}*/
- </pre>
- 
- ## sRem, sRemove
-@@ -776,10 +789,10 @@ Removes the specified member from the set value stored at key.
- *BOOL* `TRUE` if the member was present in the set, `FALSE` if it didn't.
- ##### *Example*
- <pre>
--$redis->sAdd('key1' , 'set1'); 
--$redis->sAdd('key1' , 'set2'); 
--$redis->sAdd('key1' , 'set3'); /* 'key1' => {'set1', 'set2', 'set3'}*/
--$redis->sRem('key1', 'set2'); /* 'key1' => {'set1', 'set3'} */
-+$redis->sAdd('key1' , 'member1');
-+$redis->sAdd('key1' , 'member2');
-+$redis->sAdd('key1' , 'member3'); /* 'key1' => {'member1', 'member2', 'member3'}*/
-+$redis->sRem('key1', 'member2'); /* 'key1' => {'member1', 'member3'} */
- </pre>
- 
- ## sMove
-@@ -793,13 +806,13 @@ Moves the specified member from the set at srcKey to the set at dstKey.
- *BOOL* If the operation is successful, return `TRUE`. If the srcKey and/or dstKey didn't exist, and/or the member didn't exist in srcKey, `FALSE` is returned.
- ##### *Example*
- <pre>
--$redis->sAdd('key1' , 'set11'); 
--$redis->sAdd('key1' , 'set12'); 
--$redis->sAdd('key1' , 'set13'); /* 'key1' => {'set11', 'set12', 'set13'}*/
--$redis->sAdd('key2' , 'set21'); 
--$redis->sAdd('key2' , 'set22'); /* 'key2' => {'set21', 'set22'}*/
--$redis->sMove('key1', 'key2', 'set13'); /* 'key1' =>  {'set11', 'set12'} */
--					/* 'key2' =>  {'set21', 'set22', 'set13'} */
-+$redis->sAdd('key1' , 'member11');
-+$redis->sAdd('key1' , 'member12');
-+$redis->sAdd('key1' , 'member13'); /* 'key1' => {'member11', 'member12', 'member13'}*/
-+$redis->sAdd('key2' , 'member21');
-+$redis->sAdd('key2' , 'member22'); /* 'key2' => {'member21', 'member22'}*/
-+$redis->sMove('key1', 'key2', 'member13'); /* 'key1' =>  {'member11', 'member12'} */
-+					/* 'key2' =>  {'member21', 'member22', 'member13'} */
- 
- </pre>
- 
-@@ -814,12 +827,12 @@ Checks if `value` is a member of the set stored at the key `key`.
- *BOOL* `TRUE` if `value` is a member of the set at key `key`, `FALSE` otherwise.
- ##### *Example*
- <pre>
--$redis->sAdd('key1' , 'set1'); 
--$redis->sAdd('key1' , 'set2'); 
--$redis->sAdd('key1' , 'set3'); /* 'key1' => {'set1', 'set2', 'set3'}*/
-+$redis->sAdd('key1' , 'member1');
-+$redis->sAdd('key1' , 'member2');
-+$redis->sAdd('key1' , 'member3'); /* 'key1' => {'member1', 'member2', 'member3'}*/
- 
--$redis->sIsMember('key1', 'set1'); /* TRUE */
--$redis->sIsMember('key1', 'setX'); /* FALSE */
-+$redis->sIsMember('key1', 'member1'); /* TRUE */
-+$redis->sIsMember('key1', 'memberX'); /* FALSE */
- 
- </pre>
- 
-@@ -832,9 +845,9 @@ Returns the cardinality of the set identified by key.
- *LONG* the cardinality of the set identified by key, 0 if the set doesn't exist.
- ##### *Example*
- <pre>
--$redis->sAdd('key1' , 'set1'); 
--$redis->sAdd('key1' , 'set2'); 
--$redis->sAdd('key1' , 'set3'); /* 'key1' => {'set1', 'set2', 'set3'}*/
-+$redis->sAdd('key1' , 'member1');
-+$redis->sAdd('key1' , 'member2');
-+$redis->sAdd('key1' , 'member3'); /* 'key1' => {'member1', 'member2', 'member3'}*/
- $redis->sCard('key1'); /* 3 */
- $redis->sCard('keyX'); /* 0 */
- </pre>
-@@ -849,11 +862,11 @@ Removes and returns a random element from the set value at Key.
- *Bool* `FALSE` if set identified by key is empty or doesn't exist.
- ##### *Example*
- <pre>
--$redis->sAdd('key1' , 'set1'); 
--$redis->sAdd('key1' , 'set2'); 
--$redis->sAdd('key1' , 'set3'); /* 'key1' => {'set3', 'set1', 'set2'}*/
--$redis->sPop('key1'); /* 'set1', 'key1' => {'set3', 'set2'} */
--$redis->sPop('key1'); /* 'set3', 'key1' => {'set2'} */
-+$redis->sAdd('key1' , 'member1');
-+$redis->sAdd('key1' , 'member2');
-+$redis->sAdd('key1' , 'member3'); /* 'key1' => {'member3', 'member1', 'member2'}*/
-+$redis->sPop('key1'); /* 'member1', 'key1' => {'member3', 'member2'} */
-+$redis->sPop('key1'); /* 'member3', 'key1' => {'member2'} */
- </pre>
- 
- ## sRandMember
-@@ -866,11 +879,11 @@ Returns a random element from the set value at Key, without removing it.
- *Bool* `FALSE` if set identified by key is empty or doesn't exist.
- ##### *Example*
- <pre>
--$redis->sAdd('key1' , 'set1'); 
--$redis->sAdd('key1' , 'set2'); 
--$redis->sAdd('key1' , 'set3'); /* 'key1' => {'set3', 'set1', 'set2'}*/
--$redis->sRandMember('key1'); /* 'set1', 'key1' => {'set3', 'set1', 'set2'} */
--$redis->sRandMember('key1'); /* 'set3', 'key1' => {'set3', 'set1', 'set2'} */
-+$redis->sAdd('key1' , 'member1');
-+$redis->sAdd('key1' , 'member2');
-+$redis->sAdd('key1' , 'member3'); /* 'key1' => {'member3', 'member1', 'member2'}*/
-+$redis->sRandMember('key1'); /* 'member1', 'key1' => {'member3', 'member1', 'member2'} */
-+$redis->sRandMember('key1'); /* 'member3', 'key1' => {'member3', 'member1', 'member2'} */
- </pre>
- 
- ## sInter
-diff --git a/php_redis.h b/php_redis.h
-index 1dfaa0f..fd8f024 100755
---- a/php_redis.h
-+++ php_redis.h
-@@ -29,6 +29,7 @@ PHP_METHOD(Redis, connect);
- PHP_METHOD(Redis, pconnect);
- PHP_METHOD(Redis, close);
- PHP_METHOD(Redis, ping);
-+PHP_METHOD(Redis, echo);
- PHP_METHOD(Redis, get);
- PHP_METHOD(Redis, set);
- PHP_METHOD(Redis, setex);
-diff --git a/redis.c b/redis.c
-index 9ca3a14..3e15d73 100755
---- a/redis.c
-+++ redis.c
-@@ -76,6 +76,7 @@ static zend_function_entry redis_functions[] = {
-      PHP_ME(Redis, pconnect, NULL, ZEND_ACC_PUBLIC)
-      PHP_ME(Redis, close, NULL, ZEND_ACC_PUBLIC)
-      PHP_ME(Redis, ping, NULL, ZEND_ACC_PUBLIC)
-+     PHP_ME(Redis, echo, NULL, ZEND_ACC_PUBLIC)
-      PHP_ME(Redis, get, NULL, ZEND_ACC_PUBLIC)
-      PHP_ME(Redis, set, NULL, ZEND_ACC_PUBLIC)
-      PHP_ME(Redis, setex, NULL, ZEND_ACC_PUBLIC)
-@@ -324,7 +325,7 @@ static void redis_destructor_redis_sock(zend_rsrc_list_entry * rsrc TSRMLS_DC)
- /**
-  * redis_sock_get
-  */
--PHPAPI int redis_sock_get(zval *id, RedisSock **redis_sock TSRMLS_DC)
-+PHPAPI int redis_sock_get(zval *id, RedisSock **redis_sock TSRMLS_DC, int no_throw)
- {
- 
-     zval **socket;
-@@ -332,15 +333,21 @@ PHPAPI int redis_sock_get(zval *id, RedisSock **redis_sock TSRMLS_DC)
- 
-     if (Z_TYPE_P(id) != IS_OBJECT || zend_hash_find(Z_OBJPROP_P(id), "socket",
-                                   sizeof("socket"), (void **) &socket) == FAILURE) {
--        zend_throw_exception(redis_exception_ce, "Redis server went away", 0 TSRMLS_CC);
-+    	// Throw an exception unless we've been requested not to
-+        if(!no_throw) {
-+        	zend_throw_exception(redis_exception_ce, "Redis server went away", 0 TSRMLS_CC);
-+        }
-         return -1;
-     }
- 
-     *redis_sock = (RedisSock *) zend_list_find(Z_LVAL_PP(socket), &resource_type);
- 
-     if (!*redis_sock || resource_type != le_redis_sock) {
--			zend_throw_exception(redis_exception_ce, "Redis server went away", 0 TSRMLS_CC);
--            return -1;
-+		// Throw an exception unless we've been requested not to
-+    	if(!no_throw) {
-+    		zend_throw_exception(redis_exception_ce, "Redis server went away", 0 TSRMLS_CC);
-+    	}
-+		return -1;
-     }
- 
-     return Z_LVAL_PP(socket);
-@@ -471,7 +478,7 @@ PHP_METHOD(Redis,__destruct) {
- 
- 	// Grab our socket
- 	RedisSock *redis_sock;
--	if (redis_sock_get(getThis(), &redis_sock TSRMLS_CC) < 0) {
-+	if (redis_sock_get(getThis(), &redis_sock TSRMLS_CC, 1) < 0) {
- 		RETURN_FALSE;
- 	}
- 
-@@ -504,7 +511,7 @@ PHP_METHOD(Redis, pconnect)
- 	} else {
- 		/* reset multi/exec state if there is one. */
- 		RedisSock *redis_sock;
--		if (redis_sock_get(getThis(), &redis_sock TSRMLS_CC) < 0) {
-+		if (redis_sock_get(getThis(), &redis_sock TSRMLS_CC, 0) < 0) {
- 			RETURN_FALSE;
- 		}
- 
-@@ -547,7 +554,7 @@ PHPAPI int redis_connect(INTERNAL_FUNCTION_PARAMETERS, int persistent) {
- 	}
- 
- 	/* if there is a redis sock already we have to remove it from the list */
--	if (redis_sock_get(object, &redis_sock TSRMLS_CC) > 0) {
-+	if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) > 0) {
- 		if (zend_hash_find(Z_OBJPROP_P(object), "socket",
- 					sizeof("socket"), (void **) &socket) == FAILURE) {
- 			/* maybe there is a socket but the id isn't known.. what to do? */
-@@ -587,7 +594,7 @@ PHP_METHOD(Redis, close)
-         RETURN_FALSE;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -617,7 +624,7 @@ PHP_METHOD(Redis, set)
-         RETURN_FALSE;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -656,7 +663,7 @@ PHP_METHOD(Redis, setex)
-         RETURN_FALSE;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -691,7 +698,7 @@ PHP_METHOD(Redis, setnx)
-         RETURN_FALSE;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -729,7 +736,7 @@ PHP_METHOD(Redis, getSet)
-         RETURN_FALSE;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -763,7 +770,7 @@ PHP_METHOD(Redis, randomKey)
-         RETURN_FALSE;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -778,6 +785,39 @@ PHP_METHOD(Redis, randomKey)
- }
- /* }}} */
- 
-+/* {{{ proto string Redis::echo(string key)
-+ */
-+PHP_METHOD(Redis, echo)
-+{
-+    zval *object;
-+    RedisSock *redis_sock;
-+    char *key = NULL, *cmd;
-+    int key_len, cmd_len;
-+	int key_free;
-+
-+    if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Os",
-+                                     &object, redis_ce,
-+                                     &key, &key_len) == FAILURE) {
-+        RETURN_FALSE;
-+    }
-+
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-+        RETURN_FALSE;
-+    }
-+
-+	key_free = redis_key_prefix(redis_sock, &key, &key_len TSRMLS_CC);
-+    cmd_len = redis_cmd_format_static(&cmd, "ECHO", "s", key, key_len);
-+	if(key_free) efree(key);
-+
-+	REDIS_PROCESS_REQUEST(redis_sock, cmd, cmd_len);
-+    IF_ATOMIC() {
-+	  redis_string_response(INTERNAL_FUNCTION_PARAM_PASSTHRU, redis_sock, NULL, NULL);
-+    }
-+    REDIS_PROCESS_RESPONSE(redis_string_response);
-+
-+}
-+/* }}} */
-+
- /* {{{ proto string Redis::renameKey(string key_src, string key_dst)
-  */
- PHP_METHOD(Redis, renameKey)
-@@ -796,7 +836,7 @@ PHP_METHOD(Redis, renameKey)
-         RETURN_FALSE;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -833,7 +873,7 @@ PHP_METHOD(Redis, renameNx)
-         RETURN_FALSE;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -868,7 +908,7 @@ PHP_METHOD(Redis, get)
-         RETURN_FALSE;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -900,7 +940,7 @@ PHP_METHOD(Redis, ping)
-         RETURN_FALSE;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -929,7 +969,7 @@ PHPAPI void redis_atomic_increment(INTERNAL_FUNCTION_PARAMETERS, char *keyword,
-         RETURN_FALSE;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 	key_free = redis_key_prefix(redis_sock, &key, &key_len TSRMLS_CC);
-@@ -1055,7 +1095,7 @@ PHP_METHOD(Redis, getMultiple)
-         RETURN_FALSE;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -1141,7 +1181,7 @@ PHP_METHOD(Redis, exists)
-                                      &key, &key_len) == FAILURE) {
-         RETURN_FALSE;
-     }
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -1240,7 +1280,7 @@ PHP_METHOD(Redis, getKeys)
-         RETURN_NULL();
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -1274,7 +1314,7 @@ PHP_METHOD(Redis, type)
-         RETURN_NULL();
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -1304,7 +1344,7 @@ PHP_METHOD(Redis, append)
- 		RETURN_NULL();
- 	}
- 
--	if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+	if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
- 		RETURN_FALSE;
- 	}
- 
-@@ -1333,7 +1373,7 @@ PHP_METHOD(Redis, getRange)
- 		RETURN_FALSE;
- 	}
- 
--	if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+	if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
- 		RETURN_FALSE;
- 	}
- 
-@@ -1361,7 +1401,7 @@ PHP_METHOD(Redis, setRange)
- 		RETURN_FALSE;
- 	}
- 
--	if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+	if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
- 		RETURN_FALSE;
- 	}
- 
-@@ -1389,7 +1429,7 @@ PHP_METHOD(Redis, getBit)
- 		RETURN_FALSE;
- 	}
- 
--	if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+	if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
- 		RETURN_FALSE;
- 	}
- 
-@@ -1418,7 +1458,7 @@ PHP_METHOD(Redis, setBit)
- 		RETURN_FALSE;
- 	}
- 
--	if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+	if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
- 		RETURN_FALSE;
- 	}
- 
-@@ -1447,7 +1487,7 @@ PHP_METHOD(Redis, strlen)
- 		RETURN_NULL();
- 	}
- 
--	if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+	if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
- 		RETURN_FALSE;
- 	}
- 
-@@ -1477,7 +1517,7 @@ generic_push_function(INTERNAL_FUNCTION_PARAMETERS, char *keyword, int keyword_l
-         RETURN_NULL();
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -1550,7 +1590,7 @@ PHP_METHOD(Redis, lInsert)
- 		RETURN_NULL();
- 	}
- 
--	if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+	if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
- 		RETURN_FALSE;
- 	}
- 	
-@@ -1599,7 +1639,7 @@ generic_pop_function(INTERNAL_FUNCTION_PARAMETERS, char *keyword, int keyword_le
-         RETURN_FALSE;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -1689,7 +1729,7 @@ PHP_METHOD(Redis, lSize)
-         RETURN_FALSE;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -1725,7 +1765,7 @@ PHP_METHOD(Redis, lRemove)
-         RETURN_NULL();
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -1761,7 +1801,7 @@ PHP_METHOD(Redis, listTrim)
-         RETURN_FALSE;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -1794,7 +1834,7 @@ PHP_METHOD(Redis, lGet)
-         RETURN_NULL();
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -1827,7 +1867,7 @@ PHP_METHOD(Redis, lGetRange)
-         RETURN_FALSE;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -1878,7 +1918,7 @@ PHP_METHOD(Redis, sSize)
-         RETURN_FALSE;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -1930,7 +1970,7 @@ PHP_METHOD(Redis, sMove)
-         RETURN_FALSE;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -1985,7 +2025,7 @@ PHP_METHOD(Redis, sContains)
-         return;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -2018,7 +2058,7 @@ PHP_METHOD(Redis, sMembers)
-         RETURN_FALSE;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -2059,7 +2099,7 @@ PHPAPI int generic_multiple_args_cmd(INTERNAL_FUNCTION_PARAMETERS, char *keyword
-     }
- 
- 	/* get redis socket */
--    if (redis_sock_get(getThis(), out_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(getThis(), out_sock TSRMLS_CC, 0) < 0) {
- 		ZVAL_BOOL(return_value, 0);
- 		return FAILURE;
-     }
-@@ -2392,7 +2432,7 @@ PHP_METHOD(Redis, sort) {
-         RETURN_FALSE;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -2603,7 +2643,7 @@ PHPAPI void generic_sort_cmd(INTERNAL_FUNCTION_PARAMETERS, char *sort, int use_a
-         RETURN_FALSE;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
-     if(key_len == 0) {
-@@ -2798,7 +2838,7 @@ PHPAPI void generic_expire_cmd(INTERNAL_FUNCTION_PARAMETERS, char *keyword, int
-         RETURN_FALSE;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -2847,7 +2887,7 @@ PHP_METHOD(Redis, lSet) {
-         RETURN_FALSE;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -2874,7 +2914,7 @@ PHPAPI void generic_empty_cmd_impl(INTERNAL_FUNCTION_PARAMETERS, char *cmd, int
-         RETURN_FALSE;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -2921,7 +2961,7 @@ PHPAPI void generic_empty_long_cmd(INTERNAL_FUNCTION_PARAMETERS, char *cmd, int
-         RETURN_FALSE;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -2988,7 +3028,7 @@ PHP_METHOD(Redis, auth) {
-         RETURN_FALSE;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -3017,7 +3057,7 @@ PHP_METHOD(Redis, persist) {
-         RETURN_FALSE;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -3048,7 +3088,7 @@ PHP_METHOD(Redis, ttl) {
-         RETURN_FALSE;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -3079,7 +3119,7 @@ PHP_METHOD(Redis, info) {
-         RETURN_FALSE;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -3118,7 +3158,7 @@ PHP_METHOD(Redis, select) {
-         RETURN_FALSE;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -3148,7 +3188,7 @@ PHP_METHOD(Redis, move) {
-         RETURN_FALSE;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -3183,7 +3223,7 @@ generic_mset(INTERNAL_FUNCTION_PARAMETERS, char *kw, void (*fun)(INTERNAL_FUNCTI
-         RETURN_FALSE;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -3307,7 +3347,7 @@ PHP_METHOD(Redis, rpoplpush)
-     zval *object;
-     RedisSock *redis_sock;
-     char *srckey = NULL, *dstkey = NULL;
--    int srckey_len, dstkey_len, cmd_len;
-+    int srckey_len, dstkey_len;
- 
-     if (zend_parse_method_parameters(ZEND_NUM_ARGS() TSRMLS_CC, getThis(), "Oss",
-                                      &object, redis_ce, &srckey, &srckey_len,
-@@ -3315,7 +3355,7 @@ PHP_METHOD(Redis, rpoplpush)
-         RETURN_FALSE;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -3339,7 +3379,7 @@ PHP_METHOD(Redis, brpoplpush)
-         RETURN_FALSE;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -3367,7 +3407,7 @@ PHP_METHOD(Redis, zAdd) {
- 	int argc = ZEND_NUM_ARGS(), i;
- 
- 	/* get redis socket */
--    if (redis_sock_get(getThis(), &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(getThis(), &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -3466,7 +3506,7 @@ PHP_METHOD(Redis, zRange)
-         RETURN_FALSE;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -3529,7 +3569,7 @@ PHP_METHOD(Redis, zDeleteRangeByScore)
-         RETURN_FALSE;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -3562,7 +3602,7 @@ PHP_METHOD(Redis, zDeleteRangeByRank)
-         RETURN_FALSE;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -3596,7 +3636,7 @@ PHP_METHOD(Redis, zReverseRange)
-         RETURN_FALSE;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -3649,7 +3689,7 @@ redis_generic_zrange_by_score(INTERNAL_FUNCTION_PARAMETERS, char *keyword) {
-         RETURN_FALSE;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -3755,7 +3795,7 @@ PHP_METHOD(Redis, zCount)
-         RETURN_FALSE;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -3786,7 +3826,7 @@ PHP_METHOD(Redis, zCard)
-         RETURN_FALSE;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -3820,7 +3860,7 @@ PHP_METHOD(Redis, zScore)
-         RETURN_FALSE;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -3853,7 +3893,7 @@ PHPAPI void generic_rank_method(INTERNAL_FUNCTION_PARAMETERS, char *keyword, int
-         RETURN_FALSE;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -3903,7 +3943,7 @@ PHPAPI void generic_incrby_method(INTERNAL_FUNCTION_PARAMETERS, char *keyword, i
-         RETURN_FALSE;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -3948,7 +3988,7 @@ PHPAPI void generic_z_command(INTERNAL_FUNCTION_PARAMETERS, char *command, int c
- 		RETURN_FALSE;
- 	}
- 
--    if(redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if(redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
- 		RETURN_FALSE;
-     }
- 
-@@ -4126,7 +4166,7 @@ generic_hset(INTERNAL_FUNCTION_PARAMETERS, char *kw, void (*fun)(INTERNAL_FUNCTI
-         RETURN_FALSE;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -4170,7 +4210,7 @@ PHP_METHOD(Redis, hGet)
-         RETURN_FALSE;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 	key_free = redis_key_prefix(redis_sock, &key, &key_len TSRMLS_CC);
-@@ -4200,7 +4240,7 @@ PHP_METHOD(Redis, hLen)
-         RETURN_FALSE;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -4232,7 +4272,7 @@ generic_hash_command_2(INTERNAL_FUNCTION_PARAMETERS, char *keyword, int keyword_
-             return NULL;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-             ZVAL_BOOL(return_value, 0);
-             return NULL;
-     }
-@@ -4293,7 +4333,7 @@ generic_hash_command_1(INTERNAL_FUNCTION_PARAMETERS, char *keyword, int keyword_
-             return NULL;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-             ZVAL_BOOL(return_value, 0);
-             return NULL;
-     }
-@@ -4441,7 +4481,7 @@ PHP_METHOD(Redis, hIncrBy)
-         RETURN_FALSE;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -4492,7 +4532,7 @@ PHP_METHOD(Redis, hMget) {
-         RETURN_FALSE;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
-     nb_fields = zend_hash_num_elements(Z_ARRVAL_P(z_array));
-@@ -4572,7 +4612,7 @@ PHP_METHOD(Redis, hMset)
-         RETURN_FALSE;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -4681,7 +4721,7 @@ PHP_METHOD(Redis, multi)
- 
-     /* if the flag is activated, send the command, the reply will be "QUEUED" or -ERR */
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -4730,7 +4770,7 @@ PHP_METHOD(Redis, discard)
-         RETURN_FALSE;
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -4832,7 +4872,7 @@ PHP_METHOD(Redis, exec)
-                                      &object, redis_ce) == FAILURE) {
-         RETURN_FALSE;
-     }
--   	if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+   	if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-        	RETURN_FALSE;
-     }
- 
-@@ -4931,7 +4971,7 @@ PHP_METHOD(Redis, pipeline)
-     }
- 
-     /* if the flag is activated, send the command, the reply will be "QUEUED" or -ERR */
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 	redis_sock->mode = PIPELINE;
-@@ -4963,7 +5003,7 @@ PHP_METHOD(Redis, publish)
-         RETURN_NULL();
-     }
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -5004,7 +5044,7 @@ PHP_METHOD(Redis, subscribe)
- 		RETURN_FALSE;	
- 	}
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -5164,7 +5204,7 @@ PHP_METHOD(Redis, unsubscribe)
- 									 &object, redis_ce, &array) == FAILURE) {
- 		RETURN_FALSE;	
- 	}
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -5248,7 +5288,7 @@ PHP_METHOD(Redis, slaveof)
- 									 &object, redis_ce, &host, &host_len, &port) == FAILURE) {
- 		RETURN_FALSE;
- 	}
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -5280,7 +5320,7 @@ PHP_METHOD(Redis, object)
- 									 &object, redis_ce, &info, &info_len, &key, &key_len) == FAILURE) {
- 		RETURN_FALSE;
- 	}
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -5318,7 +5358,7 @@ PHP_METHOD(Redis, getOption)  {
- 		RETURN_FALSE;
- 	}
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -5354,7 +5394,7 @@ PHP_METHOD(Redis, setOption) {
- 		RETURN_FALSE;
- 	}
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-@@ -5414,7 +5454,7 @@ PHP_METHOD(Redis, config)
- 		RETURN_FALSE;
- 	}
- 
--    if (redis_sock_get(object, &redis_sock TSRMLS_CC) < 0) {
-+    if (redis_sock_get(object, &redis_sock TSRMLS_CC, 0) < 0) {
-         RETURN_FALSE;
-     }
- 
-diff --git a/tests/TestRedis.php b/tests/TestRedis.php
-index 1033b01..46af355 100644
---- a/tests/TestRedis.php
-+++ tests/TestRedis.php
-@@ -115,6 +115,12 @@ class Redis_Test extends TestSuite
- 	 $this->assertEquals($s, $this->redis->get('x'));
-     }
- 
-+	public function testEcho() {
-+		$this->assertEquals($this->redis->echo("hello"), "hello");
-+		$this->assertEquals($this->redis->echo(""), "");
-+		$this->assertEquals($this->redis->echo(" 0123 "), " 0123 ");
-+	}
-+
-     public function testErr() {
- 
- 	 $this->redis->set('x', '-ERR');


>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-ports-bugs->scheidell 
Responsible-Changed-By: edwin 
Responsible-Changed-When: Thu Nov 15 07:50:10 UTC 2012 
Responsible-Changed-Why:  
scheidell@ wants his PRs (via the GNATS Auto Assign Tool) 

http://www.freebsd.org/cgi/query-pr.cgi?pr=173643 
State-Changed-From-To: open->feedback 
State-Changed-By: edwin 
State-Changed-When: Thu Nov 15 07:50:12 UTC 2012 
State-Changed-Why:  
Awaiting maintainers feedback (via the GNATS Auto Assign Tool) 

http://www.freebsd.org/cgi/query-pr.cgi?pr=173643 

From: Edwin Groothuis <edwin@FreeBSD.org>
To: m.tsatsenko@gmail.com
Cc: bug-followup@FreeBSD.org
Subject: Re: ports/173643: [UPDATE] databases/php5-redis to 2.2.2
Date: Thu, 15 Nov 2012 07:50:11 UT

 Maintainer of databases/php5-redis,
 
 Please note that PR ports/173643 has just been submitted.
 
 If it contains a patch for an upgrade, an enhancement or a bug fix
 you agree on, reply to this email stating that you approve the patch
 and a committer will take care of it.
 
 The full text of the PR can be found at:
     http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/173643
 
 -- 
 Edwin Groothuis via the GNATS Auto Assign Tool
 edwin@FreeBSD.org

From: Mikhail Tsatsenko <m.tsatsenko@gmail.com>
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: ports/173643: [UPDATE] databases/php5-redis to 2.2.2
Date: Sun, 25 Nov 2012 15:00:41 +0300

 --047d7b15fdf7e2ca5904cf50902a
 Content-Type: text/plain; charset=ISO-8859-1
 
 Please see the patch attached.
 Changes:
 - Convert to new Makefile header
 - Enable converters/igbinary support. Suggested by: devzone.my at gmail.com
 
 --047d7b15fdf7e2ca5904cf50902a
 Content-Type: text/plain; charset=US-ASCII; name="redis.txt"
 Content-Disposition: attachment; filename="redis.txt"
 Content-Transfer-Encoding: base64
 X-Attachment-Id: f_h9y46ram0
 
 SW5kZXg6IGRhdGFiYXNlcy9waHA1LXJlZGlzL01ha2VmaWxlCj09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGRhdGFi
 YXNlcy9waHA1LXJlZGlzL01ha2VmaWxlCShyZXZpc2lvbiAzMDc3NDApCisrKyBkYXRhYmFzZXMv
 cGhwNS1yZWRpcy9NYWtlZmlsZQkod29ya2luZyBjb3B5KQpAQCAtMSwxMyArMSw5IEBACi0jIE5l
 dyBwb3J0cyBjb2xsZWN0aW9uIG1ha2VmaWxlIGZvcjogICBwaHA1LXJlZGlzCi0jIERhdGUgY3Jl
 YXRlZDogICAgICAgIDkgQXByaWwgMjAxMAotIyBXaG9tOiAgICAgICAgICAgICAgICBCZW5lZGlr
 dCBOaWVzc2VuIDxwb3J0c0BuaWVzc2VuLmNoPgotIworIyBDcmVhdGVkIGJ5OiBCZW5lZGlrdCBO
 aWVzc2VuIDxwb3J0c0BuaWVzc2VuLmNoPgogIyAkRnJlZUJTRCQKICMKIAogUE9SVE5BTUU9CXJl
 ZGlzCi1QT1JUVkVSU0lPTj0JMi4yLjEKLVBPUlRSRVZJU0lPTj0JMQorUE9SVFZFUlNJT049CTIu
 Mi4yCiBDQVRFR09SSUVTPQlkYXRhYmFzZXMKIE1BU1RFUl9TSVRFUz0JaHR0cHM6Ly9naXRodWIu
 Y29tL25pY29sYXNmZi9waHByZWRpcy90YXJiYWxsLyR7UE9SVFZFUlNJT059LwogUEtHTkFNRVBS
 RUZJWD0JcGhwNS0KQEAgLTE4LDkgKzE0LDkgQEAKIAogTElDRU5TRT0JUEhQMzAxCiAKLUdJVFZF
 UlNJT049CWc4ODJjN2RjCitHSVRWRVJTSU9OPQk0MTk3YTdmCiBGRVRDSF9BUkdTPQktcFJyCi1X
 UktTUkM9CQkke1dSS0RJUn0vbmljb2xhc2ZmLXBocHJlZGlzLTI1MGU4MWIKK1dSS1NSQz0JCSR7
 V1JLRElSfS9uaWNvbGFzZmYtcGhwcmVkaXMtNDE5N2E3ZgogCiBVU0VfUEhQPQlzZXNzaW9uCiBV
 U0VfUEhQX0JVSUxEPQl5ZXMKQEAgLTI5LDQgKzI1LDE2IEBACiAKIFBIUF9NT0ROQU1FPQlyZWRp
 cwogCitPUFRJT05TX0RFRklORT0JSUdCSU5BUlkKK0lHQklOQVJZX0RFU0M9CUJ1aWxkIHdpdGgg
 SWdiaW5hcnkgc2VyaWFsaXplcgorCisuaW5jbHVkZSA8YnNkLnBvcnQub3B0aW9ucy5taz4KKwor
 LmlmICR7UE9SVF9PUFRJT05TOk1JR0JJTkFSWX0KK1VTRV9QSFArPQlpZ2JpbmFyeQorQ09ORklV
 UkVfQVJHUys9CS0tZW5hYmxlLXJlZGlzLWlnYmluYXJ5CisuZWxzZQorQ09ORklVUkVfQVJHUys9
 CS0tZGlzYWJsZS1yZWRpcy1pZ2JpbmFyeQorLmVuZGlmCisKIC5pbmNsdWRlIDxic2QucG9ydC5t
 az4KSW5kZXg6IGRhdGFiYXNlcy9waHA1LXJlZGlzL2Rpc3RpbmZvCj09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGRh
 dGFiYXNlcy9waHA1LXJlZGlzL2Rpc3RpbmZvCShyZXZpc2lvbiAzMDc3NDApCisrKyBkYXRhYmFz
 ZXMvcGhwNS1yZWRpcy9kaXN0aW5mbwkod29ya2luZyBjb3B5KQpAQCAtMSwyICsxLDIgQEAKLVNI
 QTI1NiAobmljb2xhc2ZmLXBocHJlZGlzLTIuMi4xLTAtZ2c4ODJjN2RjLnRhci5neikgPSBlZjcy
 ZTc5NWM3ZDkwMzhlOGE0YjgzYTk0OGU2OTUyZWI5ZTQyNGNmNGI4MzEzYmZhNjQwMzE3NjcwMWVm
 ZDNhCi1TSVpFIChuaWNvbGFzZmYtcGhwcmVkaXMtMi4yLjEtMC1nZzg4MmM3ZGMudGFyLmd6KSA9
 IDExMzQyNworU0hBMjU2IChuaWNvbGFzZmYtcGhwcmVkaXMtMi4yLjItMC1nNDE5N2E3Zi50YXIu
 Z3opID0gN2U3ODRhMTZkNWVmNGI2MzUxZTcyMzdmYjQyZDI4MTUzZTgyMGRiZTNmMTIzNzg4NjI2
 OWUwNjFhODQ2NzI4NAorU0laRSAobmljb2xhc2ZmLXBocHJlZGlzLTIuMi4yLTAtZzQxOTdhN2Yu
 dGFyLmd6KSA9IDEyNjA4MQpJbmRleDogZGF0YWJhc2VzL3BocDUtcmVkaXMvZmlsZXMvcGF0Y2gt
 ZWNoby1ub3Rocm93Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGRhdGFiYXNlcy9waHA1LXJlZGlzL2ZpbGVzL3Bh
 dGNoLWVjaG8tbm90aHJvdwkocmV2aXNpb24gMzA3NzQwKQorKysgZGF0YWJhc2VzL3BocDUtcmVk
 aXMvZmlsZXMvcGF0Y2gtZWNoby1ub3Rocm93CSh3b3JraW5nIGNvcHkpCkBAIC0xLDEwMjcgKzAs
 MCBAQAotZGlmZiAtLWdpdCBhL1JFQURNRS5tYXJrZG93biBiL1JFQURNRS5tYXJrZG93bgotaW5k
 ZXggMjY1ZmYyYS4uYzQ5ZTViNiAxMDA2NDQKLS0tLSBhL1JFQURNRS5tYXJrZG93bgotKysrIFJF
 QURNRS5tYXJrZG93bgotQEAgLTE4Niw3ICsxODYsNiBAQCBQYXJhbWV0ZXIgdmFsdWUuCi0gJHJl
 ZGlzLT5nZXRPcHRpb24oUmVkaXM6Ok9QVF9TRVJJQUxJWkVSKTsJLy8gcmV0dXJuIFJlZGlzOjpT
 RVJJQUxJWkVSX05PTkUsIFJlZGlzOjpTRVJJQUxJWkVSX1BIUCwgb3IgUmVkaXM6OlNFUklBTEla
 RVJfSUdCSU5BUlkuCi0gPC9wcmU+Ci0gCi0tCi0gIyMgcGluZwotICMjIyMjICpEZXNjcmlwdGlv
 bioKLSAKLUBAIC0yMDEsNiArMjAwLDIwIEBAIENoZWNrIHRoZSBjdXJyZW50IGNvbm5lY3Rpb24g
 c3RhdHVzCi0gKlNUUklORyo6IGArUE9OR2Agb24gc3VjY2Vzcy4gVGhyb3dzIGEgUmVkaXNFeGNl
 cHRpb24gb2JqZWN0IG9uIGNvbm5lY3Rpdml0eSBlcnJvciwgYXMgZGVzY3JpYmVkIGFib3ZlLgot
 IAotIAotKyMjIGVjaG8KLSsjIyMjIyAqRGVzY3JpcHRpb24qCi0rCi0rU2VuZHMgYSBzdHJpbmcg
 dG8gUmVkaXMsIHdoaWNoIHJlcGxpZXMgd2l0aCB0aGUgc2FtZSBzdHJpbmcKLSsKLSsjIyMjIyAq
 UGFyYW1ldGVycyoKLSsKLSsqU1RSSU5HKjogVGhlIG1lc3NhZ2UgdG8gc2VuZC4KLSsKLSsjIyMj
 IyAqUmV0dXJuIFZhbHVlKgotKwotKypTVFJJTkcqOiB0aGUgc2FtZSBtZXNzYWdlLgotKwotKwot
 ICMjIGdldAotICMjIyMjICpEZXNjcmlwdGlvbioKLSAKLUBAIC03NjEsOSArNzc0LDkgQEAgQWRk
 cyBhIHZhbHVlIHRvIHRoZSBzZXQgdmFsdWUgc3RvcmVkIGF0IGtleS4gSWYgdGhpcyB2YWx1ZSBp
 cyBhbHJlYWR5IGluIHRoZSBzZXQKLSAqQk9PTCogYFRSVUVgIGlmIHZhbHVlIGRpZG4ndCBleGlz
 dCBhbmQgd2FzIGFkZGVkIHN1Y2Nlc3NmdWxseSwgYEZBTFNFYCBpZiB0aGUgdmFsdWUgaXMgYWxy
 ZWFkeSBwcmVzZW50LgotICMjIyMjICpFeGFtcGxlKgotIDxwcmU+Ci0tJHJlZGlzLT5zQWRkKCdr
 ZXkxJyAsICdzZXQxJyk7IC8qIFRSVUUsICdrZXkxJyA9PiB7J3NldDEnfSAqLwotLSRyZWRpcy0+
 c0FkZCgna2V5MScgLCAnc2V0MicpOyAvKiBUUlVFLCAna2V5MScgPT4geydzZXQxJywgJ3NldDIn
 fSovCi0tJHJlZGlzLT5zQWRkKCdrZXkxJyAsICdzZXQyJyk7IC8qIEZBTFNFLCAna2V5MScgPT4g
 eydzZXQxJywgJ3NldDInfSovCi0rJHJlZGlzLT5zQWRkKCdrZXkxJyAsICdtZW1iZXIxJyk7IC8q
 IFRSVUUsICdrZXkxJyA9PiB7J21lbWJlcjEnfSAqLwotKyRyZWRpcy0+c0FkZCgna2V5MScgLCAn
 bWVtYmVyMicpOyAvKiBUUlVFLCAna2V5MScgPT4geydtZW1iZXIxJywgJ21lbWJlcjInfSovCi0r
 JHJlZGlzLT5zQWRkKCdrZXkxJyAsICdtZW1iZXIyJyk7IC8qIEZBTFNFLCAna2V5MScgPT4geydt
 ZW1iZXIxJywgJ21lbWJlcjInfSovCi0gPC9wcmU+Ci0gCi0gIyMgc1JlbSwgc1JlbW92ZQotQEAg
 LTc3NiwxMCArNzg5LDEwIEBAIFJlbW92ZXMgdGhlIHNwZWNpZmllZCBtZW1iZXIgZnJvbSB0aGUg
 c2V0IHZhbHVlIHN0b3JlZCBhdCBrZXkuCi0gKkJPT0wqIGBUUlVFYCBpZiB0aGUgbWVtYmVyIHdh
 cyBwcmVzZW50IGluIHRoZSBzZXQsIGBGQUxTRWAgaWYgaXQgZGlkbid0LgotICMjIyMjICpFeGFt
 cGxlKgotIDxwcmU+Ci0tJHJlZGlzLT5zQWRkKCdrZXkxJyAsICdzZXQxJyk7IAotLSRyZWRpcy0+
 c0FkZCgna2V5MScgLCAnc2V0MicpOyAKLS0kcmVkaXMtPnNBZGQoJ2tleTEnICwgJ3NldDMnKTsg
 LyogJ2tleTEnID0+IHsnc2V0MScsICdzZXQyJywgJ3NldDMnfSovCi0tJHJlZGlzLT5zUmVtKCdr
 ZXkxJywgJ3NldDInKTsgLyogJ2tleTEnID0+IHsnc2V0MScsICdzZXQzJ30gKi8KLSskcmVkaXMt
 PnNBZGQoJ2tleTEnICwgJ21lbWJlcjEnKTsKLSskcmVkaXMtPnNBZGQoJ2tleTEnICwgJ21lbWJl
 cjInKTsKLSskcmVkaXMtPnNBZGQoJ2tleTEnICwgJ21lbWJlcjMnKTsgLyogJ2tleTEnID0+IHsn
 bWVtYmVyMScsICdtZW1iZXIyJywgJ21lbWJlcjMnfSovCi0rJHJlZGlzLT5zUmVtKCdrZXkxJywg
 J21lbWJlcjInKTsgLyogJ2tleTEnID0+IHsnbWVtYmVyMScsICdtZW1iZXIzJ30gKi8KLSA8L3By
 ZT4KLSAKLSAjIyBzTW92ZQotQEAgLTc5MywxMyArODA2LDEzIEBAIE1vdmVzIHRoZSBzcGVjaWZp
 ZWQgbWVtYmVyIGZyb20gdGhlIHNldCBhdCBzcmNLZXkgdG8gdGhlIHNldCBhdCBkc3RLZXkuCi0g
 KkJPT0wqIElmIHRoZSBvcGVyYXRpb24gaXMgc3VjY2Vzc2Z1bCwgcmV0dXJuIGBUUlVFYC4gSWYg
 dGhlIHNyY0tleSBhbmQvb3IgZHN0S2V5IGRpZG4ndCBleGlzdCwgYW5kL29yIHRoZSBtZW1iZXIg
 ZGlkbid0IGV4aXN0IGluIHNyY0tleSwgYEZBTFNFYCBpcyByZXR1cm5lZC4KLSAjIyMjIyAqRXhh
 bXBsZSoKLSA8cHJlPgotLSRyZWRpcy0+c0FkZCgna2V5MScgLCAnc2V0MTEnKTsgCi0tJHJlZGlz
 LT5zQWRkKCdrZXkxJyAsICdzZXQxMicpOyAKLS0kcmVkaXMtPnNBZGQoJ2tleTEnICwgJ3NldDEz
 Jyk7IC8qICdrZXkxJyA9PiB7J3NldDExJywgJ3NldDEyJywgJ3NldDEzJ30qLwotLSRyZWRpcy0+
 c0FkZCgna2V5MicgLCAnc2V0MjEnKTsgCi0tJHJlZGlzLT5zQWRkKCdrZXkyJyAsICdzZXQyMicp
 OyAvKiAna2V5MicgPT4geydzZXQyMScsICdzZXQyMid9Ki8KLS0kcmVkaXMtPnNNb3ZlKCdrZXkx
 JywgJ2tleTInLCAnc2V0MTMnKTsgLyogJ2tleTEnID0+ICB7J3NldDExJywgJ3NldDEyJ30gKi8K
 LS0JCQkJCS8qICdrZXkyJyA9PiAgeydzZXQyMScsICdzZXQyMicsICdzZXQxMyd9ICovCi0rJHJl
 ZGlzLT5zQWRkKCdrZXkxJyAsICdtZW1iZXIxMScpOwotKyRyZWRpcy0+c0FkZCgna2V5MScgLCAn
 bWVtYmVyMTInKTsKLSskcmVkaXMtPnNBZGQoJ2tleTEnICwgJ21lbWJlcjEzJyk7IC8qICdrZXkx
 JyA9PiB7J21lbWJlcjExJywgJ21lbWJlcjEyJywgJ21lbWJlcjEzJ30qLwotKyRyZWRpcy0+c0Fk
 ZCgna2V5MicgLCAnbWVtYmVyMjEnKTsKLSskcmVkaXMtPnNBZGQoJ2tleTInICwgJ21lbWJlcjIy
 Jyk7IC8qICdrZXkyJyA9PiB7J21lbWJlcjIxJywgJ21lbWJlcjIyJ30qLwotKyRyZWRpcy0+c01v
 dmUoJ2tleTEnLCAna2V5MicsICdtZW1iZXIxMycpOyAvKiAna2V5MScgPT4gIHsnbWVtYmVyMTEn
 LCAnbWVtYmVyMTInfSAqLwotKwkJCQkJLyogJ2tleTInID0+ICB7J21lbWJlcjIxJywgJ21lbWJl
 cjIyJywgJ21lbWJlcjEzJ30gKi8KLSAKLSA8L3ByZT4KLSAKLUBAIC04MTQsMTIgKzgyNywxMiBA
 QCBDaGVja3MgaWYgYHZhbHVlYCBpcyBhIG1lbWJlciBvZiB0aGUgc2V0IHN0b3JlZCBhdCB0aGUg
 a2V5IGBrZXlgLgotICpCT09MKiBgVFJVRWAgaWYgYHZhbHVlYCBpcyBhIG1lbWJlciBvZiB0aGUg
 c2V0IGF0IGtleSBga2V5YCwgYEZBTFNFYCBvdGhlcndpc2UuCi0gIyMjIyMgKkV4YW1wbGUqCi0g
 PHByZT4KLS0kcmVkaXMtPnNBZGQoJ2tleTEnICwgJ3NldDEnKTsgCi0tJHJlZGlzLT5zQWRkKCdr
 ZXkxJyAsICdzZXQyJyk7IAotLSRyZWRpcy0+c0FkZCgna2V5MScgLCAnc2V0MycpOyAvKiAna2V5
 MScgPT4geydzZXQxJywgJ3NldDInLCAnc2V0Myd9Ki8KLSskcmVkaXMtPnNBZGQoJ2tleTEnICwg
 J21lbWJlcjEnKTsKLSskcmVkaXMtPnNBZGQoJ2tleTEnICwgJ21lbWJlcjInKTsKLSskcmVkaXMt
 PnNBZGQoJ2tleTEnICwgJ21lbWJlcjMnKTsgLyogJ2tleTEnID0+IHsnbWVtYmVyMScsICdtZW1i
 ZXIyJywgJ21lbWJlcjMnfSovCi0gCi0tJHJlZGlzLT5zSXNNZW1iZXIoJ2tleTEnLCAnc2V0MScp
 OyAvKiBUUlVFICovCi0tJHJlZGlzLT5zSXNNZW1iZXIoJ2tleTEnLCAnc2V0WCcpOyAvKiBGQUxT
 RSAqLwotKyRyZWRpcy0+c0lzTWVtYmVyKCdrZXkxJywgJ21lbWJlcjEnKTsgLyogVFJVRSAqLwot
 KyRyZWRpcy0+c0lzTWVtYmVyKCdrZXkxJywgJ21lbWJlclgnKTsgLyogRkFMU0UgKi8KLSAKLSA8
 L3ByZT4KLSAKLUBAIC04MzIsOSArODQ1LDkgQEAgUmV0dXJucyB0aGUgY2FyZGluYWxpdHkgb2Yg
 dGhlIHNldCBpZGVudGlmaWVkIGJ5IGtleS4KLSAqTE9ORyogdGhlIGNhcmRpbmFsaXR5IG9mIHRo
 ZSBzZXQgaWRlbnRpZmllZCBieSBrZXksIDAgaWYgdGhlIHNldCBkb2Vzbid0IGV4aXN0LgotICMj
 IyMjICpFeGFtcGxlKgotIDxwcmU+Ci0tJHJlZGlzLT5zQWRkKCdrZXkxJyAsICdzZXQxJyk7IAot
 LSRyZWRpcy0+c0FkZCgna2V5MScgLCAnc2V0MicpOyAKLS0kcmVkaXMtPnNBZGQoJ2tleTEnICwg
 J3NldDMnKTsgLyogJ2tleTEnID0+IHsnc2V0MScsICdzZXQyJywgJ3NldDMnfSovCi0rJHJlZGlz
 LT5zQWRkKCdrZXkxJyAsICdtZW1iZXIxJyk7Ci0rJHJlZGlzLT5zQWRkKCdrZXkxJyAsICdtZW1i
 ZXIyJyk7Ci0rJHJlZGlzLT5zQWRkKCdrZXkxJyAsICdtZW1iZXIzJyk7IC8qICdrZXkxJyA9PiB7
 J21lbWJlcjEnLCAnbWVtYmVyMicsICdtZW1iZXIzJ30qLwotICRyZWRpcy0+c0NhcmQoJ2tleTEn
 KTsgLyogMyAqLwotICRyZWRpcy0+c0NhcmQoJ2tleVgnKTsgLyogMCAqLwotIDwvcHJlPgotQEAg
 LTg0OSwxMSArODYyLDExIEBAIFJlbW92ZXMgYW5kIHJldHVybnMgYSByYW5kb20gZWxlbWVudCBm
 cm9tIHRoZSBzZXQgdmFsdWUgYXQgS2V5LgotICpCb29sKiBgRkFMU0VgIGlmIHNldCBpZGVudGlm
 aWVkIGJ5IGtleSBpcyBlbXB0eSBvciBkb2Vzbid0IGV4aXN0LgotICMjIyMjICpFeGFtcGxlKgot
 IDxwcmU+Ci0tJHJlZGlzLT5zQWRkKCdrZXkxJyAsICdzZXQxJyk7IAotLSRyZWRpcy0+c0FkZCgn
 a2V5MScgLCAnc2V0MicpOyAKLS0kcmVkaXMtPnNBZGQoJ2tleTEnICwgJ3NldDMnKTsgLyogJ2tl
 eTEnID0+IHsnc2V0MycsICdzZXQxJywgJ3NldDInfSovCi0tJHJlZGlzLT5zUG9wKCdrZXkxJyk7
 IC8qICdzZXQxJywgJ2tleTEnID0+IHsnc2V0MycsICdzZXQyJ30gKi8KLS0kcmVkaXMtPnNQb3Ao
 J2tleTEnKTsgLyogJ3NldDMnLCAna2V5MScgPT4geydzZXQyJ30gKi8KLSskcmVkaXMtPnNBZGQo
 J2tleTEnICwgJ21lbWJlcjEnKTsKLSskcmVkaXMtPnNBZGQoJ2tleTEnICwgJ21lbWJlcjInKTsK
 LSskcmVkaXMtPnNBZGQoJ2tleTEnICwgJ21lbWJlcjMnKTsgLyogJ2tleTEnID0+IHsnbWVtYmVy
 MycsICdtZW1iZXIxJywgJ21lbWJlcjInfSovCi0rJHJlZGlzLT5zUG9wKCdrZXkxJyk7IC8qICdt
 ZW1iZXIxJywgJ2tleTEnID0+IHsnbWVtYmVyMycsICdtZW1iZXIyJ30gKi8KLSskcmVkaXMtPnNQ
 b3AoJ2tleTEnKTsgLyogJ21lbWJlcjMnLCAna2V5MScgPT4geydtZW1iZXIyJ30gKi8KLSA8L3By
 ZT4KLSAKLSAjIyBzUmFuZE1lbWJlcgotQEAgLTg2NiwxMSArODc5LDExIEBAIFJldHVybnMgYSBy
 YW5kb20gZWxlbWVudCBmcm9tIHRoZSBzZXQgdmFsdWUgYXQgS2V5LCB3aXRob3V0IHJlbW92aW5n
 IGl0LgotICpCb29sKiBgRkFMU0VgIGlmIHNldCBpZGVudGlmaWVkIGJ5IGtleSBpcyBlbXB0eSBv
 ciBkb2Vzbid0IGV4aXN0LgotICMjIyMjICpFeGFtcGxlKgotIDxwcmU+Ci0tJHJlZGlzLT5zQWRk
 KCdrZXkxJyAsICdzZXQxJyk7IAotLSRyZWRpcy0+c0FkZCgna2V5MScgLCAnc2V0MicpOyAKLS0k
 cmVkaXMtPnNBZGQoJ2tleTEnICwgJ3NldDMnKTsgLyogJ2tleTEnID0+IHsnc2V0MycsICdzZXQx
 JywgJ3NldDInfSovCi0tJHJlZGlzLT5zUmFuZE1lbWJlcigna2V5MScpOyAvKiAnc2V0MScsICdr
 ZXkxJyA9PiB7J3NldDMnLCAnc2V0MScsICdzZXQyJ30gKi8KLS0kcmVkaXMtPnNSYW5kTWVtYmVy
 KCdrZXkxJyk7IC8qICdzZXQzJywgJ2tleTEnID0+IHsnc2V0MycsICdzZXQxJywgJ3NldDInfSAq
 LwotKyRyZWRpcy0+c0FkZCgna2V5MScgLCAnbWVtYmVyMScpOwotKyRyZWRpcy0+c0FkZCgna2V5
 MScgLCAnbWVtYmVyMicpOwotKyRyZWRpcy0+c0FkZCgna2V5MScgLCAnbWVtYmVyMycpOyAvKiAn
 a2V5MScgPT4geydtZW1iZXIzJywgJ21lbWJlcjEnLCAnbWVtYmVyMid9Ki8KLSskcmVkaXMtPnNS
 YW5kTWVtYmVyKCdrZXkxJyk7IC8qICdtZW1iZXIxJywgJ2tleTEnID0+IHsnbWVtYmVyMycsICdt
 ZW1iZXIxJywgJ21lbWJlcjInfSAqLwotKyRyZWRpcy0+c1JhbmRNZW1iZXIoJ2tleTEnKTsgLyog
 J21lbWJlcjMnLCAna2V5MScgPT4geydtZW1iZXIzJywgJ21lbWJlcjEnLCAnbWVtYmVyMid9ICov
 Ci0gPC9wcmU+Ci0gCi0gIyMgc0ludGVyCi1kaWZmIC0tZ2l0IGEvcGhwX3JlZGlzLmggYi9waHBf
 cmVkaXMuaAotaW5kZXggMWRmYWEwZi4uZmQ4ZjAyNCAxMDA3NTUKLS0tLSBhL3BocF9yZWRpcy5o
 Ci0rKysgcGhwX3JlZGlzLmgKLUBAIC0yOSw2ICsyOSw3IEBAIFBIUF9NRVRIT0QoUmVkaXMsIGNv
 bm5lY3QpOwotIFBIUF9NRVRIT0QoUmVkaXMsIHBjb25uZWN0KTsKLSBQSFBfTUVUSE9EKFJlZGlz
 LCBjbG9zZSk7Ci0gUEhQX01FVEhPRChSZWRpcywgcGluZyk7Ci0rUEhQX01FVEhPRChSZWRpcywg
 ZWNobyk7Ci0gUEhQX01FVEhPRChSZWRpcywgZ2V0KTsKLSBQSFBfTUVUSE9EKFJlZGlzLCBzZXQp
 OwotIFBIUF9NRVRIT0QoUmVkaXMsIHNldGV4KTsKLWRpZmYgLS1naXQgYS9yZWRpcy5jIGIvcmVk
 aXMuYwotaW5kZXggOWNhM2ExNC4uM2UxNWQ3MyAxMDA3NTUKLS0tLSBhL3JlZGlzLmMKLSsrKyBy
 ZWRpcy5jCi1AQCAtNzYsNiArNzYsNyBAQCBzdGF0aWMgemVuZF9mdW5jdGlvbl9lbnRyeSByZWRp
 c19mdW5jdGlvbnNbXSA9IHsKLSAgICAgIFBIUF9NRShSZWRpcywgcGNvbm5lY3QsIE5VTEwsIFpF
 TkRfQUNDX1BVQkxJQykKLSAgICAgIFBIUF9NRShSZWRpcywgY2xvc2UsIE5VTEwsIFpFTkRfQUND
 X1BVQkxJQykKLSAgICAgIFBIUF9NRShSZWRpcywgcGluZywgTlVMTCwgWkVORF9BQ0NfUFVCTElD
 KQotKyAgICAgUEhQX01FKFJlZGlzLCBlY2hvLCBOVUxMLCBaRU5EX0FDQ19QVUJMSUMpCi0gICAg
 ICBQSFBfTUUoUmVkaXMsIGdldCwgTlVMTCwgWkVORF9BQ0NfUFVCTElDKQotICAgICAgUEhQX01F
 KFJlZGlzLCBzZXQsIE5VTEwsIFpFTkRfQUNDX1BVQkxJQykKLSAgICAgIFBIUF9NRShSZWRpcywg
 c2V0ZXgsIE5VTEwsIFpFTkRfQUNDX1BVQkxJQykKLUBAIC0zMjQsNyArMzI1LDcgQEAgc3RhdGlj
 IHZvaWQgcmVkaXNfZGVzdHJ1Y3Rvcl9yZWRpc19zb2NrKHplbmRfcnNyY19saXN0X2VudHJ5ICog
 cnNyYyBUU1JNTFNfREMpCi0gLyoqCi0gICogcmVkaXNfc29ja19nZXQKLSAgKi8KLS1QSFBBUEkg
 aW50IHJlZGlzX3NvY2tfZ2V0KHp2YWwgKmlkLCBSZWRpc1NvY2sgKipyZWRpc19zb2NrIFRTUk1M
 U19EQykKLStQSFBBUEkgaW50IHJlZGlzX3NvY2tfZ2V0KHp2YWwgKmlkLCBSZWRpc1NvY2sgKipy
 ZWRpc19zb2NrIFRTUk1MU19EQywgaW50IG5vX3Rocm93KQotIHsKLSAKLSAgICAgenZhbCAqKnNv
 Y2tldDsKLUBAIC0zMzIsMTUgKzMzMywyMSBAQCBQSFBBUEkgaW50IHJlZGlzX3NvY2tfZ2V0KHp2
 YWwgKmlkLCBSZWRpc1NvY2sgKipyZWRpc19zb2NrIFRTUk1MU19EQykKLSAKLSAgICAgaWYgKFpf
 VFlQRV9QKGlkKSAhPSBJU19PQkpFQ1QgfHwgemVuZF9oYXNoX2ZpbmQoWl9PQkpQUk9QX1AoaWQp
 LCAic29ja2V0IiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKCJz
 b2NrZXQiKSwgKHZvaWQgKiopICZzb2NrZXQpID09IEZBSUxVUkUpIHsKLS0gICAgICAgIHplbmRf
 dGhyb3dfZXhjZXB0aW9uKHJlZGlzX2V4Y2VwdGlvbl9jZSwgIlJlZGlzIHNlcnZlciB3ZW50IGF3
 YXkiLCAwIFRTUk1MU19DQyk7Ci0rICAgIAkvLyBUaHJvdyBhbiBleGNlcHRpb24gdW5sZXNzIHdl
 J3ZlIGJlZW4gcmVxdWVzdGVkIG5vdCB0bwotKyAgICAgICAgaWYoIW5vX3Rocm93KSB7Ci0rICAg
 ICAgICAJemVuZF90aHJvd19leGNlcHRpb24ocmVkaXNfZXhjZXB0aW9uX2NlLCAiUmVkaXMgc2Vy
 dmVyIHdlbnQgYXdheSIsIDAgVFNSTUxTX0NDKTsKLSsgICAgICAgIH0KLSAgICAgICAgIHJldHVy
 biAtMTsKLSAgICAgfQotIAotICAgICAqcmVkaXNfc29jayA9IChSZWRpc1NvY2sgKikgemVuZF9s
 aXN0X2ZpbmQoWl9MVkFMX1BQKHNvY2tldCksICZyZXNvdXJjZV90eXBlKTsKLSAKLSAgICAgaWYg
 KCEqcmVkaXNfc29jayB8fCByZXNvdXJjZV90eXBlICE9IGxlX3JlZGlzX3NvY2spIHsKLS0JCQl6
 ZW5kX3Rocm93X2V4Y2VwdGlvbihyZWRpc19leGNlcHRpb25fY2UsICJSZWRpcyBzZXJ2ZXIgd2Vu
 dCBhd2F5IiwgMCBUU1JNTFNfQ0MpOwotLSAgICAgICAgICAgIHJldHVybiAtMTsKLSsJCS8vIFRo
 cm93IGFuIGV4Y2VwdGlvbiB1bmxlc3Mgd2UndmUgYmVlbiByZXF1ZXN0ZWQgbm90IHRvCi0rICAg
 IAlpZighbm9fdGhyb3cpIHsKLSsgICAgCQl6ZW5kX3Rocm93X2V4Y2VwdGlvbihyZWRpc19leGNl
 cHRpb25fY2UsICJSZWRpcyBzZXJ2ZXIgd2VudCBhd2F5IiwgMCBUU1JNTFNfQ0MpOwotKyAgICAJ
 fQotKwkJcmV0dXJuIC0xOwotICAgICB9Ci0gCi0gICAgIHJldHVybiBaX0xWQUxfUFAoc29ja2V0
 KTsKLUBAIC00NzEsNyArNDc4LDcgQEAgUEhQX01FVEhPRChSZWRpcyxfX2Rlc3RydWN0KSB7Ci0g
 Ci0gCS8vIEdyYWIgb3VyIHNvY2tldAotIAlSZWRpc1NvY2sgKnJlZGlzX3NvY2s7Ci0tCWlmIChy
 ZWRpc19zb2NrX2dldChnZXRUaGlzKCksICZyZWRpc19zb2NrIFRTUk1MU19DQykgPCAwKSB7Ci0r
 CWlmIChyZWRpc19zb2NrX2dldChnZXRUaGlzKCksICZyZWRpc19zb2NrIFRTUk1MU19DQywgMSkg
 PCAwKSB7Ci0gCQlSRVRVUk5fRkFMU0U7Ci0gCX0KLSAKLUBAIC01MDQsNyArNTExLDcgQEAgUEhQ
 X01FVEhPRChSZWRpcywgcGNvbm5lY3QpCi0gCX0gZWxzZSB7Ci0gCQkvKiByZXNldCBtdWx0aS9l
 eGVjIHN0YXRlIGlmIHRoZXJlIGlzIG9uZS4gKi8KLSAJCVJlZGlzU29jayAqcmVkaXNfc29jazsK
 LS0JCWlmIChyZWRpc19zb2NrX2dldChnZXRUaGlzKCksICZyZWRpc19zb2NrIFRTUk1MU19DQykg
 PCAwKSB7Ci0rCQlpZiAocmVkaXNfc29ja19nZXQoZ2V0VGhpcygpLCAmcmVkaXNfc29jayBUU1JN
 TFNfQ0MsIDApIDwgMCkgewotIAkJCVJFVFVSTl9GQUxTRTsKLSAJCX0KLSAKLUBAIC01NDcsNyAr
 NTU0LDcgQEAgUEhQQVBJIGludCByZWRpc19jb25uZWN0KElOVEVSTkFMX0ZVTkNUSU9OX1BBUkFN
 RVRFUlMsIGludCBwZXJzaXN0ZW50KSB7Ci0gCX0KLSAKLSAJLyogaWYgdGhlcmUgaXMgYSByZWRp
 cyBzb2NrIGFscmVhZHkgd2UgaGF2ZSB0byByZW1vdmUgaXQgZnJvbSB0aGUgbGlzdCAqLwotLQlp
 ZiAocmVkaXNfc29ja19nZXQob2JqZWN0LCAmcmVkaXNfc29jayBUU1JNTFNfQ0MpID4gMCkgewot
 KwlpZiAocmVkaXNfc29ja19nZXQob2JqZWN0LCAmcmVkaXNfc29jayBUU1JNTFNfQ0MsIDApID4g
 MCkgewotIAkJaWYgKHplbmRfaGFzaF9maW5kKFpfT0JKUFJPUF9QKG9iamVjdCksICJzb2NrZXQi
 LAotIAkJCQkJc2l6ZW9mKCJzb2NrZXQiKSwgKHZvaWQgKiopICZzb2NrZXQpID09IEZBSUxVUkUp
 IHsKLSAJCQkvKiBtYXliZSB0aGVyZSBpcyBhIHNvY2tldCBidXQgdGhlIGlkIGlzbid0IGtub3du
 Li4gd2hhdCB0byBkbz8gKi8KLUBAIC01ODcsNyArNTk0LDcgQEAgUEhQX01FVEhPRChSZWRpcywg
 Y2xvc2UpCi0gICAgICAgICBSRVRVUk5fRkFMU0U7Ci0gICAgIH0KLSAKLS0gICAgaWYgKHJlZGlz
 X3NvY2tfZ2V0KG9iamVjdCwgJnJlZGlzX3NvY2sgVFNSTUxTX0NDKSA8IDApIHsKLSsgICAgaWYg
 KHJlZGlzX3NvY2tfZ2V0KG9iamVjdCwgJnJlZGlzX3NvY2sgVFNSTUxTX0NDLCAwKSA8IDApIHsK
 LSAgICAgICAgIFJFVFVSTl9GQUxTRTsKLSAgICAgfQotIAotQEAgLTYxNyw3ICs2MjQsNyBAQCBQ
 SFBfTUVUSE9EKFJlZGlzLCBzZXQpCi0gICAgICAgICBSRVRVUk5fRkFMU0U7Ci0gICAgIH0KLSAK
 LS0gICAgaWYgKHJlZGlzX3NvY2tfZ2V0KG9iamVjdCwgJnJlZGlzX3NvY2sgVFNSTUxTX0NDKSA8
 IDApIHsKLSsgICAgaWYgKHJlZGlzX3NvY2tfZ2V0KG9iamVjdCwgJnJlZGlzX3NvY2sgVFNSTUxT
 X0NDLCAwKSA8IDApIHsKLSAgICAgICAgIFJFVFVSTl9GQUxTRTsKLSAgICAgfQotIAotQEAgLTY1
 Niw3ICs2NjMsNyBAQCBQSFBfTUVUSE9EKFJlZGlzLCBzZXRleCkKLSAgICAgICAgIFJFVFVSTl9G
 QUxTRTsKLSAgICAgfQotIAotLSAgICBpZiAocmVkaXNfc29ja19nZXQob2JqZWN0LCAmcmVkaXNf
 c29jayBUU1JNTFNfQ0MpIDwgMCkgewotKyAgICBpZiAocmVkaXNfc29ja19nZXQob2JqZWN0LCAm
 cmVkaXNfc29jayBUU1JNTFNfQ0MsIDApIDwgMCkgewotICAgICAgICAgUkVUVVJOX0ZBTFNFOwot
 ICAgICB9Ci0gCi1AQCAtNjkxLDcgKzY5OCw3IEBAIFBIUF9NRVRIT0QoUmVkaXMsIHNldG54KQot
 ICAgICAgICAgUkVUVVJOX0ZBTFNFOwotICAgICB9Ci0gCi0tICAgIGlmIChyZWRpc19zb2NrX2dl
 dChvYmplY3QsICZyZWRpc19zb2NrIFRTUk1MU19DQykgPCAwKSB7Ci0rICAgIGlmIChyZWRpc19z
 b2NrX2dldChvYmplY3QsICZyZWRpc19zb2NrIFRTUk1MU19DQywgMCkgPCAwKSB7Ci0gICAgICAg
 ICBSRVRVUk5fRkFMU0U7Ci0gICAgIH0KLSAKLUBAIC03MjksNyArNzM2LDcgQEAgUEhQX01FVEhP
 RChSZWRpcywgZ2V0U2V0KQotICAgICAgICAgUkVUVVJOX0ZBTFNFOwotICAgICB9Ci0gCi0tICAg
 IGlmIChyZWRpc19zb2NrX2dldChvYmplY3QsICZyZWRpc19zb2NrIFRTUk1MU19DQykgPCAwKSB7
 Ci0rICAgIGlmIChyZWRpc19zb2NrX2dldChvYmplY3QsICZyZWRpc19zb2NrIFRTUk1MU19DQywg
 MCkgPCAwKSB7Ci0gICAgICAgICBSRVRVUk5fRkFMU0U7Ci0gICAgIH0KLSAKLUBAIC03NjMsNyAr
 NzcwLDcgQEAgUEhQX01FVEhPRChSZWRpcywgcmFuZG9tS2V5KQotICAgICAgICAgUkVUVVJOX0ZB
 TFNFOwotICAgICB9Ci0gCi0tICAgIGlmIChyZWRpc19zb2NrX2dldChvYmplY3QsICZyZWRpc19z
 b2NrIFRTUk1MU19DQykgPCAwKSB7Ci0rICAgIGlmIChyZWRpc19zb2NrX2dldChvYmplY3QsICZy
 ZWRpc19zb2NrIFRTUk1MU19DQywgMCkgPCAwKSB7Ci0gICAgICAgICBSRVRVUk5fRkFMU0U7Ci0g
 ICAgIH0KLSAKLUBAIC03NzgsNiArNzg1LDM5IEBAIFBIUF9NRVRIT0QoUmVkaXMsIHJhbmRvbUtl
 eSkKLSB9Ci0gLyogfX19ICovCi0gCi0rLyoge3t7IHByb3RvIHN0cmluZyBSZWRpczo6ZWNobyhz
 dHJpbmcga2V5KQotKyAqLwotK1BIUF9NRVRIT0QoUmVkaXMsIGVjaG8pCi0rewotKyAgICB6dmFs
 ICpvYmplY3Q7Ci0rICAgIFJlZGlzU29jayAqcmVkaXNfc29jazsKLSsgICAgY2hhciAqa2V5ID0g
 TlVMTCwgKmNtZDsKLSsgICAgaW50IGtleV9sZW4sIGNtZF9sZW47Ci0rCWludCBrZXlfZnJlZTsK
 LSsKLSsgICAgaWYgKHplbmRfcGFyc2VfbWV0aG9kX3BhcmFtZXRlcnMoWkVORF9OVU1fQVJHUygp
 IFRTUk1MU19DQywgZ2V0VGhpcygpLCAiT3MiLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAmb2JqZWN0LCByZWRpc19jZSwKLSsgICAgICAgICAgICAgICAgICAgICAgICAg
 ICAgICAgICAgICAgJmtleSwgJmtleV9sZW4pID09IEZBSUxVUkUpIHsKLSsgICAgICAgIFJFVFVS
 Tl9GQUxTRTsKLSsgICAgfQotKwotKyAgICBpZiAocmVkaXNfc29ja19nZXQob2JqZWN0LCAmcmVk
 aXNfc29jayBUU1JNTFNfQ0MsIDApIDwgMCkgewotKyAgICAgICAgUkVUVVJOX0ZBTFNFOwotKyAg
 ICB9Ci0rCi0rCWtleV9mcmVlID0gcmVkaXNfa2V5X3ByZWZpeChyZWRpc19zb2NrLCAma2V5LCAm
 a2V5X2xlbiBUU1JNTFNfQ0MpOwotKyAgICBjbWRfbGVuID0gcmVkaXNfY21kX2Zvcm1hdF9zdGF0
 aWMoJmNtZCwgIkVDSE8iLCAicyIsIGtleSwga2V5X2xlbik7Ci0rCWlmKGtleV9mcmVlKSBlZnJl
 ZShrZXkpOwotKwotKwlSRURJU19QUk9DRVNTX1JFUVVFU1QocmVkaXNfc29jaywgY21kLCBjbWRf
 bGVuKTsKLSsgICAgSUZfQVRPTUlDKCkgewotKwkgIHJlZGlzX3N0cmluZ19yZXNwb25zZShJTlRF
 Uk5BTF9GVU5DVElPTl9QQVJBTV9QQVNTVEhSVSwgcmVkaXNfc29jaywgTlVMTCwgTlVMTCk7Ci0r
 ICAgIH0KLSsgICAgUkVESVNfUFJPQ0VTU19SRVNQT05TRShyZWRpc19zdHJpbmdfcmVzcG9uc2Up
 OwotKwotK30KLSsvKiB9fX0gKi8KLSsKLSAvKiB7e3sgcHJvdG8gc3RyaW5nIFJlZGlzOjpyZW5h
 bWVLZXkoc3RyaW5nIGtleV9zcmMsIHN0cmluZyBrZXlfZHN0KQotICAqLwotIFBIUF9NRVRIT0Qo
 UmVkaXMsIHJlbmFtZUtleSkKLUBAIC03OTYsNyArODM2LDcgQEAgUEhQX01FVEhPRChSZWRpcywg
 cmVuYW1lS2V5KQotICAgICAgICAgUkVUVVJOX0ZBTFNFOwotICAgICB9Ci0gCi0tICAgIGlmIChy
 ZWRpc19zb2NrX2dldChvYmplY3QsICZyZWRpc19zb2NrIFRTUk1MU19DQykgPCAwKSB7Ci0rICAg
 IGlmIChyZWRpc19zb2NrX2dldChvYmplY3QsICZyZWRpc19zb2NrIFRTUk1MU19DQywgMCkgPCAw
 KSB7Ci0gICAgICAgICBSRVRVUk5fRkFMU0U7Ci0gICAgIH0KLSAKLUBAIC04MzMsNyArODczLDcg
 QEAgUEhQX01FVEhPRChSZWRpcywgcmVuYW1lTngpCi0gICAgICAgICBSRVRVUk5fRkFMU0U7Ci0g
 ICAgIH0KLSAKLS0gICAgaWYgKHJlZGlzX3NvY2tfZ2V0KG9iamVjdCwgJnJlZGlzX3NvY2sgVFNS
 TUxTX0NDKSA8IDApIHsKLSsgICAgaWYgKHJlZGlzX3NvY2tfZ2V0KG9iamVjdCwgJnJlZGlzX3Nv
 Y2sgVFNSTUxTX0NDLCAwKSA8IDApIHsKLSAgICAgICAgIFJFVFVSTl9GQUxTRTsKLSAgICAgfQot
 IAotQEAgLTg2OCw3ICs5MDgsNyBAQCBQSFBfTUVUSE9EKFJlZGlzLCBnZXQpCi0gICAgICAgICBS
 RVRVUk5fRkFMU0U7Ci0gICAgIH0KLSAKLS0gICAgaWYgKHJlZGlzX3NvY2tfZ2V0KG9iamVjdCwg
 JnJlZGlzX3NvY2sgVFNSTUxTX0NDKSA8IDApIHsKLSsgICAgaWYgKHJlZGlzX3NvY2tfZ2V0KG9i
 amVjdCwgJnJlZGlzX3NvY2sgVFNSTUxTX0NDLCAwKSA8IDApIHsKLSAgICAgICAgIFJFVFVSTl9G
 QUxTRTsKLSAgICAgfQotIAotQEAgLTkwMCw3ICs5NDAsNyBAQCBQSFBfTUVUSE9EKFJlZGlzLCBw
 aW5nKQotICAgICAgICAgUkVUVVJOX0ZBTFNFOwotICAgICB9Ci0gCi0tICAgIGlmIChyZWRpc19z
 b2NrX2dldChvYmplY3QsICZyZWRpc19zb2NrIFRTUk1MU19DQykgPCAwKSB7Ci0rICAgIGlmIChy
 ZWRpc19zb2NrX2dldChvYmplY3QsICZyZWRpc19zb2NrIFRTUk1MU19DQywgMCkgPCAwKSB7Ci0g
 ICAgICAgICBSRVRVUk5fRkFMU0U7Ci0gICAgIH0KLSAKLUBAIC05MjksNyArOTY5LDcgQEAgUEhQ
 QVBJIHZvaWQgcmVkaXNfYXRvbWljX2luY3JlbWVudChJTlRFUk5BTF9GVU5DVElPTl9QQVJBTUVU
 RVJTLCBjaGFyICprZXl3b3JkLAotICAgICAgICAgUkVUVVJOX0ZBTFNFOwotICAgICB9Ci0gCi0t
 ICAgIGlmIChyZWRpc19zb2NrX2dldChvYmplY3QsICZyZWRpc19zb2NrIFRTUk1MU19DQykgPCAw
 KSB7Ci0rICAgIGlmIChyZWRpc19zb2NrX2dldChvYmplY3QsICZyZWRpc19zb2NrIFRTUk1MU19D
 QywgMCkgPCAwKSB7Ci0gICAgICAgICBSRVRVUk5fRkFMU0U7Ci0gICAgIH0KLSAJa2V5X2ZyZWUg
 PSByZWRpc19rZXlfcHJlZml4KHJlZGlzX3NvY2ssICZrZXksICZrZXlfbGVuIFRTUk1MU19DQyk7
 Ci1AQCAtMTA1NSw3ICsxMDk1LDcgQEAgUEhQX01FVEhPRChSZWRpcywgZ2V0TXVsdGlwbGUpCi0g
 ICAgICAgICBSRVRVUk5fRkFMU0U7Ci0gICAgIH0KLSAKLS0gICAgaWYgKHJlZGlzX3NvY2tfZ2V0
 KG9iamVjdCwgJnJlZGlzX3NvY2sgVFNSTUxTX0NDKSA8IDApIHsKLSsgICAgaWYgKHJlZGlzX3Nv
 Y2tfZ2V0KG9iamVjdCwgJnJlZGlzX3NvY2sgVFNSTUxTX0NDLCAwKSA8IDApIHsKLSAgICAgICAg
 IFJFVFVSTl9GQUxTRTsKLSAgICAgfQotIAotQEAgLTExNDEsNyArMTE4MSw3IEBAIFBIUF9NRVRI
 T0QoUmVkaXMsIGV4aXN0cykKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 JmtleSwgJmtleV9sZW4pID09IEZBSUxVUkUpIHsKLSAgICAgICAgIFJFVFVSTl9GQUxTRTsKLSAg
 ICAgfQotLSAgICBpZiAocmVkaXNfc29ja19nZXQob2JqZWN0LCAmcmVkaXNfc29jayBUU1JNTFNf
 Q0MpIDwgMCkgewotKyAgICBpZiAocmVkaXNfc29ja19nZXQob2JqZWN0LCAmcmVkaXNfc29jayBU
 U1JNTFNfQ0MsIDApIDwgMCkgewotICAgICAgICAgUkVUVVJOX0ZBTFNFOwotICAgICB9Ci0gCi1A
 QCAtMTI0MCw3ICsxMjgwLDcgQEAgUEhQX01FVEhPRChSZWRpcywgZ2V0S2V5cykKLSAgICAgICAg
 IFJFVFVSTl9OVUxMKCk7Ci0gICAgIH0KLSAKLS0gICAgaWYgKHJlZGlzX3NvY2tfZ2V0KG9iamVj
 dCwgJnJlZGlzX3NvY2sgVFNSTUxTX0NDKSA8IDApIHsKLSsgICAgaWYgKHJlZGlzX3NvY2tfZ2V0
 KG9iamVjdCwgJnJlZGlzX3NvY2sgVFNSTUxTX0NDLCAwKSA8IDApIHsKLSAgICAgICAgIFJFVFVS
 Tl9GQUxTRTsKLSAgICAgfQotIAotQEAgLTEyNzQsNyArMTMxNCw3IEBAIFBIUF9NRVRIT0QoUmVk
 aXMsIHR5cGUpCi0gICAgICAgICBSRVRVUk5fTlVMTCgpOwotICAgICB9Ci0gCi0tICAgIGlmIChy
 ZWRpc19zb2NrX2dldChvYmplY3QsICZyZWRpc19zb2NrIFRTUk1MU19DQykgPCAwKSB7Ci0rICAg
 IGlmIChyZWRpc19zb2NrX2dldChvYmplY3QsICZyZWRpc19zb2NrIFRTUk1MU19DQywgMCkgPCAw
 KSB7Ci0gICAgICAgICBSRVRVUk5fRkFMU0U7Ci0gICAgIH0KLSAKLUBAIC0xMzA0LDcgKzEzNDQs
 NyBAQCBQSFBfTUVUSE9EKFJlZGlzLCBhcHBlbmQpCi0gCQlSRVRVUk5fTlVMTCgpOwotIAl9Ci0g
 Ci0tCWlmIChyZWRpc19zb2NrX2dldChvYmplY3QsICZyZWRpc19zb2NrIFRTUk1MU19DQykgPCAw
 KSB7Ci0rCWlmIChyZWRpc19zb2NrX2dldChvYmplY3QsICZyZWRpc19zb2NrIFRTUk1MU19DQywg
 MCkgPCAwKSB7Ci0gCQlSRVRVUk5fRkFMU0U7Ci0gCX0KLSAKLUBAIC0xMzMzLDcgKzEzNzMsNyBA
 QCBQSFBfTUVUSE9EKFJlZGlzLCBnZXRSYW5nZSkKLSAJCVJFVFVSTl9GQUxTRTsKLSAJfQotIAot
 LQlpZiAocmVkaXNfc29ja19nZXQob2JqZWN0LCAmcmVkaXNfc29jayBUU1JNTFNfQ0MpIDwgMCkg
 ewotKwlpZiAocmVkaXNfc29ja19nZXQob2JqZWN0LCAmcmVkaXNfc29jayBUU1JNTFNfQ0MsIDAp
 IDwgMCkgewotIAkJUkVUVVJOX0ZBTFNFOwotIAl9Ci0gCi1AQCAtMTM2MSw3ICsxNDAxLDcgQEAg
 UEhQX01FVEhPRChSZWRpcywgc2V0UmFuZ2UpCi0gCQlSRVRVUk5fRkFMU0U7Ci0gCX0KLSAKLS0J
 aWYgKHJlZGlzX3NvY2tfZ2V0KG9iamVjdCwgJnJlZGlzX3NvY2sgVFNSTUxTX0NDKSA8IDApIHsK
 LSsJaWYgKHJlZGlzX3NvY2tfZ2V0KG9iamVjdCwgJnJlZGlzX3NvY2sgVFNSTUxTX0NDLCAwKSA8
 IDApIHsKLSAJCVJFVFVSTl9GQUxTRTsKLSAJfQotIAotQEAgLTEzODksNyArMTQyOSw3IEBAIFBI
 UF9NRVRIT0QoUmVkaXMsIGdldEJpdCkKLSAJCVJFVFVSTl9GQUxTRTsKLSAJfQotIAotLQlpZiAo
 cmVkaXNfc29ja19nZXQob2JqZWN0LCAmcmVkaXNfc29jayBUU1JNTFNfQ0MpIDwgMCkgewotKwlp
 ZiAocmVkaXNfc29ja19nZXQob2JqZWN0LCAmcmVkaXNfc29jayBUU1JNTFNfQ0MsIDApIDwgMCkg
 ewotIAkJUkVUVVJOX0ZBTFNFOwotIAl9Ci0gCi1AQCAtMTQxOCw3ICsxNDU4LDcgQEAgUEhQX01F
 VEhPRChSZWRpcywgc2V0Qml0KQotIAkJUkVUVVJOX0ZBTFNFOwotIAl9Ci0gCi0tCWlmIChyZWRp
 c19zb2NrX2dldChvYmplY3QsICZyZWRpc19zb2NrIFRTUk1MU19DQykgPCAwKSB7Ci0rCWlmIChy
 ZWRpc19zb2NrX2dldChvYmplY3QsICZyZWRpc19zb2NrIFRTUk1MU19DQywgMCkgPCAwKSB7Ci0g
 CQlSRVRVUk5fRkFMU0U7Ci0gCX0KLSAKLUBAIC0xNDQ3LDcgKzE0ODcsNyBAQCBQSFBfTUVUSE9E
 KFJlZGlzLCBzdHJsZW4pCi0gCQlSRVRVUk5fTlVMTCgpOwotIAl9Ci0gCi0tCWlmIChyZWRpc19z
 b2NrX2dldChvYmplY3QsICZyZWRpc19zb2NrIFRTUk1MU19DQykgPCAwKSB7Ci0rCWlmIChyZWRp
 c19zb2NrX2dldChvYmplY3QsICZyZWRpc19zb2NrIFRTUk1MU19DQywgMCkgPCAwKSB7Ci0gCQlS
 RVRVUk5fRkFMU0U7Ci0gCX0KLSAKLUBAIC0xNDc3LDcgKzE1MTcsNyBAQCBnZW5lcmljX3B1c2hf
 ZnVuY3Rpb24oSU5URVJOQUxfRlVOQ1RJT05fUEFSQU1FVEVSUywgY2hhciAqa2V5d29yZCwgaW50
 IGtleXdvcmRfbAotICAgICAgICAgUkVUVVJOX05VTEwoKTsKLSAgICAgfQotIAotLSAgICBpZiAo
 cmVkaXNfc29ja19nZXQob2JqZWN0LCAmcmVkaXNfc29jayBUU1JNTFNfQ0MpIDwgMCkgewotKyAg
 ICBpZiAocmVkaXNfc29ja19nZXQob2JqZWN0LCAmcmVkaXNfc29jayBUU1JNTFNfQ0MsIDApIDwg
 MCkgewotICAgICAgICAgUkVUVVJOX0ZBTFNFOwotICAgICB9Ci0gCi1AQCAtMTU1MCw3ICsxNTkw
 LDcgQEAgUEhQX01FVEhPRChSZWRpcywgbEluc2VydCkKLSAJCVJFVFVSTl9OVUxMKCk7Ci0gCX0K
 LSAKLS0JaWYgKHJlZGlzX3NvY2tfZ2V0KG9iamVjdCwgJnJlZGlzX3NvY2sgVFNSTUxTX0NDKSA8
 IDApIHsKLSsJaWYgKHJlZGlzX3NvY2tfZ2V0KG9iamVjdCwgJnJlZGlzX3NvY2sgVFNSTUxTX0ND
 LCAwKSA8IDApIHsKLSAJCVJFVFVSTl9GQUxTRTsKLSAJfQotIAkKLUBAIC0xNTk5LDcgKzE2Mzks
 NyBAQCBnZW5lcmljX3BvcF9mdW5jdGlvbihJTlRFUk5BTF9GVU5DVElPTl9QQVJBTUVURVJTLCBj
 aGFyICprZXl3b3JkLCBpbnQga2V5d29yZF9sZQotICAgICAgICAgUkVUVVJOX0ZBTFNFOwotICAg
 ICB9Ci0gCi0tICAgIGlmIChyZWRpc19zb2NrX2dldChvYmplY3QsICZyZWRpc19zb2NrIFRTUk1M
 U19DQykgPCAwKSB7Ci0rICAgIGlmIChyZWRpc19zb2NrX2dldChvYmplY3QsICZyZWRpc19zb2Nr
 IFRTUk1MU19DQywgMCkgPCAwKSB7Ci0gICAgICAgICBSRVRVUk5fRkFMU0U7Ci0gICAgIH0KLSAK
 LUBAIC0xNjg5LDcgKzE3MjksNyBAQCBQSFBfTUVUSE9EKFJlZGlzLCBsU2l6ZSkKLSAgICAgICAg
 IFJFVFVSTl9GQUxTRTsKLSAgICAgfQotIAotLSAgICBpZiAocmVkaXNfc29ja19nZXQob2JqZWN0
 LCAmcmVkaXNfc29jayBUU1JNTFNfQ0MpIDwgMCkgewotKyAgICBpZiAocmVkaXNfc29ja19nZXQo
 b2JqZWN0LCAmcmVkaXNfc29jayBUU1JNTFNfQ0MsIDApIDwgMCkgewotICAgICAgICAgUkVUVVJO
 X0ZBTFNFOwotICAgICB9Ci0gCi1AQCAtMTcyNSw3ICsxNzY1LDcgQEAgUEhQX01FVEhPRChSZWRp
 cywgbFJlbW92ZSkKLSAgICAgICAgIFJFVFVSTl9OVUxMKCk7Ci0gICAgIH0KLSAKLS0gICAgaWYg
 KHJlZGlzX3NvY2tfZ2V0KG9iamVjdCwgJnJlZGlzX3NvY2sgVFNSTUxTX0NDKSA8IDApIHsKLSsg
 ICAgaWYgKHJlZGlzX3NvY2tfZ2V0KG9iamVjdCwgJnJlZGlzX3NvY2sgVFNSTUxTX0NDLCAwKSA8
 IDApIHsKLSAgICAgICAgIFJFVFVSTl9GQUxTRTsKLSAgICAgfQotIAotQEAgLTE3NjEsNyArMTgw
 MSw3IEBAIFBIUF9NRVRIT0QoUmVkaXMsIGxpc3RUcmltKQotICAgICAgICAgUkVUVVJOX0ZBTFNF
 OwotICAgICB9Ci0gCi0tICAgIGlmIChyZWRpc19zb2NrX2dldChvYmplY3QsICZyZWRpc19zb2Nr
 IFRTUk1MU19DQykgPCAwKSB7Ci0rICAgIGlmIChyZWRpc19zb2NrX2dldChvYmplY3QsICZyZWRp
 c19zb2NrIFRTUk1MU19DQywgMCkgPCAwKSB7Ci0gICAgICAgICBSRVRVUk5fRkFMU0U7Ci0gICAg
 IH0KLSAKLUBAIC0xNzk0LDcgKzE4MzQsNyBAQCBQSFBfTUVUSE9EKFJlZGlzLCBsR2V0KQotICAg
 ICAgICAgUkVUVVJOX05VTEwoKTsKLSAgICAgfQotIAotLSAgICBpZiAocmVkaXNfc29ja19nZXQo
 b2JqZWN0LCAmcmVkaXNfc29jayBUU1JNTFNfQ0MpIDwgMCkgewotKyAgICBpZiAocmVkaXNfc29j
 a19nZXQob2JqZWN0LCAmcmVkaXNfc29jayBUU1JNTFNfQ0MsIDApIDwgMCkgewotICAgICAgICAg
 UkVUVVJOX0ZBTFNFOwotICAgICB9Ci0gCi1AQCAtMTgyNyw3ICsxODY3LDcgQEAgUEhQX01FVEhP
 RChSZWRpcywgbEdldFJhbmdlKQotICAgICAgICAgUkVUVVJOX0ZBTFNFOwotICAgICB9Ci0gCi0t
 ICAgIGlmIChyZWRpc19zb2NrX2dldChvYmplY3QsICZyZWRpc19zb2NrIFRTUk1MU19DQykgPCAw
 KSB7Ci0rICAgIGlmIChyZWRpc19zb2NrX2dldChvYmplY3QsICZyZWRpc19zb2NrIFRTUk1MU19D
 QywgMCkgPCAwKSB7Ci0gICAgICAgICBSRVRVUk5fRkFMU0U7Ci0gICAgIH0KLSAKLUBAIC0xODc4
 LDcgKzE5MTgsNyBAQCBQSFBfTUVUSE9EKFJlZGlzLCBzU2l6ZSkKLSAgICAgICAgIFJFVFVSTl9G
 QUxTRTsKLSAgICAgfQotIAotLSAgICBpZiAocmVkaXNfc29ja19nZXQob2JqZWN0LCAmcmVkaXNf
 c29jayBUU1JNTFNfQ0MpIDwgMCkgewotKyAgICBpZiAocmVkaXNfc29ja19nZXQob2JqZWN0LCAm
 cmVkaXNfc29jayBUU1JNTFNfQ0MsIDApIDwgMCkgewotICAgICAgICAgUkVUVVJOX0ZBTFNFOwot
 ICAgICB9Ci0gCi1AQCAtMTkzMCw3ICsxOTcwLDcgQEAgUEhQX01FVEhPRChSZWRpcywgc01vdmUp
 Ci0gICAgICAgICBSRVRVUk5fRkFMU0U7Ci0gICAgIH0KLSAKLS0gICAgaWYgKHJlZGlzX3NvY2tf
 Z2V0KG9iamVjdCwgJnJlZGlzX3NvY2sgVFNSTUxTX0NDKSA8IDApIHsKLSsgICAgaWYgKHJlZGlz
 X3NvY2tfZ2V0KG9iamVjdCwgJnJlZGlzX3NvY2sgVFNSTUxTX0NDLCAwKSA8IDApIHsKLSAgICAg
 ICAgIFJFVFVSTl9GQUxTRTsKLSAgICAgfQotIAotQEAgLTE5ODUsNyArMjAyNSw3IEBAIFBIUF9N
 RVRIT0QoUmVkaXMsIHNDb250YWlucykKLSAgICAgICAgIHJldHVybjsKLSAgICAgfQotIAotLSAg
 ICBpZiAocmVkaXNfc29ja19nZXQob2JqZWN0LCAmcmVkaXNfc29jayBUU1JNTFNfQ0MpIDwgMCkg
 ewotKyAgICBpZiAocmVkaXNfc29ja19nZXQob2JqZWN0LCAmcmVkaXNfc29jayBUU1JNTFNfQ0Ms
 IDApIDwgMCkgewotICAgICAgICAgUkVUVVJOX0ZBTFNFOwotICAgICB9Ci0gCi1AQCAtMjAxOCw3
 ICsyMDU4LDcgQEAgUEhQX01FVEhPRChSZWRpcywgc01lbWJlcnMpCi0gICAgICAgICBSRVRVUk5f
 RkFMU0U7Ci0gICAgIH0KLSAKLS0gICAgaWYgKHJlZGlzX3NvY2tfZ2V0KG9iamVjdCwgJnJlZGlz
 X3NvY2sgVFNSTUxTX0NDKSA8IDApIHsKLSsgICAgaWYgKHJlZGlzX3NvY2tfZ2V0KG9iamVjdCwg
 JnJlZGlzX3NvY2sgVFNSTUxTX0NDLCAwKSA8IDApIHsKLSAgICAgICAgIFJFVFVSTl9GQUxTRTsK
 LSAgICAgfQotIAotQEAgLTIwNTksNyArMjA5OSw3IEBAIFBIUEFQSSBpbnQgZ2VuZXJpY19tdWx0
 aXBsZV9hcmdzX2NtZChJTlRFUk5BTF9GVU5DVElPTl9QQVJBTUVURVJTLCBjaGFyICprZXl3b3Jk
 Ci0gICAgIH0KLSAKLSAJLyogZ2V0IHJlZGlzIHNvY2tldCAqLwotLSAgICBpZiAocmVkaXNfc29j
 a19nZXQoZ2V0VGhpcygpLCBvdXRfc29jayBUU1JNTFNfQ0MpIDwgMCkgewotKyAgICBpZiAocmVk
 aXNfc29ja19nZXQoZ2V0VGhpcygpLCBvdXRfc29jayBUU1JNTFNfQ0MsIDApIDwgMCkgewotIAkJ
 WlZBTF9CT09MKHJldHVybl92YWx1ZSwgMCk7Ci0gCQlyZXR1cm4gRkFJTFVSRTsKLSAgICAgfQot
 QEAgLTIzOTIsNyArMjQzMiw3IEBAIFBIUF9NRVRIT0QoUmVkaXMsIHNvcnQpIHsKLSAgICAgICAg
 IFJFVFVSTl9GQUxTRTsKLSAgICAgfQotIAotLSAgICBpZiAocmVkaXNfc29ja19nZXQob2JqZWN0
 LCAmcmVkaXNfc29jayBUU1JNTFNfQ0MpIDwgMCkgewotKyAgICBpZiAocmVkaXNfc29ja19nZXQo
 b2JqZWN0LCAmcmVkaXNfc29jayBUU1JNTFNfQ0MsIDApIDwgMCkgewotICAgICAgICAgUkVUVVJO
 X0ZBTFNFOwotICAgICB9Ci0gCi1AQCAtMjYwMyw3ICsyNjQzLDcgQEAgUEhQQVBJIHZvaWQgZ2Vu
 ZXJpY19zb3J0X2NtZChJTlRFUk5BTF9GVU5DVElPTl9QQVJBTUVURVJTLCBjaGFyICpzb3J0LCBp
 bnQgdXNlX2EKLSAgICAgICAgIFJFVFVSTl9GQUxTRTsKLSAgICAgfQotIAotLSAgICBpZiAocmVk
 aXNfc29ja19nZXQob2JqZWN0LCAmcmVkaXNfc29jayBUU1JNTFNfQ0MpIDwgMCkgewotKyAgICBp
 ZiAocmVkaXNfc29ja19nZXQob2JqZWN0LCAmcmVkaXNfc29jayBUU1JNTFNfQ0MsIDApIDwgMCkg
 ewotICAgICAgICAgUkVUVVJOX0ZBTFNFOwotICAgICB9Ci0gICAgIGlmKGtleV9sZW4gPT0gMCkg
 ewotQEAgLTI3OTgsNyArMjgzOCw3IEBAIFBIUEFQSSB2b2lkIGdlbmVyaWNfZXhwaXJlX2NtZChJ
 TlRFUk5BTF9GVU5DVElPTl9QQVJBTUVURVJTLCBjaGFyICprZXl3b3JkLCBpbnQKLSAgICAgICAg
 IFJFVFVSTl9GQUxTRTsKLSAgICAgfQotIAotLSAgICBpZiAocmVkaXNfc29ja19nZXQob2JqZWN0
 LCAmcmVkaXNfc29jayBUU1JNTFNfQ0MpIDwgMCkgewotKyAgICBpZiAocmVkaXNfc29ja19nZXQo
 b2JqZWN0LCAmcmVkaXNfc29jayBUU1JNTFNfQ0MsIDApIDwgMCkgewotICAgICAgICAgUkVUVVJO
 X0ZBTFNFOwotICAgICB9Ci0gCi1AQCAtMjg0Nyw3ICsyODg3LDcgQEAgUEhQX01FVEhPRChSZWRp
 cywgbFNldCkgewotICAgICAgICAgUkVUVVJOX0ZBTFNFOwotICAgICB9Ci0gCi0tICAgIGlmIChy
 ZWRpc19zb2NrX2dldChvYmplY3QsICZyZWRpc19zb2NrIFRTUk1MU19DQykgPCAwKSB7Ci0rICAg
 IGlmIChyZWRpc19zb2NrX2dldChvYmplY3QsICZyZWRpc19zb2NrIFRTUk1MU19DQywgMCkgPCAw
 KSB7Ci0gICAgICAgICBSRVRVUk5fRkFMU0U7Ci0gICAgIH0KLSAKLUBAIC0yODc0LDcgKzI5MTQs
 NyBAQCBQSFBBUEkgdm9pZCBnZW5lcmljX2VtcHR5X2NtZF9pbXBsKElOVEVSTkFMX0ZVTkNUSU9O
 X1BBUkFNRVRFUlMsIGNoYXIgKmNtZCwgaW50Ci0gICAgICAgICBSRVRVUk5fRkFMU0U7Ci0gICAg
 IH0KLSAKLS0gICAgaWYgKHJlZGlzX3NvY2tfZ2V0KG9iamVjdCwgJnJlZGlzX3NvY2sgVFNSTUxT
 X0NDKSA8IDApIHsKLSsgICAgaWYgKHJlZGlzX3NvY2tfZ2V0KG9iamVjdCwgJnJlZGlzX3NvY2sg
 VFNSTUxTX0NDLCAwKSA8IDApIHsKLSAgICAgICAgIFJFVFVSTl9GQUxTRTsKLSAgICAgfQotIAot
 QEAgLTI5MjEsNyArMjk2MSw3IEBAIFBIUEFQSSB2b2lkIGdlbmVyaWNfZW1wdHlfbG9uZ19jbWQo
 SU5URVJOQUxfRlVOQ1RJT05fUEFSQU1FVEVSUywgY2hhciAqY21kLCBpbnQKLSAgICAgICAgIFJF
 VFVSTl9GQUxTRTsKLSAgICAgfQotIAotLSAgICBpZiAocmVkaXNfc29ja19nZXQob2JqZWN0LCAm
 cmVkaXNfc29jayBUU1JNTFNfQ0MpIDwgMCkgewotKyAgICBpZiAocmVkaXNfc29ja19nZXQob2Jq
 ZWN0LCAmcmVkaXNfc29jayBUU1JNTFNfQ0MsIDApIDwgMCkgewotICAgICAgICAgUkVUVVJOX0ZB
 TFNFOwotICAgICB9Ci0gCi1AQCAtMjk4OCw3ICszMDI4LDcgQEAgUEhQX01FVEhPRChSZWRpcywg
 YXV0aCkgewotICAgICAgICAgUkVUVVJOX0ZBTFNFOwotICAgICB9Ci0gCi0tICAgIGlmIChyZWRp
 c19zb2NrX2dldChvYmplY3QsICZyZWRpc19zb2NrIFRTUk1MU19DQykgPCAwKSB7Ci0rICAgIGlm
 IChyZWRpc19zb2NrX2dldChvYmplY3QsICZyZWRpc19zb2NrIFRTUk1MU19DQywgMCkgPCAwKSB7
 Ci0gICAgICAgICBSRVRVUk5fRkFMU0U7Ci0gICAgIH0KLSAKLUBAIC0zMDE3LDcgKzMwNTcsNyBA
 QCBQSFBfTUVUSE9EKFJlZGlzLCBwZXJzaXN0KSB7Ci0gICAgICAgICBSRVRVUk5fRkFMU0U7Ci0g
 ICAgIH0KLSAKLS0gICAgaWYgKHJlZGlzX3NvY2tfZ2V0KG9iamVjdCwgJnJlZGlzX3NvY2sgVFNS
 TUxTX0NDKSA8IDApIHsKLSsgICAgaWYgKHJlZGlzX3NvY2tfZ2V0KG9iamVjdCwgJnJlZGlzX3Nv
 Y2sgVFNSTUxTX0NDLCAwKSA8IDApIHsKLSAgICAgICAgIFJFVFVSTl9GQUxTRTsKLSAgICAgfQot
 IAotQEAgLTMwNDgsNyArMzA4OCw3IEBAIFBIUF9NRVRIT0QoUmVkaXMsIHR0bCkgewotICAgICAg
 ICAgUkVUVVJOX0ZBTFNFOwotICAgICB9Ci0gCi0tICAgIGlmIChyZWRpc19zb2NrX2dldChvYmpl
 Y3QsICZyZWRpc19zb2NrIFRTUk1MU19DQykgPCAwKSB7Ci0rICAgIGlmIChyZWRpc19zb2NrX2dl
 dChvYmplY3QsICZyZWRpc19zb2NrIFRTUk1MU19DQywgMCkgPCAwKSB7Ci0gICAgICAgICBSRVRV
 Uk5fRkFMU0U7Ci0gICAgIH0KLSAKLUBAIC0zMDc5LDcgKzMxMTksNyBAQCBQSFBfTUVUSE9EKFJl
 ZGlzLCBpbmZvKSB7Ci0gICAgICAgICBSRVRVUk5fRkFMU0U7Ci0gICAgIH0KLSAKLS0gICAgaWYg
 KHJlZGlzX3NvY2tfZ2V0KG9iamVjdCwgJnJlZGlzX3NvY2sgVFNSTUxTX0NDKSA8IDApIHsKLSsg
 ICAgaWYgKHJlZGlzX3NvY2tfZ2V0KG9iamVjdCwgJnJlZGlzX3NvY2sgVFNSTUxTX0NDLCAwKSA8
 IDApIHsKLSAgICAgICAgIFJFVFVSTl9GQUxTRTsKLSAgICAgfQotIAotQEAgLTMxMTgsNyArMzE1
 OCw3IEBAIFBIUF9NRVRIT0QoUmVkaXMsIHNlbGVjdCkgewotICAgICAgICAgUkVUVVJOX0ZBTFNF
 OwotICAgICB9Ci0gCi0tICAgIGlmIChyZWRpc19zb2NrX2dldChvYmplY3QsICZyZWRpc19zb2Nr
 IFRTUk1MU19DQykgPCAwKSB7Ci0rICAgIGlmIChyZWRpc19zb2NrX2dldChvYmplY3QsICZyZWRp
 c19zb2NrIFRTUk1MU19DQywgMCkgPCAwKSB7Ci0gICAgICAgICBSRVRVUk5fRkFMU0U7Ci0gICAg
 IH0KLSAKLUBAIC0zMTQ4LDcgKzMxODgsNyBAQCBQSFBfTUVUSE9EKFJlZGlzLCBtb3ZlKSB7Ci0g
 ICAgICAgICBSRVRVUk5fRkFMU0U7Ci0gICAgIH0KLSAKLS0gICAgaWYgKHJlZGlzX3NvY2tfZ2V0
 KG9iamVjdCwgJnJlZGlzX3NvY2sgVFNSTUxTX0NDKSA8IDApIHsKLSsgICAgaWYgKHJlZGlzX3Nv
 Y2tfZ2V0KG9iamVjdCwgJnJlZGlzX3NvY2sgVFNSTUxTX0NDLCAwKSA8IDApIHsKLSAgICAgICAg
 IFJFVFVSTl9GQUxTRTsKLSAgICAgfQotIAotQEAgLTMxODMsNyArMzIyMyw3IEBAIGdlbmVyaWNf
 bXNldChJTlRFUk5BTF9GVU5DVElPTl9QQVJBTUVURVJTLCBjaGFyICprdywgdm9pZCAoKmZ1biko
 SU5URVJOQUxfRlVOQ1RJCi0gICAgICAgICBSRVRVUk5fRkFMU0U7Ci0gICAgIH0KLSAKLS0gICAg
 aWYgKHJlZGlzX3NvY2tfZ2V0KG9iamVjdCwgJnJlZGlzX3NvY2sgVFNSTUxTX0NDKSA8IDApIHsK
 LSsgICAgaWYgKHJlZGlzX3NvY2tfZ2V0KG9iamVjdCwgJnJlZGlzX3NvY2sgVFNSTUxTX0NDLCAw
 KSA8IDApIHsKLSAgICAgICAgIFJFVFVSTl9GQUxTRTsKLSAgICAgfQotIAotQEAgLTMzMDcsNyAr
 MzM0Nyw3IEBAIFBIUF9NRVRIT0QoUmVkaXMsIHJwb3BscHVzaCkKLSAgICAgenZhbCAqb2JqZWN0
 OwotICAgICBSZWRpc1NvY2sgKnJlZGlzX3NvY2s7Ci0gICAgIGNoYXIgKnNyY2tleSA9IE5VTEws
 ICpkc3RrZXkgPSBOVUxMOwotLSAgICBpbnQgc3Jja2V5X2xlbiwgZHN0a2V5X2xlbiwgY21kX2xl
 bjsKLSsgICAgaW50IHNyY2tleV9sZW4sIGRzdGtleV9sZW47Ci0gCi0gICAgIGlmICh6ZW5kX3Bh
 cnNlX21ldGhvZF9wYXJhbWV0ZXJzKFpFTkRfTlVNX0FSR1MoKSBUU1JNTFNfQ0MsIGdldFRoaXMo
 KSwgIk9zcyIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZvYmplY3Qs
 IHJlZGlzX2NlLCAmc3Jja2V5LCAmc3Jja2V5X2xlbiwKLUBAIC0zMzE1LDcgKzMzNTUsNyBAQCBQ
 SFBfTUVUSE9EKFJlZGlzLCBycG9wbHB1c2gpCi0gICAgICAgICBSRVRVUk5fRkFMU0U7Ci0gICAg
 IH0KLSAKLS0gICAgaWYgKHJlZGlzX3NvY2tfZ2V0KG9iamVjdCwgJnJlZGlzX3NvY2sgVFNSTUxT
 X0NDKSA8IDApIHsKLSsgICAgaWYgKHJlZGlzX3NvY2tfZ2V0KG9iamVjdCwgJnJlZGlzX3NvY2sg
 VFNSTUxTX0NDLCAwKSA8IDApIHsKLSAgICAgICAgIFJFVFVSTl9GQUxTRTsKLSAgICAgfQotIAot
 QEAgLTMzMzksNyArMzM3OSw3IEBAIFBIUF9NRVRIT0QoUmVkaXMsIGJycG9wbHB1c2gpCi0gICAg
 ICAgICBSRVRVUk5fRkFMU0U7Ci0gICAgIH0KLSAKLS0gICAgaWYgKHJlZGlzX3NvY2tfZ2V0KG9i
 amVjdCwgJnJlZGlzX3NvY2sgVFNSTUxTX0NDKSA8IDApIHsKLSsgICAgaWYgKHJlZGlzX3NvY2tf
 Z2V0KG9iamVjdCwgJnJlZGlzX3NvY2sgVFNSTUxTX0NDLCAwKSA8IDApIHsKLSAgICAgICAgIFJF
 VFVSTl9GQUxTRTsKLSAgICAgfQotIAotQEAgLTMzNjcsNyArMzQwNyw3IEBAIFBIUF9NRVRIT0Qo
 UmVkaXMsIHpBZGQpIHsKLSAJaW50IGFyZ2MgPSBaRU5EX05VTV9BUkdTKCksIGk7Ci0gCi0gCS8q
 IGdldCByZWRpcyBzb2NrZXQgKi8KLS0gICAgaWYgKHJlZGlzX3NvY2tfZ2V0KGdldFRoaXMoKSwg
 JnJlZGlzX3NvY2sgVFNSTUxTX0NDKSA8IDApIHsKLSsgICAgaWYgKHJlZGlzX3NvY2tfZ2V0KGdl
 dFRoaXMoKSwgJnJlZGlzX3NvY2sgVFNSTUxTX0NDLCAwKSA8IDApIHsKLSAgICAgICAgIFJFVFVS
 Tl9GQUxTRTsKLSAgICAgfQotIAotQEAgLTM0NjYsNyArMzUwNiw3IEBAIFBIUF9NRVRIT0QoUmVk
 aXMsIHpSYW5nZSkKLSAgICAgICAgIFJFVFVSTl9GQUxTRTsKLSAgICAgfQotIAotLSAgICBpZiAo
 cmVkaXNfc29ja19nZXQob2JqZWN0LCAmcmVkaXNfc29jayBUU1JNTFNfQ0MpIDwgMCkgewotKyAg
 ICBpZiAocmVkaXNfc29ja19nZXQob2JqZWN0LCAmcmVkaXNfc29jayBUU1JNTFNfQ0MsIDApIDwg
 MCkgewotICAgICAgICAgUkVUVVJOX0ZBTFNFOwotICAgICB9Ci0gCi1AQCAtMzUyOSw3ICszNTY5
 LDcgQEAgUEhQX01FVEhPRChSZWRpcywgekRlbGV0ZVJhbmdlQnlTY29yZSkKLSAgICAgICAgIFJF
 VFVSTl9GQUxTRTsKLSAgICAgfQotIAotLSAgICBpZiAocmVkaXNfc29ja19nZXQob2JqZWN0LCAm
 cmVkaXNfc29jayBUU1JNTFNfQ0MpIDwgMCkgewotKyAgICBpZiAocmVkaXNfc29ja19nZXQob2Jq
 ZWN0LCAmcmVkaXNfc29jayBUU1JNTFNfQ0MsIDApIDwgMCkgewotICAgICAgICAgUkVUVVJOX0ZB
 TFNFOwotICAgICB9Ci0gCi1AQCAtMzU2Miw3ICszNjAyLDcgQEAgUEhQX01FVEhPRChSZWRpcywg
 ekRlbGV0ZVJhbmdlQnlSYW5rKQotICAgICAgICAgUkVUVVJOX0ZBTFNFOwotICAgICB9Ci0gCi0t
 ICAgIGlmIChyZWRpc19zb2NrX2dldChvYmplY3QsICZyZWRpc19zb2NrIFRTUk1MU19DQykgPCAw
 KSB7Ci0rICAgIGlmIChyZWRpc19zb2NrX2dldChvYmplY3QsICZyZWRpc19zb2NrIFRTUk1MU19D
 QywgMCkgPCAwKSB7Ci0gICAgICAgICBSRVRVUk5fRkFMU0U7Ci0gICAgIH0KLSAKLUBAIC0zNTk2
 LDcgKzM2MzYsNyBAQCBQSFBfTUVUSE9EKFJlZGlzLCB6UmV2ZXJzZVJhbmdlKQotICAgICAgICAg
 UkVUVVJOX0ZBTFNFOwotICAgICB9Ci0gCi0tICAgIGlmIChyZWRpc19zb2NrX2dldChvYmplY3Qs
 ICZyZWRpc19zb2NrIFRTUk1MU19DQykgPCAwKSB7Ci0rICAgIGlmIChyZWRpc19zb2NrX2dldChv
 YmplY3QsICZyZWRpc19zb2NrIFRTUk1MU19DQywgMCkgPCAwKSB7Ci0gICAgICAgICBSRVRVUk5f
 RkFMU0U7Ci0gICAgIH0KLSAKLUBAIC0zNjQ5LDcgKzM2ODksNyBAQCByZWRpc19nZW5lcmljX3py
 YW5nZV9ieV9zY29yZShJTlRFUk5BTF9GVU5DVElPTl9QQVJBTUVURVJTLCBjaGFyICprZXl3b3Jk
 KSB7Ci0gICAgICAgICBSRVRVUk5fRkFMU0U7Ci0gICAgIH0KLSAKLS0gICAgaWYgKHJlZGlzX3Nv
 Y2tfZ2V0KG9iamVjdCwgJnJlZGlzX3NvY2sgVFNSTUxTX0NDKSA8IDApIHsKLSsgICAgaWYgKHJl
 ZGlzX3NvY2tfZ2V0KG9iamVjdCwgJnJlZGlzX3NvY2sgVFNSTUxTX0NDLCAwKSA8IDApIHsKLSAg
 ICAgICAgIFJFVFVSTl9GQUxTRTsKLSAgICAgfQotIAotQEAgLTM3NTUsNyArMzc5NSw3IEBAIFBI
 UF9NRVRIT0QoUmVkaXMsIHpDb3VudCkKLSAgICAgICAgIFJFVFVSTl9GQUxTRTsKLSAgICAgfQot
 IAotLSAgICBpZiAocmVkaXNfc29ja19nZXQob2JqZWN0LCAmcmVkaXNfc29jayBUU1JNTFNfQ0Mp
 IDwgMCkgewotKyAgICBpZiAocmVkaXNfc29ja19nZXQob2JqZWN0LCAmcmVkaXNfc29jayBUU1JN
 TFNfQ0MsIDApIDwgMCkgewotICAgICAgICAgUkVUVVJOX0ZBTFNFOwotICAgICB9Ci0gCi1AQCAt
 Mzc4Niw3ICszODI2LDcgQEAgUEhQX01FVEhPRChSZWRpcywgekNhcmQpCi0gICAgICAgICBSRVRV
 Uk5fRkFMU0U7Ci0gICAgIH0KLSAKLS0gICAgaWYgKHJlZGlzX3NvY2tfZ2V0KG9iamVjdCwgJnJl
 ZGlzX3NvY2sgVFNSTUxTX0NDKSA8IDApIHsKLSsgICAgaWYgKHJlZGlzX3NvY2tfZ2V0KG9iamVj
 dCwgJnJlZGlzX3NvY2sgVFNSTUxTX0NDLCAwKSA8IDApIHsKLSAgICAgICAgIFJFVFVSTl9GQUxT
 RTsKLSAgICAgfQotIAotQEAgLTM4MjAsNyArMzg2MCw3IEBAIFBIUF9NRVRIT0QoUmVkaXMsIHpT
 Y29yZSkKLSAgICAgICAgIFJFVFVSTl9GQUxTRTsKLSAgICAgfQotIAotLSAgICBpZiAocmVkaXNf
 c29ja19nZXQob2JqZWN0LCAmcmVkaXNfc29jayBUU1JNTFNfQ0MpIDwgMCkgewotKyAgICBpZiAo
 cmVkaXNfc29ja19nZXQob2JqZWN0LCAmcmVkaXNfc29jayBUU1JNTFNfQ0MsIDApIDwgMCkgewot
 ICAgICAgICAgUkVUVVJOX0ZBTFNFOwotICAgICB9Ci0gCi1AQCAtMzg1Myw3ICszODkzLDcgQEAg
 UEhQQVBJIHZvaWQgZ2VuZXJpY19yYW5rX21ldGhvZChJTlRFUk5BTF9GVU5DVElPTl9QQVJBTUVU
 RVJTLCBjaGFyICprZXl3b3JkLCBpbnQKLSAgICAgICAgIFJFVFVSTl9GQUxTRTsKLSAgICAgfQot
 IAotLSAgICBpZiAocmVkaXNfc29ja19nZXQob2JqZWN0LCAmcmVkaXNfc29jayBUU1JNTFNfQ0Mp
 IDwgMCkgewotKyAgICBpZiAocmVkaXNfc29ja19nZXQob2JqZWN0LCAmcmVkaXNfc29jayBUU1JN
 TFNfQ0MsIDApIDwgMCkgewotICAgICAgICAgUkVUVVJOX0ZBTFNFOwotICAgICB9Ci0gCi1AQCAt
 MzkwMyw3ICszOTQzLDcgQEAgUEhQQVBJIHZvaWQgZ2VuZXJpY19pbmNyYnlfbWV0aG9kKElOVEVS
 TkFMX0ZVTkNUSU9OX1BBUkFNRVRFUlMsIGNoYXIgKmtleXdvcmQsIGkKLSAgICAgICAgIFJFVFVS
 Tl9GQUxTRTsKLSAgICAgfQotIAotLSAgICBpZiAocmVkaXNfc29ja19nZXQob2JqZWN0LCAmcmVk
 aXNfc29jayBUU1JNTFNfQ0MpIDwgMCkgewotKyAgICBpZiAocmVkaXNfc29ja19nZXQob2JqZWN0
 LCAmcmVkaXNfc29jayBUU1JNTFNfQ0MsIDApIDwgMCkgewotICAgICAgICAgUkVUVVJOX0ZBTFNF
 OwotICAgICB9Ci0gCi1AQCAtMzk0OCw3ICszOTg4LDcgQEAgUEhQQVBJIHZvaWQgZ2VuZXJpY196
 X2NvbW1hbmQoSU5URVJOQUxfRlVOQ1RJT05fUEFSQU1FVEVSUywgY2hhciAqY29tbWFuZCwgaW50
 IGMKLSAJCVJFVFVSTl9GQUxTRTsKLSAJfQotIAotLSAgICBpZihyZWRpc19zb2NrX2dldChvYmpl
 Y3QsICZyZWRpc19zb2NrIFRTUk1MU19DQykgPCAwKSB7Ci0rICAgIGlmKHJlZGlzX3NvY2tfZ2V0
 KG9iamVjdCwgJnJlZGlzX3NvY2sgVFNSTUxTX0NDLCAwKSA8IDApIHsKLSAJCVJFVFVSTl9GQUxT
 RTsKLSAgICAgfQotIAotQEAgLTQxMjYsNyArNDE2Niw3IEBAIGdlbmVyaWNfaHNldChJTlRFUk5B
 TF9GVU5DVElPTl9QQVJBTUVURVJTLCBjaGFyICprdywgdm9pZCAoKmZ1bikoSU5URVJOQUxfRlVO
 Q1RJCi0gICAgICAgICBSRVRVUk5fRkFMU0U7Ci0gICAgIH0KLSAKLS0gICAgaWYgKHJlZGlzX3Nv
 Y2tfZ2V0KG9iamVjdCwgJnJlZGlzX3NvY2sgVFNSTUxTX0NDKSA8IDApIHsKLSsgICAgaWYgKHJl
 ZGlzX3NvY2tfZ2V0KG9iamVjdCwgJnJlZGlzX3NvY2sgVFNSTUxTX0NDLCAwKSA8IDApIHsKLSAg
 ICAgICAgIFJFVFVSTl9GQUxTRTsKLSAgICAgfQotIAotQEAgLTQxNzAsNyArNDIxMCw3IEBAIFBI
 UF9NRVRIT0QoUmVkaXMsIGhHZXQpCi0gICAgICAgICBSRVRVUk5fRkFMU0U7Ci0gICAgIH0KLSAK
 LS0gICAgaWYgKHJlZGlzX3NvY2tfZ2V0KG9iamVjdCwgJnJlZGlzX3NvY2sgVFNSTUxTX0NDKSA8
 IDApIHsKLSsgICAgaWYgKHJlZGlzX3NvY2tfZ2V0KG9iamVjdCwgJnJlZGlzX3NvY2sgVFNSTUxT
 X0NDLCAwKSA8IDApIHsKLSAgICAgICAgIFJFVFVSTl9GQUxTRTsKLSAgICAgfQotIAlrZXlfZnJl
 ZSA9IHJlZGlzX2tleV9wcmVmaXgocmVkaXNfc29jaywgJmtleSwgJmtleV9sZW4gVFNSTUxTX0ND
 KTsKLUBAIC00MjAwLDcgKzQyNDAsNyBAQCBQSFBfTUVUSE9EKFJlZGlzLCBoTGVuKQotICAgICAg
 ICAgUkVUVVJOX0ZBTFNFOwotICAgICB9Ci0gCi0tICAgIGlmIChyZWRpc19zb2NrX2dldChvYmpl
 Y3QsICZyZWRpc19zb2NrIFRTUk1MU19DQykgPCAwKSB7Ci0rICAgIGlmIChyZWRpc19zb2NrX2dl
 dChvYmplY3QsICZyZWRpc19zb2NrIFRTUk1MU19DQywgMCkgPCAwKSB7Ci0gICAgICAgICBSRVRV
 Uk5fRkFMU0U7Ci0gICAgIH0KLSAKLUBAIC00MjMyLDcgKzQyNzIsNyBAQCBnZW5lcmljX2hhc2hf
 Y29tbWFuZF8yKElOVEVSTkFMX0ZVTkNUSU9OX1BBUkFNRVRFUlMsIGNoYXIgKmtleXdvcmQsIGlu
 dCBrZXl3b3JkXwotICAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICB9Ci0gCi0tICAgIGlm
 IChyZWRpc19zb2NrX2dldChvYmplY3QsICZyZWRpc19zb2NrIFRTUk1MU19DQykgPCAwKSB7Ci0r
 ICAgIGlmIChyZWRpc19zb2NrX2dldChvYmplY3QsICZyZWRpc19zb2NrIFRTUk1MU19DQywgMCkg
 PCAwKSB7Ci0gICAgICAgICAgICAgWlZBTF9CT09MKHJldHVybl92YWx1ZSwgMCk7Ci0gICAgICAg
 ICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgIH0KLUBAIC00MjkzLDcgKzQzMzMsNyBAQCBnZW5lcmlj
 X2hhc2hfY29tbWFuZF8xKElOVEVSTkFMX0ZVTkNUSU9OX1BBUkFNRVRFUlMsIGNoYXIgKmtleXdv
 cmQsIGludCBrZXl3b3JkXwotICAgICAgICAgICAgIHJldHVybiBOVUxMOwotICAgICB9Ci0gCi0t
 ICAgIGlmIChyZWRpc19zb2NrX2dldChvYmplY3QsICZyZWRpc19zb2NrIFRTUk1MU19DQykgPCAw
 KSB7Ci0rICAgIGlmIChyZWRpc19zb2NrX2dldChvYmplY3QsICZyZWRpc19zb2NrIFRTUk1MU19D
 QywgMCkgPCAwKSB7Ci0gICAgICAgICAgICAgWlZBTF9CT09MKHJldHVybl92YWx1ZSwgMCk7Ci0g
 ICAgICAgICAgICAgcmV0dXJuIE5VTEw7Ci0gICAgIH0KLUBAIC00NDQxLDcgKzQ0ODEsNyBAQCBQ
 SFBfTUVUSE9EKFJlZGlzLCBoSW5jckJ5KQotICAgICAgICAgUkVUVVJOX0ZBTFNFOwotICAgICB9
 Ci0gCi0tICAgIGlmIChyZWRpc19zb2NrX2dldChvYmplY3QsICZyZWRpc19zb2NrIFRTUk1MU19D
 QykgPCAwKSB7Ci0rICAgIGlmIChyZWRpc19zb2NrX2dldChvYmplY3QsICZyZWRpc19zb2NrIFRT
 Uk1MU19DQywgMCkgPCAwKSB7Ci0gICAgICAgICBSRVRVUk5fRkFMU0U7Ci0gICAgIH0KLSAKLUBA
 IC00NDkyLDcgKzQ1MzIsNyBAQCBQSFBfTUVUSE9EKFJlZGlzLCBoTWdldCkgewotICAgICAgICAg
 UkVUVVJOX0ZBTFNFOwotICAgICB9Ci0gCi0tICAgIGlmIChyZWRpc19zb2NrX2dldChvYmplY3Qs
 ICZyZWRpc19zb2NrIFRTUk1MU19DQykgPCAwKSB7Ci0rICAgIGlmIChyZWRpc19zb2NrX2dldChv
 YmplY3QsICZyZWRpc19zb2NrIFRTUk1MU19DQywgMCkgPCAwKSB7Ci0gICAgICAgICBSRVRVUk5f
 RkFMU0U7Ci0gICAgIH0KLSAgICAgbmJfZmllbGRzID0gemVuZF9oYXNoX251bV9lbGVtZW50cyha
 X0FSUlZBTF9QKHpfYXJyYXkpKTsKLUBAIC00NTcyLDcgKzQ2MTIsNyBAQCBQSFBfTUVUSE9EKFJl
 ZGlzLCBoTXNldCkKLSAgICAgICAgIFJFVFVSTl9GQUxTRTsKLSAgICAgfQotIAotLSAgICBpZiAo
 cmVkaXNfc29ja19nZXQob2JqZWN0LCAmcmVkaXNfc29jayBUU1JNTFNfQ0MpIDwgMCkgewotKyAg
 ICBpZiAocmVkaXNfc29ja19nZXQob2JqZWN0LCAmcmVkaXNfc29jayBUU1JNTFNfQ0MsIDApIDwg
 MCkgewotICAgICAgICAgUkVUVVJOX0ZBTFNFOwotICAgICB9Ci0gCi1AQCAtNDY4MSw3ICs0NzIx
 LDcgQEAgUEhQX01FVEhPRChSZWRpcywgbXVsdGkpCi0gCi0gICAgIC8qIGlmIHRoZSBmbGFnIGlz
 IGFjdGl2YXRlZCwgc2VuZCB0aGUgY29tbWFuZCwgdGhlIHJlcGx5IHdpbGwgYmUgIlFVRVVFRCIg
 b3IgLUVSUiAqLwotIAotLSAgICBpZiAocmVkaXNfc29ja19nZXQob2JqZWN0LCAmcmVkaXNfc29j
 ayBUU1JNTFNfQ0MpIDwgMCkgewotKyAgICBpZiAocmVkaXNfc29ja19nZXQob2JqZWN0LCAmcmVk
 aXNfc29jayBUU1JNTFNfQ0MsIDApIDwgMCkgewotICAgICAgICAgUkVUVVJOX0ZBTFNFOwotICAg
 ICB9Ci0gCi1AQCAtNDczMCw3ICs0NzcwLDcgQEAgUEhQX01FVEhPRChSZWRpcywgZGlzY2FyZCkK
 LSAgICAgICAgIFJFVFVSTl9GQUxTRTsKLSAgICAgfQotIAotLSAgICBpZiAocmVkaXNfc29ja19n
 ZXQob2JqZWN0LCAmcmVkaXNfc29jayBUU1JNTFNfQ0MpIDwgMCkgewotKyAgICBpZiAocmVkaXNf
 c29ja19nZXQob2JqZWN0LCAmcmVkaXNfc29jayBUU1JNTFNfQ0MsIDApIDwgMCkgewotICAgICAg
 ICAgUkVUVVJOX0ZBTFNFOwotICAgICB9Ci0gCi1AQCAtNDgzMiw3ICs0ODcyLDcgQEAgUEhQX01F
 VEhPRChSZWRpcywgZXhlYykKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
 Jm9iamVjdCwgcmVkaXNfY2UpID09IEZBSUxVUkUpIHsKLSAgICAgICAgIFJFVFVSTl9GQUxTRTsK
 LSAgICAgfQotLSAgIAlpZiAocmVkaXNfc29ja19nZXQob2JqZWN0LCAmcmVkaXNfc29jayBUU1JN
 TFNfQ0MpIDwgMCkgewotKyAgIAlpZiAocmVkaXNfc29ja19nZXQob2JqZWN0LCAmcmVkaXNfc29j
 ayBUU1JNTFNfQ0MsIDApIDwgMCkgewotICAgICAgICAJUkVUVVJOX0ZBTFNFOwotICAgICB9Ci0g
 Ci1AQCAtNDkzMSw3ICs0OTcxLDcgQEAgUEhQX01FVEhPRChSZWRpcywgcGlwZWxpbmUpCi0gICAg
 IH0KLSAKLSAgICAgLyogaWYgdGhlIGZsYWcgaXMgYWN0aXZhdGVkLCBzZW5kIHRoZSBjb21tYW5k
 LCB0aGUgcmVwbHkgd2lsbCBiZSAiUVVFVUVEIiBvciAtRVJSICovCi0tICAgIGlmIChyZWRpc19z
 b2NrX2dldChvYmplY3QsICZyZWRpc19zb2NrIFRTUk1MU19DQykgPCAwKSB7Ci0rICAgIGlmIChy
 ZWRpc19zb2NrX2dldChvYmplY3QsICZyZWRpc19zb2NrIFRTUk1MU19DQywgMCkgPCAwKSB7Ci0g
 ICAgICAgICBSRVRVUk5fRkFMU0U7Ci0gICAgIH0KLSAJcmVkaXNfc29jay0+bW9kZSA9IFBJUEVM
 SU5FOwotQEAgLTQ5NjMsNyArNTAwMyw3IEBAIFBIUF9NRVRIT0QoUmVkaXMsIHB1Ymxpc2gpCi0g
 ICAgICAgICBSRVRVUk5fTlVMTCgpOwotICAgICB9Ci0gCi0tICAgIGlmIChyZWRpc19zb2NrX2dl
 dChvYmplY3QsICZyZWRpc19zb2NrIFRTUk1MU19DQykgPCAwKSB7Ci0rICAgIGlmIChyZWRpc19z
 b2NrX2dldChvYmplY3QsICZyZWRpc19zb2NrIFRTUk1MU19DQywgMCkgPCAwKSB7Ci0gICAgICAg
 ICBSRVRVUk5fRkFMU0U7Ci0gICAgIH0KLSAKLUBAIC01MDA0LDcgKzUwNDQsNyBAQCBQSFBfTUVU
 SE9EKFJlZGlzLCBzdWJzY3JpYmUpCi0gCQlSRVRVUk5fRkFMU0U7CQotIAl9Ci0gCi0tICAgIGlm
 IChyZWRpc19zb2NrX2dldChvYmplY3QsICZyZWRpc19zb2NrIFRTUk1MU19DQykgPCAwKSB7Ci0r
 ICAgIGlmIChyZWRpc19zb2NrX2dldChvYmplY3QsICZyZWRpc19zb2NrIFRTUk1MU19DQywgMCkg
 PCAwKSB7Ci0gICAgICAgICBSRVRVUk5fRkFMU0U7Ci0gICAgIH0KLSAKLUBAIC01MTY0LDcgKzUy
 MDQsNyBAQCBQSFBfTUVUSE9EKFJlZGlzLCB1bnN1YnNjcmliZSkKLSAJCQkJCQkJCQkgJm9iamVj
 dCwgcmVkaXNfY2UsICZhcnJheSkgPT0gRkFJTFVSRSkgewotIAkJUkVUVVJOX0ZBTFNFOwkKLSAJ
 fQotLSAgICBpZiAocmVkaXNfc29ja19nZXQob2JqZWN0LCAmcmVkaXNfc29jayBUU1JNTFNfQ0Mp
 IDwgMCkgewotKyAgICBpZiAocmVkaXNfc29ja19nZXQob2JqZWN0LCAmcmVkaXNfc29jayBUU1JN
 TFNfQ0MsIDApIDwgMCkgewotICAgICAgICAgUkVUVVJOX0ZBTFNFOwotICAgICB9Ci0gCi1AQCAt
 NTI0OCw3ICs1Mjg4LDcgQEAgUEhQX01FVEhPRChSZWRpcywgc2xhdmVvZikKLSAJCQkJCQkJCQkg
 Jm9iamVjdCwgcmVkaXNfY2UsICZob3N0LCAmaG9zdF9sZW4sICZwb3J0KSA9PSBGQUlMVVJFKSB7
 Ci0gCQlSRVRVUk5fRkFMU0U7Ci0gCX0KLS0gICAgaWYgKHJlZGlzX3NvY2tfZ2V0KG9iamVjdCwg
 JnJlZGlzX3NvY2sgVFNSTUxTX0NDKSA8IDApIHsKLSsgICAgaWYgKHJlZGlzX3NvY2tfZ2V0KG9i
 amVjdCwgJnJlZGlzX3NvY2sgVFNSTUxTX0NDLCAwKSA8IDApIHsKLSAgICAgICAgIFJFVFVSTl9G
 QUxTRTsKLSAgICAgfQotIAotQEAgLTUyODAsNyArNTMyMCw3IEBAIFBIUF9NRVRIT0QoUmVkaXMs
 IG9iamVjdCkKLSAJCQkJCQkJCQkgJm9iamVjdCwgcmVkaXNfY2UsICZpbmZvLCAmaW5mb19sZW4s
 ICZrZXksICZrZXlfbGVuKSA9PSBGQUlMVVJFKSB7Ci0gCQlSRVRVUk5fRkFMU0U7Ci0gCX0KLS0g
 ICAgaWYgKHJlZGlzX3NvY2tfZ2V0KG9iamVjdCwgJnJlZGlzX3NvY2sgVFNSTUxTX0NDKSA8IDAp
 IHsKLSsgICAgaWYgKHJlZGlzX3NvY2tfZ2V0KG9iamVjdCwgJnJlZGlzX3NvY2sgVFNSTUxTX0ND
 LCAwKSA8IDApIHsKLSAgICAgICAgIFJFVFVSTl9GQUxTRTsKLSAgICAgfQotIAotQEAgLTUzMTgs
 NyArNTM1OCw3IEBAIFBIUF9NRVRIT0QoUmVkaXMsIGdldE9wdGlvbikgIHsKLSAJCVJFVFVSTl9G
 QUxTRTsKLSAJfQotIAotLSAgICBpZiAocmVkaXNfc29ja19nZXQob2JqZWN0LCAmcmVkaXNfc29j
 ayBUU1JNTFNfQ0MpIDwgMCkgewotKyAgICBpZiAocmVkaXNfc29ja19nZXQob2JqZWN0LCAmcmVk
 aXNfc29jayBUU1JNTFNfQ0MsIDApIDwgMCkgewotICAgICAgICAgUkVUVVJOX0ZBTFNFOwotICAg
 ICB9Ci0gCi1AQCAtNTM1NCw3ICs1Mzk0LDcgQEAgUEhQX01FVEhPRChSZWRpcywgc2V0T3B0aW9u
 KSB7Ci0gCQlSRVRVUk5fRkFMU0U7Ci0gCX0KLSAKLS0gICAgaWYgKHJlZGlzX3NvY2tfZ2V0KG9i
 amVjdCwgJnJlZGlzX3NvY2sgVFNSTUxTX0NDKSA8IDApIHsKLSsgICAgaWYgKHJlZGlzX3NvY2tf
 Z2V0KG9iamVjdCwgJnJlZGlzX3NvY2sgVFNSTUxTX0NDLCAwKSA8IDApIHsKLSAgICAgICAgIFJF
 VFVSTl9GQUxTRTsKLSAgICAgfQotIAotQEAgLTU0MTQsNyArNTQ1NCw3IEBAIFBIUF9NRVRIT0Qo
 UmVkaXMsIGNvbmZpZykKLSAJCVJFVFVSTl9GQUxTRTsKLSAJfQotIAotLSAgICBpZiAocmVkaXNf
 c29ja19nZXQob2JqZWN0LCAmcmVkaXNfc29jayBUU1JNTFNfQ0MpIDwgMCkgewotKyAgICBpZiAo
 cmVkaXNfc29ja19nZXQob2JqZWN0LCAmcmVkaXNfc29jayBUU1JNTFNfQ0MsIDApIDwgMCkgewot
 ICAgICAgICAgUkVUVVJOX0ZBTFNFOwotICAgICB9Ci0gCi1kaWZmIC0tZ2l0IGEvdGVzdHMvVGVz
 dFJlZGlzLnBocCBiL3Rlc3RzL1Rlc3RSZWRpcy5waHAKLWluZGV4IDEwMzNiMDEuLjQ2YWYzNTUg
 MTAwNjQ0Ci0tLS0gYS90ZXN0cy9UZXN0UmVkaXMucGhwCi0rKysgdGVzdHMvVGVzdFJlZGlzLnBo
 cAotQEAgLTExNSw2ICsxMTUsMTIgQEAgY2xhc3MgUmVkaXNfVGVzdCBleHRlbmRzIFRlc3RTdWl0
 ZQotIAkgJHRoaXMtPmFzc2VydEVxdWFscygkcywgJHRoaXMtPnJlZGlzLT5nZXQoJ3gnKSk7Ci0g
 ICAgIH0KLSAKLSsJcHVibGljIGZ1bmN0aW9uIHRlc3RFY2hvKCkgewotKwkJJHRoaXMtPmFzc2Vy
 dEVxdWFscygkdGhpcy0+cmVkaXMtPmVjaG8oImhlbGxvIiksICJoZWxsbyIpOwotKwkJJHRoaXMt
 PmFzc2VydEVxdWFscygkdGhpcy0+cmVkaXMtPmVjaG8oIiIpLCAiIik7Ci0rCQkkdGhpcy0+YXNz
 ZXJ0RXF1YWxzKCR0aGlzLT5yZWRpcy0+ZWNobygiIDAxMjMgIiksICIgMDEyMyAiKTsKLSsJfQot
 KwotICAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdEVycigpIHsKLSAKLSAJICR0aGlzLT5yZWRpcy0+
 c2V0KCd4JywgJy1FUlInKTsKSW5kZXg6IE1rL2JzZC5waHAubWsKPT09PT09PT09PT09PT09PT09
 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTWsv
 YnNkLnBocC5tawkocmV2aXNpb24gMzA3NzQwKQorKysgTWsvYnNkLnBocC5tawkod29ya2luZyBj
 b3B5KQpAQCAtMjM5LDcgKzIzOSw3IEBACiAjIG5vbi12ZXJzaW9uIHNwZWNpZmljIGNvbXBvbmVu
 dHMKIF9VU0VfUEhQX0FMTD0JYXBjIGJjbWF0aCBiaXRzZXQgYnoyIGNhbGVuZGFyIGN0eXBlIGN1
 cmwgZGJhIGRvbSBcCiAJCWV4aWYgZmlsZWluZm8gZmlsdGVyIGZ0cCBnZCBnZXR0ZXh0IGdtcCBc
 Ci0JCWhhc2ggaWNvbnYgaW1hcCBpbnRlcmJhc2UgaW50bCBqc29uIGxkYXAgbWJzdHJpbmcgbWNy
 eXB0IFwKKwkJaGFzaCBpY29udiBpZ2JpbmFyeSBpbWFwIGludGVyYmFzZSBpbnRsIGpzb24gbGRh
 cCBtYnN0cmluZyBtY3J5cHQgXAogCQltZW1jYWNoZSBtc3NxbCBteXNxbCBteXNxbGkgb2RiYyBc
 CiAJCW9wZW5zc2wgcGNudGwgcGNyZSBwZGYgcGRvIHBkb19kYmxpYiBwZG9fZmlyZWJpcmQgcGRv
 X215c3FsIFwKIAkJcGRvX29kYmMgcGRvX3Bnc3FsIHBkb19zcWxpdGUgcGdzcWwgcG9zaXggXApA
 QCAtMjc0LDYgKzI3NCw3IEBACiBnbXBfREVQRU5EUz0JbWF0aC9waHAke1BIUF9WRVJ9LWdtcAog
 aGFzaF9ERVBFTkRTPQlzZWN1cml0eS9waHAke1BIUF9WRVJ9LWhhc2gKIGljb252X0RFUEVORFM9
 CWNvbnZlcnRlcnMvcGhwJHtQSFBfVkVSfS1pY29udgoraWdiaW5hcnlfREVQRU5EUz0JY29udmVy
 dGVycy9pZ2JpbmFyeQogaW1hcF9ERVBFTkRTPQltYWlsL3BocCR7UEhQX1ZFUn0taW1hcAogaW50
 ZXJiYXNlX0RFUEVORFM9CWRhdGFiYXNlcy9waHAke1BIUF9WRVJ9LWludGVyYmFzZQogaW50bF9E
 RVBFTkRTPQlkZXZlbC9wZWNsLWludGwK
 --047d7b15fdf7e2ca5904cf50902a--

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: ports/173643: commit references a PR
Date: Fri,  1 Mar 2013 10:43:09 +0000 (UTC)

 Author: scheidell
 Date: Fri Mar  1 10:42:54 2013
 New Revision: 313144
 URL: http://svnweb.freebsd.org/changeset/ports/313144
 
 Log:
   - Enable converters/igbinary support. Suggested by: devzone.my at gmail.com
   
   PR:		ports/173643
   Submitted by:	Mikhail Tsatsenko <m.tsatsenko@gmail.com>
   Approved by:	ale@ (maintainer)
 
 Modified:
   head/Mk/bsd.php.mk   (contents, props changed)
 
 Modified: head/Mk/bsd.php.mk
 ==============================================================================
 --- head/Mk/bsd.php.mk	Fri Mar  1 09:52:47 2013	(r313143)
 +++ head/Mk/bsd.php.mk	Fri Mar  1 10:42:54 2013	(r313144)
 @@ -238,7 +238,7 @@ php-ini:
  # non-version specific components
  _USE_PHP_ALL=	apc bcmath bitset bz2 calendar ctype curl dba dom \
  		exif fileinfo filter ftp gd gettext gmp \
 -		hash iconv imap interbase intl json ldap mbstring mcrypt \
 +		hash iconv igbinary imap interbase intl json ldap mbstring mcrypt \
  		memcache mssql mysql mysqli odbc \
  		openssl pcntl pcre pdf pdo pdo_dblib pdo_firebird pdo_mysql \
  		pdo_odbc pdo_pgsql pdo_sqlite pgsql posix \
 @@ -273,6 +273,7 @@ gettext_DEPENDS=devel/php${PHP_VER}-gett
  gmp_DEPENDS=	math/php${PHP_VER}-gmp
  hash_DEPENDS=	security/php${PHP_VER}-hash
  iconv_DEPENDS=	converters/php${PHP_VER}-iconv
 +igbinary_DEPENDS=	converters/igbinary
  imap_DEPENDS=	mail/php${PHP_VER}-imap
  interbase_DEPENDS=	databases/php${PHP_VER}-interbase
  intl_DEPENDS=	devel/pecl-intl
 _______________________________________________
 svn-ports-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-ports-all
 To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
 
State-Changed-From-To: feedback->closed 
State-Changed-By: scheidell 
State-Changed-When: Fri Mar 1 10:52:13 UTC 2013 
State-Changed-Why:  
Committed, with minor changes. Thanks! 

http://www.freebsd.org/cgi/query-pr.cgi?pr=173643 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: ports/173643: commit references a PR
Date: Fri,  1 Mar 2013 10:51:57 +0000 (UTC)

 Author: scheidell
 Date: Fri Mar  1 10:51:49 2013
 New Revision: 313145
 URL: http://svnweb.freebsd.org/changeset/ports/313145
 
 Log:
   - Update to 2.2.2 [1]
   - Convert to new Makefile header [2]
   - Enable converters/igbinary support. Suggested by: devzone.my [2]
   
   PR:		ports/173643
   Submitted by:	Valery Komarov <komarov@valerka.net> [1]
   Approved by:	Mikhail Tsatsenko <m.tsatsenko@gmail.com> maintainer [2]
 
 Deleted:
   head/databases/php5-redis/files/
 Modified:
   head/databases/php5-redis/Makefile
   head/databases/php5-redis/distinfo
 
 Modified: head/databases/php5-redis/Makefile
 ==============================================================================
 --- head/databases/php5-redis/Makefile	Fri Mar  1 10:42:54 2013	(r313144)
 +++ head/databases/php5-redis/Makefile	Fri Mar  1 10:51:49 2013	(r313145)
 @@ -1,13 +1,9 @@
 -# New ports collection makefile for:   php5-redis
 -# Date created:        9 April 2010
 -# Whom:                Benedikt Niessen <ports@niessen.ch>
 -#
 +# Created by: Benedikt Niessen <ports@niessen.ch>
  # $FreeBSD$
  #
  
  PORTNAME=	redis
 -PORTVERSION=	2.2.1
 -PORTREVISION=	1
 +PORTVERSION=	2.2.2
  CATEGORIES=	databases
  MASTER_SITES=	https://github.com/nicolasff/phpredis/tarball/${PORTVERSION}/
  PKGNAMEPREFIX=	php5-
 @@ -18,9 +14,9 @@ COMMENT=	PHP5-Extension for Redis
  
  LICENSE=	PHP301
  
 -GITVERSION=	g882c7dc
 +GITVERSION=	4197a7f
  FETCH_ARGS=	-pRr
 -WRKSRC=		${WRKDIR}/nicolasff-phpredis-250e81b
 +WRKSRC=		${WRKDIR}/nicolasff-phpredis-4197a7f
  
  USE_PHP=	session
  USE_PHP_BUILD=	yes
 @@ -29,4 +25,16 @@ DEFAULT_PHP_VER=5
  
  PHP_MODNAME=	redis
  
 +OPTIONS_DEFINE=	IGBINARY
 +IGBINARY_DESC=	Build with Igbinary serializer
 +
 +.include <bsd.port.options.mk>
 +
 +.if ${PORT_OPTIONS:MIGBINARY}
 +USE_PHP+=	igbinary
 +CONFIURE_ARGS+=	--enable-redis-igbinary
 +.else
 +CONFIURE_ARGS+=	--disable-redis-igbinary
 +.endif
 +
  .include <bsd.port.mk>
 
 Modified: head/databases/php5-redis/distinfo
 ==============================================================================
 --- head/databases/php5-redis/distinfo	Fri Mar  1 10:42:54 2013	(r313144)
 +++ head/databases/php5-redis/distinfo	Fri Mar  1 10:51:49 2013	(r313145)
 @@ -1,2 +1,2 @@
 -SHA256 (nicolasff-phpredis-2.2.1-0-gg882c7dc.tar.gz) = ef72e795c7d9038e8a4b83a948e6952eb9e424cf4b8313bfa6403176701efd3a
 -SIZE (nicolasff-phpredis-2.2.1-0-gg882c7dc.tar.gz) = 113427
 +SHA256 (nicolasff-phpredis-2.2.2-0-g4197a7f.tar.gz) = 7e784a16d5ef4b6351e7237fb42d28153e820dbe3f1237886269e061a8467284
 +SIZE (nicolasff-phpredis-2.2.2-0-g4197a7f.tar.gz) = 126081
 _______________________________________________
 svn-ports-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-ports-all
 To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
 
>Unformatted:
