version 1.1, 2012/02/21 23:47:52
|
version 1.1.1.3, 2013/07/22 01:32:14
|
Line 2
|
Line 2
|
+----------------------------------------------------------------------+ |
+----------------------------------------------------------------------+ |
| PHP Version 5 | |
| PHP Version 5 | |
+----------------------------------------------------------------------+ |
+----------------------------------------------------------------------+ |
| Copyright (c) 1997-2012 The PHP Group | | | Copyright (c) 1997-2013 The PHP Group | |
+----------------------------------------------------------------------+ |
+----------------------------------------------------------------------+ |
| This source file is subject to version 3.01 of the PHP license, | |
| This source file is subject to version 3.01 of the PHP license, | |
| that is bundled with this package in the file LICENSE, and is | |
| that is bundled with this package in the file LICENSE, and is | |
Line 190 Finished:
|
Line 190 Finished:
|
return NULL; |
return NULL; |
} |
} |
|
|
TSRM_API int tsrm_win32_access(const char *pathname, int mode) | TSRM_API int tsrm_win32_access(const char *pathname, int mode TSRMLS_DC) |
{ |
{ |
time_t t; |
time_t t; |
HANDLE thread_token; | HANDLE thread_token = NULL; |
PSID token_sid; |
PSID token_sid; |
SECURITY_INFORMATION sec_info = OWNER_SECURITY_INFORMATION | GROUP_SECURITY_INFORMATION | DACL_SECURITY_INFORMATION; |
SECURITY_INFORMATION sec_info = OWNER_SECURITY_INFORMATION | GROUP_SECURITY_INFORMATION | DACL_SECURITY_INFORMATION; |
GENERIC_MAPPING gen_map = { FILE_GENERIC_READ, FILE_GENERIC_WRITE, FILE_GENERIC_EXECUTE, FILE_ALL_ACCESS }; |
GENERIC_MAPPING gen_map = { FILE_GENERIC_READ, FILE_GENERIC_WRITE, FILE_GENERIC_EXECUTE, FILE_ALL_ACCESS }; |
Line 208 TSRM_API int tsrm_win32_access(const char *pathname, i
|
Line 208 TSRM_API int tsrm_win32_access(const char *pathname, i
|
realpath_cache_bucket * bucket = NULL; |
realpath_cache_bucket * bucket = NULL; |
char * real_path = NULL; |
char * real_path = NULL; |
|
|
TSRMLS_FETCH(); |
|
|
|
if (mode == 1 /*X_OK*/) { |
if (mode == 1 /*X_OK*/) { |
DWORD type; |
DWORD type; |
return GetBinaryType(pathname, &type) ? 0 : -1; |
return GetBinaryType(pathname, &type) ? 0 : -1; |
Line 365 Finished_Impersonate:
|
Line 363 Finished_Impersonate:
|
} |
} |
|
|
Finished: |
Finished: |
|
if(thread_token != NULL) { |
|
CloseHandle(thread_token); |
|
} |
if(real_path != NULL) { |
if(real_path != NULL) { |
free(real_path); |
free(real_path); |
real_path = NULL; |
real_path = NULL; |
Line 448 static HANDLE dupHandle(HANDLE fh, BOOL inherit) {
|
Line 449 static HANDLE dupHandle(HANDLE fh, BOOL inherit) {
|
|
|
TSRM_API FILE *popen(const char *command, const char *type) |
TSRM_API FILE *popen(const char *command, const char *type) |
{ |
{ |
return popen_ex(command, type, NULL, NULL); | TSRMLS_FETCH(); |
| |
| return popen_ex(command, type, NULL, NULL TSRMLS_CC); |
} |
} |
|
|
TSRM_API FILE *popen_ex(const char *command, const char *type, const char *cwd, char *env) | TSRM_API FILE *popen_ex(const char *command, const char *type, const char *cwd, char *env TSRMLS_DC) |
{ |
{ |
FILE *stream = NULL; |
FILE *stream = NULL; |
int fno, type_len = strlen(type), read, mode; |
int fno, type_len = strlen(type), read, mode; |
Line 468 TSRM_API FILE *popen_ex(const char *command, const cha
|
Line 471 TSRM_API FILE *popen_ex(const char *command, const cha
|
HANDLE thread_token = NULL; |
HANDLE thread_token = NULL; |
HANDLE token_user = NULL; |
HANDLE token_user = NULL; |
BOOL asuser = TRUE; |
BOOL asuser = TRUE; |
|
|
TSRMLS_FETCH(); |
|
|
|
if (!type) { |
if (!type) { |
return NULL; |
return NULL; |