* autoload.cc (CreateSymbolicLink): Define.

* environ.cc (set_winsymlinks): Set allow_winsymlinks.
	(parse_thing): Change "winsymlinks" to set by function.
	* globals.cc (enum winsym_t): Define.
	(allow_winsymlinks): Define as winsym_t.
	(ro_u_afs): New R/O Unicode string.
	* mount.cc (fs_info::update): Fix comment.  Handle AFS.
	(fs_names): Add "afs".
	* mount.h (enum fs_info_type): Add afs.
	(class fs_info): Implement afs.
	* path.cc (symlink): Drop third parameter in call to symlink_worker.
	(symlink_nfs): New function.
	(symlink_native): New function.
	(symlink_worker): Drop third argument.  Handle native symlink type by
	calling symlink_native.  Move code to handle NFS to symlink_nfs.  Fix
	formatting.  Slightly restructure code.
	* path.h (class path_conv): Add fs_is_afs method.
	(symlink_worker): Declare here.
	* security.h: Define privilege constants as unsigned int instead of as
	unsigned long.
	* syscalls.cc (mknod_worker): Set third parameter in symlink_worker
	call to WSYM_lnk.
	* winsup.h (symlink_worker): Drop declaration here.
This commit is contained in:
Corinna Vinschen
2013-04-24 10:16:13 +00:00
parent bd91f4a96a
commit 9ecd475cd8
11 changed files with 246 additions and 92 deletions

View File

@ -30,41 +30,41 @@ details. */
#define NO_SID ((PSID)NULL)
#ifndef SE_CREATE_TOKEN_PRIVILEGE
#define SE_CREATE_TOKEN_PRIVILEGE 2UL
#define SE_ASSIGNPRIMARYTOKEN_PRIVILEGE 3UL
#define SE_LOCK_MEMORY_PRIVILEGE 4UL
#define SE_INCREASE_QUOTA_PRIVILEGE 5UL
#define SE_MACHINE_ACCOUNT_PRIVILEGE 6UL
#define SE_TCB_PRIVILEGE 7UL
#define SE_SECURITY_PRIVILEGE 8UL
#define SE_TAKE_OWNERSHIP_PRIVILEGE 9UL
#define SE_LOAD_DRIVER_PRIVILEGE 10UL
#define SE_SYSTEM_PROFILE_PRIVILEGE 11UL
#define SE_SYSTEMTIME_PRIVILEGE 12UL
#define SE_PROF_SINGLE_PROCESS_PRIVILEGE 13UL
#define SE_INC_BASE_PRIORITY_PRIVILEGE 14UL
#define SE_CREATE_PAGEFILE_PRIVILEGE 15UL
#define SE_CREATE_PERMANENT_PRIVILEGE 16UL
#define SE_BACKUP_PRIVILEGE 17UL
#define SE_RESTORE_PRIVILEGE 18UL
#define SE_SHUTDOWN_PRIVILEGE 19UL
#define SE_DEBUG_PRIVILEGE 20UL
#define SE_AUDIT_PRIVILEGE 21UL
#define SE_SYSTEM_ENVIRONMENT_PRIVILEGE 22UL
#define SE_CHANGE_NOTIFY_PRIVILEGE 23UL
#define SE_REMOTE_SHUTDOWN_PRIVILEGE 24UL
#define SE_UNDOCK_PRIVILEGE 25UL
#define SE_SYNC_AGENT_PRIVILEGE 26UL
#define SE_ENABLE_DELEGATION_PRIVILEGE 27UL
#define SE_MANAGE_VOLUME_PRIVILEGE 28UL
#define SE_IMPERSONATE_PRIVILEGE 29UL
#define SE_CREATE_GLOBAL_PRIVILEGE 30UL
#define SE_CREATE_TOKEN_PRIVILEGE 2U
#define SE_ASSIGNPRIMARYTOKEN_PRIVILEGE 3U
#define SE_LOCK_MEMORY_PRIVILEGE 4U
#define SE_INCREASE_QUOTA_PRIVILEGE 5U
#define SE_MACHINE_ACCOUNT_PRIVILEGE 6U
#define SE_TCB_PRIVILEGE 7U
#define SE_SECURITY_PRIVILEGE 8U
#define SE_TAKE_OWNERSHIP_PRIVILEGE 9U
#define SE_LOAD_DRIVER_PRIVILEGE 10U
#define SE_SYSTEM_PROFILE_PRIVILEGE 11U
#define SE_SYSTEMTIME_PRIVILEGE 12U
#define SE_PROF_SINGLE_PROCESS_PRIVILEGE 13U
#define SE_INC_BASE_PRIORITY_PRIVILEGE 14U
#define SE_CREATE_PAGEFILE_PRIVILEGE 15U
#define SE_CREATE_PERMANENT_PRIVILEGE 16U
#define SE_BACKUP_PRIVILEGE 17U
#define SE_RESTORE_PRIVILEGE 18U
#define SE_SHUTDOWN_PRIVILEGE 19U
#define SE_DEBUG_PRIVILEGE 20U
#define SE_AUDIT_PRIVILEGE 21U
#define SE_SYSTEM_ENVIRONMENT_PRIVILEGE 22U
#define SE_CHANGE_NOTIFY_PRIVILEGE 23U
#define SE_REMOTE_SHUTDOWN_PRIVILEGE 24U
#define SE_UNDOCK_PRIVILEGE 25U
#define SE_SYNC_AGENT_PRIVILEGE 26U
#define SE_ENABLE_DELEGATION_PRIVILEGE 27U
#define SE_MANAGE_VOLUME_PRIVILEGE 28U
#define SE_IMPERSONATE_PRIVILEGE 29U
#define SE_CREATE_GLOBAL_PRIVILEGE 30U
/* Starting with Vista */
#define SE_TRUSTED_CREDMAN_ACCESS_PRIVILEGE 31UL
#define SE_RELABEL_PRIVILEGE 32UL
#define SE_INCREASE_WORKING_SET_PRIVILEGE 33UL
#define SE_TIME_ZONE_PRIVILEGE 34UL
#define SE_CREATE_SYMBOLIC_LINK_PRIVILEGE 35UL
#define SE_TRUSTED_CREDMAN_ACCESS_PRIVILEGE 31U
#define SE_RELABEL_PRIVILEGE 32U
#define SE_INCREASE_WORKING_SET_PRIVILEGE 33U
#define SE_TIME_ZONE_PRIVILEGE 34U
#define SE_CREATE_SYMBOLIC_LINK_PRIVILEGE 35U
#define SE_MAX_WELL_KNOWN_PRIVILEGE SE_CREATE_SYMBOLIC_LINK_PRIVILEGE