SOURCES: php-pecl-idn-cvs.patch (NEW) - all fixes since relase 4 years ago...

baggins baggins at pld-linux.org
Wed Oct 15 15:09:31 CEST 2008


Author: baggins                      Date: Wed Oct 15 13:09:31 2008 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- all fixes since relase 4 years ago...

---- Files affected:
SOURCES:
   php-pecl-idn-cvs.patch (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/php-pecl-idn-cvs.patch
diff -u /dev/null SOURCES/php-pecl-idn-cvs.patch:1.1
--- /dev/null	Wed Oct 15 15:09:32 2008
+++ SOURCES/php-pecl-idn-cvs.patch	Wed Oct 15 15:09:26 2008
@@ -0,0 +1,345 @@
+diff -urN php-pecl-idn-0.1/idn-0.1/config.m4 php-pecl-idn-cvs/idn-0.1/config.m4
+--- php-pecl-idn-0.1/idn-0.1/config.m4	2004-04-26 17:41:17.000000000 +0200
++++ php-pecl-idn-cvs/idn-0.1/config.m4	2004-04-27 21:36:38.000000000 +0200
+@@ -1,12 +1,13 @@
+-dnl $Id$
++dnl $Id$
+ dnl config.m4 for extension idn
+ 
+-PHP_ARG_WITH(idn, for idn support,
+-[  --with-idn              Include GNU Libidn support])
++PHP_ARG_WITH(idn, for GNU Libidn support,
++[  --with-idn[=DIR]        Include GNU Libidn support])
+ 
+ if test "$PHP_IDN" != "no"; then
+   SEARCH_PATH="/usr/local /usr"
+-  SEARCH_FOR="/include/idn.h"
++  SEARCH_FOR="/include/idna.h"
++
+   if test -r $PHP_IDN/$SEARCH_FOR; then # path given as parameter
+     IDN_DIR=$PHP_IDN
+   else
+@@ -19,9 +20,17 @@
+     done
+   fi
+ 
+-  if test "PHP_IDN" == "no"; then
++  if test -z "$IDN_DIR"; then
+     AC_MSG_RESULT([not found])
+-    AC_MSG_ERROR([Please reinstall the GNU libidn distribution])
++    AC_MSG_ERROR([Please reinstall the GNU Libidn distribution])
++  fi
++
++  AC_MSG_CHECKING([for optional tld files])
++  if test -r "$IDN_DIR/include/tld.h"; then
++    AC_MSG_RESULT(yes)
++    AC_DEFINE(HAVE_TLD,1,[ ])
++  else
++    AC_MSG_RESULT([no])
+   fi
+ 
+   PHP_ADD_INCLUDE($IDN_DIR/include)
+diff -urN php-pecl-idn-0.1/idn-0.1/EXPERIMENTAL php-pecl-idn-cvs/idn-0.1/EXPERIMENTAL
+--- php-pecl-idn-0.1/idn-0.1/EXPERIMENTAL	2004-04-26 17:17:39.000000000 +0200
++++ php-pecl-idn-cvs/idn-0.1/EXPERIMENTAL	2004-04-27 02:19:11.000000000 +0200
+@@ -0,0 +1,5 @@
++This extension is experimental,
++its functions may change their names
++or move to extension all together
++so do not rely to much on them
++you have been warned!
+diff -urN php-pecl-idn-0.1/idn-0.1/idn.c php-pecl-idn-cvs/idn-0.1/idn.c
+--- php-pecl-idn-0.1/idn-0.1/idn.c	2004-04-26 17:41:17.000000000 +0200
++++ php-pecl-idn-cvs/idn-0.1/idn.c	2008-03-31 11:43:28.000000000 +0200
+@@ -16,7 +16,7 @@
+   +----------------------------------------------------------------------+
+ */
+ 
+-/* $Id$ */
++/* $Id$ */
+ 
+ #ifdef HAVE_CONFIG_H
+ #include "config.h"
+@@ -59,7 +59,7 @@
+ 	PHP_RSHUTDOWN(idn),	/* Replace with NULL if there's nothing to do at request end */
+ 	PHP_MINFO(idn),
+ #if ZEND_MODULE_API_NO >= 20010901
+-	"0.1", /* Replace with version number for your extension */
++	PHP_IDN_VERSION,
+ #endif
+ 	STANDARD_MODULE_PROPERTIES
+ };
+@@ -153,8 +153,9 @@
+ PHP_MINFO_FUNCTION(idn)
+ {
+ 	php_info_print_table_start();
+-	php_info_print_table_header(2, "GNU libidn support", "enabled");
+-	php_info_print_table_row(2, "GNU libidn version", STRINGPREP_VERSION);
++	php_info_print_table_header(2, "GNU Libidn support", "enabled");
++	php_info_print_table_row(2, "GNU Libidn version", STRINGPREP_VERSION);
++	php_info_print_table_row(2, "Extension version", PHP_IDN_VERSION);
+ 	php_info_print_table_end();
+ 
+ 	/* Remove comments if you have entries in php.ini
+@@ -167,94 +168,84 @@
+    Converts an UTF-8  encoded string to corresponding ASCII name */
+ PHP_FUNCTION(idn_to_ascii)
+ {
+-	/* The domain name the user enters */
++	/* The domainname the user enters */
+ 	char *domain = NULL;
+ 	int domain_len, len;
+ 
+ 	/* PHP reference for error code */
+-	zval *errorcode = NULL;
+-
+-	/* For returning error messages */
+-	char string[256];
++	zval *php_errorcode = NULL;
+ 
+ 	/* libidn return values */
+-	char *p;
+-	int rc;
+-	size_t i;
++	char *punycode; /* Punycode represantation of domain String */
++	int idna_returncode; /* Returned value from idna_to_ascii call */
+ 
+ 
+-	if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|z", &domain, &domain_len, &errorcode) == FAILURE) {
++	if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|z", &domain, &domain_len, &php_errorcode) == FAILURE) {
+ 		return;
+ 	}
+ 
+-	if (errorcode != NULL && !PZVAL_IS_REF(errorcode)) {
+-		zend_error(E_WARNING, "Second parameter wasn't passed by reference");
++	if (php_errorcode != NULL && !PZVAL_IS_REF(php_errorcode)) {
++		php_error_docref(NULL TSRMLS_CC, E_WARNING, "Second parameter wasn't passed by reference");
+ 		RETURN_FALSE;
+ 	}
+ 
+-	rc = idna_to_ascii_8z(domain, &p, 0);
+-	if (rc != IDNA_SUCCESS) {
+-		free(p);
+-
+-		len = sprintf(string, "Couldn't convert domainname");
+-		if (errorcode != NULL) {
+-			ZVAL_LONG(errorcode, rc);
++	idna_returncode = idna_to_ascii_8z(domain, &punycode, 0);
++	if (idna_returncode != IDNA_SUCCESS) {
++		free(punycode);
++
++		if (php_errorcode != NULL) {
++			ZVAL_LONG(php_errorcode, idna_returncode);
+ 		}
+ 
+-		zend_error(E_WARNING, string);
++		php_error_docref(NULL TSRMLS_CC, E_WARNING, "Could not convert domainname");
+ 		RETURN_FALSE;
+ 	}
+ 
+-	RETVAL_STRINGL(p, strlen(p), 1);
+-	free(p);
++	RETVAL_STRING(punycode, 1);
++	free(punycode);
+ 	return;
+ }
+ /* }}} */
+ 
+ /* {{{ proto string idn_to_utf8(string arg)
+-   Converts an ASCII compatible domain name to UTF-8 */
++   Converts an ASCII compatible domainname to UTF-8 */
+ PHP_FUNCTION(idn_to_utf8)
+ {
+-	/* The domain name the user enters */
++	/* The domainname the user enters */
+ 	char *domain = NULL;
+ 	int domain_len, len;
+ 
+ 	/* PHP reference for error code */
+-	zval *errorcode = NULL;
+-
+-	/* For returning error messages */
+-	char string[256];
++	zval *php_errorcode = NULL;
+ 
+ 	/* libidn return values */
+-	char *p;
+-	int rc;
+-	size_t i;
++	char *utf8; /* UTF-8 representation of domain */
++	int idna_returncode; /* Returned value from idna_to_unicode call */
+ 
+ 
+-	if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|z", &domain, &domain_len, &errorcode) == FAILURE) {
++	if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "s|z", &domain, &domain_len, &php_errorcode) == FAILURE) {
+ 		return;
+ 	}
+ 
+-	if (errorcode != NULL && !PZVAL_IS_REF(errorcode)) {
+-		zend_error(E_WARNING, "Second parameter wasn't passed by reference");
++	if (php_errorcode != NULL && !PZVAL_IS_REF(php_errorcode)) {
++		php_error_docref(NULL TSRMLS_CC, E_WARNING, "Second parameter wasn't passed by reference");
+ 		RETURN_FALSE;
+ 	}
+ 
+-	rc = idna_to_unicode_8z8z(domain, &p, 0);
+-	if (rc != IDNA_SUCCESS) {
+-		free(p);
+-
+-		len = sprintf(string, "Couldn't convert domainname");
+-		if (errorcode != NULL) {
+-			ZVAL_LONG(errorcode, rc);
++	idna_returncode = idna_to_unicode_8z8z(domain, &utf8, 0);
++	if (idna_returncode != IDNA_SUCCESS) {
++		free(utf8);
++
++		if (php_errorcode != NULL) {
++			ZVAL_LONG(php_errorcode, idna_returncode);
+ 		}
+ 
+-		zend_error(E_WARNING, string);
++		php_error_docref(NULL TSRMLS_CC, E_WARNING, 'Could not convert domainname');
+ 		RETURN_FALSE;
+ 	}
+ 
+-	RETVAL_STRINGL(p, strlen(p), 1);
+-	free(p);
++	RETVAL_STRING(utf8, 1);
++	free(utf8);
+ 	return;
+ }
+ /* }}} */
+diff -urN php-pecl-idn-0.1/idn-0.1/idn.php php-pecl-idn-cvs/idn-0.1/idn.php
+--- php-pecl-idn-0.1/idn-0.1/idn.php	1970-01-01 01:00:00.000000000 +0100
++++ php-pecl-idn-cvs/idn-0.1/idn.php	2004-04-26 17:41:17.000000000 +0200
+@@ -0,0 +1,19 @@
++<?
++if(!extension_loaded('idn')) {
++	dl('idn.' . PHP_SHLIB_SUFFIX);
++}
++$module = 'idn';
++$functions = get_extension_funcs($module);
++echo "Functions available in the test extension:<br>\n";
++foreach($functions as $func) {
++    echo $func."<br>\n";
++}
++echo "<br>\n";
++$function = 'confirm_' . $module . '_compiled';
++if (extension_loaded($module)) {
++	$str = $function($module);
++} else {
++	$str = "Module $module is not compiled into PHP";
++}
++echo "$str\n";
++?>
+diff -urN php-pecl-idn-0.1/idn-0.1/php_idn.h php-pecl-idn-cvs/idn-0.1/php_idn.h
+--- php-pecl-idn-0.1/idn-0.1/php_idn.h	2004-04-26 17:41:17.000000000 +0200
++++ php-pecl-idn-cvs/idn-0.1/php_idn.h	2008-03-31 11:43:28.000000000 +0200
+@@ -16,7 +16,7 @@
+   +----------------------------------------------------------------------+
+ */
+ 
+-/* $Id$ */
++/* $Id$ */
+ 
+ #ifndef PHP_IDN_H
+ #define PHP_IDN_H
+@@ -24,6 +24,8 @@
+ extern zend_module_entry idn_module_entry;
+ #define phpext_idn_ptr &idn_module_entry
+ 
++#define PHP_IDN_VERSION "0.2.0-dev"
++
+ #ifdef PHP_WIN32
+ #define PHP_IDN_API __declspec(dllexport)
+ #else
+diff -urN php-pecl-idn-0.1/idn-0.1/tests/001.phpt php-pecl-idn-cvs/idn-0.1/tests/001.phpt
+--- php-pecl-idn-0.1/idn-0.1/tests/001.phpt	2004-04-26 17:17:41.000000000 +0200
++++ php-pecl-idn-cvs/idn-0.1/tests/001.phpt	2004-04-27 02:19:11.000000000 +0200
+@@ -1,5 +1,5 @@
+ --TEST--
+-Check for GNU libidn
++idn: Testing idn_to_ascii & idn_to_utf8
+ --SKIPIF--
+ <?php @dl('idn.so'); if (!extension_loaded("idn")) print "skip"; ?>
+ --POST--
+diff -urN php-pecl-idn-0.1/idn-0.1/tests/002.phpt php-pecl-idn-cvs/idn-0.1/tests/002.phpt
+--- php-pecl-idn-0.1/idn-0.1/tests/002.phpt	1970-01-01 01:00:00.000000000 +0100
++++ php-pecl-idn-cvs/idn-0.1/tests/002.phpt	2004-04-27 02:19:11.000000000 +0200
+@@ -0,0 +1,20 @@
++--TEST--
++idn: Testing error handling on bad input
++--SKIPIF--
++<?php @dl('idn.so'); if (!extension_loaded("idn")) print "skip"; ?>
++--POST--
++--GET--
++--INI--
++--FILE--
++<?php
++$in     = 'äöüöäöü';
++$return = idn_to_ascii($in, &$error);
++
++if ($return === false && $error == IDNA_STRINGPREP_ERROR) {
++    echo 'ok';
++}
++?>
++--EXPECTF--
++
++Warning: idn_to_ascii(): Could not convert domainname in %s002.php on line %d
++ok
+diff -urN php-pecl-idn-0.1/package.xml php-pecl-idn-cvs/package.xml
+--- php-pecl-idn-0.1/package.xml	2004-04-26 17:48:30.000000000 +0200
++++ php-pecl-idn-cvs/package.xml	2004-04-26 17:41:17.000000000 +0200
+@@ -1,9 +1,8 @@
+ <?xml version="1.0" encoding="ISO-8859-1" ?>
+ <!DOCTYPE package SYSTEM "http://pear.php.net/dtd/package-1.0">
+ <package version="1.0">
+   <name>idn</name>
+   <summary>GNU Libidn</summary>
+-  <description>Binding to the GNU libidn for using Internationalized Domain Names.</description>
+   <maintainers>
+     <maintainer>
+       <user>johannes</user>
+@@ -12,15 +11,17 @@
+       <role>lead</role>
+     </maintainer>
+   </maintainers>
++  <description>
++    Binding to the GNU libidn for using Internationalized Domain Names.
++  </description>
++  <license>PHP</license>
+   <release>
++    <state>beta</state>
+     <version>0.1</version>
+     <date>2004-04-26</date>
+-    <license>PHP</license>
+-    <state>beta</state>
+-    <notes>First PECL release</notes>
+-    <deps>
+-      <dep type="php" rel="ge" version="4"/>
+-    </deps>
++    <notes>
++      First PECL release
++    </notes>
+     <configureoptions>
+       <configureoption name="with-idn" default="autodetect" prompt="GNU libidn installation dir?"/>
+     </configureoptions>
+@@ -28,10 +29,18 @@
+       <file role="src" name="config.m4"/>
+       <file role="src" name="idn.c"/>
+       <file role="src" name="php_idn.h"/>
++
+       <file role="doc" name="CREDITS"/>
+       <file role="doc" name="README"/>
+       <file role="doc" name="EXPERIMENTAL"/>
++
+       <file role="test" name="tests/001.phpt"/>
+     </filelist>
++    <deps>
++      <dep type="php" rel="ge" version="4" />
++    </deps>
+   </release>
+ </package>
++<!--
++vim:et:ts=1:sw=1
++-->
================================================================


More information about the pld-cvs-commit mailing list