5b56e9b02b
(IdnToUnicode): Define. (FreeAddrInfoW): Define. (GetAddrInfoW): Define. (GetNameInfoW): Define. * net.cc: Drop W. Richard STEVENS libgai implementation. (cygwin_freeaddrinfo): Move code from ipv4_freeaddrinfo here. Move definition up in file to avoid forward declaration in ga_duplist. (ga_dup): Take addrinfoW as input. Add parameters to get IDN flags and to set error value. Handle IDN flags and especially AI_CANONIDN. Convert input wchar_t ai_canonname string to multibyte for output. (ga_duplist): Add parameters to get IDN flags and to set error value and propagate to ga_dup. Call cygwin_freeaddrinfo. (gai_errmap): Add comments. Align error strings to GLibc. Add EAI_IDN_ENCODE entry. (get_ipv6_funcs): Remove. (load_ipv6_guard): Remove. (ipv6_inited): Remove. (load_ipv6): Remove. (load_ipv6_funcs): Remove. (cygwin_getaddrinfo): Drop calling load_ipv6. Handle AI_IDN* flags. Convert input strings to wchar_t and call GetAddrInfoW/FreeAddrInfoW. In case hints is NULL, set default ai_flags explicitely to AI_V4MAPPED | AI_ADDRCONFIG, as documented for Glibc. Only add AI_ALL if AI_ADDRCONFIG is not given. Unconditionally add Windows-specific AI_DISABLE_IDN_ENCODING to ai_flags to make IDN behaviour compatible to Glibc even on Windows 8 and later. (cygwin_getnameinfo): Drop calling load_ipv6. Handle NI_IDN* flags. Call GetNameInfoW and convert returned strings from wchar_t to multibyte. * include/netdb.h: Add comments to describe flags and error values. (AI_*): Define all flags using hex values for clearness. (AI_IDN): Define. (AI_CANONIDN): Define. (AI_IDN_ALLOW_UNASSIGNED): Define. (AI_IDN_USE_STD3_ASCII_RULES): Define. (NI_*): Define all flags using hex values for clearness. (NI_IDN): Define. (NI_IDN_ALLOW_UNASSIGNED): Define. (NI_IDN_USE_STD3_ASCII_RULES): Define. (EAI_IDN_ENCODE): Define.
59 lines
2.0 KiB
Plaintext
59 lines
2.0 KiB
Plaintext
What's new:
|
|
-----------
|
|
|
|
- getaddrinfo now supports glibc-specific International Domain Name (IDN)
|
|
extension flags: AI_IDN, AI_CANONIDN, AI_IDN_ALLOW_UNASSIGNED,
|
|
AI_IDN_USE_STD3_ASCII_RULES.
|
|
|
|
- getnameinfo now supports glibc-specific International Domain Name (IDN)
|
|
extension flags: NI_IDN, NI_IDN_ALLOW_UNASSIGNED, NI_IDN_USE_STD3_ASCII_RULES.
|
|
|
|
|
|
What changed:
|
|
-------------
|
|
|
|
- Slightly improve randomness of /dev/random emulation.
|
|
|
|
- Allow to use advisory locking on any device. POSIX fcntl and lockf locking
|
|
works with any device, BSD flock locking only with devices backed by an OS
|
|
handle. Right now this excludes console windows on pre Windows 8, as well as
|
|
almost all virtual files under /proc from BSD flock locking.
|
|
|
|
- The header /usr/include/exceptions.h, containing implementation details for
|
|
32 bit Windows' exception handling only, has been removed.
|
|
|
|
|
|
Bug fixes:
|
|
----------
|
|
|
|
- pthread_atparent hook should not be called in the child.
|
|
Fixes: http://cygwin.com/ml/cygwin/2013-09/msg00365.html
|
|
|
|
- 64 bit only: Correctly mmap'ing regions > 4 Gigs.
|
|
Fixes: http://cygwin.com/ml/cygwin/2013-09/msg00155.html
|
|
|
|
- Fix random content of /proc/$PID/ctty if the process has no controlling
|
|
tty. Set to just "\n" instead.
|
|
|
|
- Properly set process sid rather than always using -1.
|
|
Fixes: http://cygwin.com/ml/cygwin/2013-10/threads.html#00237
|
|
|
|
- Fix a potential crash after calling lseek on /dev/clipboard.
|
|
|
|
- Fix a handle inheritance bug in raw disk and tape device handling which
|
|
led to EBADF errors in child processes.
|
|
|
|
- open("/dev", O_CREAT) accidentally created a /dev file if no /dev
|
|
exists at the time.
|
|
|
|
- DIR *d = opendir ("foo"); flock (dirfd (d), ...); worked, but did the
|
|
wrong thing.
|
|
|
|
- Reading from /dev/windows was broken for some time.
|
|
|
|
- select'ing on /dev/windows accidentally didn't take the setting of
|
|
ioctl (WINDOWS_HWND) into account.
|
|
|
|
- Fix typos in cygcheck which could crash Windows 8 and 8.1 machines.
|
|
Fixes: http://cygwin.com/ml/cygwin/2013-11/msg00334.html
|