diff options
85 files changed, 620 insertions, 4213 deletions
diff --git a/README.win32 b/README.win32 index a6d2609aae..6fd14b23dc 100644 --- a/README.win32 +++ b/README.win32 @@ -366,6 +366,20 @@ backslashes in your path environment variable in Cygwin bash, but LIB and INCLUDE should contain Windows style paths with semicolon, drive letters and backslashes. +If you wish to use Visual Studio 2008, a couple things need to be tweaked, +namely the fact that some of the SDK stuff is installed in (by default) +C:\Program Files\Microsoft SDKs\v6.0A . Just ensure that that +C:\Program Files\Microsoft SDKs\v6.0A\Lib is in LIB and +C:\Program Files\Microsoft SDKs\v6.0A\Include is in INCLUDE. A symptom of not +doing this is errors about finding kernel32.lib and windows.h. + +Additionally, if you encounter errors about mc.exe not being found, you must +install the entire Windows SDK (the partial SDK included in visual studio +apparently does not include it). After installing it you'll want to add +something like: /c/cygdrive/Program\ Files/Microsoft\ SDKs/v7.0/bin to your +PATH to allow the environment to find mc.exe. The next Visual Studio (2010) is +expected to include this tool. + * Sun's Java JDK 1.5.0 or higher. Our Java code (jinterface, ic) is written for JDK 1.5.0. Get it for Windows and install it, the JRE is not enough. If you don't care about Java, you can skip this step, the diff --git a/erts/doc/src/erl_dist_protocol.xml b/erts/doc/src/erl_dist_protocol.xml index 9a203289e9..5978af178a 100644 --- a/erts/doc/src/erl_dist_protocol.xml +++ b/erts/doc/src/erl_dist_protocol.xml @@ -129,8 +129,8 @@ By default EPMD listens on port 4369. <cell align="center">PortNo</cell> <cell align="center">NodeType</cell> <cell align="center">Protocol</cell> - <cell align="center">LowestVersion</cell> <cell align="center">HighestVersion</cell> + <cell align="center">LowestVersion</cell> <cell align="center">Nlen</cell> <cell align="center">NodeName</cell> <cell align="center">Elen</cell> @@ -150,16 +150,16 @@ By default EPMD listens on port 4369. <item> 0 = tcp/ip-v4, ... </item> - <tag><c>LowestVersion</c></tag> - <item> - The lowest distribution version that this node can handle. - See the next field for possible values. - </item> <tag><c>HighestVersion</c></tag> <item> The highest distribution version that this node can handle. The value in R6B and later is 5. </item> + <tag><c>LowestVersion</c></tag> + <item> + The lowest distribution version that this node can handle. + The value in R6B and later is 5. + </item> <tag><c>Nlen</c></tag> <item> The length of the <c>NodeName</c>. diff --git a/erts/emulator/drivers/common/inet_drv.c b/erts/emulator/drivers/common/inet_drv.c index b7b577da5b..c6e23ee647 100644 --- a/erts/emulator/drivers/common/inet_drv.c +++ b/erts/emulator/drivers/common/inet_drv.c @@ -1205,8 +1205,8 @@ static void *realloc_wrapper(void *current, size_t size){ /* For AssocID, 4 bytes should be enough -- checked by "init": */ # define GET_ASSOC_ID get_int32 # define ASSOC_ID_LEN 4 -# define LOAD_ASSOC_ID LOAD_INT -# define LOAD_ASSOC_ID_CNT LOAD_INT_CNT +# define LOAD_ASSOC_ID LOAD_UINT +# define LOAD_ASSOC_ID_CNT LOAD_UINT_CNT # define SCTP_ANC_BUFF_SIZE INET_DEF_BUFFER/2 /* XXX: not very good... */ #endif diff --git a/erts/etc/win32/cygwin_tools/vc/mc.sh b/erts/etc/win32/cygwin_tools/vc/mc.sh index 813b59947b..676b072655 100755 --- a/erts/etc/win32/cygwin_tools/vc/mc.sh +++ b/erts/etc/win32/cygwin_tools/vc/mc.sh @@ -24,7 +24,7 @@ CMD="" OUTPUT_DIRNAME="" # Find the correct mc.exe. This could be done by the configure script, -# But as we seldom use the resource compiler, it might as well be done here... +# But as we seldom use the message compiler, it might as well be done here... MCC="" save_ifs=$IFS IFS=: @@ -32,7 +32,7 @@ for p in $PATH; do if [ -f $p/mc.exe ]; then if [ -n "`$p/mc.exe -? 2>&1 >/dev/null </dev/null \ | grep -i \"message compiler\"`" ]; then - MCC=$p/mc.exe + MCC=`echo "$p/mc.exe" | sed 's/ /\\\\ /g'` fi fi done @@ -68,8 +68,8 @@ while test -n "$1" ; do done p=$$ if [ "X$MC_SH_DEBUG_LOG" != "X" ]; then - echo rc.sh "$SAVE" >>$MC_SH_DEBUG_LOG - echo rc.exe $CMD >>$MC_SH_DEBUG_LOG + echo mc.sh "$SAVE" >>$MC_SH_DEBUG_LOG + echo mc.exe $CMD >>$MC_SH_DEBUG_LOG fi if [ -n "$OUTPUT_DIRNAME" ]; then cd $OUTPUT_DIRNAME diff --git a/erts/etc/win32/cygwin_tools/vc/rc.sh b/erts/etc/win32/cygwin_tools/vc/rc.sh index 748de48890..6a6921c49e 100755 --- a/erts/etc/win32/cygwin_tools/vc/rc.sh +++ b/erts/etc/win32/cygwin_tools/vc/rc.sh @@ -30,8 +30,8 @@ save_ifs=$IFS IFS=: for p in $PATH; do if [ -f $p/rc.exe ]; then - if [ -n "`$p/rc.exe -? 2>&1 | grep -i "resource compiler"`" ]; then - RCC=$p/rc.exe + if [ -n "`$p/rc.exe -? 2>&1 | grep -i "resource compiler"`" ]; then + RCC=`echo "$p/rc.exe" | sed 's/ /\\\\ /g'` fi fi done diff --git a/erts/preloaded/ebin/erl_prim_loader.beam b/erts/preloaded/ebin/erl_prim_loader.beam Binary files differindex a031c90188..d7134967bf 100644 --- a/erts/preloaded/ebin/erl_prim_loader.beam +++ b/erts/preloaded/ebin/erl_prim_loader.beam diff --git a/erts/preloaded/ebin/erlang.beam b/erts/preloaded/ebin/erlang.beam Binary files differindex 39452f53d6..f490fe7c3d 100644 --- a/erts/preloaded/ebin/erlang.beam +++ b/erts/preloaded/ebin/erlang.beam diff --git a/erts/preloaded/ebin/init.beam b/erts/preloaded/ebin/init.beam Binary files differindex be1f71e6c5..39118a0109 100644 --- a/erts/preloaded/ebin/init.beam +++ b/erts/preloaded/ebin/init.beam diff --git a/erts/preloaded/ebin/otp_ring0.beam b/erts/preloaded/ebin/otp_ring0.beam Binary files differindex af44a8c9b9..4680d645cb 100644 --- a/erts/preloaded/ebin/otp_ring0.beam +++ b/erts/preloaded/ebin/otp_ring0.beam diff --git a/erts/preloaded/ebin/prim_file.beam b/erts/preloaded/ebin/prim_file.beam Binary files differindex 9391aa45cd..2cacb6808c 100644 --- a/erts/preloaded/ebin/prim_file.beam +++ b/erts/preloaded/ebin/prim_file.beam diff --git a/erts/preloaded/ebin/prim_inet.beam b/erts/preloaded/ebin/prim_inet.beam Binary files differindex b7be06e6bc..aa9b255ebb 100644 --- a/erts/preloaded/ebin/prim_inet.beam +++ b/erts/preloaded/ebin/prim_inet.beam diff --git a/erts/preloaded/ebin/prim_zip.beam b/erts/preloaded/ebin/prim_zip.beam Binary files differindex 6e1230d649..0e7adad9e8 100644 --- a/erts/preloaded/ebin/prim_zip.beam +++ b/erts/preloaded/ebin/prim_zip.beam diff --git a/erts/preloaded/ebin/zlib.beam b/erts/preloaded/ebin/zlib.beam Binary files differindex 4d9996cc74..93b05172d8 100644 --- a/erts/preloaded/ebin/zlib.beam +++ b/erts/preloaded/ebin/zlib.beam diff --git a/erts/preloaded/src/erlang.erl b/erts/preloaded/src/erlang.erl index 6f92b319b7..552121d485 100644 --- a/erts/preloaded/src/erlang.erl +++ b/erts/preloaded/src/erlang.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 1996-2009. All Rights Reserved. +%% Copyright Ericsson AB 1996-2010. 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 @@ -51,6 +51,7 @@ -export([await_proc_exit/3]). -deprecated([hash/2]). +-deprecated([concat_binary/1]). -compile(nowarn_bif_clash). diff --git a/lib/.gitignore b/lib/.gitignore index bdc850f3b7..0cb938ea7c 100644 --- a/lib/.gitignore +++ b/lib/.gitignore @@ -1,3 +1,10 @@ +# erl_interface + +/erl_interface/bin +/erl_interface/obj.mt +/erl_interface/obj.st +/erl_interface/obj + # megaco /megaco/src/binary/megaco_ber_bin_drv_media_gateway_control_prev3a.erl diff --git a/lib/cosEvent/doc/src/Makefile b/lib/cosEvent/doc/src/Makefile index 5136c7cfb5..4b76a64b7d 100644 --- a/lib/cosEvent/doc/src/Makefile +++ b/lib/cosEvent/doc/src/Makefile @@ -65,6 +65,9 @@ XML_CHAPTER_FILES = \ BOOK_FILES = book.xml +XML_FILES = $(BOOK_FILES) $(XML_APPLICATION_FILES) $(XML_REF3_FILES) \ + $(XML_PART_FILES) $(XML_CHAPTER_FILES) + TECHNICAL_DESCR_FILES = GIF_FILES = \ diff --git a/lib/cosEvent/doc/src/notes.xml b/lib/cosEvent/doc/src/notes.xml index afd1247b42..8cd7b9dd48 100644 --- a/lib/cosEvent/doc/src/notes.xml +++ b/lib/cosEvent/doc/src/notes.xml @@ -33,6 +33,20 @@ </header> <section> + <title>cosEvent 2.1.8</title> + + <section> + <title>Fixed Bugs and Malfunctions</title> + <list type="bulleted"> + <item> + <p>The documentation EIX file was not generated.</p> + <p>Own id: OTP-8355 Aux Id:</p> + </item> + </list> + </section> + </section> + + <section> <title>cosEvent 2.1.7</title> <section> diff --git a/lib/cosEvent/vsn.mk b/lib/cosEvent/vsn.mk index 953e5fc8c9..7c908d1c5d 100644 --- a/lib/cosEvent/vsn.mk +++ b/lib/cosEvent/vsn.mk @@ -1,7 +1,9 @@ -COSEVENT_VSN = 2.1.7 +COSEVENT_VSN = 2.1.8 -TICKETS = OTP-8201 +TICKETS = OTP-8355 + +TICKETS_2.1.7 = OTP-8201 TICKETS_2.1.6 = OTP-7987 diff --git a/lib/cosEventDomain/doc/src/Makefile b/lib/cosEventDomain/doc/src/Makefile index 465b726ad1..6a0d3c353a 100644 --- a/lib/cosEventDomain/doc/src/Makefile +++ b/lib/cosEventDomain/doc/src/Makefile @@ -62,6 +62,9 @@ XML_CHAPTER_FILES = \ BOOK_FILES = book.xml +XML_FILES = $(BOOK_FILES) $(XML_APPLICATION_FILES) $(XML_REF3_FILES) \ + $(XML_PART_FILES) $(XML_CHAPTER_FILES) + TECHNICAL_DESCR_FILES = GIF_FILES = \ diff --git a/lib/cosEventDomain/doc/src/ch_event_domain_service.xml b/lib/cosEventDomain/doc/src/ch_event_domain_service.xml index 62378cac91..39ac915b38 100644 --- a/lib/cosEventDomain/doc/src/ch_event_domain_service.xml +++ b/lib/cosEventDomain/doc/src/ch_event_domain_service.xml @@ -97,9 +97,9 @@ ID2 = 'CosEventDomainAdmin_EventDomain':add_channel(ED, Ch2), %% To connect them, we must first define a connection struct: C1 = #'CosEventDomainAdmin_Connection'{supplier_id=ID1, -\011\011\011\011 consumer_id=ID2, -\011\011\011\011 ctype='STRUCTURED_EVENT', -\011\011\011\011 notification_style='Pull'}, + consumer_id=ID2, + ctype='STRUCTURED_EVENT', + notification_style='Pull'}, %% Connect them: 'CosEventDomainAdmin_EventDomain':add_connection(ED, C1), diff --git a/lib/cosEventDomain/doc/src/notes.xml b/lib/cosEventDomain/doc/src/notes.xml index fdfb21c046..0ad42948af 100644 --- a/lib/cosEventDomain/doc/src/notes.xml +++ b/lib/cosEventDomain/doc/src/notes.xml @@ -32,6 +32,24 @@ </header> <section> + <title>cosEventDomain 1.1.8</title> + + <section> + <title>Fixed Bugs and Malfunctions</title> + <list type="bulleted"> + <item> + <p>Removed superfluous VT in the documentation.</p> + <p>Own id: OTP-8353 Aux Id:</p> + </item> + <item> + <p>The documentation EIX file was not generated.</p> + <p>Own id: OTP-8355 Aux Id:</p> + </item> + </list> + </section> + </section> + + <section> <title>cosEventDomain 1.1.7</title> <section> diff --git a/lib/cosEventDomain/vsn.mk b/lib/cosEventDomain/vsn.mk index 81c0b49143..483b130819 100644 --- a/lib/cosEventDomain/vsn.mk +++ b/lib/cosEventDomain/vsn.mk @@ -1,7 +1,10 @@ -COSEVENTDOMAIN_VSN = 1.1.7 +COSEVENTDOMAIN_VSN = 1.1.8 -TICKETS = OTP-8201 +TICKETS = OTP-8353 \ + OTP-8355 + +TICKETS_1.1.7 = OTP-8201 TICKETS_1.1.6 = OTP-7987 diff --git a/lib/cosFileTransfer/doc/src/Makefile b/lib/cosFileTransfer/doc/src/Makefile index 7769d5ef8c..2286db43ff 100644 --- a/lib/cosFileTransfer/doc/src/Makefile +++ b/lib/cosFileTransfer/doc/src/Makefile @@ -65,6 +65,9 @@ XML_CHAPTER_FILES = \ BOOK_FILES = book.xml +XML_FILES = $(BOOK_FILES) $(XML_APPLICATION_FILES) $(XML_REF3_FILES) \ + $(XML_PART_FILES) $(XML_CHAPTER_FILES) + TECHNICAL_DESCR_FILES = GIF_FILES = \ diff --git a/lib/cosFileTransfer/doc/src/notes.xml b/lib/cosFileTransfer/doc/src/notes.xml index e3b7e4819a..5bb2ea68c4 100644 --- a/lib/cosFileTransfer/doc/src/notes.xml +++ b/lib/cosFileTransfer/doc/src/notes.xml @@ -31,6 +31,20 @@ </header> <section> + <title>cosFileTransfer 1.1.10</title> + + <section> + <title>Fixed Bugs and Malfunctions</title> + <list type="bulleted"> + <item> + <p>The documentation EIX file was not generated.</p> + <p>Own id: OTP-8355 Aux Id:</p> + </item> + </list> + </section> + </section> + + <section> <title>cosFileTransfer 1.1.9</title> <section> diff --git a/lib/cosFileTransfer/vsn.mk b/lib/cosFileTransfer/vsn.mk index dd92b53904..88786178fb 100644 --- a/lib/cosFileTransfer/vsn.mk +++ b/lib/cosFileTransfer/vsn.mk @@ -1,9 +1,11 @@ -COSFILETRANSFER_VSN = 1.1.9 +COSFILETRANSFER_VSN = 1.1.10 TICKETS = \ - OTP-8201 + OTP-8355 +TICKETS_1.1.9 = OTP-8201 + TICKETS_1.1.8 = OTP-7987 TICKETS_1.1.7 = OTP-7837 diff --git a/lib/cosNotification/doc/src/Makefile b/lib/cosNotification/doc/src/Makefile index 6abcf0ef1d..bfdd2f1f8c 100644 --- a/lib/cosNotification/doc/src/Makefile +++ b/lib/cosNotification/doc/src/Makefile @@ -91,6 +91,9 @@ XML_CHAPTER_FILES = \ BOOK_FILES = book.xml +XML_FILES = $(BOOK_FILES) $(XML_APPLICATION_FILES) $(XML_REF3_FILES) \ + $(XML_PART_FILES) $(XML_CHAPTER_FILES) + TECHNICAL_DESCR_FILES = GIF_FILES = \ diff --git a/lib/cosNotification/doc/src/ch_BNF.xml b/lib/cosNotification/doc/src/ch_BNF.xml index 545280a1f4..73e91e3cac 100644 --- a/lib/cosNotification/doc/src/ch_BNF.xml +++ b/lib/cosNotification/doc/src/ch_BNF.xml @@ -181,7 +181,7 @@ FilterID = 'CosNotifyChannelAdmin_ConsumerAdmin': /* Character set issues */ <Ident> :=<Leader> <FollowSeq> - | \\ < Leader> <FollowSeq> + | \ < Leader> <FollowSeq> <FollowSeq> := /* <empty> */ | <FollowSeq> <Follow> @@ -215,8 +215,8 @@ FilterID = 'CosNotifyChannelAdmin_ConsumerAdmin': | <Other> | <Special> -<Special> := \\\\ - | \\' +<Special> := \\ + | \' <Leader> := <Alpha> diff --git a/lib/cosNotification/doc/src/ch_example.xml b/lib/cosNotification/doc/src/ch_example.xml index 8cb12bd241..14c0e5c6fd 100644 --- a/lib/cosNotification/doc/src/ch_example.xml +++ b/lib/cosNotification/doc/src/ch_example.xml @@ -124,7 +124,7 @@ ChFac = cosNotificationApp:start_factory([]), {AdminSupplier, ASID}= 'CosNotifyChannelAdmin_EventChannel':new_for_suppliers(Ch, 'OR_OP'), {AdminConsumer, ACID}= -\011'CosNotifyChannelAdmin_EventChannel':new_for_consumers(Ch,'OR_OP'), + 'CosNotifyChannelAdmin_EventChannel':new_for_consumers(Ch,'OR_OP'), %% Use the corresponding Admin object to get access to wanted Proxies diff --git a/lib/cosNotification/doc/src/notes.xml b/lib/cosNotification/doc/src/notes.xml index c66be87c7c..29879e95fb 100644 --- a/lib/cosNotification/doc/src/notes.xml +++ b/lib/cosNotification/doc/src/notes.xml @@ -32,6 +32,28 @@ </header> <section> + <title>cosNotification 1.1.13</title> + + <section> + <title>Fixed Bugs and Malfunctions</title> + <list type="bulleted"> + <item> + <p>Removed superfluous VT in the documentation.</p> + <p>Own id: OTP-8353 Aux Id:</p> + </item> + <item> + <p>Removed superfluous backslash in the documentation.</p> + <p>Own id: OTP-8354 Aux Id:</p> + </item> + <item> + <p>The documentation EIX file was not generated.</p> + <p>Own id: OTP-8355 Aux Id:</p> + </item> + </list> + </section> + </section> + + <section> <title>cosNotification 1.1.12</title> <section> diff --git a/lib/cosNotification/vsn.mk b/lib/cosNotification/vsn.mk index 65f9812f31..fed10ee195 100644 --- a/lib/cosNotification/vsn.mk +++ b/lib/cosNotification/vsn.mk @@ -1,6 +1,10 @@ -COSNOTIFICATION_VSN = 1.1.12 +COSNOTIFICATION_VSN = 1.1.13 -TICKETS = OTP-8201 +TICKETS = OTP-8353 \ + OTP-8354 \ + OTP-8355 + +TICKETS_1.1.12 = OTP-8201 TICKETS_1.1.11 = OTP-7987 diff --git a/lib/cosProperty/doc/src/Makefile b/lib/cosProperty/doc/src/Makefile index 126e05ef53..baf995d35e 100644 --- a/lib/cosProperty/doc/src/Makefile +++ b/lib/cosProperty/doc/src/Makefile @@ -67,6 +67,9 @@ XML_CHAPTER_FILES = \ BOOK_FILES = book.xml +XML_FILES = $(BOOK_FILES) $(XML_APPLICATION_FILES) $(XML_REF3_FILES) \ + $(XML_PART_FILES) $(XML_CHAPTER_FILES) + TECHNICAL_DESCR_FILES = GIF_FILES = \ diff --git a/lib/cosProperty/doc/src/notes.xml b/lib/cosProperty/doc/src/notes.xml index be3a8d0f5e..e80c90849f 100644 --- a/lib/cosProperty/doc/src/notes.xml +++ b/lib/cosProperty/doc/src/notes.xml @@ -32,6 +32,20 @@ </header> <section> + <title>cosProperty 1.1.11</title> + + <section> + <title>Fixed Bugs and Malfunctions</title> + <list type="bulleted"> + <item> + <p>The documentation EIX file was not generated.</p> + <p>Own id: OTP-8355 Aux Id:</p> + </item> + </list> + </section> + </section> + + <section> <title>cosProperty 1.1.10</title> <section> diff --git a/lib/cosProperty/vsn.mk b/lib/cosProperty/vsn.mk index 0e55352e42..c221e6fa4a 100644 --- a/lib/cosProperty/vsn.mk +++ b/lib/cosProperty/vsn.mk @@ -1,6 +1,8 @@ -COSPROPERTY_VSN = 1.1.10 +COSPROPERTY_VSN = 1.1.11 -TICKETS = OTP-8201 +TICKETS = OTP-8355 + +TICKETS_1.1.10 = OTP-8201 TICKETS_1.1.9 = OTP-7987 diff --git a/lib/cosTime/doc/src/Makefile b/lib/cosTime/doc/src/Makefile index 568e2cd4cc..83abc5e7c2 100644 --- a/lib/cosTime/doc/src/Makefile +++ b/lib/cosTime/doc/src/Makefile @@ -64,6 +64,9 @@ XML_CHAPTER_FILES = \ BOOK_FILES = book.xml +XML_FILES = $(BOOK_FILES) $(XML_APPLICATION_FILES) $(XML_REF3_FILES) \ + $(XML_PART_FILES) $(XML_CHAPTER_FILES) + TECHNICAL_DESCR_FILES = GIF_FILES = \ diff --git a/lib/cosTime/doc/src/notes.xml b/lib/cosTime/doc/src/notes.xml index afa10980e8..9f23a8633c 100644 --- a/lib/cosTime/doc/src/notes.xml +++ b/lib/cosTime/doc/src/notes.xml @@ -33,6 +33,20 @@ </header> <section> + <title>cosTime 1.1.8</title> + + <section> + <title>Fixed Bugs and Malfunctions</title> + <list type="bulleted"> + <item> + <p>The documentation EIX file was not generated.</p> + <p>Own id: OTP-8355 Aux Id:</p> + </item> + </list> + </section> + </section> + + <section> <title>cosTime 1.1.7</title> <section> diff --git a/lib/cosTime/vsn.mk b/lib/cosTime/vsn.mk index ac5e99a0f1..db51bf39b9 100644 --- a/lib/cosTime/vsn.mk +++ b/lib/cosTime/vsn.mk @@ -1,6 +1,8 @@ -COSTIME_VSN = 1.1.7 +COSTIME_VSN = 1.1.8 -TICKETS = OTP-8201 +TICKETS = OTP-8355 + +TICKETS_1.1.7 = OTP-8201 TICKETS_1.1.6 = OTP-7987 diff --git a/lib/cosTransactions/doc/src/Makefile b/lib/cosTransactions/doc/src/Makefile index eab52d3dc9..1af9ed24b7 100644 --- a/lib/cosTransactions/doc/src/Makefile +++ b/lib/cosTransactions/doc/src/Makefile @@ -68,6 +68,9 @@ XML_CHAPTER_FILES = \ BOOK_FILES = book.xml +XML_FILES = $(BOOK_FILES) $(XML_APPLICATION_FILES) $(XML_REF3_FILES) \ + $(XML_PART_FILES) $(XML_CHAPTER_FILES) + TECHNICAL_DESCR_FILES = GIF_FILES = \ diff --git a/lib/cosTransactions/doc/src/notes.xml b/lib/cosTransactions/doc/src/notes.xml index 953382ef87..41a754b034 100644 --- a/lib/cosTransactions/doc/src/notes.xml +++ b/lib/cosTransactions/doc/src/notes.xml @@ -33,6 +33,20 @@ </header> <section> + <title>cosTransactions 1.2.9</title> + + <section> + <title>Fixed Bugs and Malfunctions</title> + <list type="bulleted"> + <item> + <p>The documentation EIX file was not generated.</p> + <p>Own id: OTP-8355 Aux Id:</p> + </item> + </list> + </section> + </section> + + <section> <title>cosTransactions 1.2.8</title> <section> diff --git a/lib/cosTransactions/vsn.mk b/lib/cosTransactions/vsn.mk index 404a9ed7af..81e360ac2f 100644 --- a/lib/cosTransactions/vsn.mk +++ b/lib/cosTransactions/vsn.mk @@ -1,6 +1,8 @@ -COSTRANSACTIONS_VSN = 1.2.8 +COSTRANSACTIONS_VSN = 1.2.9 -TICKETS = OTP-8201 +TICKETS = OTP-8355 + +TICKETS_1.2.8 = OTP-8201 TICKETS_1.2.7 = OTP-7987 diff --git a/lib/debugger/src/dbg_ui_mon.erl b/lib/debugger/src/dbg_ui_mon.erl index 733310fdeb..8888075124 100644 --- a/lib/debugger/src/dbg_ui_mon.erl +++ b/lib/debugger/src/dbg_ui_mon.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1997-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1997-2010. 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. -%% +%% %% %CopyrightEnd% %% -module(dbg_ui_mon). diff --git a/lib/debugger/src/dbg_wx_filedialog_win.erl b/lib/debugger/src/dbg_wx_filedialog_win.erl index 946e23e797..9687efa981 100644 --- a/lib/debugger/src/dbg_wx_filedialog_win.erl +++ b/lib/debugger/src/dbg_wx_filedialog_win.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2009-2010. 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. -%% +%% %% %CopyrightEnd% %% -module(dbg_wx_filedialog_win). diff --git a/lib/debugger/src/dbg_wx_mon.erl b/lib/debugger/src/dbg_wx_mon.erl index 10fa090413..3f55c38d35 100644 --- a/lib/debugger/src/dbg_wx_mon.erl +++ b/lib/debugger/src/dbg_wx_mon.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2008-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2008-2010. 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. -%% +%% %% %CopyrightEnd% %% diff --git a/lib/debugger/src/dbg_wx_mon_win.erl b/lib/debugger/src/dbg_wx_mon_win.erl index 95fc9a89b2..8ad4f4213f 100644 --- a/lib/debugger/src/dbg_wx_mon_win.erl +++ b/lib/debugger/src/dbg_wx_mon_win.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2008-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2008-2010. 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. -%% +%% %% %CopyrightEnd% %% diff --git a/lib/debugger/src/dbg_wx_trace_win.erl b/lib/debugger/src/dbg_wx_trace_win.erl index 4f7f9baf80..3799acdc1b 100755 --- a/lib/debugger/src/dbg_wx_trace_win.erl +++ b/lib/debugger/src/dbg_wx_trace_win.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2008-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2008-2010. 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. -%% +%% %% %CopyrightEnd% %% diff --git a/lib/debugger/src/dbg_wx_win.erl b/lib/debugger/src/dbg_wx_win.erl index a93b562a81..faf3cc178f 100644 --- a/lib/debugger/src/dbg_wx_win.erl +++ b/lib/debugger/src/dbg_wx_win.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 2008-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 2008-2010. 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. -%% +%% %% %CopyrightEnd% %% diff --git a/lib/erl_interface/src/misc/ei_internal.h b/lib/erl_interface/src/misc/ei_internal.h index 9f51d1f61b..f7805efebf 100644 --- a/lib/erl_interface/src/misc/ei_internal.h +++ b/lib/erl_interface/src/misc/ei_internal.h @@ -149,7 +149,7 @@ {if (ei_tracelevel >= 5) ei_trace_printf(NAME,1,FORMAT,ARG1,ARG2,ARG3,ARG4, \ ARG5,ARG6,ARG7);} -int ei_tracelevel; +extern int ei_tracelevel; void ei_trace_printf(const char *name, int level, const char *format, ...); diff --git a/lib/ic/doc/src/Makefile b/lib/ic/doc/src/Makefile index f00bba2c71..26d0932a95 100644 --- a/lib/ic/doc/src/Makefile +++ b/lib/ic/doc/src/Makefile @@ -73,6 +73,9 @@ XML_CHAPTER_FILES = \ BOOK_FILES = book.xml +XML_FILES = $(BOOK_FILES) $(XML_APPLICATION_FILES) $(XML_REF3_FILES) \ + $(XML_PART_FILES) $(XML_CHAPTER_FILES) + GIF_FILES = \ book.gif \ notes.gif \ diff --git a/lib/ic/doc/src/c-part.xml b/lib/ic/doc/src/c-part.xml index 91c81c8ef3..cef4399960 100644 --- a/lib/ic/doc/src/c-part.xml +++ b/lib/ic/doc/src/c-part.xml @@ -4,23 +4,21 @@ <part> <header> <copyright> - <year>2002</year> - <year>2007</year> - <holder>Ericsson AB, All Rights Reserved</holder> + <year>2002</year><year>2009</year> + <holder>Ericsson AB. All Rights Reserved.</holder> </copyright> <legalnotice> - 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. - - The Initial Developer of the Original Code is Ericsson AB. + 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. + </legalnotice> <title>IDL to C language Mapping</title> diff --git a/lib/ic/doc/src/ch_c_corba_env.xml b/lib/ic/doc/src/ch_c_corba_env.xml index 557eeffdd4..bd4b52ca34 100644 --- a/lib/ic/doc/src/ch_c_corba_env.xml +++ b/lib/ic/doc/src/ch_c_corba_env.xml @@ -281,7 +281,7 @@ typedef struct { <p>By using the <em>CORBA_Environment_alloc</em>/2 function. </p> <p>The CORBA_Environment_alloc function is defined as:</p> <code type="none"> -\\011 CORBA_Environment *CORBA_Environment_alloc(int inbufsz, + CORBA_Environment *CORBA_Environment_alloc(int inbufsz, int outbufsz); </code> <p>where:</p> diff --git a/lib/ic/doc/src/ch_c_mapping.xml b/lib/ic/doc/src/ch_c_mapping.xml index 58b026ee78..f5a921bfd2 100644 --- a/lib/ic/doc/src/ch_c_mapping.xml +++ b/lib/ic/doc/src/ch_c_mapping.xml @@ -770,24 +770,24 @@ CORBA_Environment* oe_env) <p>While the <c>erlang::binary</c> idl type has the same C-definition as a generated sequence of octets :</p> <code type="none"><![CDATA[ -\011 module erlang -\011 { + module erlang + { -\011 .... + .... -\011 // an erlang binary -\011 typedef sequence<octet> binary; -\011 -\011 }; + // an erlang binary + typedef sequence<octet> binary; + + }; ]]></code> <p>it provides a way on sending trasparent data between C and Erlang.</p> <p>The C-definition (ic.h) for an erlang binary is :</p> <code type="none"> -\011 typedef struct { -\011 CORBA_unsigned_long _maximum; -\011 CORBA_unsigned_long _length; -\011 CORBA_octet* _buffer; -\011 } erlang_binary; /* ERLANG BINARY */ + typedef struct { + CORBA_unsigned_long _maximum; + CORBA_unsigned_long _length; + CORBA_octet* _buffer; + } erlang_binary; /* ERLANG BINARY */ </code> <p>The differences (between <c>erlang::binary</c> and <c><![CDATA[sequence< octet >]]></c>) are :</p> <list type="bulleted"> diff --git a/lib/ic/doc/src/ch_erl_genserv.xml b/lib/ic/doc/src/ch_erl_genserv.xml index 972eff7c17..055b751ba1 100644 --- a/lib/ic/doc/src/ch_erl_genserv.xml +++ b/lib/ic/doc/src/ch_erl_genserv.xml @@ -168,18 +168,18 @@ handle_info(Info, State) -> %% IDL specification produce(State) -> case catch random:uniform() of -\\011{'EXIT',_} -> -\\011 {stop, normal, "random:uniform/0 - EXIT", State}; -\\011RUnif -> + {'EXIT',_} -> + {stop, normal, "random:uniform/0 - EXIT", State}; + RUnif -> {reply, RUnif, State} end. init(State, S1, S2, S3) -> case catch random:seed(S1, S2, S3) of -\\011{'EXIT',_} -> -\\011 {stop, normal, State}; -\\011_ -> + {'EXIT',_} -> + {stop, normal, State}; + _ -> {noreply, State} end. </code> diff --git a/lib/ic/doc/src/ch_erl_plain.xml b/lib/ic/doc/src/ch_erl_plain.xml index 36de46f624..1d6f84b5ea 100644 --- a/lib/ic/doc/src/ch_erl_plain.xml +++ b/lib/ic/doc/src/ch_erl_plain.xml @@ -75,7 +75,7 @@ <item> <p>Main file : "plain.idl"</p> <code type="none"> -\011 + module rmod { interface random { diff --git a/lib/ic/doc/src/ch_ic_protocol.xml b/lib/ic/doc/src/ch_ic_protocol.xml index 678fdc766c..68a01a6a46 100644 --- a/lib/ic/doc/src/ch_ic_protocol.xml +++ b/lib/ic/doc/src/ch_ic_protocol.xml @@ -69,9 +69,9 @@ <title>IDL Operations</title> <p>An IDL operation is declared as follows:</p> <code type="none"> -\011[oneway] RetType Op(in IType1 I1, in IType2 I2, ..., in ITypeN IN, -\011out OType1 O1, out OType2 O2, ..., out OTypeM OM) -\011N, M = 0, 1, 2, ...\011\011(2.1.1) + [oneway] RetType Op(in IType1 I1, in IType2 I2, ..., in ITypeN IN, + out OType1 O1, out OType2 O2, ..., out OTypeM OM) + N, M = 0, 1, 2, ... (2.1.1) </code> <p>`Op' is the operation name, RetType is the return type, and ITypei, i = 1, 2, ..., N, and OTypej, j = 1, 2, ..., M, are the `in' types @@ -146,13 +146,13 @@ <section> <title>Call (Request/Reply, i.e. not oneway)</title> <code type="none"> - request:\011\011 Op\011\011\011atom()\011\011N = 0\011 -\011\011\011 {Op, I1, I2, ..., IN}\011tuple()\011\011N > 0 -\011\011\011\011\011\011\011\011(3.1.1) + request: Op atom() N = 0 + {Op, I1, I2, ..., IN} tuple() N > 0 + (3.1.1) - reply:\011\011 Ret\011\011\011\011\011M = 0 -\011\011\011 {Ret, O1, O2, ..., OM}\011\011\011M > 0 -\011\011\011\011\011\011\011\011(3.1.2) </code> + reply: Ret M = 0 + {Ret, O1, O2, ..., OM} M > 0 + (3.1.2)</code> <p><em>Notice:</em> Even if the RetType of the operation Op is declared to be 'void', a return value 'ok' is returned in the reply message. That @@ -166,9 +166,9 @@ <title>Cast (oneway)</title> <code type="none"> - notification:\011Op\011\011\011atom()\011\011N = 0 -\011\011\011{Op, I1, I2, ..., IN}\011tuple()\011\011N > 0 -\011\011\011\011\011\011\011\011(3.2.1) </code> + notification: Op atom() N = 0 + {Op, I1, I2, ..., IN} tuple() N > 0 + (3.2.1)</code> <p>(There is of course no return message). </p> </section> @@ -184,9 +184,9 @@ <title>Call</title> <code type="none"> - request:\011{'$gen_call', {self(), Ref}, Request}\011\011(4.1.1) + request: {'$gen_call', {self(), Ref}, Request} (4.1.1) - reply:\011{Ref, Reply}\011\011\011\011\011(4.1.2) </code> + reply: {Ref, Reply} (4.1.2)</code> <p>where Request and Reply are the messages defined in the previous chapter. </p> @@ -195,7 +195,7 @@ <section> <title>Cast</title> <code type="none"> - notification: {'$gen_cast', Notification}\011\011(4.2.1) </code> + notification: {'$gen_cast', Notification} (4.2.1) </code> <p>where Notification is the message defined in the previous chapter. </p> </section> @@ -205,7 +205,7 @@ <title>Erlang Distribution Protocol</title> <p>Messages (of interest here) between Erlang nodes are of the form: </p> <code type="none"> - Len(4), Type(1), CtrlBin(N), MsgBin(M)\011\011\011(5.1) </code> + Len(4), Type(1), CtrlBin(N), MsgBin(M) (5.1) </code> <p>Type is equal to 112 = PASS_THROUGH. </p> <p>CtrlBin and MsgBin are Erlang terms in binary form (as if created @@ -215,10 +215,10 @@ <p>CtrlBin (of interest here) contains the SEND and REG_SEND control messages, which are binary forms of the Erlang terms</p> <code type="none"> -\011{2, Cookie, ToPid} ,\011\011\011\011\011(5.2) </code> + {2, Cookie, ToPid} , (5.2) </code> <p>and</p> <code type="none"> -\011{6, FromPid, Cookie, ToName} ,\011\011\011\011(5.3) </code> + {6, FromPid, Cookie, ToName} , (5.3) </code> <p>respectively. </p> <p>The CtrlBin(N) message is read and written by erl_interface code diff --git a/lib/ic/doc/src/ch_java.xml b/lib/ic/doc/src/ch_java.xml index 831850f211..a189daa44b 100644 --- a/lib/ic/doc/src/ch_java.xml +++ b/lib/ic/doc/src/ch_java.xml @@ -711,14 +711,14 @@ public class sHelper { // methods public static s unmarshal(OtpInputStream in) throws java.lang.Exception { -\011: -\011: + : + : }; public static void marshal(OtpOutputStream out, s value) throws java.lang.Exception { -\011: -\011: + : + : }; }; diff --git a/lib/ic/doc/src/erl-part.xml b/lib/ic/doc/src/erl-part.xml index b5041dce7f..8dd7001436 100644 --- a/lib/ic/doc/src/erl-part.xml +++ b/lib/ic/doc/src/erl-part.xml @@ -4,23 +4,21 @@ <part> <header> <copyright> - <year>2002</year> - <year>2007</year> - <holder>Ericsson AB, All Rights Reserved</holder> + <year>2002</year><year>2009</year> + <holder>Ericsson AB. All Rights Reserved.</holder> </copyright> <legalnotice> - 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. - - The Initial Developer of the Original Code is Ericsson AB. + 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. + </legalnotice> <title>IDL to Erlang language Mapping</title> diff --git a/lib/ic/doc/src/ic_c_protocol.xml b/lib/ic/doc/src/ic_c_protocol.xml index f895fe0723..26862addf9 100644 --- a/lib/ic/doc/src/ic_c_protocol.xml +++ b/lib/ic/doc/src/ic_c_protocol.xml @@ -4,23 +4,21 @@ <cref> <header> <copyright> - <year>2004</year> - <year>2007</year> - <holder>Ericsson AB, All Rights Reserved</holder> + <year>2004</year><year>2009</year> + <holder>Ericsson AB. All Rights Reserved.</holder> </copyright> <legalnotice> - 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. - - The Initial Developer of the Original Code is Ericsson AB. + 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. + </legalnotice> <title>IC C Protocol Functions</title> diff --git a/lib/ic/doc/src/java-part.xml b/lib/ic/doc/src/java-part.xml index 69cc0f026c..ab4049ee2a 100644 --- a/lib/ic/doc/src/java-part.xml +++ b/lib/ic/doc/src/java-part.xml @@ -4,23 +4,21 @@ <part> <header> <copyright> - <year>2002</year> - <year>2007</year> - <holder>Ericsson AB, All Rights Reserved</holder> + <year>2002</year><year>2009</year> + <holder>Ericsson AB. All Rights Reserved.</holder> </copyright> <legalnotice> - 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. - - The Initial Developer of the Original Code is Ericsson AB. + 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. + </legalnotice> <title>IDL to Java language Mapping</title> diff --git a/lib/ic/doc/src/notes.xml b/lib/ic/doc/src/notes.xml index 021a1e058f..dbafde7b4b 100644 --- a/lib/ic/doc/src/notes.xml +++ b/lib/ic/doc/src/notes.xml @@ -37,9 +37,21 @@ <title>Fixed Bugs and Malfunctions</title> <list type="bulleted"> <item> + <p>Removed superfluous VT in the documentation.</p> + <p>Own id: OTP-8353 Aux Id:</p> + </item> + <item> <p>The option c_timeout was not correctly documented.</p> <p>Own id: OTP-8307 Aux Id: seq11390</p> </item> + <item> + <p>Removed superfluous backslash in the documentation.</p> + <p>Own id: OTP-8354 Aux Id:</p> + </item> + <item> + <p>The documentation EIX file was not generated.</p> + <p>Own id: OTP-8355 Aux Id:</p> + </item> </list> </section> </section> diff --git a/lib/ic/doc/src/old_notes.xml b/lib/ic/doc/src/old_notes.xml deleted file mode 100644 index 9ba0262573..0000000000 --- a/lib/ic/doc/src/old_notes.xml +++ /dev/null @@ -1,1565 +0,0 @@ -<?xml version="1.0" encoding="latin1" ?> -<!DOCTYPE chapter SYSTEM "chapter.dtd"> - -<chapter> - <header> - <copyright> - <year>2003</year><year>2009</year> - <holder>Ericsson AB. All Rights Reserved.</holder> - </copyright> - <legalnotice> - 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. - - </legalnotice> - - <title>IDL Compiler Release Notes</title> - <prepared></prepared> - <docno></docno> - <checked></checked> - <date>2003-11-19</date> - <rev>AB</rev> - </header> - - <section> - <title>IC 4.1.8</title> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>IDL-files containing <c>result</c> or <c>Result</c> as, - for example, parameter name, caused an exit with reason - <c>bad_match</c>.</p> - <p>Own Id: OTP-4532</p> - </item> - <item> - <p>Uninitialized variables were used in <c>ic_init_ref</c> for - C backends. </p> - <p>Own Id: OTP-4537 <br></br> - - Aux Id: seq7666, ETOtr17107</p> - </item> - <item> - <p><c>CORBA_Environment_alloc()</c> left some fields - uninitialized in the returned pointer to an - <c>CORBA_Environment</c> for C backends.</p> - <p>Own Id: OTP-4538</p> - </item> - <item> - <p>The function <c>ic_compare_refs()</c> for C backends - could find two unequal references to be equal.</p> - <p>Own Id: OTP-4539</p> - </item> - </list> - </section> - </section> - - <section> - <title>IC 4.1.7</title> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>Operation names were always scoped in C server backend, - irrespective of the setting of the option - <c>scoped_op_calls</c>.</p> - <p>Own Id: OTP-4521 <br></br> - - Aux Id: seq7643, ETOtr16925</p> - </item> - </list> - </section> - </section> - - <section> - <title>IC 4.1.6</title> - - <section> - <title>Improvements and New Features</title> - <list type="bulleted"> - <item> - <p>For C backends generated code checks that the - <c>_length</c> field of bounded sequences (i.e. specified - as <c><![CDATA[sequence <TYPE, MAX>]]></c>) does not exceed the - specified maximum length. If so, an exception is raised.</p> - <p>Own Id: OTP-4471</p> - </item> - </list> - </section> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>The <c>_maximum</c> field was not set for sequence structs - generated by the C backends.</p> - <p>Own Id: OTP-4471 <br></br> - - Aux Id: seq7600, ETOtr16308</p> - </item> - <item> - <p>There was a memory leak in C backends in case there was a - decoding error in a sequence with elements of basic type.</p> - <p>Own Id: OTP-4475</p> - </item> - <item> - <p>For for C backends, IDL structs defined within an - interface were not mapped into C structs in appropriate - include files.</p> - <p>Own Id: OTP-4481 <br></br> - - Aux Id: seq7617</p> - </item> - <item> - <p>If the user, incorrectly, trap exit's but did not use the - 'handle_info' compile option it would cause the server to - terminate. The same problem occurred if someone, - illegally, sent a message to the server. It could also - happen for illegal oneway operations.</p> - <p>Own Id: OTP-4488</p> - </item> - </list> - </section> - </section> - - <section> - <title>IC 4.1.5</title> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>Invalid C code was generated for type short. </p> - <p>Own Id: OTP-4450 <br></br> - - Aux Id: seq7582</p> - </item> - </list> - </section> - </section> - - <section> - <title>IC 4.1.4</title> - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>Operation functions inherited by an interface were not - placed in the map table in generated code for the C server - backend. As a result such functions were not found by the - switch function of the interface.</p> - <p>Own Id: OTP-4448 <br></br> - - Aux Id: seq7582</p> - </item> - </list> - </section> - </section> - - <section> - <title>IC 4.1.3.1</title> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>A non-ANSI compliant construct in libic.a was changed.</p> - <p>Own Id: -</p> - </item> - </list> - </section> - </section> - - <section> - <title>IC 4.1.3</title> - - <section> - <title>Improvements and New Features</title> - <list type="bulleted"> - <item> - <p>For Erlang and C back-ends an IC version stamp has been - added to generated source code. This stamp i preserved in - compiled target code.</p> - </item> - <item> - <p>For C backends an <c>assert()</c> expression has been - added to generated code. That expression asserts that the - result of a memory allocation size calculation is strictly - positive. An error will result in a printout and an - <c>abort()</c>. The assertion can be inhibited by defining - the macro <c>NDEBUG</c> (according to ANSI C).</p> - <p>If the assertion is inhibited, and a size calculation error - is detected, an INTERNAL CORBA exception is set. </p> - </item> - <item> - <p>An internal reorganization of C backend generator code has - been done (addition of module <c>ic_cclient</c>). Several - changes has been done in generated C code:</p> - <list type="bulleted"> - <item> - <p>The typedef <c>___generic___</c> has been replaced by - the typedef <c>___exec_function___</c>, which has been - made more strict; for backward compatibility the - <c>___generic___</c> typedef is now an alias for - <c>___exec_function___</c>.</p> - </item> - <item> - <p>Function parameters that are arrays, has been changed - to be pointers to array slices, which are equivalent - according to ANSI C. </p> - </item> - <item> - <p>The storage class specifier <c>extern</c> has been - removed from function prototypes in header files.</p> - </item> - <item> - <p>Redundant type casts have been removed from generated code. - Also some local "generic" variables have been renamed.</p> - </item> - </list> - </item> - </list> - </section> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>Module info vsn replaced by app_vsn.</p> - <p>Own Id: OTP-4341</p> - </item> - <item> - <p>IC-4.1.2 disabled the definition of float constants - beginning with a zero (e.g. <c>0.14</c>).</p> - <p>Own Id: OTP-4367</p> - </item> - <item> - <p>IC did not handle constant definitions correctly for - char, string, wchar and wstring.</p> - <p>Own Id: OTP-4067, OTP-3222</p> - </item> - <item> - <p>IC did not recognize all reserved words defined in the - OMG specification (2.3.1). The new keywords are <c>fixed, abstract, custom, factory, local, native, private, public, supports, truncatable, 'ValueBase'</c> and - <c>valuetype</c>. But for now this is only active for the - <c>erl_corba</c> backend and only incorrect usage of - <c>fixed</c>, since this datatype is now supported, - triggers an error for this backend.</p> - <p>Own Id: OTP-4368</p> - </item> - <item> - <p>It was not possible to use wchar or wstring inside a - union body when using the Java backend.</p> - <p>Own Id: - OTP-4365</p> - </item> - <item> - <p>The compile options <c>this</c> and <c>handle_info</c> - did not behave as described in the documentation. The - <c>timeout</c> now behaves as, for example, - <c>handle_info</c>.</p> - <p>Own Id: OTP-4386, OTP-3231</p> - </item> - <item> - <p>If we typedef a sequence, which contains a struct or a union, - the access function <c>id/0</c> returned an incorrect IFR Id - if a prefix pragma was used.</p> - <p>Own Id: OTP-4387</p> - </item> - <item> - <p>If an IDL file contained a prefix pragma, incorrect - IFR-id's was generated in the IFR-registration operation - <c>oe_register</c> for aliases (typedef) and - attributes.</p> - <p>Own Id: OTP-4388, OTP-4392</p> - </item> - <item> - <p>For C back-ends, when encodings/decodings failed, memory - allocated for variable size parameter types was not freed.</p> - <p>Own Id: OTP-4391 - <br></br> -Aux Id: seq7438, ETOtr14009</p> - </item> - <item> - <p>If an IDL file contained a multiple typedef - (e.g. typedef string str1, str2;), the <c>oe_unregister</c> - operation failed to remove all data, in this case str2, - from the IFR.</p> - <p>Own Id: OTP-4393</p> - </item> - <item> - <p>IC did not recognize octet-constants - (e.g. const octet octetmax = 255;).</p> - <p>Own Id: OTP-4400</p> - </item> - <item> - <p>Negative 'long long' constants was not accepted - (e.g. const long long MyConstant = -1;).</p> - <p>Own Id: OTP-4401</p> - </item> - </list> - </section> - </section> - - <section> - <title>IC 4.1.2</title> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>Merging of map's (<em>___map___</em>) using the - <em>___merge___</em> function does not work.</p> - <p>Own Id: OTP-4323</p> - </item> - <item> - <p>Error in generated C decode/encode functions for union's with - discriminator where the union has no value for all discriminator - values. E.g. a union with discriminator boolean where only the - discriminator value TRUE has a corresponding union value. - Here is how such a thing would look in IDL:</p> - <pre> -\011 union OptXList switch(boolean) { -\011 case TRUE: integer val; - }; - </pre> - <p>Own Id: OTP-4322</p> - </item> - <item> - <p>Scoped op calls ('{scoped_op_calls, true}') does not handle - module/function names beginning with capital letter (e.g. - Megaco should be 'Megaco') for oneway operations (handle_cast).</p> - <p>Own Id: OTP-4310</p> - </item> - <item> - <p>A bug is fixed on C-IDL erlang binaries that caused - pointer error when residing inside sequences.</p> - <p>Own Id: OTP-4303</p> - </item> - </list> - </section> - </section> - - <section> - <title>IC 4.1.1</title> - - <section> - <title>Improvements and New Features</title> - <list type="bulleted"> - <item> - <p>A new option 'multiple_be' is added that allows multiple backend - generation for the same IDL file.</p> - </item> - </list> - </section> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>A bug is fixed on IDL types that contain underscore '_'.</p> - <p>Own Id: OTP-3710</p> - </item> - <item> - <p>A bug is fixed on IDL structs that caused scope confusion - when types and fields of a struct had the same name.</p> - <p>Own Id: OTP-2893</p> - </item> - </list> - </section> - </section> - - <section> - <title>IC 4.0.7</title> - - <section> - <title>Improvements and New Features</title> - <list type="bulleted"> - <item> - <p>The Erlang binary special type is introduced, that - allows efficient transfer of binaries between Erlang and C. </p> - <p>Own Id:OTP-4107</p> - </item> - </list> - </section> - </section> - - <section> - <title>IC 4.0.6</title> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>A bug is fixed on noc backend which caused generation of erroneous code.</p> - <p>Own Id: OTP-3812</p> - </item> - </list> - </section> - </section> - - <section> - <title>IC 4.0.5</title> - - <section> - <title>Improvements and New Features</title> - <list type="bulleted"> - <item> - <p>The pragma code option is extended to point - specific functions on NOC backend, not only - interfaces.</p> - <p></p> - </item> - </list> - </section> - </section> - - <section> - <title>IC 4.0.4</title> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>A bug in pragma prefix when including IDL files is fixed. - This caused problems for Erlang-corba IFR registrations.</p> - <p>Own Id: OTP-3620</p> - </item> - </list> - </section> - </section> - - <section> - <title>IC 4.0.3</title> - - <section> - <title>Improvements and New Features</title> - <list type="bulleted"> - <item> - <p>Limited support on multiple file module definitions.</p> - <p>The current version supports multiple file module definitions all - backends except the c oriented backends.</p> - <p>Own Id: OTP-3550</p> - </item> - </list> - </section> - </section> - - <section> - <title>IC 4.0.2</title> - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>A bug is fixed on Erlang backends.</p> - <p>The (recently) introduced generation of files - describing sequence and array files were even - true for included interfaces. In the case of - some Erlang backends this were unnecessary.</p> - <p>Own Id: OTP-3485</p> - </item> - </list> - </section> - </section> - - <section> - <title>IC 4.0.1</title> - - <section> - <title>Improvements and New Features</title> - <list type="bulleted"> - <item> - <p>New functionality added on Java and Erl_genserv backends.</p> - <p></p> - <list type="bulleted"> - <item> - <p>On the Java client stub :</p> - <p></p> - <list type="bulleted"> - <item> - <p>The Java client have now one more constructor function, - that allows to continue with an already started connection.</p> - </item> - <item> - <p><c>void __stop()</c> which sends a stop cast call to the server. - While this causes the Erlang server to terminate, it - sets a stop flag to the Java server environment, requesting the - server to terminate.</p> - </item> - <item> - <p><c>void __reconnect()</c> which closes the current client connection - if open and then connects to the same server.</p> - </item> - </list> - <p>The Environment variable is now declared as <c>public</c>. </p> - </item> - <item> - <p>On the Java server skeleton :</p> - <p></p> - <list type="bulleted"> - <item> - <p><c>boolean __isStopped()</c> which returns true if a <c>stop</c> - message where received, false otherwise. The user must check if - this function returns true, and in this case exit the implemented - server loop.</p> - </item> - </list> - <p>The Environment variable is now declared as <c>protected</c> which - allows the implementation that extends the stub to access it.</p> - </item> - <item> - <p>On the Erlang gen_server stub :</p> - <p></p> - <list type="bulleted"> - <item> - <p><c>stop(Server)</c> which yields to a cast call to the standard - gen_server <c>stop</c> function. This will always terminate the - Erlang gen_server, while it will set the stop flag for the - Java server stub.</p> - </item> - </list> - </item> - </list> - <p>Own Id: OTP-3433</p> - </item> - </list> - </section> - </section> - - <section> - <title>IC 4.0</title> - - <section> - <title>Improvements and New Features</title> - <list type="bulleted"> - <item> - <p>New types handled by IC.</p> - <p>The following OMG-IDL types are added in this compiler version :</p> - <list type="bulleted"> - <item> - <p>long long</p> - <p>unsigned long long</p> - <p>wchar</p> - <p>wstring</p> - </item> - </list> - <p>Own Id: OTP-3331</p> - <p></p> - </item> - <item> - <p>TypeCode as built in type and access code files for array and sequence types.</p> - <list type="bulleted"> - <item> - <p>As TypeCode is a <c>pseudo</c>-interface, it is now is a built-in type on IC.</p> - </item> - <item> - <p>Access code files which contain information about TypeCode, ID and Name are - now generated for user defined arrays and sequences.</p> - </item> - </list> - <p>Own Id: OTP-3392</p> - </item> - </list> - </section> - </section> - - <section> - <title>IC 3.8.2</title> - <section> - <title>Fixed Bugs and Malfunctions</title> - <p>A bug is fixed on preprocessor directive expansion.</p> - <p>When nested #ifdef - #ifndef directives, a bug caused - improper included file expansion. This is fixed by - repairing the preprocessor expansion function.</p> - <p>Own Id: OTP-3472</p> - </section> - </section> - - <section> - <title>IC 3.8.1</title> - - <section> - <title>Improvements and New Features</title> - <list type="bulleted"> - <item> - <p>Build in Erlang types support for java-backends</p> - <p>The built-in Erlang types <c>term, port, ref</c> and <c>pid</c> - are needed in Java backends in order to support an - efficient mapping between the two languages. - The new types are also supported by additional - helpers and holders to match with OMGs Java mapping - As a result of this, the following classes are added to - the <c>com.ericsson.otp.ic</c> interface :</p> - <list type="bulleted"> - <item> - <p><c>Term,TermHelper,TermHolder</c> which represents the - built-in Erlang type <c>term</c></p> - </item> - <item> - <p><c>Ref,RefHelper,RefHolder</c> which represents the - built-in Erlang type <c>ref</c></p> - </item> - <item> - <p><c>Port,PortHelper, PortHolder</c> which represents the - built-in Erlang type <c>port</c></p> - </item> - <item><c>Pid, PidHelper and PidHolder</c> which represents the - built-in Erlang type <c>pid</c></item> - </list> - <p></p> - <p>Own Id: OTP-3348</p> - <p></p> - </item> - <item> - <p>Compile time preprocessor macro variable definitions</p> - <p>The preprocessor lacked possibility to accept user - defined variables other than the one defined in IDL files. - This limited the use of command-ruled IDL specifications. - Now the build-in preprocessor allows the user to set variables - by using the "preproc_flags" option the same way - as using the "gcc" preprocessor.</p> - <p>Supported flags : </p> - <list type="bulleted"> - <item> - <p><c><![CDATA["-D< Variable >"]]></c> which defines a variable</p> - </item> - <item> - <p><c><![CDATA["-U< Variable >"]]></c> which undefines a variable</p> - </item> - </list> - <p></p> - <p>Own Id: OTP-3349</p> - </item> - </list> - </section> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <p>A bug on comment type expansion is fixed.</p> - <p>The comment type expansion were erroneous when - inherited types (NOC backend). - This is now fixed and the type naming agree with - the scope of the inheritor interface.</p> - <p>Own Id: OTP-3346</p> - </section> - </section> - - <section> - <title>IC 3.8</title> - - <section> - <title>Improvements and New Features</title> - <list type="bulleted"> - <item> - <p>The code generated for java backend is optimized - due to use of streams instead for tuple classes - when (un)marshalling message calls. - Support for building clients using asynchronous - client calls and effective multi-threaded servers.</p> - <p>Own Id: OTP-3310</p> - <p></p> - </item> - <item> - <p>The <c>any</c> type is now supported for java backend.</p> - <p>Own Id: OTP-3311</p> - </item> - </list> - </section> - - <section> - <title>A bug on C generated constants is fixed</title> - <p>While the constants are evaluated and behave well when used - inside an IDL specification their C-export were not working properly. - The constant export definitions were not generated well :</p> - <list type="bulleted"> - <item> - <p>the declared C definition were erroneous ( the name did not always agree - with the scope the constant were declared in ).</p> - </item> - <item> - <p>there were no C- definition generated for the c-server backend when - the constants were declared inside an interface.</p> - </item> - </list> - <p>Own Id: OTP-3219</p> - </section> - - <section> - <title>Incompatibilities</title> - <p>Due to optimizations in java backend, the stub initialization and usage - differs than the previous version.</p> - <p>Client stub interface changes:</p> - <list type="bulleted"> - <item> - <p>Client disconnects by calling the <c>__disconnect()</c> function instead - for the old <c>_closeConnection()</c></p> - <p></p> - </item> - <item> - <p>All <c>marshal</c> operation functions have now the interface :</p> - <p><c><![CDATA[void _< OpName >_marshal(Environment<, Param |, Params >)]]></c></p> - <p>instead for</p> - <p><c><![CDATA[OtpErlangTuple _< OpName >_marshal(< Param, | Params, >OtpErlangPid, OtpErlangRef)]]></c></p> - <p></p> - </item> - <item> - <p>All <c>unmarshal</c> operation functions have now the interface :</p> - <p><c><![CDATA[< Ret value > _< OpName >_unmarshal(Environment<, Param |, Params >)]]></c></p> - <p>instead for</p> - <p><c><![CDATA[< Ret value > _< OpName >_unmarshal(< Param, | Params, >OtpErlangTuple, OtpErlangRef)]]></c></p> - <p></p> - </item> - <item> - <p>Call reference extraction is available by the client function :</p> - <p><c>OtpErlangRef __getRef()</c></p> - <p>instead for previous function :</p> - <p><c>OtpErlangRef _getReference(OtpErlangTuple)</c></p> - <p></p> - </item> - </list> - <p>Server skeleton interface changes:</p> - <list type="bulleted"> - <item> - <p>The implementation function no longer have to contain the - two (2) contractor functions (with <c>super()</c>). This is due - to the fact that there is only one contractor function for each - skeleton file :</p> - <p><c><![CDATA[public _< interface name >ImplBase()]]></c></p> - <p></p> - </item> - <item> - <p>The parameter for the caller identity extraction function <c>_getCallerPid</c> - is now an <c>Environment</c> variable instead for an <c>OtpErlangTuple</c>.</p> - <p></p> - </item> - <item> - <p>There is a new <c>invoke</c> function :</p> - <p><c>OtpOutputStream invoke(OtpInputStream)</c></p> - <p>instead for the old one :</p> - <p><c>OtpErlangTuple invoke(OtpErlangTuple)</c></p> - <p></p> - </item> - <item> - <p>The <c>OtpConnection</c> class function used for receiving messages is now :</p> - <p><c>OtpInputStream receiveBuf()</c></p> - <p>instead for the old one :</p> - <p><c>OtpErlangTuple receive()</c></p> - <p></p> - </item> - <item> - <p>The <c>OtpConnection</c> class function used for sending messages is now :</p> - <p><c>void sendBuf(OtpErlangPid, OtpOutputStream)</c></p> - <p>instead for the old one :</p> - <p><c>void send(OtpErlangPid, OtpErlangTuple)</c></p> - <p></p> - </item> - </list> - </section> - </section> - - <section> - <title>IC 3.7.1</title> - - <section> - <title>Improvements and New Features</title> - <p>Some memory usage optimizations for the compiler were done.</p> - </section> - - <section> - <title>Fixed bugs and malfunctions</title> - <list type="bulleted"> - <item> - <p>A bug is fixed when C backend is used.</p> - <p>When C-union with enumerant discriminator, the size - calculation of the discriminator value were erroneous. - This lead to the side effect that only the first case of the - union were allowed. - The error were fixed by fixing the size calculation of - the discriminator. </p> - <p>Own Id: OTP-3215</p> - </item> - </list> - </section> - </section> - - <section> - <title>IC 3.7</title> - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>A bug is fixed when C backend is used.</p> - <p>When unions with enumerant discriminator - were decoded, an error encountered in the - union size calculation. </p> - <p>Own Id: OTP-3209</p> - </item> - </list> - </section> - </section> - - <section> - <title>IC 3.6</title> - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>A bug is fixed when NOC backend is used.</p> - <p>When several functions with the same name - were found in the included file tree, - a compile time failure occurred.</p> - <p>Own Id: OTP-3203</p> - </item> - </list> - </section> - </section> - - <section> - <title>IC 3.5</title> - - <section> - <title>Improvements and New Features</title> - <list type="bulleted"> - <item> - <p>Noc backend optimization</p> - <p>When NOC backend is choosen, the type code - information on the stub functions is reduced - to a single atom "no_tk". - This is the default behavior. The typecode - generation is enabled by the "use_tk" switch.</p> - <p>Own Id: OTP-3196</p> - </item> - </list> - </section> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>General java backend bug fixes </p> - <p>Protocol errors on user defined structures and - union types are corrected.</p> - </item> - </list> - </section> - </section> - - <section> - <title>IC 3.4</title> - - <section> - <title>Improvements and New Features</title> - <list type="bulleted"> - <item> - <p>Semantic test enhancements.</p> - <p>The compiler detects now semantic errors when enumerant - values collide with user defined types on the same name scope.</p> - <p>Own Id: OTP-3157 <br></br> -</p> - </item> - </list> - </section> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>General java backend bug-fixes </p> - <p>Several bugs were fixed on user defined types.</p> - <list type="bulleted"> - <item> - <p>Union discriminators work better when - all possible case values are defined.</p> - </item> - <item> - <p>A bug on Interface inherited operations is - fixed that cause errors on generated server switch.</p> - </item> - <item> - <p>Type definitions on included files are better generated. </p> - </item> - </list> - <p>Own Id: OTP-3156 <br></br> -</p> - </item> - </list> - </section> - </section> - - <section> - <title>IC 3.3</title> - - <section> - <title>Improvements and New Features</title> - <list type="bulleted"> - <item> - <p>A new back-end which generates Java code according to the CORBA IDL to Java mapping for - communication with the Erlang distribution protocol has been added to IC. - For the moment there is no support for the Erlang types Pid, Ref, Port and Term - but this will be added later.</p> - <p>Own Id: OTP-2779 <br></br> -</p> - </item> - </list> - </section> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>Fixed the bug that the c code backends sometimes generated incorrect code for - struct arguments. They shall always be pointers. </p> - <p>Own Id: OTP-2732 <br></br> -</p> - </item> - <item> - <p>The code generation is fixed so the array parameters now follow the - CORBA V2.0 C mapping.</p> - <p>Own Id: OTP-2873 <br></br> -</p> - </item> - <item> - <p>Fixed the problem that the checking of the numbers of out-parameters always was true.</p> - <p>Own Id: OTP-2944 <br></br> -</p> - </item> - <item> - <p>Fixed the bug that some temporary variables was not declared when c code.</p> - <p>Own Id: OTP-2950 <br></br> -</p> - </item> - </list> - </section> - </section> - - <section> - <title>IC 3.2.2</title> - - <section> - <title>Improvements and New Features</title> - <list type="bulleted"> - <item> - <p>Unions are now supported to agree with OMG's C mapping.</p> - <p>Own Id: OTP-2868 <br></br> -</p> - </item> - <item> - <p>There is now a possibility to use pre- and postcondition methods on the server side - for IC generated Corba Objects. The compiler option is documented in the ic reference manual - and an example of how the pre- and postcondition methods should be designed and used is - added to ic example directory (an ReadMe.txt file exists with some instructions for - running the example code).</p> - <p>Own Id: OTP-3068 <br></br> -</p> - </item> - </list> - </section> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>The compiler ignores unknown/non supported pragma directives. A warning is raised - while the generated code will then be the same as if the corresponding - (unknown) pragma directive were missing. </p> - <p>Own Id: OTP-3052 <br></br> -</p> - </item> - </list> - </section> - </section> - - <section> - <title>IC 3.2.1</title> - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>Wrong C code was generated for limited strings when they where included - from another IDL specification.</p> - <p>Own Id: OTP-3033 <br></br> -</p> - </item> - </list> - </section> - </section> - - <section> - <title>IC 3.2</title> - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>The buffers for in/output used by C-stubs are now expandable. - This fixes buffer overflow problems when messages received/sent - do not fit in buffers.</p> - <p>Own Id: OTP-3001 <br></br> -</p> - </item> - </list> - </section> - - <section> - <title>Incompatibilities</title> - <p>The CORBA_Environment structure has now two new fields, the buffers for in/output - must now be dynamically allocated.</p> - </section> - </section> - - <section> - <title>IC 3.1.2</title> - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>The generated IFR registration function for constants has been fixed - so the parameters are correct.</p> - <p>Own Id: OTP-2856 <br></br> -</p> - </item> - <item> - <p>Error in the C code generation of ONEWAY operations without parameters - The bug was an decoding error in the operation header. The generated code expected one - parameter instead of zero. This is now fixed.</p> - <p>Own Id: OTP-2909 <br></br> -</p> - </item> - <item> - <p>Type problems on floats and booleans fixed.</p> - <p>Erroneous code for runtime checks on float was removed and - the internal format of the data representing the boolean value - is upgraded.</p> - <p>Own Id: OTP-2925 <br></br> -</p> - </item> - <item> - <p>The generated code for arrays of typedefined strings were - erroneous in the C-backends due to a failure in the compiler internal type - checking.</p> - <p>Own Id: OTP-2936 <br></br> -</p> - </item> - <item> - <p>The generated code for typedefined nested sequences were erroneous - in the C-backends. Pointer mismatches caused compilation failure.</p> - <p>Own Id: OTP-2937 <br></br> -</p> - </item> - </list> - </section> - - <section> - <title>Incompatibilities</title> - <p>The IDL specifications must be regenerated for C due to changes in the code generation.</p> - <p>One must regenerate IDL specifications for Erlang CORBA if there are constants in the - specification due to previous errors in the IFR registration functions (OTP-2856).</p> - </section> - </section> - - <section> - <title>IC 3.1.1</title> - - <section> - <title>Improvements and New Features</title> - <list type="bulleted"> - <item> - <p>Improvements on error report on unsupported types by</p> - <p>propagating warning when declaring unions in C -backends</p> - </item> - </list> - </section> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>A bug is fixed when arrays that contained variable size data - on C-backends</p> - <p>The compiler generated erroneous code when IDL - defined arrays that contained variable size data such - as strings, variable size structs or sequences.</p> - <p>Own Id: OTP-2900 <br></br> -</p> - </item> - <item> - <p>A bug is fixed when sequences that contained variable size data - on C_backends</p> - <p>The compiler generated erroneous code when IDL - defined arrays that contained variable size data such - as strings, variable size structs or other sequences.</p> - <p>Own Id: OTP-2901 <br></br> -</p> - </item> - <item> - <p>A bug concerning bounded strings on C-backends is fixed.</p> - <p>The compiler generated erroneous code for IDL - defined bounded strings. Syntax errors were generated - in special cases of typdedefined strings.</p> - <p>Own Id: OTP-2898 <br></br> -</p> - </item> - <item> - <p>A runtime error when sequences that contained integer types is fixed.</p> - <p>When C-clients/server that communicated with Erlang clients/servers, - and the data send by Erlang part were a list of small numbers, - the Erlang runtime compacts the list to a string. This caused a - runtime error when sending sequences of integer types and all had - value less than 256.</p> - <p>Own Id: OTP-2899 <br></br> -</p> - </item> - <item> - <p>An OMG IDL - C mapping problem on enumerant values is fixed.</p> - <p>The enumerant values names is now prefixed by the current scope, - as defined in the specification.</p> - <p>Own Id: OTP-2902 <br></br> -</p> - </item> - <item> - <p>A problem when using constants in array declarations is fixed.</p> - <p>Array dimensions declared with constants generated erroneous code.</p> - <p>Own Id: OTP-2864 <br></br> -</p> - </item> - </list> - </section> - - <section> - <title>Incompatibilities</title> - <list type="bulleted"> - <item> - <p>Changes in C-generation on enumerant values.</p> - </item> - </list> - </section> - </section> - - <section> - <title>IC 3.1</title> - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>A bug is fixed on the generated structures. </p> - <p>The generated C code for the structures corresponds now - to direct mapping of C-structs. </p> - <p>Own Id: OTP-2843 <br></br> -</p> - </item> - </list> - </section> - - <section> - <title>Incompatibilities</title> - <list type="bulleted"> - <item> - <p>Included structures inside a struct are no longer pointers.</p> - </item> - </list> - </section> - </section> - - <section> - <title>IC 3.0</title> - - <section> - <title>Improvements and New Features</title> - <list type="bulleted"> - <item> - <p>Interface change for C-backends</p> - <p>Major interface change. The new interface is CORBA 2.0 - compliant.</p> - <p>Own Id: OTP-2845 <br></br> -</p> - </item> - <item> - <p>The C-backends functionality is improved</p> - <list type="bulleted"> - <item> - <p>Due to interface change and some unneeded error - checks,the C-generated code is fairly optimized.</p> - </item> - </list> - </item> - </list> - </section> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>Several serious bugs on decoding and memory allocation are fixed. </p> - </item> - </list> - </section> - - <section> - <title>Incompatibilities</title> - <list type="bulleted"> - <item> - <p>Interface change on the C-backends</p> - <p>In order to be CORBA 2.0 compatible, the new version - generates fully incompatible C code.</p> - </item> - </list> - </section> - </section> - - <section> - <title>IC 2.5.1</title> - - <section> - <title>Improvements and New Features</title> - <list type="bulleted"> - <item> - <p>A new backend is added : C-server</p> - <p>This back-ends can be used to create servers, - compatible to c-clients, and Erlang genserver clients. - The code produced is a collection of functions for - encoding and decoding messages and a switch that coordinates - them. These parts can be used to create other servers as well. - All functions are exported to header files.</p> - <p>Own Id: OTP-2713 <br></br> -</p> - </item> - <item> - <p>The C-client functionality is improved</p> - <list type="bulleted"> - <item> - <p>The static buffer used for input/output is removed along - with the <c>memset</c> function that initiated it. - The new client is at least 20-30 percent faster.</p> - </item> - <item> - <p>The internal structure of the client is changed. - The client functions are now a collection of encoding - and decoding message functions ruled by a specific - call function. While the basic client generated is - a synchronous client, the exported functions - support the implementation of threaded asynchronous - clients.</p> - </item> - <item> - <p>The static buffer used for input/output is remove along - with the <c>memset</c> function that initiated it. - The new client is at least 20-30 percent faster.</p> - </item> - <item> - <p>The code generated is generally improved, warnings are - (almost) eliminated, while no unidentified variable - errors occur.</p> - </item> - <item> - <p>The IDL types unsigned shorts, shorts, floats are supported now.</p> - </item> - <item> - <p>All generated functions are exported in client header files..</p> - </item> - </list> - <p>Own Id: OTP-2712 <br></br> -</p> - </item> - </list> - </section> - - <section> - <title>Changes in compiler usage and code generation.</title> - <list type="bulleted"> - <item> - <p>A new option is added for the C-server back-end : <c>c_server</c>.</p> - </item> - <item> - <p>A new option is added : <c>scoped_op_calls</c>.</p> - </item> - </list> - </section> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>A bug oneway operations on erl_corba and erl_genserv that caused - en exit due to internal interface error is fixed. </p> - </item> - <item> - <p>A bug on oneway operations on c_genserv back-end that caused several - variables to be unidentified is fixed. </p> - </item> - </list> - </section> - - <section> - <title>Incompatibilities</title> - <list type="bulleted"> - <item> - <p>Interface change on the C-client</p> - <p>The client functions are called with two extra variables, a pointer to - an array of char - used for storage and an integer - the array size</p> - </item> - <item> - <p>The IDL type <c>attribute</c> is disabled, due to some implementation problems.</p> - </item> - </list> - </section> - </section> - - <section> - <title>IC 2.1</title> - - <section> - <title>Improvements and New Features</title> - <list type="bulleted"> - <item> - <p>The compiler now provides more in depth information (printouts) when errors occur.</p> - <p>In some cases the compiler stops compiling - due to an abnormal exit or incompatible input. - In this situation, a "fatal error" may occur but the compiler will - generate information explaining the problem.</p> - <p>Own Id: OTP-2565 <br></br> -</p> - </item> - </list> - </section> - </section> - - <section> - <title>IC 2.0</title> - - <section> - <title>Improvements and New Features</title> - <list type="bulleted"> - <item> - <p>The IDL compiler is now a separate application and is longer a part of Orber.</p> - </item> - <item> - <p>Pragma handling implementation.</p> - <p>Pragma ID, prefix - and version are implemented to agree with CORBA revision - 2.0. The compiler accepts and applies these on the - behavior of the compiled code. <br></br> - In this implementation, - pragmas are accepted by the parser and applied by the use - of ic_pragma functions. <br></br> - All IFR-identity handling now - passes through pragma table. As pragma handling in OMG-IDL - is affecting the identity of an ifr-object, all identity - handling and registration is now controlled by pragma - functions. A hash table called "pragmatab" contains vital - identity information used under compilation. <br></br> -</p> - <p>There two major pragma categories :</p> - <list type="bulleted"> - <item> - <p>Normal pragmas, are used in the code where - basic definitions and statements appear. </p> - </item> - <item> - <p>Under certain circumstances, ugly pragmas can now - appear inside code, parameter lists, structure - definitions ... etc. <br></br> - It is quite challenging to - allow ugly pragmas, but the effects of unlimited ugly - pragma implementation on the parser can be enormous. - Ugly pragmas can cause the parser source code to - become time consuming and user unreadable. <br></br> - In order - to allow ugly pragmas but not destroy the current - structure of the parser, the use of ugly pragmas is - limited. Multiple pragma directives are allowed - inside parameter lists, unions, exceptions, - enumerated type, structures... as long as they are do not - appear between two keywords or between keywords and - identifiers. </p> - </item> - </list> - <p>The pragma effect is the same for both scope and basic - pragma rules. </p> - <p>When compiling, an IFR-identity - must be looked up several times but by storing identity aliases inside - the pragma table there this an increase in both speed and - flexibility. </p> - <p>Own Id: OTP-2128 <br></br> -</p> - </item> - <item> - <p>Code for interface inheritance registration for the IFR - registration code .</p> - <p>Inherited interfaces can now - be registered as a list of interface descriptions by - entering code for inherited interface registration under - new interface creation. This is achieved by correcting the - function reg2/6 and adding two more functions, - get_base_interfaces/2 and call_fun_str/2 </p> - <p>Own Id: - OTP-2134 <br></br> -</p> - </item> - <item> - <p>IFR registration checks for included IDL files.</p> - <p>All top level definitions (with respect to the scope) - - modules, interfaces, constants, types or exceptions - found - in an IDL file are either defined inside the compiled IDL - file or inside included files. - By having an extended registration of all top level - definitions it becomes possible to simply produce checks - for those included by the current IDL file. - A function call include_reg_test/1 is added in all - OE_* files that checks for IFR-registration on all included - IDL files. The code for that function is added inside the - OE_* file, while the function is called under OE_*:OE_register/0 - operation. </p> - <p>Own Id: OTP-2138 <br></br> -</p> - </item> - <item> - <p>Exception registration under IFR-operation creation.</p> - <p>By entering code for exception registration under operation - creation, the exceptions of an operation can be checked now. - This is done by correcting the function get_exceptions/4 - and adding two more functions, excdef/5 and get_EXC_ID/5 - ( the last two are cooperating with the first one and - all three are defined in the module "ictk" ). </p> - <p>Own Id: OTP-2102 <br></br> -</p> - </item> - <item> - <p>New back-end to IDL compiler : Plain Erlang.</p> - <p>The new back-end just translates IDL specifications - to Erlang module calls. No pragmas are allowed.</p> - <p>Own Id: OTP-2471 <br></br> -</p> - </item> - <item> - <p>New back-end to IDL compiler : generic server.</p> - <p>A new back-end that translates IDL specifications - to a standard OTP generic server.</p> - <p>Own Id: OTP-2482 <br></br> -</p> - </item> - <item> - <p>New back-end to IDL compiler : c client generation</p> - <p>A new back-end that translates IDL specifications - to a C API for accessing servers in Erlang. </p> - <p>Own Id: OTP-1511 <br></br> -</p> - </item> - <item> - <p>All records in generated files reveal own Erlang modules.</p> - <p>In Erlang related back-ends, every structure - which generates definition form is a record, - (such as union, struct, exception.... ). These records are - held in a generated Erlang files which - contain functions that reveal record information. <br></br> - - The Erlang file which contain these functions is - named after the scope of the record (similar - to the generated module and interface files). <br></br> - - Three functions are available :</p> - <list type="bulleted"> - <item> - <p>tc/0 - returns the record type code,</p> - </item> - <item> - <p>id/0 - returns the record id,</p> - </item> - <item> - <p>name - returns the record name.</p> - </item> - </list> - <p>Own Id: OTP-2473 <br></br> -</p> - </item> - <item> - <p>Changes in compiler usage and code generation.</p> - <list type="bulleted"> - <item> - <p>New compilation flags. - New flag be ( = back-end ) which is - used by the compiler to choose back-end. - Default back-end is set to erl_corba.</p> - </item> - <item> - <p>Stub files have an extra function oe_dependency/0 - indicating file dependency. This - helps the user to determine which IDL files should to - be compiled beside the compiled file. </p> - </item> - </list> - <p>Own Id: OTP-2474 <br></br> -</p> - </item> - <item> - <p>The IDL generation for CORBA is changed so standard gen_server return values can be used - from the implementation module. The change is compatible so that old values remain valid.</p> - <p>Own Id: OTP-2485 <br></br> -</p> - </item> - <item> - <p>It's now possible to generate an API to a CORBA object that accepts - timeout values in the calls in the same manner as gen_server. - The option to the compiler is "timeout".</p> - <p>Own Id: OTP-2487 <br></br> -</p> - </item> - </list> - </section> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>Empty file generation problem is fixed. - When the IDL module definition did not contain - constant definitions, the generated stub file for that module - definition was empty. After checking the module body, - these files will not be generated anymore.</p> - </item> - </list> - </section> - - <section> - <title>Incompatibilities</title> - <list type="bulleted"> - <item> - <p>Changes in generated files.</p> - <p>Stub-files generated by the compiler had - prefix "OE_" and those used by Orber - had also a register/unregister function - called "OE_register"/"OE_unregister" and - a directive "OE_get_interface" passed - to the gen_server. - This made it difficult/irritating to use, - for example call to the register function - in Orber would appear as shown below:</p> - <list type="bulleted"> - <item> - <p>'OE_filename':'OE_register'().</p> - </item> - </list> - <p>This is changed by using the prefix "oe_" - instead for "OE_" for the above. - A registration call in Orber is now written:</p> - <list type="bulleted"> - <item> - <p>oe_filename:oe_register(). </p> - </item> - </list> - <p>Own Id: OTP-2440 <br></br> -</p> - </item> - </list> - </section> - </section> -</chapter> - diff --git a/lib/ic/vsn.mk b/lib/ic/vsn.mk index ec4bb7c3a6..e0fccf4889 100644 --- a/lib/ic/vsn.mk +++ b/lib/ic/vsn.mk @@ -1,6 +1,9 @@ IC_VSN = 4.2.24 -TICKETS = OTP-8307 +TICKETS = OTP-8307 \ + OTP-8353 \ + OTP-8354 \ + OTP-8355 TICKETS_4.2.23 = OTP-8201 diff --git a/lib/kernel/src/pg2.erl b/lib/kernel/src/pg2.erl index fc9508a194..cb9fec2ffe 100644 --- a/lib/kernel/src/pg2.erl +++ b/lib/kernel/src/pg2.erl @@ -1,19 +1,19 @@ %% %% %CopyrightBegin% -%% -%% Copyright Ericsson AB 1997-2009. All Rights Reserved. -%% +%% +%% Copyright Ericsson AB 1997-2010. 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. -%% +%% %% %CopyrightEnd% %% -module(pg2). @@ -334,8 +334,11 @@ local_group_members(Name) -> P <- member_in_group(Pid, Name)]. member_in_group(Pid, Name) -> - [{{member, Name, Pid}, N}] = ets:lookup(pg2_table, {member, Name, Pid}), - lists:duplicate(N, Pid). + case ets:lookup(pg2_table, {member, Name, Pid}) of + [] -> []; + [{{member, Name, Pid}, N}] -> + lists:duplicate(N, Pid) + end. member_groups(Pid) -> [Name || [Name] <- ets:match(pg2_table, {{pid, Pid, '$1'}})]. diff --git a/lib/orber/doc/src/Makefile b/lib/orber/doc/src/Makefile index 40f5ef8708..c82db49c9b 100644 --- a/lib/orber/doc/src/Makefile +++ b/lib/orber/doc/src/Makefile @@ -64,7 +64,6 @@ XML_REF3_FILES = \ orber_acl.xml XML_PART_FILES = \ - part_notes_history.xml \ part.xml \ part_notes.xml @@ -85,10 +84,6 @@ XML_CHAPTER_FILES = \ ch_orberweb.xml \ ch_debugging.xml -XML_HTML_FILES = \ - notes_history.xml - - BOOK_FILES = book.xml XML_FILES = $(BOOK_FILES) $(XML_APPLICATION_FILES) $(XML_REF3_FILES) \ @@ -124,7 +119,6 @@ INTERNAL_HTML_FILES = $(TECHNICAL_DESCR_FILES:%.xml=$(HTMLDIR)/%.html) HTML_FILES = $(XML_APPLICATION_FILES:%.xml=$(HTMLDIR)/%.html) \ $(XML_CHAPTER_FILES:%.xml=$(HTMLDIR)/%.html) \ - $(XML_HTML_FILES:%.xml=$(HTMLDIR)/%.html) \ $(XML_PART_FILES:%.xml=$(HTMLDIR)/%.html) INFO_FILE = ../../info diff --git a/lib/orber/doc/src/ch_contents.xml b/lib/orber/doc/src/ch_contents.xml index 65383805b3..602955764d 100644 --- a/lib/orber/doc/src/ch_contents.xml +++ b/lib/orber/doc/src/ch_contents.xml @@ -112,8 +112,8 @@ A concise history of Orber.</p> <title>IDL to Erlang Mapping</title> <p>The OMG IDL mapping for Erlang, which is necessary to access the functionality of Orber, is described, The mapping structure is - included as the\011basic and the constructed OMG IDL types - references, invocations\011and Erlang characteristics. An example is + included as the basic and the constructed OMG IDL types + references, invocations and Erlang characteristics. An example is also provided.</p> </section> diff --git a/lib/orber/doc/src/ch_example.xml b/lib/orber/doc/src/ch_example.xml index d4cc5ceddc..f2ccfcc7e1 100644 --- a/lib/orber/doc/src/ch_example.xml +++ b/lib/orber/doc/src/ch_example.xml @@ -45,7 +45,7 @@ <title>Generating Erlang Code</title> <p>Run the IDL compiler on this file by calling the <c>ic:gen/1</c> function </p> <code type="erl"> -\0111> ic:gen("stack"). + 1> ic:gen("stack"). </code> <p>This will produce the client stub and server skeleton. Among other files a stack API module named <c>StackModule_Stack.erl</c> will be produced. diff --git a/lib/orber/doc/src/ch_idl_to_erlang_mapping.xml b/lib/orber/doc/src/ch_idl_to_erlang_mapping.xml index 0e2b049ab9..a97ad65f0e 100644 --- a/lib/orber/doc/src/ch_idl_to_erlang_mapping.xml +++ b/lib/orber/doc/src/ch_idl_to_erlang_mapping.xml @@ -286,15 +286,15 @@ typedef string<10> myString10; typedef wstring<10> myWString10; ]]></code> <p>If we want to define a char/string or wchar/wstring constant, we can - use octal (\\OOO - one, two or three octal digits), - hexadecimal (\\xHH - one or two hexadecimal digits) and unicode (\\uHHHH - + use octal (\OOO - one, two or three octal digits), + hexadecimal (\xHH - one or two hexadecimal digits) and unicode (\uHHHH - one, two, three or four hexadecimal digits.) representation as well. For example:</p> <code type="none"> -const string SwedensBestSoccerTeam = "\\101" "\\x49" "\\u004B"; -const wstring SwedensBestHockeyTeam = L"\\101\\x49\\u004B"; -const char aChar = '\\u004B'; -const wchar aWchar = L'\\u004C'; +const string SwedensBestSoccerTeam = "\101" "\x49" "\u004B"; +const wstring SwedensBestHockeyTeam = L"\101\x49\u004B"; +const char aChar = '\u004B'; +const wchar aWchar = L'\u004C'; </code> <p>Naturally, we can use <c>"Erlang"</c>, <c>L"Rocks"</c>, <c>'A'</c> and <c>L'A'</c> as well.</p> @@ -697,14 +697,14 @@ module DB { module x { struct y_z { -\011... + ... }; interface y { -\011struct z { -\011 ... -\011}; + struct z { + ... + }; }; }; </code> @@ -815,7 +815,7 @@ module m { const float pi = 3.14; interface i { -\011const float pi = 3.1415; + const float pi = 3.1415; }; }; </code> @@ -1036,19 +1036,19 @@ $> erlc +"{be,erl_template}" DB.idl %% Description: %%---------------------------------------------------------------------- logon(State, ID, PW) -> -\011%% Check if the ID/PW is valid and what -\011%% type of user it is (Common or Administrator). -\011OE_Reply + %% Check if the ID/PW is valid and what + %% type of user it is (Common or Administrator). + OE_Reply = case check_user(ID, PW) of -\011 {ok, administrator} -> -\011 'DB_Administrator':oe_create(); -\011 {ok, common} -> -\011 'DB_CommonUser':oe_create(); -\011 error -> -\011 %% Here we should throw an exception - \011 corba:raise(....) + {ok, administrator} -> + 'DB_Administrator':oe_create(); + {ok, common} -> + 'DB_CommonUser':oe_create(); + error -> + %% Here we should throw an exception + corba:raise(....) end, -\011{reply, OE_Reply, State}. + {reply, OE_Reply, State}. %%====================================================================== %% Internal Functions @@ -1064,7 +1064,7 @@ logon(State, ID, PW) -> %% Description: Initiates the server %%---------------------------------------------------------------------- init(_Env) -> -\011{ok, #state{}}. + {ok, #state{}}. %%---------------------------------------------------------------------- @@ -1076,7 +1076,7 @@ init(_Env) -> %% Description: Invoked when the object is terminating. %%---------------------------------------------------------------------- terminate(_Reason, _State) -> -\011ok. + ok. %%---------------------------------------------------------------------- @@ -1090,7 +1090,7 @@ terminate(_Reason, _State) -> %% due to code replacement. %%---------------------------------------------------------------------- code_change(_OldVsn, State, _Extra) -> -\011{ok, State}. + {ok, State}. %%---------------------------------------------------------------------- @@ -1104,7 +1104,7 @@ code_change(_OldVsn, State, _Extra) -> %% Description: Invoked when, for example, the server traps exits. %%---------------------------------------------------------------------- handle_info(_Info, State) -> -\011{noreply, State}. + {noreply, State}. ]]></code> <p>Since <c>DB_Administrator</c> inherits from <c>DB_CommonUser</c>, we must implement <c>delete</c> in the <c>DB_Administrator_impl.erl</c> @@ -1421,11 +1421,11 @@ interface i { </row> <row> <cell align="left" valign="middle">{tk_objref, IFRId, Name}</cell> - <cell align="left" valign="middle">{tk_objref, "IDL:M1\\I1:1.0", "I1"}</cell> + <cell align="left" valign="middle">{tk_objref, "IDL:M1\I1:1.0", "I1"}</cell> </row> <row> <cell align="left" valign="middle">{tk_struct, IFRId, Name, [{ElemName, ElemTC}]}</cell> - <cell align="left" valign="middle">{tk_struct, "IDL:M1\\S1:1.0", "S1", [{"a", tk_long}, {"b", tk_char}]}</cell> + <cell align="left" valign="middle">{tk_struct, "IDL:M1\S1:1.0", "S1", [{"a", tk_long}, {"b", tk_char}]}</cell> </row> <row> <cell align="left" valign="middle">{tk_union, IFRId, Name, DiscrTC, DefaultNr, [{Label, ElemName, ElemTC}]} <br></br> diff --git a/lib/orber/doc/src/ch_install.xml b/lib/orber/doc/src/ch_install.xml index eee2b99c92..ab5885954b 100644 --- a/lib/orber/doc/src/ch_install.xml +++ b/lib/orber/doc/src/ch_install.xml @@ -483,7 +483,7 @@ nodeB@hostB> orber:start(). <item>Since Orber domains, they are supposed to communicate via IIOP, <em>MUST</em> have unique names, communication will fail if two domains have the same name. The domain name <em>MAY NOT</em> - contain <c>^G</c> (i.e. <c>\\007</c>).</item> + contain <c>^G</c> (i.e. <c>\007</c>).</item> <tag><em>iiop_port</em></tag> <item>If set to 0 the OS will pick any vacant port. <br></br> @@ -595,7 +595,7 @@ nodeB@hostB> orber:start(). the <c>interceptors</c> parameter.</item> <tag><em>orbInitRef</em></tag> <item>Setting this option, e.g., - <c>erl -orber orbInitRef [\\"NameService=corbaloc::host.com/NameService\\"]</c>, + <c>erl -orber orbInitRef [\"NameService=corbaloc::host.com/NameService\"]</c>, will alter the location from where <c>corba:resolve_initial_references(Key)</c> tries to find an object matching the given Key. The keys will also appear when invoking <c>corba:list_initial_services()</c>. This variable overrides @@ -605,7 +605,7 @@ nodeB@hostB> orber:start(). found, and this variable is set, it determines the location from where <c>orber:resolve_initial_references(Key)</c> tries to find an object matching the given Key. Usage: - <c>erl -orber orbDefaultInitRef \\"corbaloc::host.com\\"</c>.</item> + <c>erl -orber orbDefaultInitRef \"corbaloc::host.com\"</c>.</item> <tag><em>orber_debug_level</em></tag> <item>The range is 0 to 10. Using level 10 is the most verbose configuration. diff --git a/lib/orber/doc/src/ch_interceptors.xml b/lib/orber/doc/src/ch_interceptors.xml index 27b254c4bf..af8c5a45f1 100644 --- a/lib/orber/doc/src/ch_interceptors.xml +++ b/lib/orber/doc/src/ch_interceptors.xml @@ -188,17 +188,17 @@ out_reply_encoded({ObjTable, ChecksumModule}, ObjKey, Ctx, Op, Bin, Extra) -> %% Interceptor functions. -export([new_out_connection/3, -\011 new_in_connection/3, -\011 closed_in_connection/1, -\011 closed_out_connection/1, -\011 in_request_encoded/6, -\011 in_reply_encoded/6, -\011 out_reply_encoded/6, -\011 out_request_encoded/6, -\011 in_request/6, -\011 in_reply/6, -\011 out_reply/6, -\011 out_request/6]). + new_in_connection/3, + closed_in_connection/1, + closed_out_connection/1, + in_request_encoded/6, + in_reply_encoded/6, + out_reply_encoded/6, + out_request_encoded/6, + in_request/6, + in_reply/6, + out_reply/6, + out_request/6]). new_in_connection(Arg, Host, Port) -> %% Since we only use one interceptor we do not care about the diff --git a/lib/orber/doc/src/ch_naming_service.xml b/lib/orber/doc/src/ch_naming_service.xml index 510ccf2543..5cc50d95ec 100644 --- a/lib/orber/doc/src/ch_naming_service.xml +++ b/lib/orber/doc/src/ch_naming_service.xml @@ -116,7 +116,7 @@ Figure 1: Contextual object relationships using the Naming Service.</icaption> <p>In order to use the naming service you have to fetch an initial reference to it. This is done with:</p> <code type="none"> -\011NS = corba:resolve_initial_references("NameService"). +NS = corba:resolve_initial_references("NameService"). </code> <note> <p>NS in the other use-cases refers to this initial reference.</p> @@ -208,17 +208,17 @@ Sc = corba:string_to_object("corbaname:rir:/NameService#workgroup/services/"). {BList, BIterator} = 'CosNaming_NamingContext':list(Sc, 10). lists:foreach(fun({{Id, Kind},BindingType}) -> case BindingType of -\011nobject -> -\011\011io:format("id: %s, kind: %s, type: object~n", [Id, Kind]); -\011 _ -> -\011\011io:format("id: %s, kind: %s, type: ncontext~n", [Id, Kind]) -\011end end, -\011Blist). + nobject -> + io:format("id: %s, kind: %s, type: object~n", [Id, Kind]); + _ -> + io:format("id: %s, kind: %s, type: ncontext~n", [Id, Kind]) + end end, + Blist). </code> </item> </list> <note> - <p>Normally a <term id="BindingIterator"><termdef>The binding iterator (Like a book mark) indicates which objects have been read from the list.</termdef></term>is helpful in situations where you have a large\011number of objects + <p>Normally a <term id="BindingIterator"><termdef>The binding iterator (Like a book mark) indicates which objects have been read from the list.</termdef></term>is helpful in situations where you have a large number of objects in a list, as the programmer then can traverse it more easily. In Erlang it is not needed, because lists are easily handled in the language itself.</p> @@ -427,7 +427,7 @@ lists:foreach(fun({{Id, Kind},BindingType}) -> case BindingType of <cell align="left" valign="middle">An Id with a trailing '.' is not allowed.</cell> </row> <row> - <cell align="left" valign="middle">"i\\\\/d1/i\\\\.d2"</cell> + <cell align="left" valign="middle">"i\\/d1/i\\.d2"</cell> <cell align="left" valign="middle">[{"i/d1",""},{"i.d2",""}]</cell> <cell align="left" valign="middle">Since '.' and '/' are used to separate the components, these tokens must be escaped to be correctly converted.</cell> </row> diff --git a/lib/orber/doc/src/corba.xml b/lib/orber/doc/src/corba.xml index 6c89279733..cae0e09b0b 100644 --- a/lib/orber/doc/src/corba.xml +++ b/lib/orber/doc/src/corba.xml @@ -99,9 +99,8 @@ <em>MAY ONLY</em> be used during testing and development.</p> <code type="none"> Example: -\011 - corba:create('StackModule_Stack', "IDL:StackModule/Stack:1.0", -\011 {10, test}) + + corba:create('StackModule_Stack', "IDL:StackModule/Stack:1.0", {10, test}) </code> </desc> </func> diff --git a/lib/orber/doc/src/notes.xml b/lib/orber/doc/src/notes.xml index 08bbf4b29c..1185b7658f 100644 --- a/lib/orber/doc/src/notes.xml +++ b/lib/orber/doc/src/notes.xml @@ -33,6 +33,24 @@ </header> <section> + <title>Orber 3.6.15</title> + + <section> + <title>Fixed Bugs and Malfunctions</title> + <list type="bulleted"> + <item> + <p>Removed superfluous VT in the documentation.</p> + <p>Own id: OTP-8353 Aux Id:</p> + </item> + <item> + <p>Removed superfluous backslash in the documentation.</p> + <p>Own id: OTP-8354 Aux Id:</p> + </item> + </list> + </section> + </section> + + <section> <title>Orber 3.6.14</title> <section> @@ -403,8 +421,6 @@ </item> </list> </section> - <!-- p>For information about older versions see - <url href="part_notes_history_frame.html">release notes history</url>.</p --> </section> </chapter> diff --git a/lib/orber/doc/src/notes_history.xml b/lib/orber/doc/src/notes_history.xml deleted file mode 100644 index b493f0e379..0000000000 --- a/lib/orber/doc/src/notes_history.xml +++ /dev/null @@ -1,1523 +0,0 @@ -<?xml version="1.0" encoding="latin1" ?> -<!DOCTYPE chapter SYSTEM "chapter.dtd"> - -<chapter> - <header> - <copyright> - <year>2004</year><year>2009</year> - <holder>Ericsson AB. All Rights Reserved.</holder> - </copyright> - <legalnotice> - 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. - - </legalnotice> - - <title>Orber Release Notes History</title> - <prepared></prepared> - <responsible></responsible> - <docno></docno> - <approved></approved> - <checked></checked> - <date>99-02-12</date> - <rev>A</rev> - </header> - - <section> - <title>Orber 3.5.4</title> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>In some cases, it was possible for a user to delete the - NameService root context.</p> - <p>Own Id: OTP-5202</p> - </item> - <item> - <p>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.</p> - <p>Own Id: OTP-5526</p> - </item> - </list> - </section> - </section> - - <section> - <title>Orber 3.5.3</title> - - <section> - <title>Improvements and New Features</title> - <list type="bulleted"> - <item> - <p>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.</p> - <p>Own id: OTP-5129</p> - </item> - </list> - </section> - </section> - - <section> - <title>Orber 3.5.2</title> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>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.</p> - <p>Own id: OTP-5105</p> - </item> - <item> - <p>The INS corbaloc/corbaname URL:s did only accept DNS style host - names. Now it is also possible to use, none compressed, IPv6 - addresses.</p> - <p>Own id: OTP-5108</p> - </item> - <item> - <p>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.</p> - <p>Own id: OTP-5109</p> - </item> - <item> - <p>Orber used external operations not exported in R9B.</p> - <p>Own id: OTP-5111</p> - </item> - </list> - </section> - </section> - - <section> - <title>Orber 3.5.1</title> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>When using Light IFR it was not possible unregister data - (i.e., invoking 'MyModule':oe_unregister()). - Introduced in Orber-3.5.0.1.</p> - <p>Own id: OTP-5034</p> - </item> - </list> - </section> - </section> - - <section> - <title>Orber 3.5.0.1</title> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>orber_ifr:contents/3 always returned an empty list when using - Light IFR. Little or no effect.</p> - <p>Own id: OTP-5018</p> - </item> - </list> - </section> - </section> - - <section> - <title>Orber 3.5</title> - - <section> - <title>Improvements and New Features</title> - <list type="bulleted"> - <item> - <p>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.</p> - <p>Own id: OTP-4698</p> - </item> - <item> - <p>A new module called <c>orber_diagnostics</c> have been added, which - is intended to aid a user during the test and development phase. - For more information, see the reference manual.</p> - <p>Own id: OTP-4699</p> - </item> - <item> - <p><c>IPv6</c> supported.</p> - <p>Own id: OTP-4937</p> - </item> - <item> - <p>Possible to configure Orber so that exported IOR:s contain - multiple IIOP components for different interfaces.</p> - <p>Own id: OTP-4938</p> - </item> - <item> - <p>Improved typechecking of typecode supplied to the operations - <c>orber_tc:check_tc/1</c>, <c>any:create/2</c> and - <c>any:set_typecode/2</c>.</p> - <p>Own id: OTP-4939</p> - </item> - <item> - <p>Server objects can now be started as EXIT tolerant.</p> - <p>Own id: OTP-4940</p> - </item> - <item> - <p>Possible to use interceptors for local invocations as well.</p> - <p>Own id: OTP-4941</p> - </item> - <item> - <p>If the IFR is not explicitly used, Orber can be configured - to use a minimal IFR to reduce memory usage and installation - time.</p> - <p>Own id: OTP-5001</p> - </item> - <item> - <p>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.</p> - <p>Own id: OTP-5002</p> - </item> - <item> - <p>The operation <c>orber:iiop_connections/0</c> now also include - incoming connections.</p> - <p>Own id: OTP-5004</p> - </item> - <item> - <p>The function <c>orber:add_node/2</c> now accepts more options.</p> - <p>Own id: OTP-5006</p> - </item> - <item> - <p>The module <c>orber_diagnostics</c> now exports a function - which list missing modules generated by IC and required by - Orber.</p> - <p>Own id: OTP-5007</p> - </item> - </list> - </section> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>Orber's NameService did not return a NIL object reference if the total - number of existing bindings was less than, or equal to, - the <c>HowMany</c> parameter passed to - <c>'CosNaming_NamingContext':list/2</c> operation. This have now been - changed to be compliant with the OMG standard. Furthermore, the operation - <c>'CosNaming_BindingIterator':next_n/2</c> did not handle the index - correctly in all situations.</p> - <p>Own id: OTP-4700</p> - </item> - <item> - <p>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.</p> - <p>Own id: OTP-5003</p> - </item> - </list> - </section> - - <section> - <title>Incompatibilities</title> - <list type="bulleted"> - <item> - <p>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.</p> - </item> - <item> - <p>Since the OMG has defined a default port number (2809), - Orber no longer support the bootstrap port.</p> - <p>Own id: OTP-5005</p> - </item> - </list> - </section> - </section> - - <section> - <title>Orber 3.4.2.2</title> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>Due to IFR DB lock mechanisms, concurrent creation - of non-anonymous IFR types could still result in duplicated - entries.</p> - <p>Own id: OTP-4781</p> - </item> - </list> - </section> - </section> - - <section> - <title>Orber 3.4.2.1</title> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>The operation <c>orber:start()</c> could return before - all Mnesia tables were accessible.</p> - <p>Own id: OTP-4780</p> - </item> - <item> - <p>Concurrent creation of non-anonymous IFR types - could result in duplicates in the DB.</p> - <p>Own id: OTP-4781</p> - </item> - </list> - </section> - </section> - - <section> - <title>Orber 3.4.2</title> - - <section> - <title>Improvements and New Features</title> - <list type="bulleted"> - <item> - <p>Improved type tests for string, wide string and sequence when - passed via IIOP.</p> - <p>Own id: OTP-4759</p> - </item> - <item> - <p>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.</p> - <p>Own id: OTP-4655</p> - </item> - </list> - </section> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>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.</p> - <p>Own id: OTP-4656</p> - </item> - <item> - <p>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.</p> - <p>Own id: OTP-4657</p> - </item> - </list> - </section> - - <section> - <title>Incompatibilities</title> - <list type="bulleted"> - <item> - <p>Since strstream is deprecated and not accepted by gcc-3.3, - Orber no longer includes the InitalReference lib. The source - code is still included.</p> - <p>Own id: OTP-4767</p> - </item> - </list> - </section> - </section> - - <section> - <title>Orber 3.4.1</title> - - <section> - <title>Improvements and New Features</title> - <list type="bulleted"> - <item> - <p>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.</p> - <p>Own id: OTP-4608</p> - </item> - </list> - </section> - </section> - - <section> - <title>Orber 3.4</title> - - <section> - <title>Improvements and New Features</title> - <list type="bulleted"> - <item> - <p>If a call-back module illegally caused an EXIT, clients - residing on another ORB was not notified (hanged).</p> - <p>Own id: OTP-4577</p> - </item> - <item> - <p>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.</p> - <p>Own id: OTP-4576</p> - </item> - <item> - <p>It is now possible to configure Orber to use the host name - in exported IOR:s instead of the IP-number.</p> - <p>Own id: OTP-4541</p> - </item> - </list> - </section> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>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.</p> - <p>Own Id: OTP-4542</p> - </item> - <item> - <p>Oneway operations, using a multi-node Orber, failed for inter-node - communication.</p> - <p>Own Id: OTP-4543</p> - </item> - </list> - </section> - </section> - - <section> - <title>Orber 3.3</title> - - <section> - <title>Improvements and New Features</title> - <list type="bulleted"> - <item> - <p>Orber now supports fragmented IIOP messages for 1.2.</p> - <p>Own Id: OTP-4462</p> - </item> - <item> - <p>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 - <c>orber:exception_info/1</c>.</p> - <p>Own Id: OTP-4463</p> - </item> - <item> - <p>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.</p> - <p>Own Id: OTP-4469</p> - </item> - </list> - </section> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>When combining interceptors and oneway operations, Orber - incorrectly sent a MessageError over the connection to the - client ORB.</p> - <p>Own Id: OTP-4460</p> - </item> - <item> - <p>After (2^32)-1 requests, Orber used the request number 0 twice - in a row.</p> - <p>Own Id: OTP-4461</p> - </item> - <item> - <p>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.</p> - <p>Own Id: OTP-4465</p> - </item> - <item> - <p>The default port used for corbaloc and corbaname was - incorrect. Now changed to follow the OMG standard (2809).</p> - <p>Own Id: OTP-4466</p> - </item> - <item> - <p>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).</p> - <p>Own Id: OTP-4472</p> - </item> - <item> - <p>The operation corba:print_object/1/2 did not include host/port - data for IIOP-1.0 IOR:s.</p> - <p>Own Id: OTP-4483</p> - </item> - </list> - </section> - - <section> - <title>Incompatibilities</title> - <list type="bulleted"> - <item> - <p>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.</p> - <p>Own Id: OTP-4465, OTP-4463</p> - </item> - <item> - <p>The default port used for corbaloc and corbaname have been changed - to 2809.</p> - <p>Own Id: OTP-4466</p> - </item> - <item> - <p>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.</p> - <p>Own Id: OTP-4467</p> - </item> - </list> - </section> - </section> - - <section> - <title>Orber 3.2.13</title> - - <section> - <title>Improvements and New Features</title> - <list type="bulleted"> - <item> - <p>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 <c>local_typecheck</c> - option.</p> - <p>Own Id: OTP-4410</p> - </item> - <item> - <p>Due to the success of the pre-compiled IIOP-trace interceptor, a less - verbose trace interceptor, called <c>orber_iiop_tracer_silent</c>, - have been added as well.</p> - <p>Own Id: OTP-4257</p> - </item> - <item> - <p>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 <c>any</c> type.</p> - <p>Own id: OTP-4375</p> - </item> - </list> - </section> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>It was not possible to use the function <c>corba:print_object/2</c>, - which was introduced in the previous release, only - <c>corba:print_object/1</c>. Now it is also possible to use - the <c>error_logger</c> or receive the data in string form.</p> - <p>Own Id: OTP-4376</p> - </item> - <item> - <p>The functions <c>orber_tc:principal</c> and <c>orber_tc:exception</c> - returned incorrect.</p> - <p>Own Id: -</p> - </item> - <item> - <p>The function <c>orber_ifr:get_primitive</c> tried to access a - non-existing (primitivdefs) table.</p> - <p>Own Id: -</p> - </item> - </list> - </section> - </section> - - <section> - <title>Orber 3.2.12</title> - - <section> - <title>Improvements and New Features</title> - <list type="bulleted"> - <item> - <p>Orber now check if an external IOR contains any - TAG_ALTERNATE_IIOP_ADDRESS components when trying to setup - a connection to another ORB.</p> - <p>Own id: OTP-4294</p> - </item> - <item> - <p>It is now possible to add TAG_ALTERNATE_IIOP_ADDRESS components - to a local object reference. See corba:add_alternate_iiop_address/3.</p> - <p>Own id: OTP-4294</p> - </item> - <item> - <p>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.</p> - <p>Own id: OTP-4295</p> - </item> - <item> - <p>The corba module now exports a function, print_object/1/2, which - prints IOR's in a more readable form.</p> - <p>Own id: OTP-4296</p> - </item> - </list> - </section> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>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.</p> - <p>Own Id: OTP-4298</p> - </item> - <item> - <p>When invoking a Locate Request, Orber in some cases did not reply - with a Locate Reply header (used a Reply header).</p> - <p>Own Id: OTP-4293</p> - </item> - </list> - </section> - </section> - - <section> - <title>Orber 3.2.11</title> - - <section> - <title>Improvements and New Features</title> - <list type="bulleted"> - <item> - <p>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.</p> - <p>Own id: OTP-3966</p> - </item> - </list> - </section> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>When looking up Initial Service (e.g. using <c>corbaloc</c>, - <c>corbaname</c> or <c>corba:resolve_initial_references_remote/2</c>) - and communicating via SSL, Orber used the wrong port number.</p> - <p>Own Id: OTP-4264</p> - </item> - </list> - </section> - </section> - - <section> - <title>Orber 3.2.10</title> - - <section> - <title>Improvements and New Features</title> - <list type="bulleted"> - <item> - <p>It is now possible to add new initial references, which can, - for example, be accessed via <c>corba:resolve_initial_references/1</c> - or the <c>corbaloc</c> schema.</p> - <p>Own Id: OTP-4258</p> - </item> - <item> - <p>The orber module now exports functions, <c>iiop_connections</c> - and <c>iiop_connections_pending</c>, which, respectively, list - all currently open connections to other ORB's and connections - which are in process of being set up to another ORB.</p> - <p>Own Id: OTP-4262</p> - </item> - <item> - <p>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 <c>iiop_connection_timeout</c>. 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).</p> - <p>Own Id: OTP-4260</p> - </item> - <item> - <p>One can now install Orber's NameService as disc_copies, but - the default behavior is that Orber uses ram_copies.</p> - <p>Own Id: OTP-4259</p> - </item> - <item> - <p>A pre-compiled IIOP-trace interceptor is now - included in the Orber release. For more information, - see the <c>Debugging</c> chapter in the User's Guide.</p> - <p>Own Id: OTP-4257</p> - </item> - <item> - <p>It is now possible to set Orber's configuration parameters - in, for example, an Erlang shell. Consult <c>corba:orb_init/1</c> and - <c>orber:configure/2</c>.</p> - <p>Own Id: OTP-4261</p> - </item> - <item> - <p>The Orber release now include <c>OrberWeb</c>, which is an extension of - the <c>WebTool</c> application (first released in R8B). Hence, - <c>WebTool</c> must be installed to enable this feature. For more - information, see the chapter <c>OrberWeb</c> in the User's Guide. - <c>OrberWeb</c> is intended to be used during test and development.</p> - <p>Own Id: OTP-4257</p> - </item> - </list> - </section> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>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 <c>^G</c> (i.e. <c>"\\007"</c>) in the domain name. Due to this - change it is not possible to upgrade during run-time.</p> - <p>Own Id: OTP-4229</p> - </item> - <item> - <p>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.</p> - <p>Own Id: OTP-4230</p> - </item> - <item> - <p>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.</p> - <p>Own Id: OTP-4263</p> - </item> - </list> - </section> - - <section> - <title>Incompatibilities</title> - <list type="bulleted"> - <item> - <p>The encoding/decoding of wchar/wstring when using IIOP-1.2 - have been updated. See above.</p> - <p>Own Id: OTP-4263</p> - </item> - <item> - <p>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.</p> - <p>Own Id: OTP-4256</p> - </item> - </list> - </section> - - <section> - <title>Known bugs and problems</title> - <list type="bulleted"> - <item> - <p><c>OrberWeb</c> only tested with <c>Netscape-4.75</c>. Furthermore, - until <c>WebTool</c> reaches version 1.0 OrberWeb should also - be considered to be a beta version.</p> - <p>Own Id: OTP-4257</p> - </item> - <item> - <p><c>OrberWeb</c> do not escape arguments passed when, for example, - creating a new context. Hence, for now you are recommended to - only use letters.</p> - <p>Own Id: OTP-4257</p> - </item> - </list> - </section> - </section> - - <section> - <title>Orber 3.2.9</title> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>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.</p> - <p>Own Id: OTP-4170</p> - </item> - </list> - </section> - </section> - - <section> - <title>Orber 3.2.8</title> - - <section> - <title>Improvements and New Features</title> - <list type="bulleted"> - <item> - <p>Orber now support interceptors.</p> - <p>Own Id: -</p> - </item> - </list> - </section> - </section> - - <section> - <title>Orber 3.2.7</title> - - <section> - <title>Improvements and New Features</title> - <list type="bulleted"> - <item> - <p>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.</p> - <p>Own Id: OTP-4063</p> - </item> - <item> - <p>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.</p> - <p>Own Id: OTP-4060</p> - </item> - </list> - </section> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>It was not possible to invoke the operation - CosNaming_BindingIterator:next_one via IIOP if no more bindings - existed.</p> - <p>Own id: OTP-4004</p> - </item> - </list> - </section> - </section> - - <section> - <title>Orber 3.2.6</title> - - <section> - <title>Improvements and New Features</title> - <list type="bulleted"> - <item> - <p>Registering data in the IFR overhead reduced.</p> - <p>Own id: OTP-3904</p> - </item> - <item> - <p>The overhead for the function <c>is_a/1</c> have been reduced, which also - affects remote <c>narrow</c> operations for inherited interfaces - (e.g. using Java or C++ ORBs).</p> - <p>Own id: OTP-3904</p> - </item> - <item> - <p>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 <c>net_adm:localhost/0</c> and - <c>inet:getaddr/2</c> return proper values.</p> - <p>Own id: OTP-3966</p> - </item> - </list> - </section> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>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.</p> - <p>Own id: OTP-3992</p> - </item> - </list> - </section> - </section> - - <section> - <title>Orber 3.2.5</title> - - <section> - <title>Improvements and New Features</title> - <list type="bulleted"> - <item> - <p>Orber now defines the configuration variable, - <c>iiop_setup_connection_timeout</c>, which makes it possible to - timeout connection attempts to another ORB before the OS TCP timeout - is activated.</p> - <p>Own id: OTP-3961</p> - </item> - <item> - <p>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 <c>orber_debug_level</c>. - Note, it is not recommended to use this option for delivered systems - since some of the reports is not to be considered as errors.</p> - <p>Own id: OTP-3962</p> - </item> - <item> - <p>Orber now accepts a list of addresses as value for the configuration - parameter <c>orbInitRef</c>.</p> - <p>Own id: OTP-3945</p> - </item> - <item> - <p>Orber now includes services defined by the configuration parameter - <c>orbInitRef</c> when invoking <c>corba:list_initial_services/0</c>.</p> - <p>Own id: OTP-3946</p> - </item> - </list> - </section> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>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 <c>NamingContexts</c>. - Orber no longer add these contexts.</p> - <p>Own id: OTP-3943</p> - </item> - <item> - <p>Orber accessed <c>corbaloc</c> addresses in reverse order. Now fixed.</p> - <p>Own id: OTP-3944</p> - </item> - </list> - </section> - - <section> - <title>Incompatibilities</title> - <list type="bulleted"> - <item> - <p>When installing Orber no default <c>NamingContext's</c>, i.e., - <c>host</c>, <c>hosts</c>, <c>resources</c>, <c>development</c>, - <c>factories</c> and <c>workgroup</c>, will be added. These contexts - was defined in a cancelled specification.</p> - <p>Own id: OTP-3942</p> - </item> - <item> - <p><c>corbaloc</c> addresses are now accessed in FIFO order (instead of - LIFO).</p> - <p>Own id: OTP-3944</p> - </item> - </list> - </section> - </section> - - <section> - <title>Orber 3.2.4</title> - - <section> - <title>Improvements and New Features</title> - <p>-</p> - </section> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>When communicating via IIOP using version 1.2 Orber used incorrect - offset for reply bodies containing system exceptions, exceptions and - location forward.</p> - <p>Own id: OTP-3912</p> - </item> - <item> - <p>Orber did not return correct IFR Id:s when raising system exceptions - via IIOP.</p> - <p>Own id: OTP-3911</p> - </item> - <item> - <p>If two different processes concurrently manipulated a - <c>CosNaming::NamingContext</c> 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.</p> - <p>Own id: OTP-3910</p> - </item> - </list> - </section> - - <section> - <title>Incompatibilities</title> - <list type="bulleted"> - <item> - <p>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 <c>orber:stop()</c>, load new version and - restart Orber by invoking <c>orber:start()</c>.</p> - <p>Own id: OTP-3911</p> - </item> - </list> - </section> - </section> - - <section> - <title>Orber 3.2.3</title> - - <section> - <title>Improvements and New Features</title> - <list type="bulleted"> - <item> - <p>Improved performance for all types, simple and complex, when - communicating via IIOP. It is not possible to upgrade during - runtime. Use <c>orber:stop()</c>, load new version and restart - Orber by invoking <c>orber:start()</c>.</p> - <p>Own id: OTP-3905</p> - </item> - </list> - </section> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>If a pseudo object raises an exception or exits the exception - was only returned, not thrown.</p> - <p>Own id: OTP-3907</p> - </item> - <item> - <p>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.</p> - <p>Own id: OTP-3899</p> - </item> - </list> - </section> - </section> - - <section> - <title>Orber 3.2.2</title> - - <section> - <title>Improvements and New Features</title> - <list type="bulleted"> - <item> - <p>The behavior of Orber when receiving unsupported or incorrect - messages have now been improved.</p> - <p>Own id: OTP-3903</p> - </item> - <item> - <p>Time consumed by <c>oe_MyModule:oe_register()</c> decreased.</p> - <p>Own id: OTP-3904</p> - </item> - </list> - </section> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>When Orber received a 'location_forward' reply, the result - from the second invocation was never delivered to the - client. Now fixed.</p> - <p>Own id: OTP-3814</p> - </item> - </list> - </section> - </section> - - <section> - <title>Orber 3.2.1</title> - - <section> - <title>Improvements and New Features</title> - <list type="bulleted"> - <item> - <p>It is now possible to use external <c>NamingContexts</c> - when, for example, using - <c>'CosNaming_NamingContextExt':bind_context/3</c>.</p> - <p>Own id: OTP-3902</p> - </item> - </list> - </section> - </section> - - <section> - <title>Orber 3.2</title> - - <section> - <title>Improvements and New Features</title> - <list type="bulleted"> - <item> - <p>Orber now supports IIOP-version 1.2.</p> - <p>Own id: OTP-3901</p> - </item> - <item> - <p>Improved encoding and decoding performance for IIOP requests containing - <c>struct</c>, <c>union</c> or user defined <c>exceptions</c>.</p> - <p>Own id: OTP-3900</p> - </item> - </list> - </section> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>Setting the <c>bootstrap_port</c> configuration parameter to a value - less than 1024 made it impossible to start Orber properly. - Now fixed.</p> - <p>Own id: OTP-3898</p> - </item> - </list> - </section> - </section> - - <section> - <title>Orber 3.1.8</title> - - <section> - <title>Improvements and New Features</title> - <list type="bulleted"> - <item> - <p>Orber now accepts <c>Indirection/Repeated</c><c>CORBA::TypeCode</c> as input and/or - return value when communicating via IIOP.</p> - <p>Own id: -</p> - </item> - </list> - </section> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>When another ORB replied with <c>location forward</c> Orber - failed to decode this. Now fixed.</p> - <p>Own id: OTP-3709</p> - </item> - <item> - <p>Orber failed to encode <c>CORBA::TypeCode</c> containing <c>tk_alias</c>, e.g., - sending an <c>#any{}</c> which encapsulates data defined by <c>typedef</c>.</p> - <p>Own id: OTP-3689</p> - </item> - </list> - </section> - </section> - - <section> - <title>Orber 3.1.7</title> - - <section> - <title>Improvements and New Features</title> - <list type="bulleted"> - <item> - <p>Earlier, Orber did not use the IIOP/GIOP version specified - in an external object key when invoking an intra-ORB request.</p> - <p>Own id: OTP-3663</p> - </item> - <item> - <p>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.</p> - <p>Own id: OTP-3664</p> - </item> - <item> - <p>The OMG have redefined the operator, used when encoding requests via IIOP, - for the function <c>corba_object:non_existent/1</c>. 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 - (<c>_non_existent</c> instead of <c>_not_existent</c>). Orber accepts - both versions.</p> - <p>Own id: OTP-3679</p> - </item> - </list> - </section> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>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.</p> - <p>Own id: OTP-3678</p> - </item> - <item> - <p>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.</p> - <p>Own id: OTP-3665</p> - </item> - </list> - </section> - - <section> - <title>Incompatibilities</title> - <list type="bulleted"> - <item> - <p>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.</p> - <p>Own id: OTP-3666</p> - </item> - <item> - <p>The function <c>corba_object:non_existent/1</c> 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 - <c>corba_object:not_existent/1</c> allow users to use the old standard. - Consult the ORB vendor's documentation to decide which function to use.</p> - <p>Own id: OTP-3679</p> - </item> - </list> - </section> - </section> - - <section> - <title>Orber 3.1.6</title> - - <section> - <title>Improvements and New Features</title> - <list type="bulleted"> - <item> - <p>Cosmetic update of internal functions.</p> - <p>Own id: -</p> - </item> - </list> - </section> - </section> - - <section> - <title>Orber 3.1.5</title> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>When decoding TypeCode for an object reference, e.g., as a part of - an #any{}, Orber failed. This is no longer the case. </p> - <p>Own id: OTP-3631</p> - </item> - </list> - </section> - </section> - - <section> - <title>Orber 3.1.4</title> - - <section> - <title>Improvements and New Features</title> - <list type="bulleted"> - <item> - <p>The function <c>start_lightweight/1</c> have been added to the - <c>orber</c> module. This function allow us to start orber as - lightweight without, or override, the configuration parameter - <c>-orber lightweight</c>.</p> - <p>Own id: -</p> - </item> - <item> - <p>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.</p> - <p>Own id: -</p> - </item> - <item> - <p>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.</p> - <p>Own id: -</p> - </item> - <item> - <p>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.</p> - <p>Own id: -</p> - </item> - </list> - </section> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>If a client-side ORB terminated the IIOP connection immediately there - was a possibility that the server responsible detecting this did not.</p> - <p>Own id: OTP-3593</p> - </item> - <item> - <p>Setting the configuration parameter 'iiop_timeout' did not result in a - correct behavior, i.e., no timeout triggered.</p> - <p>Own id: OTP-3555</p> - </item> - </list> - </section> - - <section> - <title>Incompatibilities</title> - <list type="bulleted"> - <item> - <p>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.</p> - </item> - </list> - </section> - </section> - - <section> - <title>Orber 3.1.3</title> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>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.</p> - <p>Own id: OTP-3514</p> - </item> - <item> - <p>When passing Object references over IIOP, decoding local references could - fail. Now fixed.</p> - <p>Own id: OTP-3515</p> - </item> - </list> - </section> - </section> - - <section> - <title>Orber 3.1.2</title> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>Previously the OMG have published two suggestions for <c>Interoperable Name Service</c>, - of which, the <c>CORBA 3</c> specify <c>orbos/98-10-11</c> to be implemented. - Unfortunately, the Interoperable Name Service Orber supports, is the one not chosen. - Hence, the <c>InitialReferences.idl</c> will not be according to the future standard. - The modules name is now changed from <c>CORBA</c> to <c>Orber</c>. This will affect - code which are using this interface. The idl specification must be recompiled and - then <c>CORBA</c> must be changed to <c>Orber</c> in the client.</p> - <p>Own id: OTP-3468, OTP-3155</p> - </item> - <item> - <p>Now possible to run oe_unregister when the IDL-specification contains - exceptions correctly.</p> - <p>Own Id: OTP-3447</p> - </item> - <item> - <p>Now possible to run oe_unregister when the IDL-specification contains - attributes.</p> - <p>Own Id: OTP-3439</p> - </item> - </list> - </section> - - <section> - <title>Incompatibilities</title> - <p>The change in <c>InitialReferences.idl</c> to clash with the Corba standard implies changes - in code that use this interface. See the OTP-3468 and OTP-3155 in the <c>Fixed Bugs and Malfunctions</c> - chapter above.</p> - </section> - </section> - - <section> - <title>Orber 3.1.1</title> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>When introducing the configuration parameter <c>ip_address</c> - it was no longer possible to have the same default behavior - as before. Now fixed.</p> - <p>Own Id: OTP-3431</p> - </item> - <item> - <p>The internal request number handling never checked if maximum reached. - Now the counter restart at 0 after reaching max.</p> - <p>Own Id: OTP-3415</p> - </item> - <item> - <p>Orber did not handle locate-requests correctly, i.e., not able to - recognize the new internal representation of object references.</p> - <p>Own Id: OTP-3414</p> - </item> - </list> - </section> - </section> - - <section> - <title>Orber 3.1</title> - - <section> - <title>Improvements and New Features</title> - <list type="bulleted"> - <item> - <p>It is now possible to start Orber as lightweight.</p> - <p>Own Id: -</p> - </item> - <item> - <p>It is now possible to create pseudo objects, i.e., not server objects.</p> - <p>Own Id: -</p> - </item> - <item> - <p>One new system exception introduced; 'BAD_QOS'.</p> - <p>Own Id: -</p> - </item> - <item> - <p>Orber now supports the types 'long long' and 'unsigned long long'</p> - <p>Own Id: -</p> - </item> - </list> - </section> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>Encoding typecode for complex exceptions (non-empty body) was not done - correctly.</p> - <p>Own Id: OTP-3390</p> - </item> - <item> - <p>orber_iiop_pm crashed when it received an 'EXIT'. Now fixed.</p> - <p>Own Id: OTP-3391</p> - </item> - </list> - </section> - </section> - - <section> - <title>Orber 3.0.1</title> - - <section> - <title>Improvements and New Features</title> - <list type="bulleted"> - <item> - <p>Orber is now able to handle upgrade properly.</p> - <p>Own Id: -</p> - </item> - </list> - </section> - </section> - - <section> - <title>Orber 3.0</title> - - <section> - <title>Improvements and New Features</title> - <list type="bulleted"> - <item> - <p>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.</p> - <p>Own Id: OTP-1510</p> - </item> - <item> - <p>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.</p> - <p>Own Id: -</p> - </item> - <item> - <p>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 <c>objectkeys_gc_time</c> configuration parameter.</p> - <p>Own Id: -</p> - </item> - <item> - <p>The service CosEvent has been removed from orber and become its own application, called cosEvent.</p> - <p>Own Id: -</p> - </item> - <item> - <p>The service CosTransactions is now available as a separate application, called cosTransactions.</p> - <p>Own Id: OTP-1741</p> - </item> - <item> - <p>Three new system exceptions, 'TRANSACTION_REQUIRED', 'TRANSACTION_ROLLEDBACK' - and 'INVALID_TRANSACTION', introduced. Required by the cosTransactions application.</p> - <p>Own Id: -</p> - </item> - <item> - <p>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.</p> - <p>Own Id: OTP-3294</p> - </item> - </list> - </section> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>set- and get-operations for the 'any'-module now behaves properly.</p> - <p>Own Id: OTP-3355</p> - </item> - <item> - <p>Orber can now handle IORs which contain more than one "Tagged Profile".</p> - <p>Own Id: OTP-3266</p> - </item> - </list> - </section> - - <section> - <title>Incompatibilities</title> - <list type="bulleted"> - <item> - <p>CosEvent include paths have changed since it is now a separate application, called cosEvent.</p> - </item> - <item> - <p>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.</p> - </item> - <item> - <p>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.</p> - </item> - </list> - </section> - </section> -</chapter> - diff --git a/lib/orber/doc/src/orber.xml b/lib/orber/doc/src/orber.xml index da5fd05f98..05036667cc 100644 --- a/lib/orber/doc/src/orber.xml +++ b/lib/orber/doc/src/orber.xml @@ -558,7 +558,7 @@ <desc> <p>This function installs all the necessary mnesia tables and load default data in some of them. If one or more Orber tables - already exists the installation fails. The function\011 + already exists the installation fails. The function <em>uninstall</em> may be used, if it is safe, i.e., no other application is running Orber.</p> <p>Preconditions:</p> diff --git a/lib/orber/doc/src/part_notes.xml b/lib/orber/doc/src/part_notes.xml index 0ff4453d8c..10b3a64373 100644 --- a/lib/orber/doc/src/part_notes.xml +++ b/lib/orber/doc/src/part_notes.xml @@ -30,8 +30,6 @@ <description> <p>The Orber Application is an Erlang implementation of a CORBA Object Request Broker.</p> - <p>For information about older versions see - <url href="part_notes_history_frame.html">release notes history</url>.</p> </description> <xi:include href="notes.xml"/> </part> diff --git a/lib/orber/doc/src/part_notes_history.xml b/lib/orber/doc/src/part_notes_history.xml deleted file mode 100644 index 624865014e..0000000000 --- a/lib/orber/doc/src/part_notes_history.xml +++ /dev/null @@ -1,38 +0,0 @@ -<?xml version="1.0" encoding="latin1" ?> -<!DOCTYPE part SYSTEM "part.dtd"> - -<part> - <header> - <copyright> - <year>2004</year> - <year>2007</year> - <holder>Ericsson AB, All Rights Reserved</holder> - </copyright> - <legalnotice> - 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. - - The Initial Developer of the Original Code is Ericsson AB. - </legalnotice> - - <title>Orber Release Notes History</title> - <prepared>Niclas Eklund</prepared> - <docno></docno> - <date>2004-09-15</date> - <rev>1.0</rev> - </header> - <description> - <p>The Orber Application is an Erlang implementation of a CORBA Object - Request Broker.</p> - </description> - <include file="notes_history"></include> -</part> - diff --git a/lib/orber/vsn.mk b/lib/orber/vsn.mk index 8ccdc9792c..ccba631fb5 100644 --- a/lib/orber/vsn.mk +++ b/lib/orber/vsn.mk @@ -1,7 +1,10 @@ -ORBER_VSN = 3.6.14 +ORBER_VSN = 3.6.15 -TICKETS = OTP-8201 +TICKETS = OTP-8353 \ + OTP-8354 + +TICKETS_3.6.14 = OTP-8201 TICKETS_3.6.13 = OTP-7987 diff --git a/lib/ssh/doc/src/Makefile b/lib/ssh/doc/src/Makefile index d2907a39d7..e02f04e7ad 100644 --- a/lib/ssh/doc/src/Makefile +++ b/lib/ssh/doc/src/Makefile @@ -53,8 +53,8 @@ XML_REF3_FILES = \ ssh_sftp.xml \ ssh_sftpd.xml \ -XML_PART_FILES = part_notes.xml part_notes_history.xml -XML_CHAPTER_FILES = notes.xml notes_history.xml +XML_PART_FILES = part_notes.xml +XML_CHAPTER_FILES = notes.xml BOOK_FILES = book.xml @@ -70,8 +70,6 @@ EXTRA_FILES = \ $(XML_REF3_FILES:%.xml=$(HTMLDIR)/%.html) \ $(XML_CHAPTER_FILES:%.xml=$(HTMLDIR)/%.html) -# notes_history.html \ - MAN3_FILES = $(XML_REF3_FILES:%.xml=$(MAN3DIR)/%.3) diff --git a/lib/ssh/doc/src/notes.xml b/lib/ssh/doc/src/notes.xml index 54e0cf9059..ef49bb8b3d 100644 --- a/lib/ssh/doc/src/notes.xml +++ b/lib/ssh/doc/src/notes.xml @@ -29,6 +29,19 @@ <file>notes.xml</file> </header> + <section><title>Ssh 1.1.8</title> + + <section><title>Improvements and New Features</title> + <list> + <item> + <p>Old release notes removed.</p> + <p>Own Id: OTP-8356 Aux Id:</p> + </item> + </list> + </section> + + </section> + <section><title>Ssh 1.1.7</title> <section><title>Fixed Bugs and Malfunctions</title> @@ -581,8 +594,6 @@ </list> </section> - <!-- p>For information about older versions see - <url href="part_notes_history_frame.html">release notes history</url>.</p --> </section> </chapter> diff --git a/lib/ssh/doc/src/notes_history.xml b/lib/ssh/doc/src/notes_history.xml deleted file mode 100644 index bfebcd4bf4..0000000000 --- a/lib/ssh/doc/src/notes_history.xml +++ /dev/null @@ -1,737 +0,0 @@ -<?xml version="1.0" encoding="latin1" ?> -<!DOCTYPE chapter SYSTEM "chapter.dtd"> - -<chapter> - <header> - <copyright> - <year>2009</year> - <year>2009</year> - <holder>Ericsson AB, All Rights Reserved</holder> - </copyright> - <legalnotice> - 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. - - The Initial Developer of the Original Code is Ericsson AB. - </legalnotice> - - <title>SSH Release Notes History</title> - <prepared></prepared> - <responsible></responsible> - <docno></docno> - <approved></approved> - <checked></checked> - <date></date> - <rev>A</rev> - <file>notes_history.xml</file> - </header> - - <section><title>Ssh 0.9.9.6</title> - - <section><title>Improvements and New Features</title> - <list> - <item> - <p> - Updated asn1 file due to change in the asn1 compiler. - This has no semantical effect on the ssh application.</p> - <p> - Own Id: OTP-7246</p> - </item> - <item> - <p> - Allows for the option {fd, FD} in listen and connect - calls. The option is passed on to gen_tcp:listen and - gen_tcp:connect</p> - <p> - Own Id: OTP-7247</p> - </item> - </list> - </section> -</section> - - <section><title>Ssh 0.9.9.5</title> - - <section><title>Fixed Bugs and Malfunctions</title> - <list> - <item> - <p> - Putty version 0.60 sends ignore messages, which hanged - the OTP ssh server.</p> - <p> - Own Id: OTP-7076</p> - </item> - <item> - <p> - ssh_cm hanged when connection was closed during - handshake. (Triggered by putty 0.60 client.)</p> - <p> - Own Id: OTP-7089</p> - </item> - <item> - <p> - Fixed crash in server when receiving an empty ignore-msg. - (From the putty 0.60 client.)</p> - <p> - Own Id: OTP-7135</p> - </item> - </list> - </section> - - - <section><title>Improvements and New Features</title> - <list> - <item> - <p> - Now uses the base 64 encode/decode function in stdlib.</p> - <p> - Own Id: OTP-6486</p> - </item> - <item> - <p> - Removed runtime dependency on asn1.</p> - <p> - Own Id: OTP-6570</p> - </item> - <item> - <p> - Documentation update of ssh.</p> - <p> - Own Id: OTP-7063 Aux Id: seq10789 </p> - </item> - <item> - <p> - Same listener is used for both sshd and sftpd. Previously - the sftpd server had to be run on a separate port, now - the sshd listener will start an sftpd server when an sftp - client connects.</p> - <p> - Own Id: OTP-7090 Aux Id: seq10675 </p> - </item> - <item> - <p> - Kebord-interactive support, according to rfc 4256, has - been added to the ssh client. Also the option - <c>quiet_mode</c> has been added so that unwanted banners - may be suppressed.</p> - <p> - Own Id: OTP-7106 Aux Id: seq10841 </p> - </item> - </list> - </section> - - </section> - - <section><title>Ssh 0.9.9.4</title> - - <section><title>Improvements and New Features</title> - <list> - <item> - <p> - [sftpd] - Root parameter now behaves as expected, - instead of making sftpd malfunction.</p> - <p> - Own Id: OTP-7057 Aux Id: seq10830 </p> - </item> - </list> - </section> - </section> - - <section><title>Ssh 0.9.9.3</title> - - <section><title>Fixed Bugs and Malfunctions</title> - <list> - <item> - <p> - The sftp-server could crash if a "ls" was done on the - client, and a file was removed while ssh_sftpd:list_dir - was reading the directory, an error code from - read_file_info wasn't handled properly. This fix makes ls - return an error code instead.</p> - <p> - Own Id: OTP-6854 Aux Id: seq10740 </p> - </item> - <item> - <p> - Fixed bugs in prompting in ssl_cli. Prompts like \003> - were written as \300>. Also, newlines and returns was - removed.</p> - <p> - Own Id: OTP-6917 Aux Id: seq10773 </p> - </item> - </list> - </section> - - <section><title>Improvements and New Features</title> - <list> - <item> - <p> - [sftpd] - New option "root" to set the root of the - sftp-server and the callback module for file handling now - has a state parameter.</p> - <p> - Own Id: OTP-7075 Aux Id: seq10675 </p> - </item> - </list> - </section> - </section> - - <section> - <title>Ssh 0.9.9.2</title> - <section> - <title>Better error-handling in ssh_sshd:listen</title> - <list type="bulleted"> - <item> - <p>The caller was hanged when listening with ssh_sshd:listen - (or ssh_sftpd:listen) on a port and IP already in use. - Now an error is returned instead.</p> - <p>Own Id: OTP-6727</p> - </item> - </list> - </section> - - <section> - <title>Fix in ssh_sftpd</title> - <list type="bulleted"> - <item> - <p>Cd ../.. didn't work when connecting to a ssh_sftpd server.</p> - <p>Own Id: OTP-6727</p> - </item> - </list> - </section> - </section> - - <section> - <title>Ssh 0.9.9.1</title> - - <section> - <title>Minor Makefile changes</title> - <list type="bulleted"> - <item> - <p>Removed use of <c><![CDATA[erl_flags]]></c> from Makefile.</p> - <p>Own Id: OTP-6689</p> - </item> - </list> - </section> - </section> - - <section> - <title>Ssh 0.9.9</title> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>A race condition that could make the server crash if a - client sent a SSH_MSG_USERAUTH_REQUEST packet immediately - after its SSH_MSG_SERVICE_REQUEST, is removed.</p> - <p>Own Id: OTP-6379 Aux Id: seq10523 </p> - </item> - </list> - </section> - </section> - - <section> - <title>Ssh 0.9.8</title> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>Corrected minor bugs and removed dead code found by - dialyzer.</p> - <p>Own Id: OTP-6524</p> - </item> - </list> - </section> - </section> - - <section> - <title>Ssh 0.9.7</title> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>[sftp] - The function ssh_sftp:make_symlink/3 was not - fully implemented.</p> - <p>Own Id: OTP-6446</p> - </item> - <item> - <p>[ssh] - An internal value was, due to a bug, always set - to undefined even when it was not, this could lead to - connections being wrongly refused.</p> - <p>Own Id: OTP-6450</p> - </item> - <item> - <p>A pattern matching was missing "/binary" resulting in - that the internal function ssh_xfer:decode_acl/2 did not - work as expected.</p> - <p>Own Id: OTP-6458</p> - </item> - <item> - <p>[sftp] - read_link/2 did not return the documented value</p> - <p>Own Id: OTP-6471</p> - </item> - <item> - <p>Removed debugg printouts from ssh_cli.erl</p> - <p>Own Id: OTP-6483</p> - </item> - <item> - <p>[sftp, ssh] - The connection timeout was overridden by an - internal gen_server default timeout.</p> - <p>Own Id: OTP-6488 Aux Id: seq10569 </p> - </item> - </list> - </section> - </section> - - <section> - <title>Ssh 0.9.6</title> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>Removed debug printout from production code.</p> - <p>Own Id: OTP-6348 Aux Id: seq10510 </p> - </item> - <item> - <p>[sftpd] - When the sftp client ends the session the - server will now behave correctly and not leave the client - hanging.</p> - <p>Own Id: OTP-6349 Aux Id: seq10510 </p> - </item> - <item> - <p>[sftpd] - No longer used files were not closed until the - session was ended.</p> - <p>Own Id: OTP-6350 Aux Id: seq10514 </p> - </item> - <item> - <p>[sftpd] - File rename requests sent by sftp version 3 - clients were not handled.</p> - <p>Own Id: OTP-6352 Aux Id: seq10513 </p> - </item> - <item> - <p>[sftpd] - Request that did not fit into one ssh message - were not handled.</p> - <p>Own Id: OTP-6353 Aux Id: seq10515 </p> - </item> - <item> - <p>Removed error logging of auth method none, as this is not - an error but rather a feature, that is used to get - initial information from the server.</p> - <p>Own Id: OTP-6414</p> - </item> - </list> - </section> - - <section> - <title>Improvements and New Features</title> - <list type="bulleted"> - <item> - <p>[sftpd] - Added new option to specify a callback module - for the sftpd-server file handling. The default callback - module uses file and filelib.</p> - <p>Own Id: OTP-6356 Aux Id: seq10519 </p> - </item> - </list> - </section> - </section> - - <section> - <title>Ssh 0.9.5</title> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>The data window in SSH wasn't resized in the ssh_cli - receive data, this made the ssh_cli-server hang if more - than 64K data was received at one time. The option - tcp_nodelay was added, for nodelay in tcp connections.</p> - <p>Own Id: OTP-6231</p> - </item> - </list> - </section> - </section> - - <section> - <title>SSH 0.9.4</title> - - <section> - <title>Reported Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>Unnecessary explicit start of crypto application - in ssh application. This has been removed. The - app-file specifies that ssh depends on the crypto app. - This is enough. See also the - <seealso marker="ssh">ssh</seealso> module.</p> - <p>Also changed some error reports to info reports.</p> - <p>Own Id: OTP-6183</p> - <p>Aux Id: Seq 10383</p> - </item> - </list> - </section> - </section> - - <section> - <title>SSH 0.9.3</title> - - <section> - <title>Improvements and New Features</title> - <list type="bulleted"> - <item> - <p>Added way for cli to get peer name</p> - <p>Own Id: OTP-6138</p> - </item> - </list> - </section> - </section> - - <section> - <title>SSH 0.9.2</title> - - <section> - <title>Improvements and New Features</title> - <list type="bulleted"> - <item> - <p>Added some options to listen</p> - <p>Own Id: OTP-6070</p> - </item> - </list> - </section> - </section> - - <section> - <title>SSH 0.9.1</title> - <section><title>Ssh 0.9.9.4</title> - - <section><title>Improvements and New Features</title> - <list> - <item> - <p> - [sftpd] - Root parameter now behaves as expected, - instead of making sftpd malfunction.</p> - <p> - Own Id: OTP-7057 Aux Id: seq10830 </p> - </item> - </list> - </section> - </section> - - <section><title>Ssh 0.9.9.3</title> - - <section><title>Fixed Bugs and Malfunctions</title> - <list> - <item> - <p> - The sftp-server could crash if a "ls" was done on the - client, and a file was removed while ssh_sftpd:list_dir - was reading the directory, an error code from - read_file_info wasn't handled properly. This fix makes ls - return an error code instead.</p> - <p> - Own Id: OTP-6854 Aux Id: seq10740 </p> - </item> - <item> - <p> - Fixed bugs in prompting in ssl_cli. Prompts like \003> - were written as \300>. Also, newlines and returns was - removed.</p> - <p> - Own Id: OTP-6917 Aux Id: seq10773 </p> - </item> - </list> - </section> - - <section><title>Improvements and New Features</title> - <list> - <item> - <p> - [sftpd] - New option "root" to set the root of the - sftp-server and the callback module for file handling now - has a state parameter.</p> - <p> - Own Id: OTP-7075 Aux Id: seq10675 </p> - </item> - </list> - </section> - </section> - - <section> - <title>Ssh 0.9.9.2</title> - <section> - <title>Better error-handling in ssh_sshd:listen</title> - <list type="bulleted"> - <item> - <p>The caller was hanged when listening with ssh_sshd:listen - (or ssh_sftpd:listen) on a port and IP already in use. - Now an error is returned instead.</p> - <p>Own Id: OTP-6727</p> - </item> - </list> - </section> - - <section> - <title>Fix in ssh_sftpd</title> - <list type="bulleted"> - <item> - <p>Cd ../.. didn't work when connecting to a ssh_sftpd server.</p> - <p>Own Id: OTP-6727</p> - </item> - </list> - </section> - </section> - - <section> - <title>Ssh 0.9.9.1</title> - - <section> - <title>Minor Makefile changes</title> - <list type="bulleted"> - <item> - <p>Removed use of <c><![CDATA[erl_flags]]></c> from Makefile.</p> - <p>Own Id: OTP-6689</p> - </item> - </list> - </section> - </section> - - <section> - <title>Ssh 0.9.9</title> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>A race condition that could make the server crash if a - client sent a SSH_MSG_USERAUTH_REQUEST packet immediately - after its SSH_MSG_SERVICE_REQUEST, is removed.</p> - <p>Own Id: OTP-6379 Aux Id: seq10523 </p> - </item> - </list> - </section> - </section> - - <section> - <title>Ssh 0.9.8</title> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>Corrected minor bugs and removed dead code found by - dialyzer.</p> - <p>Own Id: OTP-6524</p> - </item> - </list> - </section> - </section> - - <section> - <title>Ssh 0.9.7</title> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>[sftp] - The function ssh_sftp:make_symlink/3 was not - fully implemented.</p> - <p>Own Id: OTP-6446</p> - </item> - <item> - <p>[ssh] - An internal value was, due to a bug, always set - to undefined even when it was not, this could lead to - connections being wrongly refused.</p> - <p>Own Id: OTP-6450</p> - </item> - <item> - <p>A pattern matching was missing "/binary" resulting in - that the internal function ssh_xfer:decode_acl/2 did not - work as expected.</p> - <p>Own Id: OTP-6458</p> - </item> - <item> - <p>[sftp] - read_link/2 did not return the documented value</p> - <p>Own Id: OTP-6471</p> - </item> - <item> - <p>Removed debugg printouts from ssh_cli.erl</p> - <p>Own Id: OTP-6483</p> - </item> - <item> - <p>[sftp, ssh] - The connection timeout was overridden by an - internal gen_server default timeout.</p> - <p>Own Id: OTP-6488 Aux Id: seq10569 </p> - </item> - </list> - </section> - </section> - - <section> - <title>Ssh 0.9.6</title> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>Removed debug printout from production code.</p> - <p>Own Id: OTP-6348 Aux Id: seq10510 </p> - </item> - <item> - <p>[sftpd] - When the sftp client ends the session the - server will now behave correctly and not leave the client - hanging.</p> - <p>Own Id: OTP-6349 Aux Id: seq10510 </p> - </item> - <item> - <p>[sftpd] - No longer used files were not closed until the - session was ended.</p> - <p>Own Id: OTP-6350 Aux Id: seq10514 </p> - </item> - <item> - <p>[sftpd] - File rename requests sent by sftp version 3 - clients were not handled.</p> - <p>Own Id: OTP-6352 Aux Id: seq10513 </p> - </item> - <item> - <p>[sftpd] - Request that did not fit into one ssh message - were not handled.</p> - <p>Own Id: OTP-6353 Aux Id: seq10515 </p> - </item> - <item> - <p>Removed error logging of auth method none, as this is not - an error but rather a feature, that is used to get - initial information from the server.</p> - <p>Own Id: OTP-6414</p> - </item> - </list> - </section> - - <section> - <title>Improvements and New Features</title> - <list type="bulleted"> - <item> - <p>[sftpd] - Added new option to specify a callback module - for the sftpd-server file handling. The default callback - module uses file and filelib.</p> - <p>Own Id: OTP-6356 Aux Id: seq10519 </p> - </item> - </list> - </section> - </section> - - <section> - <title>Ssh 0.9.5</title> - - <section> - <title>Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>The data window in SSH wasn't resized in the ssh_cli - receive data, this made the ssh_cli-server hang if more - than 64K data was received at one time. The option - tcp_nodelay was added, for nodelay in tcp connections.</p> - <p>Own Id: OTP-6231</p> - </item> - </list> - </section> - </section> - - <section> - <title>SSH 0.9.4</title> - - <section> - <title>Reported Fixed Bugs and Malfunctions</title> - <list type="bulleted"> - <item> - <p>Unnecessary explicit start of crypto application - in ssh application. This has been removed. The - app-file specifies that ssh depends on the crypto app. - This is enough. See also the - <seealso marker="ssh">ssh</seealso> module.</p> - <p>Also changed some error reports to info reports.</p> - <p>Own Id: OTP-6183</p> - <p>Aux Id: Seq 10383</p> - </item> - </list> - </section> - </section> - - <section> - <title>SSH 0.9.3</title> - - <section> - <title>Improvements and New Features</title> - <list type="bulleted"> - <item> - <p>Added way for cli to get peer name</p> - <p>Own Id: OTP-6138</p> - </item> - </list> - </section> - </section> - - <section> - <title>SSH 0.9.2</title> - - <section> - <title>Improvements and New Features</title> - <list type="bulleted"> - <item> - <p>Added some options to listen</p> - <p>Own Id: OTP-6070</p> - </item> - </list> - </section> - </section> - - <section> - <title>SSH 0.9.1</title> - - <section> - <title>Improvements and New Features</title> - <list type="bulleted"> - <item> - <p>Fixes in ssh_sftp, changes of timeout handling, - expand_fun moved to io:setopts</p> - <p>Own Id: OTP-5877 Aux Id: OTP-5781 </p> - </item> - </list> - </section> - </section> - - <section> - <title>SSH 0.9</title> - - <section> - <title>Improvements and New Features</title> - <list type="bulleted"> - <item> - <p>The previously undocumented and UNSUPPORTED <c><![CDATA[ssh]]></c> - application has been updated and documented. This release - of the <c><![CDATA[ssh]]></c> application is still considered to be a - beta release and (if necessary) there could still be - changes in its API before it reaches 1.0.</p> - <p>Also, more cryptographic algorithms have been added to - the <c><![CDATA[crypto]]></c> application.</p> - <p>*** POTENTIAL INCOMPATIBILITY ***</p> - <p>Own Id: OTP-5631</p> - </item> - </list> - </section> - </section> - </section> - -</chapter> - - diff --git a/lib/ssh/doc/src/part_notes.xml b/lib/ssh/doc/src/part_notes.xml index f87efffe5c..700f76200c 100644 --- a/lib/ssh/doc/src/part_notes.xml +++ b/lib/ssh/doc/src/part_notes.xml @@ -31,8 +31,7 @@ <description> <p>This document describes the changes made to the SSH application. </p> - <p>For information about older versions see - <url href="part_notes_history_frame.html">release notes history</url>.</p> </description> + </description> <xi:include file="notes.xml"/> </part> diff --git a/lib/ssh/doc/src/part_notes_history.xml b/lib/ssh/doc/src/part_notes_history.xml deleted file mode 100644 index 49f72fd3db..0000000000 --- a/lib/ssh/doc/src/part_notes_history.xml +++ /dev/null @@ -1,36 +0,0 @@ -<?xml version="1.0" encoding="latin1" ?> -<!DOCTYPE part SYSTEM "part.dtd"> - -<part> - <header> - <copyright> - <year>2004</year> - <year>2007</year> - <holder>Ericsson AB, All Rights Reserved</holder> - </copyright> - <legalnotice> - 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. - - The Initial Developer of the Original Code is Ericsson AB. - </legalnotice> - - <title>Ssh</title> - <prepared>Ingela Anderton Andin</prepared> - <docno></docno> - <date></date> - <rev></rev> - <file>part_notes.xml</file> - </header> - <include file="notes_history"></include> -</part> - - diff --git a/lib/ssh/vsn.mk b/lib/ssh/vsn.mk index 016fb30c69..2b9df4ae60 100644 --- a/lib/ssh/vsn.mk +++ b/lib/ssh/vsn.mk @@ -1,9 +1,11 @@ #-*-makefile-*- ; force emacs to enter makefile-mode -SSH_VSN = 1.1.7 +SSH_VSN = 1.1.8 APP_VSN = "ssh-$(SSH_VSN)" -TICKETS = OTP-8121 \ +TICKETS = OTP-8356 + +TICKETS_1.1.7 = OTP-8121 \ OTP-8277 \ OTP-8278 \ OTP-8201 diff --git a/lib/tools/emacs/erlang.el b/lib/tools/emacs/erlang.el index b352ae7cce..4fc4826238 100644 --- a/lib/tools/emacs/erlang.el +++ b/lib/tools/emacs/erlang.el @@ -3955,15 +3955,16 @@ Return nil if inside string, t if in a comment." (nth 2 stack-top)))) (t (goto-char (nth 1 stack-top)) - (cond ((looking-at "[({]\\s *\\($\\|%\\)") - ;; Line ends with parenthesis. - (erlang-indent-parenthesis (nth 2 stack-top))) - (t - ;; Indent to the same column as the first - ;; argument. - (goto-char (1+ (nth 1 stack-top))) - (skip-chars-forward " \t") - (current-column)))))) + (let ((base (cond ((looking-at "[({]\\s *\\($\\|%\\)") + ;; Line ends with parenthesis. + (erlang-indent-parenthesis (nth 2 stack-top))) + (t + ;; Indent to the same column as the first + ;; argument. + (goto-char (1+ (nth 1 stack-top))) + (skip-chars-forward " \t") + (current-column))))) + (erlang-indent-standard indent-point token base 't))))) ;; ((eq (car stack-top) '<<) ;; Element of binary (possible comprehension) expression, @@ -4047,33 +4048,8 @@ Return nil if inside string, t if in a comment." 0)) base)) ;; old catch (t - ;; Look at last thing to see how we are to move relative - ;; to the base. - (goto-char token) - (cond ((looking-at "||\\|,\\|->") - base) - ((erlang-at-keyword) - (+ (current-column) erlang-indent-level)) - ((or (= (char-syntax (following-char)) ?.) - (erlang-at-operator)) - (+ base erlang-indent-level)) - (t - (goto-char indent-point) - (cond ((memq (following-char) '(?\( ?{)) - ;; Function application or record. - (+ (erlang-indent-find-preceding-expr) - erlang-argument-indent)) - ;; Empty line, or end; treat it as the end of - ;; the block. (Here we have a choice: should - ;; the user be forced to reindent continued - ;; lines, or should the "end" be reindented?) - - ;; Avoid treating comments a continued line. - ((= (following-char) ?%) - base) - ;; Continued line (e.g. line beginning - ;; with an operator.) - (t (+ base erlang-indent-level))))))))) + (erlang-indent-standard indent-point token base 'nil) + )))) )) ((eq (car stack-top) 'when) (goto-char (nth 1 stack-top)) @@ -4105,21 +4081,55 @@ Return nil if inside string, t if in a comment." (+ 2 (nth 2 stack-top))) ((looking-at "::[^_a-zA-Z0-9]") (nth 2 stack-top)) - (t - (goto-char (nth 1 stack-top)) - (cond ((looking-at "::\\s *\\($\\|%\\)") - ;; Line ends with :: - (+ (erlang-indent-find-preceding-expr 2) - erlang-argument-indent)) - ;; (* 2 erlang-indent-level)) - (t - ;; Indent to the same column as the first - ;; argument. - (goto-char (+ 2 (nth 1 stack-top))) - (skip-chars-forward " \t") - (current-column)))))) + (t + (let ((start-alternativ (if (looking-at "|") 2 0))) + (goto-char (nth 1 stack-top)) + (- (cond ((looking-at "::\\s *\\($\\|%\\)") + ;; Line ends with :: + (if (eq (car (car (last stack))) 'spec) + (+ (erlang-indent-find-preceding-expr 1) + erlang-argument-indent) + (+ (erlang-indent-find-preceding-expr 2) + erlang-argument-indent))) + (t + ;; Indent to the same column as the first + ;; argument. + (goto-char (+ 2 (nth 1 stack-top))) + (skip-chars-forward " \t") + (current-column))) start-alternativ))))) ))) +(defun erlang-indent-standard (indent-point token base inside-parenthesis) + "Standard indent when in blocks or tuple or arguments. + Look at last thing to see in what state we are, move relative to the base." + (goto-char token) + (cond ((looking-at "||\\|,\\|->\\||") + base) + ((erlang-at-keyword) + (+ (current-column) erlang-indent-level)) + ((or (= (char-syntax (following-char)) ?.) + (erlang-at-operator)) + (+ base erlang-indent-level)) + (t + (goto-char indent-point) + (cond ((memq (following-char) '(?\( ?{)) + ;; Function application or record. + (+ (erlang-indent-find-preceding-expr) + erlang-argument-indent)) + ;; Empty line, or end; treat it as the end of + ;; the block. (Here we have a choice: should + ;; the user be forced to reindent continued + ;; lines, or should the "end" be reindented?) + + ;; Avoid treating comments a continued line. + ((= (following-char) ?%) + base) + ;; Continued line (e.g. line beginning + ;; with an operator.) + (t + (if (or (erlang-at-operator) (not inside-parenthesis)) + (+ base erlang-indent-level) + base)))))) (defun erlang-indent-find-base (stack indent-point &optional offset skip) "Find the base column for current stack." diff --git a/lib/tools/emacs/test.erl.indented b/lib/tools/emacs/test.erl.indented index 1d91b2f155..1ccced9177 100644 --- a/lib/tools/emacs/test.erl.indented +++ b/lib/tools/emacs/test.erl.indented @@ -44,6 +44,24 @@ b }). +-record(record3, {a = 8#42423 bor + 8#4234, + b = 8#5432 + bor 2#1010101 + c = 123 + + 234, + d}). + +-record(record4, { + a = 8#42423 bor + 8#4234, + b = 8#5432 + bor 2#1010101 + c = 123 + + 234, + d}). + + -define(MACRO_1, macro). -define(MACRO_2(_), macro). @@ -51,8 +69,10 @@ -type ann() :: Var :: integer(). -type ann2() :: Var :: - 'return' | 'return_white_spaces' | 'return_comments' - | 'text' | ann(). + 'return' + | 'return_white_spaces' + | 'return_comments' + | 'text' | ann(). -type paren() :: (ann2()). -type t1() :: atom(). @@ -89,7 +109,7 @@ fun((nonempty_maybe_improper_list('integer', any())| 1|2|3|a|b|<<_:3,_:_*14>>|integer()) -> nonempty_maybe_improper_list('integer', any())| - 1|2|3|a|b|<<_:3,_:_*14>>|integer()). + 1|2|3|a|b|<<_:3,_:_*14>>|integer()). -type t20() :: [t19(), ...]. -type t21() :: tuple(). -type t21(A) :: A. @@ -116,6 +136,22 @@ (T :: tuple()) -> R3 :: bar:typen(). -spec mod:t2() -> any(). + +-spec handle_cast(Cast :: {'exchange', node(), [[name(),...]]} + | {'del_member', name(), pid()}, + #state{}) -> {'noreply', #state{}}. + +-spec handle_cast(Cast :: + {'exchange', node(), [[name(),...]]} + | {'del_member', name(), pid()}, + #state{}) -> {'noreply', #state{}}. + + +-spec get_closest_pid(term()) -> + Return :: pid() + | {'error', {'no_process', term()} + | {'no_such_group', term()}}. + -opaque attributes_data() :: [{'column', column()} | {'line', info_line()} | {'text', string()}] | {line(),column()}. @@ -282,7 +318,10 @@ indent_basics(X, Y, Z) c ), - + call(2#42423 bor + #4234, + 2#5432, + other_arg), ok; indent_basics(Xlongname, #struct{a=Foo, @@ -496,7 +535,7 @@ indent_catch() -> B = catch oskar(X), A = catch (baz + - bax), + bax), catch foo(), C = catch B + diff --git a/lib/tools/emacs/test.erl.orig b/lib/tools/emacs/test.erl.orig index 049fc21286..9b4203120b 100644 --- a/lib/tools/emacs/test.erl.orig +++ b/lib/tools/emacs/test.erl.orig @@ -44,6 +44,24 @@ b }). +-record(record3, {a = 8#42423 bor + 8#4234, + b = 8#5432 + bor 2#1010101 + c = 123 + +234, + d}). + +-record(record4, { + a = 8#42423 bor + 8#4234, + b = 8#5432 + bor 2#1010101 + c = 123 + + 234, + d}). + + -define(MACRO_1, macro). -define(MACRO_2(_), macro). @@ -51,8 +69,10 @@ -type ann() :: Var :: integer(). -type ann2() :: Var :: - 'return' | 'return_white_spaces' | 'return_comments' - | 'text' | ann(). + 'return' + | 'return_white_spaces' + | 'return_comments' + | 'text' | ann(). -type paren() :: (ann2()). -type t1() :: atom(). @@ -116,6 +136,22 @@ t15(),t20(),t21(), t22(),t25()}. (T :: tuple()) -> R3 :: bar:typen(). -spec mod:t2() -> any(). + +-spec handle_cast(Cast :: {'exchange', node(), [[name(),...]]} + | {'del_member', name(), pid()}, + #state{}) -> {'noreply', #state{}}. + +-spec handle_cast(Cast :: + {'exchange', node(), [[name(),...]]} + | {'del_member', name(), pid()}, + #state{}) -> {'noreply', #state{}}. + + +-spec get_closest_pid(term()) -> + Return :: pid() + | {'error', {'no_process', term()} + | {'no_such_group', term()}}. + -opaque attributes_data() :: [{'column', column()} | {'line', info_line()} | {'text', string()}] | {line(),column()}. @@ -282,7 +318,10 @@ Y =:= 4711 -> c ), - + call(2#42423 bor + #4234, + 2#5432, + other_arg), ok; indent_basics(Xlongname, #struct{a=Foo, diff --git a/system/doc/reference_manual/modules.xml b/system/doc/reference_manual/modules.xml index 8b14ca3459..f4885be480 100644 --- a/system/doc/reference_manual/modules.xml +++ b/system/doc/reference_manual/modules.xml @@ -167,6 +167,21 @@ fact(0) -> % | the original user-written file from which the source program was produced.</p> </section> + + <section> + <title>Types and function specifications</title> + <p>The current release implements types and function specifications + as described in + <url href="http://www.erlang.org/eeps/eep-0008.html">EEP8 - +Types and function specifications</url>. + + <note> + <p>The implementation and EEP8 may not exactly correspond to + each other. In a future release, type and function specifications + will be described in this reference manual.</p> + </note> + </p> + </section> </section> <section> |