summaryrefslogtreecommitdiffstats
path: root/winsup/cygwin/ChangeLog
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/ChangeLog')
-rw-r--r--winsup/cygwin/ChangeLog281
1 files changed, 281 insertions, 0 deletions
diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog
index ffa55a87d..ec6966ecb 100644
--- a/winsup/cygwin/ChangeLog
+++ b/winsup/cygwin/ChangeLog
@@ -1,7 +1,75 @@
+2006-07-25 Corinna Vinschen <corinna@vinschen.de>
+
+ * include/cygwin/version.h: Bump DLL version to 1.7.0.
+
+2006-07-25 Corinna Vinschen <corinna@vinschen.de>
+
+ * select.h: Remove.
+ * fhandler_socket.cc: Don't include select.h.
+ * select.cc: Ditto.
+
+2006-07-25 Corinna Vinschen <corinna@vinschen.de>
+
+ * cygtls.h: Drop socket related includes.
+ (struct _local_storage): Remove exitsock and exitsock_sin. Add
+ select_sockevt.
+ * cygtls.cc: Accomodate above change throughout.
+ * fhandler.h (class fhandler_socket): Make wsock_evt public.
+ * fhandler_socket.cc (fhandler_socket::fhandler_socket): Accomodate
+ reordering members.
+ (fhandler_socket::evaluate_events): Drop FD_CONNECT event as soon as
+ it gets read once. Never remove FD_WRITE event here.
+ (fhandler_socket::wait_for_events): Wait 50 ms instead of INFINITE for
+ socket events.
+ (fhandler_socket::accept): Fix conditional. Set wsock_events members
+ of accepted socket to useful start values.
+ (fhandler_socket::recv_internal): Always drop FD_READ/FD_OOB events from
+ wsock_events after the call to WSARecvFrom.
+ (fhandler_socket::send_internal): Drop FD_WRITE event from wsock_events
+ if the call to WSASendTo fails with WSAEWOULDBLOCK. Fix return value
+ condition.
+ * select.cc (struct socketinf): Change to accomodate using socket event
+ handling.
+ (peek_socket): Use event handling for peeking socket.
+ (thread_socket): Ditto.
+ (start_thread_socket): Ditto.
+ (socket_cleanup): Same here.
+ * tlsoffsets.h: Regenerate.
+
2006-07-23 Christopher Faylor <cgf@timesys.com>
* include/cygwin/version.h: Bump DLL minor version number to 22.
+2006-07-20 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler.h (class fhandler_socket): Rearrange slightly to keep
+ event handling methods and members together. Drop owner status flag.
+ Split wait method. Rename event handling methods for readability.
+ * fhandler_socket.cc (struct wsa_event): Add owner field.
+ (LOCK_EVENTS): New macro.
+ (UNLOCK_EVENTS): Ditto.
+ (fhandler_socket::init_events): rename from prepare.
+ (fhandler_socket::evaluate_events): First half of former wait method.
+ Do everything but wait. Allow specifiying whether or not events from
+ event_mask should be erased from wsock_events->events. Simplify
+ OOB handling. Allow sending SIGURG to any process (group).
+ (fhandler_socket::wait_for_events): Second half of former wait method.
+ Call evaluate_events and wait in a loop if socket is blocking.
+ (fhandler_socket::release_events): Rename from release.
+ (fhandler_socket::connect): Accomodate above name changes.
+ (fhandler_socket::accept): Ditto.
+ (fhandler_socket::recv_internal): Ditto.
+ (fhandler_socket::send_internal): Ditto.
+ (fhandler_socket::close): Ditto.
+ (fhandler_socket::fcntl): Always set owner to given input value on
+ F_SETOWN. Handle F_GETOWN.
+ * net.cc (fdsock): Accomodate above name changes.
+
+2006-07-20 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler_socket.cc (fhandler_socket::wait): Set Winsock errno to
+ WSAEWOULDBLOCK instead of WSAEINPROGRESS.
+
2006-07-19 Corinna Vinschen <corinna@vinschen.de>
* pinfo.cc (commune_process): Don't add extra \0 to cmdline.
@@ -26,11 +94,32 @@
* sec_acl.cc (acltotext32): Add missing handling of default ACL entry
types.
+2006-07-18 Brian Ford <Brian.Ford@FlightSafety.com>
+ Corinna Vinschen <corinna@vinschen.de>
+
+ * winsup.h (mmap_region_status): New enum.
+ (mmap_is_attached_or_noreserve_page): Adjust prototype and rename
+ as below.
+ * mmap.cc (mmap_is_attached_or_noreserve_page): Rename
+ mmap_is_attached_or_noreserve. Add region length parameter.
+ Return enum above.
+ * exceptions.cc (_cygtls::handle_exceptions): Accomodate above.
+ * fhandler.cc (fhandler_base::raw_read): Call above for NOACCESS
+ errors and retry on success to allow reads into untouched
+ MAP_NORESERVE buffers.
+
2006-07-18 Corinna Vinschen <corinna@vinschen.de>
* fhandler_floppy.cc (fhandler_dev_floppy::ioctl): Fix typo in lint
directive.
+2006-07-18 Corinna Vinschen <corinna@vinschen.de>
+
+ * cygwin.din (posix_openpt): Export.
+ * tty.cc (posix_openpt): New function.
+ * include/cygwin/stdlib.h (posix_openpt): Declare.
+ * include/cygwin/version.h: Bump API minor number.
+
2006-07-17 Christopher Faylor <cgf@timesys.com>
GCC 4.1 fixes.
@@ -69,6 +158,19 @@
* dllfixdbg: Accommodate newer binutils which put the gnu_debuglink at
the end rather than at the beginning.
+2006-07-14 Corinna Vinschen <corinna@vinschen.de>
+
+ * security.cc (get_token_group_sidlist): Always add the interactive
+ group to the token. Add comment. Create logon_id group SID by
+ copying it from incoming group list.
+ (create_token): Add subauth_token parameter. Use information in
+ subauth_token if present. Tweak SourceIdentifier if subauth_token
+ is present for debugging purposes.
+ * security.h (create_token): Add subauth_token parameter in declaration.
+ * syscalls.cc (seteuid32): Call subauth first. Call create_token
+ regardless. Use subauth token in call to create_token if subauth
+ succeeded.
+
2006-07-13 Christopher Faylor <cgf@timesys.com>
* sigproc.cc (waitq_head): Don't initialize to zero.
@@ -83,11 +185,20 @@
2006-07-13 Corinna Vinschen <corinna@vinschen.de>
+ * include/netinet/in.h: Update copyright.
+
+2006-07-13 Corinna Vinschen <corinna@vinschen.de>
+
* fhandler_socket.cc: Update copyright.
* include/pthread.h: Ditto.
2006-07-13 Corinna Vinschen <corinna@vinschen.de>
+ * fhandler_socket.cc (fhandler_socket::wait): Rework function so that
+ WaitForMultipleObjects is really only called when necessary.
+
+2006-07-13 Corinna Vinschen <corinna@vinschen.de>
+
* mmap.cc (mmap64): Drop MAP_NORESERVE flag for non-anonymous,
non-private mappings.
(mmap_record::unmap_pages): Only check noreserve flag which now implies
@@ -118,9 +229,102 @@
2006-07-12 Corinna Vinschen <corinna@vinschen.de>
+ * include/netdb.h: Declare rcmd, rcmd_af, rexec, rresvport,
+ rresvport_af, iruserok, iruserok_sa, ruserok.
+
+2006-07-12 Corinna Vinschen <corinna@vinschen.de>
+
+ * Makefile.in (DLL_OFILES): Drop iruserok.o. Add rcmd.o.
+ * autoload.cc (rcmd): Drop definition.
+ * cygwin.din: Export bindresvport, bindresvport_sa, iruserok_sa,
+ rcmd_af, rresvport_af.
+ * net.cc (cygwin_rcmd): Remove.
+ (last_used_bindresvport): Rename from last_used_rrecvport.
+ (cygwin_bindresvport_sa): New function implementing bindresvport_sa.
+ (cygwin_bindresvport): New function implementing bindresvport.
+ (cygwin_rresvport): Remove.
+ * include/cygwin/version.h: Bump API minor number.
+ * include/netinet/in.h: Declare bindresvport and bindresvport_sa.
+ * libc/iruserok.c: Remove file.
+ * libc/rcmd.cc: New file implementing rcmd, rcmd_af, rresvport,
+ rresvport_af, iruserok_sa, iruserok and ruserok.
+
+2006-07-12 Corinna Vinschen <corinna@vinschen.de>
+
* include/pthread.h: Define PTHREAD_PRIO_NONE, PTHREAD_PRIO_INHERIT and
PTHREAD_PRIO_PROTECT only if _POSIX_THREAD_PRIO_INHERIT is defined.
+2006-07-12 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler_socket.cc (fhandler_socket::getsockname): Return valid
+ result for unbound sockets.
+
+2006-07-11 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler_socket.cc (fhandler_socket::fixup_after_fork): Handle
+ wsock_mtx and wsock_evt on fork, thus handling close_on_exec correctly.
+ (fhandler_socket::fixup_after_exec): Drop misguided attempt to handle
+ close_on_exec here.
+ (fhandler_socket::dup): Call fixup_after_fork with NULL parent.
+ Add comment.
+ (fhandler_socket::set_close_on_exec): Handle wsock_mtx and wsock_evt.
+
+2006-07-10 Corinna Vinschen <corinna@vinschen.de>
+
+ * fhandler.h (class fhandler_socket): Add wsock_mtx, wsock_evt
+ and wsock_events members. Remove closed status flag, add listener
+ status flag. Accomodate new implementation of socket event handling
+ methods. Declare recv* and send* functions ssize_t as the POSIX
+ equivalents.
+ (fhandler_socket::recv_internal): Declare.
+ (fhandler_socket::send_internal): Ditto.
+ * fhandler_socket.cc (EVENT_MASK): Define mask of selected events.
+ (fhandler_socket::fhandler_socket): Initialize new members.
+ (fhandler_socket::af_local_setblocking): Don't actually set the
+ socket to blocking mode. Keep sane event selection.
+ (fhandler_socket::af_local_unsetblocking): Don't actually set the
+ socket to previous blocking setting, just remember it.
+ (struct wsa_event): New structure to keep event data per shared
+ socket.
+ (NUM_SOCKS): Define number of shared sockets concurrently handled by
+ all active Cygwin processes.
+ (wsa_events): New shared datastructure keeping all wsa_event records.
+ (socket_serial_number): New shared variable to identify shared sockets.
+ (wsa_slot_mtx): Global mutex to serialize wsa_events access.
+ (search_wsa_event_slot): New static function to select a new wsa_event
+ slot for a new socket.
+ (fhandler_socket::prepare): Rewrite. Prepare event selection
+ per new socket.
+ (fhandler_socket::wait): Rewrite. Wait for socket events in thread
+ safe and multiple process safe.
+ (fhandler_socket::release): Rewrite. Close per-socket descriptor
+ mutex handle and event handle.
+ (fhandler_socket::dup): Duplicate wsock_mtx and wsock_evt. Fix
+ copy-paste error in debug output.
+ (fhandler_socket::connect): Accomodate new event handling.
+ (fhandler_socket::listen): Set listener flag on successful listen.
+ (fhandler_socket::accept): Accomodate new event handling.
+ (fhandler_socket::recv_internal): New inline method centralizing
+ common recv code.
+ (fhandler_socket::recvfrom): Call recv_internal now.
+ (fhandler_socket::recvmsg): Ditto. Streamline copying from iovec
+ to WSABUF.
+ (fhandler_socket::send_internal): New inline method centralizing
+ common send code.
+ (fhandler_socket::sendto): Call send_internal now.
+ (fhandler_socket::sendmsg): Ditto. Streamline copying from iovec
+ to WSABUF.
+ (fhandler_socket::close): Call release now.
+ (fhandler_socket::ioctl): Never actually switch to blocking mode.
+ Just keep track of the setting.
+ * net.cc (fdsock): Call prepare now.
+ (cygwin_connect): Revert again to event driven technique.
+ (cygwin_accept): Ditto.
+ * poll.cc (poll): Don't call recvfrom on a listening socket.
+ Remove special case for failing recvfrom.
+ * include/sys/socket.h: Declare recv* and send* functions ssize_t as
+ requested by POSIX.
+
2006-07-10 Corinna Vinschen <corinna@vinschen.de>
* libc/inet_addr.c: Define __INSIDE_CYGWIN_NET__.
@@ -133,6 +337,10 @@
2006-07-07 Corinna Vinschen <corinna@vinschen.de>
+ * net.cc (cygwin_inet_ntop): Fix data type of forth parameter.
+
+2006-07-07 Corinna Vinschen <corinna@vinschen.de>
+
* Makefile.in (DLL_OFILES): Add inet_addr.o and inet_network.o.
* autoload.cc (inet_addr): Drop definition.
(inet_ntoa): Ditto.
@@ -156,6 +364,79 @@
* child_info.h: Update copyright.
* fork.cc: Ditto.
+2006-07-06 Corinna Vinschen <corinna@vinschen.de>
+
+ * include/cygwin/in6.h (struct in6_addr): Fix typo.
+
+2006-07-06 Corinna Vinschen <corinna@vinschen.de>
+
+ * cygwin.din: Export in6addr_any, in6addr_loopback, freeaddrinfo,
+ gai_strerror, getaddrinfo, getnameinfo.
+ * fhandler_socket.cc: Include cygwin/in6.h.
+ (get_inet_addr): Accomodate AF_INET6 usage.
+ (fhandler_socket::connect): Ditto.
+ (fhandler_socket::listen): Ditto.
+ (fhandler_socket::sendto): Ditto.
+ * net.cc: Include cygwin/in6.h.
+ (in6addr_any): Define.
+ (in6addr_loopback): Define.
+ (cygwin_socket): Accomodate AF_INET6 usage.
+ (socketpair): Bind socketpairs only to loopback for security.
+ (inet_pton4): New static function.
+ (inet_pton6): Ditto.
+ (cygwin_inet_pton): New AF_INET6 aware inet_pton implementation.
+ (inet_ntop4): New static function.
+ (inet_ntop6): Ditto.
+ (cygwin_inet_ntop): New AF_INET6 aware inet_ntop implementation.
+ (ga_aistruct): New static function.
+ (ga_clone): Ditto.
+ (ga_echeck): Ditto.
+ (ga_nsearch): Ditto.
+ (ga_port): Ditto.
+ (ga_serv): Ditto.
+ (ga_unix): Ditto.
+ (gn_ipv46): Ditto.
+ (ipv4_freeaddrinfo): Ditto.
+ (ipv4_getaddrinfo): Ditto.
+ (ipv4_getnameinfo): Ditto.
+ (gai_errmap_t): New structure holding error code - error string mapping.
+ (cygwin_gai_strerror): New function implementing gai_strerror.
+ (w32_to_gai_err): New static function.
+ (get_ipv6_funcs): Ditto.
+ (load_ipv6_funcs): Ditto.
+ (cygwin_freeaddrinfo): New function implementing freeaddrinfo.
+ (cygwin_getaddrinfo): New function implementing getaddrinfo.
+ (cygwin_getnameinfo): New function implementing getnameinfo.
+ * include/netdb.h: Include stdint.h and cygwin/socket.h. Define
+ data types and macros used by getaddrinfo and friends. Declare
+ freeaddrinfo, gai_strerror, getaddrinfo and getnameinfo.
+ * include/cygwin/in.h: Add IPv6 related IPPROTOs. Remove definition
+ of struct sockaddr_in6. Include cygwin/in6.h instead.
+ * include/cygwin/in6.h: New header file defining IPv6 releated
+ data types and macros.
+ * include/cygwin/socket.h: Enable AF_INET6 and PF_INET6. Add
+ IPv6 related socket options.
+ * include/cygwin/version.h: Bump API minor number.
+
+2006-07-06 Corinna Vinschen <corinna@vinschen.de>
+
+ * autoload.cc (DsGetDcNameA): Define.
+ (NetGetAnyDCName): Define.
+ * security.cc: Include dsgetdc.h.
+ (DsGetDcNameA): Declare.
+ (DS_FORCE_REDISCOVERY): Define.
+ (get_logon_server): Add bool parameter to control rediscovery of DC.
+ Use DsGetDcNameA function if supported, NetGetDCName/NetGetAnyDCName
+ otherwise.
+ (get_server_groups): Rediscover DC if get_user_groups fails and
+ try again.
+ (get_reg_security): Use correct error code macro when testing
+ RegGetKeySecurity return value.
+ * security.h (get_logon_server): Remove default vaue from wserver
+ parameter. Add rediscovery parameter.
+ * uinfo.cc (cygheap_user::env_logsrv): Accomodate rediscovery parameter
+ in call to get_logon_server.
+
2006-07-05 Christopher Faylor <cgf@timesys.com>
* sortdin: Ignore all leading underscores when deriving a sort key.