summaryrefslogtreecommitdiffstats
path: root/winsup/utils
Commit message (Collapse)AuthorAgeFilesLines
* Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout optioncygwin-2_5_2-releaseCorinna Vinschen2016-06-2335-110/+30
| | | | | | | | | | | | | | Bump GPLv2+ to GPLv3+ for some files, clarify BSD 2-clause. Everything else stays under GPLv3+. New Linking Exception exempts resulting executables from LGPLv3 section 4. Add CONTRIBUTORS file to keep track of licensing. Remove 'Copyright Red Hat Inc' comments. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* winsup/utils: port getconf to 64-bitYaakov Selkowitz2016-04-041-12/+23
| | | | | | | The available specifications obviously differ on 32-bit and 64-bit, as already handled in <sys/features.h>. Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
* Update autoconf for doc/lsaauth/utilsPeter Foley2016-04-011-4/+4
| | | | | | | | | | | | | | | | | Don't use obsolete LIB_AC_PROG_CC. Run autoupdate. winsup/ChangeLog: doc/aclocal.m4: delete lsaauth/aclocal.m4: ditto doc/configure.ac: refactor and update lsaauth/configure.ac: ditto utils/configure.ac: ditto doc/configure: regenerate lsaauth/configure: regenerate utils/configure: regenerate Signed-off-by: Peter Foley <pefoley2@pefoley.com>
* Replace AC_CANONICAL_SYSTEM with AC_CANONICAL_TARGET, fix AC_INIT usageCorinna Vinschen2016-03-302-2/+1
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* winsup: Move all old CVS Changelogs into CVSChangeLogs.old dirCorinna Vinschen2016-03-194-4721/+0
|
* Remove ill-advised cygwin_propsCorinna Vinschen2016-03-191-116/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Cygwin_props have been invented to allow switching off the unique installation keys in the first place, supposedly for debugging. This never really was a good idea, after all we *want* the installations to be independent and there's no good reason to break that, not even for debugging purposes. Other than that, cygwin_props were meant to be used for some other global settings which never took place. There's just no good reason to tweak the DLL binary invisibly where a setting could be done in a file or the environment. This patch removes the cygwin_props entirely, including the related settings in cygcheck. cygwin: * cygprops.h: Remove file. * globals.cc (cygwin_props): Remove. * cygheap.cc (init_cygheap::init_installation_root): Drop removing installation key. utils: * cygcheck.cc: Drop including cygprops.h. Remove now unused option values. (unique_object_name_opt): Remove. (handle_unique_object_name): Remove function. (usage): Remove text for unique-object-names options. (longopts): Remove unique-object-names options. (main): Drop handling unique-object-names options. doc: * utils.xml (cygcheck): Remove text for unique-object-names options. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Attempt to fix Coverity issues in sspJon Turney2016-03-151-6/+17
| | | | | | | | | | * ssp.c (lookup_thread_id): Consistently check if tix is a null pointer. (run_program): Annotate that STATUS_BREAKPOINT falls-through to STATUS_SINGLE_STEP case. (main): Guard against high_pc-low_pc overflow and malloc failure. Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
* Implement POSIX.1e ACL functionsCorinna Vinschen2016-03-082-4/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Makefile.in (DLL_OFILES): Add sec_posixacl.o. (SUBLIBS): Add libacl.a (libacl.a): New rule to create libacl.a. * common.din: Export POSIX ACL functions as well as most libacl.a extensions. * fhandler.h (fhander_base::acl_get): New prototype. (fhander_base::acl_set): Ditto. (fhandler_disk_file::acl_get): Ditto. (fhandler_disk_file::acl_set): Ditto. * include/acl/libacl.h: New file. * include/cygwin/version.h: Bump API minor version. * include/sys/acl.h: Drop including cygwin/acl.h. Accommodate throughout Cygwin. Add POSIX ACL definitions. * sec_acl.cc: Include sec_posixacl.h. Replace ILLEGAL_UID and ILLEGAL_GID with ACL_UNDEFINED_ID where sensible. (__aclcheck): New internal acl check function to be used for Solaris and POSIX ACLs. (aclcheck32): Call __aclcheck. (__aclcalcmask): New function to compute ACL_MASK value. (__aclsort): New internal acl sort function to be used for Solaris and POSIX ACLs. (aclsort32): Call __aclsort. (permtostr): Work directly on provided buffer. (__acltotext): New internal acltotext function to be used for Solaris and POSIX ACLs. (acltotext32): Call __acltotext. (__aclfromtext): New internal aclfromtext function to be used for Solaris and POSIX ACLs. (aclfromtext32): Call __aclfromtext. * sec_posixacl.cc: New file implemeting POSIX ACL functions. * sec_posixacl.h: New internal header. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* ssp: Fixes for 64-bitJon Turney2016-02-201-105/+119
| | | | | | | | | | | | | | | Fix various 32/64-bit portability issues in ssp, the single-step profiler, and also build it for 64-bit. This didn't turn out to actually be very useful for what I wanted to use it for, so it's only been lightly tested. It appears that on x86_64, single-step exceptions occur for much more of the code in system DLLs, unlike x86, so ssp may take much, much longer to profile some programs. There is existing code to use breakpoints to mitigate this, but that is currently disabled. Signed-off-by: Jon Turney <jon.turney@dronecode.org.uk>
* cygpath: Avoid returning SysWOW64Corinna Vinschen2016-01-211-0/+13
| | | | | | | | | | | | | | | | | | | | | On Cygwin 32 running under WOW64: When case-correcting the path fetched with -S, the underlying Windows function fetching the normalized path returns the real path C:\Windows\SysWOW64 instead of the path redirection enabled C:\Windows\System32 path. This breaks using the result of `cygpath -S' to fetch the POSIX path of the network related files under SYSTEMROOT\drivers\etc. This path is in fact under the *real* C:\Windows\System32 and only mapped into the 32 bit C:\Windows\System32 (aka C:\Windows\SysWOW64) via path redirection. Sounds messy? This patch checks if we're running under WOW64. If so, it changes the path returned by GetSystemDirectoryW from "system32" to "Sysnative". This in turn is changed to "System32" by NtQueryInformationFile, so we're back to what we need. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Deprecate all winsup ChangeLog filesCorinna Vinschen2016-01-072-4288/+4289
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* cygpath: Try to return system directories with correct caseCorinna Vinschen2016-01-071-14/+36
| | | | | | | | | * cygpath.cc (do_sysfolders): Drop lame workaround to fix case of directory returned by GetSystemDirectoryW. Try to fix case of any path returned by this function in case it has to return a POSIX path to support case-sensitivity. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* setfacl: Remove unused local variableCorinna Vinschen2015-12-252-1/+5
| | | | | | * setfacl.cc (delacl): Remove unused local variable. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* setfacl(1): Fix handling of -m and -x on a single commandlineCorinna Vinschen2015-12-212-9/+28
| | | | | | | | * setfacl.cc (delace): New helper function to delete a single ACE. (delacl): Call delace. (modacl): Ditto, if entry is supposed to get deleted. Align comments. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* setfacl(1): Rewrite support for mask recomputationCorinna Vinschen2015-12-212-30/+62
| | | | | | | | | | | | | | | | * setfacl.cc (modacl): Move recomputing mask into new function. (check_got_mask): New function checking if mask is in input. (recompute_mask): New function to recompute mask. (addmissing): Align mask computation to Linux setfacl. (setfacl): Call check_got_mask and recompute_mask on Set, Delete and Modify actions. (usage): Rename --substitute to --set. (longopts): Add --set option. * utils.xml (setfacl): Rename --substitute to --set. * new-features.xml (ov-new2.4): Rephrase setfacl changes. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* setfacl --mask/--no-mask really don't need an argumentHouder2015-12-202-2/+7
| | | | | | | * setfacl.cc (longopts): Drop accidentally requiring an argument to the --mask and --no-mask options. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Fix missing arg requirement for setfacl -x optionHouder2015-12-192-1/+5
| | | | | | * setfacl.cc (opts): Add colon to x option. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Allow cygwin_conv_path(3) and cygpath(1) to emit /proc/cygdrive prefixed pathCorinna Vinschen2015-12-062-6/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * include/sys/cygwin.h (CCP_PROC_CYGDRIVE): New flag. * mount.cc (mount_info::cygdrive_posix_path): Take flag values rather than just a trailing_slash_p bool. Emit /proc/cygdrive path if CCP_PROC_CYGDRIVE flag is given. (mount_info::conv_to_posix_path): Take flag values rather than just a keep_rel_p bool. Rename _p variables. Print flag value as hex in debug_printf. Call cygdrive_posix_path with flag values. * mount.h (mount_info::cygdrive_posix_path): Accommodate above change in declaration. (mount_info::conv_to_posix_path): Ditto. * fhandler_process.cc (format_process_exename): Accommodate change to mount_info::conv_to_posix_path. * path.cc (cygwin_conv_path): Ditto. * cygpath.cc (absolute_flag): Initialize to CCP_RELATIVE to simplify expressions. (cygdrive_flag): New global flag. (long_options): Add --proc-cygdrive option. (options): Add -U option. (usage): Add description for -U option. (do_sysfolders): Or cygdrive_flag to cygwin_conv_path call. (do_pathconv): Simply or absolute_flag to conv_func. Or cygdrive_flag to conv_func. (do_options): Initalize absolute_flag to CCP_RELATIVE. Initialize new cygdrive_flag. Set absolute_flag to CCP_ABSOLUTE on -a. Set cygdrive_flag to CCP_PROC_CYGDRIVE on -U. * new-features.xml (ov-new2.4): Document cygpath -U option. * utils.xml (cygpath): Ditto. * path.xml (func-cygwin-path): Add CCP_PROC_CYGDRIVE description. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Fix SEGV of kill -l 0Michael Kwasigroch2015-11-262-3/+8
| | | | | | | * kill.cc (strsigno): Don't call sys_sigabbrev for signal 0. (listsig): Don't call strsigno for signal 0. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* setfacl: Allow to combine -b and -k optionsCorinna Vinschen2015-11-182-125/+138
| | | | | | | | | | | | | | | * setfacl.c (action_t): Rename DeleteAll to DeleteExt. Add DeleteAll. Rearrange for bit-wise testing later in the code. (delallacl): Handle -b -k combination. (setfacl): Handle DeleteExt/DeleteAll. (usage): Fix -b/-k output. Rearrange output to better fill 80 columns. (main): Allow to combine -b and -k. * utils.xml (setfacl): Accommodate -b/-k change. * new-features.xml (ov-new2.3): Add setfacl -b/-k change. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Reapply POSIX ACL changes.Corinna Vinschen2015-11-183-193/+407
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - New, unified implementation of POSIX permission and ACL handling. The new ACLs now store the POSIX ACL MASK/CLASS_OBJ permission mask, and they allow to inherit the S_ISGID bit. ACL inheritance now really works as desired, in a limited, but theoretically equivalent fashion even for non-Cygwin processes. To accommodate Windows default ACLs, the new code ignores SYSTEM and Administrators group permissions when computing the MASK/CLASS_OBJ permission mask on old ACLs, and it doesn't deny access to SYSTEM and Administrators group based on the value of MASK/CLASS_OBJ when creating the new ACLs. The new code now handles the S_ISGID bit on directories as on Linux: Setting S_ISGID on a directory causes new files and subdirs created within to inherit its group, rather than the primary group of the user who created the file. This only works for files and directories created by Cygwin processes. 2015-05-29 Corinna Vinschen <corinna@vinschen.de> Reapply POSIX ACL changes. * utils.xml (setfacl): Show new option output. (getfacl): Show new option output. * sec_acl.cc (get_posix_access): Check for Cygwin "standard" ACL. Apply umask, if so. Align comments. * security.cc (set_created_file_access): Fix permission masking by incoming requested file mode. * sec_acl.cc (set_posix_access): Apply mask only in terms of execute bit for SYSTEM and Admins group. * sec_acl.cc (set_posix_access): Don't create DENY ACEs for USER and GROUP entries if they are the same as USER_OBJ or GROUP_OBJ. * fhandler.h (fhandler_pty_slave::facl): Add prototype. * fhandler_tty.cc (fhandler_pty_slave::facl): New method. (fhandler_pty_slave::fchown): Fix uid/gid handling. * sec_acl.cc (set_posix_access): Drop superfluous class_idx variable. Simplify and move around code in a few places. To improve ACL readability, add r/w permissions to Admins ACE appended to pty ACL. Add comment to explain Windows ACE Mask filtering being in the way of creating a real CLASS_OBJ. (get_posix_access): Fake CLASS_OBJ for ptys. Explain why. * security.cc (get_object_attribute): Add S_IFCHR flag to attributes when calling get_posix_access. * sec_acl.cc (set_posix_access): Move merging group perms into owner perms in case of owner == group after mask has been computed. Take mask into account when doing so to avoid unnecessary ACCESS_DENIED_ACE. * sec_acl.cc (get_posix_access): Only set saw_group_obj flag if we saw the ACCESS_ALLOWED_ACE. * fhandler_disk_file.cc (fhandler_disk_file::fchmod): Deliberatly set GROUP_OBJ and CLASS_OBJ perms to new group perms. Add comment to explain why. * security.cc (set_created_file_access): Ditto. * sec_acl.cc (set_posix_access): Replace previous patch. Return EINVAL if uid and/or guid is invalid and not backed by an actual Windows account. * sec_acl.cc (set_posix_access): Workaround owner/group SIDs being NULL. * sec_acl.cc (set_posix_access): Handle files with owner == group. Rephrase switch statement checking against unfiltered a_type value. (get_posix_access): Handle files with owner == group. * sec_acl.cc (get_posix_access): Don't use GROUP_OBJ access to fix up CLASS_OBJ mask on old-style ACLs. Fix a comment. * sec_acl.cc (set_posix_access): Always make sure Admins have WRITE_DAC and WRITE_OWNER permissions. * security.h (create_object_sd_from_attribute): Drop handle parameter from prototype. * security.cc (create_object_sd_from_attribute): Drop handle parameter. Just create the standard POSIXy security descriptor. (set_object_attribute): Accommodate dropped paramter in call to create_object_sd_from_attribute. * fhandler_tty.cc: Ditto, throughout. * fhandler_disk_file.cc (fhandler_disk_file::fchmod): Fix typo in mask computation. * fhandler.cc (fhandler_base::open_with_arch): Call open with mode not umasked. (fhandler_base::open): Explicitely umask mode on NFS here. Call new set_created_file_access rather than set_file_attribute. * fhandler_disk_file.cc (fhandler_disk_file::fchmod): Reimplement setting permissions on filesystems supporting ACLs using the new set_posix_access call. (fhandler_disk_file::fchown): Ditto. (fhandler_disk_file::mkdir): Call new set_created_file_access rather than set_file_attribute. * fhandler_socket.cc (fhandler_socket::bind): Don't umask here. Add WRITE_OWNER access to allow writing group in case of SGID bit set. Call new set_created_file_access rather than set_file_attribute. * path.cc (symlink_worker): Call new set_created_file_access rather than set_file_attribute. * sec_acl.cc (searchace): Un-staticize. (set_posix_access): New, complementary functionality to get_posix_access. (setacl): Implement in terms of get_posix_access/set_posix_access. (get_posix_access): Add handling for just created files requiring their first Cygwin ACL. Fix new_style recognition. Handle SGID bit. For old-style ACLs, ignore SYSTEM and Administrators when computing the {DEF_}CLASS_OBJ perms. * security.cc (get_file_sd): Revamp comment. Change and (hopefully) speed up inheritance processing for just created files. (alloc_sd): Remove. (set_security_attribute): Call set_posix_access instead of alloc_sd. (get_object_attribute): Fix return value. (create_object_sd_from_attribute): Call set_posix_access instead of alloc_sd. (set_file_attribute): Remove. (set_created_file_access): New function implemented in terms of get_posix_access/set_posix_access. * security.h (set_file_attribute): Remove prototype. (set_created_file_access): Add prototype. (searchace): Ditto. (set_posix_access): Ditto. * syscalls.cc (open): Call open_with_arch with mode not umasked. * sec_acl.cc: Change preceeding comment explaining new-style ACLs. Describe how to generate deny ACEs in more detail. Accommodate the fact that a NULL deny ACE is used for {DEF_}CLASS_OBJ, rather than a special Cygwin ACE. Improve further comments. (CYG_ACE_NEW_STYLE): Define. (get_posix_access): Change from Cygwin ACE to NULL deny ACE. Fix CLASS_OBJ handling to generate CLASS_OBJ and DEF_CLASS_OBJ from a single NULL deny ACE if the inheritance flags say so. * sec_helper.cc (well_known_cygwin_sid): Remove. * security.h (well_known_cygwin_sid): Drop declaration. * sec_acl.cc (CYG_ACE_ISBITS_TO_WIN): Fix typo. (get_posix_access): Rename index variable from i to idx. Define only once at top level. * security.cc (add_access_allowed_ace): Drop unused parameter "offset". Accommodate throughout. (add_access_denied_ace): Ditto. * sec_acl.cc: Accommodate above change throughout. * security.h (add_access_allowed_ace): Adjust prototype to above change. (add_access_denied_ace): Ditto. * sec_acl.cc (get_posix_access): Handle multiple ACEs for the owner and primary group of the file. Handle the default primary group ACE as DEF_GROUP_OBJ entry if the directory has the S_ISGID bit set. Add comments. Minor code rearrangements. Preliminary read side implementation of new permission handling. * acl.h (MAX_ACL_ENTRIES): Raise to 2730. Add comment to explain. * sec_acl.cc: Add leading comment to explain new ACL style. Add definitions and macros to use for bits in new Cygwin ACL. (DENY_RWX): New mask value for all temporary deny bits. (getace): Add bool parameter to decide when leaving all bits intact, rather than filtering them per the already set bits. (get_posix_access): New function, taking over functionality to read POSIX ACL from SECURITY_DESCRIPTOR. (getacl): Just call get_posix_access. * sec_helper.cc (well_known_cygwin_sid): Define. * security.cc (get_attribute_from_acl): Remove. (get_info_from_sd): Remove. (get_reg_sd): Call get_posix_access instead of get_info_from_sd. (get_file_attribute): Ditto. (get_object_attribute): Ditto. * security.h (well_known_cygwin_sid): Declare. (get_posix_access): Add prototype. * Throughout, use simpler ACE macros from Windows' accctrl.h. * getfacl.c (main): Special-case SYSTEM and Admins group. Add comments. * setfacl.c: Align more to Linux tool. (delacl): New function to delete acl entries only. (modacl): Drop delete functionality. Add handling of recomputing the mask and default mask values. (delallacl): Rename from delacl. (setfacl): Call delacl in Delete case. Call delallacl in DeleteAll and DeleteDef case. (usage): Accommodate new options. Rearrange and rephrase slightly. (longopts): Emit 'x' in --delete case. Add --no-mask and --mask options. (opts): Add -x and -n options. (main): Handle -d and -x the same. Handle -n and --mask options. Drop handling for -r option. * getfacl.c (usage): Align more closely to Linux version. Add new options -c, -e, -E. Change formatting to accommodate longer options. (longopts): Rename --noname to --numeric. Keep --noname for backward compatibility. Add --omit-header, --all-effective and --no-effective options. (opts): Add -c, -e and -E option. (main): Handle new -c, -e, and -E options. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* winsup/utils: add CPU cache variables to getconf(1)Yaakov Selkowitz2015-10-222-0/+19
| | | | | | * getconf.c (conf_table): Add LEVEL*_CACHE_* variables. Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
* cygcheck.cc: Fix missing commas in products arrayCorinna Vinschen2015-08-302-5/+9
| | | | | | * cygcheck.cc (dump_sysinfo): Fix missing commas in products array. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* cygcheck.cc: Fix debugger problemCorinna Vinschen2015-08-302-4/+13
| | | | | | | * cygcheck.cc (load_cygwin): Only unload cygwin DLL if not running under a debugger. Explain why. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* cygcheck.cc: Handle W10/2016 sysinfoCorinna Vinschen2015-08-302-27/+68
| | | | | | | * cygcheck.cc (dump_sysinfo): Correctly handle Windows 10/Server 2016. Add missing product types. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* cygcheck.cc: Fix downlevel DLL handlingCorinna Vinschen2015-08-302-2/+12
| | | | | | | * cygcheck.cc (track_down): Skip error output for "api-ms-win-" downlevel DLLs. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* strace: Handle ofile descriptor more carefully.cygwin-2_2_0-releaseCorinna Vinschen2015-08-032-6/+13
| | | | | | | | | Fix coverity CIDs 128250 - 128252 * strace.cc (main2): Don't call setvbuf on NULL descriptor. Explicitely fclose ofile. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* cygwin: Fix copyright datesCorinna Vinschen2015-07-292-2/+2
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* cygwin: Fix crashes under AllocationPreference=0x100000 conditionCorinna Vinschen2015-07-292-2/+22
| | | | | | | | | | | | | * cygtls.h: Include cygtls_padsize.h and define CYGTLS_PADSIZE there. * cygtls_padsize.h: New file. Define CYGTLS_PADSIZE. * environ.cc (parse_options): Fix NULL pointer access. * init.cc (threadfunc_fe): Do not force stack align on x86_64. * strace.cc (main2): Rename from main. (main): Make room for _cygtls area on stack and just call main2. Add comment to explain why. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Fix potential hang in ldd if DLL encounters missing entry pointCorinna Vinschen2015-07-202-4/+11
| | | | | | | * ldd.cc (STATUS_DLL_NOT_FOUND): Drop definition. (report): Handle STATUS_ENTRYPOINT_NOT_FOUND exception. Explain why. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* tzset: Check timezone and country case-insensitiveCorinna Vinschen2015-07-082-2/+6
| | | | | | * tzset.c (main): Check timezone and country case-insensitive. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Improve strace to log most Windows debug eventsJon TURNEY2015-06-112-2/+79
| | | | | | | | | | | | | | | | | | | | Not sure if this is wanted, but on a couple of occasions recently I have been presented with strace output which contains an exception at an address in an unknown module (i.e. not in the cygwin DLL or the main executable), so here is a patch which adds some more information, including DLL load addresses, to help interpret such straces. v2: Use NtQueryObject() for HANDLE -> filename conversion Add new '-e' option to toggle this additional logging 2015-06-07 Jon Turney <jon.turney@dronecode.org.uk> * strace.cc (proc_child): Log process and thread create and exit, and DLL load and unload. (GetFileNameFromHandle): New function. Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
* Drop Windows 2000 considerations in ps, fix uid field lengthCorinna Vinschen2015-06-102-31/+22
| | | | | | | | * ps.cc (main): Widen UID field in long format to accommodate longer UIDs since Cygwin 1.7.34. Remove Windows 2000 considerations. Fix comments accordingly. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Bind mounts require POSIX pathsCorinna Vinschen2015-06-082-2/+12
| | | | | | | * path.cc (from_fstab_line): Don't convert slashes to backslashes for bind mounts. Explain why. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Asia/Calcutta -> Asia/Kolkata (not on unicode.org)Corinna Vinschen2015-04-233-4/+13
| | | | | | | * tzmap-from-unicode.org: Convert Calcutta to Kolkata. * tzmap.h: Regenerate. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* * getfacl.c (usage): Change --all to --access, --dir to --default.Corinna Vinschen2015-02-282-6/+12
| | | | | Align text to output of Linux tool. (longopts): Add --access and --default options.
* * mkgroup.c (MAX_SID_LEN): Remove. Instead, use SECURITY_MAX_SID_SIZECorinna Vinschen2015-02-253-49/+61
| | | | | | | throughout. (enum_unix_groups): Introduce numeric_psid and rearrange code to avoid potential heap corruption. * mkpasswd.c: Ditto.
* * dump_setup.cc (check_package_files): Accommodate postinstallKen Brown2015-02-172-1/+7
| | | | | files in any directory whose name contains "/postinstall/", not just /etc/postinstall.
* * regtool.cc (longopts): Add --force option.Corinna Vinschen2015-02-032-27/+51
| | | | | | | | | | | (opts): Add -f option. (restore_flags): New variable. (usage): Clarify working of save action. Add restore action. Add description for -f/--force option. (set_privilege): Drop function. The Cygwin DLL is doing that anyway. (cmd_save): Drop call to set_privilege. (cmd_restore): New function. (main): Handle -f/--force option.
* * setfacl.c (action_t): Add DeleteDef value.Corinna Vinschen2014-12-152-7/+37
| | | | | | | | | | (delacl): Take new parameter to differe between DeleteAll and DeleteDef. Extend conditional to handle DefaultDef. Change comment accordingly. (setfacl): Call delacl in DefaultDef case as well. (usage): Add and describe -k option. Add -k to require options. (longopts): Add --remove-default option. (opts): Add -k option. (main): Handle -k option.
* * tzmap-from-unicode.org: Create tzmap as const.Corinna Vinschen2014-12-053-2/+7
| | | | * tzmap.h: Regenerate.
* * Makefile.in: Add rules to create and depend on tzmap.h.Corinna Vinschen2014-12-055-489/+627
| | | | | | | * tzmap-from-unicode.org: New script to create tzmap.h. * tzmap.h: New auto-generated file. * tzset.c: Drop tzmap from here and include tzmap.h instead. Drop Windows 2000 considerations.
* * mkgroup.c (main): Call enum_local_groups with offset 0x30000 for localCorinna Vinschen2014-11-282-2/+8
| | | | machine, too.
* * mkgroup.c (main): Call enum_groups with offset 0x30000 for localCorinna Vinschen2014-11-273-12/+24
| | | | | | | | machine, same as from DB. * mkpasswd.c (enum_unix_users): Set pw_passwd field to '*'. (enum_users): Ditto. (main): Call enum_users with offset of 0x30000 for local machine, same as from DB.
* * passwd.c (GetPW): If server is NULL, and the user is not a localCorinna Vinschen2014-11-242-14/+41
| | | | | | | | user, try to fetch the DC to use as server. (ChangePW): Get Windows username via extra parameter. (usage): Reduce -d help text to reflect above change. (main): Fix typo in comment. Call GetPW and ChangePW as per the changes above.
* * mkgroup.c (usage): Fix language.Corinna Vinschen2014-11-123-40/+45
| | | | * mkpasswd.c (usage): Ditto.
* * mkgroup.c (enum_unix_groups): Always print groupname with machineCorinna Vinschen2014-11-123-29/+79
| | | | | | | | | prefix. (usage): Extend help output for -l option. (main): Drop superfluous goto and label. Make machine prefixing for local machine when using -l option dependend on options in /etc/nsswitch.conf. * mkpasswd.c: Ditto.
* * cygcheck.cc (dump_sysinfo): Handle Windows 10/Server 2014(?).Corinna Vinschen2014-11-104-30/+57
|
* Add accidentally missing patchCorinna Vinschen2014-11-031-1/+1
|
* * mkgroup.c (enum_local_groups): Don't generate leading separator charCorinna Vinschen2014-11-031-0/+5
| | | | for builtin accounts.