version 2.3.12 - update INSTALL.txt - fix double encoding issue on big-endian hosts (Antony Ramahay) - update copyright header years in generated files - re-enable old VC++ sequence reference bug workaround (new option: --vc-sequence-reference-bug-workaround) - fix IDL compiler dependency builder for tk_alias struct member generation issue - fix build issue on Solaris/GCC 3.4.x platform - fix IIOPServer to not break from do_read loop prematurely - update MANIFEST file - fix configure for FreeBSD 6 and shared libraries test - fix wrong variable name in IDL definition of PI (IOP::ServiceId -> IOP::ServiceID) (Tom Ritter) - fix possible race-condition (crash) on server side while receiving GIOP connection close message - fix assert while receiving GIOP close connection message when thread-per-connection CM is used - fix ServerRequestInfo::target_most_derived_interface operation for servant locator usage - fix crash on client side while receiving GIOP connection close message - fix assert when generating IDL containing CORBA::Principal type (Heiko Jansen) - fix GIOPConn::initialize_reader_key method to initialize key only once - fix IDL compiler dependency builder for inheritance and circular dependency issue - fix name service to properly initialize Binding object returned from `next_one' operation - fix warning about missing virtual dtor by adding it to the GIOPConnMgr class - fix MICO::IIOPProxy::make_conn method memory leak w.r.t. profile cloning - fix CORBA::IOR::copy method to initialize active profile correctly - update certificates for test/mt/stress test - fix to serialise calls to gethostbyname/gethostbyaddr functions (issue reported by Jose Luu) - merge from Wireless MICO branch (Jaakko Kangasharju) - update MANIFEST file - update the Wireless TODO file - remove profile registration from LTP profile - remove the Wireless README file - remove --relative-paths from Wireless IDL compilation - create POA later in Wireless CORBA bridges - correct Bluetooth for non-wireless use - fix build failure on Win32/VC++ platform - fix POA_impl::invoke to use correct POA inside POA's object reference object - fix configure for Forte C++ 6 and Sun Studio 7 (both needs pre-linking and -pto) - fix PI initialization (do not invoke interceptors during the pre/post_init calls) - rewrite GIOPConn::is_this_reader_thread method to use TLS - fix dispatcher_factory_ variable initialization for single-threaded build (reported by Rob Ratcliff) - fix unlocking of thread's internal _ready mutex (needs to be done in the same POSIX thread) - fix permissions on mt/callback demo run script - serialize output from threads' printing of caught exceptions (needed on Win32/VC++ platform) - fix compilation issue with mt/stress test on Win32/VC++ platform - improve Win32/VC++ platform build machinery (multi-threading is on by default now) - disable build of Wireless MICO extensions on Win32/VC++ platform (because of planned MT switch) - import core of pthreads-win32 library (2.7.0 release) - fix issue with undefined reference to DispatcherFactory dtor - fix some warnings emitted by GNU C++ 3.4.x/4.0.x - fix compilation issue on FreeBSD 5.4/6.x platform - fix crash during process termination on Win32 platform (Ron Wechselberger) - improve configuration for Sun C++ compiler (switch off pre-linking, remove -pto) - fix SSL demo for OpenSSL 0.9.7x compatibility - fix CSL2 demos for OpenSSL 0.9.7x compatibility - fix CSL2 demos for OpenSSL 0.9.7x compatibility - fix single-threaded build compilation issue - rewrite client side thread/connection management (new command-line options: -ORBClientReactive, -ORBClientThreaded and -ORBClientThreadedBlocking) - add factories for dispatchers (poll and select based) - fix Thread::_thr_startup method to catch all thrown exception - fix Thread::start method to correctly return thread starting error - add proxy like stress test - do not catch exceptions in stress test client - move poll.h include to the impl.h file (fix for final build compilation issue) - fix assert in IIOPProxy::make_conn when there is no version provider available - fix generic demo compilation issue on 64bit/GCC platforms - fix CSIv2 demos starting script for OpenSSL 0.9.7x compatibility - fix pi/dii-except test run script to use absolute path for ird/idl execution - add `.' to the PATH environment variable (useful for `make run') - fix memory leak in DynAny's union update_element method - fix few 64bit related warnings in ORB core and IDL compiler - add support for recent Win32 POSIX Threading library on Win32/VC++ platform - fix and enable compilation of micod on Win32/VC++ platform - fix compilation issue caused by missing boa.cc on Win32/VC++ platform - disable streams, trader and relationship services on Win32/VC++ platform - change -ORBDebug Exception to print stack trace of uncaught exceptions only - fix exception related memory leak in RequestInfo_impl object - print exception stack trace from CORBA exception terminate handler - add CORBA::Exception::_print_stack_trace function to print exception stack trace - enhance configure to check for GNU C++ demangling support - fixing memory leaks while spanning exceptions (Michail Bannij and Ruslan Shevchenko) - fix GIOP connection caching issue for other than plain IIOP transport - fix poll related compilation failure in TCP transport - fix objref extraction from any when we first extract CORBA::Object and then concrete object type (Frank Pilhofer) - remove asserts from CORBA::ServerRequest::op_def operation - add support for Cray Unicos/CC platform (Rob Ratcliff/FutureTek) - add poll-based dispatcher (Florian Wesch) - fix wrong type code reference counting in DSI (memory leak) - fix GIOP 1.2 wstring demarshaling on Win32 platform when byte swapping is needed (e.g. wstring sent by Java ORB) - add -ORBCodeSetsInIIOPProfile and -ORBNoCodeSetsInMultiCompProfile options - update forgotten files' headers' years - fix wrong typecode unaliasing during value box generation (IDL compiler crash issue) - fix two `comparison between signed and unsigned integer expressions' warnings in array.h - fix issue with crashing in DynValue_impl::set_members_as_dyn_any method - improve configure support for HP-UX/aCC platform - fix issue with different GIOP version connection caching in IIOPProxy - improve infrastructure for testing idl/ird cooperation - fix IDL compiler indirect recursion while feeding interface repository (Frank Pilhofer) - fix IDL compiler infinite loop while feeding interface repository (reported by Vinod Kumar) - fix double release of inout values in case of location forward (Steffen Kiefer) - enhance configure.in to check for thread-safe openssl library - fix acconfig.h for missing defines and regenerate config.h.in - various fixes for SGI Irix/MipsPRO platform (Sander Cox, Zoltan Bordas) - renew security/acl-unaware-ca-check demo certificates - do not register CSIv2 interceptors when CSIv2 is not used - switch TLS/CSIv2 support on by default - fix crash during the oneway invocation on single-threaded build (Frank Pilhofer) - fix final build (broken after BOA removal) - fix compilation failure on AIX/VAC++ platform - fix compilation failure of mt/stress test - cache connection based on cached profiles when we don't use wireless extensions - update configure warning note about thread-unsafe services - disable relationship service - remove dependency on dlcompat/libtool on Darwin/MacOS X platform - rewrite Thread::get_priority_max/min methods for better portability (culprit: Darwin/MacOS X) - do not use POSIX semaphore implementation on Darwin/MacOS X platform - fix poll(.h) related compilation failure on Darwin/MacOS X platform - add forgotten HAVE_POLL_H define (config.h.in) - add DYLD_LIBRARY_PATH setup (needed for Darwin/MacOS X) - add -Wno-long-double flag for Darwin/MacOS X platform - check for __MACH__ define when checking __APPLE__ define - add support for Darwin/MacOS X platform (Dmitri Hrapof) - make naming service thread safe (Fred Patrick) - switch multi-threading on by default - fix compilation issue on FreeBSD 5.3 platform - fix configure for multi-threading build on Tru64/cxx platform - fix compilation issue of pi/dii-except testcase on Tru64/cxx platform - fix IDL compiler for code generation issue on Tru64/cxx platform (famous no-newline breaks issue) - small configure fix for Tru64/cxx platform - fix compilation failure with enabled PCH - add CORBA reflection support (mars/04-08-12) (Frank Pilhofer) - fix compilation failure in IDL compiler sources on Solaris/SunStudio platform - small fixes for Solaris/SunStudio platform (optimization flags and multi-threaded build related) - disable old interceptors request related upcalls - fix code generation for constant defined inside valuetype (Michio Tsunekawa) - comment out omitted MICO_SSL_VB_COMPAT define which affects compliance of SSL component (Steffen Kiefer) - remove BOA (merge from mico--boa-removal branch) - remove all code scheduled for removal - remove BOA related code from old interceptors - remove BOA related code from IDL compiler - fix compilation of various demos (by BOA->POA porting) (Sergey Matveychuk, Joerg Knobloch and others) - fix compilation of tests with CSL2 enabled (CORBA-SMALL.h include issue) - remove redlich and boa demos directories - fix coss events IDL files compilation - disable trader and streams services (as they are not yet ported to POA) - fix compilation of DII tests - remove BOA related code from the IMR - mark dispatch.h file for removal (dead code) - fix compilation of IDL tests - change IDL compiler to report compilation failure when --boa option is used - bootstrap MICO core without BOA - fix compilation failure of recently added PI tests - partial merge from MICO SL3 project (merge from mico--sl3-os branch) - fix closing of not connected (opened) TLS/SSL transport - fix assert in POA's builtin_invoke method in case of thrown system exception - fix exception throwing from receive_request IP when serving DSI invocation - add testcase for previous fix (exception thrown by client PI under DII call) - set appropriate exception into DII request's environment when we throw exception from client side PI - fix double free of context list in PI's RequestInfo_impl dtor - duplicate IOR template into every created POA - fix compilation of Qedo examples with CSL2 enabled - fix wrong active reference counting in IIOPProxy::handle_invoke_reply - fix ThreadPool dtor to wait for non-idle threads - fix SSLTransport shutdown for multi-threaded build - renew certificates in CSIv2 demos - relax a bit TLS/SSL connection shutdown handshake conditions - fix TLS/SSL connection shutdown - fix wrong reference counting in ObjVar's assignment from _ptr type operator - fix crash in SSLTransport dtor - fix ORB_init to delete created ORBInitInfo object - change ORB/PI to destroy only ORBInitializers registered during ORB_init call - fix destroy_all_interceptors to release registered interceptors - fix wrong ORB reference counting in ORBInitInfo object - fix PI to set the right name into the DuplicateName exception - reprioritize registered ORBInitializers (ORB_init's need to be called first) - change =tagging-method to include binary and .depend files in precious instead of unrecognized category - change =tagging-method to include ``untagged-source precious'' directive - fix shared libraries support for FreeBSD 5.x - fix mkdepend to use good instead of eof test on opened fstream - fix currentid handling for reentrant calls - fix to use pthread_sigmask instead of sigprocmask on Unix(-like) platform for multi-threaded build (Dirk O. Siebnich) - fix make clean in demo directory (needed for Externalization service demo) - fix compilation of Externalization and Life Cycle services - fix micod to activate POA manager before restoring server records from the database (Fred Patrick) - fix compilation with como4.3.3/libcomo30 and PCH enabled - fix include paths rewriting rules for -I. usage (Dirk O. Siebnich) - reintroduce --relative-paths option for warning purposes (Dirk O. Siebnich) - enhance IDL compiler to better support include paths searching/generation (Dirk O. Siebnich) - merge Wireless Extension for MICO project (Jaakko Kangasharju) version 2.3.11 - update MANIFEST - some additional fixes for build on Cygwin platform in auxdir and demo/shlib directories (Joost Kraaijevel) - rename INSTALL to INSTALL.txt to solve issue with make install on Cygwin platform (reported by Joost Kraaijeveld) - add some additional error checking/setting into the OSNet::set_errno method on Win32 platform (Harald Böhme) - fix compilation issue on FreeBSD 5.x platform (Sergey Matveychuk) - update MANIFEST - fix parallel build of static coss library (Dirk O. Siebnich) - change IDL compiler to use "gendef" instead of "win32def" in comments generated by --windows-dll option - add mkbook script - update website - remove start script - fix compilation of x11 dispatcher demo on Cygwin platform (Joost Kraaijeveld) - fix binding name in shlib demo (Dirk O. Siebnich) - improve linker wrappers to correctly handle .so suffix in specified library name (Dirk O. Siebnich) - add shared libraries support for Cygwin platform (Joost Kraaijeveld) - fix copyright headers in files added in previous patch - various improvements for Win32/VC++ platform (terminate handler, memory leaks logger, make clean changes) - improve gendef tool to export extern "C" functions - fix compilation of memory checker on Win32/VC++ platform - fix final build - fix generation of structs with --windows-dll-with-export option - fix GIOP connection reference counting on single-threaded build (CLOSE_WAIT socket state issue) - fix user exception handling inside collocated DII calls (Nikolay Logvinov) - fix two typecode related memory leaks in PICodec (Jiang Wei) - add IDL to WSDL compilation support (Wesley W. Terpstra) - remove BOA examples - add mico.spec file (Dirk O. Siebnich) - fix generation of exceptions with --windows-dll-with-export option (Günter Neiß) - merge from TE1 project (merge from mico--te1 branch) - fix some issues with ORB::destroy call on client side - add include guards to avoid multiple inclusion of current.idl file - fix compilation of obv/tree demo after recent IDL compiler fixes - fix ORB_init/ORB::destroy memory leaks - fix static marshaller and typecode based memory leaks in IDL generated files - add small OBV related test into test/obv/1 - fix OBV_ initialization constructor access rights - fix OBV_ initialization constructor parameters (reported by Frank Stoinski) - fix CustomMarshal::unmarshal operation to return void instead of ValueBase* (reported by Ruslan Shevchenko) - some fixes in demos and tests - fix inout valuetype mapping + bootstrap (reported by Ruslan Shevchenko) - fix ORB::shutdown to be compliant (throw BAD_INV_ORDER) - fix double GIOP connection kill on server side - fix GIOP connection for write of long sequences when using thread-pool concurrency model - inline some empty and small operations in GIOP codec - cache already used IORProfile object in the POA - implement lazy SRI/CRI creation - avoid dynamic_cast calls to obtain SRI/CRI implementation references - move PI upcalls into separate functions and implement lazy PI upcalls - fix RequestInfo::get_(request|reply)_service_context operations incorrect mapping rules - replace #warning directive by #error directive inside MICO SSL - update copyright header for IDL compiler generated files - add warning about BOA deprecation into the IDL compiler (used together with --boa parameter) - add support for Intel C++ 8.x compiler - fix compilation of IDL compiler on Linux/Comeau C++/STLport platform - fix compilation of IDL compiler on Sun/Solaris/Forte C++ platform (Brian T. Solan) - full bootstrap - initialize pointer based variable in generated stub (valuetype/object) - do not use -fpermissive when compiling with gcc - replace MICO_EXPORT_DECL, MICO_EXPORT_FCT_DECL, MICO_INLINE_FCT_DECL and MICO_EXPORT_VAR_DECL macros with MICO_EXPORT macro - fix IDL compiler to correctly handle escaped identifiers inside scoped names - fix ORB_init to invoke ORBInitializers' post_inits after all references are resolved - change local interface mapping according to ptc/03-03-09 (merge from new-cc-mapping branch) - fix local interface implementation inheritance in PI, DynAny, CSIv2, PI demos and tests - fix MicoCCM for ptc/03-03-09 LocalObject change - make bootstrap - change LocalObject implementation according to ptc/03-03-09 - some minor win32 coss + demo fixes - remove dead code and unneeded defines from CORBA.h - add mico-config script - cleanup some dead code or unused macros, work done by Günter Neiß (merge from gunter-neiss-cleanup branch) - _WINDOWS macro cleanup in externalization service - MICO_SCOPE cleanup from jboss interop demos (CorbaFriendlySession.cc.saved) - remove cpp/index.c (not needed anymore on win32/vc++ platform) - namespace workaround and dead code cleanup (HAVE_NAMESPACE, _VC_NAMESPACE_BUG, _VC_NAMESPACE_HACK, MICO_NAMESPACE_DECL, MICO_NAMESPACE_END_DECL) - remove some unneeded Win32/VC++ workarounds (guarded by #ifdef _WIN32/#endif) - fix compilation failure in tcl dispatcher code (Dirk O. Siebnich) - fix compilation of property service (include path was missing) - improve Win32 DLL support, major help provided by Martin Friedrich and Harald Böhme (merge from win32dll branch) - fix gendef copyright - some demo win32 makefiles fixes - various win32 makefiles fixes (especially for --windows-dll option) - change PropertyTypes from sequence to CORBA::TypeCodeSeq (property service) - change poa.h.diffs from unified to context diff - bootstrap + patch fixes - fix unix makefiles (core and coss time) for new --windows-dll option semantics - switch to dll build again (uses new gendef tool) - do not emit helper comments for --windows-dll* options when using --mico-core option - correctly export in class typecode members (static _tc_* variables) for --windows-dll option - enhance IDL compiler to better support code generation for win32 dll - improve cross-compiling support for linux on arm, cris, mips and powerpc platforms - add --with-mico configure option (suitable for cross-compiling) - change admin/Makefile to install mkdepend - update config.guess and config.sub scripts - web-site update - fix IDL compiler compilation failure on win32/vc++ platform - fix parallel make all - fix some memory-leaks in PI in nvlist_to_parlist and sanylist_to_parlist operations (Tim Murnaghan) - fix idl files for identifier/keyword collision - add better handling of escaped identifiers into previous fix - fix IDL compiler to report error when identifier collides with IDL keyword - fix crashing in init_invoke when the adapter is null (not known) (Ruslan Shevchenko) - fix profile->connection map for high loads (Ruslan Shevchenko) version 2.3.10 - fix RequestInfo_impl::get_profile (regression introduced by wireless fixes in ior.cc) - update MANIFEST - add missing dii test scripts - fix mkmanifest script for ignoring arch files - website: add link to the development snapshots directory - start using some dii tests in the testing process - fix dii client crashing while receiving LOCATION_FORWARD (reported by Alexey V. Grigorovich) - remove unneeded test for vc++ and service pack versions (Sorin Mustaca) - website: add sponsors section - fix compilation issue with ssl support on multi-threaded build on win32 platform (Sorin Mustaca) - add missing jboss demo files - add MICO/JBoss interoperability examples (Francisco Reverbel) - fix timed linking on win32/vc++ platform (remove __declspec(dllimport) from CORBA.h) (Sorin Mustaca) - switch from dll to static libraries build for win32/vc++ platform (Sorin Mustaca) - website: update Sorin's email address - add support for --output-dir and --skel-suffix options into IDL compiler (Laurent Marzullo) - fix IDL compilation of event service on win32 platform (Günter Neiß) - get rid of MICO_SCOPE macro (Günter Neiß) - do remaining transition from _WINDOWS to _WIN32 (lifecycle and externalization services) (Martin Friedrich) - fix MICOMT::Locked class for ST-build (add appropriate constructors) - renew CSL2 acl-unaware-ca-check demo ``owner'' certificate - various valuebox related fixes needed for MICO/JBoss interoperability (Francisco Reverbel) - fix multi-threaded build with openssl 0.9.7 (Jiang Wei and Jaakko Kangasharju) - web: add link to Transaction and Concurrency Control for MICO project - fix IDL compiler famous output stream hack when linked against dinkumware unabridged library 4.02 - update web site - add unix transport test into mt/stress testsuite - fix some dangerous side effect asserts (Alexey Mednonogov) - make event service thread safe - fix ORBCallback interface implementation on CORBA::Request (waitfor/notify operations) - change eventd to use POA instead of BOA (Stefano Marocco) - add support for shared libraries for Comeau C/C++ 4.3.1 - add quoting of a path to the mico-cpp for win32 platform (Martin Friedrich) - fix crash of IDL parser in #pragma prefix handling code (Jos Vladimir, Ruslan Shevchenko) - add test if used VC++ is version 7 and higher (Sorin Mustaca) - update files from CVS which contains $Header CVS substitution keyword (just for completness - ignore if you don't use Arch) - merge some fixes from MIWCO - Wireless Extensions for MICO project (Jaakko Kangasharju) - remove prefix directory from extra directories (configure.in) - remove undefined behavior (cpp/cccp.c) - accept also uppercase letters in hex numbers (mico_url_decode) - fix dangerous fall-through (poa_impl.cc) - remove two possible memory leaks (orb reference handling in os-unix.cc/os-windows.cc) - correct copying of IOR active profiles and addressing - propagate addressing dispositions - make corrections to IOP IDL file (ioptypes.idl) - fix two typos in configure script - replace symbol _WINDOWS with _WIN32 symbol (Sorin Mustaca) - fix compilation of multi-threaded build on AIX4 (Nikolay Logvinov) - fix shared libraries build on NetBSD (Bo Li) - don't generate dummy template instantiation, it's not needed anymore for vc++7 and higher + bootstrap - fix compilation of fast_array.cc on AIX (Nikolay Logvinov) - add wstring test (test/idl/31) - fix make clean in ccm directory on Win32/VC++ platform (Martin Friedrich) - fix inside interface defined string consts initialization (reported by Nikolay Logvinov) - small additional fixes in Win32/VC++ makefiles w.r.t. MicoCCM (Dmitriy Grachjev) - port MicoCCM to Win32/VC++ platform (Martin Friedrich) - add support for PCH on Win32/VC++ platform (Sorin Mustaca) - add micoservice, support for running MICO daemons as an NT service (Sorin Mustaca) - remove obsolete code for generation of modules to struct mapping + bootstrap with fixed IDL compiler - disable VC++ hacks: _VC_NAMESPACE_HACK, _VC_NAMESPACE_BUG and MICO_SCOPE, and do full bootstrap - regenerate CSIv2 demo server/client certificates and keys - fix warning emitted by gcc33/gcc34 about reordering of parent class initialization - some win32/vc++ improvements in IDL compiler, ORB init and build machinery (Sorin Mustaca) - orb/orb.cc : get the full path of the executable file name, not argv[0] - win32def.cc : not use DESCRIPTION because is obsolete. Does not print the results to standard output, but in a file create with dll name and .def extension - modified the link process in all major makefiles with win32def/dumpbin - modified coss/makefile so now it produces a dll not a lib - modify all makefiles in mico (excepting demo and test, now) so that all respond to nmake all prg install (and lib to some of them) - modify idl compiler so that it search for mico-cpp in the same directory where the file was executed - fix CSL2 audit code for compilation with gcc3.3 (const string spread over many lines) - fix crash on server side while calling default servant/servant manager - fix CSL2 compilation failure on RedHat 8.0 - recompile IDL parser with bison 1.75 (fixes parser stack overflow issue) - remove --enable-fast-pch configure option, since it's changed to be on by default for pch enabled builds - use strict ANSI/ISO C++ mode while compiling with Comeau C/C++ - fix some ISO C++ warnings/errors in CSL2 - fix mapping of string constants - revert part of recent CCM fix (codegen-c++-util.cc) - CCM: fix unsubscribe for multiple receptacles and unsubscribe for publishes ports - add proper #ifdef/#define/#endif around CosNaming.idl file version 2.3.9 - MICO snapshot merged into standard source tree. This brings: - MICO/MT project (Andreas Schultz, Andy Kersting, Karel Gardas) - Portable Interceptor implementation - PI (ObjectSecurity Ltd.) - CORBA Security Service level 2 implementation - CSL2 (ObjectSecurity Ltd.) - Common Secure Interoperability version 2 implementation - CSIv2 (ObjectSecurity Ltd.) - Win32/VC++ port (Srinivas Rao N, Sorin Mustaca) version 2.3.8 - fix make generate in orb/ directory and regenerate all generated sources - add Win32 makefile and startup script for demo/ssl (Sorin Mustaca) - fix Win32 makefiles for MICO SSL compilation (Sorin Mustaca) - fix compilation of some demos - fix bad parameter name in SequenceIndTmpl::replace method (Fred Patrick) - fix corbaloc default port number (Michael Beach) - adjust compiler flags for VC++ (Peter C. Chapin) - patch for VC++ v7 (Peter C. Chapin) - add demo for load balancing in the Naming Service (Hann Wei Toh) - fix out operation on fixed length _var type (Alexy Khrabrov) - fix bug upon idl --feed-ir (Gerhard Doeppert) - fix compile problem on AIX/xlC (Nikolay Logvinov) - make some Ansi C++ fixes in various services (Nikolay Logvinov) - fix sequence value boxes (Lari Hotari) - fix some problems reported by purify (Hannu Huhdanpaa) - upon --c++-impl, don't generate code for abstract or local interfaces (Hajo Passon) - fix _bind request for GIOP 1.2 - added demo to show CORBA/EJB interoperability (see mico/demo/interop/ejb for details) - added some fixes to handle Sun's J2EE Java-to-IDL mapping - fix minor code upon throwing UNKNOWN in skeletons (Steffen Kiefer) - fix --enable-final (Ansgar Rademacher) - add constructor and assignment operator for TFixVar that accepts the fixed-length type itself instead of a pointer (Diego Sevilla Ruiz) - don't use a wsock32 library on non-windows systems - fix some compiler warnings in idl generated code (Peter Klotz) - added #ifndef in orb.idl (Roland Falkenberg) - fixed #pragma ID when identifier has leading '_' (Roland Falkenberg) - fix some problems in eventd (Hanke Brandes) - rename NOT_IMPLEMENTED to MICO_NOT_IMPLEMENTED to avoid name clashes (Uwe Maurer) - fix bug in MIDL code generation (Robert Griffin) version 2.3.7 - plug memory leak for strings in skeletons (Jens Horstmann, Peter Klotz) - avoid redoing completed invocations from within their completion callback (Rob Ratcliff) - fix problem in UnknownUserException (David Eriksson) - fix problem with forward declarations in a different file (Uwe Maurer) - some more support for MinGW; see INSTALL - fix assert in the DII if an unknown exception is received - improve const correctness (Christian Loose) - initial implementation of ORB::destroy (Uwe Maurer) - prefix parameter names in stub and skeleton to avoid name clashes - fix handling native in IDL code generator - fix problem feeding native types to an IR (Frank Bielig) - fix StringValue problem in Windows (Eric) - fix digraph problem in generated code (Vsevolod Novikov) - fix negative integer constants (Sergey Volk) - fix bug with multi-byte native character sets (Ulrich Hoffmann) - make the Interface Repository use a persistent reference - fix IDL problem with inheriting an interface with the same name but in a different module - when an implementation throws an unexpected exception, deliver UNKNOWN (Peter Klotz) - make IDL compiler work with mutual inclusion - fix nsadmin link error on some linux systems (Hann Wei Toh) - implemented library activation mode for Windows (Denis Pavlina) - work around a problem in JDK's ORB receiving wstrings from us - fix aCC problem in the Naming Service (Andrew Marlow) - avoid infinite recursion in DynamicAny::DynValue - make -ORBNoCodeSets disable all codeset-related stuff, strings and wstrings are just copied (the latter as 16-bit shorts) - support GIOP 1.2 fragments - some fixes for Ansi C++ (, , ios::noreplace) - fix TimeService timezone for FreeBSD - fix chunked valuetype encoding - Update Interface Repository to ccm/01-08-01 - Implement attribute exceptions - Implement IDL "import" statement as a replacement for #include. "import CosNaming" is equivalent to #include . version 2.3.6 - more checks (and less assertions) against ill-formed GIOP messages - added -ORBGIOPMaxSize option to configure the maximum acceptable size for GIOP messages - catch invalid string and sequence length values to avoid allocation errors - catch invalid IP addresses (that do not resolve) without crashing - rewrote demo/services/naming to use the POA - bugfix in mico_url_decode for corbaloc: and corbaname: (Uwe Maurer) - improve error messages for duplicate members in enums and structs - Don't require forward declarations for interfaces and valuetypes to be resolved in the same IDL file - Fixed memory leak in stubs that occured for certain types of variable length inout parameters - Fix bug in os-math.h (infinity check) (Xavier Montet) - Add policy check upon servant incarnation (hubl) - Fix repoid of CORBA::TypeCode::Bounds (Uwe Maurer) - Add hold, stop and continue features to micod and imr. hold stops forwarding requests, stop additionally sends SIGTERM, and cont continues (big surprise). This allows safe server maintenance. - Special handling of - as a file name on --ior in ird, micod, nsd to write an object reference to standard output - ported MICO to the PocketPC (see README-PocketPC for details) - Added IR Copier to improve --feed-ir - Moved GIOP:: and IOP:: types out of the CORBA:: namespace (Karel Gardas) - Some SSL compilation fixes (Teunis) - Fix minus operation in IDL (Uwe Seimet) - Add CODESET_INCOMPATIBLE system exception (Uwe Seimet) - Don't query server on narrow when type id has in fact the requested value - assign default POAImplName ("Default"); so no need to use -POAImplName when testing persistent POAs - fix wstring, enum and long long constants - IDL compiler adds the MICO path to the include path list - in IDL code generation, emit include statements as well - replaced some assertions with non-fatal checks in codec.cc (Alex Belikoff) - fixed name clash when "req" was used as parameter name (Bernd Raichle) - fixed IDL bug on typedef'ing CORBA::TypeCode (Peter Edwards) - support for forward-declared structs and unions in IDL compiler as per CORBA 2.4 spec. - fixed typo in codegen-c++-stub.cc (Ralf Barkow) - fixed bug in ir browser - added bind_context command to nsadmin (Rudolf Weber) - Fix version numbers in Interface Repository. - Some fixes for valuetypes. - Add support for ISO 646 (Ascii) and UCS-2 (16 bit fixed-width Unicode) code sets for better interoperability with the JDK ORB. - Updated DynamicAny module to CORBA 2.4. Exemplary usage of local interfaces. - Generate POA skeletons for the CosEventComm module. This should silence the FAQ why the Event service "doesn't work with the POA." - The Implementation Repository has been moved out of the core ORB. It is now available only as part of micod. You shouldn't really miss it. - The Interface Repository has been moved out of the core ORB. To have an in-process Interface Repository, you'll now have to link against libmicoir and call MICO::create_interface_repository (ir_creator.h). - Modify Interface Repository to use the POA. - Updated Interface Repository to CORBA 2.4. - Maintain an "active profile" for each IOR, the one used for the connec- tion to the server. This allows correct object key handling (in case they differ between profiles) and correct code set handling. - allow -ORBIIOPAddr inet:: address format (without a host name), to listen on all interfaces. - Handling of AddressingDisposition. - Verbose debugging for GIOP and IIOP. Seeing raw IIOP messages with `-ORBDebug Transport' should be nice for debugging interoperability problems. - Changed debugging system to be more flexible. The global debugging level has been replaced by debugging switches for various subsystems. These can be turned on using `-ORBDebug Level[,Level][=file]'. Currently available levels are Info, Warning, Error, GIOP (message exchange), IIOP (connection management), Transport (raw data) and All for all of them. - Removed no-namespace support. It became more and more tedious to maintain, and modern compilers support namespaces reasonably well (with some known braindead compilers as exceptions). - when resolving http://... IOR strings skip HTTP headers because some servers send headers even in response to HTTP/0.9 requests - fixed problems with some generated code which redeclares some libc functions in the wrong way for glibc3 (i.e., void exit(int) throw()) - fixed bug in DynValue::set_members() (Robert Switzer) - fixed problem under VC++ with sequence of arrays (Frank Vanris) - fixed compile time error for array assignments (Ralf Barkow) - fixed compile error in mico/tools/ir-browser (reported by Randy) version 2.3.5 - --disable-mini-stl is now the default - reduced number of warnings generated when using -Wall - check for empty names in TypeRepository_impl::add_type (Carsten Zerbst) - adopted life cycle service to new out parameter mapping - various fixes for Visual C++ (Adam Gates) version 2.3.4 - fixed wchar/wstring encoding for GIOP 1.2 - various fixes for the IDL compiler related to #pragma directives (provided by Francis J. Lacoste) - added demo to show implementation for generic client and server based on DII and DSI (see mico/demo/generic) - fixed bug in POA builtin method handling related to using interceptors on the server side (reported by Ken A. Redergard) - allow new INS format arguments for --regname (events, property, time services) (Carsten Zerbst) - added ORB::{un,}register_profile_id() to dynamically add/remove protocols without recompiling mico - fixed bug in UnknownProfile::decode() (Marcus Wittig) - renamed orb.h to orb_mico.h; there is a new empty orb.h which will be included by files generated from .idl's that include orb.idl - fixed ambiquity in SSLComponent constructors (Rudolf Weber) - fixed bug in parsing fixed constants (Rudolf Weber) - fixed POA crash when client uses non existent poa name in iioploc url (Adam Stanbridge) - fixed AIX C++ related bug in Naming_impl.h (Martin Aberle) - fixed bug in demo/siegel (Didier Fort) - fixed bug in ministl bstring (Andrew Marlow) - fixed bug in event service (Jason Nye) - changed the way service context list is handled: the user has to provide the contents of an ENCAPSULATED sequence (i.e., including the byte order octet) in the interceptor and will receive the contents of an sequence ENCAPSULATED (i.e., including the byte order octet) in the interceptor; this is because only the user knows the (encoded) contents of the service context and therefore has to know the byteorder (which is part of the encapsulation) to decode the contents - clear service context list on the server side to avoid bouncing back service contexts the client sent (reported by David Garfield) - fixed some SSL problems (reported by Timothy Wall) - fixed bug in response_flags handling for GIOP 1.2 - changes for Borland C++ (Steven Kirk) - new options -ORBIIOPVersion (to control the IIOP profile version of generated object references on the server side) and -ORBGIOPVersion (to control the GIOP version when generating GIOP requests on the client side) - configure changes for DEC C++ 6.2 (Pit Linnartz) - new coss lifecycle and extrenalization releases (Dmitry Sedov) - implemented PrincipalCurrent to allow accessing CORBA::Principal when using POA, mainly for use with SSL - fixes for gcc 2.95.2 - IDL compiler now generates POA-skeletons by default. Use IDL compiler options --boa --no-poa if you need BOA-based skeletons. - generate correct C++ code for IDL types [unsigned] long long (reported by Xavier Montet) - more changes for Sun C++ 5 - fixed memory management bug in Any::copy_any() and event service - changed to_{w}string and from_{w}string according to latest c++ mapping - changes for AIX xlC 5.0 (Martin Aberle) - check for duplicate service super types in trading service (Thomas Langen) - fixed bugs in dynany_impl - fixed bugs in property service (Leif Jakobsmeier) - made IDL to C++ mapping for out parameters CORBA 2.3 compliant. IDL Compiler will now generate T_out helper types. Note: this requires changes on server side code if the user interface uses out parameters (reported by Guy Keren) - made Any::operator>>=() CORBA 2.3 compliant - removed Boolean Any::operator>>= (Any &) const; for CORBA 2.3 compliance - removed configure option --enable-corba2-1 version 2.3.3 - workaround for visibroker4: it generates zero length encapsulations in service contexts that do not contain the required byte order octet - fixed problem with typedefs in DynAny (P. Merle) - Dropped Simple(En)|(De)coder, as it induced bugs with Any demarshalling - workaround for HP aCC in trader_main.cc (Graham W Hudspith) - fixed bug in POA_impl::the_children() (Fred Patrick) - added naming service load balancing support (Hann Wei Toh) - ported mico/tools/ir-browser to win32 - fixed bugs in ministl's map::clear() and set::clear() - new eventd command line option --max-queue-size to limit size of outstanding event queue - added preliminary support for Sun C++ 5 - fixed bug in DynAny (w)string insertion/extraction code (P. Merle) - Fix Naming Service persistent bug. nsd now offers a --db option like the other repositories and uses only this single file for its database. - Fixed problem with forwarded objects and persistency (Fred Patrick) - Added support for corbaloc: and corbaname: URLs according to ptc/99-12-02. iioploc: and iiopname: are still there for backwards compatibility but deprecated. - Added shortcut for arrays/sequences of octet in CORBA::Any::copy_any(). - The ORB now looks at an object reference's profiles to decide whether the object is local or remote rather depending on the object key alone. As a side effect, the POA Implementation Name now needs not be globally unique any more but need only be unique within an Implementation Repository. - Better support for file:// IORs in Win32. Accept file://:/path and file:////drive/path (i.e. empty hostname, filename //drive/path). - Some support for Mingw32 (Cygwin32 minus the Posix runtime cygwin1.dll). Static build so far only. Set CC, CXX, CPPFLAGS and LDFLAGS properly to include the mingw target headers/libraries, CXXFLAGS="-DBUILD_MICO_DLL -D_WINDOWS", then run ./configure --disable-shared --disable-dynamic --disable-mini-stl. Then substitute os-unix.cc with os-windows.cc in orb/Makefile. You may also have to remove ssl.cc and tckind.cc from SRCS there. Read the mno-cygwin-howto before attempting any of this! - allocate array params on heap in skeleton (Christophe Rene) - fixed bug in FixedBase::operator! (Stefan Wengi) - fixed bug in MIDL codegenerator (Massimo Di Giorgio) - added alpha versions of lifcycle and externalization services, you have to explicitely enable them using configure options --enable--life and --enable-externalize (Dmitry Sedov) - fix restarting servers after power-cycling micod (Fred Patrick) version 2.3.2 - block SIGPIPE to avoid beeing killed when peer aborts a unix socket connection (Chris McClellen) - workaround for VC++ bug wrt anonymous structures (Oliver Willenbrock) - fixed problem with read() returning ECONNRESET after writing on a connection that has been closed by the peer - fixed sprintf() bugs in os-windows.cc (Ken Anders Redergard) - fixed bug in IR browser (reported by Heinz) - fixed scoping rules for #pragma prefix (reported by Fred Patrick) - include tools directory in Makefile.win32 for target w95-all - workaround for VC++ namespace problems (Jasper Ullrich) - link nsd.exe with util.obj to avoid segmentation faults (Ferran Boladeres) version 2.3.1 - fixed CORBA::InterfaceDef::describe_interface(), which must include info for inherited ops and attributes as per 2.3 spec. Fixed code that depended on the old behavior. - workaround for VC++ namespace problems in generated OBV code (Andreas Rudolf) - fixed bug for coercions between bounded and unbounded strings - Don't assert(0) if POA initialization fails (i.e. -POAImplName without an option), but throw an exception instead. (Carsten Zerbst) - Added support for file: and http: URI's according to the INS spec. (See also RFC 1630). Referenced files must contain a single IOR. HTTP client speaks 0.9 so far. - ird, micod and nsd now sport a `--ior' option to write their object reference into a file. Therefore, you can now connect to a Naming Ser- vice in an entirely CORBA compliant manner: `nsd --ior /tmp/nsd.ref', then run `client -ORBInitRef NameService=file://localhost/tmp/nsd.ref'. - Got rid of local static objects, which cause problems when MICO is used as loadable module. - fixed CORBA::ORB::poll_next_response() and CORBA::ORB::get_next_response() - do not enter dispatcher in CORBA::Request::poll_response() - Persistent POAs with SYSTEM_ID prefix UIDs with a GUID and do not need to save their state in the IMR any more - fixed operator <<= (CORBA::Any&, CORBA::UnknownUserException*) - fixed bug in UnknownComponent::decode() (Marcus Wittig) - added examples of Jon Siegel's upcoming book - made IDL compiler less sensitive to \r (Andreas Schultz) - micod now attempts to restart a failed (POA persistent) server after 30 seconds (overridable using `imr activate') (Bernhard Wallner) - added workaround for broken Visibroker recursive typecodes (Drew MacInnis) - dont print error messages in resolve_initial_references() (A. Kersting) - improved property service (Leif Jacobsmeier) - changed relationship for better traversing graph of related objects (patch provided by Dmitry V. Sedov) - bug fix for --feed-ir: do not feed included definitions by default (reported by Nikolaj Logvinov) - require fully scoped name for CORBA::Principal in IDL specifications (reported by Michael Dickson) - check for EWOULDBLOCK after select() (reported by Thomas Graefenhain) - fixed bug in automatic port selection in UDPTransport (reported by Leif Jacobsmeier) - added workaround for "typedef char *string" name clash in exception.h - fixed bug in StaticRequest::get_response() (David J Worthey) - fixed bug in TypeCode::equal() when comparing unions (Sai-Lai Lo & Chengjiang Lin) - fixed problem with handling of Object IDs containing `/' or `\\' in POA (Andreas Hess) - fixed problems with --enable-corba2-1 (reported by David Worthey) - changed ORB::create_list(len) to not fill the list with "len" elements but only reserve space for "len" element as per CORBA 2.3 spec - CORBA 2.3 specifies a Any::type(CORBA::TypeCode_ptr) method that conflicts with the existing method. renamed old method to set_type() and implemented reimplemented type() to conform to the CORBA 2.3 specs - moved part of README-WIN32 to the docs - fixed bug in POA::servant_to_reference (Carsten Zerbst) - use INS-compliant encoding for "path names" in nsadmin, if actually talking to an Interoperable Naming Service (Yu Cao) - fixed relship and relship demo for --disable-except and --disable-std-eh - fixed win32 related problems (Alexander Rieger) - fixed bugs in POA mediator related to servers not started by micod (Alexander Rieger) - fixed bug in IIOPProxy::make_conn() - work around missing ftime() prototype on Solaris 2.5.1 (reported by Guochun Lin) - fixed gcc 2.95 related problems in SSL code (reported by Martin Bassner) - added options for irix CC to fix sysmbol tabel overflow (Yu Cao) - changed Any::to_object and Any::to_abstract_base extraction again to return a duplicate as per CORBA 2.3 spec (reported by Jasper Ulrich) - only unforward upon COMM_FAILURE, TRANSIENT, OBJECT_NOT_EXIST system exceptions in Request and StaticRequest (reported by Dirk Foersterling) - fixed configure problem; do not try to link with libstdc++ when not using miniSTL (reported by Andy Kersting) - changed RandomGenerator IDL to fix name clash with STL (reported by Andy Kersting) - fixed relationship service code to work with --disable-std-eh (reported by Marcel May) version 2.3.0 - fix for OS/2 in admin/config.sub (Ralf Barkow) - integrated new release of the relationship service (Karel Gardas) - fixed bug in NamingContext::list() (Rudolf Koenig) - fixed bug in Request::send_deferred() (reported by Yu Cao) - fixed bug that led to an infinite loop in the IIOP code when contacting a nonexistent object in an existent server (reported by Robert Switzer) - fixed crash that occured under certain conditions when decoding garbage (reported by Roger Karrer) - describe win32 fix to reduce delay after server restart in README-WIN32 (Wolf-Dieter Held) - unforward objects in ORB::redo_request() before redoing the invocation - added send_deferred() and get_response() to StaticRequest (Christophe Rene) - fix for gcc 2.95 (Martin Cornelius) - added some new commands to nsadmin (iordump, repoid, locurl) (Rudolf Weber) - fixed bugs in coss/trader/Makefile - added workaround for problems with sending on a closed TCP connection - ORB changes for CORBA 2.3 - updated demo/dynany for CORBA 2.3 DynAny - DynAny changes for CORBA 2.3 (these are substantial, code using DynAny needs a major rework) - various Makefile fixes for Win32 (Rudolf Janz) - fixed race condition in POA Mediator (Wolf-Dieter Held) - fixed Win32 process handling problems (Wolf-Dieter Held) - fixed bug in client side IIOP connection reference counting (bug reported by Alexander Rieger) - set MICORC=/dev/null in all demo scripts - fixed bugs in trader federation code (Oscar Stiffelman) - POA changes for CORBA 2.3 - OBV changes for CORBA 2.3 (inheritance changes, and the syntax for initializers has changed; `factory' is now a keyword) - implemented time service (Carsten Zerbst) - new option --regname for event and property daemons to specify the name(s) under which to register with the naming service - renamed naming.idl, trader.idl, typerepo.idl to CosNaming.idl, CosTrading.idl, CosTradingRepos.idl, respectively - changes for Sun C++ 4.2 - mico-shld.def.in: added missing $libdirs to command line (Don Libes) - fixed bug in name service restore() code (Jacques Tremblay) - allow shell style comments in .micorc file - renamed LevelRecord::None due to problems with X11 (Thomas Langen) - fixed bug in IMR saving code in micod (Johan van den Berg) - allow passing NIL to connect_*() in event service (Georg Kindermann) - remove gtkmico-c.cc (Jim Robinson) - raise TRANSIENT instead of COMM_FAILURE when connection breaks after invocation has been sent (Georg Kindermann) - fix to make --relative-paths work when include path contains ./'s (Harri Porten) - fix for --enable-final (Will Taylor) - run ldconfig after make install (Dirk A. Mueller) - avoid warnings for -pedantic (Dirk A. Mueller) - prefer exception over exception.h in except2.cc (Jasper Ullrich) - fixed gcc 2.7.2 problem in transport.cc (Hann Wei Toh) - fixed include prefix for win32 makefiles in demo/services/* and demo/boa/* (Chris McDonald) - fixed problem with unresolved external Exception::_raise() - fixed configure bug related to --disable-mini-stl (Rainer Wirtz) - fixed problem with passing string constants to UDPTransport::write() (Harri Porten) - fixed problems with function pointer casts in ssl.cc (Andy Kersting) - fixed bug in coss/trader/register.h; the define is called USE_CORBA_2_1 - fixes for Cygwin32 in ir-browser/diiproxy.cc (Dr. Volker Zell) - fixes for QT 1.44 in qtmico.h (Rudolf Weber) - fixed bugs in Any::to_object() and Any::to_abstract_base() (Owen Taylor) - fix for IRIX 6.5 in idl/yacc.yy (Yu Cao) - fixed bug in BOAImpl::del_record() - added redlich/README to MANIFEST - added option -ORBNoResolve to avoid resolving given IP addresses into hostnames (dotted decimal notation is used instead) - IDL compiler: * avoid assignment of arrays in generated code (Frederic Lacoste-Seris, Graham Hudspith, Georg Kindermann) * generate two distinct marshallers for recursive and non-recursive sequences of the same type, because recursive and non-recursive sequences use different sequence templates * changed generated code to make it compile with CORBA-SMALL.h * fixed bug in IDL code generator (Guenter Kempter) * removed option --query-server-for-narrow which is now the default. use option --do-not-query-server-for-narrow to disable interaction with remote servers during a _narrow() operation * removed option --use-dii version 2.2.7 - create implementation repositorty entries for BOA persistent servers in a local implementation repository to avoid polluting micod's global implementation repository - added file CONVERT which describes how existing code must be changed for MICO 2.2.7 - changes for OpenSSL (Rudolf Weber) - fixed memory management bug in Buffer::reset() - added experimental UDP support; see demo/mcast for a simple fault tolerance example - allow multiple IOR profiles of the same type - removed the check for gcc version in configure, there are too many different versions out there. - added patches for "Advanced CORBA Programming with C++"; see demo/henning - made --enable-final work again - fixed bug in BOA: has_object() must return TRUE if passed object is the remote (i.e., micod) objref of an object in this BOA - added COM/CORBA interworking demo (see demo/com-interworking) (provided by Massimo Di Giorgio) - ported SSL support to Win32 (Alfonso Urdaneta) - fixes for 64 bit platforms in buffer.cc: pointers cannot be cast to 32 bit integer types - nsadmin: dont interpret slashes in names enclosed in quotes (') - nsadmin: allow using null IORs - improved overall performance by about 35% (according to demo/bench) - new option -ORBIIOPBlocking to make IIOP use sockets in blocking mode. this gains some extra performance but nested method invocations dont work when this option is specified. - updated sections "Exceptions" and "Untyped Values" in the documentation to reflect recent changes - configure changes for DG/UX (Eric Raskin) - added -bbigtoc option for AIX (Markus Pohlmann) - fixes for gcc 2.7.2 - restructured demo directory - fixed memory leak in StaticServerRequest (Steffen Hansen) - reworked array forany templates to be CORBA compliant - environment variable MICORC can be set to the name of the config file; -ORBConfFile option overrides $MICORC - changed event daemon to only pull when there are connected push consumers or pulling pull consumers - made event daemon more robust with respect to pull/push supplier/consumer crashes (TANAKA Shinya) - fixes for IRIX 6.5 (Kevin Schmeichel) - added imr option "locate" (J. Tremblay) - made <<= operators return void as per CORBA spec - fixed bug in sequence non-copying any extraction operator - fixed bug in Context::get_values(): scope can be NULL - use idl compiler to generate enum TCKind - added missing <<=, >>= operators and _tc_* constants for system exceptions - added missing Any::operator<<= (const Exception &) - added missing non-copying versions of some <<= operators - added missing builtin <<=, >>= operators for Any_var - added ostream << operator for String_var - changes for SSLeay 0.9 - fixed bug in FLtk dispatcher (Jacques Tremblay) - fixes for Sun CC (Stephen Gallimore) - fixed bug in BOAImpl::has_object() (Christophe Brethes) - changed exception handling support to be CORBA compliant (Wil Evers) - started to implement DynValue (still incomplete) - improved oneway performance over IIOP by 100% - moved TransportPrefPolicy to module MICOPolicy - added BiDirPolicy - added workarounds for VC++ namespace problems (Rudolf Janz) - added configure option --enable-corba2-1 to make MICO compliant to the CORBA 2.1 standard - Interface Repository: * when checking for duplicate repository IDs, the complete IR has to be searched * some more error checking for invalid parameters * lookup et al searched in the wrong direction (!) * fixed bug in IR, which caused a "duplicate member error" when feeding unions like: union U switch (T1) { case L1: case L2: sequence x; }; - IDL Compiler: * added new option --gen-included-defs to generate code explicitly for #included definitions * added new option --gen-full-dispatcher which will add dispatching code in the skeleton of an interfaces for all inherited operations and attributes * added new option --codegen-midl to generate Microsoft MIDL out of a CORBA IDL specification (Massimo Di Giorgio) * removed backend for IDL to C mapping. The following options are no longer available: --codegen-c, --no-codegen-c, --h-suffix * many C++ mapping bug fixes (OpenGroup) * added missing support for coercing unsigned long long to other basic types * changed TypeCode::equal() to follow recursions if remove_aliases==TRUE to prevent idl compiler from generating duplicate sequence marshallers as in struct S1 { sequence s; }; struct S2 { sequence s; }; where sequence marshaller was generated twice. * the skeleton code does no longer automatically free the old value of a variable length inout param (string, wstring, (abstract) interface, valuetype, valuebox) if the user replaces the value; that is the user has to free the old value if he wants to replace it. This is the way the CORBA spec wants it. REQUIRES CHANGES IN USER CODE. * fixed memory leaks in non-copying Any extraction operators: ownership of the extracted value is maintained by the Any and user must not delete it. This affects the non-copying extraction operators for: string, wstring, (abstract) interface, valuetype, valuebox, struct, union, exception, sequence, array. REQUIRES CHANGES IN USER CODE. * generate more efficient skeleton code for variable length out parameters and return values. * generate more efficient method dispatchers for interfaces with lots of methods. * generate more efficient marshalling code for sequences and arrays of base types. * new option --config to print some important MICO configuration infos. * fixed memory leak in generated SII demarshallers for (abstract) interfaces * cleaned up VC++ workarounds * "export" is now a C++ keyword version 2.2.6 - Objects by Value - added some OBV demos (demo/obv) - some C++ mapping fixes - fixed bug in POA wrt objects without any profiles (Jacques Tremblay) - added doc about persistent POAs and reference-counted servants version 2.2.5 - added message level interceptors; see demo/interceptor for an example - added TransportPrefPolicy to let the user control which transport mechanism should be used to communicate with an object that supports multiple transport mechanisms (like IIOP, SSL/IOP, ...) - changed event service to use SSI instead of DSI - use the CORBA 2.2 way of encoding the default case label of a union typecode - raise appropriate exceptions when trying to do nonlocal operations on locality constrained objects - added FLtk dispatcher (Jacques Tremblay) - implemented Interoperable Naming Service. Rewrote Naming Service to use the POA - added support for LynxOS in configure.in (Hans-Joachim Baader) - made configure recognise OpenNT C++ compiler - new configure option --enable-compiled-headers to make the C++ compiler precompile header files to speed up compilation (currently only supported for SGI C++ 2.7.1) - Added improved memory leak checker for Linux/x86 - made ORB::get_iface(), ORB::get_impl(), ORB::is_a() throw exceptions - reimplemented FixedBase::compute_params() to be more robust - changed TypeCode::create_*_tc() to not copy the element types - changes for CORBA 2.3: * started to implement GIOP 1.2 * updated interface repository - win32 changes: * workarounds for VC++ bugs (Rudolf Janz) * ported naming, event, and trading service (Rudolf Janz) * fixed windows related problem in sequence.h (Rudolf Janz) * IMPORTANT: read README-WIN32 for important news - bug fixes: * fixed memory leak in miniSTL vector (reported by Oliver Mangold) * fixed typo in MICO::UniCodesetConv::decode() (Robert Switzer) * SII called ClientInterceptor::after_unmarshal instead of ClientInterceptor::finish_request * renamed _T to _MICO_T due to problems with FreeBSD * forward disconnect_*() calls to consumers/suppliers in event channel proxies (reported by Christophe Rene) * fixes for SGI C++ Compiler 7.2.1 (Marc Stuessel) * also list services in list_initial_services() that register on demand * notify callbacks when dispatcher moves events to a new dispatcher (bug reported by Leif Jakobsmeier) * install CORBA-SMALL.h * made auxdir/qtmico.cc and tools/ir-browser/dii.cc compile again - POA: * speedup for some common use cases * changed Active Object Map to handle large numbers of objects more efficiently * fixed _get_interface * updated ServantManagers to more closely follow the specs. The ServantManager skeletons don't derive from CORBA::Object any more * updates for CORBA 2.3 (RefCountServantBase et al.) * upon shutdown, the POAManager now signals running services a SIGTERM and waits for them to terminate (giving them a chance to save their state) - IDL compiler: * if an object has an empty repo id (like objects generated by the interoperable naming service extension) always query the server for narrow (i.e., behave as if --query-server-for-narrow was specified if the repo id is empty) version 2.2.4 - added CORBA::Bounds exception and made the DII use it - removed octet, char, wchar, and boolean wrapper classes - an invocation on a colocated POA-based object now decays to a direct procedure call - made minstl's set and map use a simplified and faster vector template - use idl compiler to translate ioptypes.idl and ssliop.idl - set the completion status of system exceptions to MAYBE or YES instead of NO where appropriate - optimized micod by using GIOP location forwarding, so that using micod no longer introduces a performance drawback. This relies on two client side GIOP features some CORBA implementations do not support although prescribed by the CORBA specification: 1) resending of outstanding invocations when CloseConnection is received and 2) fallback to original unforwarded object reference when connection to forwarded location fails. Therefore this feature must be explicitely enabled by giving micod the --forward command line option. - renamed "_not_existent" to "_non_existent" as per CORBA spec - changed BOA to forward all requests to mediator after deactivate_impl() or deactivate_obj() has been called - changed IIOPServer to orderly shutdown (send a CloseConnection message on) all open connections upon ORB::shutdown() - fixed client side location forward handling: must fall back to the original unforwarded IOR when the connection to the forwarded location breaks - added Trading Service (Torben Weis) - added "Success Stories" section on web page - use of namespaces is now on by default (use --disable-namespace to avoid using namespaces) - moved DynAny to libmico (libmicoaux is still there but is empty). also use idl compiler to generate DynAny declarations. - replaced assertions by throwing appropriate exceptions in libmico. new configure option --disable-orb-excepts to turn this off (i.e., revert to pre 2.2.4 behaviour) - added configure options to selectively turn on services (Karel Gardas) - Initialize POA when first referenced. Also solves bootstrapping problem with micod. - new way to reduce compilation times and compiler memory usage by cutting down the code included by CORBA.h. There are two ways to go: 1) before including CORBA.h #define MICO_CONF_NO_X to turn off feature X (where X can be IR, IMR, POA, INTERCEPT, DYNANY). 2) before including CORBA-SMALL.h #define MICO_CONF_X to turn on feature X - changed implementation repository and related tools to store a tag along with each repository id. when bind()ing to an object with a specified tag micod will now only launch servers that implement objects with given tag and repoid. see demo/account2/account script for how to tell micod the tag. IMPORTANT NOTE: if an object has a non-empty tag you MUST tell micod the tag; otherwise bind()ing to the object will fail. - updated property service; wrote propertyd demo (Leif Jakobsmeier) - added simple IIOP firewall support for use with TIS plug-gw (see www.technosec.com for details) (Rudolf Schreiner) - print better error message when IIOPServer::listen() fails (Stefan Wille) - redo invocations when CloseConnection is received before the reply arrives to fix interoperability problems with ORBs that close idle connections automatically (reported by Jennifer Harris) - add POA support in imr_impl.cc (Karel Gardas) - initialize variables in GIOPCodec ctor before using them (Greg Banks) - Added demo for random.org (Frank Schneider) - Added iordump utility - bug fixes: * when a client called a server and the server called back the client a client crash made the server crash as well. fixed this * fixed bug in StaticRequest::invoke() (invocation was sent twice after a forward) * fixed bug in IIOP code: GIOPConn::do_read() must not continue if the callback deleted the connection * fixed bug in TypeCode::equal(): must compare the element types of recursive sequenes, not only the recursion depth. * fixed bug in TCSeqObject::marshal() and TCSeqObject::demarshal() * fixed bug in GIOPInContext and GIOPOutContext, which caused memory being freed twice in some circumstances * fixed bugs in configure script (reported by Doug Anderson) * fixed bug in marshalling of recursive type codes * fixed bug in IIOP server side locate request processing which caused a server to hang forever whenever a locate request was received (reported by Nikolaj Logvino) * make sure OSNet::sock_init() is called before any socket related function is called (Chin Huang) * fixed prg target in auxdir/Makefile (reported by Mike Sample) * fixed BOA memory leak (reported by Chris Cannam) * Fixed bug in GTK config (Marc G. Fournier) - Win32 changes: * more Win32 improvements and bug fixes (Rudolf Janz, Martin Sander) * lots of changes for Win32: most makefiles are in place now, micod and some services work now (Rudolf Janz) * MICO can now be compiled under Windows95 - changes for CORBA 2.3: * added new system exceptions * updated Policy support * updated TypeCode * updated support for idl type fixed * added basic support for Objects By Value * replaced CORBA::Status by void * added a default value for the Id parameter of ORB_init() and BOA_init() * added replace(), release(), and get_buffer() methods to sequence templates * changed Any::from_fixed and Any::to_fixed to match the spec * renamed _narrow() to _downcast() for exceptions - IDL compiler: * emit Any marshalling code for types in --pseudo interfaces (see ORB::create_policy for rationale). * fixed problem with POA ties inheriting from interfaces in a module (reported by Markus Pohlmann) * fixed bug in operation dispatcher of server skeleton (Gerd Aschemann) * fixed mapping of types in container types (structs and unions) * fixed #pragmas directly after an #include * added missing constructor for member initialization of exceptions (reported by Doug Anderson) * fixed c++ mapping for wchar IN parameters * the Static Invocation Interface (SII) is now being used by default. The SII makes the marshalling of parameters much faster. The old marshalling code that makes use of the DII can be activated via --use-dii. Support for Any and TypeCode must now be activated explicitly via options --any and --typecode. * made <<= and >>= operators use the SII marshallers * do not generate Any marshalling for --pseudo unless --any is on * new option --c++-skel that causes the idl compiler to emit code needed only by servers into a separate file _skel.cc * reduced size of generated code: - moved client side exception handling code to mico_sii_throw() - emit server side try-catch code for system exceptions only once per interface instead of once per method - omit generation of StaticTypeInfo::copy() to avoid instantiation of copy constructors for the associated type version 2.2.3 - added support for Persistent POAs; see demo/poa/account-3 for an example - added new activation mode "poa" to micod to allow automated activation of servers with persistent POAs - allow nested method invocations in POACurrent - allow activation of persistent POA servers with `imr activate' - fixed _this() in POA-based skeletons - fixed idle() in SelectDispatcher - fixed initialization bug when using a static libmico. - Workaround for egcs 1.1 on Linux (Torben Weis) - fixed bug in DynUnion when using Unions with implicit default - fixed bug in Object::_is_equivalent() - fixed bug in Buffer::dump() (Christophe Rene) - IR: don't allow creation of an interface within an interface (Christophe Rene) - IDL compiler: * fixed bug related to POA tie classes for interfaces in modules * don't give an error for unknown #pragma directives * reset #pragma prefix to nothing at the end of an #included file * added --no-poa-ties option version 2.2.2 - fixed bug in BOA and micod related to unshared servers: newly created objects were not moved to a new server - made SelectDispatcher signal-safe to fix a bug that sometimes crashed micod when a server crashed or terminated (reported by Torben Weis) - changes for VC++ 6.0 (Travis Rein) - fixed bug in property service (reported by Karel Gardas) - made some refinements to Win32 install process - added MFC demo under Win32 (see demo/mfc) - fixed bug in IDL compiler related to aliases of arrays (reported by Christophe Rene) - fixed bug in IDL compiler related to forward declarations of interfaces and re-opening of modules version 2.2.1 - tried to fix problem with global InitInterceptors - fixed imr activate to really activate the given implementation (reported by Torben Weis) - fixed bug to make aborting a deferred DII invocation work (reported by Philippe Merle) - fixes in PropertyService for compilers != gcc - fixed bug in TypeCodeConst - fixed bugs in mico-setup.* scripts - added POA documentation (Frank) - added property service (written by Leif Jacobsmeier) - configure changes for emx (reported by Ralf Barkow) - tried to fix Win32 problems in generated code (reported by Olivier Richaud) - tried to work around IDL compiler crashes under Win32 (Martin Sander) - reorganized make process under Win32 - fixes for --enable-final - added demo/interop/{README,Makefile}, which were missing in 2.2.0 - fixes for namespaces - fixes for egcs 1.1 - IDL compiler: * improved code generation for --c++-impl (Rick H. Wesson) * use correct file suffix with --hh-suffix (Robert Klemme) * bug fix for --query-server-for-narrow (Christophe Rene) * bug fix for mapping of arrays (Christophe Rene) * bug fix concerning forward declarations of interfaces (Robert Klemme) * accept preprocessor options -E and -M version 2.2.0 - added JacORB interoperability demo (Thomas Fricke) - cleaned up mico-* scripts (Robert Klemme) - updated copyright headers in source files - fixes for Win32 (Martin Sander) - added operator* to VAR templates - added Any::from_static_any() and Any::to_static_any(), which will be used to speed up <<= and >>= operators - added POA demos (Frank). - made configure check whether struct ctors, dtors, op= have to be explicitely specified to work around g++ bugs. Changed code generation to place #ifdefs around affected code. - fixed bug in ORB::perform_work() - fixed problems with static variables in inline methods (reported by Stefan Schaefer) - implemented basic support for CORBA 2.2 DomainManager stuff - implemented CORBA 2.2 service information stuff - changed mico-c++, mico-shc++, mico-ld, and mico-shld scripts to work with compilers other than gcc - fixed bug in bstring fix (Andrew Metcalfe) - fixed memory leak in DataDecoder destructor (Andrew Metcalfe) - fixed bug in ORB shutdown processing - started to port MICO to IBM xlC - Interface Repository bug fix related to wrong construction of multiple nested recursive structs/unions - started to port MICO to HP aCC - integrated CORBA 2.2 POA, Current, and Policy stuff (Frank) - fixed problem with basic_string<>::c_str() (reported by Andrew Metcalfe) - added CORBA 2.2 method Exception::_raise() - fixed problem with oneway invocation buffering - added missing #define's in CORBA.h for Win32 - IDL compiler: * allow re-opening of modules * added missing declaration "Exception *_ex" for !HAVE_EXCEPTIONS * declare union read accessor methods for base types, objects, and arrays as const * fixed wrong mapping of aliases to strings in operation signatures (reported by Leif Jacobsmeier) * fixed bugs in generation of wstring union accessor methods * instantiate _tc_* constants on demand to reduce memory footprint * fix bug in generation of constants when using namespaces * fixed problems with constants and _tc_* constants when modules are mapped to namespaces * removed some MICO specific operations from IR. The IDL compiler can now generate code from a foreign IR via --repo-id. * added new option --c++-impl which will generate some default C++ implementations for interfaces (donated by Stefan Westerfeld) * make sure that template_impl.h is only included after all generated code (there was a problem before if a generated .h file included another generated .h file) * bug fix for wrong bounds during evaluation of short consts (reported by Bert Bril) version 2.1.1 - moved CORBA::NameValuePair implementation from auxdir/dynany_impl.cc to orb/dynany.cc due to problems with unresolved externals when using gcc 2.7.2 - changed the way the BOA matches target objects of invocations with objects in the active object map to allow adding new IOR profiles after the object has been created - started to port MICO to the SUN C++ compiler 4.x (Andreas Schultz) - tried to fix problem with *Wrapper classes on Sinix+gcc2.7.2 (reported by Klaus Thiele) - generate .zip file distribution in admin/mkrelease - separated out OS specific code into include/mico/os-*.h and orb/os-*.cc - raise CORBA::MARSHAL when arguments and/or results cannot be decoded - added ServerRequestBase::cancel() - started to port MICO for the Visual-C++ compiler. See README-WIN32 for details (with a lot of help from Martin Sander) - started to write an FAQ - included GNU cpp in the distribution for use by the idl compiler and ird - made configure check whether compiler supports const overloading of conversion operators and define the *_var conversion operators accordingly - fixed bug in ServiceContextList handling (reported by Andrew Metcalfe) - wrote StaticAny test (test/dii/static.cc) - fixed bugs in decoder get_*s() methods - changed SSL support to be compliant with revision 1.2-final of the security service specification (omg document orbos/98-01-14.pdf) with one exception for Visibroker compatibilty (see include/mico/ssliop.h for details) - fixed type name clashes in orb/uni_*.{cc,h} - ObjectAdapter::skeleton() can now return NIL if there is no skeleton for the object in question - fixes for PowerMax OS (by Andrew Metcalfe) - fixes for Cygnus CDK beta 19; updated installation instructions for beta 19 - fixed typos in CDR put_*s() and get_*s() methods (reported by Andrew Metcalfe) - fixed horrible bug in DataDecoder::encaps_begin() (reported by FP) - IDL compiler bug fixes: * fixed some problems with aliases of arrays and added some missing functions for array templates (reported by Christophe Rene) * proper order of generated code for nested declarations (found by Kristian Kvilekval) * print proper error message for wrong const expressions (reported by Christophe Rene) * generate proper code for typedef of wstring (reported by Rick H. Wesson) * fixed some bugs related to --feed-included-defs and forward declarations (pointed out by Christophe Rene) * initialization of const decls defined in modules (found by Andrew Metcalfe) * print error and exit when cpp cannot be executed * insert space between two closing brackets of nested sequence templates (reported by Christophe Rene) - added CORBA 2.2 methods to ServerRequest (FP) - added configure option --disable-static (FP) - new option --pseudo for the IDL compiler. If used, only pseudo stubs and skeletons are generated. Needed for the upcoming POA. (provided by Frank Pilhofer) version 2.1.0 - when --relative-paths is specified to the IDL compiler emit #include statements relative to paths specified by -I options - added relationship service and demo written by Karel Gardas - added Interceptor::ConnInterceptor that allows for connection monitoring on server side; see demo/interceptor for an example - avoid use of *::clear() on STL containers, since the old HP-STL in gcc 2.7.2 doesnt support it - mostly removed BOA dependencies from DSI/SSI (patches provided by FP) - new option -ORBNoCodeSets to not add code set information to object references (may be needed when talking to not CORBA 2.1 compliant ORBs) - new option -ORBConfFile to specify config file name (defaults to ~/.micorc) - duplicate some objects in ServerRequest to make sure they are not deleted until interceptors are executed (by Greg Banks) - made erase (end()) work on MiniSTL data structures (bug reported by Andrew Vajoczki) - implemented static invocation interface (SII) and static skeleton interface (SSI); see test/dii/siiclient.cc and test/dii/siiserver.cc for an example - added code set converters for UCS-4, UTF-7, UTF-8, UTF-16, ISO-8859-*, various IBM code pages, ASCII, EBCDIC, KOI8-R, Mac, Windows, HTML (donated by Marcus Mueller) - fixed HP-UX select() hangs (by Greg Banks) - fixed bug in tools/ir-browser/Makefile (reported by Bruno Thomas) - added basic support for code set conversion as per 2.2 spec - added missing ComponentDecoder destructor - fixes for IRIX CC (reported by Christoph Best) - bugfix in interface repository (hinted by Christophe Rene) - adopted BOA to new micod - redesigned and reimplemented part of micod: * removed object adapter (esp. BOA) dependencies * provide a flexible framework for implementing arbitrary activation policies * fixed all design problems regarding object migration - added configure option --enable-namespace to turn on namespace support (off by default, because current egcs releases have namespaces, but they are broken in subtle ways). - bugfix in Tcl dispatcher (by FP) - more Visibroker/SSL interoperability fixes - changed IDL compiler in order to initialize non-global const declarations in the implementation file - some changes to the IDL compiler for 2.2 compliance * added _out types * added in(), out() and inout() methods for _var types * C++ keywords are prefixed by "_cxx_" - added IDL compiler option --relative-paths to generate relative paths for #include directives for C++ mapping - added IDL compiler option --feed-included-defs for feeding #include'd definitions into IR. Default is not to feed them - IDL compiler bug fixes: * treat TypeCode as a scoped name and not as a IDL keyword (reported by Rick H. Wesson) * give verbose error message if there is no value for an explicit default member of a union (reported by R. Switzer) * give verbose error message for mal-formed #pragma directives (reported by Rick H. Wesson) * bug fix for unmarshalling of explicit default union members (reported by Frank Pilhofer) * bug fix related to stub generation for exceptions declared on global scope (reported by Daniel Veillard) * print proper error message for wrong const expressions (reported by Christophe Rene) * don't allow re-opening of interfaces (reported by Christophe Rene) version 2.0.8 - support for Principal::get_property("peer-address") - fixed build problems on AIX - fix for gcc 2.7.2 and other dumb compilers: moved part of dynany_impl.cc to orb/dynany.cc. otherwise you get unresolved symbols when linking binaries without libmicoaux - more -Wall fixes - added configure option --enable-split version 2.0.7 - avoid assert() expressions with side effects; -DNDEBUG dows now work - fixes for -Wall - more elaborate check for working namespaces in configure - added input queue to GIOPConn - fixed typo in stream_impl.cc - added #define MICO_BIN_VERSION suitable for use with /lib/cpp directives - fixed problems with imr activate - Object::_non_existent() now returns TRUE if the server cannot be contacted instead of dumping core - fixed bugs in Any::except_get_end() and Any::struct_get_end() (reported by Frank Pilhofer) - fixed interoperability problems with VisiBroker when using SSL - preserve implicit default union case during extraction from Any - fixed bug in xwcscmp() - fixed some problems with --disable-except - fixed bug in wide string output - fixed a bug in handling of unknown IOR profiles - fixed bug in BOA::dispose() (dug out by Torben Weis) - changes for IR browser to work with JavaCUP 0.10g - don't generate marshalling code for type sequence - fixed bug in IDL compiler related to nested recursive unions - applied PowerMax patches (provided by Andrew Metcalfe) - fixed a bug in Principal::get_property (reported by Andrew Metcalfe) - fixed bug in interceptor code (reported by Andrew Metcalfe) - fixes in Tcl dispatcher for Tcl 8 - moved DynAny stuff to CORBA module (as per CORBA 2.2 spec) - added Principal::set_peer_info() - fixed bug in DynAny that occured when using aliases of base types (reported by Philippe Merle) - removed debug output in const.cc - fixed problem with ministl/function.h (patches by Owen Taylor) - fixes for GTK 1.0.0 (patches by Owen Taylor) - fixed some floating point problems version 2.0.6 - incorporated most of the changes for SGI CC (patches provided by Christoph Best) - incorporated most of the changes for PowerMax OS (patches provided by Andrew Metcalfe) - added support for CORBA 2.2 types to IDL compiler and interface repository (see test/idl/27) - made ORB::cancel() work - reimplemented BOAObjectRestorer using interceptors - added support for Interceptors as per OMG document orbos/98-01-08.pdf (realtime CORBA joint submission), see demo/interceptor and demo/ssl for examples - fixed AC_CHECK_SOCKET_SIZE_T for glibc (patch provided by Martin Baulig) - DynAny: added support for CORBA 2.2 types; speed and size optimizations - added CORBA 2.2 support for GIOP 1.1 and IIOP 1.1 - moved the dispatchers into separate libs (i.e., libmicox, libmicoqt, libmicogtk, libmicotcl) - changed semantics of BOA methods for CORBA 2.2 compliance: * impl_is_ready() and obj_is_ready() do not block anymore, you have to call orb->run() to start processing events * deactivate_impl() and deactivate_obj() do not stop processing events anymore, you have to use orb->shutdown() to make orb->run() return THIS REQUIRES CHANGES IN USER CODE, see examples and documentation for details. - added CORBA 2.2 ORB methods work_pending(), perform_work(), run(), and shutdown() - reinstall signal handler after each handled signal in UnixProcess::signal_handler() - added CORBA 2.2 ORB support for long long, unsigned long long, long double, wchar, wstring, fixed - added support for SSL (interoperates with Visigenic's IIOP over SSL) using SSLeay 0.8, see demo/ssl for an example - added list_properties() and get_property() methods to CORBA::Principal - calling get_principal() with a NIL environment pointer from within a method implementation does now work - install all demos, not only the ones that can be compiled with current configuration - added CORBA-c.cc to orb_all.cc - fixed byteordering bugs in iop.cc - do not link in both libtermcap and libncurses version 2.0.5 - fixes for --enable-final (thanks to Dick Porter) - fixed installation bug that occured when not specifying --exec-prefix to configure - added include/mico/stream.idl, which was missing in the 2.0.4 release version 2.0.4 - added stream service (designed and implemented by Christian Becker) - preliminary support for namespaces (untested, might work with KAI C++) - integrated most of the changes for KAI C++ (provided by Ben Eng) - dont output dependencies for nonexisting files in mkdepend - fixed a bug in BOAServer::invoke() - added preliminary C language mapping (provided by Elliot Lee). see demo/corba-c for an example. updated docs and man pages for new idl compiler command line options. - added missing _duplicate()s in ObjectRecord::impl(...) and ObjectRecord::iface(...) - added bind() method to BOAObjectRestorer that enables the server to generate objects on demand (i.e., when a bind() for a non-existing object is done on the server). see demo/account2 for an example. - repoid's in the implementation repository can now contain *, ?, and [] wildcards (just like in a shell), e.g. a server implementing all kinds of objects can be registered with repoid IDL:*:1.0. this is useful in conjunction with the above change. - fixed a bug in micod related to running persistent servers multiple times - added clear() to ministl's set, map, vector, and list - print more info for uncaught user exceptions - IDL compiler: * #include directives in generated code now use correct suffix * --version will exit IDL compiler * files are always generated in working directory - fixed bugs in install targets in auxdir/Makefile and coss/Makefile - some performance optimizations (about 30% faster according to demo/bench) - do not turn inet:localhost:* into inet::* - made configure check for JDK 1.1 - changes in bstring.h for -frepo - updated docs - bugfix in DynStruct::from_any() (provided by Philippe Merle) - wrote a Tcl dispatcher - changed BOA::create() and thus DynamicImplementation::_create_ref() to not consume InterfaceDef and ImplementationDef arguments - made event service and event service demo compile without exceptions - re-wrote tools/ir-browser for JDK 1.1.5 - added interoperability test for JDK 1.2 beta 2. see mico/demo/interop/jdk/README for details. - changed configure to figure out the type of the size argument to socket calls - added a missing delete in QT dispatcher - fixed bugs in map::insert() and set::insert(): * lookup() used a == b instead of !_comp(a,b) && !_comp(b,a) * the boolean returned from insert() was inversed - added events in demo/Makefile - fixes for -Wall in ministl/list.h - define INADDR_LOOPBACK in address.cc if its not in the system headers - do not include math.h in util.cc on SGI due to conflicts for initstate() version 2.0.3 - added simple is_a() cache - changed ln -fs into ln -f -s - fixed some bugs in the event service - made configure fail if a working cpp cannot be found - fixed bug in install-sh version 2.0.2 - rewrote part of the Event Service and implemented pull - added callback mechanism to DII - bug fix for prototype of Any insertion operator for enums - added event service (only untyped push so far) written by Kai-Uwe Sattler - changed DSI to be able to defer completion of requests - added some notes about Win32 in INSTALL and doc.tex - fixes for Cygnus CDK - added new IDL compiler option --query-server-for-narrow, which obsoletes --query-ir-for-narrow (still left in but gives a warning) - use the server instead of the IR for _narrow(). - fixed bug in IDL compiler related to array union members - fixed Ministl to work with egcs - added GTK support - fixed a bug with InterfaceDef::is_a( Object ) - IDL compiler now handles forward declarations which are defined in #included files. - fixed bug in IDL compiler related to const declarations version 2.0.1 - added a missing return TRUE in Naming_impl.cc - #pragma on SGI now properly recognized - renamed aux to auxdir due to problems with Windows aux device - changes for win32+cygnus cdk version 2.0.0 - replaced CORBA::* by MICO_* in array.h - solved some remaining problems with T* conversion operators in var.h - changes for *BSD in configure - again fixed a bug in ORB_instance() - fixed problems with -frepo - prevent nsd from binding to itself - added make install-cd - do not link in any libraries when creating shared libs in mico-shld.def - made configure check for exceptions in shared libraries - build libmicoaux and libmicocoss as shared libs if exceptions in shared libs work - added demo/redlich and demo/siegel - fixes for egcs version 0.9b6 - fixed bugs in mico-setup.* scripts - changed ministl to use !cmp(a,b) && !cmp(b,a) instead of a==b - changed configure to recognise egcs (untested) - only link in needed libs in mico-ld - catch broken linux gcc's in configure - changed licensing policy for idl compiler output - fixed byte ordering bug that showed up when running the BOA daemon on a machine with byte order differing from client or server machine - beefed up the graphical interface repository browser - IDL compiler now generates _this() member functions - major re-work of the documentation - fixed bugs in 'make diffs' - changes in demo/ to be able to compile the demos outside of the MICO build dir; make install now installs the demos under doc/mico/examples - do not use the -fPIC compiled object files for building static libs, since specifying -fhandle-exceptions and -fPIC together produces buggy code - fixed a bug in micod: bind() hung forever if reactivating a server and binding to a transient object - fixed a serious bug in ORB_instance() - fixed a bug in the lookup of scoped names in the IR - added demo/activate - added diffs (in README.SIEGEL) to make the example from Siegel's CORBA book work with MICO - added demo/interop - fixed a bug in Principal::encode() version 0.9b5 - added extensive error checking in idl compiler - fixed scoping bugs in the idl compiler - added --h-suffix and --c-suffix options to the idl compiler - fixed gmake install - added shellscripts mico-setup.sh and mico-setup.csh scripts that set up paths for using mico (in case it is not installed in the standard paths) - added ctor, dtor, op= for SomeRecStruct in anytest.cc to force instantiation of SequenceIndTmpl methods version 0.9b4 - fixed DynAny bugs and added DynAny test file provided by Philippe Merle - build static and shared libmico - _narrow() does now handle the case where base and derived class are in separate .idl files - new IDL compiler option --query-ir-for-narrow, see test/idl/26/README for details - implemented #pragma support - support for recursive sequences - changes to make sequences of arrays work - some cleanups for -Wall - (hopefully) fixed that transport.cc assertion - implemented Object::_hash() - implemented obsolete TypeCode parameter interface - improved error handling all over the place - made the various IOR profiles and decoders reusable by not hardcoding the profile id into them - added code for handling unknown IOR profiles - check for IEEE compliant floating point types and only use the floating point converters if non IEEE compliant floating point types are detected - some speedups for Buffer, IIOPServer, IIOPProxy version 0.9b3 - made TypeCode::member_label() return a copy of the Any and changed all the places where it was used (only dynany_impl.cc). - fixed memory leaks in typecode.cc and dynany_impl.cc - fixed HP-UX idl compiler trouble - made Any::replace(tc, 0) work - fixed the repository id for pk_Object in ir_impl.cc - changed String_var to not replace (char *)0 by "" - fixes for systems without exception support - misc changes for -frepo - added omg.org prefix for exception repoid's - fixes for 64 bit systems - updated manual pages version 0.9b2 - fixed bugs in the BOA to enable unshared servers to invoke methods on on objects after deactivate_obj() was called on them. - updated docs and demo/account3 for the above change. - micod is now able to save and restore the contents of the implementation repository (option --db turns this on). - changed the way --no-exceptions is handled by the idl compiler: code for exception classes is still generated but throwing them will result in an error message and program abort. - added manual pages for nsadmin and nsd. version 0.9b1 - added "activate" subcommand to imr to force activation of an implementation (needed for servers that register with the naming service). - objects are now restored on demand (i.e., when invoked). before 0.9b1 all objects were restored at server startup. - bind() can now distinguish between objects of the same type by passing it the BOA::ReferenceData of the requested object; see demo/account2 for an example. - made Object::_get_interface() and Object::_is_a() work. - changed Object::_save_object() to return a Boolean. transient objects should not implement this method, persistent object should make it return TRUE. This requires changes in user code. - added support for DynAny; demo/dynany contains an example how to use it. - added naming service + admin tool (donated by Kai-Uwe Sattler); demo/naming contains an example how to use it. - wrote a graphical interface repository browser; see tools/ir-browser. - added support for contexts. - added an example (demo/account4) for object migration. - mostly finished the interface repository. - fixed problems in the generated _narrow() code. - changed the way #include is handled by the idl compiler: no code is generated for included files, instead foo.h is included. that means you have to run all #included files through the idl compiler by hand. the advantage is that you can now build libraries of CORBA objects. - lots of bugfixes and minor changes. - documentation updates. version 0.8b1: - lots of bug fixes - support for oneway methods - support for arrays - support for unions - support for const expressions - support for using MICO in X11 applications (Xt and preliminary support for Qt), see demo/x11 and demo/qtmico for examples - the BOA can now load CORBA objects into a client at runtime using loadable modules, giving you maximum performance while still allowing for runtime binding, see demo/shlib for an example - support for installing a user defined identifier (BOA::ReferenceData) in object implementations, see demo/account2 for an example - MICO provides now four wrapper scripts mico-c++/mico-ld and mico-shc++/mico-shld for compiling/linking mico applications and loadable modules, respectively - lots of reorganizations to reduce the size of the library and the generated binaries - speedups - made --enable-repo work (needed on HP-UX) - shared libs now work on HP-UX - documentation updates - docs are now available as * ps, * ps in booklet format, * archive of html pages - updated licensing conditions: libs and generated code is now covered by LGPL, everthing else by the GPL - added unshared-server example, see demo/account3 version 0.7b1: - lots of bug fixes - support for exceptions - support for IDL type Object - major speedup for local communication - support for shared libraries - works now on 64 bit hardware (e.g., DEC alpha) - documentation updates - implemented some missing functionality: * ORB methods for sending multiple requests * ORB::create_operation_list() * ServerRequest::op_def()