Corinna Vinschen [Thu, 27 Nov 2014 19:55:37 +0000 (19:55 +0000)]
* mkgroup.c (main): Call enum_groups with offset 0x30000 for local
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.
Corinna Vinschen [Thu, 27 Nov 2014 16:49:41 +0000 (16:49 +0000)]
* mount.cc (mount_info::init): Take bool argument and allow to
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.
Corinna Vinschen [Thu, 27 Nov 2014 16:20:14 +0000 (16:20 +0000)]
* cygheap.cc (init_cygheap::find_tls): Allow to keep loop going after
access to threadlist[ix] faulted. In case of an exception, remove
threadlist[ix] from threadlist only. Add comment.
Jeff Johnston [Thu, 27 Nov 2014 00:28:09 +0000 (00:28 +0000)]
2014-11-26 Matthew Fortune <Matthew.Fortune@imgtec.com>
* mips/crt0.S: Remove .set noreorder throughout.
(zerobss): Open code the bltu macro instruction so that the
zero-loop does not have a NOP in the branch delay slot.
Corinna Vinschen [Wed, 26 Nov 2014 19:46:59 +0000 (19:46 +0000)]
* Makefile.in (install): Add install-ldif target.
(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.
Corinna Vinschen [Tue, 25 Nov 2014 11:53:00 +0000 (11:53 +0000)]
* libc/include/sys/_default_fcntl.h: Move all Cygwin-specific open
flags from Cygwin's fcntl.h here. Remove check for WIN32. Remove
Windows-specific macros.
Corinna Vinschen [Mon, 24 Nov 2014 11:07:32 +0000 (11:07 +0000)]
* passwd.c (GetPW): If server is NULL, and the user is not a local
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.
Corinna Vinschen [Fri, 21 Nov 2014 21:41:37 +0000 (21:41 +0000)]
* init.cc (dll_entry): Revert previous patch. This requires another
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.
Corinna Vinschen [Thu, 20 Nov 2014 16:23:14 +0000 (16:23 +0000)]
* init.cc (dll_entry): Call _my_tls.remove with INFINITE wait period
to avoid SEGVs and subsequent hangs in _cygtls::find_tls.
* miscfuncs.cc (thread_wrapper): Ditto.
Corinna Vinschen [Mon, 17 Nov 2014 10:09:01 +0000 (10:09 +0000)]
* uinfo.cc (pwdgrp::fetch_account_from_windows): Allow fetching of
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.
Corinna Vinschen [Thu, 13 Nov 2014 18:37:15 +0000 (18:37 +0000)]
* fhandler.h (fhandler_termios::line_edit): Add parameter to return
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.
Nick Clifton [Thu, 13 Nov 2014 10:18:57 +0000 (10:18 +0000)]
* msp430/Makefile.in (CRT_OBJS): Add crt_high_bss.o.
* msp430/crt0.S (high_bss): Add.
* msp430/msp430-sim.ld: Add error message if .upper sections are
detected.
* msp430/msp430xl-sim.ld (MEMORY): Adjust to better mimic real
life MCUs. Add support for upper and lower sections.
Corinna Vinschen [Wed, 12 Nov 2014 14:13:56 +0000 (14:13 +0000)]
* mkgroup.c (enum_unix_groups): Always print groupname with machine
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.
Corinna Vinschen [Wed, 12 Nov 2014 09:10:22 +0000 (09:10 +0000)]
* libc/stdlib/strtod.c (sulp): Cast to int32_t to avoid overflow.
* libc/time/gmtime_r.c (DAYS_PER_*_YEARS): Convert to long constants
to avoid overflow.
Jeff Johnston [Thu, 6 Nov 2014 17:45:14 +0000 (17:45 +0000)]
2014-11-06 Joel Sherrill <joel.sherrill@oarcorp.com>
* configure.in: Add autoconf test to determine size of uintptr_t.
* newlib.hin: Add new autoconf feature variables.
* libc/include/inttypes.h: Use new feature variables.
* configure: Regenerate.
* libc/stdio/nano-vfprintf_i.c (_printf_i): Use Newlib approach to
handle string that might be not nul-terminated.
* testsuite/newlib.stdio/nulprintf.c: New test.
* lib/atexit.c (atexit): Check for being linked into the executable.
If so, call __cxa_atexit with NULL DSO handle. Explain why.
* lib/dso_handle.c: New file providing fallback __dso_handle.
* Makefile.in (NEW_FUNCTIONS): Add atexit to be not exported.
* 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.
Corinna Vinschen [Tue, 28 Oct 2014 11:01:32 +0000 (11:01 +0000)]
* xidepend: Make PDF file dependent on the same input files as the
HTML file of the same name to trigger automatic rebuild of PDFs on
source file changes as well.
Corinna Vinschen [Tue, 28 Oct 2014 10:44:49 +0000 (10:44 +0000)]
* globals.cc (dos_file_warning): Set to false by default.
* path.cc (warn_msdos): Make static. Drop test for dos_file_warning.
(path_conv::check): Check for dos_file_warning here to avoid a function
call in the default case.
Corinna Vinschen [Mon, 27 Oct 2014 11:33:53 +0000 (11:33 +0000)]
* cygheap.cc (cygheap_fixup_in_child): Drop call to set_dll_dir.
(init_cygheap::init_installation_root): Set installation_dir_len.
(setup_cygheap): Drop call to set_dll_dir.
* cygheap.h (struct init_cygheap): Add installation_dir_len member.
(init_cygheap::set_dll_dir): Remove.
* environ.cc (win_env::add_cache): Use stpcpy for speed.
(posify_maybe): Use tmp_pathbuf buffer instead of stack.
(raise_envblock): New function to resize Windows environment block.
(build_env): Fix indentation. Call raise_envblock function. Check if
$PATH exists and is non-empty. If not, add PATH variable with Cygwin
installation directory as content to Windows environment. Explain why.
* uinfo.cc (cygheap_pwdgrp::_nss_init): Fill UNICODE_STRING members
on the fly. Drop call to RtlInitUnicodeString.
(pwdgrp::check_file): Ditto.
Corinna Vinschen [Sun, 26 Oct 2014 18:47:24 +0000 (18:47 +0000)]
* fhandler_socket.cc (fhandler_socket::af_local_connect): Drop
setting connect_state to connect_credxchg.
(fhandler_socket::af_local_accept): Ditto.
(fhandler_socket::recv_internal): Drop ill-advised connect_state check.
Add comment so as not to repeat the exercise.
* fhandler.h (enum conn_state): Drop now unneeded connect_credxchg
state.
Corinna Vinschen [Wed, 22 Oct 2014 20:04:42 +0000 (20:04 +0000)]
* Makefile.in: Create install targets.
(cygwin-ug-net/cygwin-ug-net.pdf): Create subdir to allow building PDF
even if subdir is missing.
(cygwin-api/cygwin-api.pdf): Ditto.
* configure.ac: Add AC_PROG_INSTALL rule.
* configure: Regenerate.
* new-features.xml (ov-new1.7.33): Add installation of docs.