20042009 Ericsson AB. All Rights Reserved. The contents of this file are subject to the Erlang Public License, Version 1.1, (the "License"); you may not use this file except in compliance with the License. You should have received a copy of the Erlang Public License along with this software. If not, it can be retrieved online at http://www.erlang.org/. Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. Orber Release Notes History 99-02-12 A
Orber 3.5.4
Fixed Bugs and Malfunctions

In some cases, it was possible for a user to delete the NameService root context.

Own Id: OTP-5202

Invoking two, or more, concurrent oe_register operations it could corrupt the IFR. If this is the case, the INTF_REPOS system exception is raised. The risk for this to occur is rather slim.

Own Id: OTP-5526

Orber 3.5.3
Improvements and New Features

To avoid malicious attacks, it is now possible to configure Orber to only accept incoming requests up to a certain size. To be able to use this option, it must be supported by inet and SSL.

Own id: OTP-5129

Orber 3.5.2
Fixed Bugs and Malfunctions

If a client tried to connect to Orber and immediately closed the connection, then the process accepting new connections could end up with a message in the queue that would never be removed.

Own id: OTP-5105

The INS corbaloc/corbaname URL:s did only accept DNS style host names. Now it is also possible to use, none compressed, IPv6 addresses.

Own id: OTP-5108

When Orber was configured to use IPv6 for inter-ORB communication, exported IOR:s did not contain a correct IPv6 address. This did not cause any problems if Orber was configured to use DNS style hostname instead.

Own id: OTP-5109

Orber used external operations not exported in R9B.

Own id: OTP-5111

Orber 3.5.1
Fixed Bugs and Malfunctions

When using Light IFR it was not possible unregister data (i.e., invoking 'MyModule':oe_unregister()). Introduced in Orber-3.5.0.1.

Own id: OTP-5034

Orber 3.5.0.1
Fixed Bugs and Malfunctions

orber_ifr:contents/3 always returned an empty list when using Light IFR. Little or no effect.

Own id: OTP-5018

Orber 3.5
Improvements and New Features

It is now possible to configure Orber to use NAT (Network Address Translation) friendly parameters. A new section in the User's Guide describes how to handle communication via firewalls.

Own id: OTP-4698

A new module called orber_diagnostics have been added, which is intended to aid a user during the test and development phase. For more information, see the reference manual.

Own id: OTP-4699

IPv6 supported.

Own id: OTP-4937

Possible to configure Orber so that exported IOR:s contain multiple IIOP components for different interfaces.

Own id: OTP-4938

Improved typechecking of typecode supplied to the operations orber_tc:check_tc/1, any:create/2 and any:set_typecode/2.

Own id: OTP-4939

Server objects can now be started as EXIT tolerant.

Own id: OTP-4940

Possible to use interceptors for local invocations as well.

Own id: OTP-4941

If the IFR is not explicitly used, Orber can be configured to use a minimal IFR to reduce memory usage and installation time.

Own id: OTP-5001

To avoid malicious attacks it is now possible to configure Orber to limit the number of concurrent connections and requests and the amount of IIOP fragments.

Own id: OTP-5002

The operation orber:iiop_connections/0 now also include incoming connections.

Own id: OTP-5004

The function orber:add_node/2 now accepts more options.

Own id: OTP-5006

The module orber_diagnostics now exports a function which list missing modules generated by IC and required by Orber.

Own id: OTP-5007

Fixed Bugs and Malfunctions

Orber's NameService did not return a NIL object reference if the total number of existing bindings was less than, or equal to, the HowMany parameter passed to 'CosNaming_NamingContext':list/2 operation. This have now been changed to be compliant with the OMG standard. Furthermore, the operation 'CosNaming_BindingIterator':next_n/2 did not handle the index correctly in all situations.

Own id: OTP-4700

If the Orber internal gen_server orber_iiop_pm was stopped in such a way that the terminate function was not invoked, then ghost processes would appear.

Own id: OTP-5003

Incompatibilities

The work-around introduced in version 3.4.1 (OTP-4608) has now been removed. Make sure you are using IC-4.2 or later.

Since the OMG has defined a default port number (2809), Orber no longer support the bootstrap port.

Own id: OTP-5005

Orber 3.4.2.2
Fixed Bugs and Malfunctions

Due to IFR DB lock mechanisms, concurrent creation of non-anonymous IFR types could still result in duplicated entries.

Own id: OTP-4781

Orber 3.4.2.1
Fixed Bugs and Malfunctions

The operation orber:start() could return before all Mnesia tables were accessible.

Own id: OTP-4780

Concurrent creation of non-anonymous IFR types could result in duplicates in the DB.

Own id: OTP-4781

Orber 3.4.2
Improvements and New Features

Improved type tests for string, wide string and sequence when passed via IIOP.

Own id: OTP-4759

Less (internal) processes are needed when Orber act as client-side ORB and communicate with another ORB. Due to this change, closed connections and socket errors are dealt with in a more gentle way. If the latter occurs, the error_logger application is used to generate an error report containing a description of what went wrong.

Own id: OTP-4655

Fixed Bugs and Malfunctions

When communicating with another ORB, via SSL, and a socket error occurred, Orber did not recognize the error message. This occurred when Orber acted as client-side ORB.

Own id: OTP-4656

If an out-going connection was closed and the receiving process had not been scheduled yet, the close connection message was delivered before the correct message.

Own id: OTP-4657

Incompatibilities

Since strstream is deprecated and not accepted by gcc-3.3, Orber no longer includes the InitalReference lib. The source code is still included.

Own id: OTP-4767

Orber 3.4.1
Improvements and New Features

It is now possible to use IC-versions older than 4.2. But, this is only temporary so it is still necessary upgrade to a correct version.

Own id: OTP-4608

Orber 3.4
Improvements and New Features

If a call-back module illegally caused an EXIT, clients residing on another ORB was not notified (hanged).

Own id: OTP-4577

The stub/skeleton-files generated by IC have been improved, i.e., depending on the IDL-files, reduced the size of the erl- and beam-files and decreased dependencies off Orber's Interface Repository. It is necessary to re-compile all IDL-files and use COS-applications, including Orber, compiled with IC-4.2.

Own id: OTP-4576

It is now possible to configure Orber to use the host name in exported IOR:s instead of the IP-number.

Own id: OTP-4541

Fixed Bugs and Malfunctions

When Orber acted as server-side ORB and one tried to setup a SSL-connection and using native Interceptors at the same time it failed.

Own Id: OTP-4542

Oneway operations, using a multi-node Orber, failed for inter-node communication.

Own Id: OTP-4543

Orber 3.3
Improvements and New Features

Orber now supports fragmented IIOP messages for 1.2.

Own Id: OTP-4462

Orber now has its own set of unique VMCID:s which is used for minor codes in system exceptions. All system exceptions raised by Orber now uses this VMCID base or OMG:s VMCID base. See also the function orber:exception_info/1.

Own Id: OTP-4463

Since some ORB:s, non-compliant with the OMG specification, have problems using IOR:s which embeds a CodeSet component, it is now possible to configure Orber to exclude it from exported IOR:s.

Own Id: OTP-4469

Fixed Bugs and Malfunctions

When combining interceptors and oneway operations, Orber incorrectly sent a MessageError over the connection to the client ORB.

Own Id: OTP-4460

After (2^32)-1 requests, Orber used the request number 0 twice in a row.

Own Id: OTP-4461

The COMM_FAILURE exception should only be raised when connection problems occur. Now Orber raises the correct exceptions. Note, when Orber act as client side ORB you must be able to handle any of the system exceptions defined by the OMG. Some of the COMM_FAILURE exceptions have been replaced with the correct TRANSIENT and TIMEOUT exceptions.

Own Id: OTP-4465

The default port used for corbaloc and corbaname was incorrect. Now changed to follow the OMG standard (2809).

Own Id: OTP-4466

When Orber acted as a client-side ORB, it failed to encode unions with a default case (i.e. defined in the IDL-code and a default label used).

Own Id: OTP-4472

The operation corba:print_object/1/2 did not include host/port data for IIOP-1.0 IOR:s.

Own Id: OTP-4483

Incompatibilities

Some of the COMM_FAILURE exceptions have been replaced with the correct TRANSIENT and TIMEOUT exceptions. All minor codes used by Orber is now based on the OMG assigned VMCIDs.

Own Id: OTP-4465, OTP-4463

The default port used for corbaloc and corbaname have been changed to 2809.

Own Id: OTP-4466

To reduce extra overhead Orber now uses a flag parameter, which makes it possible to configure Orber's behavior in different ways. Hence, the global activation of Local Typechecking, introduced in the previous version, have now been changed.

Own Id: OTP-4467

Orber 3.2.13
Improvements and New Features

It is now possible to activate automatic typechecking when invoking operations on CORBA Objects locally. For more information, see the configuration and debugging chapters in the User's Guide regarding the local_typecheck option.

Own Id: OTP-4410

Due to the success of the pre-compiled IIOP-trace interceptor, a less verbose trace interceptor, called orber_iiop_tracer_silent, have been added as well.

Own Id: OTP-4257

Orber now support the Fixed datatype defined by the OMG. To be able to define Fixed types in an IDL-specification, check that your current IC version supports this type as well. If not, the only option is to encapsulate it in an any type.

Own id: OTP-4375

Fixed Bugs and Malfunctions

It was not possible to use the function corba:print_object/2, which was introduced in the previous release, only corba:print_object/1. Now it is also possible to use the error_logger or receive the data in string form.

Own Id: OTP-4376

The functions orber_tc:principal and orber_tc:exception returned incorrect.

Own Id: -

The function orber_ifr:get_primitive tried to access a non-existing (primitivdefs) table.

Own Id: -

Orber 3.2.12
Improvements and New Features

Orber now check if an external IOR contains any TAG_ALTERNATE_IIOP_ADDRESS components when trying to setup a connection to another ORB.

Own id: OTP-4294

It is now possible to add TAG_ALTERNATE_IIOP_ADDRESS components to a local object reference. See corba:add_alternate_iiop_address/3.

Own id: OTP-4294

Orber now allows unions with no default value defined and a discriminator out of range to be sent via IIOP. The value-field is set to the atom undefined.

Own id: OTP-4295

The corba module now exports a function, print_object/1/2, which prints IOR's in a more readable form.

Own id: OTP-4296

Fixed Bugs and Malfunctions

Since "all" ORB's accept ISO-8859-1 encoding of chars and strings, Orber assumed that it could be used at all time to reduce the overhead. The JDK-1.3 only accepts ISO 646:1991 IRV (US-ASCII), even though ISO-8859-1 is default, which is why Orber now checks which codeset is accepted.

Own Id: OTP-4298

When invoking a Locate Request, Orber in some cases did not reply with a Locate Reply header (used a Reply header).

Own Id: OTP-4293

Orber 3.2.11
Improvements and New Features

If the underlying OS was not configured to allow Erlang to use the fully qualified host name the result could an incorrect IP-address. Hence, if you want to upgrade to Orber-3.2.11 and the fully qualified name must be used you must upgrade your kernel version. Most likely, this change will NOT cause any problems, but if in doubt please contact support or use the mailing-list. See also the release notes for Orber-3.2.6.

Own id: OTP-3966

Fixed Bugs and Malfunctions

When looking up Initial Service (e.g. using corbaloc, corbaname or corba:resolve_initial_references_remote/2) and communicating via SSL, Orber used the wrong port number.

Own Id: OTP-4264

Orber 3.2.10
Improvements and New Features

It is now possible to add new initial references, which can, for example, be accessed via corba:resolve_initial_references/1 or the corbaloc schema.

Own Id: OTP-4258

The orber module now exports functions, iiop_connections and iiop_connections_pending, which, respectively, list all currently open connections to other ORB's and connections which are in process of being set up to another ORB.

Own Id: OTP-4262

Orber now allows the user to define an interval of ports which Orber is may use (i.e. ports on the local machine) when trying to connect to another ORB. This behavior is useful if Orber resides behind a firewall which only allow applications to use certain ports when communicating with the outside world. If this option is set, it is absolutely necessary to set iiop_connection_timeout. If not, there is risk that Orber run out of ports, which will result in communication failure. This option cannot be used when using SSL since it does not support this feature. The default behavior is that any available port will be used (as before).

Own Id: OTP-4260

One can now install Orber's NameService as disc_copies, but the default behavior is that Orber uses ram_copies.

Own Id: OTP-4259

A pre-compiled IIOP-trace interceptor is now included in the Orber release. For more information, see the Debugging chapter in the User's Guide.

Own Id: OTP-4257

It is now possible to set Orber's configuration parameters in, for example, an Erlang shell. Consult corba:orb_init/1 and orber:configure/2.

Own Id: OTP-4261

The Orber release now include OrberWeb, which is an extension of the WebTool application (first released in R8B). Hence, WebTool must be installed to enable this feature. For more information, see the chapter OrberWeb in the User's Guide. OrberWeb is intended to be used during test and development.

Own Id: OTP-4257

Fixed Bugs and Malfunctions

When setting up two Orber ORB's, where one of the ORB's domain name was a prefix of the other ORB's, communication via IIOP would fail. To eliminate any further configuration problems, one may not use ^G (i.e. "\\007") in the domain name. Due to this change it is not possible to upgrade during run-time.

Own Id: OTP-4229

When using a mix of IIOP-versions (1.0 vs 1.1/1.2) and sending/receiving IOR's to/from Orber could result in a MARSHAL exception.

Own Id: OTP-4230

Encoding/decoding of wchar/wstring when using IIOP-1.2 do now follow the OMG standard. If your ORB do not follow the standard, contact support for information how to make a work-around to solve this problem. In most cases it is sufficient to configure the ORB's to communicate via IIOP-1.1.

Own Id: OTP-4263

Incompatibilities

The encoding/decoding of wchar/wstring when using IIOP-1.2 have been updated. See above.

Own Id: OTP-4263

Orber no longer returns a 'EXIT' message when trying to install Orber, i.e., invoking orber:install/1/2, on a disc-less node. But if if the installation fails due to any other reason, Orber still return a 'EXIT' message.

Own Id: OTP-4256

Known bugs and problems

OrberWeb only tested with Netscape-4.75. Furthermore, until WebTool reaches version 1.0 OrberWeb should also be considered to be a beta version.

Own Id: OTP-4257

OrberWeb do not escape arguments passed when, for example, creating a new context. Hence, for now you are recommended to only use letters.

Own Id: OTP-4257

Orber 3.2.9
Fixed Bugs and Malfunctions

External IOR:s containing unsupported or incorrectly placed TaggedComponents was corrupted when Orber forwarded the IOR via IIOP. This bug was introduced in 3.2.6.

Own Id: OTP-4170

Orber 3.2.8
Improvements and New Features

Orber now support interceptors.

Own Id: -

Orber 3.2.7
Improvements and New Features

When Orber acted as server-side and communicating via IIOP the overhead was unreasonably large and memory consuming (depended on the IDL-specification). This have now been fixed and will, especially, improve the performance when invoking operations with no, or simple, arguments on a complex interface. This change will have little effect on objects started as pseudo since this problem did not affect them.

Own Id: OTP-4063

When Orber tried to set up a connection to another ORB which did not respond all IIOP access where blocked until the TCP protocol generated a timeout. Now only requests to that particular ORB are queued.

Own Id: OTP-4060

Fixed Bugs and Malfunctions

It was not possible to invoke the operation CosNaming_BindingIterator:next_one via IIOP if no more bindings existed.

Own id: OTP-4004

Orber 3.2.6
Improvements and New Features

Registering data in the IFR overhead reduced.

Own id: OTP-3904

The overhead for the function is_a/1 have been reduced, which also affects remote narrow operations for inherited interfaces (e.g. using Java or C++ ORBs).

Own id: OTP-3904

If the underlying OS was not configured to allow Erlang to lookup the host-name by using the short-name the result was always the IP-address 127.0.0.1 (loop-back). Now Orber uses the full name. Hence, make sure the net_adm:localhost/0 and inet:getaddr/2 return proper values.

Own id: OTP-3966

Fixed Bugs and Malfunctions

The CONV_FRAME_CodeSetComponentInfo struct was not placed correctly in IOR:s. Each profile must be self-sustained which is why this information must be duplicated in each profile. Currently this only applies for the IIOP-profile but will also concern future protocols.

Own id: OTP-3992

Orber 3.2.5
Improvements and New Features

Orber now defines the configuration variable, iiop_setup_connection_timeout, which makes it possible to timeout connection attempts to another ORB before the OS TCP timeout is activated.

Own id: OTP-3961

It is now possible to configure Orber to generate reports when abnormal situations occurs. For more information consult the User's Guide regarding the configuration parameter orber_debug_level. Note, it is not recommended to use this option for delivered systems since some of the reports is not to be considered as errors.

Own id: OTP-3962

Orber now accepts a list of addresses as value for the configuration parameter orbInitRef.

Own id: OTP-3945

Orber now includes services defined by the configuration parameter orbInitRef when invoking corba:list_initial_services/0.

Own id: OTP-3946

Fixed Bugs and Malfunctions

When using the configuration variable 'orbDefaultInitRef' with a value pointing to another Orber-ORB it was not possible to install Orber since Orber used to create default NamingContexts. Orber no longer add these contexts.

Own id: OTP-3943

Orber accessed corbaloc addresses in reverse order. Now fixed.

Own id: OTP-3944

Incompatibilities

When installing Orber no default NamingContext's, i.e., host, hosts, resources, development, factories and workgroup, will be added. These contexts was defined in a cancelled specification.

Own id: OTP-3942

corbaloc addresses are now accessed in FIFO order (instead of LIFO).

Own id: OTP-3944

Orber 3.2.4
Improvements and New Features

-

Fixed Bugs and Malfunctions

When communicating via IIOP using version 1.2 Orber used incorrect offset for reply bodies containing system exceptions, exceptions and location forward.

Own id: OTP-3912

Orber did not return correct IFR Id:s when raising system exceptions via IIOP.

Own id: OTP-3911

If two different processes concurrently manipulated a CosNaming::NamingContext the data could become corrupted. For single-node Orber this error occurred in version 3.2.1, 3.2.2 and 3.2.3. For multi-node Orber this behavior have been present at all time.

Own id: OTP-3910

Incompatibilities

Since Orber now returns a different, and correct, IFR-id for systems exceptions other ORB:s and older versions of Orber might raise a different exception, probably MARSHAL or UNKNOWN. This only occurs when communicating via IIOP. It is not possible to upgrade during runtime. Use orber:stop(), load new version and restart Orber by invoking orber:start().

Own id: OTP-3911

Orber 3.2.3
Improvements and New Features

Improved performance for all types, simple and complex, when communicating via IIOP. It is not possible to upgrade during runtime. Use orber:stop(), load new version and restart Orber by invoking orber:start().

Own id: OTP-3905

Fixed Bugs and Malfunctions

If a pseudo object raises an exception or exits the exception was only returned, not thrown.

Own id: OTP-3907

Orber defined an incorrect ID for CodeSets. This may cause INV_OBJREF or DATA_CONVERSION exceptions to be thrown, it depends on the other ORB.

Own id: OTP-3899

Orber 3.2.2
Improvements and New Features

The behavior of Orber when receiving unsupported or incorrect messages have now been improved.

Own id: OTP-3903

Time consumed by oe_MyModule:oe_register() decreased.

Own id: OTP-3904

Fixed Bugs and Malfunctions

When Orber received a 'location_forward' reply, the result from the second invocation was never delivered to the client. Now fixed.

Own id: OTP-3814

Orber 3.2.1
Improvements and New Features

It is now possible to use external NamingContexts when, for example, using 'CosNaming_NamingContextExt':bind_context/3.

Own id: OTP-3902

Orber 3.2
Improvements and New Features

Orber now supports IIOP-version 1.2.

Own id: OTP-3901

Improved encoding and decoding performance for IIOP requests containing struct, union or user defined exceptions.

Own id: OTP-3900

Fixed Bugs and Malfunctions

Setting the bootstrap_port configuration parameter to a value less than 1024 made it impossible to start Orber properly. Now fixed.

Own id: OTP-3898

Orber 3.1.8
Improvements and New Features

Orber now accepts Indirection/RepeatedCORBA::TypeCode as input and/or return value when communicating via IIOP.

Own id: -

Fixed Bugs and Malfunctions

When another ORB replied with location forward Orber failed to decode this. Now fixed.

Own id: OTP-3709

Orber failed to encode CORBA::TypeCode containing tk_alias, e.g., sending an #any{} which encapsulates data defined by typedef.

Own id: OTP-3689

Orber 3.1.7
Improvements and New Features

Earlier, Orber did not use the IIOP/GIOP version specified in an external object key when invoking an intra-ORB request.

Own id: OTP-3663

The OMG standard now support an Interoperable Naming Service. Initially there where two proposals of which Orber earlier supported one of them. Now both standards are supported.

Own id: OTP-3664

The OMG have redefined the operator, used when encoding requests via IIOP, for the function corba_object:non_existent/1. CORBA version 2.0 and 2.2 compliant ORB:s is supposed to support the old definition, while later versions, i.e., 2.3, is supposed to use the new operator (_non_existent instead of _not_existent). Orber accepts both versions.

Own id: OTP-3679

Fixed Bugs and Malfunctions

If an Orber node crashed and was restarted the object keys could point to other processes than it should, which may cause problems if, for example, the other process terminates due to it does not handle unknown messages. Now Orber GC object keys for objects residing on the crashed node. If Orber is started as a multi-node ORB of which one or more nodes runs an older Orber version they can still communicate but with an increased overhead. Hence, all nodes should be upgraded during a relatively short time. If Orber is stopped, i.e., orber:stop() or a shutdown is generated, objects residing on that node will be terminated.

Own id: OTP-3678

If an IDL-file contains two interfaces of which the first one contains an exception and the second interface, which inherits the first one, contain an operation which raises this exception the IFR failed since multiple references where found when invoking orber_ifr:lookup_id/2. Now fixed.

Own id: OTP-3665

Incompatibilities

To be able to start Orber as lightweight the mnesia application cannot be listed in the "orber.app" file. You might find it necessary to add 'mnesia' to the applications-list. For example, you cannot upgrade an older version of Orber (not started as lightweight) to this version without adding mnesia to the application dependencies list.

Own id: OTP-3666

The function corba_object:non_existent/1 have been updated to follow the CORBA 2.3 standard. Hence, Intra-ORB communication with ORB:s not supporting this standard will fail. The operation corba_object:not_existent/1 allow users to use the old standard. Consult the ORB vendor's documentation to decide which function to use.

Own id: OTP-3679

Orber 3.1.6
Improvements and New Features

Cosmetic update of internal functions.

Own id: -

Orber 3.1.5
Fixed Bugs and Malfunctions

When decoding TypeCode for an object reference, e.g., as a part of an #any{}, Orber failed. This is no longer the case.

Own id: OTP-3631

Orber 3.1.4
Improvements and New Features

The function start_lightweight/1 have been added to the orber module. This function allow us to start orber as lightweight without, or override, the configuration parameter -orber lightweight.

Own id: -

A new configuration parameter, 'iiop_connection_timeout Secs', is now available. This parameter's purpose, is to terminate the socket connection on the client side if a time span of Secs seconds have passed. The connection will, however, NOT be terminated if a client still waits for a reply. For the last scenario to happen, the client have been configured to use a larger timeout value than the configuration parameter 'iiop_connection_timeout' have been set to.

Own id: -

Up until now, invoking an an operation with an extra Timeout parameter (using the IC option: ic:gen(IdlFile, [{timeout,"module::interface"}])), only applied to local Objects. Now, using the IC option above, when compiling the stubs, and adding the extra Timeout parameter, a timeout will also be triggered when calling Objects residing on other ORB:s. The return value, after a timeout has been triggered, have changed from an EXIT message to raising the system exception COMM_FAILURE. For more information, about how this feature interacts with the configuration parameter 'iiop_timeout', consult the documentation.

Own id: -

When using invalid intra-ORB configuration, i.e., incorrect Port/IP-address, when trying to connect to another ORB, a CRASH REPORT was generated if the configuration parameter '-boot start_sasl' was used. This behavior has now changed.

Own id: -

Fixed Bugs and Malfunctions

If a client-side ORB terminated the IIOP connection immediately there was a possibility that the server responsible detecting this did not.

Own id: OTP-3593

Setting the configuration parameter 'iiop_timeout' did not result in a correct behavior, i.e., no timeout triggered.

Own id: OTP-3555

Incompatibilities

When using the IC option, ic:gen(IdlFile, [{timeout,"module::interface"}]), an EXIT was the timeout result. Now, the system exception COMM_FAILURE is raised.

Orber 3.1.3
Fixed Bugs and Malfunctions

Orber did not ignore unrecognized TaggedProfiles. Other vendors may have registered own TAG's with the OMG. These TAG's are valid but not necessarily handled by other vendors.

Own id: OTP-3514

When passing Object references over IIOP, decoding local references could fail. Now fixed.

Own id: OTP-3515

Orber 3.1.2
Fixed Bugs and Malfunctions

Previously the OMG have published two suggestions for Interoperable Name Service, of which, the CORBA 3 specify orbos/98-10-11 to be implemented. Unfortunately, the Interoperable Name Service Orber supports, is the one not chosen. Hence, the InitialReferences.idl will not be according to the future standard. The modules name is now changed from CORBA to Orber. This will affect code which are using this interface. The idl specification must be recompiled and then CORBA must be changed to Orber in the client.

Own id: OTP-3468, OTP-3155

Now possible to run oe_unregister when the IDL-specification contains exceptions correctly.

Own Id: OTP-3447

Now possible to run oe_unregister when the IDL-specification contains attributes.

Own Id: OTP-3439

Incompatibilities

The change in InitialReferences.idl to clash with the Corba standard implies changes in code that use this interface. See the OTP-3468 and OTP-3155 in the Fixed Bugs and Malfunctions chapter above.

Orber 3.1.1
Fixed Bugs and Malfunctions

When introducing the configuration parameter ip_address it was no longer possible to have the same default behavior as before. Now fixed.

Own Id: OTP-3431

The internal request number handling never checked if maximum reached. Now the counter restart at 0 after reaching max.

Own Id: OTP-3415

Orber did not handle locate-requests correctly, i.e., not able to recognize the new internal representation of object references.

Own Id: OTP-3414

Orber 3.1
Improvements and New Features

It is now possible to start Orber as lightweight.

Own Id: -

It is now possible to create pseudo objects, i.e., not server objects.

Own Id: -

One new system exception introduced; 'BAD_QOS'.

Own Id: -

Orber now supports the types 'long long' and 'unsigned long long'

Own Id: -

Fixed Bugs and Malfunctions

Encoding typecode for complex exceptions (non-empty body) was not done correctly.

Own Id: OTP-3390

orber_iiop_pm crashed when it received an 'EXIT'. Now fixed.

Own Id: OTP-3391

Orber 3.0.1
Improvements and New Features

Orber is now able to handle upgrade properly.

Own Id: -

Orber 3.0
Improvements and New Features

It is now possible to use secure IIOP connections to and from Orber. Orber currently only supports security with the help of SSL and not SECIOP.

Own Id: OTP-1510

It is now possible to start Orber objects as supervisor children using Module_Interface:oe_create_link/2 or corba:create_link/4 as the start function.

Own Id: -

It is now possible to start a Orber object and be able to tell apart if it is in the process of being restarted or has permanently terminated. This is also the reason for introducing objectkeys_gc_time configuration parameter.

Own Id: -

The service CosEvent has been removed from orber and become its own application, called cosEvent.

Own Id: -

The service CosTransactions is now available as a separate application, called cosTransactions.

Own Id: OTP-1741

Three new system exceptions, 'TRANSACTION_REQUIRED', 'TRANSACTION_ROLLEDBACK' and 'INVALID_TRANSACTION', introduced. Required by the cosTransactions application.

Own Id: -

An configuration variable ip_address has been added, so it's possible to listen on a specific ip interface on a multi interface host. The value is the ip address as a string or a tuple of four integers, default value is all interfaces.

Own Id: OTP-3294

Fixed Bugs and Malfunctions

set- and get-operations for the 'any'-module now behaves properly.

Own Id: OTP-3355

Orber can now handle IORs which contain more than one "Tagged Profile".

Own Id: OTP-3266

Incompatibilities

CosEvent include paths have changed since it is now a separate application, called cosEvent.

The internal representation of object references have changed. Orber do, however, recognize the old representation. But object references (created by Orber 2.2.2 or older) stored and used through several Orber upgrades may not be supported.

The functions oe_create/2 and oe_create_link/2 now take an options list as its second argument. Orber still allow oe_create*(Env, {Type,RegName}) to be used, but may not in future releases.