[PHP-CVS] cvs: php-src /ext/posix posix.c

2009-06-23 Thread Gwynne Raskind
gwynne  Tue Jun 23 21:11:12 2009 UTC

  Modified files:  
/php-src/ext/posix  posix.c 
  Log:
  add S_IRWXU and friends as defined POSIX constants
  
http://cvs.php.net/viewvc.cgi/php-src/ext/posix/posix.c?r1=1.109r2=1.110diff_format=u
Index: php-src/ext/posix/posix.c
diff -u php-src/ext/posix/posix.c:1.109 php-src/ext/posix/posix.c:1.110
--- php-src/ext/posix/posix.c:1.109 Sat Jun  6 02:40:14 2009
+++ php-src/ext/posix/posix.c   Tue Jun 23 21:11:12 2009
@@ -16,7 +16,7 @@
+--+
  */
 
-/* $Id: posix.c,v 1.109 2009/06/06 02:40:14 mattwil Exp $ */
+/* $Id: posix.c,v 1.110 2009/06/23 21:11:12 gwynne Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -310,7 +310,7 @@
 static PHP_MINFO_FUNCTION(posix)
 {
php_info_print_table_start();
-   php_info_print_table_row(2, Revision, $Revision: 1.109 $);
+   php_info_print_table_row(2, Revision, $Revision: 1.110 $);
php_info_print_table_end();
 }
 /* }}} */
@@ -332,6 +332,12 @@
 #ifdef S_IFREG
REGISTER_LONG_CONSTANT(POSIX_S_IFREG, S_IFREG, CONST_CS | 
CONST_PERSISTENT);
 #endif
+#ifdef S_IFDIR
+   REGISTER_LONG_CONSTANT(POSIX_S_IFDIR, S_IFDIR, CONST_CS | 
CONST_PERSISTENT);
+#endif
+#ifdef S_IFLNK
+   REGISTER_LONG_CONSTANT(POSIX_S_IFLNK, S_IFLNK, CONST_CS | 
CONST_PERSISTENT);
+#endif
 #ifdef S_IFCHR
REGISTER_LONG_CONSTANT(POSIX_S_IFCHR, S_IFCHR, CONST_CS | 
CONST_PERSISTENT);
 #endif
@@ -344,7 +350,35 @@
 #ifdef S_IFSOCK
REGISTER_LONG_CONSTANT(POSIX_S_IFSOCK, S_IFSOCK, CONST_CS | 
CONST_PERSISTENT);
 #endif
-
+#ifdef S_IFWHT
+   REGISTER_LONG_CONSTANT(POSIX_S_IFWHT, S_IFWHT, CONST_CS | 
CONST_PERSISTENT);
+#endif
+#ifdef S_IRWXU
+   REGISTER_LONG_CONSTANT(POSIX_S_IRWXU, S_IRWXU, CONST_CS | 
CONST_PERSISTENT);
+   REGISTER_LONG_CONSTANT(POSIX_S_IRUSR, S_IRUSR, CONST_CS | 
CONST_PERSISTENT);
+   REGISTER_LONG_CONSTANT(POSIX_S_IWUSR, S_IWUSR, CONST_CS | 
CONST_PERSISTENT);
+   REGISTER_LONG_CONSTANT(POSIX_S_IXUSR, S_IXUSR, CONST_CS | 
CONST_PERSISTENT);
+   REGISTER_LONG_CONSTANT(POSIX_S_IRWXG, S_IRWXG, CONST_CS | 
CONST_PERSISTENT);
+   REGISTER_LONG_CONSTANT(POSIX_S_IRGRP, S_IRGRP, CONST_CS | 
CONST_PERSISTENT);
+   REGISTER_LONG_CONSTANT(POSIX_S_IWGRP, S_IWGRP, CONST_CS | 
CONST_PERSISTENT);
+   REGISTER_LONG_CONSTANT(POSIX_S_IXGRP, S_IXGRP, CONST_CS | 
CONST_PERSISTENT);
+   REGISTER_LONG_CONSTANT(POSIX_S_IRWXO, S_IRWXO, CONST_CS | 
CONST_PERSISTENT);
+   REGISTER_LONG_CONSTANT(POSIX_S_IROTH, S_IROTH, CONST_CS | 
CONST_PERSISTENT);
+   REGISTER_LONG_CONSTANT(POSIX_S_IWOTH, S_IWOTH, CONST_CS | 
CONST_PERSISTENT);
+   REGISTER_LONG_CONSTANT(POSIX_S_IXOTH, S_IXOTH, CONST_CS | 
CONST_PERSISTENT);
+#endif
+#ifdef S_ISUID
+   REGISTER_LONG_CONSTANT(POSIX_S_ISUID, S_ISUID, CONST_CS | 
CONST_PERSISTENT);
+#endif
+#ifdef S_ISGID
+   REGISTER_LONG_CONSTANT(POSIX_S_ISGID, S_ISGID, CONST_CS | 
CONST_PERSISTENT);
+#endif
+#ifdef S_ISVTX
+   REGISTER_LONG_CONSTANT(POSIX_S_ISVTX, S_ISVTX, CONST_CS | 
CONST_PERSISTENT);
+#endif
+#ifdef S_ISTXT
+   REGISTER_LONG_CONSTANT(POSIX_S_ISTXT, S_ISTXT, CONST_CS | 
CONST_PERSISTENT);
+#endif
return SUCCESS;
 }
 /* }}} */



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



[PHP-CVS] cvs: php-src /ext/posix posix.c

2008-06-23 Thread Felipe Pena
felipe  Mon Jun 23 17:54:14 2008 UTC

  Modified files:  
/php-src/ext/posix  posix.c 
  Log:
  - MFB: Added arginfo
  
  http://cvs.php.net/viewvc.cgi/php-src/ext/posix/posix.c?r1=1.101r2=1.102diff_format=u
Index: php-src/ext/posix/posix.c
diff -u php-src/ext/posix/posix.c:1.101 php-src/ext/posix/posix.c:1.102
--- php-src/ext/posix/posix.c:1.101 Mon Jun 23 01:16:49 2008
+++ php-src/ext/posix/posix.c   Mon Jun 23 17:54:14 2008
@@ -16,7 +16,7 @@
+--+
  */
 
-/* $Id: posix.c,v 1.101 2008/06/23 01:16:49 felipe Exp $ */
+/* $Id: posix.c,v 1.102 2008/06/23 17:54:14 felipe Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -56,91 +56,284 @@
 ZEND_DECLARE_MODULE_GLOBALS(posix)
 static PHP_MINFO_FUNCTION(posix);
 
+/* {{{ arginfo */
+static
+ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_kill, 0, 0, 2)
+   ZEND_ARG_INFO(0, pid)
+   ZEND_ARG_INFO(0, sig)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO(arginfo_posix_getpid, 0)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO(arginfo_posix_getppid, 0)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO(arginfo_posix_getuid, 0)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_setuid, 0, 0, 1)
+   ZEND_ARG_INFO(0, uid)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO(arginfo_posix_geteuid, 0)
+ZEND_END_ARG_INFO()
+
+#ifdef HAVE_SETEUID
+static
+ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_seteuid, 0, 0, 1)
+   ZEND_ARG_INFO(0, uid)
+ZEND_END_ARG_INFO()
+#endif
+
+static
+ZEND_BEGIN_ARG_INFO(arginfo_posix_getgid, 0)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_setgid, 0, 0, 1)
+   ZEND_ARG_INFO(0, gid)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO(arginfo_posix_getegid, 0)
+ZEND_END_ARG_INFO()
+
+#ifdef HAVE_SETEGID
+static
+ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_setegid, 0, 0, 1)
+   ZEND_ARG_INFO(0, gid)
+ZEND_END_ARG_INFO()
+#endif
+
+#ifdef HAVE_GETGROUPS
+static
+ZEND_BEGIN_ARG_INFO(arginfo_posix_getgroups, 0)
+ZEND_END_ARG_INFO()
+#endif
+
+#ifdef HAVE_GETLOGIN
+static
+ZEND_BEGIN_ARG_INFO(arginfo_posix_getlogin, 0)
+ZEND_END_ARG_INFO()
+#endif
+
+static
+ZEND_BEGIN_ARG_INFO(arginfo_posix_getpgrp, 0)
+ZEND_END_ARG_INFO()
+
+#ifdef HAVE_SETSID
+static
+ZEND_BEGIN_ARG_INFO(arginfo_posix_setsid, 0)
+ZEND_END_ARG_INFO()
+#endif
+
+static
+ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_setpgid, 0, 0, 2)
+   ZEND_ARG_INFO(0, pid)
+   ZEND_ARG_INFO(0, pgid)
+ZEND_END_ARG_INFO()
+
+#ifdef HAVE_GETPGID
+static
+ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_getpgid, 0, 0, 1)
+   ZEND_ARG_INFO(0, pid)
+ZEND_END_ARG_INFO()
+#endif
+
+#ifdef HAVE_GETSID
+static
+ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_getsid, 0, 0, 1)
+   ZEND_ARG_INFO(0, pid)
+ZEND_END_ARG_INFO()
+#endif
+
+static
+ZEND_BEGIN_ARG_INFO(arginfo_posix_uname, 0)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO(arginfo_posix_times, 0)
+ZEND_END_ARG_INFO()
+
+#ifdef HAVE_CTERMID
+static
+ZEND_BEGIN_ARG_INFO(arginfo_posix_ctermid, 0)
+ZEND_END_ARG_INFO()
+#endif
+
+static
+ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_ttyname, 0, 0, 1)
+   ZEND_ARG_INFO(0, fd)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_isatty, 0, 0, 1)
+   ZEND_ARG_INFO(0, fd)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO(arginfo_posix_getcwd, 0)
+ZEND_END_ARG_INFO()
+
+#ifdef HAVE_MKFIFO
+static
+ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_mkfifo, 0, 0, 2)
+   ZEND_ARG_INFO(0, pathname)
+   ZEND_ARG_INFO(0, mode)
+ZEND_END_ARG_INFO()
+#endif
+
+#ifdef HAVE_MKNOD
+static
+ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_mknod, 0, 0, 2)
+   ZEND_ARG_INFO(0, pathname)
+   ZEND_ARG_INFO(0, mode)
+   ZEND_ARG_INFO(0, major)
+   ZEND_ARG_INFO(0, minor)
+ZEND_END_ARG_INFO()
+#endif
+
+static
+ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_access, 0, 0, 1)
+   ZEND_ARG_INFO(0, file)
+   ZEND_ARG_INFO(0, mode)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_getgrnam, 0, 0, 1)
+   ZEND_ARG_INFO(0, name)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_getgrgid, 0, 0, 1)
+   ZEND_ARG_INFO(0, gid)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_getpwnam, 0, 0, 1)
+   ZEND_ARG_INFO(0, username)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_getpwuid, 0, 0, 1)
+   ZEND_ARG_INFO(0, uid)
+ZEND_END_ARG_INFO()
+
+#ifdef HAVE_GETRLIMIT
+static
+ZEND_BEGIN_ARG_INFO(arginfo_posix_getrlimit, 0)
+ZEND_END_ARG_INFO()
+#endif
+
+static
+ZEND_BEGIN_ARG_INFO(arginfo_posix_get_last_error, 0)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_strerror, 0, 0, 1)
+   ZEND_ARG_INFO(0, errno)
+ZEND_END_ARG_INFO()
+
+#ifdef HAVE_INITGROUPS
+static
+ZEND_BEGIN_ARG_INFO_EX(arginfo_posix_initgroups, 0, 0, 2)
+   ZEND_ARG_INFO(0, name)
+   ZEND_ARG_INFO(0, base_group_id)
+ZEND_END_ARG_INFO()
+#endif
+/* }}} */
+
 /* {{{ posix_functions[]
  */
 const 

[PHP-CVS] cvs: php-src /ext/posix posix.c

2008-06-22 Thread Felipe Pena
felipe  Mon Jun 23 01:16:49 2008 UTC

  Modified files:  
/php-src/ext/posix  posix.c 
  Log:
  - MFB: Fix build where __USE_GNU is used instead of _GNU_SOURCE to define 
utsname.domainname
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/posix/posix.c?r1=1.100r2=1.101diff_format=u
Index: php-src/ext/posix/posix.c
diff -u php-src/ext/posix/posix.c:1.100 php-src/ext/posix/posix.c:1.101
--- php-src/ext/posix/posix.c:1.100 Mon May  5 21:28:47 2008
+++ php-src/ext/posix/posix.c   Mon Jun 23 01:16:49 2008
@@ -16,7 +16,7 @@
+--+
  */
 
-/* $Id: posix.c,v 1.100 2008/05/05 21:28:47 rasmus Exp $ */
+/* $Id: posix.c,v 1.101 2008/06/23 01:16:49 felipe Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -36,6 +36,11 @@
 #endif
 
 #include sys/resource.h
+
+#if defined(_GNU_SOURCE)  !defined(__USE_GNU)
+# define __USE_GNU
+#endif
+
 #include sys/utsname.h
 #include sys/types.h
 #include sys/stat.h
@@ -147,7 +152,7 @@
 static PHP_MINFO_FUNCTION(posix)
 {
php_info_print_table_start();
-   php_info_print_table_row(2, Revision, $Revision: 1.100 $);
+   php_info_print_table_row(2, Revision, $Revision: 1.101 $);
php_info_print_table_end();
 }
 /* }}} */



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



[PHP-CVS] cvs: php-src /ext/posix posix.c

2008-05-05 Thread Rasmus Lerdorf
rasmus  Mon May  5 21:28:47 2008 UTC

  Modified files:  
/php-src/ext/posix  posix.c 
  Log:
  No domainname element in utsname on OSX
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/posix/posix.c?r1=1.99r2=1.100diff_format=u
Index: php-src/ext/posix/posix.c
diff -u php-src/ext/posix/posix.c:1.99 php-src/ext/posix/posix.c:1.100
--- php-src/ext/posix/posix.c:1.99  Sun May  4 09:33:56 2008
+++ php-src/ext/posix/posix.c   Mon May  5 21:28:47 2008
@@ -16,7 +16,7 @@
+--+
  */
 
-/* $Id: posix.c,v 1.99 2008/05/04 09:33:56 tony2001 Exp $ */
+/* $Id: posix.c,v 1.100 2008/05/05 21:28:47 rasmus Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -147,7 +147,7 @@
 static PHP_MINFO_FUNCTION(posix)
 {
php_info_print_table_start();
-   php_info_print_table_row(2, Revision, $Revision: 1.99 $);
+   php_info_print_table_row(2, Revision, $Revision: 1.100 $);
php_info_print_table_end();
 }
 /* }}} */
@@ -468,7 +468,7 @@
add_assoc_string(return_value, release,  u.release,  1);
add_assoc_string(return_value, version,  u.version,  1);
add_assoc_string(return_value, machine,  u.machine,  1);
-#ifdef _GNU_SOURCE
+#if defined(_GNU_SOURCE)  !defined(DARWIN)
add_assoc_string(return_value, domainname, u.domainname, 1);
 #endif
 }



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



[PHP-CVS] cvs: php-src /ext/posix posix.c

2008-05-04 Thread Antony Dovgal
tony2001Sun May  4 09:33:57 2008 UTC

  Modified files:  
/php-src/ext/posix  posix.c 
  Log:
  fix folding
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/posix/posix.c?r1=1.98r2=1.99diff_format=u
Index: php-src/ext/posix/posix.c
diff -u php-src/ext/posix/posix.c:1.98 php-src/ext/posix/posix.c:1.99
--- php-src/ext/posix/posix.c:1.98  Fri Apr 11 10:59:50 2008
+++ php-src/ext/posix/posix.c   Sun May  4 09:33:56 2008
@@ -16,7 +16,7 @@
+--+
  */
 
-/* $Id: posix.c,v 1.98 2008/04/11 10:59:50 tony2001 Exp $ */
+/* $Id: posix.c,v 1.99 2008/05/04 09:33:56 tony2001 Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -147,15 +147,16 @@
 static PHP_MINFO_FUNCTION(posix)
 {
php_info_print_table_start();
-   php_info_print_table_row(2, Revision, $Revision: 1.98 $);
+   php_info_print_table_row(2, Revision, $Revision: 1.99 $);
php_info_print_table_end();
 }
 /* }}} */
 
-static PHP_GINIT_FUNCTION(posix)
+static PHP_GINIT_FUNCTION(posix) /* {{{ */
 {
posix_globals-last_error = 0;
 }
+/* }}} */
 
 /* {{{ PHP_MINIT_FUNCTION(posix)
  */



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



[PHP-CVS] cvs: php-src /ext/posix posix.c

2008-04-11 Thread Antony Dovgal
tony2001Fri Apr 11 10:59:50 2008 UTC

  Modified files:  
/php-src/ext/posix  posix.c 
  Log:
  fix 2 segfaults in ZTS mode
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/posix/posix.c?r1=1.97r2=1.98diff_format=u
Index: php-src/ext/posix/posix.c
diff -u php-src/ext/posix/posix.c:1.97 php-src/ext/posix/posix.c:1.98
--- php-src/ext/posix/posix.c:1.97  Tue Mar  4 23:39:15 2008
+++ php-src/ext/posix/posix.c   Fri Apr 11 10:59:50 2008
@@ -16,7 +16,7 @@
+--+
  */
 
-/* $Id: posix.c,v 1.97 2008/03/04 23:39:15 felipe Exp $ */
+/* $Id: posix.c,v 1.98 2008/04/11 10:59:50 tony2001 Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -147,7 +147,7 @@
 static PHP_MINFO_FUNCTION(posix)
 {
php_info_print_table_start();
-   php_info_print_table_row(2, Revision, $Revision: 1.97 $);
+   php_info_print_table_row(2, Revision, $Revision: 1.98 $);
php_info_print_table_end();
 }
 /* }}} */
@@ -873,7 +873,7 @@
 #if defined(ZTS)  defined(HAVE_GETGRGID_R)  defined(_SC_GETGR_R_SIZE_MAX)
int ret;
struct group _g;
-   struct group *retgrptr;
+   struct group *retgrptr = NULL;
long grbuflen;
char *grbuf;
 #endif
@@ -892,7 +892,7 @@
grbuf = emalloc(grbuflen);
 
ret = getgrgid_r(gid, _g, grbuf, grbuflen, retgrptr);
-   if (ret) {
+   if (ret || retgrptr == NULL) {
POSIX_G(last_error) = ret;
efree(grbuf);
RETURN_FALSE;
@@ -1009,7 +1009,7 @@
pwbuf = emalloc(pwbuflen);
 
ret = getpwuid_r(uid, _pw, pwbuf, pwbuflen, retpwptr);
-   if (ret) {
+   if (ret || retpwptr == NULL) {
POSIX_G(last_error) = ret;
efree(pwbuf);
RETURN_FALSE;



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



[PHP-CVS] cvs: php-src /ext/posix posix.c

2007-07-25 Thread Hannes Magnusson
bjori   Wed Jul 25 09:05:55 2007 UTC

  Modified files:  
/php-src/ext/posix  posix.c 
  Log:
  Show wrong parameter count error messages
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/posix/posix.c?r1=1.93r2=1.94diff_format=u
Index: php-src/ext/posix/posix.c
diff -u php-src/ext/posix/posix.c:1.93 php-src/ext/posix/posix.c:1.94
--- php-src/ext/posix/posix.c:1.93  Thu Feb 22 23:40:25 2007
+++ php-src/ext/posix/posix.c   Wed Jul 25 09:05:55 2007
@@ -16,7 +16,7 @@
+--+
  */
 
-/* $Id: posix.c,v 1.93 2007/02/22 23:40:25 tony2001 Exp $ */
+/* $Id: posix.c,v 1.94 2007/07/25 09:05:55 bjori Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -147,7 +147,7 @@
 static PHP_MINFO_FUNCTION(posix)
 {
php_info_print_table_start();
-   php_info_print_table_row(2, Revision, $Revision: 1.93 $);
+   php_info_print_table_row(2, Revision, $Revision: 1.94 $);
php_info_print_table_end();
 }
 /* }}} */
@@ -209,7 +209,7 @@
 ZEND_GET_MODULE(posix)
 #endif
 
-#define PHP_POSIX_NO_ARGS  if (ZEND_NUM_ARGS()) return;
+#define PHP_POSIX_NO_ARGS  if (ZEND_NUM_ARGS()) WRONG_PARAM_COUNT;
 
 #define PHP_POSIX_RETURN_LONG_FUNC(func_name)  \
PHP_POSIX_NO_ARGS   \

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



[PHP-CVS] cvs: php-src /ext/posix posix.c

2007-02-22 Thread Antony Dovgal
tony2001Thu Feb 22 23:40:26 2007 UTC

  Modified files:  
/php-src/ext/posix  posix.c 
  Log:
  check for buflen (on FreeBSD _SC_GETGR_R_SIZE_MAX is not implemented)
  patch by stas at FreeBSD dot org
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/posix/posix.c?r1=1.92r2=1.93diff_format=u
Index: php-src/ext/posix/posix.c
diff -u php-src/ext/posix/posix.c:1.92 php-src/ext/posix/posix.c:1.93
--- php-src/ext/posix/posix.c:1.92  Sat Feb 10 00:50:29 2007
+++ php-src/ext/posix/posix.c   Thu Feb 22 23:40:25 2007
@@ -16,7 +16,7 @@
+--+
  */
 
-/* $Id: posix.c,v 1.92 2007/02/10 00:50:29 tony2001 Exp $ */
+/* $Id: posix.c,v 1.93 2007/02/22 23:40:25 tony2001 Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -147,7 +147,7 @@
 static PHP_MINFO_FUNCTION(posix)
 {
php_info_print_table_start();
-   php_info_print_table_row(2, Revision, $Revision: 1.92 $);
+   php_info_print_table_row(2, Revision, $Revision: 1.93 $);
php_info_print_table_end();
 }
 /* }}} */
@@ -885,6 +885,10 @@
 #if defined(ZTS)  defined(HAVE_GETGRGID_R)  defined(_SC_GETGR_R_SIZE_MAX)

grbuflen = sysconf(_SC_GETGR_R_SIZE_MAX);
+   if (grbuflen  1) {
+   RETURN_FALSE;
+   }
+   
grbuf = emalloc(grbuflen);
 
ret = getgrgid_r(gid, _g, grbuf, grbuflen, retgrptr);

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



[PHP-CVS] cvs: php-src /ext/posix posix.c

2007-02-09 Thread Antony Dovgal
tony2001Fri Feb  9 10:15:03 2007 UTC

  Modified files:  
/php-src/ext/posix  posix.c 
  Log:
  fix #40410 (ext/posix does not compile on MacOS 10.3.9)
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/posix/posix.c?r1=1.90r2=1.91diff_format=u
Index: php-src/ext/posix/posix.c
diff -u php-src/ext/posix/posix.c:1.90 php-src/ext/posix/posix.c:1.91
--- php-src/ext/posix/posix.c:1.90  Fri Jan 12 01:50:43 2007
+++ php-src/ext/posix/posix.c   Fri Feb  9 10:15:03 2007
@@ -16,7 +16,7 @@
+--+
  */
 
-/* $Id: posix.c,v 1.90 2007/01/12 01:50:43 iliaa Exp $ */
+/* $Id: posix.c,v 1.91 2007/02/09 10:15:03 tony2001 Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -147,7 +147,7 @@
 static PHP_MINFO_FUNCTION(posix)
 {
php_info_print_table_start();
-   php_info_print_table_row(2, Revision, $Revision: 1.90 $);
+   php_info_print_table_row(2, Revision, $Revision: 1.91 $);
php_info_print_table_end();
 }
 /* }}} */
@@ -882,7 +882,7 @@
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, l, gid) == 
FAILURE) {
RETURN_FALSE;
}
-#ifdef HAVE_GETGRGID_R
+#if defined(ZTS)  defined(HAVE_GETGRGID_R)  defined(_SC_GETGR_R_SIZE_MAX)

grbuflen = sysconf(_SC_GETGR_R_SIZE_MAX);
grbuf = emalloc(grbuflen);
@@ -907,7 +907,7 @@
php_error_docref(NULL TSRMLS_CC, E_WARNING, unable to convert 
posix group struct to array);
RETVAL_FALSE;
}
-#ifdef HAVE_GETGRGID_R
+#if defined(ZTS)  defined(HAVE_GETGRGID_R)  defined(_SC_GETGR_R_SIZE_MAX)
efree(grbuf);
 #endif
 }

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



[PHP-CVS] cvs: php-src /ext/posix posix.c

2007-02-09 Thread Antony Dovgal
tony2001Sat Feb 10 00:50:29 2007 UTC

  Modified files:  
/php-src/ext/posix  posix.c 
  Log:
  use the same ifdef anf get rid of unused var warnings
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/posix/posix.c?r1=1.91r2=1.92diff_format=u
Index: php-src/ext/posix/posix.c
diff -u php-src/ext/posix/posix.c:1.91 php-src/ext/posix/posix.c:1.92
--- php-src/ext/posix/posix.c:1.91  Fri Feb  9 10:15:03 2007
+++ php-src/ext/posix/posix.c   Sat Feb 10 00:50:29 2007
@@ -16,7 +16,7 @@
+--+
  */
 
-/* $Id: posix.c,v 1.91 2007/02/09 10:15:03 tony2001 Exp $ */
+/* $Id: posix.c,v 1.92 2007/02/10 00:50:29 tony2001 Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -147,7 +147,7 @@
 static PHP_MINFO_FUNCTION(posix)
 {
php_info_print_table_start();
-   php_info_print_table_row(2, Revision, $Revision: 1.91 $);
+   php_info_print_table_row(2, Revision, $Revision: 1.92 $);
php_info_print_table_end();
 }
 /* }}} */
@@ -870,7 +870,7 @@
 PHP_FUNCTION(posix_getgrgid)
 {
long gid;
-#ifdef HAVE_GETGRGID_R
+#if defined(ZTS)  defined(HAVE_GETGRGID_R)  defined(_SC_GETGR_R_SIZE_MAX)
int ret;
struct group _g;
struct group *retgrptr;

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



[PHP-CVS] cvs: php-src /ext/posix posix.c /main fopen_wrappers.c

2007-01-11 Thread Ilia Alshanetsky
iliaa   Fri Jan 12 01:50:43 2007 UTC

  Modified files:  
/php-src/ext/posix  posix.c 
/php-src/main   fopen_wrappers.c 
  Log:
  MFB:
Fixed bug #40098 (php_fopen_primary_script() not thread safe).
Adjusted previous fixes for similar issue to handle sysconf() failures
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/posix/posix.c?r1=1.89r2=1.90diff_format=u
Index: php-src/ext/posix/posix.c
diff -u php-src/ext/posix/posix.c:1.89 php-src/ext/posix/posix.c:1.90
--- php-src/ext/posix/posix.c:1.89  Thu Jan 11 02:31:50 2007
+++ php-src/ext/posix/posix.c   Fri Jan 12 01:50:43 2007
@@ -16,7 +16,7 @@
+--+
  */
 
-/* $Id: posix.c,v 1.89 2007/01/11 02:31:50 pollita Exp $ */
+/* $Id: posix.c,v 1.90 2007/01/12 01:50:43 iliaa Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -147,7 +147,7 @@
 static PHP_MINFO_FUNCTION(posix)
 {
php_info_print_table_start();
-   php_info_print_table_row(2, Revision, $Revision: 1.89 $);
+   php_info_print_table_row(2, Revision, $Revision: 1.90 $);
php_info_print_table_end();
 }
 /* }}} */
@@ -556,8 +556,8 @@
zval **z_fd;
char *p;
int fd;
-#if HAVE_TTYNAME_R
-   size_t buflen;
+#if defined(ZTS)  defined(HAVE_TTYNAME_R)  defined(_SC_TTY_NAME_MAX)
+   long buflen;
 #endif
 
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, Z, z_fd) == 
FAILURE) {
@@ -574,8 +574,11 @@
convert_to_long_ex(z_fd);
fd = Z_LVAL_PP(z_fd);
}
-#if HAVE_TTYNAME_R
+#if defined(ZTS)  defined(HAVE_TTYNAME_R)  defined(_SC_TTY_NAME_MAX)
buflen = sysconf(_SC_TTY_NAME_MAX);
+   if (buflen  1) {
+   RETURN_FALSE;
+   }
p = emalloc(buflen);
 
if (ttyname_r(fd, p, buflen)) {
@@ -820,9 +823,9 @@
char *name;
struct group *g;
int name_len;
-#if HAVE_GETGRNAM_R
+#if defined(ZTS)  defined(HAVE_GETGRNAM_R)  defined(_SC_GETGR_R_SIZE_MAX)
struct group gbuf;
-   int buflen;
+   long buflen;
char *buf;
 #endif

@@ -830,8 +833,11 @@
RETURN_FALSE;
}
 
-#if HAVE_GETGRNAM_R
+#if defined(ZTS)  defined(HAVE_GETGRNAM_R)  defined(_SC_GETGR_R_SIZE_MAX)
buflen = sysconf(_SC_GETGR_R_SIZE_MAX);
+   if (buflen  1) {
+   RETURN_FALSE;
+   }
buf = emalloc(buflen);
g = gbuf;
 
@@ -853,7 +859,7 @@
php_error_docref(NULL TSRMLS_CC, E_WARNING, unable to convert 
posix group to array);
RETVAL_FALSE;
}
-#if HAVE_GETGRNAM_R
+#if defined(ZTS)  defined(HAVE_GETGRNAM_R)  defined(_SC_GETGR_R_SIZE_MAX)
efree(buf);
 #endif
 }
@@ -868,7 +874,7 @@
int ret;
struct group _g;
struct group *retgrptr;
-   int grbuflen;
+   long grbuflen;
char *grbuf;
 #endif
struct group *g;
@@ -932,9 +938,9 @@
struct passwd *pw;
char *name;
int name_len;
-#if defined(_SC_GETPW_R_SIZE_MAX)  defined(HAVE_GETPWNAM_R)
+#if defined(ZTS)  defined(_SC_GETPW_R_SIZE_MAX)  defined(HAVE_GETPWNAM_R)
struct passwd pwbuf;
-   int buflen;
+   long buflen;
char *buf;
 #endif
 
@@ -942,8 +948,11 @@
RETURN_FALSE;
}
 
-#if defined(_SC_GETPW_R_SIZE_MAX)  defined(HAVE_GETPWNAM_R)
+#if defined(ZTS)  defined(_SC_GETPW_R_SIZE_MAX)  defined(HAVE_GETPWNAM_R)
buflen = sysconf(_SC_GETPW_R_SIZE_MAX);
+   if (buflen  1) {
+   RETURN_FALSE;
+   }
buf = emalloc(buflen);
pw = pwbuf;
 
@@ -965,7 +974,7 @@
php_error_docref(NULL TSRMLS_CC, E_WARNING, unable to convert 
posix passwd struct to array);
RETVAL_FALSE;
}
-#if defined(_SC_GETPW_R_SIZE_MAX)  defined(HAVE_GETPWNAM_R)
+#if defined(ZTS)  defined(_SC_GETPW_R_SIZE_MAX)  defined(HAVE_GETPWNAM_R)
efree(buf);
 #endif
 }
@@ -976,10 +985,10 @@
 PHP_FUNCTION(posix_getpwuid)
 {
long uid;
-#if defined(_SC_GETPW_R_SIZE_MAX)  defined(HAVE_GETPWUID_R)
+#if defined(ZTS)  defined(_SC_GETPW_R_SIZE_MAX)  defined(HAVE_GETPWUID_R)
struct passwd _pw;
struct passwd *retpwptr = NULL;
-   int pwbuflen;
+   long pwbuflen;
char *pwbuf;
int ret;
 #endif
@@ -988,8 +997,11 @@
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, l, uid) == 
FAILURE) {
RETURN_FALSE;
}
-#if defined(_SC_GETPW_R_SIZE_MAX)  defined(HAVE_GETPWUID_R)
+#if defined(ZTS)  defined(_SC_GETPW_R_SIZE_MAX)  defined(HAVE_GETPWUID_R)
pwbuflen = sysconf(_SC_GETPW_R_SIZE_MAX);
+   if (pwbuflen  1) {
+   RETURN_FALSE;
+   }
pwbuf = emalloc(pwbuflen);
 
ret = getpwuid_r(uid, _pw, pwbuf, pwbuflen, retpwptr);
@@ -1012,7 +1024,7 @@
php_error_docref(NULL TSRMLS_CC, E_WARNING, unable to convert 
posix passwd struct to array);
  

[PHP-CVS] cvs: php-src /ext/posix posix.c /ext/standard filestat.c

2007-01-10 Thread Sara Golemon
pollita Thu Jan 11 01:52:24 2007 UTC

  Modified files:  
/php-src/ext/posix  posix.c 
/php-src/ext/standard   filestat.c 
  Log:
  Some platforms have getpwnam_r() but are missing _SC_GETPW_R_SIZE_MAX
  
http://cvs.php.net/viewvc.cgi/php-src/ext/posix/posix.c?r1=1.87r2=1.88diff_format=u
Index: php-src/ext/posix/posix.c
diff -u php-src/ext/posix/posix.c:1.87 php-src/ext/posix/posix.c:1.88
--- php-src/ext/posix/posix.c:1.87  Fri Jan  5 21:30:06 2007
+++ php-src/ext/posix/posix.c   Thu Jan 11 01:52:24 2007
@@ -16,7 +16,7 @@
+--+
  */
 
-/* $Id: posix.c,v 1.87 2007/01/05 21:30:06 pollita Exp $ */
+/* $Id: posix.c,v 1.88 2007/01/11 01:52:24 pollita Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -147,7 +147,7 @@
 static PHP_MINFO_FUNCTION(posix)
 {
php_info_print_table_start();
-   php_info_print_table_row(2, Revision, $Revision: 1.87 $);
+   php_info_print_table_row(2, Revision, $Revision: 1.88 $);
php_info_print_table_end();
 }
 /* }}} */
@@ -942,7 +942,7 @@
RETURN_FALSE;
}
 
-#ifdef HAVE_GETPWNAM_R
+#if defined(_SC_GETPW_R_SIZE_MAX)  defined(HAVE_GETPWNAM_R)
buflen = sysconf(_SC_GETPW_R_SIZE_MAX);
buf = emalloc(buflen);
pw = pwbuf;
@@ -988,7 +988,7 @@
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, l, uid) == 
FAILURE) {
RETURN_FALSE;
}
-#ifdef HAVE_GETPWUID_R
+#if defined(_SC_GETPW_R_SIZE_MAX)  defined(HAVE_GETPWUID_R)
pwbuflen = sysconf(_SC_GETPW_R_SIZE_MAX);
pwbuf = emalloc(pwbuflen);
 
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/filestat.c?r1=1.154r2=1.155diff_format=u
Index: php-src/ext/standard/filestat.c
diff -u php-src/ext/standard/filestat.c:1.154 
php-src/ext/standard/filestat.c:1.155
--- php-src/ext/standard/filestat.c:1.154   Mon Jan  1 09:29:31 2007
+++ php-src/ext/standard/filestat.c Thu Jan 11 01:52:24 2007
@@ -16,7 +16,7 @@
+--+
  */
 
-/* $Id: filestat.c,v 1.154 2007/01/01 09:29:31 sebastian Exp $ */
+/* $Id: filestat.c,v 1.155 2007/01/11 01:52:24 pollita Exp $ */
 
 #include php.h
 #include fopen_wrappers.h
@@ -521,7 +521,7 @@
if (Z_TYPE_P(user) == IS_LONG) {
uid = (uid_t)Z_LVAL_P(user);
} else {
-#ifdef HAVE_GETPWNAM_R
+#if defined(_SC_GETPW_R_SIZE_MAX)  defined(HAVE_GETPWNAM_R)
struct passwd pw;
struct passwd *retpwptr = NULL;
int pwbuflen = sysconf(_SC_GETPW_R_SIZE_MAX);

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



[PHP-CVS] cvs: php-src /ext/posix posix.c

2007-01-10 Thread Sara Golemon
pollita Thu Jan 11 02:31:50 2007 UTC

  Modified files:  
/php-src/ext/posix  posix.c 
  Log:
  #ifdef out the rest of that getpwuid_r() patch, see prior commit
  
http://cvs.php.net/viewvc.cgi/php-src/ext/posix/posix.c?r1=1.88r2=1.89diff_format=u
Index: php-src/ext/posix/posix.c
diff -u php-src/ext/posix/posix.c:1.88 php-src/ext/posix/posix.c:1.89
--- php-src/ext/posix/posix.c:1.88  Thu Jan 11 01:52:24 2007
+++ php-src/ext/posix/posix.c   Thu Jan 11 02:31:50 2007
@@ -16,7 +16,7 @@
+--+
  */
 
-/* $Id: posix.c,v 1.88 2007/01/11 01:52:24 pollita Exp $ */
+/* $Id: posix.c,v 1.89 2007/01/11 02:31:50 pollita Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -147,7 +147,7 @@
 static PHP_MINFO_FUNCTION(posix)
 {
php_info_print_table_start();
-   php_info_print_table_row(2, Revision, $Revision: 1.88 $);
+   php_info_print_table_row(2, Revision, $Revision: 1.89 $);
php_info_print_table_end();
 }
 /* }}} */
@@ -932,7 +932,7 @@
struct passwd *pw;
char *name;
int name_len;
-#ifdef HAVE_GETPWNAM_R
+#if defined(_SC_GETPW_R_SIZE_MAX)  defined(HAVE_GETPWNAM_R)
struct passwd pwbuf;
int buflen;
char *buf;
@@ -965,7 +965,7 @@
php_error_docref(NULL TSRMLS_CC, E_WARNING, unable to convert 
posix passwd struct to array);
RETVAL_FALSE;
}
-#ifdef HAVE_GETPWNAM_R
+#if defined(_SC_GETPW_R_SIZE_MAX)  defined(HAVE_GETPWNAM_R)
efree(buf);
 #endif
 }
@@ -976,7 +976,7 @@
 PHP_FUNCTION(posix_getpwuid)
 {
long uid;
-#ifdef HAVE_GETPWUID_R
+#if defined(_SC_GETPW_R_SIZE_MAX)  defined(HAVE_GETPWUID_R)
struct passwd _pw;
struct passwd *retpwptr = NULL;
int pwbuflen;
@@ -1012,7 +1012,7 @@
php_error_docref(NULL TSRMLS_CC, E_WARNING, unable to convert 
posix passwd struct to array);
RETVAL_FALSE;
}
-#ifdef HAVE_GETPWUID_R
+#if defined(_SC_GETPW_R_SIZE_MAX)  defined(HAVE_GETPWUID_R)
efree(pwbuf);
 #endif
 }

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



[PHP-CVS] cvs: php-src /ext/posix posix.c

2007-01-05 Thread Sara Golemon
pollita Fri Jan  5 20:01:44 2007 UTC

  Modified files:  
/php-src/ext/posix  posix.c 
  Log:
  BSD4.1 (possibly others) doesn't support _SC_TTY_NAME_MAX
  
http://cvs.php.net/viewvc.cgi/php-src/ext/posix/posix.c?r1=1.85r2=1.86diff_format=u
Index: php-src/ext/posix/posix.c
diff -u php-src/ext/posix/posix.c:1.85 php-src/ext/posix/posix.c:1.86
--- php-src/ext/posix/posix.c:1.85  Mon Jan  1 09:29:28 2007
+++ php-src/ext/posix/posix.c   Fri Jan  5 20:01:44 2007
@@ -16,7 +16,7 @@
+--+
  */
 
-/* $Id: posix.c,v 1.85 2007/01/01 09:29:28 sebastian Exp $ */
+/* $Id: posix.c,v 1.86 2007/01/05 20:01:44 pollita Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -147,7 +147,7 @@
 static PHP_MINFO_FUNCTION(posix)
 {
php_info_print_table_start();
-   php_info_print_table_row(2, Revision, $Revision: 1.85 $);
+   php_info_print_table_row(2, Revision, $Revision: 1.86 $);
php_info_print_table_end();
 }
 /* }}} */
@@ -575,7 +575,12 @@
fd = Z_LVAL_PP(z_fd);
}
 #if HAVE_TTYNAME_R
+#ifdef _SC_TTY_NAME_MAX
buflen = sysconf(_SC_TTY_NAME_MAX);
+#else
+   /* Arbitrary buffer size for systems which don't extrospect their tty 
name lengths, way overkill */
+   buflen = 64;
+#endif
p = emalloc(buflen);
 
if (ttyname_r(fd, p, buflen)) {

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



[PHP-CVS] cvs: php-src /ext/posix posix.c

2006-12-20 Thread Antony Dovgal
tony2001Thu Dec 21 01:00:39 2006 UTC

  Modified files:  
/php-src/ext/posix  posix.c 
  Log:
  fix possible leaks
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/posix/posix.c?r1=1.82r2=1.83diff_format=u
Index: php-src/ext/posix/posix.c
diff -u php-src/ext/posix/posix.c:1.82 php-src/ext/posix/posix.c:1.83
--- php-src/ext/posix/posix.c:1.82  Thu Dec  7 01:41:29 2006
+++ php-src/ext/posix/posix.c   Thu Dec 21 01:00:39 2006
@@ -16,7 +16,7 @@
+--+
  */
 
-/* $Id: posix.c,v 1.82 2006/12/07 01:41:29 iliaa Exp $ */
+/* $Id: posix.c,v 1.83 2006/12/21 01:00:39 tony2001 Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -147,7 +147,7 @@
 static PHP_MINFO_FUNCTION(posix)
 {
php_info_print_table_start();
-   php_info_print_table_row(2, Revision, $Revision: 1.82 $);
+   php_info_print_table_row(2, Revision, $Revision: 1.83 $);
php_info_print_table_end();
 }
 /* }}} */
@@ -845,6 +845,7 @@
array_init(return_value);
 
if (!php_posix_group_to_array(g, return_value)) {
+   zval_dtor(return_value);
php_error_docref(NULL TSRMLS_CC, E_WARNING, unable to convert 
posix group to array);
RETVAL_FALSE;
}
@@ -863,8 +864,8 @@
int ret;
struct group _g;
struct group *retgrptr;
-   int grbuflen = sysconf(_SC_GETGR_R_SIZE_MAX);
-   char *grbuf = emalloc(grbuflen);
+   int grbuflen;
+   char *grbuf;
 #endif
struct group *g;

@@ -872,6 +873,10 @@
RETURN_FALSE;
}
 #ifdef HAVE_GETGRGID_R
+   
+   grbuflen = sysconf(_SC_GETGR_R_SIZE_MAX);
+   grbuf = emalloc(grbuflen);
+
ret = getgrgid_r(gid, _g, grbuf, grbuflen, retgrptr);
if (ret) {
POSIX_G(last_error) = ret;
@@ -888,6 +893,7 @@
array_init(return_value);
 
if (!php_posix_group_to_array(g, return_value)) {
+   zval_dtor(return_value);
php_error_docref(NULL TSRMLS_CC, E_WARNING, unable to convert 
posix group struct to array);
RETVAL_FALSE;
}
@@ -949,6 +955,7 @@
array_init(return_value);
 
if (!php_posix_passwd_to_array(pw, return_value)) {
+   zval_dtor(return_value);
php_error_docref(NULL TSRMLS_CC, E_WARNING, unable to convert 
posix passwd struct to array);
RETVAL_FALSE;
}
@@ -966,8 +973,8 @@
 #ifdef HAVE_GETPWUID_R
struct passwd _pw;
struct passwd *retpwptr = NULL;
-   int pwbuflen = sysconf(_SC_GETPW_R_SIZE_MAX);
-   char *pwbuf = emalloc(pwbuflen);
+   int pwbuflen;
+   char *pwbuf;
int ret;
 #endif
struct passwd *pw;
@@ -976,6 +983,9 @@
RETURN_FALSE;
}
 #ifdef HAVE_GETPWUID_R
+   pwbuflen = sysconf(_SC_GETPW_R_SIZE_MAX);
+   pwbuf = emalloc(pwbuflen);
+
ret = getpwuid_r(uid, _pw, pwbuf, pwbuflen, retpwptr);
if (ret) {
POSIX_G(last_error) = ret;
@@ -992,6 +1002,7 @@
array_init(return_value);
 
if (!php_posix_passwd_to_array(pw, return_value)) {
+   zval_dtor(return_value);
php_error_docref(NULL TSRMLS_CC, E_WARNING, unable to convert 
posix passwd struct to array);
RETVAL_FALSE;
}
@@ -1109,8 +1120,10 @@
array_init(return_value);
 
for (l=limits; l-name; l++) {
-   if (posix_addlimit(l-limit, l-name, return_value TSRMLS_CC) 
== FAILURE)
+   if (posix_addlimit(l-limit, l-name, return_value TSRMLS_CC) 
== FAILURE) {
+   zval_dtor(return_value);
RETURN_FALSE;
+   }
}
 }
 /* }}} */

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



[PHP-CVS] cvs: php-src /ext/posix posix.c

2006-11-29 Thread Ilia Alshanetsky
iliaa   Thu Nov 30 00:35:27 2006 UTC

  Modified files:  
/php-src/ext/posix  posix.c 
  Log:
  MFB: Thread safety fixed for *nix systems
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/posix/posix.c?r1=1.80r2=1.81diff_format=u
Index: php-src/ext/posix/posix.c
diff -u php-src/ext/posix/posix.c:1.80 php-src/ext/posix/posix.c:1.81
--- php-src/ext/posix/posix.c:1.80  Mon Oct  2 07:54:37 2006
+++ php-src/ext/posix/posix.c   Thu Nov 30 00:35:27 2006
@@ -16,7 +16,7 @@
+--+
  */
 
-/* $Id: posix.c,v 1.80 2006/10/02 07:54:37 bjori Exp $ */
+/* $Id: posix.c,v 1.81 2006/11/30 00:35:27 iliaa Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -147,7 +147,7 @@
 static PHP_MINFO_FUNCTION(posix)
 {
php_info_print_table_start();
-   php_info_print_table_row(2, Revision, $Revision: 1.80 $);
+   php_info_print_table_row(2, Revision, $Revision: 1.81 $);
php_info_print_table_end();
 }
 /* }}} */
@@ -827,17 +827,33 @@
 PHP_FUNCTION(posix_getgrgid)
 {
long gid;
+#ifdef HAVE_GETGRGID_R
+   int ret;
+   struct group _g;
+   struct group *retgrptr;
+   int grbuflen = sysconf(_SC_GETGR_R_SIZE_MAX);
+   char *grbuf = emalloc(grbuflen);
+#endif
struct group *g;

if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, l, gid) == 
FAILURE) {
RETURN_FALSE;
}
-
+#ifdef HAVE_GETGRGID_R
+   ret = getgrgid_r(gid, _g, grbuf, grbuflen, retgrptr);
+   if (ret) {
+   POSIX_G(last_error) = ret;
+   efree(grbuf);
+   RETURN_FALSE;
+   }
+   efree(grbuf);
+   g = _g;
+#else
if (NULL == (g = getgrgid(gid))) {
POSIX_G(last_error) = errno;
RETURN_FALSE;
}
-
+#endif
array_init(return_value);
 
if (!php_posix_group_to_array(g, return_value)) {
@@ -895,17 +911,33 @@
 PHP_FUNCTION(posix_getpwuid)
 {
long uid;
+#ifdef HAVE_GETPWUID_R
+   struct passwd _pw;
+   struct passwd *retpwptr = NULL;
+   int pwbuflen = sysconf(_SC_GETPW_R_SIZE_MAX);
+   char *pwbuf = emalloc(pwbuflen);
+   int ret;
+#endif
struct passwd *pw;
-   
+
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, l, uid) == 
FAILURE) {
RETURN_FALSE;
}
-
+#ifdef HAVE_GETPWUID_R
+   ret = getpwuid_r(uid, _pw, pwbuf, pwbuflen, retpwptr);
+   if (ret) {
+   POSIX_G(last_error) = ret;
+   efree(pwbuf);
+   RETURN_FALSE;
+   }
+   efree(pwbuf);
+   pw = _pw;
+#else
if (NULL == (pw = getpwuid(uid))) {
POSIX_G(last_error) = errno;
RETURN_FALSE;
}
-
+#endif
array_init(return_value);
 
if (!php_posix_passwd_to_array(pw, return_value)) {

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



[PHP-CVS] cvs: php-src /ext/posix posix.c /ext/standard basic_functions.c html.c /ext/tidy tidy.c

2006-10-02 Thread Hannes Magnusson
bjori   Mon Oct  2 07:54:37 2006 UTC

  Modified files:  
/php-src/ext/posix  posix.c 
/php-src/ext/tidy   tidy.c 
/php-src/ext/standard   basic_functions.c html.c 
  Log:
  Protos
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/posix/posix.c?r1=1.79r2=1.80diff_format=u
Index: php-src/ext/posix/posix.c
diff -u php-src/ext/posix/posix.c:1.79 php-src/ext/posix/posix.c:1.80
--- php-src/ext/posix/posix.c:1.79  Sat Sep 16 17:42:44 2006
+++ php-src/ext/posix/posix.c   Mon Oct  2 07:54:37 2006
@@ -16,7 +16,7 @@
+--+
  */
 
-/* $Id: posix.c,v 1.79 2006/09/16 17:42:44 nlopess Exp $ */
+/* $Id: posix.c,v 1.80 2006/10/02 07:54:37 bjori Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -147,7 +147,7 @@
 static PHP_MINFO_FUNCTION(posix)
 {
php_info_print_table_start();
-   php_info_print_table_row(2, Revision, $Revision: 1.79 $);
+   php_info_print_table_row(2, Revision, $Revision: 1.80 $);
php_info_print_table_end();
 }
 /* }}} */
@@ -1058,7 +1058,7 @@
 #endif
 
 #ifdef HAVE_INITGROUPS
-/* {{{ proto bool initgroups(string name, int base_group_id)
+/* {{{ proto bool posix_initgroups(string name, int base_group_id)
Calculate the group access list for the user specified in name. */
 PHP_FUNCTION(posix_initgroups)
 {
http://cvs.php.net/viewvc.cgi/php-src/ext/tidy/tidy.c?r1=1.101r2=1.102diff_format=u
Index: php-src/ext/tidy/tidy.c
diff -u php-src/ext/tidy/tidy.c:1.101 php-src/ext/tidy/tidy.c:1.102
--- php-src/ext/tidy/tidy.c:1.101   Fri Sep 15 14:59:04 2006
+++ php-src/ext/tidy/tidy.c Mon Oct  2 07:54:37 2006
@@ -16,7 +16,7 @@
   +--+
 */
 
-/* $Id: tidy.c,v 1.101 2006/09/15 14:59:04 nlopess Exp $ */
+/* $Id: tidy.c,v 1.102 2006/10/02 07:54:37 bjori Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -1012,7 +1012,7 @@
php_info_print_table_start();
php_info_print_table_header(2, Tidy support, enabled);
php_info_print_table_row(2, libTidy Release, (char 
*)tidyReleaseDate());
-   php_info_print_table_row(2, Extension Version, 
PHP_TIDY_MODULE_VERSION  ($Id: tidy.c,v 1.101 2006/09/15 14:59:04 nlopess Exp 
$));
+   php_info_print_table_row(2, Extension Version, 
PHP_TIDY_MODULE_VERSION  ($Id: tidy.c,v 1.102 2006/10/02 07:54:37 bjori Exp 
$));
php_info_print_table_end();
 
DISPLAY_INI_ENTRIES();
@@ -1387,7 +1387,7 @@
 }
 /* }}} */
 
-/* {{{ proto bool tidy_is_xhtml() U
+/* {{{ proto bool tidy_is_xml() U
Indicates if the document is a generic (non HTML/XHTML) XML document. */
 static PHP_FUNCTION(tidy_is_xml)
 {
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/basic_functions.c?r1=1.806r2=1.807diff_format=u
Index: php-src/ext/standard/basic_functions.c
diff -u php-src/ext/standard/basic_functions.c:1.806 
php-src/ext/standard/basic_functions.c:1.807
--- php-src/ext/standard/basic_functions.c:1.806Sun Oct  1 21:00:00 2006
+++ php-src/ext/standard/basic_functions.c  Mon Oct  2 07:54:37 2006
@@ -17,7 +17,7 @@
+--+
  */
 
-/* $Id: basic_functions.c,v 1.806 2006/10/01 21:00:00 iliaa Exp $ */
+/* $Id: basic_functions.c,v 1.807 2006/10/02 07:54:37 bjori Exp $ */
 
 #include php.h
 #include php_streams.h
@@ -6317,6 +6317,8 @@
 /* }}} */
 
 #ifdef HAVE_GETLOADAVG
+/* {{{ proto array sys_getloadavg()
+*/
 PHP_FUNCTION(sys_getloadavg)
 {
double load[3];
@@ -6330,6 +6332,7 @@
add_index_double(return_value, 2, load[2]);
}
 }
+/* }}} */
 #endif
 
 
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/html.c?r1=1.115r2=1.116diff_format=u
Index: php-src/ext/standard/html.c
diff -u php-src/ext/standard/html.c:1.115 php-src/ext/standard/html.c:1.116
--- php-src/ext/standard/html.c:1.115   Tue Aug 15 15:09:21 2006
+++ php-src/ext/standard/html.c Mon Oct  2 07:54:37 2006
@@ -18,7 +18,7 @@
+--+
 */
 
-/* $Id: html.c,v 1.115 2006/08/15 15:09:21 tony2001 Exp $ */
+/* $Id: html.c,v 1.116 2006/10/02 07:54:37 bjori Exp $ */
 
 /*
  * HTML entity resources:
@@ -1223,7 +1223,7 @@
 }
 /* }}} */
 
-/* {{{ proto string htmlspecialchars(string string [, int quote_style])
+/* {{{ proto string htmlspecialchars_decode(string string [, int quote_style])
Convert special HTML entities back to characters */
 PHP_FUNCTION(htmlspecialchars_decode)
 {

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



[PHP-CVS] cvs: php-src /ext/posix posix.c /ext/posix/tests .cvsignore 001.phpt

2006-09-16 Thread Nuno Lopes
nlopess Sat Sep 16 17:42:44 2006 UTC

  Modified files:  
/php-src/ext/posix  posix.c 
/php-src/ext/posix/tests.cvsignore 001.phpt 
  Log:
  MFB
  
http://cvs.php.net/viewvc.cgi/php-src/ext/posix/posix.c?r1=1.78r2=1.79diff_format=u
Index: php-src/ext/posix/posix.c
diff -u php-src/ext/posix/posix.c:1.78 php-src/ext/posix/posix.c:1.79
--- php-src/ext/posix/posix.c:1.78  Thu Aug 31 16:14:43 2006
+++ php-src/ext/posix/posix.c   Sat Sep 16 17:42:44 2006
@@ -16,7 +16,7 @@
+--+
  */
 
-/* $Id: posix.c,v 1.78 2006/08/31 16:14:43 tony2001 Exp $ */
+/* $Id: posix.c,v 1.79 2006/09/16 17:42:44 nlopess Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -147,7 +147,7 @@
 static PHP_MINFO_FUNCTION(posix)
 {
php_info_print_table_start();
-   php_info_print_table_row(2, Revision, $Revision: 1.78 $);
+   php_info_print_table_row(2, Revision, $Revision: 1.79 $);
php_info_print_table_end();
 }
 /* }}} */
@@ -766,6 +766,10 @@
}
 
path = expand_filepath(filename, NULL TSRMLS_CC);
+   if (!path) {
+   POSIX_G(last_error) = EIO;
+   RETURN_FALSE;
+   }
 
if (php_check_open_basedir_ex(path, 0 TSRMLS_CC)) {
efree(path);
http://cvs.php.net/viewvc.cgi/php-src/ext/posix/tests/.cvsignore?r1=1.1r2=1.2diff_format=u
Index: php-src/ext/posix/tests/.cvsignore
diff -u /dev/null php-src/ext/posix/tests/.cvsignore:1.2
--- /dev/null   Sat Sep 16 17:42:44 2006
+++ php-src/ext/posix/tests/.cvsignore  Sat Sep 16 17:42:44 2006
@@ -0,0 +1,7 @@
+*.diff
+*.log
+*.exp
+*.out
+*.php
+*.gcda
+*.gcno
http://cvs.php.net/viewvc.cgi/php-src/ext/posix/tests/001.phpt?r1=1.1r2=1.2diff_format=u
Index: php-src/ext/posix/tests/001.phpt
diff -u /dev/null php-src/ext/posix/tests/001.phpt:1.2
--- /dev/null   Sat Sep 16 17:42:44 2006
+++ php-src/ext/posix/tests/001.phptSat Sep 16 17:42:44 2006
@@ -0,0 +1,12 @@
+--TEST--
+posix_access() with bogus paths
+--SKIPIF--
+?php if (!extension_loaded('posix')) echo 'skip'; ?
+--FILE--
+?php
+
+var_dump(posix_access(str_repeat('bogus path', 1042)));
+
+?
+--EXPECT--
+bool(false)

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



[PHP-CVS] cvs: php-src /ext/posix posix.c

2006-06-19 Thread Ilia Alshanetsky
iliaa   Mon Jun 19 23:55:12 2006 UTC

  Modified files:  
/php-src/ext/posix  posix.c 
  Log:
  MFB: Added missing ifdef block.
  
  
http://cvs.php.net/viewvc.cgi/php-src/ext/posix/posix.c?r1=1.76r2=1.77diff_format=u
Index: php-src/ext/posix/posix.c
diff -u php-src/ext/posix/posix.c:1.76 php-src/ext/posix/posix.c:1.77
--- php-src/ext/posix/posix.c:1.76  Mon Jun 19 02:19:45 2006
+++ php-src/ext/posix/posix.c   Mon Jun 19 23:55:11 2006
@@ -16,7 +16,7 @@
+--+
  */
 
-/* $Id: posix.c,v 1.76 2006/06/19 02:19:45 iliaa Exp $ */
+/* $Id: posix.c,v 1.77 2006/06/19 23:55:11 iliaa Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -147,7 +147,7 @@
 static PHP_MINFO_FUNCTION(posix)
 {
php_info_print_table_start();
-   php_info_print_table_row(2, Revision, $Revision: 1.76 $);
+   php_info_print_table_row(2, Revision, $Revision: 1.77 $);
php_info_print_table_end();
 }
 /* }}} */
@@ -1053,6 +1053,7 @@
 
 #endif
 
+#ifdef HAVE_INITGROUPS
 /* {{{ proto bool initgroups(string name, int base_group_id)
Calculate the group access list for the user specified in name. */
 PHP_FUNCTION(posix_initgroups)
@@ -1068,6 +1069,7 @@
RETURN_BOOL(!initgroups((const char *)name, basegid));
 }
 /* }}} */
+#endif
 
 /*
  * Local variables:

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



[PHP-CVS] cvs: php-src /ext/posix posix.c

2005-11-02 Thread Derick Rethans
derick  Wed Nov  2 10:50:07 2005 EDT

  Modified files:  
/php-src/ext/posix  posix.c 
  Log:
  - Fixed posix_mknod() checks and warnings.
  
  
http://cvs.php.net/diff.php/php-src/ext/posix/posix.c?r1=1.70r2=1.71ty=u
Index: php-src/ext/posix/posix.c
diff -u php-src/ext/posix/posix.c:1.70 php-src/ext/posix/posix.c:1.71
--- php-src/ext/posix/posix.c:1.70  Mon Aug  8 17:44:58 2005
+++ php-src/ext/posix/posix.c   Wed Nov  2 10:50:06 2005
@@ -16,7 +16,7 @@
+--+
  */
 
-/* $Id: posix.c,v 1.70 2005/08/08 21:44:58 magnus Exp $ */
+/* $Id: posix.c,v 1.71 2005/11/02 15:50:06 derick Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -143,7 +143,7 @@
 static PHP_MINFO_FUNCTION(posix)
 {
php_info_print_table_start();
-   php_info_print_table_row(2, Revision, $Revision: 1.70 $);
+   php_info_print_table_row(2, Revision, $Revision: 1.71 $);
php_info_print_table_end();
 }
 /* }}} */
@@ -676,7 +676,7 @@
char *path;
int path_len;
long mode;
-   long major, minor = 0;
+   long major = 0, minor = 0;
int result;
dev_t php_dev;
 
@@ -693,9 +693,13 @@
}
 
if ((mode  S_IFCHR) || (mode  S_IFBLK)) {
+   if (ZEND_NUM_ARGS() == 2) {
+   php_error_docref(NULL TSRMLS_CC, E_WARNING, For 
S_IFCHR and S_IFBLK you need to pass a major device kernel identifier);
+   RETURN_FALSE;
+   }
if (major == 0) {
php_error_docref(NULL TSRMLS_CC, E_WARNING,
-   expects argument 4 to be non-zero for 
POSIX_S_IFCHR and POSIX_S_IFBLK);
+   Expects argument 3 to be non-zero for 
POSIX_S_IFCHR and POSIX_S_IFBLK);
RETURN_FALSE;
} else {
 #if defined(HAVE_MAKEDEV) || defined(makedev)

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



[PHP-CVS] cvs: php-src /ext/posix posix.c

2005-08-08 Thread Magnus M��tt
magnus  Mon Aug  8 17:44:59 2005 EDT

  Modified files:  
/php-src/ext/posix  posix.c 
  Log:
  makedev is a macro on several systems.
  
http://cvs.php.net/diff.php/php-src/ext/posix/posix.c?r1=1.69r2=1.70ty=u
Index: php-src/ext/posix/posix.c
diff -u php-src/ext/posix/posix.c:1.69 php-src/ext/posix/posix.c:1.70
--- php-src/ext/posix/posix.c:1.69  Wed Aug  3 10:07:42 2005
+++ php-src/ext/posix/posix.c   Mon Aug  8 17:44:58 2005
@@ -16,7 +16,7 @@
+--+
  */
 
-/* $Id: posix.c,v 1.69 2005/08/03 14:07:42 sniper Exp $ */
+/* $Id: posix.c,v 1.70 2005/08/08 21:44:58 magnus Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -143,7 +143,7 @@
 static PHP_MINFO_FUNCTION(posix)
 {
php_info_print_table_start();
-   php_info_print_table_row(2, Revision, $Revision: 1.69 $);
+   php_info_print_table_row(2, Revision, $Revision: 1.70 $);
php_info_print_table_end();
 }
 /* }}} */
@@ -698,7 +698,7 @@
expects argument 4 to be non-zero for 
POSIX_S_IFCHR and POSIX_S_IFBLK);
RETURN_FALSE;
} else {
-#ifdef HAVE_MAKEDEV
+#if defined(HAVE_MAKEDEV) || defined(makedev)
php_dev = makedev(major, minor);
 #else
php_error_docref(NULL TSRMLS_CC, E_WARNING, Can not 
create a block or character device, creating a normal file instead);

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



[PHP-CVS] cvs: php-src /ext/posix posix.c

2005-01-27 Thread Antony Dovgal
tony2001Thu Jan 27 20:38:56 2005 EDT

  Modified files:  
/php-src/ext/posix  posix.c 
  Log:
  change return type from NULL to FALSE when parameter parsing failed
  (as was requested by Ilia)
  
  
http://cvs.php.net/diff.php/php-src/ext/posix/posix.c?r1=1.63r2=1.64ty=u
Index: php-src/ext/posix/posix.c
diff -u php-src/ext/posix/posix.c:1.63 php-src/ext/posix/posix.c:1.64
--- php-src/ext/posix/posix.c:1.63  Thu Jan 27 19:27:48 2005
+++ php-src/ext/posix/posix.c   Thu Jan 27 20:38:56 2005
@@ -16,7 +16,7 @@
+--+
  */
 
-/* $Id: posix.c,v 1.63 2005/01/28 00:27:48 tony2001 Exp $ */
+/* $Id: posix.c,v 1.64 2005/01/28 01:38:56 tony2001 Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -133,7 +133,7 @@
 static PHP_MINFO_FUNCTION(posix)
 {
php_info_print_table_start();
-   php_info_print_table_row(2, Revision, $Revision: 1.63 $);
+   php_info_print_table_row(2, Revision, $Revision: 1.64 $);
php_info_print_table_end();
 }
 /* }}} */
@@ -186,7 +186,7 @@
 
 #define PHP_POSIX_SINGLE_ARG_FUNC(func_name)   \
long val;   \
-   if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, l, val) == 
FAILURE) return; \
+   if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, l, val) == 
FAILURE) RETURN_FALSE;   \
if (func_name(val)  0) {   \
POSIX_G(last_error) = errno;\
RETURN_FALSE;   \
@@ -200,9 +200,10 @@
 {
long pid, sig;
 
-   if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, ll, pid, sig) 
== FAILURE)
-   return;
-  
+   if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, ll, pid, sig) 
== FAILURE) {
+   RETURN_FALSE;
+   }
+   
if (kill(pid, sig)  0) {
POSIX_G(last_error) = errno;
RETURN_FALSE;
@@ -360,8 +361,9 @@
 {
long pid, pgid;
 
-   if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, ll, pid, pgid) 
== FAILURE)
-   return;
+   if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, ll, pid, pgid) 
== FAILURE) {
+   RETURN_FALSE;
+   }

if (setpgid(pid, pgid)  0) {
POSIX_G(last_error) = errno;
@@ -379,7 +381,7 @@
 {
long val;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, l, val) == 
FAILURE) {
-   return;
+   RETURN_FALSE;
}

if ((val = getpgid(val))  0) {
@@ -398,7 +400,7 @@
 {
long val;
if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, l, val) == 
FAILURE) {
-   return;
+   RETURN_FALSE;
}

if ((val = getsid(val))  0) {
@@ -519,8 +521,9 @@
char *p;
int fd;
 
-   if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, z, z_fd) == 
FAILURE)
-   return;
+   if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, z, z_fd) == 
FAILURE) {
+   RETURN_FALSE;
+   }
 
switch (Z_TYPE_P(z_fd)) {
case IS_RESOURCE:
@@ -549,9 +552,10 @@
zval *z_fd;
int fd;

-   if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, z, z_fd) == 
FAILURE)
-   return;
-
+   if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, z, z_fd) == 
FAILURE) {
+   RETURN_FALSE;
+   }
+   
switch (Z_TYPE_P(z_fd)) {
case IS_RESOURCE:
if (!php_posix_stream_get_fd(z_fd, fd TSRMLS_CC)) {
@@ -615,8 +619,9 @@
long mode;
int result;

-   if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, sl, path, 
path_len, mode) == FAILURE)
-   return;
+   if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, sl, path, 
path_len, mode) == FAILURE) {
+   RETURN_FALSE;
+   }
 
if (PG(safe_mode)  (!php_checkuid(path, NULL, 
CHECKUID_ALLOW_ONLY_DIR))) {
RETURN_FALSE;
@@ -673,8 +678,9 @@
int filename_len, ret;
char *filename, *path;
 
-   if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, s|l, filename, 
filename_len, mode) == FAILURE)
-   return;
+   if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, s|l, filename, 
filename_len, mode) == FAILURE) {
+   RETURN_FALSE;
+   }
 
path = expand_filepath(filename, NULL TSRMLS_CC);
 
@@ -712,8 +718,9 @@
struct group *g;
int name_len;

-   if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, s, name, 
name_len) == FAILURE)
-   return;
+   if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, s, name, 
name_len) == FAILURE) {
+   RETURN_FALSE;
+   }
 
if (NULL == (g = getgrnam(name))) {
POSIX_G(last_error) = errno;
@@ -736,8 +743,9 @@
long gid;
struct group *g;

-   if 

[PHP-CVS] cvs: php-src /ext/posix posix.c

2005-01-07 Thread Magnus Määttä
magnus  Fri Jan  7 12:38:04 2005 EDT

  Modified files:  
/php-src/ext/posix  posix.c 
  Log:
  Argh.. Committed old patch.
  Add safe_mode check and fix error code.
  
http://cvs.php.net/diff.php/php-src/ext/posix/posix.c?r1=1.61r2=1.62ty=u
Index: php-src/ext/posix/posix.c
diff -u php-src/ext/posix/posix.c:1.61 php-src/ext/posix/posix.c:1.62
--- php-src/ext/posix/posix.c:1.61  Fri Jan  7 11:05:06 2005
+++ php-src/ext/posix/posix.c   Fri Jan  7 12:38:03 2005
@@ -16,7 +16,7 @@
+--+
  */
 
-/* $Id: posix.c,v 1.61 2005/01/07 16:05:06 magnus Exp $ */
+/* $Id: posix.c,v 1.62 2005/01/07 17:38:03 magnus Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -133,7 +133,7 @@
 static PHP_MINFO_FUNCTION(posix)
 {
php_info_print_table_start();
-   php_info_print_table_row(2, Revision, $Revision: 1.61 $);
+   php_info_print_table_row(2, Revision, $Revision: 1.62 $);
php_info_print_table_end();
 }
 /* }}} */
@@ -660,9 +660,10 @@
 
path = expand_filepath(filename, NULL TSRMLS_CC);
 
-   if (php_check_open_basedir_ex(path, 0 TSRMLS_CC)) {
+   if (php_check_open_basedir_ex(path, 0 TSRMLS_CC) ||
+   (PG(safe_mode)  (!php_checkuid_ex(filename, NULL, 
CHECKUID_CHECK_FILE_AND_DIR, CHECKUID_NO_ERRORS {
efree(path);
-   POSIX_G(last_error) = EACCES;
+   POSIX_G(last_error) = EPERM;
RETURN_FALSE;
}
 

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



[PHP-CVS] cvs: php-src /ext/posix posix.c

2004-04-18 Thread Ilia Alshanetsky
iliaa   Sun Apr 18 17:49:11 2004 EDT

  Modified files:  
/php-src/ext/posix  posix.c 
  Log:
  Simplify code via the use of macros.
  
  
http://cvs.php.net/diff.php/php-src/ext/posix/posix.c?r1=1.59r2=1.60ty=u
Index: php-src/ext/posix/posix.c
diff -u php-src/ext/posix/posix.c:1.59 php-src/ext/posix/posix.c:1.60
--- php-src/ext/posix/posix.c:1.59  Thu Jan  8 03:17:11 2004
+++ php-src/ext/posix/posix.c   Sun Apr 18 17:49:10 2004
@@ -16,7 +16,7 @@
+--+
  */
 
-/* $Id: posix.c,v 1.59 2004/01/08 08:17:11 andi Exp $ */
+/* $Id: posix.c,v 1.60 2004/04/18 21:49:10 iliaa Exp $ */
 
 #ifdef HAVE_CONFIG_H
 #include config.h
@@ -131,7 +131,7 @@
 static PHP_MINFO_FUNCTION(posix)
 {
php_info_print_table_start();
-   php_info_print_table_row(2, Revision, $Revision: 1.59 $);
+   php_info_print_table_row(2, Revision, $Revision: 1.60 $);
php_info_print_table_end();
 }
 /* }}} */
@@ -172,6 +172,21 @@
 ZEND_GET_MODULE(posix)
 #endif
 
+#define PHP_POSIX_NO_ARGS  if (ZEND_NUM_ARGS()) return;
+
+#define PHP_POSIX_RETURN_LONG_FUNC(func_name)  \
+   PHP_POSIX_NO_ARGS   \
+   RETURN_LONG(func_name());
+
+#define PHP_POSIX_SINGLE_ARG_FUNC(func_name)   \
+   long val;   \
+   if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, l, val) == FAILURE) 
return; \
+   if (func_name(val)  0) {   \
+   POSIX_G(last_error) = errno;\
+   RETURN_FALSE;   \
+   }   \
+   RETURN_TRUE;
+
 /* {{{ proto bool posix_kill(int pid, int sig)
Send a signal to a process (POSIX.1, 3.3.2) */
 
@@ -195,13 +210,7 @@
Get the current process id (POSIX.1, 4.1.1) */
 PHP_FUNCTION(posix_getpid)
 {
-   pid_t  pid;
-
-   if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, ) == FAILURE)
-   return;
-
-   pid = getpid();
-   RETURN_LONG(pid);
+   PHP_POSIX_RETURN_LONG_FUNC(getpid);
 }
 /* }}} */
 
@@ -209,13 +218,7 @@
Get the parent process id (POSIX.1, 4.1.1) */
 PHP_FUNCTION(posix_getppid)
 {
-   pid_t  ppid;
-
-   if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, ) == FAILURE)
-   return;
-
-   ppid = getppid();
-   RETURN_LONG(ppid);
+   PHP_POSIX_RETURN_LONG_FUNC(getppid);
 }
 /* }}} */
 
@@ -223,13 +226,7 @@
Get the current user id (POSIX.1, 4.2.1) */
 PHP_FUNCTION(posix_getuid)
 {
-   uid_t  uid;
-
-   if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, ) == FAILURE)
-   return;
-
-   uid = getuid();
-   RETURN_LONG(uid);
+   PHP_POSIX_RETURN_LONG_FUNC(getuid);
 }
 /* }}} */
 
@@ -237,13 +234,7 @@
Get the current group id (POSIX.1, 4.2.1) */
 PHP_FUNCTION(posix_getgid)
 {
-   gid_t  gid;
-
-   if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, ) == FAILURE)
-   return;
-
-   gid = getgid();
-   RETURN_LONG(gid);
+   PHP_POSIX_RETURN_LONG_FUNC(getgid);
 }
 /* }}} */
 
@@ -251,13 +242,7 @@
Get the current effective user id (POSIX.1, 4.2.1) */
 PHP_FUNCTION(posix_geteuid)
 {
-   uid_t  uid;
-
-   if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, ) == FAILURE)
-   return;
-
-   uid = geteuid();
-   RETURN_LONG(uid);
+   PHP_POSIX_RETURN_LONG_FUNC(geteuid);
 }
 /* }}} */
 
@@ -265,31 +250,15 @@
Get the current effective group id (POSIX.1, 4.2.1) */
 PHP_FUNCTION(posix_getegid)
 {
-   gid_t  gid;
-
-   if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, ) == FAILURE)
-   return;
-
-   gid = getegid();
-   RETURN_LONG(gid);
- }
+   PHP_POSIX_RETURN_LONG_FUNC(getegid);
+}
 /* }}} */
 
 /* {{{ proto bool posix_setuid(long uid)
Set user id (POSIX.1, 4.2.2) */
 PHP_FUNCTION(posix_setuid)
 {
-   long uid;
-
-   if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, l, uid) == FAILURE)
-   return;
-  
-   if (setuid(uid)  0) {
-   POSIX_G(last_error) = errno;
-   RETURN_FALSE;
-   }
-   
-   RETURN_TRUE;
+   PHP_POSIX_SINGLE_ARG_FUNC(setuid);
 }
 /* }}} */
 
@@ -297,17 +266,7 @@
Set group id (POSIX.1, 4.2.2) */
 PHP_FUNCTION(posix_setgid)
 {
-   long gid;
-
-   if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, l, gid) == FAILURE)
-   return;
-
-   if (setgid(gid)  0) {
-   POSIX_G(last_error) = errno;
-   RETURN_FALSE;
-   }
-   
-   RETURN_TRUE;
+   PHP_POSIX_SINGLE_ARG_FUNC(setgid);
 }
 /* }}} */
 
@@ -316,17 +275,7 @@
 #ifdef HAVE_SETEUID
 PHP_FUNCTION(posix_seteuid)
 {
-   long euid;
-
-   if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, l, euid) == FAILURE)
-   return;
-
-   if (seteuid(euid)  0) {
-   POSIX_G(last_error) = errno;
-   RETURN_FALSE;
-   }
-   
-   RETURN_TRUE;
+   PHP_POSIX_SINGLE_ARG_FUNC(seteuid);
 }
 #endif
 /* }}} */