[PHP-CVS] cvs: php-src(PHP_4_4) /ext/mbstring mbstring.c

2008-06-13 Thread Rui Hirokawa
hirokawaFri Jun 13 14:50:03 2008 UTC

  Modified files:  (Branch: PHP_4_4)
/php-src/ext/mbstring   mbstring.c 
  Log:
  MFH
  
http://cvs.php.net/viewvc.cgi/php-src/ext/mbstring/mbstring.c?r1=1.142.2.47.2.23r2=1.142.2.47.2.24diff_format=u
Index: php-src/ext/mbstring/mbstring.c
diff -u php-src/ext/mbstring/mbstring.c:1.142.2.47.2.23 
php-src/ext/mbstring/mbstring.c:1.142.2.47.2.24
--- php-src/ext/mbstring/mbstring.c:1.142.2.47.2.23 Sat Feb 16 12:41:55 2008
+++ php-src/ext/mbstring/mbstring.c Fri Jun 13 14:50:03 2008
@@ -17,7 +17,7 @@
+--+
  */
 
-/* $Id: mbstring.c,v 1.142.2.47.2.23 2008/02/16 12:41:55 hirokawa Exp $ */
+/* $Id: mbstring.c,v 1.142.2.47.2.24 2008/06/13 14:50:03 hirokawa Exp $ */
 
 /*
  * PHP4 Multibyte String module mbstring
@@ -1099,9 +1099,14 @@
/*  clear overloaded function. */
if (MBSTRG(func_overload)){
p = (mb_ovld[0]);
-   while (p-type  0  zend_hash_find(EG(function_table), 
p-save_func, strlen(p-save_func)+1 , (void **)orig) == SUCCESS) {
-   zend_hash_update(EG(function_table), p-orig_func, 
strlen(p-orig_func)+1, orig, sizeof(zend_function), NULL);
-   zend_hash_del(EG(function_table), p-save_func, 
strlen(p-save_func)+1);
+   while (p-type  0) {
+   if ((MBSTRG(func_overload)  p-type) == p-type  
+   zend_hash_find(EG(function_table), p-save_func,
+  
strlen(p-save_func)+1, (void **)orig) == SUCCESS) {
+   
+   zend_hash_update(EG(function_table), 
p-orig_func, strlen(p-orig_func)+1, orig, sizeof(zend_function), NULL);
+   zend_hash_del(EG(function_table), p-save_func, 
strlen(p-save_func)+1);
+   }
p++;
}
}



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



[PHP-CVS] cvs: php-src(PHP_4_4) /ext/mbstring mbstring.c

2008-02-16 Thread Rui Hirokawa
hirokawaSat Feb 16 08:50:08 2008 UTC

  Modified files:  (Branch: PHP_4_4)
/php-src/ext/mbstring   mbstring.c 
  Log:
  MFB
  
http://cvs.php.net/viewvc.cgi/php-src/ext/mbstring/mbstring.c?r1=1.142.2.47.2.21r2=1.142.2.47.2.22diff_format=u
Index: php-src/ext/mbstring/mbstring.c
diff -u php-src/ext/mbstring/mbstring.c:1.142.2.47.2.21 
php-src/ext/mbstring/mbstring.c:1.142.2.47.2.22
--- php-src/ext/mbstring/mbstring.c:1.142.2.47.2.21 Wed Apr  4 15:28:18 2007
+++ php-src/ext/mbstring/mbstring.c Sat Feb 16 08:50:07 2008
@@ -17,7 +17,7 @@
+--+
  */
 
-/* $Id: mbstring.c,v 1.142.2.47.2.21 2007/04/04 15:28:18 masugata Exp $ */
+/* $Id: mbstring.c,v 1.142.2.47.2.22 2008/02/16 08:50:07 hirokawa Exp $ */
 
 /*
  * PHP4 Multibyte String module mbstring
@@ -971,6 +971,8 @@
const struct mb_overload_def *p;
 
MBSTRG(current_language) = MBSTRG(language);
+   php_mb_nls_get_default_detect_order_list(MBSTRG(language), 
+MBSTRG(default_detect_order_list), 
MBSTRG(default_detect_order_list_size));
 
if (MBSTRG(internal_encoding) == mbfl_no_encoding_invalid) {
char *default_enc = NULL;



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



Re: [PHP-CVS] cvs: php-src(PHP_4_4) /ext/mbstring mbstring.c

2008-02-16 Thread Derick Rethans
On Sat, 16 Feb 2008, Rui Hirokawa wrote:

 hirokawa  Sat Feb 16 08:50:08 2008 UTC
 
   Modified files:  (Branch: PHP_4_4)
 /php-src/ext/mbstring mbstring.c 
   Log:
   MFB

Rui, PHP 4 is no longer supported. In order to use it *just* for 
security fixes, it is probably a good idea not to have normal commits in 
this branch *at all*. Could you please revert your last two commits?

regards,
Derick

-- 
Derick Rethans
http://derickrethans.nl | http://ezcomponents.org | http://xdebug.org

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



[PHP-CVS] cvs: php-src(PHP_4_4) /ext/mbstring mbstring.c

2008-02-16 Thread Rui Hirokawa
hirokawaSat Feb 16 12:41:55 2008 UTC

  Modified files:  (Branch: PHP_4_4)
/php-src/ext/mbstring   mbstring.c 
  Log:
  revert commit.
  
http://cvs.php.net/viewvc.cgi/php-src/ext/mbstring/mbstring.c?r1=1.142.2.47.2.22r2=1.142.2.47.2.23diff_format=u
Index: php-src/ext/mbstring/mbstring.c
diff -u php-src/ext/mbstring/mbstring.c:1.142.2.47.2.22 
php-src/ext/mbstring/mbstring.c:1.142.2.47.2.23
--- php-src/ext/mbstring/mbstring.c:1.142.2.47.2.22 Sat Feb 16 08:50:07 2008
+++ php-src/ext/mbstring/mbstring.c Sat Feb 16 12:41:55 2008
@@ -17,7 +17,7 @@
+--+
  */
 
-/* $Id: mbstring.c,v 1.142.2.47.2.22 2008/02/16 08:50:07 hirokawa Exp $ */
+/* $Id: mbstring.c,v 1.142.2.47.2.23 2008/02/16 12:41:55 hirokawa Exp $ */
 
 /*
  * PHP4 Multibyte String module mbstring
@@ -971,8 +971,6 @@
const struct mb_overload_def *p;
 
MBSTRG(current_language) = MBSTRG(language);
-   php_mb_nls_get_default_detect_order_list(MBSTRG(language), 
-MBSTRG(default_detect_order_list), 
MBSTRG(default_detect_order_list_size));
 
if (MBSTRG(internal_encoding) == mbfl_no_encoding_invalid) {
char *default_enc = NULL;

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



[PHP-CVS] cvs: php-src(PHP_4_4) /ext/mbstring mbstring.c

2007-04-04 Thread Seiji Masugata
masugataWed Apr  4 15:28:18 2007 UTC

  Modified files:  (Branch: PHP_4_4)
/php-src/ext/mbstring   mbstring.c 
  Log:
  Sync with mail function in mb_send_mail function(problem MOPB-33-2007:PHP and 
MOPB-34-2007:PHP).
  
http://cvs.php.net/viewvc.cgi/php-src/ext/mbstring/mbstring.c?r1=1.142.2.47.2.20r2=1.142.2.47.2.21diff_format=u
Index: php-src/ext/mbstring/mbstring.c
diff -u php-src/ext/mbstring/mbstring.c:1.142.2.47.2.20 
php-src/ext/mbstring/mbstring.c:1.142.2.47.2.21
--- php-src/ext/mbstring/mbstring.c:1.142.2.47.2.20 Sun Mar 18 17:19:30 2007
+++ php-src/ext/mbstring/mbstring.c Wed Apr  4 15:28:18 2007
@@ -17,7 +17,7 @@
+--+
  */
 
-/* $Id: mbstring.c,v 1.142.2.47.2.20 2007/03/18 17:19:30 iliaa Exp $ */
+/* $Id: mbstring.c,v 1.142.2.47.2.21 2007/04/04 15:28:18 masugata Exp $ */
 
 /*
  * PHP4 Multibyte String module mbstring
@@ -3506,20 +3506,20 @@
 #if HAVE_SENDMAIL
 #define SKIP_LONG_HEADER_SEP_MBSTRING(str, pos)
\
if (str[pos] == '\r'  str[pos + 1] == '\n'  (str[pos + 2] == ' ' || 
str[pos + 2] == '\t')) {\
-   pos += 3;   
\
-   while (str[pos] == ' ' || str[pos] == '\t') {   \
-   pos++;  
\
-   }   \
-   continue;   
\
-   }   
\
-   else if (str[pos] == '\n'  (str[pos + 1] == ' ' || str[pos + 1] == 
'\t')) {   \
pos += 2;   
\
-   while (str[pos] == ' ' || str[pos] == '\t') {   \
+   while (str[pos + 1] == ' ' || str[pos + 1] == '\t') {   
\
pos++;  
\
-   }   
\
+   }   \
continue;   
\
}   
\
 
+#define MAIL_ASCIIZ_CHECK_MBSTRING(str, len)   \
+   pp = str;   \
+   ee = pp + len;  \
+   while ((pp = memchr(pp, '\0', (ee - pp {\
+   *pp = ' ';  \
+   }   \
+
 PHP_FUNCTION(mb_send_mail)
 {
int argc, n;
@@ -3536,7 +3536,8 @@
const mbfl_language *lang;
int err = 0;
char *to_r = NULL;
-   int to_len, i;
+   int to_len, extra_cmd_len, i;
+   char *pp, *ee;
 
 if (PG(safe_mode)  (ZEND_NUM_ARGS() == 5)) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, SAFE MODE 
Restriction in effect.  The fifth parameter is disabled in SAFE MODE.);
@@ -3569,6 +3570,8 @@
if (Z_STRVAL_PP(argv[0])) {
to = Z_STRVAL_PP(argv[0]);
to_len = Z_STRLEN_PP(argv[0]);
+   /* ASCIIZ check */
+   MAIL_ASCIIZ_CHECK_MBSTRING(to, to_len);
if (to_len  0) {
to_r = estrndup(to, to_len);
for (; to_len; to_len--) {
@@ -3605,6 +3608,8 @@
orig_str.no_language = MBSTRG(current_language);
orig_str.val = (unsigned char *)Z_STRVAL_PP(argv[1]);
orig_str.len = Z_STRLEN_PP(argv[1]);
+   /* ASCIIZ check */
+   MAIL_ASCIIZ_CHECK_MBSTRING(orig_str.val, orig_str.len);
orig_str.no_encoding = MBSTRG(current_internal_encoding);
if (orig_str.no_encoding == mbfl_no_encoding_invalid
|| orig_str.no_encoding == mbfl_no_encoding_pass) {
@@ -3627,6 +3632,8 @@
orig_str.no_language = MBSTRG(current_language);
orig_str.val = Z_STRVAL_PP(argv[2]);
orig_str.len = Z_STRLEN_PP(argv[2]);
+   /* ASCIIZ check */
+   MAIL_ASCIIZ_CHECK_MBSTRING(orig_str.val, orig_str.len);
orig_str.no_encoding = MBSTRG(current_internal_encoding);
 
if (orig_str.no_encoding == mbfl_no_encoding_invalid
@@ -3663,6 +3670,8 @@
convert_to_string_ex(argv[3]);
p = Z_STRVAL_PP(argv[3]);
 

[PHP-CVS] cvs: php-src(PHP_4_4) /ext/mbstring mbstring.c

2006-12-21 Thread Seiji Masugata
masugataThu Dec 21 17:28:58 2006 UTC

  Modified files:  (Branch: PHP_4_4)
/php-src/ext/mbstring   mbstring.c 
  Log:
  Fixed bug #39361, #39400 (mbstring function overloading problem).
  
http://cvs.php.net/viewvc.cgi/php-src/ext/mbstring/mbstring.c?r1=1.142.2.47.2.18r2=1.142.2.47.2.19diff_format=u
Index: php-src/ext/mbstring/mbstring.c
diff -u php-src/ext/mbstring/mbstring.c:1.142.2.47.2.18 
php-src/ext/mbstring/mbstring.c:1.142.2.47.2.19
--- php-src/ext/mbstring/mbstring.c:1.142.2.47.2.18 Fri Nov  3 02:24:50 2006
+++ php-src/ext/mbstring/mbstring.c Thu Dec 21 17:28:57 2006
@@ -17,7 +17,7 @@
+--+
  */
 
-/* $Id: mbstring.c,v 1.142.2.47.2.18 2006/11/03 02:24:50 hirokawa Exp $ */
+/* $Id: mbstring.c,v 1.142.2.47.2.19 2006/12/21 17:28:57 masugata Exp $ */
 
 /*
  * PHP4 Multibyte String module mbstring
@@ -2197,11 +2197,11 @@
convert_to_string_ex(arg2);
 
if (offset  0 || offset  Z_STRLEN_PP(arg1)) {
-   php_error_docref(NULL TSRMLS_CC, E_WARNING, Offset is out of 
range);
+   php_error_docref(NULL TSRMLS_CC, E_WARNING, Offset not 
contained in string.);
RETURN_FALSE;
}
if (Z_STRLEN_PP(arg2) == 0) {
-   php_error_docref(NULL TSRMLS_CC, E_WARNING, Empty needle);
+   php_error_docref(NULL TSRMLS_CC, E_WARNING, Empty delimiter.);
RETURN_FALSE;
}
haystack.val = (unsigned char *)Z_STRVAL_PP(arg1);
@@ -2272,11 +2272,9 @@
convert_to_string_ex(arg1);
convert_to_string_ex(arg2);
if (Z_STRLEN_PP(arg1) = 0) {
-   php_error_docref(NULL TSRMLS_CC, E_WARNING, Empty haystack);
RETURN_FALSE;
}
if (Z_STRLEN_PP(arg2) = 0) {
-   php_error_docref(NULL TSRMLS_CC, E_WARNING,Empty needle);
RETURN_FALSE;
}
haystack.val = (unsigned char *)Z_STRVAL_PP(arg1);
@@ -2331,7 +2329,7 @@
convert_to_string_ex(arg2);
 
if (Z_STRLEN_PP(arg2) = 0) {
-   php_error_docref(NULL TSRMLS_CC, E_WARNING,Empty needle);
+   php_error_docref(NULL TSRMLS_CC, E_WARNING,Empty substring.);
RETURN_FALSE;
}
haystack.val = (unsigned char *)Z_STRVAL_PP(arg1);

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



[PHP-CVS] cvs: php-src(PHP_4_4) /ext/mbstring mbstring.c

2006-11-02 Thread Rui Hirokawa
hirokawaFri Nov  3 02:24:50 2006 UTC

  Modified files:  (Branch: PHP_4_4)
/php-src/ext/mbstring   mbstring.c 
  Log:
  fixed illegal encoding detection when mbstring.encoding_translation is 
enabled.(made by komura)
  
http://cvs.php.net/viewvc.cgi/php-src/ext/mbstring/mbstring.c?r1=1.142.2.47.2.17r2=1.142.2.47.2.18diff_format=u
Index: php-src/ext/mbstring/mbstring.c
diff -u php-src/ext/mbstring/mbstring.c:1.142.2.47.2.17 
php-src/ext/mbstring/mbstring.c:1.142.2.47.2.18
--- php-src/ext/mbstring/mbstring.c:1.142.2.47.2.17 Mon Apr  3 13:04:13 2006
+++ php-src/ext/mbstring/mbstring.c Fri Nov  3 02:24:50 2006
@@ -17,7 +17,7 @@
+--+
  */
 
-/* $Id: mbstring.c,v 1.142.2.47.2.17 2006/04/03 13:04:13 masugata Exp $ */
+/* $Id: mbstring.c,v 1.142.2.47.2.18 2006/11/03 02:24:50 hirokawa Exp $ */
 
 /*
  * PHP4 Multibyte String module mbstring
@@ -1013,7 +1013,10 @@
MBSTRG(current_http_output_encoding) = MBSTRG(http_output_encoding);
MBSTRG(current_filter_illegal_mode) = MBSTRG(filter_illegal_mode);
MBSTRG(current_filter_illegal_substchar) = 
MBSTRG(filter_illegal_substchar);
-   MBSTRG(illegalchars) = 0;
+
+   if (!MBSTRG(encoding_translation)) {
+   MBSTRG(illegalchars) = 0;
+   }
 
n = 0;
if (MBSTRG(detect_order_list)) {
@@ -1774,6 +1777,8 @@
info.num_from_encodings = MBSTRG(http_input_list_size); 
info.from_language  = MBSTRG(language);
 
+   MBSTRG(illegalchars) = 0;
+
detected = php_mbstr_encoding_handler(info, array_ptr, res TSRMLS_CC);
MBSTRG(http_input_identify) = detected;
 
@@ -3864,8 +3869,13 @@
 
if (ret != NULL) {
MBSTRG(illegalchars) += illegalchars;
-   efree(ret-val);
-   RETURN_BOOL(illegalchars == 0);
+   if (illegalchars == 0  strncmp(string.val, ret-val, 
string.len) == 0) {
+   efree(ret-val);
+   RETURN_TRUE;
+   } else {
+   efree(ret-val);
+   RETURN_FALSE;
+   }
} else {
RETURN_FALSE;
}

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



[PHP-CVS] cvs: php-src(PHP_4_4) /ext/mbstring mbstring.c mbstring.h /ext/mbstring/libmbfl/mbfl mbfilter.c

2006-04-03 Thread Seiji Masugata
masugataMon Apr  3 13:04:13 2006 UTC

  Modified files:  (Branch: PHP_4_4)
/php-src/ext/mbstring   mbstring.c mbstring.h 
/php-src/ext/mbstring/libmbfl/mbfl  mbfilter.c 
  Log:
  added mb_check_encoding( ). detect possible invalid encoding attack(avoids a 
security issue).
  
http://cvs.php.net/viewcvs.cgi/php-src/ext/mbstring/mbstring.c?r1=1.142.2.47.2.16r2=1.142.2.47.2.17diff_format=u
Index: php-src/ext/mbstring/mbstring.c
diff -u php-src/ext/mbstring/mbstring.c:1.142.2.47.2.16 
php-src/ext/mbstring/mbstring.c:1.142.2.47.2.17
--- php-src/ext/mbstring/mbstring.c:1.142.2.47.2.16 Thu Mar 23 02:17:42 2006
+++ php-src/ext/mbstring/mbstring.c Mon Apr  3 13:04:13 2006
@@ -17,7 +17,7 @@
+--+
  */
 
-/* $Id: mbstring.c,v 1.142.2.47.2.16 2006/03/23 02:17:42 masugata Exp $ */
+/* $Id: mbstring.c,v 1.142.2.47.2.17 2006/04/03 13:04:13 masugata Exp $ */
 
 /*
  * PHP4 Multibyte String module mbstring
@@ -253,6 +253,7 @@
PHP_FE(mb_decode_numericentity, NULL)
PHP_FE(mb_send_mail,NULL)
PHP_FE(mb_get_info, NULL)
+   PHP_FE(mb_check_encoding,   NULL)
PHP_FALIAS(mbstrlen,mb_strlen,  NULL)
PHP_FALIAS(mbstrpos,mb_strpos,  NULL)
PHP_FALIAS(mbstrrpos,   mb_strrpos, NULL)
@@ -3812,6 +3813,65 @@
 }
 /* }}} */
 
+/* {{{ proto bool mb_check_encoding([string var[, string encoding]])
+   Check if the string is valid for the specified encoding */
+PHP_FUNCTION(mb_check_encoding)
+{
+   char *var = NULL;
+   int var_len;
+   char *enc = NULL;
+   int enc_len;
+   mbfl_buffer_converter *convd;
+   enum mbfl_no_encoding no_encoding = MBSTRG(current_internal_encoding);
+   mbfl_string string, result, *ret = NULL;
+   long illegalchars = 0;
+
+   if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, |ss, var, 
var_len, enc, enc_len) == FAILURE) {
+   RETURN_FALSE;
+   }
+
+   if (var == NULL) {
+   RETURN_BOOL(MBSTRG(illegalchars) == 0);
+   }
+
+   if (enc != NULL) {
+   no_encoding = mbfl_name2no_encoding(enc);
+   if (no_encoding == mbfl_no_encoding_invalid || no_encoding == 
mbfl_no_encoding_pass) {
+   php_error_docref(NULL TSRMLS_CC, E_WARNING, Invalid 
encoding \%s\, enc);
+   RETURN_FALSE;
+   }
+   }
+   
+   convd = mbfl_buffer_converter_new(no_encoding, no_encoding, 0);
+   if (convd == NULL) {
+   php_error_docref(NULL TSRMLS_CC, E_WARNING, Unable to create 
converter);
+   RETURN_FALSE;
+   }   
+   mbfl_buffer_converter_illegal_mode(convd, 
MBSTRG(current_filter_illegal_mode));
+   mbfl_buffer_converter_illegal_substchar(convd, 
MBSTRG(current_filter_illegal_substchar));   
+   
+   /* initialize string */
+   mbfl_string_init(string);
+   mbfl_string_init(result);
+   string.no_encoding = no_encoding;
+   string.no_language = MBSTRG(current_language);
+
+   string.val = (unsigned char *)var;
+   string.len = var_len;
+   ret = mbfl_buffer_converter_feed_result(convd, string, result);
+   illegalchars = mbfl_buffer_illegalchars(convd);
+   mbfl_buffer_converter_delete(convd);
+
+   if (ret != NULL) {
+   MBSTRG(illegalchars) += illegalchars;
+   efree(ret-val);
+   RETURN_BOOL(illegalchars == 0);
+   } else {
+   RETURN_FALSE;
+   }
+}
+/* }}} */
+
 /* {{{ MBSTRING_API int php_mb_encoding_translation() */
 MBSTRING_API int php_mb_encoding_translation(TSRMLS_D) 
 {
http://cvs.php.net/viewcvs.cgi/php-src/ext/mbstring/mbstring.h?r1=1.40.2.12.4.4r2=1.40.2.12.4.5diff_format=u
Index: php-src/ext/mbstring/mbstring.h
diff -u php-src/ext/mbstring/mbstring.h:1.40.2.12.4.4 
php-src/ext/mbstring/mbstring.h:1.40.2.12.4.5
--- php-src/ext/mbstring/mbstring.h:1.40.2.12.4.4   Thu Mar 23 02:17:42 2006
+++ php-src/ext/mbstring/mbstring.h Mon Apr  3 13:04:13 2006
@@ -16,7 +16,7 @@
+--+
  */
 
-/* $Id: mbstring.h,v 1.40.2.12.4.4 2006/03/23 02:17:42 masugata Exp $ */
+/* $Id: mbstring.h,v 1.40.2.12.4.5 2006/04/03 13:04:13 masugata Exp $ */
 
 /*
  * PHP4 Multibyte String module mbstring (currently only for Japanese)
@@ -117,6 +117,7 @@
 PHP_FUNCTION(mb_decode_numericentity);
 PHP_FUNCTION(mb_send_mail);
 PHP_FUNCTION(mb_get_info);
+PHP_FUNCTION(mb_check_encoding);
 
 MBSTRING_API int php_mb_encoding_translation(TSRMLS_D);
 
http://cvs.php.net/viewcvs.cgi/php-src/ext/mbstring/libmbfl/mbfl/mbfilter.c?r1=1.1.2.7.2.5r2=1.1.2.7.2.6diff_format=u
Index: php-src/ext/mbstring/libmbfl/mbfl/mbfilter.c
diff -u php-src/ext/mbstring/libmbfl/mbfl/mbfilter.c:1.1.2.7.2.5 

Re: [PHP-CVS] cvs: php-src(PHP_4_4) /ext/mbstring mbstring.c mbstring.h /ext/mbstring/libmbfl/mbfl mbfilter.c

2006-04-03 Thread Seiji Masugata
Derick,

Seiji Masugata wrote:

 masugata  Mon Apr  3 13:04:13 2006 UTC
 
   Modified files:  (Branch: PHP_4_4)
 /php-src/ext/mbstring mbstring.c mbstring.h 
 /php-src/ext/mbstring/libmbfl/mbflmbfilter.c 
   Log:
   added mb_check_encoding( ). detect possible invalid encoding attack(avoids 
 a security issue).

There was a contact from Rui.
Make apply this function to the PHP4_4 Branch.

http://news.php.net/php.cvs/37387
http://news.php.net/php.cvs/37437

This function is necessary to detect possible invalid 
encoding attack(avoids a security issue).

There was no reply afterwards though it reported directly 
from Rui to Derick. 

Therefore, Rui thinks can apply to PHP4_4 Branch.

I reverted without knowing this thing. 


Compatibility is secured.
Therefore, there is not an influence.


Thank you.

--
Seiji Masugata


   
 http://cvs.php.net/viewcvs.cgi/php-src/ext/mbstring/mbstring.c?r1=1.142.2.47.2.16r2=1.142.2.47.2.17diff_format=u
 Index: php-src/ext/mbstring/mbstring.c
 diff -u php-src/ext/mbstring/mbstring.c:1.142.2.47.2.16 
 php-src/ext/mbstring/mbstring.c:1.142.2.47.2.17
 --- php-src/ext/mbstring/mbstring.c:1.142.2.47.2.16   Thu Mar 23 02:17:42 2006
 +++ php-src/ext/mbstring/mbstring.c   Mon Apr  3 13:04:13 2006
 @@ -17,7 +17,7 @@
 +--+
   */
  
 -/* $Id: mbstring.c,v 1.142.2.47.2.16 2006/03/23 02:17:42 masugata Exp $ */
 +/* $Id: mbstring.c,v 1.142.2.47.2.17 2006/04/03 13:04:13 masugata Exp $ */
  
  /*
   * PHP4 Multibyte String module mbstring
 @@ -253,6 +253,7 @@
   PHP_FE(mb_decode_numericentity, NULL)
   PHP_FE(mb_send_mail,NULL)
   PHP_FE(mb_get_info, NULL)
 + PHP_FE(mb_check_encoding,   NULL)
   PHP_FALIAS(mbstrlen,mb_strlen,  NULL)
   PHP_FALIAS(mbstrpos,mb_strpos,  NULL)
   PHP_FALIAS(mbstrrpos,   mb_strrpos, NULL)
 @@ -3812,6 +3813,65 @@
  }
  /* }}} */
  
 +/* {{{ proto bool mb_check_encoding([string var[, string encoding]])
 +   Check if the string is valid for the specified encoding */
 +PHP_FUNCTION(mb_check_encoding)
 +{
 + char *var = NULL;
 + int var_len;
 + char *enc = NULL;
 + int enc_len;
 + mbfl_buffer_converter *convd;
 + enum mbfl_no_encoding no_encoding = MBSTRG(current_internal_encoding);
 + mbfl_string string, result, *ret = NULL;
 + long illegalchars = 0;
 +
 + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, |ss, var, 
 var_len, enc, enc_len) == FAILURE) {
 + RETURN_FALSE;
 + }
 +
 + if (var == NULL) {
 + RETURN_BOOL(MBSTRG(illegalchars) == 0);
 + }
 +
 + if (enc != NULL) {
 + no_encoding = mbfl_name2no_encoding(enc);
 + if (no_encoding == mbfl_no_encoding_invalid || no_encoding == 
 mbfl_no_encoding_pass) {
 + php_error_docref(NULL TSRMLS_CC, E_WARNING, Invalid 
 encoding \%s\, enc);
 + RETURN_FALSE;
 + }
 + }
 + 
 + convd = mbfl_buffer_converter_new(no_encoding, no_encoding, 0);
 + if (convd == NULL) {
 + php_error_docref(NULL TSRMLS_CC, E_WARNING, Unable to create 
 converter);
 + RETURN_FALSE;
 + }   
 + mbfl_buffer_converter_illegal_mode(convd, 
 MBSTRG(current_filter_illegal_mode));
 + mbfl_buffer_converter_illegal_substchar(convd, 
 MBSTRG(current_filter_illegal_substchar));   
 + 
 + /* initialize string */
 + mbfl_string_init(string);
 + mbfl_string_init(result);
 + string.no_encoding = no_encoding;
 + string.no_language = MBSTRG(current_language);
 +
 + string.val = (unsigned char *)var;
 + string.len = var_len;
 + ret = mbfl_buffer_converter_feed_result(convd, string, result);
 + illegalchars = mbfl_buffer_illegalchars(convd);
 + mbfl_buffer_converter_delete(convd);
 +
 + if (ret != NULL) {
 + MBSTRG(illegalchars) += illegalchars;
 + efree(ret-val);
 + RETURN_BOOL(illegalchars == 0);
 + } else {
 + RETURN_FALSE;
 + }
 +}
 +/* }}} */
 +
  /* {{{ MBSTRING_API int php_mb_encoding_translation() */
  MBSTRING_API int php_mb_encoding_translation(TSRMLS_D) 
  {
 http://cvs.php.net/viewcvs.cgi/php-src/ext/mbstring/mbstring.h?r1=1.40.2.12.4.4r2=1.40.2.12.4.5diff_format=u
 Index: php-src/ext/mbstring/mbstring.h
 diff -u php-src/ext/mbstring/mbstring.h:1.40.2.12.4.4 
 php-src/ext/mbstring/mbstring.h:1.40.2.12.4.5
 --- php-src/ext/mbstring/mbstring.h:1.40.2.12.4.4 Thu Mar 23 02:17:42 2006
 +++ php-src/ext/mbstring/mbstring.h   Mon Apr  3 13:04:13 2006
 @@ -16,7 +16,7 @@
 +--+
   */
  
 -/* $Id: mbstring.h,v 1.40.2.12.4.4 2006/03/23 02:17:42 masugata Exp $ */
 +/* $Id: mbstring.h,v 1.40.2.12.4.5 2006/04/03 13:04:13 masugata Exp $ */

Re: [PHP-CVS] cvs: php-src(PHP_4_4) /ext/mbstring mbstring.c

2006-03-22 Thread Seiji Masugata
Hi, Derick.

very sorry...
Was not looking at mail, because I was a long vacation.

 This is an awfully large change for a stable branch. Could you please 
 provide a more eleborate comment in those cases?

This change is not the change which is as large as that Derick thinks. :)
However, the comment I wrote  was not appropriate.

Log:
fixed doesn't return value when omitting arguments and 
return the more detailed information in mb_get_info( ).


The mb_get_info function only returns information setting in mbstring. 
The function to change is not provided.


Therefore, it is thought that there is no influence even if a lot of 
information is returned. 



The explanation became long but in this change, when it is possible 
to commit, I'm happy. :)


thank you.


On Tue, 21 Mar 2006 09:36:38 +0100 (CET)
Derick Rethans [EMAIL PROTECTED] wrote:

 On Sat, 18 Mar 2006, Seiji Masugata wrote:
 
  masugataSat Mar 18 05:52:33 2006 UTC
  
Modified files:  (Branch: PHP_4_4)
  /php-src/ext/mbstring   mbstring.c 
Log:
fixed doesn't return value when omitting arguments in mb_get_info( ).
 
 This is an awfully large change for a stable branch. Could you please 
 provide a more eleborate comment in those cases?
 

  http://cvs.php.net/viewcvs.cgi/php-src/ext/mbstring/mbstring.c?r1=1.142.2.47.2.12r2=1.142.2.47.2.13diff_format=u
  Index: php-src/ext/mbstring/mbstring.c
  diff -u php-src/ext/mbstring/mbstring.c:1.142.2.47.2.12 
  php-src/ext/mbstring/mbstring.c:1.142.2.47.2.13
  --- php-src/ext/mbstring/mbstring.c:1.142.2.47.2.12 Sun Mar 12 07:54:56 2006
  +++ php-src/ext/mbstring/mbstring.c Sat Mar 18 05:52:33 2006
  @@ -17,7 +17,7 @@
  +--+
*/
   
  -/* $Id: mbstring.c,v 1.142.2.47.2.12 2006/03/12 07:54:56 hirokawa Exp $ */
  +/* $Id: mbstring.c,v 1.142.2.47.2.13 2006/03/18 05:52:33 masugata Exp $ */
   
   /*
* PHP4 Multibyte String module mbstring
  @@ -3711,22 +3711,19 @@
  Returns the current settings of mbstring */
   PHP_FUNCTION(mb_get_info)
   {
  -   zval **type;
  +   char *typ = NULL;
  +   int typ_len;
  char *name;
  -   int argc = ZEND_NUM_ARGS();
  const struct mb_overload_def *over_func;
  zval *row;
  +   const mbfl_language *lang = mbfl_no2language(MBSTRG(current_language));
   
  -   if (argc  0 || argc  1 || zend_get_parameters_ex(1, type) == 
  FAILURE) {
  -   WRONG_PARAM_COUNT;
  +   if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, |s, typ, 
  typ_len) == FAILURE) {
  +   RETURN_FALSE;
  }
   
  -   convert_to_string_ex(type);
  -
  -   if (argc == 0 || !strcasecmp(all, Z_STRVAL_PP(type))) {
  -   if (array_init(return_value) == FAILURE) {
  -   RETURN_FALSE;
  -   }
  +   if (!typ || !strcasecmp(all, typ)) {
  +   array_init(return_value);
  if ((name = (char 
  *)mbfl_no_encoding2name(MBSTRG(current_internal_encoding))) != NULL) {
  add_assoc_string(return_value, internal_encoding, 
  name, 1);
  }
  @@ -3750,19 +3747,30 @@
  } else {
  add_assoc_string(return_value, func_overload, no 
  overload, 1);
  }
  -   } else if (!strcasecmp(internal_encoding, Z_STRVAL_PP(type))) {
  +   if (lang != NULL) {
  +   if ((name = (char 
  *)mbfl_no_encoding2name(lang-mail_charset)) != NULL) {
  +   add_assoc_string(return_value, mail_charset, 
  name, 1);
  +   }
  +   if ((name = (char 
  *)mbfl_no_encoding2name(lang-mail_header_encoding)) != NULL) {
  +   add_assoc_string(return_value, 
  mail_header_encoding, name, 1);
  +   }
  +   if ((name = (char 
  *)mbfl_no_encoding2name(lang-mail_body_encoding)) != NULL) {
  +   add_assoc_string(return_value, 
  mail_body_encoding, name, 1);
  +   }
  +   }
  +   } else if (!strcasecmp(internal_encoding, typ)) {
  if ((name = (char 
  *)mbfl_no_encoding2name(MBSTRG(current_internal_encoding))) != NULL) {
  RETVAL_STRING(name, 1);
  }   
  -   } else if (!strcasecmp(http_input, Z_STRVAL_PP(type))) {
  +   } else if (!strcasecmp(http_input, typ)) {
  if ((name = (char 
  *)mbfl_no_encoding2name(MBSTRG(http_input_identify))) != NULL) {
  RETVAL_STRING(name, 1);
  }   
  -   } else if (!strcasecmp(http_output, Z_STRVAL_PP(type))) {
  +   } else if (!strcasecmp(http_output, typ)) {
  if ((name = (char 
  *)mbfl_no_encoding2name(MBSTRG(current_http_output_encoding))) != NULL) {
  RETVAL_STRING(name, 1);
  }   
  -   } else if (!strcasecmp(func_overload, Z_STRVAL_PP(type))) {
  +   } else if (!strcasecmp(func_overload, typ)) {
   

[PHP-CVS] cvs: php-src(PHP_4_4) /ext/mbstring mbstring.c mbstring.h /ext/mbstring/libmbfl/mbfl mbfilter.c

2006-03-22 Thread Seiji Masugata
masugataThu Mar 23 02:17:43 2006 UTC

  Modified files:  (Branch: PHP_4_4)
/php-src/ext/mbstring   mbstring.c mbstring.h 
/php-src/ext/mbstring/libmbfl/mbfl  mbfilter.c 
  Log:
  revert.(See http://news.php.net/php.cvs/37387)
  
http://cvs.php.net/viewcvs.cgi/php-src/ext/mbstring/mbstring.c?r1=1.142.2.47.2.15r2=1.142.2.47.2.16diff_format=u
Index: php-src/ext/mbstring/mbstring.c
diff -u php-src/ext/mbstring/mbstring.c:1.142.2.47.2.15 
php-src/ext/mbstring/mbstring.c:1.142.2.47.2.16
--- php-src/ext/mbstring/mbstring.c:1.142.2.47.2.15 Tue Mar 21 08:00:55 2006
+++ php-src/ext/mbstring/mbstring.c Thu Mar 23 02:17:42 2006
@@ -17,7 +17,7 @@
+--+
  */
 
-/* $Id: mbstring.c,v 1.142.2.47.2.15 2006/03/21 08:00:55 hirokawa Exp $ */
+/* $Id: mbstring.c,v 1.142.2.47.2.16 2006/03/23 02:17:42 masugata Exp $ */
 
 /*
  * PHP4 Multibyte String module mbstring
@@ -253,7 +253,6 @@
PHP_FE(mb_decode_numericentity, NULL)
PHP_FE(mb_send_mail,NULL)
PHP_FE(mb_get_info, NULL)
-   PHP_FE(mb_check_encoding,   NULL)
PHP_FALIAS(mbstrlen,mb_strlen,  NULL)
PHP_FALIAS(mbstrpos,mb_strpos,  NULL)
PHP_FALIAS(mbstrrpos,   mb_strrpos, NULL)
@@ -3813,67 +3812,6 @@
 }
 /* }}} */
 
-/* {{{ proto bool mb_check_encoding([string var[, string encoding]])
-   Check if the string is valid for the specified encoding */
-PHP_FUNCTION(mb_check_encoding)
-{
-   char *var = NULL;
-   int var_len;
-   char *enc = NULL;
-   int enc_len;
-   char *name;
-   mbfl_buffer_converter *convd;
-   enum mbfl_no_encoding no_encoding = MBSTRG(current_internal_encoding);
-   zval *row;
-   mbfl_string string, result, *ret = NULL;
-   long illegalchars = 0;
-
-   if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, |ss, var, 
var_len, enc, enc_len) == FAILURE) {
-   RETURN_FALSE;
-   }
-
-   if (var == NULL) {
-   RETURN_BOOL(MBSTRG(illegalchars) == 0);
-   }
-
-   if (enc != NULL) {
-   no_encoding = mbfl_name2no_encoding(enc);
-   if (no_encoding == mbfl_no_encoding_invalid || no_encoding == 
mbfl_no_encoding_pass) {
-   php_error_docref(NULL TSRMLS_CC, E_WARNING, Invalid 
encoding \%s\, enc);
-   RETURN_FALSE;
-   }
-   }
-   
-   convd = mbfl_buffer_converter_new(no_encoding, no_encoding, 0);
-   if (convd == NULL) {
-   php_error_docref(NULL TSRMLS_CC, E_WARNING, Unable to create 
converter);
-   RETURN_FALSE;
-   }   
-   mbfl_buffer_converter_illegal_mode(convd, 
MBSTRG(current_filter_illegal_mode));
-   mbfl_buffer_converter_illegal_substchar(convd, 
MBSTRG(current_filter_illegal_substchar));   
-   
-   /* initialize string */
-   mbfl_string_init(string);
-   mbfl_string_init(result);
-   string.no_encoding = no_encoding;
-   string.no_language = MBSTRG(current_language);
-
-   string.val = (unsigned char *)var;
-   string.len = var_len;
-   ret = mbfl_buffer_converter_feed_result(convd, string, result);
-   illegalchars = mbfl_buffer_illegalchars(convd);
-   mbfl_buffer_converter_delete(convd);
-
-   if (ret != NULL) {
-   MBSTRG(illegalchars) += illegalchars;
-   efree(ret-val);
-   RETURN_BOOL(illegalchars == 0);
-   } else {
-   RETURN_FALSE;
-   }
-}
-/* }}} */
-
 /* {{{ MBSTRING_API int php_mb_encoding_translation() */
 MBSTRING_API int php_mb_encoding_translation(TSRMLS_D) 
 {
http://cvs.php.net/viewcvs.cgi/php-src/ext/mbstring/mbstring.h?r1=1.40.2.12.4.3r2=1.40.2.12.4.4diff_format=u
Index: php-src/ext/mbstring/mbstring.h
diff -u php-src/ext/mbstring/mbstring.h:1.40.2.12.4.3 
php-src/ext/mbstring/mbstring.h:1.40.2.12.4.4
--- php-src/ext/mbstring/mbstring.h:1.40.2.12.4.3   Tue Mar 21 08:00:55 2006
+++ php-src/ext/mbstring/mbstring.h Thu Mar 23 02:17:42 2006
@@ -16,7 +16,7 @@
+--+
  */
 
-/* $Id: mbstring.h,v 1.40.2.12.4.3 2006/03/21 08:00:55 hirokawa Exp $ */
+/* $Id: mbstring.h,v 1.40.2.12.4.4 2006/03/23 02:17:42 masugata Exp $ */
 
 /*
  * PHP4 Multibyte String module mbstring (currently only for Japanese)
@@ -117,7 +117,6 @@
 PHP_FUNCTION(mb_decode_numericentity);
 PHP_FUNCTION(mb_send_mail);
 PHP_FUNCTION(mb_get_info);
-PHP_FUNCTION(mb_check_encoding);
 
 MBSTRING_API int php_mb_encoding_translation(TSRMLS_D);
 
http://cvs.php.net/viewcvs.cgi/php-src/ext/mbstring/libmbfl/mbfl/mbfilter.c?r1=1.1.2.7.2.4r2=1.1.2.7.2.5diff_format=u
Index: php-src/ext/mbstring/libmbfl/mbfl/mbfilter.c
diff -u php-src/ext/mbstring/libmbfl/mbfl/mbfilter.c:1.1.2.7.2.4 

[PHP-CVS] cvs: php-src(PHP_4_4) /ext/mbstring mbstring.c mbstring.h /ext/mbstring/libmbfl/mbfl mbfilter.c

2006-03-21 Thread Rui Hirokawa
hirokawaTue Mar 21 08:00:55 2006 UTC

  Modified files:  (Branch: PHP_4_4)
/php-src/ext/mbstring   mbstring.c mbstring.h 
/php-src/ext/mbstring/libmbfl/mbfl  mbfilter.c 
  Log:
  MFH
  
http://cvs.php.net/viewcvs.cgi/php-src/ext/mbstring/mbstring.c?r1=1.142.2.47.2.14r2=1.142.2.47.2.15diff_format=u
Index: php-src/ext/mbstring/mbstring.c
diff -u php-src/ext/mbstring/mbstring.c:1.142.2.47.2.14 
php-src/ext/mbstring/mbstring.c:1.142.2.47.2.15
--- php-src/ext/mbstring/mbstring.c:1.142.2.47.2.14 Tue Mar 21 02:49:09 2006
+++ php-src/ext/mbstring/mbstring.c Tue Mar 21 08:00:55 2006
@@ -17,7 +17,7 @@
+--+
  */
 
-/* $Id: mbstring.c,v 1.142.2.47.2.14 2006/03/21 02:49:09 hirokawa Exp $ */
+/* $Id: mbstring.c,v 1.142.2.47.2.15 2006/03/21 08:00:55 hirokawa Exp $ */
 
 /*
  * PHP4 Multibyte String module mbstring
@@ -253,6 +253,7 @@
PHP_FE(mb_decode_numericentity, NULL)
PHP_FE(mb_send_mail,NULL)
PHP_FE(mb_get_info, NULL)
+   PHP_FE(mb_check_encoding,   NULL)
PHP_FALIAS(mbstrlen,mb_strlen,  NULL)
PHP_FALIAS(mbstrpos,mb_strpos,  NULL)
PHP_FALIAS(mbstrrpos,   mb_strrpos, NULL)
@@ -3812,6 +3813,67 @@
 }
 /* }}} */
 
+/* {{{ proto bool mb_check_encoding([string var[, string encoding]])
+   Check if the string is valid for the specified encoding */
+PHP_FUNCTION(mb_check_encoding)
+{
+   char *var = NULL;
+   int var_len;
+   char *enc = NULL;
+   int enc_len;
+   char *name;
+   mbfl_buffer_converter *convd;
+   enum mbfl_no_encoding no_encoding = MBSTRG(current_internal_encoding);
+   zval *row;
+   mbfl_string string, result, *ret = NULL;
+   long illegalchars = 0;
+
+   if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, |ss, var, 
var_len, enc, enc_len) == FAILURE) {
+   RETURN_FALSE;
+   }
+
+   if (var == NULL) {
+   RETURN_BOOL(MBSTRG(illegalchars) == 0);
+   }
+
+   if (enc != NULL) {
+   no_encoding = mbfl_name2no_encoding(enc);
+   if (no_encoding == mbfl_no_encoding_invalid || no_encoding == 
mbfl_no_encoding_pass) {
+   php_error_docref(NULL TSRMLS_CC, E_WARNING, Invalid 
encoding \%s\, enc);
+   RETURN_FALSE;
+   }
+   }
+   
+   convd = mbfl_buffer_converter_new(no_encoding, no_encoding, 0);
+   if (convd == NULL) {
+   php_error_docref(NULL TSRMLS_CC, E_WARNING, Unable to create 
converter);
+   RETURN_FALSE;
+   }   
+   mbfl_buffer_converter_illegal_mode(convd, 
MBSTRG(current_filter_illegal_mode));
+   mbfl_buffer_converter_illegal_substchar(convd, 
MBSTRG(current_filter_illegal_substchar));   
+   
+   /* initialize string */
+   mbfl_string_init(string);
+   mbfl_string_init(result);
+   string.no_encoding = no_encoding;
+   string.no_language = MBSTRG(current_language);
+
+   string.val = (unsigned char *)var;
+   string.len = var_len;
+   ret = mbfl_buffer_converter_feed_result(convd, string, result);
+   illegalchars = mbfl_buffer_illegalchars(convd);
+   mbfl_buffer_converter_delete(convd);
+
+   if (ret != NULL) {
+   MBSTRG(illegalchars) += illegalchars;
+   efree(ret-val);
+   RETURN_BOOL(illegalchars == 0);
+   } else {
+   RETURN_FALSE;
+   }
+}
+/* }}} */
+
 /* {{{ MBSTRING_API int php_mb_encoding_translation() */
 MBSTRING_API int php_mb_encoding_translation(TSRMLS_D) 
 {
http://cvs.php.net/viewcvs.cgi/php-src/ext/mbstring/mbstring.h?r1=1.40.2.12.4.2r2=1.40.2.12.4.3diff_format=u
Index: php-src/ext/mbstring/mbstring.h
diff -u php-src/ext/mbstring/mbstring.h:1.40.2.12.4.2 
php-src/ext/mbstring/mbstring.h:1.40.2.12.4.3
--- php-src/ext/mbstring/mbstring.h:1.40.2.12.4.2   Tue Mar 21 02:49:09 2006
+++ php-src/ext/mbstring/mbstring.h Tue Mar 21 08:00:55 2006
@@ -16,7 +16,7 @@
+--+
  */
 
-/* $Id: mbstring.h,v 1.40.2.12.4.2 2006/03/21 02:49:09 hirokawa Exp $ */
+/* $Id: mbstring.h,v 1.40.2.12.4.3 2006/03/21 08:00:55 hirokawa Exp $ */
 
 /*
  * PHP4 Multibyte String module mbstring (currently only for Japanese)
@@ -117,6 +117,7 @@
 PHP_FUNCTION(mb_decode_numericentity);
 PHP_FUNCTION(mb_send_mail);
 PHP_FUNCTION(mb_get_info);
+PHP_FUNCTION(mb_check_encoding);
 
 MBSTRING_API int php_mb_encoding_translation(TSRMLS_D);
 
http://cvs.php.net/viewcvs.cgi/php-src/ext/mbstring/libmbfl/mbfl/mbfilter.c?r1=1.1.2.7.2.3r2=1.1.2.7.2.4diff_format=u
Index: php-src/ext/mbstring/libmbfl/mbfl/mbfilter.c
diff -u php-src/ext/mbstring/libmbfl/mbfl/mbfilter.c:1.1.2.7.2.3 
php-src/ext/mbstring/libmbfl/mbfl/mbfilter.c:1.1.2.7.2.4
--- 

Re: [PHP-CVS] cvs: php-src(PHP_4_4) /ext/mbstring mbstring.c

2006-03-21 Thread Derick Rethans
On Sat, 18 Mar 2006, Seiji Masugata wrote:

 masugata  Sat Mar 18 05:52:33 2006 UTC
 
   Modified files:  (Branch: PHP_4_4)
 /php-src/ext/mbstring mbstring.c 
   Log:
   fixed doesn't return value when omitting arguments in mb_get_info( ).

This is an awfully large change for a stable branch. Could you please 
provide a more eleborate comment in those cases?

   
 http://cvs.php.net/viewcvs.cgi/php-src/ext/mbstring/mbstring.c?r1=1.142.2.47.2.12r2=1.142.2.47.2.13diff_format=u
 Index: php-src/ext/mbstring/mbstring.c
 diff -u php-src/ext/mbstring/mbstring.c:1.142.2.47.2.12 
 php-src/ext/mbstring/mbstring.c:1.142.2.47.2.13
 --- php-src/ext/mbstring/mbstring.c:1.142.2.47.2.12   Sun Mar 12 07:54:56 2006
 +++ php-src/ext/mbstring/mbstring.c   Sat Mar 18 05:52:33 2006
 @@ -17,7 +17,7 @@
 +--+
   */
  
 -/* $Id: mbstring.c,v 1.142.2.47.2.12 2006/03/12 07:54:56 hirokawa Exp $ */
 +/* $Id: mbstring.c,v 1.142.2.47.2.13 2006/03/18 05:52:33 masugata Exp $ */
  
  /*
   * PHP4 Multibyte String module mbstring
 @@ -3711,22 +3711,19 @@
 Returns the current settings of mbstring */
  PHP_FUNCTION(mb_get_info)
  {
 - zval **type;
 + char *typ = NULL;
 + int typ_len;
   char *name;
 - int argc = ZEND_NUM_ARGS();
   const struct mb_overload_def *over_func;
   zval *row;
 + const mbfl_language *lang = mbfl_no2language(MBSTRG(current_language));
  
 - if (argc  0 || argc  1 || zend_get_parameters_ex(1, type) == 
 FAILURE) {
 - WRONG_PARAM_COUNT;
 + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, |s, typ, 
 typ_len) == FAILURE) {
 + RETURN_FALSE;
   }
  
 - convert_to_string_ex(type);
 -
 - if (argc == 0 || !strcasecmp(all, Z_STRVAL_PP(type))) {
 - if (array_init(return_value) == FAILURE) {
 - RETURN_FALSE;
 - }
 + if (!typ || !strcasecmp(all, typ)) {
 + array_init(return_value);
   if ((name = (char 
 *)mbfl_no_encoding2name(MBSTRG(current_internal_encoding))) != NULL) {
   add_assoc_string(return_value, internal_encoding, 
 name, 1);
   }
 @@ -3750,19 +3747,30 @@
   } else {
   add_assoc_string(return_value, func_overload, no 
 overload, 1);
   }
 - } else if (!strcasecmp(internal_encoding, Z_STRVAL_PP(type))) {
 + if (lang != NULL) {
 + if ((name = (char 
 *)mbfl_no_encoding2name(lang-mail_charset)) != NULL) {
 + add_assoc_string(return_value, mail_charset, 
 name, 1);
 + }
 + if ((name = (char 
 *)mbfl_no_encoding2name(lang-mail_header_encoding)) != NULL) {
 + add_assoc_string(return_value, 
 mail_header_encoding, name, 1);
 + }
 + if ((name = (char 
 *)mbfl_no_encoding2name(lang-mail_body_encoding)) != NULL) {
 + add_assoc_string(return_value, 
 mail_body_encoding, name, 1);
 + }
 + }
 + } else if (!strcasecmp(internal_encoding, typ)) {
   if ((name = (char 
 *)mbfl_no_encoding2name(MBSTRG(current_internal_encoding))) != NULL) {
   RETVAL_STRING(name, 1);
   }   
 - } else if (!strcasecmp(http_input, Z_STRVAL_PP(type))) {
 + } else if (!strcasecmp(http_input, typ)) {
   if ((name = (char 
 *)mbfl_no_encoding2name(MBSTRG(http_input_identify))) != NULL) {
   RETVAL_STRING(name, 1);
   }   
 - } else if (!strcasecmp(http_output, Z_STRVAL_PP(type))) {
 + } else if (!strcasecmp(http_output, typ)) {
   if ((name = (char 
 *)mbfl_no_encoding2name(MBSTRG(current_http_output_encoding))) != NULL) {
   RETVAL_STRING(name, 1);
   }   
 - } else if (!strcasecmp(func_overload, Z_STRVAL_PP(type))) {
 + } else if (!strcasecmp(func_overload, typ)) {
   if (MBSTRG(func_overload)){
   over_func = (mb_ovld[0]);
   array_init(return_value);
 @@ -3775,6 +3783,18 @@
   } else {
   RETVAL_STRING(no overload, 1);
   }
 + } else if (!strcasecmp(mail_charset, typ)) {
 + if (lang != NULL  (name = (char 
 *)mbfl_no_encoding2name(lang-mail_charset)) != NULL) {
 + RETVAL_STRING(name, 1);
 + }
 + } else if (!strcasecmp(mail_header_encoding, typ)) {
 + if (lang != NULL  (name = (char 
 *)mbfl_no_encoding2name(lang-mail_header_encoding)) != NULL) {
 + RETVAL_STRING(name, 1);
 + }
 + } else if (!strcasecmp(mail_body_encoding, typ)) {
 + if (lang != NULL  

Re: [PHP-CVS] cvs: php-src(PHP_4_4) /ext/mbstring mbstring.c mbstring.h /ext/mbstring/libmbfl/mbfl mbfilter.c

2006-03-21 Thread Derick Rethans
On Tue, 21 Mar 2006, Rui Hirokawa wrote:

 hirokawa  Tue Mar 21 08:00:55 2006 UTC
 
   Modified files:  (Branch: PHP_4_4)
 /php-src/ext/mbstring mbstring.c mbstring.h 
 /php-src/ext/mbstring/libmbfl/mbflmbfilter.c 
   Log:
   MFH

Please revert this. You can not add new functions to PHP 4.4.x.

regards,
Derick

   
 http://cvs.php.net/viewcvs.cgi/php-src/ext/mbstring/mbstring.c?r1=1.142.2.47.2.14r2=1.142.2.47.2.15diff_format=u
 Index: php-src/ext/mbstring/mbstring.c
 diff -u php-src/ext/mbstring/mbstring.c:1.142.2.47.2.14 
 php-src/ext/mbstring/mbstring.c:1.142.2.47.2.15
 --- php-src/ext/mbstring/mbstring.c:1.142.2.47.2.14   Tue Mar 21 02:49:09 2006
 +++ php-src/ext/mbstring/mbstring.c   Tue Mar 21 08:00:55 2006
 @@ -17,7 +17,7 @@
 +--+
   */
  
 -/* $Id: mbstring.c,v 1.142.2.47.2.14 2006/03/21 02:49:09 hirokawa Exp $ */
 +/* $Id: mbstring.c,v 1.142.2.47.2.15 2006/03/21 08:00:55 hirokawa Exp $ */
  
  /*
   * PHP4 Multibyte String module mbstring
 @@ -253,6 +253,7 @@
   PHP_FE(mb_decode_numericentity, NULL)
   PHP_FE(mb_send_mail,NULL)
   PHP_FE(mb_get_info, NULL)
 + PHP_FE(mb_check_encoding,   NULL)
   PHP_FALIAS(mbstrlen,mb_strlen,  NULL)
   PHP_FALIAS(mbstrpos,mb_strpos,  NULL)
   PHP_FALIAS(mbstrrpos,   mb_strrpos, NULL)
 @@ -3812,6 +3813,67 @@
  }
  /* }}} */
  
 +/* {{{ proto bool mb_check_encoding([string var[, string encoding]])
 +   Check if the string is valid for the specified encoding */
 +PHP_FUNCTION(mb_check_encoding)
 +{
 + char *var = NULL;
 + int var_len;
 + char *enc = NULL;
 + int enc_len;
 + char *name;
 + mbfl_buffer_converter *convd;
 + enum mbfl_no_encoding no_encoding = MBSTRG(current_internal_encoding);
 + zval *row;
 + mbfl_string string, result, *ret = NULL;
 + long illegalchars = 0;
 +
 + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, |ss, var, 
 var_len, enc, enc_len) == FAILURE) {
 + RETURN_FALSE;
 + }
 +
 + if (var == NULL) {
 + RETURN_BOOL(MBSTRG(illegalchars) == 0);
 + }
 +
 + if (enc != NULL) {
 + no_encoding = mbfl_name2no_encoding(enc);
 + if (no_encoding == mbfl_no_encoding_invalid || no_encoding == 
 mbfl_no_encoding_pass) {
 + php_error_docref(NULL TSRMLS_CC, E_WARNING, Invalid 
 encoding \%s\, enc);
 + RETURN_FALSE;
 + }
 + }
 + 
 + convd = mbfl_buffer_converter_new(no_encoding, no_encoding, 0);
 + if (convd == NULL) {
 + php_error_docref(NULL TSRMLS_CC, E_WARNING, Unable to create 
 converter);
 + RETURN_FALSE;
 + }   
 + mbfl_buffer_converter_illegal_mode(convd, 
 MBSTRG(current_filter_illegal_mode));
 + mbfl_buffer_converter_illegal_substchar(convd, 
 MBSTRG(current_filter_illegal_substchar));   
 + 
 + /* initialize string */
 + mbfl_string_init(string);
 + mbfl_string_init(result);
 + string.no_encoding = no_encoding;
 + string.no_language = MBSTRG(current_language);
 +
 + string.val = (unsigned char *)var;
 + string.len = var_len;
 + ret = mbfl_buffer_converter_feed_result(convd, string, result);
 + illegalchars = mbfl_buffer_illegalchars(convd);
 + mbfl_buffer_converter_delete(convd);
 +
 + if (ret != NULL) {
 + MBSTRG(illegalchars) += illegalchars;
 + efree(ret-val);
 + RETURN_BOOL(illegalchars == 0);
 + } else {
 + RETURN_FALSE;
 + }
 +}
 +/* }}} */
 +
  /* {{{ MBSTRING_API int php_mb_encoding_translation() */
  MBSTRING_API int php_mb_encoding_translation(TSRMLS_D) 
  {
 http://cvs.php.net/viewcvs.cgi/php-src/ext/mbstring/mbstring.h?r1=1.40.2.12.4.2r2=1.40.2.12.4.3diff_format=u
 Index: php-src/ext/mbstring/mbstring.h
 diff -u php-src/ext/mbstring/mbstring.h:1.40.2.12.4.2 
 php-src/ext/mbstring/mbstring.h:1.40.2.12.4.3
 --- php-src/ext/mbstring/mbstring.h:1.40.2.12.4.2 Tue Mar 21 02:49:09 2006
 +++ php-src/ext/mbstring/mbstring.h   Tue Mar 21 08:00:55 2006
 @@ -16,7 +16,7 @@
 +--+
   */
  
 -/* $Id: mbstring.h,v 1.40.2.12.4.2 2006/03/21 02:49:09 hirokawa Exp $ */
 +/* $Id: mbstring.h,v 1.40.2.12.4.3 2006/03/21 08:00:55 hirokawa Exp $ */
  
  /*
   * PHP4 Multibyte String module mbstring (currently only for Japanese)
 @@ -117,6 +117,7 @@
  PHP_FUNCTION(mb_decode_numericentity);
  PHP_FUNCTION(mb_send_mail);
  PHP_FUNCTION(mb_get_info);
 +PHP_FUNCTION(mb_check_encoding);
  
  MBSTRING_API int php_mb_encoding_translation(TSRMLS_D);
  
 http://cvs.php.net/viewcvs.cgi/php-src/ext/mbstring/libmbfl/mbfl/mbfilter.c?r1=1.1.2.7.2.3r2=1.1.2.7.2.4diff_format=u
 Index: php-src/ext/mbstring/libmbfl/mbfl/mbfilter.c
 diff 

[PHP-CVS] cvs: php-src(PHP_4_4) /ext/mbstring mbstring.c mbstring.h /ext/mbstring/libmbfl/mbfl mbfilter.c mbfilter.h mbfl_convert.c mbfl_convert.h

2006-03-20 Thread Rui Hirokawa
hirokawaTue Mar 21 02:49:09 2006 UTC

  Modified files:  (Branch: PHP_4_4)
/php-src/ext/mbstring   mbstring.c mbstring.h 
/php-src/ext/mbstring/libmbfl/mbfl  mbfilter.c mbfilter.h 
mbfl_convert.c mbfl_convert.h 
  Log:
  MFH.
  http://cvs.php.net/viewcvs.cgi/php-src/ext/mbstring/mbstring.c?r1=1.142.2.47.2.13r2=1.142.2.47.2.14diff_format=u
Index: php-src/ext/mbstring/mbstring.c
diff -u php-src/ext/mbstring/mbstring.c:1.142.2.47.2.13 
php-src/ext/mbstring/mbstring.c:1.142.2.47.2.14
--- php-src/ext/mbstring/mbstring.c:1.142.2.47.2.13 Sat Mar 18 05:52:33 2006
+++ php-src/ext/mbstring/mbstring.c Tue Mar 21 02:49:09 2006
@@ -17,7 +17,7 @@
+--+
  */
 
-/* $Id: mbstring.c,v 1.142.2.47.2.13 2006/03/18 05:52:33 masugata Exp $ */
+/* $Id: mbstring.c,v 1.142.2.47.2.14 2006/03/21 02:49:09 hirokawa Exp $ */
 
 /*
  * PHP4 Multibyte String module mbstring
@@ -854,6 +854,7 @@
MBSTRG(filter_illegal_substchar) = 0x3f;/* '?' */
MBSTRG(current_filter_illegal_mode) = 
MBFL_OUTPUTFILTER_ILLEGAL_MODE_CHAR;
MBSTRG(current_filter_illegal_substchar) = 0x3f;/* '?' */
+   MBSTRG(illegalchars) = 0;
MBSTRG(func_overload) = 0;
MBSTRG(encoding_translation) = 0;
pglobals-outconv = NULL;
@@ -1011,6 +1012,7 @@
MBSTRG(current_http_output_encoding) = MBSTRG(http_output_encoding);
MBSTRG(current_filter_illegal_mode) = MBSTRG(filter_illegal_mode);
MBSTRG(current_filter_illegal_substchar) = 
MBSTRG(filter_illegal_substchar);
+   MBSTRG(illegalchars) = 0;
 
n = 0;
if (MBSTRG(detect_order_list)) {
@@ -1078,6 +1080,7 @@
MBSTRG(current_detect_order_list_size) = 0;
}
if (MBSTRG(outconv) != NULL) {
+   MBSTRG(illegalchars) += 
mbfl_buffer_illegalchars(MBSTRG(outconv));
mbfl_buffer_converter_delete(MBSTRG(outconv));
MBSTRG(outconv) = NULL;
}
@@ -1627,6 +1630,7 @@
}
 
if (convd != NULL) {
+   MBSTRG(illegalchars) += mbfl_buffer_illegalchars(convd);
mbfl_buffer_converter_delete(convd);
}
if (val_list != NULL) {
@@ -1978,6 +1982,7 @@
PG(register_globals) = old_rg;
 
if (convd != NULL) {
+   MBSTRG(illegalchars) += mbfl_buffer_illegalchars(convd);
mbfl_buffer_converter_delete(convd);
}
efree((void *)str_list);
@@ -2015,6 +2020,7 @@
if ((arg_status  PHP_OUTPUT_HANDLER_START) != 0) {
/* delete the converter just in case. */
if (MBSTRG(outconv)) {
+   MBSTRG(illegalchars) += 
mbfl_buffer_illegalchars(MBSTRG(outconv));
mbfl_buffer_converter_delete(MBSTRG(outconv));
MBSTRG(outconv) = NULL;
}
@@ -2079,6 +2085,7 @@
  
/* delete the converter if it is the last feed. */
if (last_feed) {
+   MBSTRG(illegalchars) += 
mbfl_buffer_illegalchars(MBSTRG(outconv));
mbfl_buffer_converter_delete(MBSTRG(outconv));
MBSTRG(outconv) = NULL;
}
@@ -2711,6 +2718,7 @@
output = (char *)ret-val;
}
 
+   MBSTRG(illegalchars) += mbfl_buffer_illegalchars(convd);
mbfl_buffer_converter_delete(convd);
return output;
 }
@@ -3376,6 +3384,7 @@
}
efree(stack);
}
+   MBSTRG(illegalchars) += mbfl_buffer_illegalchars(convd);
mbfl_buffer_converter_delete(convd);
}
 
@@ -3795,6 +3804,8 @@
if (lang != NULL  (name = (char 
*)mbfl_no_encoding2name(lang-mail_body_encoding)) != NULL) {
RETVAL_STRING(name, 1);
}
+   } else if (!strcasecmp(illegal_chars, typ)) {
+   RETVAL_LONG(MBSTRG(illegalchars));
} else {
RETURN_FALSE;
}
@@ -3961,6 +3972,7 @@
str[i] = ret-val;
len[i] = ret-len;
}
+   MBSTRG(illegalchars) += mbfl_buffer_illegalchars(convd);
mbfl_buffer_converter_delete(convd);
}
return ret ? 0 : -1;
@@ -4184,6 +4196,7 @@
*to = ret-val;
*to_length = ret-len;
}
+   MBSTRG(illegalchars) += mbfl_buffer_illegalchars(convd);
mbfl_buffer_converter_delete(convd);
 
return ret ? 0 : -1;
http://cvs.php.net/viewcvs.cgi/php-src/ext/mbstring/mbstring.h?r1=1.40.2.12.4.1r2=1.40.2.12.4.2diff_format=u
Index: php-src/ext/mbstring/mbstring.h
diff -u php-src/ext/mbstring/mbstring.h:1.40.2.12.4.1 
php-src/ext/mbstring/mbstring.h:1.40.2.12.4.2
--- php-src/ext/mbstring/mbstring.h:1.40.2.12.4.1   Sun Jan  1 13:46:54 2006
+++ php-src/ext/mbstring/mbstring.h

[PHP-CVS] cvs: php-src(PHP_4_4) /ext/mbstring mbstring.c

2006-03-17 Thread Seiji Masugata
masugataSat Mar 18 05:52:33 2006 UTC

  Modified files:  (Branch: PHP_4_4)
/php-src/ext/mbstring   mbstring.c 
  Log:
  fixed doesn't return value when omitting arguments in mb_get_info( ).
  
http://cvs.php.net/viewcvs.cgi/php-src/ext/mbstring/mbstring.c?r1=1.142.2.47.2.12r2=1.142.2.47.2.13diff_format=u
Index: php-src/ext/mbstring/mbstring.c
diff -u php-src/ext/mbstring/mbstring.c:1.142.2.47.2.12 
php-src/ext/mbstring/mbstring.c:1.142.2.47.2.13
--- php-src/ext/mbstring/mbstring.c:1.142.2.47.2.12 Sun Mar 12 07:54:56 2006
+++ php-src/ext/mbstring/mbstring.c Sat Mar 18 05:52:33 2006
@@ -17,7 +17,7 @@
+--+
  */
 
-/* $Id: mbstring.c,v 1.142.2.47.2.12 2006/03/12 07:54:56 hirokawa Exp $ */
+/* $Id: mbstring.c,v 1.142.2.47.2.13 2006/03/18 05:52:33 masugata Exp $ */
 
 /*
  * PHP4 Multibyte String module mbstring
@@ -3711,22 +3711,19 @@
Returns the current settings of mbstring */
 PHP_FUNCTION(mb_get_info)
 {
-   zval **type;
+   char *typ = NULL;
+   int typ_len;
char *name;
-   int argc = ZEND_NUM_ARGS();
const struct mb_overload_def *over_func;
zval *row;
+   const mbfl_language *lang = mbfl_no2language(MBSTRG(current_language));
 
-   if (argc  0 || argc  1 || zend_get_parameters_ex(1, type) == 
FAILURE) {
-   WRONG_PARAM_COUNT;
+   if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, |s, typ, 
typ_len) == FAILURE) {
+   RETURN_FALSE;
}
 
-   convert_to_string_ex(type);
-
-   if (argc == 0 || !strcasecmp(all, Z_STRVAL_PP(type))) {
-   if (array_init(return_value) == FAILURE) {
-   RETURN_FALSE;
-   }
+   if (!typ || !strcasecmp(all, typ)) {
+   array_init(return_value);
if ((name = (char 
*)mbfl_no_encoding2name(MBSTRG(current_internal_encoding))) != NULL) {
add_assoc_string(return_value, internal_encoding, 
name, 1);
}
@@ -3750,19 +3747,30 @@
} else {
add_assoc_string(return_value, func_overload, no 
overload, 1);
}
-   } else if (!strcasecmp(internal_encoding, Z_STRVAL_PP(type))) {
+   if (lang != NULL) {
+   if ((name = (char 
*)mbfl_no_encoding2name(lang-mail_charset)) != NULL) {
+   add_assoc_string(return_value, mail_charset, 
name, 1);
+   }
+   if ((name = (char 
*)mbfl_no_encoding2name(lang-mail_header_encoding)) != NULL) {
+   add_assoc_string(return_value, 
mail_header_encoding, name, 1);
+   }
+   if ((name = (char 
*)mbfl_no_encoding2name(lang-mail_body_encoding)) != NULL) {
+   add_assoc_string(return_value, 
mail_body_encoding, name, 1);
+   }
+   }
+   } else if (!strcasecmp(internal_encoding, typ)) {
if ((name = (char 
*)mbfl_no_encoding2name(MBSTRG(current_internal_encoding))) != NULL) {
RETVAL_STRING(name, 1);
}   
-   } else if (!strcasecmp(http_input, Z_STRVAL_PP(type))) {
+   } else if (!strcasecmp(http_input, typ)) {
if ((name = (char 
*)mbfl_no_encoding2name(MBSTRG(http_input_identify))) != NULL) {
RETVAL_STRING(name, 1);
}   
-   } else if (!strcasecmp(http_output, Z_STRVAL_PP(type))) {
+   } else if (!strcasecmp(http_output, typ)) {
if ((name = (char 
*)mbfl_no_encoding2name(MBSTRG(current_http_output_encoding))) != NULL) {
RETVAL_STRING(name, 1);
}   
-   } else if (!strcasecmp(func_overload, Z_STRVAL_PP(type))) {
+   } else if (!strcasecmp(func_overload, typ)) {
if (MBSTRG(func_overload)){
over_func = (mb_ovld[0]);
array_init(return_value);
@@ -3775,6 +3783,18 @@
} else {
RETVAL_STRING(no overload, 1);
}
+   } else if (!strcasecmp(mail_charset, typ)) {
+   if (lang != NULL  (name = (char 
*)mbfl_no_encoding2name(lang-mail_charset)) != NULL) {
+   RETVAL_STRING(name, 1);
+   }
+   } else if (!strcasecmp(mail_header_encoding, typ)) {
+   if (lang != NULL  (name = (char 
*)mbfl_no_encoding2name(lang-mail_header_encoding)) != NULL) {
+   RETVAL_STRING(name, 1);
+   }
+   } else if (!strcasecmp(mail_body_encoding, typ)) {
+   if (lang != NULL  (name = (char 
*)mbfl_no_encoding2name(lang-mail_body_encoding)) != NULL) {
+   RETVAL_STRING(name, 1);
+  

[PHP-CVS] cvs: php-src(PHP_4_4) /ext/mbstring mbstring.c

2006-03-11 Thread Rui Hirokawa
hirokawaSun Mar 12 07:54:56 2006 UTC

  Modified files:  (Branch: PHP_4_4)
/php-src/ext/mbstring   mbstring.c 
  Log:
  MFH
  
http://cvs.php.net/viewcvs.cgi/php-src/ext/mbstring/mbstring.c?r1=1.142.2.47.2.11r2=1.142.2.47.2.12diff_format=u
Index: php-src/ext/mbstring/mbstring.c
diff -u php-src/ext/mbstring/mbstring.c:1.142.2.47.2.11 
php-src/ext/mbstring/mbstring.c:1.142.2.47.2.12
--- php-src/ext/mbstring/mbstring.c:1.142.2.47.2.11 Fri Mar 10 16:15:35 2006
+++ php-src/ext/mbstring/mbstring.c Sun Mar 12 07:54:56 2006
@@ -17,7 +17,7 @@
+--+
  */
 
-/* $Id: mbstring.c,v 1.142.2.47.2.11 2006/03/10 16:15:35 masugata Exp $ */
+/* $Id: mbstring.c,v 1.142.2.47.2.12 2006/03/12 07:54:56 hirokawa Exp $ */
 
 /*
  * PHP4 Multibyte String module mbstring
@@ -757,6 +757,9 @@
 /* {{{ static PHP_INI_MH(OnUpdate_mbstring_substitute_character) */
 static PHP_INI_MH(OnUpdate_mbstring_substitute_character)
 {
+   int c;
+   char *endptr = NULL;
+
if (new_value != NULL) {
if (strcasecmp(none, new_value) == 0) {
MBSTRG(filter_illegal_mode) = 
MBFL_OUTPUTFILTER_ILLEGAL_MODE_NONE;
@@ -764,7 +767,12 @@
MBSTRG(filter_illegal_mode) = 
MBFL_OUTPUTFILTER_ILLEGAL_MODE_LONG;
} else {
MBSTRG(filter_illegal_mode) = 
MBFL_OUTPUTFILTER_ILLEGAL_MODE_CHAR;
-   MBSTRG(filter_illegal_substchar) = zend_atoi(new_value, 
new_value_length);
+   if (new_value_length 0) {
+   c = strtol(new_value, endptr, 0);
+   if (*endptr == '\0') {
+   MBSTRG(filter_illegal_substchar) = c;
+   }
+   }
}
}
 

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



[PHP-CVS] cvs: php-src(PHP_4_4) /ext/mbstring mbstring.c

2006-03-10 Thread Seiji Masugata
masugataFri Mar 10 16:15:35 2006 UTC

  Modified files:  (Branch: PHP_4_4)
/php-src/ext/mbstring   mbstring.c 
  Log:
  fixed different value was returned in mb_get_info.
  
http://cvs.php.net/viewcvs.cgi/php-src/ext/mbstring/mbstring.c?r1=1.142.2.47.2.10r2=1.142.2.47.2.11diff_format=u
Index: php-src/ext/mbstring/mbstring.c
diff -u php-src/ext/mbstring/mbstring.c:1.142.2.47.2.10 
php-src/ext/mbstring/mbstring.c:1.142.2.47.2.11
--- php-src/ext/mbstring/mbstring.c:1.142.2.47.2.10 Thu Mar  2 00:39:57 2006
+++ php-src/ext/mbstring/mbstring.c Fri Mar 10 16:15:35 2006
@@ -17,7 +17,7 @@
+--+
  */
 
-/* $Id: mbstring.c,v 1.142.2.47.2.10 2006/03/02 00:39:57 yohgaki Exp $ */
+/* $Id: mbstring.c,v 1.142.2.47.2.11 2006/03/10 16:15:35 masugata Exp $ */
 
 /*
  * PHP4 Multibyte String module mbstring
@@ -3699,13 +3699,15 @@
 
 /* }}} */
 
-/* {{{ proto string mb_get_info([string type])
+/* {{{ proto mixed mb_get_info([string type])
Returns the current settings of mbstring */
 PHP_FUNCTION(mb_get_info)
 {
zval **type;
char *name;
int argc = ZEND_NUM_ARGS();
+   const struct mb_overload_def *over_func;
+   zval *row;
 
if (argc  0 || argc  1 || zend_get_parameters_ex(1, type) == 
FAILURE) {
WRONG_PARAM_COUNT;
@@ -3726,9 +3728,20 @@
if ((name = (char 
*)mbfl_no_encoding2name(MBSTRG(current_http_output_encoding))) != NULL) {
add_assoc_string(return_value, http_output, name, 1);
}
-   if ((name = (char 
*)mbfl_no_encoding2name(MBSTRG(func_overload))) != NULL) {
-   add_assoc_string(return_value, func_overload, name, 
1);
-   }
+   if (MBSTRG(func_overload)){
+   over_func = (mb_ovld[0]);
+   MAKE_STD_ZVAL(row);
+   array_init(row);
+   while (over_func-type  0) {
+   if ((MBSTRG(func_overload)  over_func-type) 
== over_func-type ) {
+   add_assoc_string(row, 
over_func-orig_func, over_func-ovld_func, 1);
+   }
+   over_func++;
+   }
+   add_assoc_zval(return_value, func_overload, row);
+   } else {
+   add_assoc_string(return_value, func_overload, no 
overload, 1);
+   }
} else if (!strcasecmp(internal_encoding, Z_STRVAL_PP(type))) {
if ((name = (char 
*)mbfl_no_encoding2name(MBSTRG(current_internal_encoding))) != NULL) {
RETVAL_STRING(name, 1);
@@ -3742,9 +3755,18 @@
RETVAL_STRING(name, 1);
}   
} else if (!strcasecmp(func_overload, Z_STRVAL_PP(type))) {
-   if ((name = (char 
*)mbfl_no_encoding2name(MBSTRG(func_overload))) != NULL) {
-   RETVAL_STRING(name, 1);
-   }
+   if (MBSTRG(func_overload)){
+   over_func = (mb_ovld[0]);
+   array_init(return_value);
+   while (over_func-type  0) {
+   if ((MBSTRG(func_overload)  
over_func-type) == over_func-type ) {
+   add_assoc_string(return_value, 
over_func-orig_func, over_func-ovld_func, 1);
+   }
+   over_func++;
+   }
+   } else {
+   RETVAL_STRING(no overload, 1);
+   }
} else {
RETURN_FALSE;
}

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



[PHP-CVS] cvs: php-src(PHP_4_4) /ext/mbstring mbstring.c

2006-03-01 Thread Yasuo Ohgaki
yohgaki Thu Mar  2 00:39:57 2006 UTC

  Modified files:  (Branch: PHP_4_4)
/php-src/ext/mbstring   mbstring.c 
  Log:
  MFH add safe_mode num of parameter check
  
  
http://cvs.php.net/viewcvs.cgi/php-src/ext/mbstring/mbstring.c?r1=1.142.2.47.2.9r2=1.142.2.47.2.10diff_format=u
Index: php-src/ext/mbstring/mbstring.c
diff -u php-src/ext/mbstring/mbstring.c:1.142.2.47.2.9 
php-src/ext/mbstring/mbstring.c:1.142.2.47.2.10
--- php-src/ext/mbstring/mbstring.c:1.142.2.47.2.9  Mon Feb  6 10:42:58 2006
+++ php-src/ext/mbstring/mbstring.c Thu Mar  2 00:39:57 2006
@@ -17,7 +17,7 @@
+--+
  */
 
-/* $Id: mbstring.c,v 1.142.2.47.2.9 2006/02/06 10:42:58 tony2001 Exp $ */
+/* $Id: mbstring.c,v 1.142.2.47.2.10 2006/03/02 00:39:57 yohgaki Exp $ */
 
 /*
  * PHP4 Multibyte String module mbstring
@@ -3513,6 +3513,11 @@
char *to_r = NULL;
int to_len, i;
 
+if (PG(safe_mode)  (ZEND_NUM_ARGS() == 5)) {
+   php_error_docref(NULL TSRMLS_CC, E_WARNING, SAFE MODE 
Restriction in effect.  The fifth parameter is disabled in SAFE MODE.);
+   RETURN_FALSE;
+   }
+
/* initialize */
mbfl_memory_device_init(device, 0, 0);
mbfl_string_init(orig_str);

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



[PHP-CVS] cvs: php-src(PHP_4_4) /ext/mbstring mbstring.c

2006-02-06 Thread Antony Dovgal
tony2001Mon Feb  6 10:42:58 2006 UTC

  Modified files:  (Branch: PHP_4_4)
/php-src/ext/mbstring   mbstring.c 
  Log:
  MF51: initialize to_r
  
  
http://cvs.php.net/viewcvs.cgi/php-src/ext/mbstring/mbstring.c?r1=1.142.2.47.2.8r2=1.142.2.47.2.9diff_format=u
Index: php-src/ext/mbstring/mbstring.c
diff -u php-src/ext/mbstring/mbstring.c:1.142.2.47.2.8 
php-src/ext/mbstring/mbstring.c:1.142.2.47.2.9
--- php-src/ext/mbstring/mbstring.c:1.142.2.47.2.8  Sun Jan  1 13:46:54 2006
+++ php-src/ext/mbstring/mbstring.c Mon Feb  6 10:42:58 2006
@@ -17,7 +17,7 @@
+--+
  */
 
-/* $Id: mbstring.c,v 1.142.2.47.2.8 2006/01/01 13:46:54 sniper Exp $ */
+/* $Id: mbstring.c,v 1.142.2.47.2.9 2006/02/06 10:42:58 tony2001 Exp $ */
 
 /*
  * PHP4 Multibyte String module mbstring
@@ -3510,7 +3510,7 @@
mbfl_memory_device device;  /* automatic allocateable buffer for 
additional header */
const mbfl_language *lang;
int err = 0;
-   char *to_r;
+   char *to_r = NULL;
int to_len, i;
 
/* initialize */

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



[PHP-CVS] cvs: php-src(PHP_4_4) /ext/mbstring mbstring.c

2005-12-14 Thread Ilia Alshanetsky
iliaa   Thu Dec 15 03:37:22 2005 EDT

  Modified files:  (Branch: PHP_4_4)
/php-src/ext/mbstring   mbstring.c 
  Log:
  MFH: Fixed possible memory corruption inside mb_strcut().
  
  
http://cvs.php.net/viewcvs.cgi/php-src/ext/mbstring/mbstring.c?r1=1.142.2.47.2.5r2=1.142.2.47.2.6diff_format=u
Index: php-src/ext/mbstring/mbstring.c
diff -u php-src/ext/mbstring/mbstring.c:1.142.2.47.2.5 
php-src/ext/mbstring/mbstring.c:1.142.2.47.2.6
--- php-src/ext/mbstring/mbstring.c:1.142.2.47.2.5  Mon Nov 21 23:21:19 2005
+++ php-src/ext/mbstring/mbstring.c Thu Dec 15 03:37:22 2005
@@ -17,7 +17,7 @@
+--+
  */
 
-/* $Id: mbstring.c,v 1.142.2.47.2.5 2005/11/21 23:21:19 hirokawa Exp $ */
+/* $Id: mbstring.c,v 1.142.2.47.2.6 2005/12/15 03:37:22 iliaa Exp $ */
 
 /*
  * PHP4 Multibyte String module mbstring
@@ -2485,6 +2485,13 @@
}
}
 
+   if (from  Z_STRLEN_PP(arg1)) {
+   RETURN_FALSE;
+   }
+   if (((unsigned) from + (unsigned) len)  Z_STRLEN_PP(arg1)) {
+   len = Z_STRLEN_PP(arg1) - from;
+   }
+
ret = mbfl_strcut(string, result, from, len);
if (ret != NULL) {
RETVAL_STRINGL(ret-val, ret-len, 0);  /* the string 
is already strdup()'ed */

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



Re: [PHP-CVS] cvs: php-src(PHP_4_4) /ext/mbstring mbstring.c

2005-11-22 Thread Rui Hirokawa

I am preparing the patch for PHP_5_1, PHP_5_0 and HEAD.
It will be applied very soon.

Rui

On Tue, 22 Nov 2005 04:01:36 +0200 (EET)
Jani Taskinen [EMAIL PROTECTED] wrote:

 
  Doesn't this problem exist in PHP_5_1 branch?
 
  --Jani
 
 
 On Mon, 21 Nov 2005, Rui Hirokawa wrote:
 
 
  hirokawaMon Nov 21 18:21:24 2005 EDT
 
   Modified files:  (Branch: PHP_4_4)
 /php-src/ext/mbstringmbstring.c
   Log:
   fixed #35307 unexpected header can be injected to mb_send_mail() (the 
  patch is made by masugata).
 
  http://cvs.php.net/diff.php/php-src/ext/mbstring/mbstring.c?r1=1.142.2.47.2.4r2=1.142.2.47.2.5ty=u
  Index: php-src/ext/mbstring/mbstring.c
  diff -u php-src/ext/mbstring/mbstring.c:1.142.2.47.2.4 
  php-src/ext/mbstring/mbstring.c:1.142.2.47.2.5
  --- php-src/ext/mbstring/mbstring.c:1.142.2.47.2.4  Sat Nov 19 01:39:39 2005
  +++ php-src/ext/mbstring/mbstring.c Mon Nov 21 18:21:19 2005
  @@ -17,7 +17,7 @@
 +--+
   */
 
  -/* $Id: mbstring.c,v 1.142.2.47.2.4 2005/11/19 06:39:39 hirokawa Exp $ */
  +/* $Id: mbstring.c,v 1.142.2.47.2.5 2005/11/21 23:21:19 hirokawa Exp $ */
 
  /*
   * PHP4 Multibyte String module mbstring
  @@ -3467,6 +3467,22 @@
   *  Sends an email message with MIME scheme
   */
  #if HAVE_SENDMAIL
  +#define SKIP_LONG_HEADER_SEP_MBSTRING(str, pos)
  \
  +   if (str[pos] == '\r'  str[pos + 1] == '\n'  (str[pos + 2] == ' ' || 
  str[pos + 2] == '\t')) {\
  +   pos += 3;   
  \
  +   while (str[pos] == ' ' || str[pos] == '\t') {   \
  +   pos++;  
  \
  +   }   \
  +   continue;   
  \
  +   }   
  \
  +   else if (str[pos] == '\n'  (str[pos + 1] == ' ' || str[pos + 1] == 
  '\t')) {   \
  +   pos += 2;   
  \
  +   while (str[pos] == ' ' || str[pos] == '\t') {   \
  +   pos++;  
  \
  +   }   
  \
  +   continue;   
  \
  +   }   
  \
  +
  PHP_FUNCTION(mb_send_mail)
  {
  int argc, n;
  @@ -3482,6 +3498,8 @@
  mbfl_memory_device device;  /* automatic allocateable buffer for 
  additional header */
  const mbfl_language *lang;
  int err = 0;
  +   char *to_r;
  +   int to_len, i;
 
  /* initialize */
  mbfl_memory_device_init(device, 0, 0);
  @@ -3508,6 +3526,32 @@
  convert_to_string_ex(argv[0]);
  if (Z_STRVAL_PP(argv[0])) {
  to = Z_STRVAL_PP(argv[0]);
  +   to_len = Z_STRLEN_PP(argv[0]);
  +   if (to_len  0) {
  +   to_r = estrndup(to, to_len);
  +   for (; to_len; to_len--) {
  +   if (!isspace((unsigned char) to_r[to_len - 1])) 
  {
  +   break;
  +   }
  +   to_r[to_len - 1] = '\0';
  +   }
  +   for (i = 0; to_r[i]; i++) {
  +   if (iscntrl((unsigned char) to_r[i])) {
  +   /* According to RFC 822, 
  section 3.1.1 long headers may be
  +separated into
  +* parts using CRLF followed at least 
  one linear-white-space
  +character ('\t' or ' ').
  +* To prevent these separators from 
  being replaced with a space,
  +we use the
  +* SKIP_LONG_HEADER_SEP_MBSTRING to 
  skip over them.
  +*/
  +   SKIP_LONG_HEADER_SEP_MBSTRING(to_r, i);
  +   to_r[i] = ' ';
  +   }
  +   }
  +   } else {
  +   to_r = to;
  +   }
  } else {
  php_error_docref(NULL TSRMLS_CC, E_WARNING, Missing To: 
  field);
  err = 1;
  @@ -3606,12 +3650,15 @@
  extra_cmd = php_escape_shell_cmd(extra_cmd);
  }
 
  -   if (!err  php_mail(to, subject, message, headers, extra_cmd 
  TSRMLS_CC)) {
  +   if (!err  

[PHP-CVS] cvs: php-src(PHP_4_4) /ext/mbstring mbstring.c

2005-11-21 Thread Rui Hirokawa
hirokawaMon Nov 21 18:21:24 2005 EDT

  Modified files:  (Branch: PHP_4_4)
/php-src/ext/mbstring   mbstring.c 
  Log:
  fixed #35307 unexpected header can be injected to mb_send_mail() (the patch 
is made by masugata).
  
http://cvs.php.net/diff.php/php-src/ext/mbstring/mbstring.c?r1=1.142.2.47.2.4r2=1.142.2.47.2.5ty=u
Index: php-src/ext/mbstring/mbstring.c
diff -u php-src/ext/mbstring/mbstring.c:1.142.2.47.2.4 
php-src/ext/mbstring/mbstring.c:1.142.2.47.2.5
--- php-src/ext/mbstring/mbstring.c:1.142.2.47.2.4  Sat Nov 19 01:39:39 2005
+++ php-src/ext/mbstring/mbstring.c Mon Nov 21 18:21:19 2005
@@ -17,7 +17,7 @@
+--+
  */
 
-/* $Id: mbstring.c,v 1.142.2.47.2.4 2005/11/19 06:39:39 hirokawa Exp $ */
+/* $Id: mbstring.c,v 1.142.2.47.2.5 2005/11/21 23:21:19 hirokawa Exp $ */
 
 /*
  * PHP4 Multibyte String module mbstring
@@ -3467,6 +3467,22 @@
  *  Sends an email message with MIME scheme
  */
 #if HAVE_SENDMAIL
+#define SKIP_LONG_HEADER_SEP_MBSTRING(str, pos)
\
+   if (str[pos] == '\r'  str[pos + 1] == '\n'  (str[pos + 2] == ' ' || 
str[pos + 2] == '\t')) {\
+   pos += 3;   
\
+   while (str[pos] == ' ' || str[pos] == '\t') {   \
+   pos++;  
\
+   }   \
+   continue;   
\
+   }   
\
+   else if (str[pos] == '\n'  (str[pos + 1] == ' ' || str[pos + 1] == 
'\t')) {   \
+   pos += 2;   
\
+   while (str[pos] == ' ' || str[pos] == '\t') {   \
+   pos++;  
\
+   }   
\
+   continue;   
\
+   }   
\
+
 PHP_FUNCTION(mb_send_mail)
 {
int argc, n;
@@ -3482,6 +3498,8 @@
mbfl_memory_device device;  /* automatic allocateable buffer for 
additional header */
const mbfl_language *lang;
int err = 0;
+   char *to_r;
+   int to_len, i;
 
/* initialize */
mbfl_memory_device_init(device, 0, 0);
@@ -3508,6 +3526,32 @@
convert_to_string_ex(argv[0]);
if (Z_STRVAL_PP(argv[0])) {
to = Z_STRVAL_PP(argv[0]);
+   to_len = Z_STRLEN_PP(argv[0]);
+   if (to_len  0) {
+   to_r = estrndup(to, to_len);
+   for (; to_len; to_len--) {
+   if (!isspace((unsigned char) to_r[to_len - 1])) 
{
+   break;
+   }
+   to_r[to_len - 1] = '\0';
+   }
+   for (i = 0; to_r[i]; i++) {
+   if (iscntrl((unsigned char) to_r[i])) {
+   /* According to RFC 822, 
section 3.1.1 long headers may be
+separated into
+* parts using CRLF followed at least 
one linear-white-space
+character ('\t' or ' ').
+* To prevent these separators from 
being replaced with a space,
+we use the
+* SKIP_LONG_HEADER_SEP_MBSTRING to 
skip over them.
+*/
+   SKIP_LONG_HEADER_SEP_MBSTRING(to_r, i);
+   to_r[i] = ' ';
+   }
+   }
+   } else {
+   to_r = to;
+   }
} else {
php_error_docref(NULL TSRMLS_CC, E_WARNING, Missing To: 
field);
err = 1;
@@ -3606,12 +3650,15 @@
extra_cmd = php_escape_shell_cmd(extra_cmd);
} 
 
-   if (!err  php_mail(to, subject, message, headers, extra_cmd 
TSRMLS_CC)) {
+   if (!err  php_mail(to_r, subject, message, headers, extra_cmd 
TSRMLS_CC)) {
RETVAL_TRUE;
} else {
RETVAL_FALSE;
}
 
+   if (to_r != to) {
+   efree(to_r);
+   }
if (extra_cmd) {

Re: [PHP-CVS] cvs: php-src(PHP_4_4) /ext/mbstring mbstring.c

2005-11-21 Thread Jani Taskinen


Doesn't this problem exist in PHP_5_1 branch?

--Jani


On Mon, 21 Nov 2005, Rui Hirokawa wrote:



hirokawaMon Nov 21 18:21:24 2005 EDT

 Modified files:  (Branch: PHP_4_4)
   /php-src/ext/mbstringmbstring.c
 Log:
 fixed #35307 unexpected header can be injected to mb_send_mail() (the patch is 
made by masugata).

http://cvs.php.net/diff.php/php-src/ext/mbstring/mbstring.c?r1=1.142.2.47.2.4r2=1.142.2.47.2.5ty=u
Index: php-src/ext/mbstring/mbstring.c
diff -u php-src/ext/mbstring/mbstring.c:1.142.2.47.2.4 
php-src/ext/mbstring/mbstring.c:1.142.2.47.2.5
--- php-src/ext/mbstring/mbstring.c:1.142.2.47.2.4  Sat Nov 19 01:39:39 2005
+++ php-src/ext/mbstring/mbstring.c Mon Nov 21 18:21:19 2005
@@ -17,7 +17,7 @@
   +--+
 */

-/* $Id: mbstring.c,v 1.142.2.47.2.4 2005/11/19 06:39:39 hirokawa Exp $ */
+/* $Id: mbstring.c,v 1.142.2.47.2.5 2005/11/21 23:21:19 hirokawa Exp $ */

/*
 * PHP4 Multibyte String module mbstring
@@ -3467,6 +3467,22 @@
 *  Sends an email message with MIME scheme
 */
#if HAVE_SENDMAIL
+#define SKIP_LONG_HEADER_SEP_MBSTRING(str, pos)
\
+   if (str[pos] == '\r'  str[pos + 1] == '\n'  (str[pos + 2] == ' ' || 
str[pos + 2] == '\t')) {\
+   pos += 3;   
\
+   while (str[pos] == ' ' || str[pos] == '\t') {   \
+   pos++;  
\
+   }   \
+   continue;   
\
+   }   
\
+   else if (str[pos] == '\n'  (str[pos + 1] == ' ' || str[pos + 1] == 
'\t')) {   \
+   pos += 2;   
\
+   while (str[pos] == ' ' || str[pos] == '\t') {   \
+   pos++;  
\
+   }   
\
+   continue;   
\
+   }   
\
+
PHP_FUNCTION(mb_send_mail)
{
int argc, n;
@@ -3482,6 +3498,8 @@
mbfl_memory_device device;  /* automatic allocateable buffer for 
additional header */
const mbfl_language *lang;
int err = 0;
+   char *to_r;
+   int to_len, i;

/* initialize */
mbfl_memory_device_init(device, 0, 0);
@@ -3508,6 +3526,32 @@
convert_to_string_ex(argv[0]);
if (Z_STRVAL_PP(argv[0])) {
to = Z_STRVAL_PP(argv[0]);
+   to_len = Z_STRLEN_PP(argv[0]);
+   if (to_len  0) {
+   to_r = estrndup(to, to_len);
+   for (; to_len; to_len--) {
+   if (!isspace((unsigned char) to_r[to_len - 1])) 
{
+   break;
+   }
+   to_r[to_len - 1] = '\0';
+   }
+   for (i = 0; to_r[i]; i++) {
+   if (iscntrl((unsigned char) to_r[i])) {
+   /* According to RFC 822, 
section 3.1.1 long headers may be
+separated into
+* parts using CRLF followed at least 
one linear-white-space
+character ('\t' or ' ').
+* To prevent these separators from 
being replaced with a space,
+we use the
+* SKIP_LONG_HEADER_SEP_MBSTRING to 
skip over them.
+*/
+   SKIP_LONG_HEADER_SEP_MBSTRING(to_r, i);
+   to_r[i] = ' ';
+   }
+   }
+   } else {
+   to_r = to;
+   }
} else {
php_error_docref(NULL TSRMLS_CC, E_WARNING, Missing To: 
field);
err = 1;
@@ -3606,12 +3650,15 @@
extra_cmd = php_escape_shell_cmd(extra_cmd);
}

-   if (!err  php_mail(to, subject, message, headers, extra_cmd 
TSRMLS_CC)) {
+   if (!err  php_mail(to_r, subject, message, headers, extra_cmd 
TSRMLS_CC)) {
RETVAL_TRUE;
} else {
RETVAL_FALSE;
}

+   if (to_r != to) 

[PHP-CVS] cvs: php-src(PHP_4_4) /ext/mbstring mbstring.c

2005-11-18 Thread Rui Hirokawa
hirokawaSat Nov 19 01:39:43 2005 EDT

  Modified files:  (Branch: PHP_4_4)
/php-src/ext/mbstring   mbstring.c 
  Log:
  MFH: fixed #35253 length of the encoded string vilolates a RFC.
  
http://cvs.php.net/diff.php/php-src/ext/mbstring/mbstring.c?r1=1.142.2.47.2.3r2=1.142.2.47.2.4ty=u
Index: php-src/ext/mbstring/mbstring.c
diff -u php-src/ext/mbstring/mbstring.c:1.142.2.47.2.3 
php-src/ext/mbstring/mbstring.c:1.142.2.47.2.4
--- php-src/ext/mbstring/mbstring.c:1.142.2.47.2.3  Fri Nov  4 20:14:05 2005
+++ php-src/ext/mbstring/mbstring.c Sat Nov 19 01:39:39 2005
@@ -17,7 +17,7 @@
+--+
  */
 
-/* $Id: mbstring.c,v 1.142.2.47.2.3 2005/11/05 01:14:05 hirokawa Exp $ */
+/* $Id: mbstring.c,v 1.142.2.47.2.4 2005/11/19 06:39:39 hirokawa Exp $ */
 
 /*
  * PHP4 Multibyte String module mbstring
@@ -2924,16 +2924,17 @@
 }
 /* }}} */
 
-/* {{{ proto string mb_encode_mimeheader(string str [, string charset [, 
string transfer-encoding [, string linefeed]]])
+/* {{{ proto string mb_encode_mimeheader(string str [, string charset [, 
string transfer-encoding [, string linefeed [, int indent)
Converts the string to MIME encoded-word in the format of 
=?charset?(B|Q)?encoded_string?= */
 PHP_FUNCTION(mb_encode_mimeheader)
 {
-   pval **argv[4];
+   pval **argv[5];
enum mbfl_no_encoding charset, transenc;
mbfl_string  string, result, *ret;
char *p, *linefeed;
+   int indent;
 
-   if (ZEND_NUM_ARGS()  1 || ZEND_NUM_ARGS()  4 || 
zend_get_parameters_array_ex(ZEND_NUM_ARGS(), argv) == FAILURE) {
+   if (ZEND_NUM_ARGS()  1 || ZEND_NUM_ARGS()  5 || 
zend_get_parameters_array_ex(ZEND_NUM_ARGS(), argv) == FAILURE) {
WRONG_PARAM_COUNT;
}
 
@@ -2970,6 +2971,12 @@
linefeed = Z_STRVAL_PP(argv[3]);
}
 
+   indent = 0;
+   if (ZEND_NUM_ARGS() = 5) {
+   convert_to_long_ex(argv[4]);
+   indent = Z_LVAL_PP(argv[4]);
+   }
+
convert_to_string_ex(argv[0]);
mbfl_string_init(string);
mbfl_string_init(result);
@@ -2977,7 +2984,7 @@
string.no_encoding = MBSTRG(current_internal_encoding);
string.val = Z_STRVAL_PP(argv[0]);
string.len = Z_STRLEN_PP(argv[0]);
-   ret = mbfl_mime_header_encode(string, result, charset, transenc, 
linefeed, 0);
+   ret = mbfl_mime_header_encode(string, result, charset, transenc, 
linefeed, indent);
if (ret != NULL) {
RETVAL_STRINGL((char *)ret-val, ret-len, 0)   /* the string 
is already strdup()'ed */
} else {

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



[PHP-CVS] cvs: php-src(PHP_4_4) /ext/mbstring mbstring.c

2005-11-04 Thread Rui Hirokawa
hirokawaFri Nov  4 11:13:45 2005 EDT

  Modified files:  (Branch: PHP_4_4)
/php-src/ext/mbstring   mbstring.c 
  Log:
  removed mail.force_extra_parameters which is unsuppoted in php4.
  
http://cvs.php.net/diff.php/php-src/ext/mbstring/mbstring.c?r1=1.142.2.47.2.1r2=1.142.2.47.2.2ty=u
Index: php-src/ext/mbstring/mbstring.c
diff -u php-src/ext/mbstring/mbstring.c:1.142.2.47.2.1 
php-src/ext/mbstring/mbstring.c:1.142.2.47.2.2
--- php-src/ext/mbstring/mbstring.c:1.142.2.47.2.1  Wed Sep 21 09:19:19 2005
+++ php-src/ext/mbstring/mbstring.c Fri Nov  4 11:13:44 2005
@@ -17,7 +17,7 @@
+--+
  */
 
-/* $Id: mbstring.c,v 1.142.2.47.2.1 2005/09/21 13:19:19 iliaa Exp $ */
+/* $Id: mbstring.c,v 1.142.2.47.2.2 2005/11/04 16:13:44 hirokawa Exp $ */
 
 /*
  * PHP4 Multibyte String module mbstring
@@ -3474,7 +3474,6 @@
body_enc;   /* body transfar encoding */
mbfl_memory_device device;  /* automatic allocateable buffer for 
additional header */
const mbfl_language *lang;
-   char *force_extra_parameters = INI_STR(mail.force_extra_parameters);
int err = 0;
 
/* initialize */
@@ -3596,9 +3595,7 @@
extra_cmd = Z_STRVAL_PP(argv[4]);
}
 
-   if (force_extra_parameters) {
-   extra_cmd = estrdup(force_extra_parameters);
-   } else if (extra_cmd) {
+if (extra_cmd) {
extra_cmd = php_escape_shell_cmd(extra_cmd);
} 
 

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



Re: [PHP-CVS] cvs: php-src(PHP_4_4) /ext/mbstring mbstring.c

2005-11-04 Thread Derick Rethans
On Fri, 4 Nov 2005, Rui Hirokawa wrote:

 hirokawa  Fri Nov  4 11:13:45 2005 EDT
 
   Modified files:  (Branch: PHP_4_4)
 /php-src/ext/mbstring mbstring.c 
   Log:
   removed mail.force_extra_parameters which is unsuppoted in php4.
   
   }
  
 - if (force_extra_parameters) {
 - extra_cmd = estrdup(force_extra_parameters);
 - } else if (extra_cmd) {
 +if (extra_cmd) {
   extra_cmd = php_escape_shell_cmd(extra_cmd);
   } 

Please fix your whitespace issues there. And does this close a bug, or 
something else?

regards,
Derick

-- 
Derick Rethans
http://derickrethans.nl | http://ez.no | http://xdebug.org

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



[PHP-CVS] cvs: php-src(PHP_4_4) /ext/mbstring mbstring.c

2005-11-04 Thread Rui Hirokawa
hirokawaFri Nov  4 20:14:08 2005 EDT

  Modified files:  (Branch: PHP_4_4)
/php-src/ext/mbstring   mbstring.c 
  Log:
  fixed white space issue.
  
http://cvs.php.net/diff.php/php-src/ext/mbstring/mbstring.c?r1=1.142.2.47.2.2r2=1.142.2.47.2.3ty=u
Index: php-src/ext/mbstring/mbstring.c
diff -u php-src/ext/mbstring/mbstring.c:1.142.2.47.2.2 
php-src/ext/mbstring/mbstring.c:1.142.2.47.2.3
--- php-src/ext/mbstring/mbstring.c:1.142.2.47.2.2  Fri Nov  4 11:13:44 2005
+++ php-src/ext/mbstring/mbstring.c Fri Nov  4 20:14:05 2005
@@ -17,7 +17,7 @@
+--+
  */
 
-/* $Id: mbstring.c,v 1.142.2.47.2.2 2005/11/04 16:13:44 hirokawa Exp $ */
+/* $Id: mbstring.c,v 1.142.2.47.2.3 2005/11/05 01:14:05 hirokawa Exp $ */
 
 /*
  * PHP4 Multibyte String module mbstring
@@ -3595,7 +3595,7 @@
extra_cmd = Z_STRVAL_PP(argv[4]);
}
 
-if (extra_cmd) {
+   if (extra_cmd) {
extra_cmd = php_escape_shell_cmd(extra_cmd);
} 
 

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



Re: [PHP-CVS] cvs: php-src(PHP_4_4) /ext/mbstring mbstring.c

2005-11-04 Thread Rui Hirokawa

white space issue was fixed now.
This is a bug fix patch.
5th parameter of mb_send_mail cannot be used since PHP 4.4.1
by this bug.
mail.force_extra_parameters is supported in PHP5, but, 
this patch was also applied to PHP_4_4 by unknown reasons.

Rui

On Fri, 4 Nov 2005 18:27:38 +0100 (CET)
Derick Rethans [EMAIL PROTECTED] wrote:

 On Fri, 4 Nov 2005, Rui Hirokawa wrote:
 
  hirokawaFri Nov  4 11:13:45 2005 EDT
  
Modified files:  (Branch: PHP_4_4)
  /php-src/ext/mbstring   mbstring.c 
Log:
removed mail.force_extra_parameters which is unsuppoted in php4.

  }
   
  -   if (force_extra_parameters) {
  -   extra_cmd = estrdup(force_extra_parameters);
  -   } else if (extra_cmd) {
  +if (extra_cmd) {
  extra_cmd = php_escape_shell_cmd(extra_cmd);
  } 
 
 Please fix your whitespace issues there. And does this close a bug, or 
 something else?
 
 regards,
 Derick
 
 -- 
 Derick Rethans
 http://derickrethans.nl | http://ez.no | http://xdebug.org
 
 
 -- 
 No virus found in this incoming message.
 Checked by AVG Free Edition.
 Version: 7.1.362 / Virus Database: 267.12.8/161 - Release Date: 2005/11/03

-- 
Rui Hirokawa [EMAIL PROTECTED]




-- 
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.362 / Virus Database: 267.12.8/161 - Release Date: 2005/11/03

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



Re: [PHP-CVS] cvs: php-src(PHP_4_4) /ext/mbstring mbstring.c

2005-11-04 Thread Rui Hirokawa

Derick,

This bug is #34830 and fixed in CVS.

Rui

-

white space issue was fixed now.
This is a bug fix patch.
5th parameter of mb_send_mail cannot be used since PHP 4.4.1
by this bug.
mail.force_extra_parameters is supported in PHP5, but, 
this patch was also applied to PHP_4_4 by unknown reasons.

Rui

On Fri, 4 Nov 2005 18:27:38 +0100 (CET)
Derick Rethans [EMAIL PROTECTED] wrote:

 On Fri, 4 Nov 2005, Rui Hirokawa wrote:
 
  hirokawaFri Nov  4 11:13:45 2005 EDT
  
Modified files:  (Branch: PHP_4_4)
  /php-src/ext/mbstring   mbstring.c 
Log:
removed mail.force_extra_parameters which is unsuppoted in php4.

  }
   
  -   if (force_extra_parameters) {
  -   extra_cmd = estrdup(force_extra_parameters);
  -   } else if (extra_cmd) {
  +if (extra_cmd) {
  extra_cmd = php_escape_shell_cmd(extra_cmd);
  } 
 
 Please fix your whitespace issues there. And does this close a bug, or 
 something else?
 
 regards,
 Derick
 
 -- 
 Derick Rethans
 http://derickrethans.nl | http://ez.no | http://xdebug.org
 
 
 -- 
 No virus found in this incoming message.
 Checked by AVG Free Edition.
 Version: 7.1.362 / Virus Database: 267.12.8/161 - Release Date: 2005/11/03

-- 
Rui Hirokawa [EMAIL PROTECTED]




-- 
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.362 / Virus Database: 267.12.8/161 - Release Date: 2005/11/03

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