diff options
author | Phil Mesnier <mesnier_p@ociweb.com> | 2007-06-04 03:05:07 +0000 |
---|---|---|
committer | Phil Mesnier <mesnier_p@ociweb.com> | 2007-06-04 03:05:07 +0000 |
commit | fb4cb297c3162c745b9b3e4a5e0988d071b79222 (patch) | |
tree | 2903dc235d44fe5d3a52482f86b19e5494a712c2 | |
parent | 3f3ec12bbc2570ebe0338b37eee095e23887dd35 (diff) | |
download | ATCD-fb4cb297c3162c745b9b3e4a5e0988d071b79222.tar.gz |
Mon Jun 4 02:56:02 UTC 2007 Phil Mesnier <mesnier_p@ociweb.com>
-rw-r--r-- | TAO/ChangeLog | 27 | ||||
-rw-r--r-- | TAO/orbsvcs/tests/EC_MT_Mcast/MCast.cpp | 3 | ||||
-rw-r--r-- | TAO/orbsvcs/tests/EC_Mcast/EC_Mcast.cpp | 8 | ||||
-rw-r--r-- | TAO/orbsvcs/tests/Event/UDP/sender.cpp | 3 |
4 files changed, 33 insertions, 8 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog index 4a51d52f3fa..49e47afb9a2 100644 --- a/TAO/ChangeLog +++ b/TAO/ChangeLog @@ -1,11 +1,32 @@ +Mon Jun 4 02:56:02 UTC 2007 Phil Mesnier <mesnier_p@ociweb.com> + + * orbsvcs/tests/EC_MT_Mcast/MCast.cpp: + * orbsvcs/tests/EC_Mcast/EC_Mcast.cpp: + * orbsvcs/tests/Event/UDP/sender.cpp: + + Each of these test drivers use sap_any when opening a datagram + socket, which on an IPv6 enabled platform causes the socket to + only allow IPv6 target addresses when sending datagrams. Thus + the test fails when using an IPv4 target address, reporting: + Send of mcast fragment blocked (bad address). + However this is not detected as an error. I have added the local + endpoint's address family as a parameter to the datagram open + method so that when the test is configured for IPv4 or IPv6, the + local socket is set up correctly. + + This condition is written up in Bugzilla #2950. Ultimately I'd + like to see a solution that is encapsulated in the + ACE_SOCK_Dgram class so that applications such as these don't + have to be modified. I'm not sure the best way to do that. + Sun Jun 3 19:57:23 UTC 2007 Jeff Parsons <j.parsons@vanderbilt.edu> * tests/IDL_Test/constants.idl: - + Commented out a recently-added - + Fri May 25 18:49:12 UTC 2007 Jeff Parsons <j.parsons@vanderbilt.edu> - + addition to this file - an octet constant with a left-shift operator in the rhs literal. My fix to AST_Expression in the above checkin didn't work for big-endian systems. Possible diff --git a/TAO/orbsvcs/tests/EC_MT_Mcast/MCast.cpp b/TAO/orbsvcs/tests/EC_MT_Mcast/MCast.cpp index 3a5e7cc76f1..826de5e8304 100644 --- a/TAO/orbsvcs/tests/EC_MT_Mcast/MCast.cpp +++ b/TAO/orbsvcs/tests/EC_MT_Mcast/MCast.cpp @@ -168,7 +168,8 @@ main (int argc, char* argv[]) ACE_NEW_RETURN (endpointptr, TAO_ECG_UDP_Out_Endpoint, 0); TAO_ECG_Refcounted_Endpoint endpoint (endpointptr); - if (endpoint->dgram ().open (ACE_Addr::sap_any) == -1) + if (endpoint->dgram ().open (ACE_Addr::sap_any, + udp_addr.get_type()) == -1) { ACE_ERROR_RETURN ((LM_ERROR, "Cannot open send endpoint\n"), 1); diff --git a/TAO/orbsvcs/tests/EC_Mcast/EC_Mcast.cpp b/TAO/orbsvcs/tests/EC_Mcast/EC_Mcast.cpp index e89ab07ba61..314938f9f7e 100644 --- a/TAO/orbsvcs/tests/EC_Mcast/EC_Mcast.cpp +++ b/TAO/orbsvcs/tests/EC_Mcast/EC_Mcast.cpp @@ -235,14 +235,16 @@ ECM_Driver::close_federations (void) void ECM_Driver::open_senders (RtecEventChannelAdmin::EventChannel_ptr ec) { - if (this->endpoint_.dgram ().open (ACE_Addr::sap_any) == -1) + ACE_INET_Addr ignore_from; + this->endpoint_.dgram ().get_local_addr (ignore_from); + + if (this->endpoint_.dgram ().open (ACE_Addr::sap_any, + ignore_from.get_type()) == -1) { // @@ TODO throw an application specific exception. throw CORBA::COMM_FAILURE (); } - ACE_INET_Addr ignore_from; - this->endpoint_.dgram ().get_local_addr (ignore_from); ACE_TCHAR buffer[256]; ignore_from.addr_to_string (buffer,256); ACE_DEBUG ((LM_DEBUG, "(%P) ECM_Driver::open_senders - " diff --git a/TAO/orbsvcs/tests/Event/UDP/sender.cpp b/TAO/orbsvcs/tests/Event/UDP/sender.cpp index 73b0b9d8fcc..a00d089d570 100644 --- a/TAO/orbsvcs/tests/Event/UDP/sender.cpp +++ b/TAO/orbsvcs/tests/Event/UDP/sender.cpp @@ -135,7 +135,8 @@ main (int argc, char* argv[]) // We need a local socket to send the data, open it and check // that everything is OK: TAO_ECG_Refcounted_Endpoint endpoint(new TAO_ECG_UDP_Out_Endpoint); - if (endpoint->dgram ().open (ACE_Addr::sap_any) == -1) + if (endpoint->dgram ().open (ACE_Addr::sap_any, + udp_addr.get_type()) == -1) { ACE_ERROR_RETURN ((LM_ERROR, "Cannot open send endpoint\n"), 1); |