| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
an endless loop.
|
|
|
|
|
| |
buffer len. Add comment.
* uinfo.cc (internal_getlogin): Fix typo in comment.
|
|
|
|
| |
conversion to cover S-1-5-113, S-1-5-114, and S-1-5-1000 groups.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
gr_mem entries.
(getgrgid_r): Don't try to copy gr_mem entries. Always set gr_mem
to an empty list.
(getgrnam_r): Ditto.
(app_gr): New static struct to store group data propagated to the
calling application via getgrgid/getgrnam.
(getgr_cp): Fill app_gr and return pointer to app_gr.g.
(getgrgid32): Call getgr_cp.
(getgrnam32): Ditto.
* passwd.cc (pwdgrp::parse_passwd): Set res.len.
(app_pw): New static struct to store passwd data propagated to the
calling application via getpwuid/getpwnam.
(getpw_cp): Fill app_pw and return pointer to app_pw.p.
(getpwuid32): Cal getpw_cp.
(getpwnam): Ditto.
* pwdgrp.h (struct pg_pwd): Add len member.
(struct pg_grp): Ditto.
|
|
|
|
|
| |
instead throughout.
(MAX_SID_LEN): Drop. Use SECURITY_MAX_SID_SIZE instead throughout.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sec_helper.cc (cygpsid::pstring): Use sid_sub_auth_count macro.
(cygsid::get_sid): Use MAX_SUBAUTH_CNT rather than wrong constant 8.
Don't call memcpy to copy subauthorities into SID, use assignment.
(cygsid::getfromstr): Use MAX_SUBAUTH_CNT rather than wrong constant 8.
* security.h (MAX_SUBAUTH_CNT): New definition. Set to 11 to cover
Microsoft Accounts.
(MAX_SID_LEN): Define in terms of SID member sizes and MAX_SUBAUTH_CNT.
(DBGSID): Use MAX_SUBAUTH_CNT to define size of SubAuthority array.
* uinfo.cc (pwdgrp::fetch_account_from_windows): Handle Micosoft
Accounts. Handle them as well known group. Compare domain names
case-insensitive.
* winlean.h (PIPE_REJECT_REMOTE_CLIENTS): Drop temporary definition
since Mingw64 catched up.
(DNLEN): Redefine as 16. Explain why.
|
|
|
|
| |
TCP_NODELAY just like SO_KEEPALIVE and SO_DONTROUTE.
|
| |
|
| |
|
|
|
|
|
|
|
| |
* fhandler.h (fhandler_console::save_top): Save top of screen coordinates.
* fhandler_console.cc (dev::save_restore): Record top of screen coordinates.
Clear entire buffer when restoring saved buffer and try to position the cursor
on the save relative place on the screen.
|
|
|
|
| |
STATUS_TRANSACTION_NOT_ENLISTED.
|
|
|
|
|
|
|
|
|
|
|
| |
including the windows headers. Explain why.
(get_inet_addr): Convert ANY address to LOOPBACK address. Explain why.
(fhandler_socket::evaluate_events): Forcibly set SO_ERROR socket option
in case a connection attempt failed. Explain why.
(fhandler_socket::ioctl): Drop x86_64 re-definition of u_long here.
* fhandler_procnet.cc: On x86_64, define u_long as __ms_u_long before
including the windows headers. Explain why.
* net.cc: Ditto.
|
| |
|
|
|
|
|
|
|
|
|
| |
* ldap.h (LDAP_USER_NAME_ATTR): Remove. Change other attribute index
values as required.
(cyg_ldap::get_user_name): Remove inline function.
* uinfo.cc (pwdgrp::fetch_account_from_windows): Remove code to handle
Cygwin username different from Windows username.
(pwdgrp::add_account_from_cygserver): Remove unnecessary cast.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
path_conv <-> normalize_posix_path, plus a bit of buffer.
(TP_NUM_W_BUFS): Ditto.
(class san): Change type of _c_cnt and _w_cnt to unsigned.
* path.cc (normalize_posix_path): Guard recursion into path_conv
against tmp_pathbuf overflow. Generate normalized path in call to
path_conv. If the path is valid, replace dst with the normalized_path
from path_conv call. Add comment to explain why we're doing this.
* tls_pbuf.cc (tls_pathbuf::destroy): Only free buffers until the
first buffer pointer is NULL.
(tmp_pathbuf::c_get): Simplify error message.
(tmp_pathbuf::w_get): Ditto.
* tls_pbuf.h (class tmp_pathbuf): Change type of c_buf_old and w_buf_old
to unsigned.
(tmp_pathbuf::check_usage): New inline method to check if we have
enough tmp_pathbuf buffers left to call a function using tmp_pathbuf
buffers.
* tlsoffsets.h: Regenerate.
* tlsoffsets64.h: Regenerate.
|
| |
|
| |
|
|
|
|
| |
for local accounts.
|
| |
|
|
|
|
| |
amount of exceptions the myfault handler was designed for.
|
|
|
|
|
| |
truncates symbols in certain computations to 32 bit. See
https://sourceware.org/bugzilla/show_bug.cgi?id=16821
|
| |
|
|
|
|
|
|
|
| |
whether or not to send signal_arrived.
* shm.cc (client_request_shm::client_request_shm): Call
ipc_set_proc_info with bool parameter set to true to not send
signal_arrived.
|
| |
|
|
|
|
|
| |
(read_ea): Use tmp_pathbuf for local buffer rather than alloca.
Throughout change ZwQueryEaFile to NtQueryEaFile in comments.
|
| |
|
| |
|
|
|
|
|
|
| |
* exceptions.cc (_cygtls::signal_debugger): Reorganize to avoid contacting the
debugger if we have already done so via the exception handler. Eliminate need
for goto. Remove an ifdef in favor of just allocating a larger buffer.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* exception.h (exception_list): Typedef as void on x86_64.
(exception::handler_installed): Remove.
(exception::handle_while_being_debugged): Remove.
(exception::myfault_handle): Declare for x86_64.
(exception::handle): Declare as ordinary exception handler on x86_64
as well.
(exception::exception): Drop previous code (again). Install
exception::handle as SEH handler.
(exception::install_myfault_handler): New x86_64-only method to
install exception::myfault_handle as VEH handler. Explain why.
(exception::~exception): For x86_64, define frame end label (again).
* exceptions.cc (CYG_EXC_CONTINUE_EXECUTION): Drop definition.
(CYG_EXC_CONTINUE_SEARCH): Ditto.
(exception::myfault_handle): New x86_64-only method, VEH handler to
handle myfault exceptions.
(exception::handle): Define as ordinary exception handler on x86_64
as well. Use ExceptionContinueExecution and ExceptionContinueSearch
throughout instead of deleted Cygwin macros. Don't handle myfault
exceptions on x86_64.
|
|
|
|
|
|
|
| |
to INVALID_HANDLE_VALUE.
(lsaauth): Ditto.
(lsaprivkeyauth): Ditto.
* setlsapwd.cc (setlsapwd): Don't initialize lsa handle.
|
|
|
|
| |
from incoming siginfo_t to thread_context, too.
|
|
|
|
|
|
|
|
|
|
| |
(setjmp/x86_64): Drop storing ExceptionList pointer in jmp_buf->Frame.
Drop comment. Store likely frame in rdx. Jump to __setjmpex.
(__setjmpex): New function providing setjmp functionality. Fetch
jmp_buf->Frame from rdx, like MSVCRT setjmpex.
(__sjfault/x86_64): Store rdx content in jmp_buf->Frame.
(__ljfault/x86_64): Don't restore ExceptionList pointer.
(longjmp/x86_64): Ditto.
|
|
|
|
| |
_ioctl.
|
|
|
|
|
|
|
|
|
| |
(fhandler_dev_dsp::close_audio_in): Make __reg1.
(fhandler_dev_dsp::close_audio_out): Make __reg2.
* fhandler_dev_dsp.cc (fhandler_dev_dsp::close_audio_in): Make __reg1.
(fhandler_dev_dsp::close_audio_out): Make __reg2.
(fhandler_dev_dsp::close): Don't abruptly terminate sound just because we are
exiting.
|
|
|
|
|
| |
(exception::exception): Install unhandled exception filter.
* exceptions.cc (exception::handle_while_being_debugged): New method.
|
| |
|
|
|
|
|
| |
_fixup_after_fork rather than looping forever.
(fhandler_dev_dsp::fixup_after_exec): Ditto.
|
|
|
|
|
| |
_fixup_after_fork rather than looping forever.
(fhandler_dev_dsp::fixup_after_exec): Ditto.
|
|
|
|
|
|
|
| |
* exception.h (exception::handler_installed): Declare.
(exception::exception): Install vectored exception handler on x86_64.
(exception::~exception): Remove for x86_64.
* exceptions.cc (exception::handler_installed): Define.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sigproc.cc (thread_exit): Use no_thread_exit_protect to determine if we need
to coordinate ThreadExit/ExitProcess.
* fhandler_dsp.cc (fhandler_dev_dsp::Audio_out::stop): Use
no_thread_exit_protect to kludge around waiting for waveOutClose as it waits
for a thread that never exits.
(fhandler_dev_dsp::Audio_in::stop): Ditto for waveInClose.
* fhandler.h (fhandler_dev_dsp::base): New method.
(fhandler_dev_dsp::_read): Ditto.
(fhandler_dev_dsp::_write): Ditto.
(fhandler_dev_dsp::_ioctl): Ditto.
(fhandler_dev_dsp::_fixup_after_fork): Ditto.
(fhandler_dev_dsp::_fixup_after_exec): Ditto.
* fhandler_dsp.cc (fhandler_dev_dsp::read): Call real function via base()
pointer.
(fhandler_dev_dsp::write): Ditto.
(fhandler_dev_dsp::ioctl): Ditto.
(fhandler_dev_dsp::fixup_after_fork): Ditto.
(fhandler_dev_dsp::fixup_after_exec): Ditto.
(fhandler_dev_dsp::_read): Rename by adding an leading underscore.
(fhandler_dev_dsp::_write): Ditto.
(fhandler_dev_dsp::_ioctl): Ditto.
(fhandler_dev_dsp::_fixup_after_fork): Ditto.
(fhandler_dev_dsp::_fixup_after_exec): Ditto.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(cygheap_pwdgrp::caching): Convert to bool.
(cygheap_pwdgrp::pwd_cache): Add cygserver member.
(cygheap_pwdgrp::grp_cache): Ditto.
(cygheap_pwdgrp::nss_db_caching): Drop.
(cygheap_pwdgrp::nss_db_full_caching): Drop.
(cygheap_pwdgrp::nss_cygserver_caching): New method.
(cygheap_pwdgrp::nss_disable_cygserver_caching): New method.
* cygserver.h (client_request::request_code_t): Add
CYGSERVER_REQUEST_PWDGRP.
* cygserver_pwdgrp.h: New file.
* cygtls.h (struct _local_storage): Remove pwbuf and grbuf members.
* grp.cc (pwdgrp::prep_tls_grbuf): Drop.
(internal_getgrsid): Handle cygserver caching and rearrange to check
the caches first.
(internal_getgrnam): Ditto.
(internal_getgrgid): Ditto.
(gr_ent::enumerate_caches): Handle cygserver cache.
* passwd.cc (pwdgrp::prep_tls_pwbuf): Drop.
(internal_getpwsid): Handle cygserver caching and rearrange to check
the caches first.
(internal_getpwnam): Ditto.
(internal_getpwuid): Ditto.
(pw_ent::enumerate_caches): Handle cygserver cache.
* pwdgrp.h (pwdgrp::add_account_from_cygserver): New method declaration.
(pwdgrp::fetch_account_from_cygserver): New method declaration.
(pwdgrp::prep_tls_pwbuf): Drop declaration.
(pwdgrp::prep_tls_grbuf): Drop declaration.
(pwdgrp::add_user_from_cygserver): New inline methods.
(pwdgrp::add_group_from_cygserver): New inline methods.
* tlsoffsets.h: Regenerate.
* tlsoffsets64.h: Regenerate.
* uinfo.cc (internal_getlogin): Call internal_getgroups if cygserver
caching is not available.
(cygheap_pwdgrp::init): Initialize pwd_cache.cygserver and
grp_cache.cygserver. Set caching to true.
(cygheap_pwdgrp::nss_init_line): Drop db_cache handling entirely.
(pwdgrp::add_account_from_windows): Drop no caching handling.
(client_request_pwdgrp::client_request_pwdgrp): New method.
(pwdgrp::fetch_account_from_cygserver): New method.
(pwdgrp::add_account_from_cygserver): New method.
* fhandler_disk_file.cc (fhandler_base::fstat_helper): Fix formatting.
* include/sys/cygwin.h: Ditto.
|
|
|
|
| |
non-domain member machines if an unknown SID comes in.
|
|
|
|
| |
(IPV6_LEAVE_GROUP): Ditto.
|
|
|
|
|
|
| |
with older OS.
* fhandler_console.cc (dev_console::fillin): Ditto for
GetConsoleScreenBufferInfo.
|
|
|
|
| |
cursor position.
|
|
|
|
|
|
|
| |
written row and, because of this, don't bother trying to restore the screen
buffer size. Set cursor position after refilling buffer.
(fhandler_console::write): Use absolute paths when saving/restoring cursor
position or suffer odd problems after a saved screen is restored.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(fhandler_console::dwCursorPosition): Ditto.
(fhandler_console::wAttributes): Ditto.
(fhandler_console::b): New field encompassing previously disparate screen
buffer info.
(fhandler_console::save_bufsize): Rename from savebufsiz
(fhandler_console::save_buf): Rename sfrom savebuf.
(fhandler_console::save_cursor): New field.
(fhandler_console::save_restore): New function.
(fhandler_console::con): Rename from dev_state.
(fhandler_console::focus_aware): Accommodate name change.
* fhandler_console.cc: Use 'b' field of dev_console throughout instead of
disparate names. Accommodate dev_state -> con rename.
(dev_state:save_restore): New function. Attempt to save the entire screen
buffer rather than just the visible part. Clear the buffer when saving, like
Linux.
(fhandler_console::char_command): Use con.save_restore() for Save/restore
screen sequence.
|
|
|
|
| |
when done.
|
|
|
|
| |
value rather than directly using dev_state.args[0].
|