aboutsummaryrefslogtreecommitdiff
path: root/winsup
AgeCommit message (Collapse)AuthorFilesLines
2014-12-02 * autoload.cc (CreateEnvironmentBlock): Import.Corinna Vinschen7-10/+137
(DestroyEnvironmentBlock): Import. * environ.cc (env_compare): New static bsearch comparison function. (build_env): Add parameter taking a user token. If token is non-NULL, fetch user's default Windows environment and merge it into the resulting environment. Explain what we do in preceeding comment. * environ,h (build_env): Align prototype to above change. * external.cc (create_winenv): Call build_env with NULL token. * spawn.cc (child_info_spawn::worker): When spawning new process under another user account, call build_env with new token to allow merging user's default Windows environment. * winlean.h (_USERENV_): Define to override dllimport.
2014-12-02 * spawn.cc (child_info_spawn::worker): Fix formatting.Corinna Vinschen2-2/+6
2014-12-02 * sec_auth.cc (str2lsa): Remove.Corinna Vinschen2-20/+10
(str2buf2lsa): Remove. (lsaauth): Call RtlInitAnsiString instead of str2lsa and str2buf2lsa.
2014-12-02 * cygheap.cc (init_cygheap::init_installation_root): Fix typo inCorinna Vinschen2-1/+6
comment.
2014-12-02 * autoload.cc (IdnToAscii): Use simpler, equivalent LoadDLLfuncEx.Corinna Vinschen2-2/+7
(IdnToUnicode): Ditto.
2014-12-01 * wincap.cc (wincap_minimal): Remove.Corinna Vinschen3-12/+43
(wincaps): Drop has_physical_mem_access. (wincap_10): New global wincaps to support Windows 10. (wincapc::init): Use wincap_10 for version >= 6.4 and as default. * wincap.h (wincaps::has_physical_mem_access): remove.
2014-11-28 * cygheap.cc (init_cygheap::init_tls_list): Accommodate threadlistCorinna Vinschen8-69/+202
having a new type threadlist_t *. Convert commented out code into an #if 0. Create thread mutex. Explain why. (init_cygheap::remove_tls): Drop timeout value. Always wait infinitely for tls_sentry. Return mutex HANDLE of just deleted threadlist entry. (init_cygheap::find_tls): New implementation taking tls pointer as search parameter. Return threadlist_t *. (init_cygheap::find_tls): Return threadlist_t *. Define ix as auto variable. Drop exception handling since crash must be made impossible due to correct synchronization. Return with locked mutex. * cygheap.h (struct threadlist_t): Define. (struct init_cygheap): Convert threadlist to threadlist_t type. (init_cygheap::remove_tls): Align declaration to above change. (init_cygheap::find_tls): Ditto. (init_cygheap::unlock_tls): Define. * cygtls.cc (_cygtls::remove): Unlock and close mutex when finishing. * exceptions.cc (sigpacket::process): Lock _cygtls area of thread before accessing it. * fhandler_termios.cc (fhandler_termios::bg_check): Ditto. * sigproc.cc (sig_send): Ditto. * thread.cc (pthread::exit): Ditto. Add comment. (pthread::cancel): Ditto.
2014-11-28* Makefile.in (XSLTPROC): Remove.Yaakov Selkowitz2-6/+10
(cygwin-ug-net/cygwin-ug-net.pdf): Build with xmlto pdf. (cygwin-api/cygwin-api.pdf): Ditto. (faq/faq.html): Fix extraneous anchor removal.
2014-11-28 * cygheap.cc (init_cygheap::find_tls): Add comment.Corinna Vinschen6-57/+88
* cygtls.cc (well_known_dlls): Rephrase comment. (bloda_detect): New function. (_cygtls::call2): Call init_thread and bloda_detect for non-pthread threads only. (_cygtls::remove): Move remove_tls and remove_wq calls up to run first. * miscfuncs.cc (struct pthread_wrapper_arg): Rename from struct thread_wrapper_arg. (pthread_wrapper): Rename from thread_wrapper and drop "static". Fix comment. Drop call to _cygtls::remove. Call api_fatal rather than ExitThread. Explain why. * miscfuncs.h (pthread_wrapper): Declare pthread_wrapper. * thread.cc (pthread::exit): Add a FIXME comment. Call _cygtls::remove before calling ExitThread.
2014-11-28 * mkgroup.c (main): Call enum_local_groups with offset 0x30000 for localCorinna Vinschen2-2/+8
machine, too.
2014-11-27 * mkgroup.c (main): Call enum_groups with offset 0x30000 for localCorinna Vinschen3-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.
2014-11-27 * mount.cc (mount_info::init): Take bool argument and allow toCorinna Vinschen5-11/+40
initialize mount table in two steps, system and user, depending on bool value. * mount.h (class mount_info): Align declaration of init function to above change. * shared.cc (user_info::initialize): Initialize mount table in two steps to allow internal_getpwsid to create valid POSIX paths from DOS paths given in AD. Add comments. * uinfo.cc (cygheap_pwdgrp::get_home): Allow DOS paths in NSS_SCHEME_FREEATTR attributes. (cygheap_pwdgrp::get_shell): Ditto.
2014-11-27 * cygheap.cc (init_cygheap::find_tls): Allow to keep loop going afterCorinna Vinschen2-19/+33
access to threadlist[ix] faulted. In case of an exception, remove threadlist[ix] from threadlist only. Add comment.
2014-11-26 * Makefile.in (install): Add install-ldif target.Corinna Vinschen7-185/+913
(install-ldif): New target to install cygwin.ldif. * cygheap.h (class cygheap_pwdgrp): Rename pfx_t to nss_pfx_t. Add PFX to enum value. Add nss_scheme_method enum and nss_scheme_t structure. Add home_scheme, shell_scheme and gecos_scheme members. (NSS_SCHEME_MAX): Define. (cygheap_pwdgrp::get_home): Declare. (cygheap_pwdgrp::get_shell): Declare. (cygheap_pwdgrp::get_gecos): Declare. * cygwin.ldif: New file. * ldap.cc (std_user_attr): New array, just defining the standard attributes. (group_attr): Add cygwinUnixGid. (user_attr): Convert to macro pointing to cygheap->pg.ldap_user_attr. (cygheap_pwdgrp::init_ldap_user_attr): New method. (cyg_ldap::fetch_ad_account): Call cygheap_pwdgrp::init_ldap_user_attr if user_attr initialization is required. Fix comment. (cyg_ldap::get_string_attribute): Implement taking attribute name as argument. * ldap.h: Drop unused macros. (cyg_ldap::get_gecos): Remove. (cyg_ldap::get_home): Remove. (cyg_ldap::get_shell): Remove. (cyg_ldap::get_string_attribute): Declare name argument variant public. * uinfo.cc (cygheap_user::ontherange): Fix indentation. (cygheap_pwdgrp::init): Initialize new home_scheme, shell_scheme and gecos_scheme members. Align comment. (NSS_NCMP): Define comparison macro. (NSS_CMP): Ditto. (cygheap_pwdgrp::nss_init_line): Use aforementioned macros throughout. Fix comment handling. Add db_home, db_shell and db_gecos handling. (fetch_from_description): New function to fetch XML-style attributes from (description) string. (fetch_from_path): New function to evaluate path string with wildcards. (cygheap_pwdgrp::get_home): New methods to fetch pw_dir value. (cygheap_pwdgrp::get_shell): Ditto for pw_shell. (cygheap_pwdgrp::get_gecos): Ditto for pw_gecos. (colon_to_semicolon): Move up. (pwdgrp::fetch_account_from_windows): Convert home, shell, gecos variables to char*. Drop statement breaking extended group info. Fetch home, shell and gecos values using new methods. Use fetch_from_description calls to fetch UNIX id and primary groups from SAM comment field. Accommodate uxid being a char* now. Accommodate the fact that extended info is malloc'ed, rather then alloca'ed. Create linebuf content as multibyte string. Create line buffer by just calling cstrdup.
2014-11-25 * include/fcntl.h: Move all open flags (except O_NDELAY) to newlib'sCorinna Vinschen2-15/+7
sys/_default_fcntl.h.
2014-11-25 * binmode.c (cygwin_premain0): Don't use underscore'd variants of theCorinna Vinschen3-6/+12
open flags. * textmode.c (cygwin_premain0): Ditto.
2014-11-24 * utils.xml (passwd): Align to latest changes.Corinna Vinschen2-8/+11
2014-11-24 * passwd.c (GetPW): If server is NULL, and the user is not a localCorinna Vinschen2-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.
2014-11-21 * init.cc (dll_entry): Revert previous patch. This requires anotherCorinna Vinschen4-4/+23
solution. * miscfuncs.cc (thread_wrapper): Ditto. * sigproc.cc (exit_thread): Disable sending a signal for synchronization with process exit. Explain why. Keep code in for later inspection, should the problem show up again. (sig_send): Use "tls", rather than "tid" as name for _cygtls arg.
2014-11-20 * init.cc (dll_entry): Call _my_tls.remove with INFINITE wait periodCorinna Vinschen3-2/+8
to avoid SEGVs and subsequent hangs in _cygtls::find_tls. * miscfuncs.cc (thread_wrapper): Ditto.
2014-11-20 * net.cc (fdsock): Change default values for socket buffers on 32 bitCorinna Vinschen2-2/+14
to fix performance on 10Gb networks.
2014-11-17 * uinfo.cc (pwdgrp::fetch_account_from_windows): Allow fetching ofCorinna Vinschen2-4/+27
NT SERVICE accounts by name. Always prepend domain to NT SERVICE accounts. Add U-domain\username string to pw_gecos for predefined builtin accounts as well.
2014-11-14 * fhandler_termios.cc (fhandler_termios::line_edit): Fix fatal typo inCorinna Vinschen2-2/+7
bytes_read pointer checks.
2014-11-13 * fhandler.h (fhandler_termios::line_edit): Add parameter to returnCorinna Vinschen4-23/+54
written bytes. * fhandler_termios.cc (fhandler_termios::tcinit): Fix formatting. (fhandler_termios::line_edit): Return bytes actually written. Write in 32 byte chunks in non-canonical mode to reduce number of WriteFile calls. Don't just eat unwritten bytes in case of an error condition. Especially, don't report them back to the caller as written. * fhandler_tty.cc (fhandler_pty_slave::read): Disable code reducing the number of bytes read from the pipe to vmin. Add comment. (fhandler_pty_master::write): Convert ret to ssize_t type. Just call line_edit once, not in a loop once for each byte. Return bytes written as returned by line_edit.
2014-11-13 * include/cygwin/version.h (CYGWIN_VERSION_DLL_MINOR): Bump to 34.Corinna Vinschen6-35/+57
* new-features.xml (ov-new1.7.34): Add new section. (ov-new1.7.33): Reflect intermediate 1.7.33 release.
2014-11-13 * configure.ac: Convert to new AC_INIT style.Corinna Vinschen3-23/+38
* configure: Regenerate.
2014-11-12 * utils.xml (mkgroup): Align to changed usage.Corinna Vinschen2-38/+46
(mkpasswd): Ditto.
2014-11-12 * mkgroup.c (usage): Fix language.Corinna Vinschen3-40/+45
* mkpasswd.c (usage): Ditto.
2014-11-12 * mkgroup.c (enum_unix_groups): Always print groupname with machineCorinna Vinschen3-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.
2014-11-12 * cygheap.h (cygheap_pwdgrp): Remove constants NSS_FILES and NSS_DB.Corinna Vinschen6-13/+48
Use NSS_SRC_FILES and NSS_SRC_DB throughout instead. (cygheap_pwdgrp::nss_pwd_src): New inline method. (cygheap_pwdgrp::nss_grp_src): Ditto. * external.cc (cygwin_internal): Add CW_GETNSS_PWD_SRC and CW_GETNSS_GRP_SRC cases. * uinfo.cc: Use NSS_SRC_FILES and NSS_SRC_DB throughout. * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump. * include/sys/cygwin.h (cygwin_getinfo_types): Add CW_GETNSS_PWD_SRC and CW_GETNSS_GRP_SRC. (NSS_SRC_FILES): Define. (NSS_SRC_DB): Define.
2014-11-10Fix typoCorinna Vinschen1-1/+1
2014-11-10 * cygcheck.cc (dump_sysinfo): Handle Windows 10/Server 2014(?).Corinna Vinschen4-30/+57
2014-11-07 * utils.xml (mkpasswd): Change /etc/group to /etc/passwd.Corinna Vinschen2-2/+6
2014-11-07 * dcrt0.cc (cygwin__cxa_atexit): Fetch correct DSO handle valueCorinna Vinschen2-6/+13
by searching dll list. Explain why.
2014-11-06 * cygserver-config: Add -N option to allow different service name.Corinna Vinschen2-5/+16
2014-11-06 * dcrt0.cc (cygwin_atexit): Change preceeding comment to reflectCorinna Vinschen6-11/+46
API version numbers. * external.cc (cygwin_internal): disable setting cxx_malloc on 64 bit. Add CW_FIXED_ATEXIT case. * include/cygwin/version.h (CYGWIN_VERSION_API_MINOR): Bump. * include/sys/cygwin.h (cygwin_getinfo_types): Add CW_FIXED_ATEXIT. * lib/atexit.c (atexit): Test running Cygwin version by checking return value of cygwin_internal (CW_FIXED_ATEXIT).
2014-11-05 * lib/atexit.c (atexit): Check for being linked into the executable.Corinna Vinschen3-1/+30
If so, call __cxa_atexit with NULL DSO handle. Explain why. * lib/dso_handle.c: New file providing fallback __dso_handle.
2014-11-05 * new-features.xml (ov-new1.7.33): Document xdr and atexit.Corinna Vinschen2-0/+16
2014-11-05*** empty log message ***Corinna Vinschen1-0/+8
2014-11-05 * Makefile.in (NEW_FUNCTIONS): Add atexit to be not exported.Corinna Vinschen4-17/+51
* lib/atexit.c (atexit): New, statically linkable version of atexit. * dcrt0.cc (cygwin_atexit): Add comment to mark this function as old entry point. Indiscriminately check for DSO of function pointer for all functions, if checking for DSO of return address fails on x86_64. Change comment accordingly.
2014-11-05 * Makefile.in (NEW_FUNCTIONS): Define target-independent. Add targetCorinna Vinschen2-3/+60
dependent stuff afterwards. Globally define timezone and all xdr symbols as non-exported from libcygwin.a.
2014-11-03Add accidentally missing patchCorinna Vinschen1-1/+1
2014-11-03 * cygheap.cc: Fix formatting.Corinna Vinschen2-2/+7
2014-11-03 * mkgroup.c (enum_local_groups): Don't generate leading separator charCorinna Vinschen1-0/+5
for builtin accounts.
2014-10-30 * ntsec.xml: Fix typo.Corinna Vinschen2-1/+5
2014-10-30 * uinfo.cc (cygheap_user::ontherange): Don't mention /etc/passwd.Corinna Vinschen2-1/+5
2014-10-29Fix copyright dateCorinna Vinschen1-1/+1
2014-10-29 * cygheap.cc (init_cygheap::init_installation_root): Create content ofCorinna Vinschen2-3/+18
installation_dir as non-prefixed path, if possible.
2014-10-29 * setfacl.c (setfacl): Fix bracketing in expression.Corinna Vinschen2-1/+5
2014-10-29 * ntsec.xml (ntsec-mapping-caching): Describe service dependenciesCorinna Vinschen2-0/+50
in terms of cygserver.