apache-php4.patch.php 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356
  1. Index: ext/pdf/pdf.c
  2. --- ext/pdf/pdf.c.orig 2004-09-13 19:12:13 +0200
  3. +++ ext/pdf/pdf.c 2005-04-01 07:52:31 +0200
  4. @@ -240,6 +240,16 @@
  5. ZEND_GET_MODULE(pdf)
  6. #endif
  7. +ZEND_BEGIN_MODULE_GLOBALS(pdf)
  8. +FILE *fp;
  9. +ZEND_END_MODULE_GLOBALS(pdf)
  10. +ZEND_DECLARE_MODULE_GLOBALS(pdf)
  11. +#ifdef ZTS
  12. +#define PDF_G(v) TSRMG(pdf_globals_id, zend_pdf_globals *, v)
  13. +#else
  14. +#define PDF_G(v) (pdf_globals.v)
  15. +#endif
  16. +
  17. /* {{{ _free_pdf_doc
  18. */
  19. static void _free_pdf_doc(zend_rsrc_list_entry *rsrc TSRMLS_DC)
  20. @@ -305,6 +315,15 @@
  21. }
  22. /* }}} */
  23. +/* {{{ pdf_flushwrite_fp
  24. + */
  25. +static size_t pdf_flushwrite_fp(PDF *p, void *data, size_t size)
  26. +{
  27. + FILE *fp = PDF_G(fp);
  28. + return fwrite(data, size, 1, fp);
  29. +}
  30. +/* }}} */
  31. +
  32. /* {{{ pdf_flushwrite
  33. */
  34. static size_t pdf_flushwrite(PDF *p, void *data, size_t size)
  35. @@ -339,8 +358,13 @@
  36. /* {{{ PHP_MINIT_FUNCTION
  37. */
  38. +static void php_pdf_init_globals (zend_pdf_globals *g)
  39. +{
  40. + g->fp = NULL;
  41. +}
  42. PHP_MINIT_FUNCTION(pdf)
  43. {
  44. + ZEND_INIT_MODULE_GLOBALS(pdf, php_pdf_init_globals, NULL);
  45. if ((PDF_get_majorversion() != PDFLIB_MAJORVERSION) ||
  46. (PDF_get_minorversion() != PDFLIB_MINORVERSION)) {
  47. php_error(E_ERROR,"PDFlib error: Version mismatch in wrapper code");
  48. @@ -469,9 +493,8 @@
  49. pdf = PDF_new2(custom_errorhandler, pdf_emalloc, pdf_realloc, pdf_efree, NULL);
  50. if(fp) {
  51. - if (PDF_open_fp(pdf, fp) < 0) {
  52. - RETURN_FALSE;
  53. - }
  54. + PDF_G(fp) = fp;
  55. + PDF_begin_document_callback(pdf, pdf_flushwrite_fp, "");
  56. } else {
  57. PDF_open_mem(pdf, pdf_flushwrite);
  58. }
  59. ________________________________________________________________________
  60. Fix build against recent IMAP c-client versions, should be fixed in
  61. upcoming 4.4.5 release
  62. -> http://bugs.php.net/bug.php?id=39401
  63. -> http://cvs.php.net/viewvc.cgi/php-src/ext/imap/php_imap.c?r1=1.142.2.44.2.10&r2=1.142.2.44.2.11
  64. -> http://cvs.php.net/viewvc.cgi/php-src/ext/imap/config.m4?r1=1.49.2.15&r2=1.49.2.15.2.1
  65. Index: ext/imap/php_imap.c
  66. --- ext/imap/php_imap.c.orig Fri Aug 11 17:07:00 2006
  67. +++ ext/imap/php_imap.c Tue Feb 6 15:55:03 2007
  68. @@ -74,7 +74,11 @@
  69. void rfc822_date(char *date);
  70. char *cpystr(const char *str);
  71. char *cpytxt(SIZEDTEXT *dst, char *text, unsigned long size);
  72. +#ifndef HAVE_NEW_MIME2TEXT
  73. long utf8_mime2text(SIZEDTEXT *src, SIZEDTEXT *dst);
  74. +#else
  75. +long utf8_mime2text (SIZEDTEXT *src, SIZEDTEXT *dst, long flags);
  76. +#endif
  77. unsigned long find_rightmost_bit(unsigned long *valptr);
  78. void fs_give(void **block);
  79. void *fs_get(size_t size);
  80. @@ -2064,7 +2068,11 @@
  81. dest.size = 0;
  82. cpytxt(&src, Z_STRVAL_PP(str), Z_STRLEN_PP(str));
  83. +#ifndef HAVE_NEW_MIME2TEXT
  84. utf8_mime2text(&src, &dest);
  85. +#else
  86. + utf8_mime2text(&src, &dest, U8T_CANONICAL);
  87. +#endif
  88. RETURN_STRINGL(dest.data, strlen(dest.data), 1);
  89. }
  90. /* }}} */
  91. Index: ext/imap/config.m4
  92. --- ext/imap/config.m4.orig 2005/01/11 04:56:57 1.49.2.15
  93. +++ ext/imap/config.m4 2007/01/29 10:08:17 1.49.2.15.2.1
  94. @@ -126,6 +126,49 @@
  95. AC_EGREP_HEADER(mail_fetch_overview_sequence, $IMAP_INC_DIR/mail.h, [
  96. AC_DEFINE(HAVE_IMAP2004,1,[ ])
  97. ])
  98. +
  99. + dnl Check for new version of the utf8_mime2text() function
  100. + old_CFLAGS=$CFLAGS
  101. + CFLAGS="-I$IMAP_INC_DIR"
  102. + AC_CACHE_CHECK(for utf8_mime2text signature, ac_cv_utf8_mime2text,
  103. + AC_TRY_COMPILE([
  104. +#include <stdio.h>
  105. +#include <c-client.h>
  106. + ],[
  107. + SIZEDTEXT *src, *dst;
  108. + utf8_mime2text(src, dst);
  109. + ],[
  110. + ac_cv_utf8_mime2text=old
  111. + ],[
  112. + ac_cv_utf8_mime2text=new
  113. + ])
  114. + )
  115. + if test "$ac_cv_utf8_mime2text" = "new"; then
  116. + AC_DEFINE(HAVE_NEW_MIME2TEXT, 1, [Whether utf8_mime2text() has new signature])
  117. + fi
  118. + CFLAGS=$old_CPPFLAGS
  119. +
  120. + old_CFLAGS=$CFLAGS
  121. + CFLAGS="-I$IMAP_INC_DIR"
  122. + AC_CACHE_CHECK(for U8T_CANONICAL, ac_cv_u8t_canonical,
  123. + AC_TRY_COMPILE([
  124. +#include <c-client.h>
  125. + ],[
  126. + int i = U8T_CANONICAL;
  127. + ],[
  128. + ac_cv_u8t_canonical=yes
  129. + ],[
  130. + ac_cv_u8t_canonical=no
  131. + ])
  132. + )
  133. + CFLAGS=$old_CPPFLAGS
  134. +
  135. + if test "$ac_cv_u8t_canonical" = "no" && test "$ac_cv_utf8_mime2text" = "new"; then
  136. + AC_MSG_ERROR([utf8_mime2text() has new signature, but U8T_CANONICAL is missing. This should not happen. Check config.log for additional information.])
  137. + fi
  138. + if test "$ac_cv_u8t_canonical" = "yes" && test "$ac_cv_utf8_mime2text" = "old"; then
  139. + AC_MSG_ERROR([utf8_mime2text() has old signature, but U8T_CANONICAL is present. This should not happen. Check config.log for additional information.])
  140. + fi
  141. dnl Check for c-client version 2001
  142. old_CPPFLAGS=$CPPFLAGS
  143. Index: configure
  144. --- configure.orig Tue Aug 15 14:01:18 2006
  145. +++ configure Tue Feb 6 15:34:40 2007
  146. @@ -58193,6 +58193,158 @@
  147. rm -f conftest*
  148. + old_CFLAGS=$CFLAGS
  149. + CFLAGS="-I$IMAP_INC_DIR"
  150. + echo "$as_me:$LINENO: checking for utf8_mime2text signature" >&5
  151. +echo $ECHO_N "checking for utf8_mime2text signature... $ECHO_C" >&6
  152. +if test "${ac_cv_utf8_mime2text+set}" = set; then
  153. + echo $ECHO_N "(cached) $ECHO_C" >&6
  154. +else
  155. + cat >conftest.$ac_ext <<_ACEOF
  156. +/* confdefs.h. */
  157. +_ACEOF
  158. +cat confdefs.h >>conftest.$ac_ext
  159. +cat >>conftest.$ac_ext <<_ACEOF
  160. +/* end confdefs.h. */
  161. +
  162. +#include <stdio.h>
  163. +#include <c-client.h>
  164. +
  165. +int
  166. +main ()
  167. +{
  168. +
  169. + SIZEDTEXT *src, *dst;
  170. + utf8_mime2text(src, dst);
  171. +
  172. + ;
  173. + return 0;
  174. +}
  175. +_ACEOF
  176. +rm -f conftest.$ac_objext
  177. +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
  178. + (eval $ac_compile) 2>conftest.er1
  179. + ac_status=$?
  180. + grep -v '^ *+' conftest.er1 >conftest.err
  181. + rm -f conftest.er1
  182. + cat conftest.err >&5
  183. + echo "$as_me:$LINENO: \$? = $ac_status" >&5
  184. + (exit $ac_status); } &&
  185. + { ac_try='test -z "$ac_c_werror_flag"
  186. + || test ! -s conftest.err'
  187. + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
  188. + (eval $ac_try) 2>&5
  189. + ac_status=$?
  190. + echo "$as_me:$LINENO: \$? = $ac_status" >&5
  191. + (exit $ac_status); }; } &&
  192. + { ac_try='test -s conftest.$ac_objext'
  193. + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
  194. + (eval $ac_try) 2>&5
  195. + ac_status=$?
  196. + echo "$as_me:$LINENO: \$? = $ac_status" >&5
  197. + (exit $ac_status); }; }; then
  198. +
  199. + ac_cv_utf8_mime2text=old
  200. +
  201. +else
  202. + echo "$as_me: failed program was:" >&5
  203. +sed 's/^/| /' conftest.$ac_ext >&5
  204. +
  205. +
  206. + ac_cv_utf8_mime2text=new
  207. +
  208. +fi
  209. +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
  210. +
  211. +fi
  212. +echo "$as_me:$LINENO: result: $ac_cv_utf8_mime2text" >&5
  213. +echo "${ECHO_T}$ac_cv_utf8_mime2text" >&6
  214. + if test "$ac_cv_utf8_mime2text" = "new"; then
  215. +
  216. +cat >>confdefs.h <<\_ACEOF
  217. +#define HAVE_NEW_MIME2TEXT 1
  218. +_ACEOF
  219. +
  220. + fi
  221. + CFLAGS=$old_CPPFLAGS
  222. +
  223. + old_CFLAGS=$CFLAGS
  224. + CFLAGS="-I$IMAP_INC_DIR"
  225. + echo "$as_me:$LINENO: checking for U8T_CANONICAL" >&5
  226. +echo $ECHO_N "checking for U8T_CANONICAL... $ECHO_C" >&6
  227. +if test "${ac_cv_u8t_canonical+set}" = set; then
  228. + echo $ECHO_N "(cached) $ECHO_C" >&6
  229. +else
  230. + cat >conftest.$ac_ext <<_ACEOF
  231. +/* confdefs.h. */
  232. +_ACEOF
  233. +cat confdefs.h >>conftest.$ac_ext
  234. +cat >>conftest.$ac_ext <<_ACEOF
  235. +/* end confdefs.h. */
  236. +
  237. +#include <c-client.h>
  238. +
  239. +int
  240. +main ()
  241. +{
  242. +
  243. + int i = U8T_CANONICAL;
  244. +
  245. + ;
  246. + return 0;
  247. +}
  248. +_ACEOF
  249. +rm -f conftest.$ac_objext
  250. +if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
  251. + (eval $ac_compile) 2>conftest.er1
  252. + ac_status=$?
  253. + grep -v '^ *+' conftest.er1 >conftest.err
  254. + rm -f conftest.er1
  255. + cat conftest.err >&5
  256. + echo "$as_me:$LINENO: \$? = $ac_status" >&5
  257. + (exit $ac_status); } &&
  258. + { ac_try='test -z "$ac_c_werror_flag"
  259. + || test ! -s conftest.err'
  260. + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
  261. + (eval $ac_try) 2>&5
  262. + ac_status=$?
  263. + echo "$as_me:$LINENO: \$? = $ac_status" >&5
  264. + (exit $ac_status); }; } &&
  265. + { ac_try='test -s conftest.$ac_objext'
  266. + { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
  267. + (eval $ac_try) 2>&5
  268. + ac_status=$?
  269. + echo "$as_me:$LINENO: \$? = $ac_status" >&5
  270. + (exit $ac_status); }; }; then
  271. +
  272. + ac_cv_u8t_canonical=yes
  273. +
  274. +else
  275. + echo "$as_me: failed program was:" >&5
  276. +sed 's/^/| /' conftest.$ac_ext >&5
  277. +
  278. +
  279. + ac_cv_u8t_canonical=no
  280. +
  281. +fi
  282. +rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
  283. +
  284. +fi
  285. +echo "$as_me:$LINENO: result: $ac_cv_u8t_canonical" >&5
  286. +echo "${ECHO_T}$ac_cv_u8t_canonical" >&6
  287. + CFLAGS=$old_CPPFLAGS
  288. +
  289. + if test "$ac_cv_u8t_canonical" = "no" && test "$ac_cv_utf8_mime2text" = "new"; then
  290. + { { echo "$as_me:$LINENO: error: utf8_mime2text() has new signature, but U8T_CANONICAL is missing. This should not happen. Check config.log for additional information." >&5
  291. +echo "$as_me: error: utf8_mime2text() has new signature, but U8T_CANONICAL is missing. This should not happen. Check config.log for additional information." >&2;}
  292. + { (exit 1); exit 1; }; }
  293. + fi
  294. + if test "$ac_cv_u8t_canonical" = "yes" && test "$ac_cv_utf8_mime2text" = "old"; then
  295. + { { echo "$as_me:$LINENO: error: utf8_mime2text() has old signature, but U8T_CANONICAL is present. This should not happen. Check config.log for additional information." >&5
  296. +echo "$as_me: error: utf8_mime2text() has old signature, but U8T_CANONICAL is present. This should not happen. Check config.log for additional information." >&2;}
  297. + { (exit 1); exit 1; }; }
  298. + fi
  299. +
  300. old_CPPFLAGS=$CPPFLAGS
  301. CPPFLAGS=-I$IMAP_INC_DIR
  302. cat >conftest.$ac_ext <<_ACEOF
  303. Index: main/php_config.h.in
  304. --- main/php_config.h.in.orig Tue Aug 15 14:01:21 2006
  305. +++ main/php_config.h.in Tue Feb 6 17:02:00 2007
  306. @@ -1748,6 +1748,9 @@
  307. /* */
  308. #undef HAVE_IMAP2001
  309. +/* Whether utf8_mime2text() has new signature */
  310. +#undef HAVE_NEW_MIME2TEXT
  311. +
  312. /* */
  313. #undef HAVE_LIBPAM
  314. ________________________________________________________________________
  315. Allow building against cURL 7.16.0 and higher
  316. -> http://cvs.php.net/viewvc.cgi/php-src/ext/curl/curl.c?hideattic=0&r1=1.124.2.30.2.13&r2=1.124.2.30.2.14
  317. Index: ext/curl/curl.c
  318. --- ext/curl/curl.c.orig Thu Aug 10 19:27:11 2006
  319. +++ ext/curl/curl.c Tue Feb 6 17:28:02 2007
  320. @@ -258,7 +258,9 @@
  321. REGISTER_CURL_CONSTANT(CURLOPT_FTPAPPEND);
  322. REGISTER_CURL_CONSTANT(CURLOPT_NETRC);
  323. REGISTER_CURL_CONSTANT(CURLOPT_FOLLOWLOCATION);
  324. +#if CURLOPT_FTPASCII != 0
  325. REGISTER_CURL_CONSTANT(CURLOPT_FTPASCII);
  326. +#endif
  327. REGISTER_CURL_CONSTANT(CURLOPT_PUT);
  328. #if CURLOPT_MUTE != 0
  329. REGISTER_CURL_CONSTANT(CURLOPT_MUTE);
  330. @@ -296,7 +298,9 @@
  331. REGISTER_CURL_CONSTANT(CURLOPT_FILETIME);
  332. REGISTER_CURL_CONSTANT(CURLOPT_WRITEFUNCTION);
  333. REGISTER_CURL_CONSTANT(CURLOPT_READFUNCTION);
  334. +#if CURLOPT_PASSWDFUNCTION != 0
  335. REGISTER_CURL_CONSTANT(CURLOPT_PASSWDFUNCTION);
  336. +#endif
  337. REGISTER_CURL_CONSTANT(CURLOPT_HEADERFUNCTION);
  338. REGISTER_CURL_CONSTANT(CURLOPT_MAXREDIRS);
  339. REGISTER_CURL_CONSTANT(CURLOPT_MAXCONNECTS);