                 8                          DIGITAL PROPRIETARY INFORMATION      /                                   RELEASE NOTES   G           Version 1.3A of Digital DCE for OpenVMS VAX and OpenVMS Alpha     7                           Version 1.3A Mandatory Update   E               Version 1.3A of Digital DCE for OpenVMS VAX and OpenVMS G               Alpha is a mandatory update that replaces Digital DCE for E               OpenVMS VAX and OpenVMS Alpha Version 1.3. Version 1.3A H               is a complete kit that does not require a previous versionG               of Digital DCE for OpenVMS for installation. Version 1.3A H               can be installed in a new system or can be installed as an>               update to a previous version of DCE for OpenVMS.  E               All existing Version 1.3 documentation can be used with 9               Version 1.3A with the following exceptions:   G               o  References to the installation directories [DCEVAX013] I                  and [DCEAXP013] should be changed to [DCEVAXMUPA013] and !                  [DCEAXPMUPA013].   G               o  References to the installation saveset names DCEVAX013 E                  and DCEAXP013 should be changed to DCEVAXMUPA013 and                   DCEAXPMUPA013.   %         1 Services Digital DCE Offers   E               Version 1.3A of Digital DCE for OpenVMS VAX and OpenVMS 7               Alpha consists of the following services:   I               o  Remote Procedure Call (RPC) service provides connections G                  between individual procedures in an application across <                  heterogeneous systems in a transparent way.  G               o  Interface Definition Language (IDL) compiler (required >                  for developing distributed DCE applications).  ?               o  Threads service provides user-mode control and C                  synchronization of multiple operations. Threads is 9                  packaged with the base operating system.   I                                                                         1                    C               o  Cell Directory Services (CDS) provides a location- E                  independent method of identifying resources within a G                  cell. A cell is the smallest group of DCE systems that ;                  share a common naming and security domain.   F               o  Distributed Time Service (DTS) provides date and time/                  synchronization within a cell.   B               o  DCE Security Services provides authentication andD                  authorization within a cell and is based upon MIT's8                  Kerberos private key encryption system.  (         1.1 New Features in Version 1.3A  E               Version 1.3A of Digital DCE for OpenVMS VAX and OpenVMS B               Alpha includes the following new features. (For moreD               information on these new features, see the Digital DCEE               for OpenVMS VAX and OpenVMS Alpha Product Guide, unless                 otherwise stated.)  F               o  Integrated Login - Combines the DCE and OpenVMS login                  procedures.  G               o  Object-Oriented RPC - IDL has been extended to support F                  a number of C++ language syntax features that provideD                  a distributed object framework. The DCE RPC runtimeI                  environment now supports C++ bindings to remote objects. I                  The combination of these new features creates an Object-                   Oriented RPC.  H               o  Resource Broker - The Resource Broker is Digital's Out-D                  of-the-Box monitoring and service access tool. WhenG                  deployed within a DCE cell, Resource Broker determines D                  the services and resources in your environment, andC                  makes them available to you through an easy-to-use D                  graphical interface. (See the Guide to the ResourceI                  Broker. The Resource Broker release notes are located in /                  SYS$HELP:RB010.RELEASE_NOTES.)   @               o  Generic Security Service (GSSAPI) - Provides anG                  application programming interface that lets you extend E                  DCE security to distributed applications that handle 6                  network communications by themselves.  H               o  Native Kerberos - Allows native Kerberos clients to useI                  the DCE Security Server (UDP port 88) for authentication ,                  services. (See Section 13.)  	         2                    >               o  RTI (Remote Task Invocation) RPC - Provides aC                  transactional RPC for use with Digital's ACMSxp TP                   product.   H               o  RPC support for DECnet Phase V addresses - Provides RPC(                  support for DECnet/OSI.  D               o  XDS and X.500 support - Provides Digital X/Open XDSG                  Directory Services and Digital X/Open Object Managment I                  Services, and support for X.500 naming. (See the Digital H                  DCE for OpenVMS VAX and OpenVMS Alpha Reference Guide.)  B               o  A new manual, the Digital DCE for OpenVMS VAX andF                  OpenVMS Alpha Reference Guide - Contains commands and7                  reference information for Digital DCE.            2 Contents of the Kits  >               Digital DCE for OpenVMS has four kits available:  %               -  Runtime Services Kit   -               -  Application Developer's Kit:                  -  CDS Server Kit   $               -  Security Server Kit  D               Note that the right to use the Runtime Services Kit isE               included as part of the OpenVMS license. The other kits .               each require a separate license.  G               The following sections list the contents of each of these                kits.             2.1 Runtime Services Kit  F               The Runtime Services provide the basic services requiredH               for DCE applications to function. The Runtime Services Kit%               contains the following:   @               -  Authenticated CDS Advertiser and Client Support                 -  CDS Browser  ,               -  CDS Control Program (CDSCP)  H               -  Authenticated DCE RPC runtime support (supports DECnet,                  TCP, and UDP)                  -  Resource Broker  I                                                                         3                    I               -  RTI (Remote Task Invocation) RPC for Digital's ACMSxp TP                   product  (               -  Security Client Support  !               -  Integrated Login   ;               -  A DCE_LOGIN tool for obtaining credentials   C               -  A RGY_EDIT tool for registry maintenance functions   :               -  KINIT, KLIST, and KDESTROY Kerberos tools  I               -  An ACL_EDIT tool for access control lists (ACLs) for DCE                   objects  ,               -  RPC Control Program (RPCCP)  I               -  Name Services Interface Daemon (nsid); also known as the $                  PC Nameserver Proxy  (               -  Native Kerberos support  '               -  XDS Directory Services   %               -  XDS Object Managment   '         2.2 Application Developer's Kit   F               The Application Developer's Kit is used by developers toE               build DCE applications. The Application Developer's Kit %               contains the following:   ?               -  The above contents of the Runtime Services Kit   B               -  Required DCE application development header files  =               -  Interface Definition Language (IDL) compiler   $               -  Object-Oriented RPC  ;               -  NIDL-to-IDL compiler (on OpenVMS VAX only)   2               -  Generic Security Service (GSSAPI)  &               -  LSE Templates for IDL                 -  UUID Generator   B               -  .H (Include) files and .IDL files for application                  development  (               -  Sample DCE applications  	         4                             2.3 CDS Server Kit  G               The CDS Server kit provides the naming services necessary H               for DCE clients to locate DCE server applications. The CDS0               Server kit includes the following:  "               -  CDS server (cdsd)  -               -  Global Directory Agent (GDA)   I               The Global Directory Agent (GDA) lets you link multiple CDS E               namespaces using the Internet Domain Name System (DNS).            2.4 Security Server Kit   @               The Security Server kit provides security servicesF               necessary for authenticated RPC calls between DCE client2               and server applications to function.  '               -  Security server (secd)   G               -  Tool used to create the security database (sec_create_                   db)  @               -  Security server administrative tool (sec_admin)  2         3 Installation/Configuration Prerequisites  G               Note that Digital DCE for OpenVMS VAX and Digital DCE for F               OpenVMS Alpha may require that you install a special kitC               before you can begin the installation of Digital DCE. C               See the installation and configuration guide for more                information.  ?               Make sure that you run DCE$SETUP.COM from a valid F               directory. Errors may occur during the installation that2               leave the default directory invalid.  B               See the first chapter in the Digital DCE for OpenVMSB               VAX and OpenVMS Alpha Installation and ConfigurationE               Guide for information on installation and configuration                prerequisites.      I                                                                         5                    ,         3.1 Reconfiguring after Installation  D               If you are installing a new version of Digital DCE forE               OpenVMS VAX and OpenVMS Alpha over an existing version, H               you do not have to reconfigure DCE after the installation.G               Before the installation, stop the DCE deamons by entering C               one of the following commands (CLEAN is recommended):   ,               $ @SYS$MANAGER:DCE$SETUP CLEAN+               $ @SYS$MANAGER:DCE$SETUP STOP   H               Then, after the installation, enter the following command:  ,               $ @SYS$MANAGER:DCE$SETUP START  C               If you are installing Digital DCE for OpenVMS Version F               1.3A over Version 1.2, you can enable the new IntegratedE               Login functionality from the Configuration menu without )               reconfiguring your host(s).   H               You must reconfigure if you are installing Digital DCE forG               OpenVMS for the first time or if you are installing a new ?               version over Digital DCE for OpenVMS Version 1.0.            4 Troubleshooting   I               A chapter on troubleshooting is part of the Digital DCE for G               OpenVMS VAX and OpenVMS Alpha Product Guide. This chapter .               includes the following sections:  .               o  General troubleshooting hints  <               o  Time zone and time synchronization problems  )               o  Client/Server Check List            5 Resource Broker   H               The Resource Broker is Digital's Out-of-the-Box monitoringG               and service access tool. When deployed within a DCE cell, F               Resource Broker determines the services and resources inG               your environment, and makes them available to you through E               a graphical interface. With the Resource Broker as your F               agent, you can find DCE servers across your cell and seeI               their usage displayed in the form of a bar graph. This tool G               assists you in isolating performance bottlenecks (such as A               over-utilized DCE daemons or overloaded computers).   	         6                    ?               With its cell-wide view of servers and resources, @               the Resource Broker provides dynamic, customizableD               server selection algorithms that can take into accountE               availability, appropriateness, and efficiency, and then E               choose to either utilize an existing server or start up D               a new server. The selection algorithms can utilize theE               attributes of the server (calls/second, packets/second, E               protocol sequences supported) and the attributes of the C               host on which the server is executing (CPU speed, CPU B               utilization, network usage, memory availability, andE               more). This dynamic server selection capability is made E               available in the graphical user interface, command line H               interface, and also transparently through the standard RPCE               Name Service Interface (NSI). This enables applications D               to replace the random-order server selection algorithmA               provided by the DCE standard with user-defined load E               balancing algorithms without modifying the application.   F               The release notes for the Resource Broker are located in+               SYS$HELP:RB010.RELEASE_NOTES.   I               Note: The Resource Broker runs on OpenVMS Alpha Version 6.1 F               or higher. It does not run on OpenVMS Alpha Version 1.5.G               (Resource Broker also runs on all versions of OpenVMS VAX 8               supported by Digital DCE for OpenVMS VAX.)  *         6 Updates to the System Login File  I               To define foreign commands, have the system manager add the C               following to your SYLOGIN.COM after the installation:   C      $ If F$SEARCH("SYS$MANAGER:DCE$DEFINE_REQUIRED_COMMANDS.COM")- B        .NES. "" THEN @SYS$MANAGER:DCE$DEFINE_REQUIRED_COMMANDS.COM  O      $ If F$SEARCH("SYS$COMMON:[DCE$LIBRARY]DCE$DEFINE_OPTIONAL_COMMANDS.COM")- N        .NES. "" THEN @SYS$COMMON:[DCE$LIBRARY]DCE$DEFINE_OPTIONAL_COMMANDS.COM  ,         7 Sizing for a Large Number of Users  B               The DCE$CDSCLERK process requires a number of systemE               resources for each concurrent DCE user application that I               accesses the CDS namespace. The default number of resources I               allocated to the DCE$CDSCLERK process is based on a maximum G               of 70 concurrent users (servers and clients) running on a H               node. If you are running more than 70 DCE users on a node,(               you must do the following:  I                                                                         7                    +               1. Stop DCE if it is running.   E               2. Define a system-wide logical called DCE$MAX_USERS to E                  the maximum number of users desired. For example, to C                  configure DCE for a maximum of 80 users, enter the                   following:   1                  $ define/system dce$max_users 80   H                  Add this command to your system startup command file so;                  that it is executed prior to starting DCE.                  3. Restart DCE.   C               Refer to Section 9.1 for information about adding UCX F               sockets if the current number of sockets is insufficient>               for the number of DCE users running on the node.  "         8 Support for Applications  B               The Application Developer's Kit provides support for>               building DCE applications using DCE Services. ItC               provides Application Programming Interfaces (APIs) to D               RPC communication services, security services, and CDSF               name services via the RPC Name Services Interface (NSI).E               (Version 1.1 of Digital DCE for OpenVMS VAX and OpenVMS H               Alpha replaced the Local Directory Services (LDS) with theI               Cell Directory Services (CDS).) The Application Developer's D               Kit contains the IDL compiler and Runtime support. TheH               header files and IDL files for developing applications are3               installed in the following directory:   &               SYS$COMMON:[DCE$LIBRARY]  E               DCE applications must also be linked with the following                shareable image:  )               SYS$LIBRARY:DCE$LIB_SHR.EXEa  D               This image provides the entry points and global symbol3               definitions for the DCE API services.p  F               A link options file, SYS$COMMON:[DCE$LIBRARY]DCE.OPT, isH               also provided. It is recommended that this options file be:               included when linking your DCE applications.                 For example:  %               $ LINK PROG,DCE:DCE/OPT   	         8p e                 ?               Linking applications in this way makes your build3F               procedures more portable between OpenVMS VAX and OpenVMSC               Alpha. It also prevents link environment changes fromo1               requiring changes to command files.C  :         9 Using TCP/IP Services for OpenVMS (UCX) with DCE  E               Version 1.3A of Digital DCE for OpenVMS VAX and OpenVMSoG               Alpha requires modification of several UCX parameters forgE               proper operation. You should carefully look through the I               parameters discussed in the next sections to understand anyo8               impact they may have on your local system.  C               All parameter changes described below, except for thePE               cdsLib service definition, involve volatile parameters.rH               That is, if UCX is restarted on your system, the parameterD               settings revert back to UCX-defined defaults. For thisC               reason, you should put the commands for setting theseu6               parameters in the UCX startup procedure:  )               SYS$MANAGER:UCX$STARTUP.COM   "         9.1 Sufficient UCX Sockets  ?               DCE RPC and CDS use UCX sockets for inter-processtG               communication. UCX defaults the maximum number of sockets F               to 60. This is usually inadequate for many DCE sites. ItH               is recommended that this parameter be set to a value of atG               least 150 during your UCX startup for a CDS client systemsE               and at least 250 for a CDS server system. Your site mayiC               require a higher value if you are using UCX for other F               than DCE. To modify the number of UCX sockets, enter theI               following command with the appropriate value for the numberd&               of sockets. For example:  9               $ UCX SET COMMUNICATION /DEVICE_SOCKETS=250v  E               If the number of sockets is insufficient for the number F               of DCE users running on the node, increase the number ofH               device sockets by two for each additional DCE user (client               or server).e        I                                                                         9  d                 (         9.2 Sufficient UCX Small Buffers  C               If your system is a router then you should check that D               the number of UCX small buffers you have configured isH               sufficient. A non-zero drop value or a non-zero wait valueD               indicates that you should increase the number of small               buffers.  A               UCX defaults the maximum number of small buffers toeC               330. This value may not be adequate if you have othereD               applications using UCX which consume a large number ofG               small buffers. Before you configure DCE, you should checkoF               the maximum small buffer count and the peak small buffer                count, as follows:  %               $ UCX SHO COMMUNICATIONs  -               $ UCX SHOW COMMUNICATION/MEMORY   G               The difference between the maximum small buffer count and C               the peak small buffer count should be at least 80 for D               client configuration and 270 for server configuration.I               Use the following command to set a new maximum small bufferS               count:  I               $ UCX SET COMMUNICATION/SMALL=(MAXIMUM:max_small_buf_count)s  F               where max_small_buf_count is the peak small buffer countA               plus 80 for client configuration, or 270 for server                configuration.                 For example:  9               $ UCX SET COMMUNICATION/SMALL=(MAXIMUM:600)   I               See the UCX system management guide for more information on                tuning UCX.   (         9.3 DCE RPC Performance over UCX  C               If you are using the DCE RPC with TCP/IP Services fortG               OpenVMS, we recommend the following parameter setting forCH               improved performance, particularly if your network trafficA               consists mostly of packets greater than 4000 bytes.o  0               $ UCX SET PROTOCOL TCP/NODELAY_ACK  
         10 i                 %         9.4 UCX TCP Protocol Settingsa  D               DCE CDS is sensitive to the values of the TCP protocolE               parameters of the underlying TCP communication package.nF               Improperly setting these parameters may cause CDS clientE               operations to appear to hang. (Hangs occur when the TCPnF               parameters are incorrectly set and CDS client operationsI               initiate operations that result in very large data messages I               being transferred between CDS clients and servers.) If this E               happens, other CDS clients continue to function and ther1               hung client process may be aborted.e  A               You can examine the current settings of the UCX TCPM3               protocol parameters with the command:e  0               $ UCX SHOW PROTOCOL TCP /PARAMETER  0         9.4.1 OpenVMS UCX TCP Parameter Settings  C               The correct default settings for the UCX TCP protocol ?               parameters on OpenVMS VAX systems are as follows:   1               $ UCX SHOW PROTOCOL TCP /PARAMETERSc               TCP /                 MTU size segment:      disabledt/                 Delay ACK:             disabled /                 Loopback:              disabledS/                 Drop timer:                 600e/                 Probe timer:                 75,  C                                         Receive                Send C                 Checksum:               enabled             enabled C                 Push:                  disabled            disablediC                 Quota:                     3000                4096   B               Note that the TCP /LOOPBACK parameter is disabled onB               Digital DCE for OpenVMS, and that the /QUOTA=RECEIVEF               parameter is manually set to 3000. If the /QUOTA=RECEIVE<               parameter is not set to 3000 or less, a serverG               configuration may hang during the modification of the ACL                entries.  D               If any of your UCX parameter settings do not match theH               default settings above, enter one of the following sets of               commands:   A               o  If you have UCX V1.3 or later, use the followingoA                  commands to set the default settings of your UCX.D                  configuration. (This is the preferred method.) Note  I                                                                        11  l  t              H                  that you also must set the active parameters or restartE                  UCX at a minimum after using the following commands.C  >                  $ UCX SET CONFIGURATION PROTOCOL TCP /NODELAYA                  $ UCX SET CONFIGURATION PROTOCOL TCP /NOLOOPBACKrI                  $ UCX SET CONFIGURATION PROTOCOL TCP /QUOTA=RECEIVE=3000   E               o  Alternatively, you can add the following commands toLF                  your UCX$STARTUP command file found in SYS$STARTUP to*                  set the correct defaults:  0                  $ UCX SET PROTOCOL TCP /NODELAY3                  $ UCX SET PROTOCOL TCP /NOLOOPBACK ;                  $ UCX SET PROTOCOL TCP /QUOTA=RECEIVE=3000h  B                  Adding these commands to UCX$STARTUP ensures thatF                  subsequent stops and starts of UCX will not cause you4                  to lose this default configuration.  %         9.5 cdsLib Service Definition   C               CDS uses a TCP service definition in the UCX serviceseD               database. This service defines the port number for CDSE               client and clerk communication. The DCE$SETUP CONFIGUREiG               operation should properly define this service for you. By I               default, port number 1234 is used. If your site has another E               application that has defined a service using port 1234,tI               the CONFIGURE operation will ask you to choose another porta5               number for use with the cdsLib service.   E               After Digital DCE for OpenVMS is configured, should youiC               need to change the port number assigned to the cdsLib F               service (for example, you want to install an application@               that needs port 1234), use the following commands:  *               $ UCX SET NOSERVICE "cdsLib"  H                  The current service definition is displayed and you areI                  asked if you wish to delete it. Answer YES and enter the #                  following command.r  ?               $ UCX SET SERVICE "cdsLib" /PORT=nnnn /file=NL: - I                      /USER=DCE$SERVER /PROTOCOL=TCP /PROCESS=DCE$CDSCLERKg  G                  Where nnnn is an unused port number to be used by CDS.C  >                  Note that three additional ports are defined:  I                  -  cdsAdver uses port number 1235 for process DCE$CDSADV   
         12                   F                  -  cdsDiag uses port number 1236 for process DCE$CDSD  F                  -  kerberos5 uses port number 88 for process DCE$SECD                  $ UCX SHOW SERVICE  F                  This command lets you examine the current UCX service                  definitions.e  @                  The State for all of the DCE services should be                  Disabled.  B                  Also note that the service definitions in UCX areE                  permanent settings; that is, once defined, they willDG                  still be set if UCX is restarted. For this reason, youoI                  do not need to put changes to the service definitions in ,                  your UCX startup procedure.  "         10 Using MultiNet with DCE  F               Version 1.3A of Digital DCE for OpenVMS can be used withG               TGV, Inc.'s MultiNet product in place of Digital's TCP/IPnD               Services for OpenVMS. If you wish to use MultiNet withG               Digital DCE for OpenVMS, you must contact TGV, Inc. for au>               copy of MultiNet which contains support for DCE.  I               Then, follow the installation procedure and choose MULTINETpH               when the installation process prompts you for the specific-               TCP/IP product you want to use.h  H               Add or replace the following command to the system startup               command procedure H               (SYS$MANAGER:SYSTARTUP.COM) after the startup commands forH               the network transports, DECnet and/or DEC TCP/IP Services:  7               $ @SYS$STARTUP:DCE$STARTUP START MULTINETi  D               Otherwise, DCE will expect TCP/IP communications to be               provided by UCX.  H               The SYSGEN parameter MAXBUF must be set to a value greaterI               than the maximum message size to be transferred between thefG               CDS Clerk and CDS clients. If MAXBUF is not large enough, F               client processes will hang in an I/O wait state. If thisF               happens, other CDS clients will continue to function andI               the hung process may be aborted without affecting them. The H               recommended setting for MAXBUF is 10,000 bytes or greater.F               (If you have a large CDS database with many directories,H               you may have to set it even higher.) If DCE processes hang  I                                                                        13i    r              I               while performing name service requests that transfer largergI               amounts of data, you probably need to increase the value ofc                MAXBUF as follows:  %               $ RUN SYS$SYSTEM:SYSGENt                SYSGEN> USE ACTIVED               SYSGEN> SET MAXBUF nnnn  ! nnnn = new value for MAXBUF"               SYSGEN> WRITE ACTIVE!               SYSGEN> USE CURRENTtD               SYSGEN> SET MAXBUF nnnn  ! nnnn = new value for MAXBUF#               SYSGEN> WRITE CURRENT                SYSGEN> EXIT  D               Note that this setting will remain in effect until theI               next time AUTOGEN is invoked. Make the changes permanent bySD               editing SYS$SYSTEM:MODPARAMS.DAT and adding MIN_MAXBUFB               = nnnn and then invoking AUTOGEN as described in the3               installation and configuration guide.   D               For further information on modifying SYSGEN parametersC               or on AUTOGEN, refer to the OpenVMS system managementn               documentation.  !         11 Using PathWay with DCEe  G               Version 1.3A of Digital DCE for OpenVMS has been designedhF               to be used with Wollongong's PathWay product in place of4               Digital's TCP/IP Services for OpenVMS.  F               If you wish to use PathWay with Digital DCE for OpenVMS,F               you must contact Wollongong for availability informationF               and for a copy of PathWay that contains support for DCE.H               (Wollongong has not yet released a version of PathWay that0               supports Digital DCE for OpenVMS.)  H               Then, follow the installation procedure and choose PATHWAYH               when the installation process prompts you for the specific-               TCP/IP product you want to use.O  E               Add the following command to the system startup command E               procedure (SYS$MANAGER:SYSTARTUP.COM) after the startup D               commands for the network transports, DECnet and/or DEC               TCP/IP Services:  4               @SYS$STARTUP:DCE$STARTUP START PATHWAY  D               Otherwise, DCE will expect TCP/IP communications to be               provided by UCX.  
         14 g                 !         12 Using TCPware with DCEh  A               Version 1.3A of Digital DCE for OpenVMS can also be F               used with Process Software's TCPware product in place ofG               Digital's TCP/IP Services for OpenVMS. If you wish to use D               TCPware with Digital DCE for OpenVMS, you must contactC               Process Software for a copy of TCPware which contains,               support for DCE.  H               Then, follow the installation procedure and choose TCPWAREH               when the installation process prompts you for the specific-               TCP/IP product you want to use.l  E               Add the following command to the system startup command                procedure H               (SYS$MANAGER:SYSTARTUP.COM) after the startup commands forH               the network transports, DECnet and/or DEC TCP/IP Services:  4               @SYS$STARTUP:DCE$STARTUP START TCPWARE  D               Otherwise, DCE will expect TCP/IP communications to be               provided by UCX.           13 Kerberos   E               The DCE Security Server makes UDP port 88 (service nameAB               "kerberos5") is available for use by native Kerberos)               clients for authentication.C  F               Kerberos realm names must match the cell name of the DCE               security server.  H               Support for native kerberos5 clients has undergone minimalH               interoperability testing. Interoperability has been testedF               between Digital DCE for OpenVMS V1.3A and MIT Kerberos VH               BL2. On non-OpenVMS platforms, interoperability fails whenH               you use DCE Security with versions of MIT Kerberos V laterI               than BL2. Full support will be provided in a future version ?               of Digital DCE for OpenVMS VAX and OpenVMS Alpha.             I                                                                        15  s  a              9         14 Linking RPC Stub Modules into Shareable Images   F               If you build shareable images that contain RPC generatedA               stub modules, you should use a linker options file.mE               PSECT statements in the linker options file are used tooE               resolve differences in the PSECT attributes between theID               RPC generated object file and the new shareable image.G               The following sections discuss how to solve problems thatdD               can arise when you create, link against, or activate aG               shareable image that contains RPC generated stub modules.n8               This section can be summarized as follows:  E               o  Program sections (PSECTs) in shareable images should H                  be SHR,NOWRT or NOSHR,WRT unless the image is installed"                  with priviledges.  E               o  Program sections in modules linked against shareable F                  images must match exactly or conflicting PSECT errors                  will occur.  F               o  Until the program runs, you may have to correct PSECT?                  attributes as far back as the shareable image.,  A               The PSECT attributes of the RPC generated interfaceaF               specifications (IFspecs) should be set to the following:                 (GBL,SHR,NOWRT)   A               RPC interface specs usually do not change, so it is B               rarely required that they be set to a writable PSECTF               attribute. RPC interface specs are frequently shared. IfI               your shareable image contains more than one cluster and the H               same interface spec is defined in multiple object modules,E               these interface specs can be effectively collected into H               the same global cluster with the GBL PSECT attribute. NoteE               that, in this case, the first module encountered by the G               linker that defines the IFspec will be used to initialize H               the value of the IFspec in the shareable image. A map fileD               can help you identify and correct problems with PSECTsE               and their contents. The contents of any PSECT should be                non-zero.x  G               If you find a zero byte PSECT, you may need to explicitly E               specify the module name in the options file. The module B               name can be specified directly on its own or as partE               of the /library/include=() statement associated with antG               object library. PSECTs should not be zero unless they are   
         16                   I               initialized at runtime, and this presumes that the PSECT is                writable (WRT).t  .         14.1 Errors Creating a Shareable Image  G               The following examples show some of the errors that mighttE               occur when you try to create a shareable image with RPCe"               stub object modules.  8               $ link/share/exe=myshr.exe/map=myshr.map -6               _$ test1_mgr,test1_sstub,dce:dce.opt/optN        %LINK-I-BASDUERRS, basing image due to errors in relocatable referencesL               %LINK-W-ADRWRTDAT, address data in shareable writeable section<               in psect TEST1_V0_0_S_IFSPEC offset %X00000000K               in module TEST1_SSTUB file USER:[MY.CODE.DCE]TEST1_SSTUB.OBJ;a               $   F               The PSECT name is causing the linker problem. To correctI               this problem, create an option file including the following F               line, and place it on your link command line as follows:                  $ create myopt.opt9                 PSECT= TEST1_V0_0_S_IFSPEC, shr,nowrt,gbls                 ctrl-z               $m8               $ link/share/exe=myshr.exe/map=myshr.map -D               $_ test1_mgr,test1_sstub,dce:dce.opt/opt,myopt.opt/opt  I               This will remove the link problems so that you can create a G               shareable image. There are still errors in this shareablegH               image whose solutions are shown in the following examples.  5         14.2 Errors Linking Against a Shareable Imagey  G               Once you have a shareable image, you may still see linker B               problems related to the PSECT attributes between theD               shareable image and new object files. In the following@               example, a main routine is linked against the sameG               shareable image from the previous example. The new object I               module references some of the same variables defined by the                RPC stub module.        I                                                                        17     C              H               $ link/exec=test1d/map=test1d.map test1_main,sys$input/opt                 myshr.exe/sharee                 ctrl-zN           %LINK-W-MULPSC, conflicting attributes for psect TEST1_V0_0_S_IFSPECI               in module TEST1_MAIN file USER:[MY.CODE.DCE]TEST1_MAIN.OBJ;c               $C  ?               If you search the map files of both myshr.map and H               test1d.map for the PSECT TEST1_V0_0_S_IFSPEC, you will seeF               that the PSECT attributes for this PSECT match; however,D               the map files are incorrect. The solution to this linkC               problem is to include the PSECT directive in a linker E               options file for the offending PSECT name. The previous H               example simply typed in the options from the command line,F               but you should place these linker statements in a linkerI               option file. The options are typed in from SYS$INPUT in ther                following example.  H               $ link/exec=test1d/map=test1d.map test1_main,sys$input/opt9                 PSECT= TEST1_V0_0_S_IFSPEC, shr,nowrt,gbl                  myshr.exe/share                  ctrl-z               $   /         14.3 Errors Activating Shareable Images   E               When you run this program, the following results occur:                  $ run test1d;               %DCL-W-ACTIMAGE, error activating image MYSHR I               -CLI-E-IMAGEFNF, image file not found SYS$LIBRARY:MYSHR.EXE                $   E               To allow the image activator to check a directory other E               than SYS$LIBRARY for your new shareable image, you must G               define a logical name or you must copy your new shareableaI               image into SYS$LIBRARY. In the following example, a logicaleC               name is defined and the program is run again with thea                following results.            
         18 r  .              2               $ define MYSHR sys$disk:[]myshr.exe;               $                $ run test1d;               %DCL-W-ACTIMAGE, error activating image MYSHR E               -CLI-E-IMGNAME, image file USER:[MY.CODE.DCE]MYSHR.EXE; O               -SYSTEM-F-NOTINSTALL, writable shareable images must be installed                $T  B               The problem is in the myshr.exe image: myshr.exe hasE               PSECTs whose PSECT attributes specify both SHR and WRT. D               The solution is to add the correct PSECT attributes toC               the offending PSECTs in the myshr.exe shareable image D               to myshr.opt. This can be done on the command line, as               follows:  8               $ link/share/exe=myshr.exe/map=myshr.map -D               $_ test1_mgr,test1_sstub,dce:dce.opt/opt,sys$input/opt8                psect= TEST1_V0_0_S_IFSPEC, shr,nowrt,gbl>                psect= RPC_SS_ALLOCATE_IS_SET_UP, noshr,wrt,gbl=                psect= RPC_SS_CONTEXT_IS_SET_UP, noshr,wrt,gbl <                psect= RPC_SS_SERVER_IS_SET_UP, noshr,wrt,gbl;                psect= RPC_SS_THREAD_SUPP_KEY, noshr,wrt,gblP>                psect= RPC_SS_CONTEXT_TABLE_MUTEX,noshr,wrt,gbl8                psect= TEST1_V0_0_C_IFSPEC, shr,nowrt,gbl                ctrl-zr               $t  E               All of the PSECTs that existed in the myshr.map mapfile F               that had SHR and WRT attributes were changed so that theI               PSECT was either SHR,NOWRT or NOSHR,WRT. The choice dependsnH               upon your use of the data item. IFspecs are usually sharedD               and nonwritable. The RPC_SS PSECTs are written and notF               generally shared among program images linked against the               shareable image.  D               The following example tries to relink the main program0               again, but another problem occurs:                I                                                                        19                    H               $ link/exec=test1d/map=test1d.map test1_main,sys$input/opt9                 PSECT= TEST1_V0_0_S_IFSPEC, shr,nowrt,gblc                 myshr.exe/sharel                 ctrl-z  N           %LINK-W-MULPSC, conflicting attributes for psect TEST1_V0_0_C_IFSPECI               in module TEST1_MAIN file USERE:[MY.CODE.DCE]TEST1_MAIN.OBJs               $u  E               Because the PSECT attributes of the TEST1_V0_0_S_IFSPECeH               PSECT was changed in the shareable image, its reference inG               test1_main.obj is not correct. To solve this problem, addR7               the correct PSECT attribute. For example:   H               $ link/exec=test1d/map=test1d.map test1_main,sys$input/opt9                 PSECT= TEST1_V0_0_S_IFSPEC, shr,nowrt,gbl 9                 PSECT= TEST1_V0_0_C_IFSPEC, shr,nowrt,gblC                 myshr.exe/share                  ctrl-z                 $p  E               In the final example, the test1d program is run and thes$               desired results occur.                 $ run test1d,                 ncacn_ip_tcp 16.32.0.87 33145                 ncacn_dnet_nsp 63.503 RPC270002590001n,                 ncadg_ip_udp 16.32.0.87 1485  D         15 Support for Workstations in Digital DCE for OpenVMS V1.3A  H               Digital DCE for OpenVMS VAX and OpenVMS Alpha Version 1.3AI               contains two new features that support users who access DCEl5               services from workstations, as follows:   ;               o  DCE menu in the DECwindows session managero  I               o  DCE$REFRESH utility that refreshes the login credentialsiD                  provided by Integrated Login beyond the default DCE$                  credential lifetime        
         20 i  l              7         15.1 DCE Menu in the DECwindows Session Managers  G               Digital DCE for OpenVMS V1.3A includes an additional menutD               in the DECwindows session manager. This menu makes DCEI               easier to use for those users accessing DCE services from a I               DECwindows workstation. The DCE menu, shown below, providesoB               easy-to-invoke access to the following DCE services:  !                  Namespace Editori                   Resource Broker  %                  Show DCE Credentials (                  Refresh DCE Credentials$                  Change DCE Password  $                  DCE Registry Editor$                  CDS Control Program$                  RPC Control Program  =         15.2 DCE$REFRESH Utility to Refresh Login Credentialso  D               Digital DCE for OpenVMS V1.3A provides the DCE$REFRESHC               utility that refreshes the login credentials providedmC               by Integrated Login beyond the default DCE credential F               lifetime. (Login credentials expire at regular intervals)               unless they are refreshed.)t  ?               If you are a DECwindows workstation user, you cantF               automatically refresh your login credentials by startingC               the DCE$REFRESH utility in one of the following ways:0  A               o  Select Refresh DCE Credentials from the DCE menus  +               o  Run SYS$SYSTEM:DCE$REFRESH   I               The DCE$REFRESH utility asks for your DCE password and then E               runs in the background. It automatically refreshes your 8               login credentials just before they expire.  G               You can interactively refresh credentials by entering therG               kinit command, but you must repeat that command each timeU2               the credentials are about to expire.      I                                                                        21     Y              &         16 Restrictions and Known Bugs  H               The following sections provide details on restrictions andD               known bugs in this version of Digital DCE for OpenVMS.  1         16.1 Preinstallation Kit on OpenVMS Alphau  I               Do not be concerned if you see the following message duringeE               your installation of the DCEPRE013 kit on OpenVMS AlphaA               Version 1.5:  G    %INSTALL-E-RESFAIL, failed to install image with /RESIDENT qualifierdN    -INSTALL-E-NOGHREG, insufficient memory in the code granularity hint regionO    %INSTALL-I-NONRES, installed image non-resident with other specified optionsn  A               This error occurs because the DECC$SHR.EXE image iseA               already installed /RESIDENT and there is not enoughdB               space to install the new DECC$SHR.EXE /RESIDENT. YouF               should reboot as soon as you can to resolve the problem.G               Until you reboot, you may experience a slight decrease in                performance.  ;         16.2 Upgrading from the Digital DCE Developers' Kit   E               Before you upgrade from the Digital DCE Developers' Kit F               for OpenVMS VAX Version 1.0 to Digital DCE Version 1.3A,H               you should shut down DCE Version 1.0 on the system. If DCEH               Version 1.0 is running in a cluster, be sure to repeat theI               shutdown procedure on all nodes of the cluster. The command                to do this is:  +               $ @SYS$MANAGER:DCE$SETUP STOP   G               If you do not perform this step before installing Version D               1.3A of DCE for OpenVMS, DCE$SETUP will not detect theF               presence of the Local Directory Service Daemon (LDSD) onI               your system and will not shut it down. The DCE$LDSD process H               will remain running on the system until the next reboot orG               until it is stopped with the STOP /ID=pid command. LDS is F               an obsolete facility that was replaced by CDS in Version-               1.1 of Digital DCE for OpenVMS.i  F               Note that if LDSD remains active on your system, it willH               have NO effect on the operation of Version 1.3A of DigitalD               DCE for OpenVMS. RPC looks only for the Cell DirectoryB               Services (CDS) facility for name service operations.  
         22                   :         16.3 Interoperability with the DCE Developers' Kit  A               No specific testing has been performed with the DCEoC               Developers' Kit for OpenVMS Version 1.0. However, therC               RPC and Threads components of the Developers' Kit aren8               prerequisites and should work as expected.  0         16.4 Support for RPC Only Configurations  F               Digital DCE for OpenVMS Version 1.3A supports the use ofH               RPC without the use of other DCE components or the need toH               configure a DCE cell. Because OpenVMS DCE is based on OpenG               Software Foundation's DCE source code, this functionalitysF               could become unsupported in a future version of OSF DCE,F               and thus unsupported in Digital DCE for OpenVMS. DigitalH               will make every effort to continue the support of RPC ONLYD               configurations; however, be advised that a possibilityB               exists that future versions may not support RPC ONLY-               without configuring a DCE cell.n  -         16.5 RTI (Remote Task Invocation) RPC   F               RTI RPC is a transactional RPC which is provided for useG               with Digital's ACMSxp TP product. RTI RPC requires OSI TP ;               from the OSI Application Developer's Toolkit.   '         16.6 Format of X.500 Cell Names   E               X.500 cell names have the form c=country/o=organization H               /ou=organization unit. X.500 cell names can contain spacesC               or hyphens if they are enclosed in double quotes, butbF               underscores are never allowed, even if they are enclosedG               in double quotes. For example, the X.500 cell names /c=usiI               /o=digital/ou="excess cell" and /c=us/o=digital/ou="excess- G               cell" are allowed, but /c=us/o=digital/ou=excess_cell andt?               /c=us/o=digital/ou="excess_cell" are not allowed.   H         16.7 Shutting Down Digital DCE for OpenVMS Before Reinstallation  H               If you are installing Digital DCE for OpenVMS Version 1.3AE               over an existing version of DCE on a common system diskiF               in a VMScluster environment, be sure to shut down DCE onD               all nodes that share the common system disk before theF               installation. If you do not shut down DCE and you selectF               the PURGE option within VMSINSTAL, parts of DCE and yourF               OpenVMS cluster may exhibit undesirable characteristics.  I                                                                        23s e  e              E               If you are reinstalling Digital DCE for OpenVMS Version F               1.3A over a Version 1.3 field test kit and you are usingF               Integrated Login, and if you do not shut down DCE on allD               nodes that share the common system disk, you can causeH               the LOGINOUT image to fail to run on all of the nodes that+               share the common system disk.e  ?               You can correct this problem by shutting down andaH               restarting DCE on the affected nodes. However, if LOGINOUTI               is not running you cannot log in; therefore you must reboota0               the system to correct the problem.  4         16.8 Configuring a CDS Replica Clearinghouse  I               Before you configure a CDS replica clearinghouse, make sure E               that the system clock is synchronized to within secondsiE               of the CDS master server. To validate the time, use thee                following command:  ,               $ dtscp show dce local servers  D               This shows the skew between the host and all other DTS"               servers in the cell.  6         16.9 Reconfiguring a CDS Replica Clearinghouse  F               If it becomes necessary to reconfigure or rebuild a hostE               that includes a CDS replica clearinghouse, you may findiE               that the creation of the clearinghouse succeeds but thetE               skulk that is executed immediately after fails. If this :               happens, you will see the following message:  M               *** The creation of the CDS Replica Clearinghouse has succeeded K               *** but the namespace has been left in an inconsistent state. O               *** This condition will correct itself in a short period of time.jF               *** Once the command "cdscp set dir /.: to skulk" can beL               *** successfully executed the namespace will be consistent andF               *** the replica clearinghouse will be fully operational.@               *** In the meantime you can replicate directories.  F               This is a known problem. The situation will clear itselfG               in about an hour; however, you will not be able to create D               any other clearinghouses until this condition has been               corrected.  E               If you want to correct the problem immediately, you can H               restart DCE on the master server. You will then be able toI               skulk the root directory and add additional clearinghouses.r  
         24                   4         16.10 Privileged User Refreshing Credentials  =               When a priviledged process creates or refreshesoG               credentials, the owner UIC for the files is [DCE$SERVER].sI               If a privileged process needs to refresh credentials for anrG               unprivileged process, the privileged process should firsttE               change its owner UIC to be the same as the unprivilegedlF               process and disable its privileges. Otherwise, the ownerG               UIC for the updated credentials will be [DCE$SERVER], andeH               the unprivileged process may no longer be able to read its               own credentials.  H         16.11 Support for Integrated Login Before DCE Startup on OpenVMS               Systemsn  F               If your OpenVMS system startup allows interactive loginsI               to occur before DCE is started, the interactive logins that E               occur before DCE is started will not support Integrated                Login.  B               If you interactively log in to OpenVMS before DCE isA               started, you must specify your OpenVMS username andCG               password. You will not be logged in with DCE credentials.mB               (If you log in after DCE is started on systems whereA               Integrated Login is enabled, it is recommended thataE               you specify your DCE principal name and password at the I               username and password prompts when using Integrated Login.)e  H         16.12 Support for Integrated Login Before DCE Startup on OpenVMS               Workstations  G               If your OpenVMS system startup allows DECwindows Motif toeI               start up and display the DECwindows login box before DCE is H               fully started, the first DECwindows login will not supportG               Integrated Login. In this case, Integrated Login will notaI               be supported even if the first login occurs after DCE is up                and running.  C               If DECwindows Motif displays the DECwindows login boxVB               before DCE is started, you must specify your OpenVMSG               username and password. You will not be logged in with DCEaG               credentials. (If the DECwindows login box is displayed onrH               your workstation after DCE is started and Integrated LoginE               is enabled, it is recommended that you specify your DCEfF               principal name and password at the username and password3               prompts when using Integrated Login.)e  I                                                                        25                    A         16.13 32-Character Restriction on DCE Principal Names forg               Integrated Login  F               When you log in to an OpenVMS system that has IntegratedI               Login enabled, you can specify either your OpenVMS username I               or your DCE principal name at the username prompt. However,;D               the DCE principal name you specify can contain no moreF               than 32 characters. If your principal name and cell nameG               combination contains more than 32 characters, specify theLG               OpenVMS username that is associated with your DCE account F               instead. (This username is entered in the DCE$UAF file.)D               You should still enter your DCE password to obtain DCED               credentials even if you specify your OpenVMS username.  ?         16.14 Running DCE IMPORT in Batch Mode Without Password   G               If you run DCE IMPORT in batch mode and you do not supply E               a password for the DCE account on the command line, the D               password valid flag incorrectly remains set in the DCEE               registry. Because a password was not supplied, the flag H               should indicate password not valid and the user should notF               be allowed to log in. In Version 1.3A, a scan of the DCEE               account via RGY_EDIT reveals the incorrect flag settingKG               (password valid when actually the password is not valid).rG               However, the user will not be allowed to log in (which is F               the correct behavior). This problem will be corrected to?               indicate an invalid password in the next release.a  G         16.15 Conversion of DCE$UAF.DAT Files Created Before Field TestS               Update  @               This note applies to field test customers who haveE               DCE$UAF.DAT files created by the initial version of DCESE               field test software and who did not convert those filesi?               after installation of field test update software.   H               Integrated Login depends on a supplement to the system UAFH               file named DCE$UAF.DAT. This file is stamped with internalH               version information that prevents version skew between theG               file and the control library (API) used to manipulate theo               file.S  G               For customers upgrading from Digital DCE for OpenVMS V1.3 F               field test to the final V1.3A software, Integrated LoginG               cannot be enabled until the existing DCE$UAF.DAT file has D               been converted to a newer format. DCE$SETUP.COM checksG               for an out-of-rev file and prevents Integrated Login fromS  
         26 n  e              I               starting if one is found, and a message describing the need /               for file conversion is displayed.C  B               If Digital DCE for OpenVMS is installed in a cluster<               environment, you must do one of the following:  F               o  Convert a cluster-wide DCE$UAF.DAT file and share the>                  latest DCE software with all cluster-members.  F               o  Split the cluster members into two sets: one with theH                  older DCE version and one with the newer. The newer setE                  would need to access a converted DCE$UAF file from a G                  system-specific directory and the older set would needcE                  to access an unconverted DCE$UAF file from a system-gG                  specific directory. (You would forgo the capability ofnG                  sharing the file until all cluster members are runningt*                  the latest DCE software.)  C               To convert DCE$UAF.DAT to a newer format, perform the                following steps:  G               1. Complete the installation of the final V1.3A software.iI                  If you did not see a message concerning file conversion, C                  your file is already of the correct version (or no I                  DCE$UAF.DAT file currently exists). You need not concern 7                  yourself further with file conversion.n  E               2. Copy the DCE$UAF.DAT file (usually in SYS$SYSTEM) tos!                  OLD-DCE$UAF.DAT.o  ?               3. From any convenient directory, run the utilityoH                  SYS$UPDATE:DCE$CONVERT_UAF_FILE. It will either convertI                  the DCE$UAF file or print a message explaining that fileeG                  conversion is not necessary. On successful conversion,rH                  the file NEW-DCE$UAF.DAT file is created in the current#                  default directory.D  E               4. Copy NEW-DCE$UAF.DAT file to SYS$SYSTEM:DCE$UAF.DAT.   <               5. Enable integrated login with DCE$SETUP.COM.          I                                                                        27E F  H              <         16.16 Potential Integrated Login and SYSGEN Problems  G               The Integrated Login component of Digital DCE for OpenVMS G               uses the SYSGEN parameter LGI_CALLOUTS. LGI_CALLOUTS must F               be set to 1 only in the ACTIVE SYSGEN parameter set whenH               DCE is running with Integrated Login enabled. LGI_CALLOUTSD               must never be set to 1 in the CURRENT SYSGEN parameterE               set - this would prevent all logins from occurring on aiG               subsequent reboot of the system. The following paragraphs G               discuss the reasons for this restriction and solutions if !               the problem occurs.u  D               If Integrated Login is enabled on your system, the DCEF               startup and configuration procedure, DCE$SETUP.COM, setsI               the SYSGEN parameter LGI_CALLOUTS to 1 in the ACTIVE SYSGENtH               parameter set when DCE is started and resets the parameterF               when DCE is shut down. LGI_CALLOUTS must never be set toD               1 in the CURRENT SYSGEN parameter set because, in thatG               case, the next time the system is booted the LGI_CALLOUTSoH               parameter is set in the ACTIVE SYSGEN parameter set beforeB               DCE is started. This prevents logins from occurring.  F               If the ACTIVE value of LGI_CALLOUTS is set to 1 when DCEG               and Integrated Login are not running, the following error F               is displayed when LOGINOUT attempts to run (for example,/               for interactive or batch logins):s  #               No logical name matchy  F               Consequently, all users are prevented from logging in to               the system.   H               This problem can occur if, for example, a SYSGEN parameterE               is modified in the following way while Integrated LoginpE               is enabled. This prevents logins because it causes LGI_dI               CALLOUTS to be set to 1 the next time the system is booted.   %               $ RUN SYS$SYSTEM:SYSGENa%               SYSGEN> SET param value #               SYSGEN> WRITE CURRENT                SYSGEN> EXIT               $y      
         28 i  a              E               The correct way to modify a SYSGEN parameter is to makeiE               the change in MODPARAMS.DAT and then run AUTOGEN. If ittE               is essential to modify a SYSGEN parameter without usingtD               MODPARAMS.DAT and AUTOGEN, you must ensure that if youH               use ACTIVE, you write the parameters into ACTIVE only; andG               if you use CURRENT, you write the parameters into CURRENTeC               only. Do not copy the ACTIVE parameters into CURRENT.S  G               Following are two examples of acceptable ways to modify av               SYSGEN parameter:   %               $ RUN SYS$SYSTEM:SYSGENT!               SYSGEN> USE CURRENT %               SYSGEN> SET param value #               SYSGEN> WRITE CURRENTi               SYSGEN> EXIT               $.  %               $ RUN SYS$SYSTEM:SYSGENiB               SYSGEN> USE ACTIVE     ! optional, default is ACTIVE%               SYSGEN> SET param valuee"               SYSGEN> WRITE ACTIVE               SYSGEN> EXIT               $t  G               If you cannot log in because LGI_CALLOUTS is set to 1 and.F               DCE is not running, there are two solutions, as follows:  I               -  If you are already logged into the system, use SYSGEN to %                  correct the problem.v  (                  $ RUN SYS$SYSTEM:SYSGEN+                  SYSGEN> SET LGI_CALLOUTS 0 %                  SYSGEN> WRITE ACTIVEs                  SYSGEN> EXIT                   $  H               -  Reboot the system with a conversational boot and ensure4                  the LGI_CALLOUTS parameter is zero.  ,                  SYSBOOT> SET LGI_CALLOUTS 0                  SYSBOOT> Cp      I                                                                        29e e  o              :         16.17 Object-Oriented RPC and Upward Compatibility  E               Digital DCE for OpenVMS Version 1.3A introduces Object-sE               Oriented RPC, which consists of IDL and RPC support for,I               C++ applications. The functionality provided is a subset of I               the full set of features that will eventually be available, G               but contains all the base capability needed to use remote -               objects transparently from C++.r  F               The final Version 1.3A release of Object-Oriented RPC isI               functionally equivalent to the field test update, but theren+               are several internal changes.   C               If you built an application using Object-Oriented RPC @               functionality in the field test release, recompileD               and relink the application after you install the finalE               Version 1.3A release. (The easiest way to identify suchXC               applications is that they use the -lang cxx option toaD               compile their .IDL file(s).) You do not need to changeI               your code, because the APIs visible to the application willx               remain the same.  F               An application using Object-Oriented RPC in this releaseD               will be source compatible with subsequent releases; no/               source changes will be necessary.s  4         16.18 Object-Oriented RPC and C++ Exceptions  C               A client using Object-Oriented RPC invokes methods oneF               objects that causes IDL generated client stub code to beI               invoked. By default, communications errors or remote faultssF               that occur during the stub's processing cause exceptionsC               to be raised using the DCE Threads exception handlingnD               mechanism. Therefore, C++ code that needs to catch andG               respond to these exceptions must also use the DCE Threadss+               exception handling mechanism.   E               Some, but not all, C++ compilers have built-in language2C               support for exceptions. Currently, exceptions are notaA               supported in the DEC C++ for OpenVMS compilers. C++iA               application code that processes exceptions returned C               from DCE IDL stubs should continue to use DCE Threadse               exceptions.n    
         30    h              B               You can avoid the raising of exceptions from DCE IDLE               stubs by using the [comm_status] and [fault_status] ACFhF               attributes. For more information, see the Guidelines forG               Error Handling chapter in the DCE Application Developmentf               Guide.  I               A future version of Digital DCE for OpenVMS may address theaG               issue of compatibility between DCE Threads exceptions andp               C++ exceptions.   I         16.19 Linker Warning Messages in Object-Oriented RPC Applications   C               When you link the server image for a C++ application, E               you may receive linker warning messages about undefinede5               symbols. You can ignore these messages.t  E               This problem can occur for operations defined in an IDLcG               interface that is compiled with -lang cxx. Generally, anyeE               operation that is not static and not a creator functionDB               with the [cxx_new] attribute will cause an undefined               symbol.e  F               This problem is caused by a bug in the DEC C++ compiler.F               The IDL-emitted header file for the interface contains aI               proxy class definition that is used only by the client side G               of an application. The DEC C++ compiler creates a virtualsC               function table for the class, even if the applicationiG               does not create any objects of that class, such as on the H               server side of a DCE RPC application. The problem has beenG               reported and will be fixed in a subsequent release of the                DEC C++ compiler.   G               You can ignore these warnings because the server will not E               create any objects of that class. The undefined symbols '               will never be referenced.e  F               The problem does not appear if the client stub is linkedE               into the server image, because the client stub containscH               definitions of the symbols for the proxy class. The reasonI               a server image would contain a client stub is if the servercD               is also a client of the same interface. For example, aH               server might pass a Matrix object that was created locallyD               as an input argument in another remote procedure call.  5               Following is an example of the problem.   I                                                                        31                    A               IDL interface matrix.idl contains the following twon               operations:s  A                   void add([in] Matrix * m1, [out] Matrix ** m2);l  $                   Matrix * invert();  G               The linker generates these warnings when the server image                is linked:  4               %LINK-W-NUDFSYMS, 2 undefined symbols:E               %LINK-I-UDFSYM,         CXX$ADD11MTRXPRXYXP6MTRX0FJ4QDSu=               %LINK-I-UDFSYM,         INVERT__11MATRIXPROXYXVpO           %LINK-W-USEUNDEF, undefined symbol INVERT__11MATRIXPROXYXV referenced 6                       in psect $DATA offset %X000000BCM                       in module SERVER file RPCU$:[RICO.TEMP.BLD]SERVER.OBJ;1 P               %LINK-W-USEUNDEF, undefined symbol CXX$ADD11MTRXPRXYXP6MTRX0FJ4QDS               referenced6                       in psect $DATA offset %X000000C4M                       in module SERVER file RPCU$:[RICO.TEMP.BLD]SERVER.OBJ;1t               ...n  C         16.20 IDL Compiler Error Message when License Not Installede  E               The IDL compiler requires an active software license indE               order to execute. Since the IDL compiler is packaged inaI               more than one software product, there are multiple licensesuH               that it checks for when it is invoked. If it finds none ofI               these licenses active, it issues an error message about thelG               last license it checked for, and then exits. For example:t                 $ IDL TEST.IDLN       %LICENSE-W-NOLIC, no license was found for this product - PWXXVMSDK05.01"       -RMS-E-RNF, record not foundN       %LICENSE-F-NOAUTH, DEC PWXXVMSDK05.01 use is not authorized on this nodeJ       -LICENSE-F-NOLICENSE, no license is active for this software product7       -LICENSE-I-SYSMGR, please see your system manager   <               In this case, the last license checked for wasG               PWXXVMSDK05.01. The error message might lead you to thinklD               that the PWXXVMSDK05.01 license is required for IDL toI               execute on Digital DCE for OpenVMS, but it is not required.yG               If you receive an error message similar to the one above,aD               check to make sure that an active license (such as theB               Application Developer's Kit license, DCE-APP-DEV) is               installed.  
         32 a  t                        16.21 Server Programming  H               When running DCE server applications on OpenVMS Alpha V6.1B               systems, it is possible to exhaust the server threadB               stack space if your server makes use of the %f or %eG               conversion characters for formatting output. For example, G               the following printf statement could cause an overflow off&               the server thread stack:  :               printf ("The computed value = %f\n", value);  B               This error can cause the server to terminate with anD               unexpected error code such as an Access Violation or a%               Reserved Operand Fault.s  B               If you experience this type of error, you must add aD               call to the RPC routine rpc_mgmt_set_server_stack_sizeI               specifying a stack size of at least 14000, prior to callingP                rpc_server_listen.  &         16.22 Compiling Stubs on Alpha  G               If a stub is compiled on Alpha with optimization switchedoH               on, it will not handle exceptions correctly. Therefore, onH               Alpha, you should compile stubs with optimization switched               off.  F               This problem will be fixed in a future release of DEC C.  E         16.23 Using the -cpp_cmd (/PREPROCESS) IDL Compiler Option ont               OpenVMS Alpha   C               When you specify the -cpp_cmd (/PREPROCESS) option in,C               an IDL command, the IDL compiler preprocesses any IDL D               or ACF sources by invoking the DEC C compiler with theG               /PREPROCESS_ONLY qualifier. Because of a bug in the DEC CiI               compiler on OpenVMS Alpha, the IDL compiler may incorrectly E               report source line numbers and contents when it reports                error messages.e  H               If your IDL and ACF source files do not use C preprocessorC               directives (such as #define), then you do not need tolG               specify the -cpp_cmd (/PREPROCESS) option. Otherwise, theuG               workaround is to change multiline comments to a series ofl#               single line comments.   I                                                                        33  e  d              %         16.24 POSIX and OpenVMS Alpha   E               On OpenVMS Alpha systems running POSIX Version 1.0, youDG               should use only one page file. If there are multiple pageeI               files installed on the system, DCE_LOGIN may cause a systemU               crash.  G         16.25 DEC C Applications Using G-float in the POSIX Environment   D               If you compile your DEC C DCE application in the POSIXF               environment on an OpenVMS VAX system, the DEC C compilerE               will not build with G-float if you specify the /G-floatsD               qualifier before the /LIBRARY qualifier on the command               line.   G               In the following example, the DEC C compiler uses D-floatt/               even though G-float is specified:   O    $ cc/decc/list/mach/g_float x.c+DECC$LIBRARY_INCLUDE:DECC$RTLDEF.TLB/libraryl  9               The problem is caused by the +DECC$LIBRARY_ G               INCLUDE:DECC$RTLDEF.TLB/library part of the command. This I               causes the compile to reset to the default double precision                type.r  G               To work around this problem, compile your program outsiderI               of the POSIX environment and specify the /G_float qualifier 1               after the text library, as follows:a                 $ CC/DECC -e.               _$ /PREFIX=(ALL,RTL="posixc$") -)               _$ /INCLUDE=POSIX$INCLUDE -e9               _$ x.C + POSIX$INCLUDE:POSIX$CDEF/LIBRARY -                _$ /G_FLOAT   F               Refer to the Guide to Programming with OpenVMS POSIX forC               more information about compiling outside of the POSIX                environment.  9         16.26 Information on the DCE Example ApplicationsE  F               Ten DCE examples are on the Digital DCE for OpenVMS kit.6               This section lists current restrictions:  G               o  On OpenVMS VAX, you need the OpenVMS POSIX Version 1.3OG                  MUP release or later in order to build and execute theh"                  Example Programs.  
         34 A  I              C               o  The example_bld.com and makefiles, which build thepD                  Example Programs, select the OpenVMS VAX/Alpha decc2                  /vaxc switch(s) and option files.  H               o  The credentials cache logical KRB5CCNAME (LNM$JOB) willG                  be accessible to POSIX processes/children only and notF9                  to subsequent psx> DCL invoked programs.$  D               o  Because FORTRAN is unavailable in the OpenVMS AlphaI                  POSIX environment, you cannot use the Payroll example one,                  OpenVMS Alpha at this time.  @               o  The DCEsx example is not supported in the POSIX*                  environment at this time.  /         16.27 UCX Runtime Calls Not Thread Safe   E               Note that UCX Runtime Calls are not always thread safe.g  F               UCX has two main application programming interfaces: VMSG               system services (for example, $ASSIGN, $QIO, $CANCEL) andpI               the C socket library. Of these two, the VMS system servicestI               are fully thread-safe, while the socket library is not. The D               most common problem with sockets is the select() call,C               which blocks the entire process (not just the callingDB               thread) until the specified I/O events occur (or the               timeout expires).p  1         16.28 C RTL Routine Sleep Not Thread Safe   H               The C RTL routine sleep is not thread safe. The sleep callF               may wake up prematurely if calls to DCE APIs are made atD               the same time. It is recommended that you use a threadI               safe mechanism such as pthread_delay_np, pthread_cond_wait, H               pthread_cond_timedwait, and pthread_cond_signal to delay aI               thread. For more information on these APIs, please refer to C               the OSF DCE Application Development Reference Manual.   .         16.29 DECrpc Version 1.0 Compatibility  C               DECrpc Version 1.0 compatibility is supported only ono@               OpenVMS VAX. It is not supported on OpenVMS Alpha.      I                                                                        35r n                 @         16.30 Rebuilding DECrpc Applications Against Digital DCE  H               If you take advantage of the compatibility capabilities ofF               DECrpc on Digital DCE for OpenVMS VAX, you may encounterE               undefined symbols when you link your application objecttA               code against the DCE library (DCE$LIB_SHR.EXE). ForYC               example, when you link the client object code of your C               DECrpc application interface (MY_APP) against the DCEyB               library, you receive the following undefined symbol:                  MY_APP_$CLIENT_EPV  H               When you link the server object code of MY_APP against theG               DCE library, you receive the following undefined symbols:n  !               MY_APP_$MANAGER_EPVU                MY_APP_$SERVER_EPV  A               The following table lists the undefined symbols you;C               receive if you use the following DECrpc include files H               from SYS$COMMON:[RPC$INCLUDE] in your application when youG               link your application object code against the DCE libraryd                (DCE$LIB_SHR.EXE).  L              _______________________________________________________________                           If yourO                          application        You receive the following undefined 4                          includes...        symbols:L              _______________________________________________________________5                           LLB.H       LLB_$CLIENT_EPVR<                                             LLB_$MANAGER_EPV;                                             LLB_$SERVER_EPVt  6                            GLB.H       GLB_$CLIENT_EPV<                                             GLB_$MANAGER_EPV;                                             GLB_$SERVER_EPVe  8                            RRPC.H       RRPC_$CLIENT_EPV=                                             RRPC_$MANAGER_EPV <                                             RRPC_$SERVER_EPVH              ___________________________________________________________  B               You can ignore these undefined symbols. They are notH               referenced by DCE or by application code and do not affect9               the running of your application in any way.   
         36    2              ,         16.31 Ordering of Startup Procedures  E               On OpenVMS VAX and OpenVMS Alpha Version 6.1 and later, E               the order of startup procedures follows: DECnet, TCP/IP !               software, then DCE.   H               On OpenVMS VAX Version 5.5-2 and 6.0, the order of startupC               procedures follows: CRT$STARTUP.COM (the CRTL Startup H               Procedure), then DECnet, TCP/IP software, and finally DCE.  /         16.32 Case-Sensitivity of DCE Utilities   F               Some input to Digital DCE for OpenVMS utilities is case-D               sensitive (for example, CDSCP entity attribute names).H               Since the DCL command line interface converts all input toI               uppercase before passing it to a utility, some input to theeG               DCE utilities will need to be enclosed in quotation marksa               (" ").  F               When you enter commands directly at DCE utility prompts,B               you should not use the quotation marks because case-@               sensitivity is preserved. (Case-sensitivity is notB               preserved by the Integrated Login utilities DCE$UAF,F               IMPORT, and EXPORT because these are true native OpenVMS               applications.)  5         16.33 CDSCP Commands Requiring a Local Serveri  H               There are several CDSCP commands which assume the presenceF               of a CDS server on the local system. These commands willG               not execute properly in the absence of a local server. At =               present, CDSCP will return the following error:   ,               Failure in routine: cp-xxxxxxx6               not registered in endpoint map (dce/rpc)  (               The affected commands are:  "                  CDSCP SHOW SERVER%                  CDSCP DISABLE SERVER +                  CDSCP CREATE CLEARINGHOUSE         I                                                                        37d                   ,         16.34 CDSCP DUMP CLERK CACHE Command  E               The CDSCP command to examine the CDS cache will fail ifpG               CDSCP is run under a Process UIC other than [DCE$SERVER].e  &               $ CDSCP DUMP CLERK CACHE+               Cannot map to memory cache -1s(               Failure in routine: cadump!               Internal: Not found   F               To work around this restriction, issue the following DCL.               command before you invoke CDSCP:  $               $ SET UIC [DCE$SERVER]  H               Remember to reset your UIC to its original value after you               use this command.   /         16.35 CDS Clerk Failing on UCX Shutdowng  C               If you issue a SYS$STARTUP:UCX$SHUTDOWN command while H               running DCE, you may get a CDS Clerk failure and an AccessC               Violation. You may then encounter problems restartingnE               the CDS Clerk (and DCE itself) with the DCE$SETUP STARTa               command.  F               The primary problem is that UCX is being shut down whileH               DCE is still active. Since DCE uses UCX, DCE should always!               be shut down first..  E               To recover from this problem, you need to shut down DCEfF               first and then restart. Simply trying to restart withoutA               first shutting DCE down will not fix the underlying @               problem. Because temporary files may be left in anA               indeterminate state, you may also want to perform a :               DCE$SETUP CLEAN operation before restarting.  2         16.36 Global Directory Agent Configuration  C               The Global Directory Agent (GDA) is configured on the D               OpenVMS node that contains the CDS Master Replica nameC               server. Make sure you choose the CUSTOM configurationrG               option when you do the configuration. The DNS domain namebD               (for example, zko.dec.com) and the Internet Address ofC               an authoritative DNS Master Bind Server (for example,wF               16.32.2.11) are required during configuration if you are-               using DNS Bind style cellnames.r  
         38    v              G               Before access to multiple CDS namespaces is possible, the =               following are required after the configuration:b  G               1. The Master Bind Server identified during configurationr?                  becomes the repository for information the GDAiG                  requires to resolve the internet addresses and bindingvF                  information needed by CDS to access foreign cell nameI                  spaces. This applies to DNS Bind cellnames only. See themH                  Intercell Naming chapter in the Digital DCE for OpenVMSD                  VAX and OpenVMS Alpha Product Guide for the binding;                  information content, location, and access.   F               2. Authenticated access to foreign (intercell) cell nameE                  space requires performing the RGY_EDIT cell command. E                  The information needed for the cell command requires[F                  coordination with the foreign cell administrator. ForI                  more information, see both the Administering a Multicell H                  Environment chapter in the OSF DCE Administration GuideH                  and the Intercell Naming chapter in the Digital DCE for=                  OpenVMS VAX and OpenVMS Alpha Product Guide.   G               3. Before doing the RGY_EDIT cell command, you must first F                  delete the krbtkt account for the foreign cell if oneE                  already exists. Similarly, the administrator for the H                  foreign cell must also delete the krbtkt account in theG                  foreign cell's registry for your cell. For example, ifXG                  your cell is called first_cell and the foreign cell isDI                  called second_cell, then you must run RGY_EDIT on first_aF                  cell to delete the account called krbtkt/second_cell,E                  and the administrator on second_cell must delete the ;                  registry account called krbtkt/first_cell.   H                  After the cell command, both cell administrators shouldG                  rerun DCE_LOGIN before attempting authenticated cross-s                  cell requests.g  >               If you are unsuccessful in configuring intercell5               communication, check for the following:   A               o  The clocks on the systems that are attempting toDH                  communicate show times that differ by no more than fiveI                  minutes. (Use DTS to change the system time once you areE                  running DCE.)    I                                                                        39                    H               o  CDS has the information that should be contained in theG                  CDS_GDAPointers field in the cell's root directory. If0F                  CDS does not have this information in the cell's rootH                  directory, restart the GDA daemon process (DCE$GDAD) by1                  entering the following commands:   #                  $ STOP/ID=xxxxxxxxs/                  $ @sys$manager:dce$setup starte  C                  where xxxxxxxx is the PID of the DCE$GDAD process.2                                                                      
         40