| Bug No. | Description |
|---|---|
| TAO-73 | Possiable thread unsafe singleton TAO::Unknown_IDL_Type::lock_i () initialization, used with any demarshaling, moved into dynamic library loading initalization. This now happens prior to main which is single threaded. |
| TAO-72 | tao_idl generated ValueType OBV_* classes now also generates a _copy_value method where this class is supposed to be the final "most derived" class. It is still left to the end user to provide such a method in their own most derived class when this is not the case. TAO can be built specifically to treat _copy_value as a pure or non-pure virtual function. Originally TAO treated this method as non-pure and did not require an implimentation to be provided (which is fine if the end user is not using the _copy_value funcionality in their own code, as TAO also didn't use it), however this is actually non-complient with the CORBA spec. TAO can now also be built to use the _copy_value method instead of reference counting "copying" insertions into anys; in such cases obviosuly the _copy_value method is required to be implemented. There are problems taking this general approach however, as the automatically generated _copy_value is not capable of duplicating cyclic graphs held in valuetypes, which realistially require the reference counting insertions to be utalised and/or knowledge of the actual use of the valuetype. |
| TAO-70 | Updated tags.html to match prism_release.html concerning error/minor codes; and fixed some meaningless errno copies being thrown from the core. |
| TAO-69 | Fixed tao_idl typecode generation for unions (in the *C.cpp files) where multiple case labels are defined for a single type. Previously although the marsheling/demarsheling code provided all of these correctly, the typecode information only provided the first case for each type. This effected the ability to extract these types from anys where the alternate cases were being used. |
| TAO-66 | Fixed MIOP server multi-threaded notify deadlocking problem. Also deactivated eager MIOP completed message socket de-queuing. |
| TAO-65 | Reverted the GIOP_Message_Base.cpp change for the TAO-57 MIOP Memory leak. This was ending up double deleting the Data_Block under certain circumstances. |
| TAO-63 | Fixed MIOP server thread pool message processing serialization. |
| TAO-59 | Fixed memory leak in MIOP server message processing. |
| TAO-58 |
Fixed older Linux problem with ‑ORBListenOnALL 1 UIPMC option
not finding IP interface devices during the join. Added the new
‑ORBListenerInterface UIPMC option to provide detailed control
over which IP interfaces are to be listened on for which mutlicast addresses.
This works in a similar way to the existing ‑ORBPreferredInterfaces
ORB_init command line option but for UDP server listeners instead of client senders.
See the TAO_UIPMC_Protocol_Factory section in the
docs/release/TAO/Options.html document for details. |
| TAO-57 |
Added MIOP configuration options -ORBSendThrottling
and -ORBEagerDequeueing,
along with #define overrides for their default settings; see descriptions
in docs/release/tao/Options.html for details.
Fixed possible ZIOP decompression leak. |
| TAO-56 | Added MIOP test interacting with PICurrent/Portable_Interceptors. |
| TAO-55 | Added MIOP test for mixed MIOP/AMI client. |
| TAO-54 | Added MIOP test for MIOP server spawning FT upcalls. |
| TAO-48 | Fix for the CORBA::INTERNAL exception raised by the Portable Interceptors code due to the mismatched popTSC calls. If an exception is thrown from inside the user code for the send_request_interception (which as this send was unsuccessful, there is no corresponding pushTSC), or either of the two receive_reply_interception or receive_other_interception points (which have already performed the popTSC operation), the call to the handle_any_exception or the handle_all_exeption helper functions does not now call popTSC. |
| TAO895 | Fixed the enforcement of the ZIOP::COMPRESSION_MIN_RATIO_POLICY. All compression ratios are calculated according to the ZIOP spec as (RATIO = Compressed_length / Uncompressed_length) and so form a valid range between ("Best compression" 0.00 < ratio < 1.00 "No compression"). TAO will never send a compressed ZIOP message if it is larger than the uncompressed GIOP message in any case, but otherwise if this policy is specified, the achieved ratio MUST be smaller or equal to the policy value. The whole point of this policy is to enforce a minimum level of compression so as not to overload the server with pointless message decompression operations. (Setting a policy value of 0.3, for example, means that to send compressed messages, the individual message must be 30% or less of the size of the uncompressed message. If this policy is not specified, ANY compression, however small the effect, will be allowed. |
| TAO893 |
Added the NOTE that any server that cannot decompress the client's used ZIOP compressor will reject the request as it simply cannot decode or handle it (the client-side comms will timeout or lock-up for any such incorrect two-way requests, or be oblivious to the failure with any incorrectly configured one-way requests). The default setting is |
| TAO891 |
Added CORBALOC support to the existing -ORBPreferredInterfaces option. |
| TAO889 |
Fixed memory leak in CosPropertyService (incorrect heap allocation of
CosPropertyService::MultipleExceptions in TAO_PropertySet::define_properties()
should have been stack based). |
| TAO886 | Reverted a bug fix when #define ALLOW_UNICAST_MIOP is defined to stop MIOP erroring (and issuing any diagnostics) when attempting to join a unicast address. |
| TAO881 | Added ACE_DEBUG ((LM_ERROR)) output to (de)marshaling problems when TAO_STRICT_ENUM_MARSHALLING is defined to allow the end user to track down which enum is at fault. |
| TAO877 | Redefined MIOP_MAX_DGRAM_SIZE to use the ACE_MAX_UDP_PACKET_SIZE definition which has been resized to 65,507 bytes. The field size sets a theoretical limit of 65,535 bytes (8 byte header + 65,527 bytes of data) for a UDP datagram. The practical limit for the data length which is imposed by the underlying IPv4 protocol, however, is 65,507 bytes (65,535 - 8 byte UDP header - 20 byte IP header). |
| TAO876 |
Added support for -ORBPreferredInterfaces to the UIPMC transport.
For IPv4 traffic a local interface IP address should be specified as the
mapping, e.g. -ORBPreferredInterfaces 225.*=192.168.0.2.
If IPv6 support is enabled and IPv6 addresses are in use then a local
interface name should be specified, e.g.
-ORBPreferredInterfaces FF01:*=eth0
|
| TAO870 (including TAO764, TAO836, TAO840) | Enhanced MIOP implementation; this now supports fragmentation. See MIOP_Strategy_Factory in docs/release/TAO/Options.html for details. |
| TAO863 | Provided Full ZIOP 1.0 support in Prismtech Distributions. ZIOP has been fully tested and will compress messages as required according to the ZIOP specification in both directions (i.e. in both the Request, Client->Server, and Reply, Server->Client directions.) Prismtech currently supports the ZLIB, BZIP2 and RLE compressors with ZIOP, the 3rd-party run-time libraries for which must be installed and made available (via LD_LIBRARY_PATH or equivalent) on the end user systems during run-time, if they are to be utilised by the user's applications. |
| TAO859 | Implemented derived DynamicAnys: "DynValueCommon, DynValueBox and DynValue" and support their creation via CORBA::Any and CORBA::TypeCode using the DynAnyFactory. Allow these Dynamic ValueTypes to be imported from and exported to standard Anys. |
| TAO801 | Improved the performance of the TAO_IDL compiler when processing large input files with many module re-openings. (Updated to fix an unintentional bug that was introduced causing tao_idl to possibly fail when processing multiple input idl files on the same command line.) |