cvs: php4(PHP_4_3) /ext/cpdf cpdf.c /ext/pdf pdf.c
| From: | Ilia Alshanetsky | Date: | Wed, 21 May 2003 00:57:43 +0000 |
| Subject: | cvs: php4(PHP_4_3) /ext/cpdf cpdf.c /ext/pdf pdf.c | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-21162@lists.php.net to get a copy of this message | ||
iliaa Tue May 20 20:57:43 2003 EDT
Modified files: (Branch: PHP_4_3)
/php4/ext/cpdf cpdf.c
/php4/ext/pdf pdf.c
Log:
MFH
Index: php4/ext/cpdf/cpdf.c
diff -u php4/ext/cpdf/cpdf.c:1.43.4.2 php4/ext/cpdf/cpdf.c:1.43.4.3
--- php4/ext/cpdf/cpdf.c:1.43.4.2 Tue Jan 14 19:52:19 2003
+++ php4/ext/cpdf/cpdf.c Tue May 20 20:57:42 2003
@@ -16,7 +16,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: cpdf.c,v 1.43.4.2 2003/01/15 00:52:19 iliaa Exp $ */
+/* $Id: cpdf.c,v 1.43.4.3 2003/05/21 00:57:42 iliaa Exp $ */
/* cpdflib.h -- C language API definitions for ClibPDF library
* Copyright (C) 1998 FastIO Systems, All Rights Reserved.
*/
@@ -475,6 +475,10 @@
if(strcmp(Z_STRVAL_P(arg2), "-") == 0)
php_error(E_WARNING, "%s(): Writing to stdout as described in the ClibPDF manual is not
possible if php is used as an Apache module. Write to a memory stream and use cpdf_output_buffer()
instead.", get_active_function_name(TSRMLS_C));
#endif
+ if (php_check_open_basedir(Z_STRVAL_P(arg2) TSRMLS_CC) || (PG(safe_mode) &&
!php_checkuid(Z_STRVAL_P(arg2), "rb+", CHECKUID_CHECK_MODE_PARAM))) {
+ RETURN_FALSE;
+ }
+
cpdf_setOutputFilename(cpdf, Z_STRVAL_P(arg2));
}
cpdf_init(cpdf);
@@ -928,6 +932,10 @@
RETURN_FALSE;
}
+ if (php_check_open_basedir(Z_STRVAL_P(arg2) TSRMLS_CC) || (PG(safe_mode) &&
!php_checkuid(Z_STRVAL_P(arg2), "rb+", CHECKUID_CHECK_MODE_PARAM))) {
+ RETURN_FALSE;
+ }
+
cpdf_setFontMapFile(pdf, Z_STRVAL_P(arg2));
RETURN_TRUE;
@@ -2378,6 +2386,10 @@
php_error(E_WARNING, "%s(): Writing to stdout as described in the ClibPDF manual is not
possible if php is used as an Apache module. Use cpdf_output_buffer() instead.",
get_active_function_name(TSRMLS_C));
#endif
+ if (php_check_open_basedir(Z_STRVAL_P(arg2) TSRMLS_CC) || (PG(safe_mode) &&
!php_checkuid(Z_STRVAL_P(arg2), "wb+", CHECKUID_CHECK_MODE_PARAM))) {
+ RETURN_FALSE;
+ }
+
cpdf_savePDFmemoryStreamToFile(pdf, Z_STRVAL_P(arg2));
RETURN_TRUE;
@@ -2401,6 +2413,11 @@
convert_to_long(argv[0]);
convert_to_string(argv[1]);
+
+ if (php_check_open_basedir(Z_STRVAL_P(argv[1]) TSRMLS_CC) || (PG(safe_mode) &&
!php_checkuid(Z_STRVAL_P(argv[1]), "rb+", CHECKUID_CHECK_MODE_PARAM))) {
+ RETURN_FALSE;
+ }
+
convert_to_double(argv[2]);
convert_to_double(argv[3]);
convert_to_double(argv[4]);
Index: php4/ext/pdf/pdf.c
diff -u php4/ext/pdf/pdf.c:1.112.2.6 php4/ext/pdf/pdf.c:1.112.2.7
--- php4/ext/pdf/pdf.c:1.112.2.6 Mon May 19 20:37:12 2003
+++ php4/ext/pdf/pdf.c Tue May 20 20:57:43 2003
@@ -17,7 +17,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: pdf.c,v 1.112.2.6 2003/05/20 00:37:12 iliaa Exp $ */
+/* $Id: pdf.c,v 1.112.2.7 2003/05/21 00:57:43 iliaa Exp $ */
/* pdflib 2.02 ... 3.0x is subject to the ALADDIN FREE PUBLIC LICENSE.
Copyright (C) 1997-1999 Thomas Merz. 2000-2001 PDFlib GmbH */
@@ -331,7 +331,7 @@
#else
php_info_print_table_row(2, "PDFlib GmbH Version", tmp );
#endif
- php_info_print_table_row(2, "Revision", "$Revision: 1.112.2.6 $" );
+ php_info_print_table_row(2, "Revision", "$Revision: 1.112.2.7 $" );
php_info_print_table_end();
}
@@ -2335,6 +2335,11 @@
if (argc == 2) {
convert_to_string_ex(arg2);
filename = Z_STRVAL_PP(arg2);
+
+ if (php_check_open_basedir(filename TSRMLS_CC) || (PG(safe_mode) &&
!php_checkuid(filename, "wb+", CHECKUID_CHECK_MODE_PARAM))) {
+ RETURN_FALSE;
+ }
+
pdf_file = PDF_open_file(pdf, filename);
} else {
/* open in memory */