summaryrefslogtreecommitdiff
path: root/lang/php5/patches
diff options
context:
space:
mode:
authoradrianp <adrianp>2008-12-08 14:52:00 +0000
committeradrianp <adrianp>2008-12-08 14:52:00 +0000
commitba032619233d3c9449ba922174c8bef72dd29f2d (patch)
tree910b23b64a3da6509f8f58088ab46fc2bbf532cd /lang/php5/patches
parent4282962d1928af636f1d0269813c432b844c31c1 (diff)
downloadpkgsrc-ba032619233d3c9449ba922174c8bef72dd29f2d.tar.gz
Revert to 5.2.6:
http://www.php.net/archive/2008.php#id2008-12-07-1 Thanks to tron@ for the heads up
Diffstat (limited to 'lang/php5/patches')
-rw-r--r--lang/php5/patches/patch-ak167
1 files changed, 167 insertions, 0 deletions
diff --git a/lang/php5/patches/patch-ak b/lang/php5/patches/patch-ak
new file mode 100644
index 00000000000..9aab50b4ff7
--- /dev/null
+++ b/lang/php5/patches/patch-ak
@@ -0,0 +1,167 @@
+$NetBSD: patch-ak,v 1.6 2008/12/08 14:52:01 adrianp Exp $
+
+--- ext/imap/php_imap.c.orig 2007-07-31 01:31:10.000000000 +0100
++++ ext/imap/php_imap.c 2008-03-04 18:14:19.000000000 +0000
+@@ -70,6 +70,7 @@
+ static void _php_imap_add_body(zval *arg, BODY *body TSRMLS_DC);
+ static void _php_imap_parse_address(ADDRESS *addresslist, char **fulladdress, zval *paddress TSRMLS_DC);
+ static int _php_imap_address_size(ADDRESS *addresslist);
++static void _php_rfc822_write_address_len (char *dest, ADDRESS *adr, int len);
+
+ /* the gets we use */
+ static char *php_mail_gets(readfn_t f, void *stream, unsigned long size, GETS_DATA *md);
+@@ -452,6 +453,11 @@
+ {
+ unsigned long sa_all = SA_MESSAGES | SA_RECENT | SA_UNSEEN | SA_UIDNEXT | SA_UIDVALIDITY;
+
++/*
++ * Optionally use the installed c-client linkage.c to determine which drivers
++ * are authenticators are linked in. Otherwise use this fixed list.
++ */
++#ifndef HAVE_IMAP_LINKAGE
+ #ifndef PHP_WIN32
+ mail_link(&unixdriver); /* link in the unix driver */
+ mail_link(&mhdriver); /* link in the mh driver */
+@@ -467,6 +473,10 @@
+ mail_link(&tenexdriver); /* link in the tenex driver */
+ mail_link(&mtxdriver); /* link in the mtx driver */
+ mail_link(&dummydriver); /* link in the dummy driver */
++#else /* HAVE_IMAP_LINKAGE */
++ /* link in the c-client mail and auth drivers */
++#include "linkage.c"
++#endif /* HAVE_IMAP_LINKAGE */
+
+ #ifndef PHP_WIN32
+ auth_link(&auth_log); /* link in the log authenticator */
+@@ -1603,18 +1613,21 @@
+ }
+
+ PHP_IMAP_CHECK_MSGNO(Z_LVAL_PP(msgno));
+-
++ printf("mail_fetchstructure\n");
+ if (mail_fetchstructure(imap_le_struct->imap_stream, Z_LVAL_PP(msgno), NIL)) {
+ cache = mail_elt(imap_le_struct->imap_stream, Z_LVAL_PP(msgno));
+ } else {
+ RETURN_FALSE;
+ }
+
++ printf("mail_fetchenvelope a\n");
+ en = mail_fetchenvelope(imap_le_struct->imap_stream, Z_LVAL_PP(msgno));
++ printf("mail_fetchenvelope b\n");
+
+ /* call a function to parse all the text, so that we can use the
+ same function to parse text from other sources */
+ _php_make_header_object(return_value, en TSRMLS_CC);
++ printf("mail_fetchenvelope c\n");
+
+ /* now run through properties that are only going to be returned
+ from a server, not text headers */
+@@ -1624,6 +1637,7 @@
+ add_property_string(return_value, "Answered", cache->answered ? "A" : " ", 1);
+ add_property_string(return_value, "Deleted", cache->deleted ? "D" : " ", 1);
+ add_property_string(return_value, "Draft", cache->draft ? "X" : " ", 1);
++ printf("mail_fetchenvelope d\n");
+
+ snprintf(dummy, sizeof(dummy), "%4ld", cache->msgno);
+ add_property_string(return_value, "Msgno", dummy, 1);
+@@ -1646,6 +1660,7 @@
+ mail_fetchsubject(fulladdress, imap_le_struct->imap_stream, Z_LVAL_PP(msgno), Z_LVAL_PP(subjectlength));
+ add_property_string(return_value, "fetchsubject", fulladdress, 1);
+ }
++ printf("mail_fetchenvelope e\n");
+ }
+ /* }}} */
+
+@@ -2105,7 +2120,6 @@
+ zval **mailbox, **host, **personal;
+ ADDRESS *addr;
+ char string[MAILTMPLEN];
+-
+ if (ZEND_NUM_ARGS() != 3 || zend_get_parameters_ex(3, &mailbox, &host, &personal) == FAILURE) {
+ ZEND_WRONG_PARAM_COUNT();
+ }
+@@ -2137,7 +2151,7 @@
+ }
+
+ string[0]='\0';
+- rfc822_write_address(string, addr);
++ _php_rfc822_write_address_len(string, addr, sizeof(string));
+ RETVAL_STRING(string, 1);
+ }
+ /* }}} */
+@@ -2906,13 +2920,13 @@
+ if (env->from && _php_imap_address_size(env->from) < MAILTMPLEN) {
+ env->from->next=NULL;
+ address[0] = '\0';
+- rfc822_write_address(address, env->from);
++ _php_rfc822_write_address_len(address, env->from, sizeof(address));
+ add_property_string(myoverview, "from", address, 1);
+ }
+ if (env->to && _php_imap_address_size(env->to) < MAILTMPLEN) {
+ env->to->next = NULL;
+ address[0] = '\0';
+- rfc822_write_address(address, env->to);
++ _php_rfc822_write_address_len(address, env->to, sizeof(address));
+ add_property_string(myoverview, "to", address, 1);
+ }
+ if (env->date) {
+@@ -3868,6 +3882,7 @@
+ ret += _php_rfc822_len(tmp->mailbox);
+ ret += _php_rfc822_len(tmp->host);
+ num_ent++;
++ printf("%d:%s %s %s %s\n",num_ent,tmp->personal,tmp->adl,tmp->mailbox,tmp->host);
+ } while ((tmp = tmp->next));
+
+ /*
+@@ -3883,6 +3898,33 @@
+ /* }}} */
+
+
++/* {{{ _php_rfc822_soutr
++ */
++static long _php_rfc822_soutr (void *stream,char *string)
++{
++ return NIL;
++}
++
++/* }}} */
++
++
++/* {{{ _php_rfc822_write_address_len
++ */
++static void _php_rfc822_write_address_len ( char *dest, ADDRESS *adr, int len)
++{
++ RFC822BUFFER buf;
++ buf.beg = dest;
++ buf.cur = buf.beg;
++ buf.end = buf.beg + len - 1;
++ buf.s = NIL;
++ buf.f = _php_rfc822_soutr;
++ rfc822_output_address_list (&buf, adr, 0, NIL);
++ *buf.cur = '\0';
++}
++
++/* }}} */
++
++
+ /* {{{ _php_imap_parse_address
+ */
+ static void _php_imap_parse_address (ADDRESS *addresslist, char **fulladdress, zval *paddress TSRMLS_DC)
+@@ -3891,13 +3933,15 @@
+ zval *tmpvals;
+ char *tmpstr;
+ int len=0;
+-
++
++
+ addresstmp = addresslist;
+
+ if ((len = _php_imap_address_size(addresstmp))) {
+ tmpstr = (char *) pemalloc(len + 1, 1);
+ tmpstr[0] = '\0';
+- rfc822_write_address(tmpstr, addresstmp);
++
++ _php_rfc822_write_address_len(tmpstr, addresstmp, len);
+ *fulladdress = tmpstr;
+ } else {
+ *fulladdress = NULL;