From 23672785ee63ee712b8ef05d0caa92e798683e53 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Tue, 8 Jul 2008 20:12:46 +0000 Subject: * fhandler_socket.cc (fhandler_socket::bind): Don't run explicit local socket test in SO_REUSEADDR case on systems supporting enhanced socket security. Explain why. Only call address_in_use for AF_INET sockets. * net.cc (cygwin_setsockopt): Don't call setsockopt to set SO_REUSEADDR on systems supporting enhanced socket security. Add comment. * wincap.h (wincaps::has_enhanced_socket_security): New element. * wincap.cc: Implement above element throughout. --- winsup/cygwin/wincap.cc | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'winsup/cygwin/wincap.cc') diff --git a/winsup/cygwin/wincap.cc b/winsup/cygwin/wincap.cc index cf44dcc79..f2a3ef1fe 100644 --- a/winsup/cygwin/wincap.cc +++ b/winsup/cygwin/wincap.cc @@ -33,6 +33,7 @@ static NO_COPY wincaps wincap_unknown = { has_disabled_user_tos_setting:false, has_fileid_dirinfo:false, has_exclusiveaddruse:false, + has_enhanced_socket_security:false, has_buggy_restart_scan:false, has_mandatory_integrity_control:false, needs_logon_sid_in_sid_list:true, @@ -64,6 +65,7 @@ static NO_COPY wincaps wincap_nt4 = { has_disabled_user_tos_setting:false, has_fileid_dirinfo:false, has_exclusiveaddruse:false, + has_enhanced_socket_security:false, has_buggy_restart_scan:false, has_mandatory_integrity_control:false, needs_logon_sid_in_sid_list:true, @@ -95,6 +97,7 @@ static NO_COPY wincaps wincap_nt4sp4 = { has_disabled_user_tos_setting:false, has_fileid_dirinfo:false, has_exclusiveaddruse:true, + has_enhanced_socket_security:false, has_buggy_restart_scan:false, has_mandatory_integrity_control:false, needs_logon_sid_in_sid_list:true, @@ -126,6 +129,7 @@ static NO_COPY wincaps wincap_2000 = { has_disabled_user_tos_setting:true, has_fileid_dirinfo:true, has_exclusiveaddruse:true, + has_enhanced_socket_security:false, has_buggy_restart_scan:true, has_mandatory_integrity_control:false, needs_logon_sid_in_sid_list:true, @@ -157,6 +161,7 @@ static NO_COPY wincaps wincap_2000sp4 = { has_disabled_user_tos_setting:true, has_fileid_dirinfo:true, has_exclusiveaddruse:true, + has_enhanced_socket_security:false, has_buggy_restart_scan:true, has_mandatory_integrity_control:false, needs_logon_sid_in_sid_list:true, @@ -188,6 +193,7 @@ static NO_COPY wincaps wincap_xp = { has_disabled_user_tos_setting:true, has_fileid_dirinfo:true, has_exclusiveaddruse:true, + has_enhanced_socket_security:false, has_buggy_restart_scan:false, has_mandatory_integrity_control:false, needs_logon_sid_in_sid_list:false, @@ -219,6 +225,7 @@ static NO_COPY wincaps wincap_xpsp1 = { has_disabled_user_tos_setting:true, has_fileid_dirinfo:true, has_exclusiveaddruse:true, + has_enhanced_socket_security:false, has_buggy_restart_scan:false, has_mandatory_integrity_control:false, needs_logon_sid_in_sid_list:false, @@ -250,6 +257,7 @@ static NO_COPY wincaps wincap_xpsp2 = { has_disabled_user_tos_setting:true, has_fileid_dirinfo:true, has_exclusiveaddruse:true, + has_enhanced_socket_security:false, has_buggy_restart_scan:false, has_mandatory_integrity_control:false, needs_logon_sid_in_sid_list:false, @@ -281,6 +289,7 @@ static NO_COPY wincaps wincap_2003 = { has_disabled_user_tos_setting:true, has_fileid_dirinfo:true, has_exclusiveaddruse:true, + has_enhanced_socket_security:true, has_buggy_restart_scan:false, has_mandatory_integrity_control:false, needs_logon_sid_in_sid_list:false, @@ -312,6 +321,7 @@ static NO_COPY wincaps wincap_vista = { has_disabled_user_tos_setting:true, has_fileid_dirinfo:true, has_exclusiveaddruse:true, + has_enhanced_socket_security:true, has_buggy_restart_scan:false, has_mandatory_integrity_control:true, needs_logon_sid_in_sid_list:false, -- cgit v1.2.3