home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: Security / Security.zip / sec30250.zip / seinst.inf (.txt) < prev    next >
OS/2 Help File  |  2001-10-24  |  806KB  |  14,674 lines

  1.  
  2. ΓòÉΓòÉΓòÉ 1. Before you begin ΓòÉΓòÉΓòÉ
  3.  
  4. Before installing SecureEntry in a given machine, you should read carefully 
  5. this on-line manual, and be sure that all prerequisites are met. Notice that 
  6. this is a quite impressive piece of software, but because of its nature, it is 
  7. very important that you know what you are doing when using it. 
  8.  
  9. Also look for a file named  README.DOC in the first installation diskette, for 
  10. last minute changes and detailed driver changes description. 
  11.  
  12.      Copyright 
  13.  
  14.      What is SecureEntry 
  15.  
  16.      IMPORTANT : Delivery policy, beta components and packaging 
  17.  
  18.      Hardware requirements 
  19.  
  20.      Software requirements 
  21.  
  22.      If you had a previous version... 
  23.  
  24.      If you had a previous UCM version... 
  25.  
  26.  
  27. ΓòÉΓòÉΓòÉ 1.1. Copyright ΓòÉΓòÉΓòÉ
  28.  
  29. IBM SecureEntry for OS/2 Version 3
  30. 5793-R46 (C) Copyright IBM Corp. 1996
  31. All Rights reserved. US Government Users Restricted Rights -
  32. Use, duplication or disclosure restricted by GSA ADP
  33. Schedule Contract with IBM Corp.
  34. Licensed Materials - Property of IBM.
  35.  
  36.  
  37. ΓòÉΓòÉΓòÉ 1.2. What is SecureEntry ΓòÉΓòÉΓòÉ
  38.  
  39. SecureEntry is a software product that enhances any OS/2 workstation, in 
  40. standalone or network configuration by providing it with an extensive set of 
  41. functions in the area of security and personalization. 
  42.  
  43. With SecureEntry you can define the users and groups of users that are allowed 
  44. to use the workstations, and at the same time, set up their working environment 
  45. in such a way that they will have the machines already configured to do the 
  46. work they are intended to, by also restricting the features and functions they 
  47. should not be able to access. 
  48.  
  49. By doing all of the above, SecureEntry does effectively convert a single user 
  50. machine into a workgroup machine, which is effectively then a serially shared 
  51. multiuser machine. From the end user's perspective, all what changes from his 
  52. normal way of working is that an identification will be required before 
  53. starting a work session, being at that point when SecureEntry will establish 
  54. what security profiles to activate, thus setting up the environment for the 
  55. user working in the workstation. 
  56.  
  57. SecureEntry has been designed in such a way that security components can easily 
  58. be 'plugged in' so that if a given software or hardware piece is to be 
  59. secure-controlled, a new security component can be written and incorporated 
  60. easily to the architecture. As a sample, you can easily write and define to 
  61. SecureEntry an interface to your Netscape bookmark file so that each user 
  62. logging into any workstation will have his personal bookmarks activated for 
  63. him. The following security components are included in the base product : 
  64.  
  65.      Desktop restrictions component : Allows to restrict the properties of the 
  66.       objects existing in the OS/2 Workplace Shell desktop in a per user/group 
  67.       basis. For instance, you could define some objects to be visible for some 
  68.       users and invisible for others. 
  69.  
  70.      The Personal desktop component : Allows the definition of 'personal 
  71.       folders', as well as their contents, so that those folders will 'travel' 
  72.       with the user no matter in which machine does the user log on (supposing 
  73.       SecureEntry is installed in a networked environment). This folders are 
  74.       also known as memory and/or user folders. 
  75.  
  76.      The Launchpad component : Allows you to define a given Workplace Shell 
  77.       Launchpad for each user or group of users, so that each one has always 
  78.       the launchpad that better suits their working needs. 
  79.  
  80.      The Window list component : This component's purpose is to personalize 
  81.       the switch list behavior, with a wide range of options, that can vary 
  82.       from the inhibited state to a full-function one. You can, among other 
  83.       things, select which entries are allowed to appear in the switch list, 
  84.       and whether you permit it to be used only as a task switcher, or do 
  85.       specific manipulations with the appearing programs. You can also change 
  86.       the aspect of the switch list. 
  87.  
  88.      Windows behavior component : Also called restricted window frames, allows 
  89.       you to set up the initial position/size of any application frame window, 
  90.       as well as inhibit any of their system menu entries. For instance, you 
  91.       may be interested in not letting users to 'play' with a given application 
  92.       fonts, by deactivating that application's 'Fonts' menu entry. 
  93.  
  94.      SES behavior component : This component allows for customizing general 
  95.       operating parameters for the system, such as the desired Ctl-Alt-Del 
  96.       behavior, systemwide hot keys, or screen saver bitmaps and activation 
  97.       settings, in a per user or group basis. 
  98.  
  99.      Floppy restrictions component : This component works at a device driver 
  100.       level in order to avoid or allow floppy drive access depending on the 
  101.       customized profile for the user logged on. It allows also access in 
  102.       encrypted mode. 
  103.  
  104.      Treelock component : Working at a file system level, this component 
  105.       allows the administrator to define which part(s) of the existing file 
  106.       system is the user allowed to read, look at, write or execute, in a per 
  107.       process basis. For instance, you could define a given user to only be 
  108.       able to write to certain directories when working with a given word 
  109.       processor program. This component is also referred to as 'Tree_lock'. 
  110.  
  111.      The shortcuts component : This component allows for definition of 
  112.       shortcut keyboard/mouse combinations that allow for opening of the 
  113.       desired objects when issued. 
  114.  
  115.      The Hooked objects component : This component allows for the 
  116.       configuration of hooks to certain objects, so that a user chosen program 
  117.       is launched at object open or close time. This allows for easily setting 
  118.       up protected folders through one time password mechanisms. One 
  119.       implementation of such a tool is also supplied as part of this component. 
  120.  
  121.      The WarpCenter component : By using this component, you can define 
  122.       personalized warpcenters that match your security criteria, and then 
  123.       assign the resulting profiles to different users or user groups. 
  124.  
  125.      The Public Applications component : This component handles the 
  126.       administration of LAN Server Public Applications, allowing an 
  127.       administrator to assign a set of LAN Server Public Applications to users 
  128.       and groups of users. 
  129.  
  130.      The Processes Auditor component : This component allows you to measure 
  131.       the CPU utilization time by different processes on a user basis. 
  132.  
  133.      The Lotus Notes component : This component allows you integrate a user's 
  134.       NOTES.INI, .ID file and/or password in such a way that these data 
  135.       effectively travel with your user. The component will automatically 
  136.       provide the user password to Lotus Notes whenever it requests it, without 
  137.       user interaction. 
  138.  
  139.  Other than the above mentioned components, which are programs that in the end 
  140.  you can profile in a per user/group basis, SecureEntry would not be complete 
  141.  without another set of programs which allow you to fully 'lock' the 
  142.  workstation from a security point of view. These are : 
  143.  
  144.      Startup process : Substitutes the OS/2 'startup.cmd' default processing 
  145.       by enabling the processing of a command file which can not be interrupted 
  146.       by the user, thus making the complete boot process a secure one, and at 
  147.       the time allowing for startup messages and progress indicators to be 
  148.       shown. 
  149.  
  150.      Session control programs : These are really the 'heart' of a SecureEntry 
  151.       system, allowing for users identification and control, plus functions 
  152.       such as logoff, lockup, shutdown,... in a secure way. 
  153.  
  154.      Administration subsystem : Allows you to easily define and assign the 
  155.       security profiles for the different components to your users and groups 
  156.       of users, through a common and integrated view, which is independent from 
  157.       the SecureEntry installed environment. This subsystem includes graphical 
  158.       interactive and also batch tools to do the administration. 
  159.  
  160.      File integrity check tools : Which you can use to grant critical files 
  161.       integrity at certain intervals. 
  162.  
  163.      Other tools : Such as the VDM utilities or the selective application 
  164.       closer, can be used to end up the integration of the SecureEntry software 
  165.       with your own production software. 
  166.  
  167.      Programming APIs : SecureEntry provides also with a set of comprehensive 
  168.       programming interfaces and user exits which can be used to Taylor its 
  169.       behavior to the required customer's needs. 
  170.  
  171.  Combine these with the broad scope of environments supported, and the provided 
  172.  level of user customization and code exits that allow for perfect customer 
  173.  control, and you will envision the new meaning that SecureEntry gives to the 
  174.  concept of 'Workstation security'. 
  175.  
  176.  SecureEntry is a very complex package, and for its nature, you are encouraged 
  177.  to read this document carefully before attempting to install and run this 
  178.  package. 
  179.  
  180.  
  181. ΓòÉΓòÉΓòÉ 1.3. IMPORTANT : Delivery policy, beta components and packaging ΓòÉΓòÉΓòÉ
  182.  
  183. Delivery policy 
  184.  
  185.  It is important to notice that SecureEntry, as a package, is not being 
  186. developed following the traditional versioning scheme of other products. Due to 
  187. its modular nature, we are allowed to follow a more flexible and customer 
  188. oriented policy. That is : 
  189.  
  190.  We are not providing with new or repackaged versions of the product in a 
  191. timely basis. Instead, we distribute quite frequently new builds which are a 
  192. complete replacement for the old ones. A new build can be used to install a new 
  193. machine or service a previous SecureEntry installed one. This new builds 
  194. incorporate : 
  195.  
  196.      Fixes to existing reported problems 
  197.  
  198.      New functions 
  199.  
  200.  For the first ones, i.e fixes, you are recommended to install the new build 
  201.  only if you have faced the reported fixed problems, which are described within 
  202.  the README.DOC file supplied with that build level, unless otherwise stated. 
  203.  
  204.  For the second ones, i.e new functions, these will be installed with the new 
  205.  build, but will be in 'beta' i.e not fully granted state for a while. The 
  206.  functions that are still in beta will be also properly documented within the 
  207.  above mentioned readme file. 
  208.  
  209.  As a last fact, note that we will only accept problem reports for production 
  210.  machines on functions that are not in beta. Likewise, you are only allowed to 
  211.  use these new functions appearing after your SecureEntry contract, as long as 
  212.  you have contracted SecureEntry evolutive maintenance. 
  213.  
  214.  Packaging : Evaluation vs. Production copies 
  215.  
  216.  SecureEntry has two different licensed package types : 
  217.  
  218.      An evaluation copy is full functional but only valid for a granted amount 
  219.       of days, being it normally of 180 days after build creation. After this 
  220.       period, you will start receiving messages about the fact that either the 
  221.       product has to be deinstalled, or properly licensed. Note that you are 
  222.       not allowed to run an evaluation copy in a production environment. 
  223.  
  224.      A production copy does not expire. 
  225.  
  226.  You can service a machine with an evaluation copy using a production copy, and 
  227.  the machine will automatically become licensed. Similarly, you can service a 
  228.  production copy with an evaluation one, and the machine will remain a 
  229.  production copy enabled one. 
  230.  
  231.  You can verify the type of package to install by looking into the ASCII file 
  232.  SENTRY.SIG, located in all of the distribution diskettes. After installing, 
  233.  this file is placed in the SecureEntry path, INSTALL directory. 
  234.  
  235.  UCM code 
  236.  
  237.  Note that the distribution policy for UCM code is slightly different : 
  238.  
  239.      There is no evaluation version of the UCM-MVS/ESA code. This code is only 
  240.       supplied to contracted customers. If you want to checkout the 
  241.       functionality provided by UCM, please proceed to install the UCM-OS/2 
  242.       code, which is supplied with SecureEntry/2. 
  243.  
  244.      For the UCM-OS/2 code, the code is supplied completely with SecureEntry/2 
  245.       drivers, either evaluation or production ones. However, the UCM-OS/2 code 
  246.       as provided is locked and can be used only for evaluation purposes for a 
  247.       period no longer than 180 days after package creation date. Once 
  248.       evaluated, and if you choose to contract the solution, you will be able 
  249.       to unlock the code as explained in the UCM administrator guide. 
  250.  
  251.  
  252. ΓòÉΓòÉΓòÉ 1.4. Hardware requirements ΓòÉΓòÉΓòÉ
  253.  
  254. The following is necessary to run this version of SecureEntry : 
  255.  
  256.    1. A machine with 12 MB of memory (or more) and a 486-level processor 
  257.       (minimum) 
  258.  
  259.    2. Disk space free of at least 11.5 Mb (2 Mb additional required if you plan 
  260.       on installing the SecureEntry tutorial) 
  261.  
  262.    3. LAN hardware for LAN installations. 
  263.  
  264.  Note that when using WorkSpace On-Demand, you may also use Intel(c) 
  265.  architecture Network Station client machines such as the IBM Network Station 
  266.  series 2800 thin client, which has been fully tested as a RIPLable client, 
  267.  SecureEntry enabled of a WorkSpace On-Demand server. 
  268.  
  269.  
  270. ΓòÉΓòÉΓòÉ 1.5. Software requirements ΓòÉΓòÉΓòÉ
  271.  
  272. The following (or upper level) software must be installed in the machines were 
  273. you intend to install SecureEntry 3.0 on : 
  274.  
  275.    1. OS/2 WARP with Fixpack 17 or superior. The minimum screen resolution 
  276.       supported for administration tasks is of 800 x 600. 
  277.  
  278.    2. OS/2 SES (Security Enabling Services). This is only mandatory if you 
  279.       choose to use it at installation time instead of the SecureEntry provided 
  280.       SES emulator. 
  281.  
  282.    3. IBM LAN Server/Requester 4.0 Only for Lan Server type SecureEntry 
  283.       installs. The Server must be installed in the machine intended for 
  284.       SecureEntry Server function. 
  285.  
  286.    4. WorkSpace On-Demand, only if you wish to use SecureEntry WorkSpace 
  287.       On-Demand support. For WorkSpace On-Demand 1.0, the OS/2 Warp 4 code that 
  288.       execute the WorkSpace On-Demand requesters must be at FixPak 8 level 
  289.       minimum (FixPack 9 is recommended however to avoid memory leak problems). 
  290.       For WorkSpace On-Demand 2.0, then you won't need any additional FixPak 
  291.       for the OS/2 Warp 4 code that the WorkSpace On-Demand requesters execute. 
  292.  
  293.    5. If using the Processes Auditor Component, you are strongly encouraged to 
  294.       have Fixpak 40 for Warp 3.0, or Fixpak 10 for Warp 4.0. 
  295.  
  296.    6. If using the Editor of the Lotus Notes Component, you will need the Java 
  297.       runtime environment. Supported Java versions: 
  298.  
  299.           Java 1.2, also known as Java2. 
  300.  
  301.           Java 1.1.7A. In this case you will also need to have Swing 1.0.3 
  302.            installed. 
  303.  
  304.    7. If using the SecureEntry Java APIs, you will need the Java2 1.3 runtime 
  305.       environment. 
  306.  
  307.    8. If installing the UCM feature, then you also need : 
  308.  
  309.         a. DDCS/2 single user in the UCM administration workstations 
  310.  
  311.         b. The following Host computer software : 
  312.  
  313.              1. MVS/ESA 
  314.  
  315.              2. DB2 
  316.  
  317.              3. RACF V1.9.2 or later (if using RACF validation). 
  318.  
  319.  
  320. ΓòÉΓòÉΓòÉ 1.6. If you had a previous version of SecureEntry installed. ΓòÉΓòÉΓòÉ
  321.  
  322. If you had SecureEntry 2.0 or 1.0 installed: 
  323.  
  324. You must deinstall it before upgrading. Use the appropriate tool supplied with 
  325. your current version of SecureEntry to do so. Note that desktop restriction 
  326. profiles you may already have in your installation are fully compatible with 
  327. SecureEntry 3.0, as well as Launchpads. SecureEntry 3.0 can migrate those 
  328. together with your users definitions to the new database format. To do so, you 
  329. must run the 'MIGRADB.CMD' program once in the SecureEntry Server machine after 
  330. reinstalling the new version. Note that this tool expects the environment 
  331. variable 'SGM_LS' to be set and pointing to the directory where the 'old' 
  332. SecureEntry users information was stored. (take note of its setting before 
  333. deinstalling the current version). 
  334.  
  335. If you had an 'alpha' version of SecureEntry 3.0 installed (builds 35..72) : 
  336.  
  337. Do the following : 
  338.  
  339.    1. Save, if necessary, the file 'x:\SGMSHELL\NOUSER\EDYREGDB.VLB' (only if 
  340.       it exists and you want to keep on working with it after installing. Note 
  341.       that this file is the database for all the users and groups security 
  342.       components. If you decide so to maintain it, remember to enter as 
  343.       institution name at installation time, the string 'SER' (three 
  344.       characters), so that the master key used to decipher this file is 
  345.       compatible with the one used to encipher your old database. 
  346.  
  347.    2. Save the files 'x:\SGMSHELL\DLL\EDYCUST.DLL' and 
  348.       'x:\SGMSHELL\EXEC\EDYCUST.CMD' if you have used the SecureEntry user 
  349.       exits to do anything special and wish to keep on doing it after 
  350.       installing. 
  351.  
  352.    3. If you have a user written file 'x:\SGMSHELL\EDYFILT.DLL', save it also. 
  353.  
  354.    4. Save also the file 'EDYSTART.CMD', from the boot drive root directory, 
  355.       for if you have some code there that you wish to keep. 
  356.  
  357.    5. If you have machine security profiles (located in the nouser directory), 
  358.       copy those to the first SecureEntry 3.0 installation diskette within a 
  359.       directory named 'NOUSER' which you will have to create. Then at 
  360.       installation time these profiles will be copied were they belong. 
  361.  
  362.    6. Execute the command 'UNINSTAL.CMD' located in the first SecureEntry 3.0 
  363.       diskette. It may give you some warnings, and errors about commands not 
  364.       found, but upon a shutdown and reboot, will be able to deinstall 
  365.       SecureEntry alpha from your machine. 
  366.  
  367.    7. After rebooting, notice that SecureEntry alpha is no longer in the 
  368.       machine. Note that this is not exactly the case, since some warnings 
  369.       appeared in the previous steps, but enough is done so that reinstalling 
  370.       will succeed. Now, proceed with the installation. 
  371.  
  372.    8. Then install the actual copy of SecureEntry, by following the steps 
  373.       explained under 'Installing SecureEntry'. 
  374.  
  375.    9. After installing this version of SecureEntry, and before rebooting, 
  376.       recopy the above saved files : 
  377.  
  378.           Place the user exit code where it belongs, after migrating it 
  379.            manually (note that there are some new entry points and that 
  380.            security components do not any longer require to be activated here). 
  381.            These are the 'EDYCUST.*' files. 
  382.  
  383.           Place your original 'EDYSTART.CMD' file again in the boot drive root 
  384.            directory. 
  385.  
  386.           Place your personal 'EDYFILT.DLL' in the 'DLL' directory. 
  387.  
  388.           If you have an 'EDYREGDB.VLB' file saved (security components 
  389.            database), then place it in the 'NOUSER' directory. (Note that you 
  390.            may have to remove the READONLY attribute from this file) 
  391.  
  392.  If you had a previous 'beta' or GA version of SecureEntry 3.0 (builds 72..) : 
  393.  
  394.  Follow the service procedure to update your software. This is explained 
  395.  afterwards, under Providing service to a SecureEntry 3.0 machine. 
  396.  
  397.  
  398. ΓòÉΓòÉΓòÉ 1.7. If you had a previous version of UCM installed. ΓòÉΓòÉΓòÉ
  399.  
  400. If you have UCM 3.0 already installed, and you want to migrate to UCM V4R0 
  401. revision, then you must follow the steps explained underneath: 
  402.  
  403.    1. Follow the service procedure explained in the UCM administrator guide to 
  404.       set up UCM V4R0 at your host site. 
  405.  
  406.    2. Follow the service procedure to upgrade your UCM administrator 
  407.       workstation software. This is explained afterwards under Setting up the 
  408.       User Centralized Management workstation. 
  409.  
  410.    3. You can skip this procedure if you do not plan to activate the new UCM 
  411.       Refresh Branch Online procedure, since what follows is a sample guideline 
  412.       of how to migrate your branches and activate the Refresh branch online 
  413.       procedure: 
  414.  
  415.           You have to migrate your branches to SecureEntry build level 191 or 
  416.            higher. You can do this task by applying SERVICE to your machines, 
  417.            as explained under Providing service to a SecureEntry 3.0 machine. 
  418.            Note that the service procedure does not add the policy refresh 
  419.            parameter to the appropriate server's edystart.cmd line (EDYSRV load 
  420.            sentence). You can force this change by adding the appropriate rexx 
  421.            code to a service hook (POSTSERV.CMD), as explained under 
  422.            Personalized installations. The EDYSRV refresh policy parameters are 
  423.            explained under EDYSRV and EDYFREE. 
  424.  
  425.           While you are activating the refresh procedure, you can use both 
  426.            methods to update the branches definitions (group and resource 
  427.            definitions): the refresh branch online (EDYSRV.EXE with refresh 
  428.            parameter) and the batch process (EDYUCDIS.EXE, UCMP01, ... ) 
  429.            method. 
  430.  
  431.            Both methods can live together while you are changing the load 
  432.            parameter for EDYSRV process. You have to be aware of the fact that 
  433.            the UCM change tables at the host can not be deleted until the 
  434.            migration has been ended and you are still using the batch update 
  435.            process. To grant it, you can follow the next steps: 
  436.  
  437.              -  When you run the UCMP01 and UCMP02 batch processes to get delta 
  438.                 information of your branches, the Force Delete parameter must 
  439.                 be specified with 'N' value. 
  440.  
  441.              -  Do not change the threshold branch number. This parameter of 
  442.                 the policy refresh must remain set to '0000' value. This is to 
  443.                 prevent the deletion of the UCM change tables through the 
  444.                 refresh branch online process. 
  445.  
  446.              -  Once you have activated the refresh parameter for EDYSRV 
  447.                 process at all of your branches, and no longer expect to use 
  448.                 the batch update process, you can then modify the threshold 
  449.                 branch number value to activate the purge process of the UCM 
  450.                 change tables and set it to the appropriate value (number of 
  451.                 installed branches). You can do this by using the UCM users and 
  452.                 groups management tool. 
  453.  
  454.  
  455. ΓòÉΓòÉΓòÉ 2. Installing SecureEntry ΓòÉΓòÉΓòÉ
  456.  
  457. The SecureEntry install process is composed of two different subprocesses : 
  458.  
  459.      First, the SecureEntry installation setup, which is always interactive, 
  460.       allows you to define the parameters and characteristics for your 
  461.       installation(s), ending up by writing a response file for the second 
  462.       part. The module that does this work is INSTALL.EXE. This module invokes, 
  463.       if the user chooses to do so, the second part of the installation in 
  464.       order to setup the actual machine. 
  465.  
  466.      Then, the SecureEntry workstation installation process, where the 
  467.       SecureEntry files are transferred to the system, and the environment is 
  468.       set up in the machine so that after rebooting the machine, SecureEntry 
  469.       will be installed, enabled and running. This part of the installation can 
  470.       be either interactive or batch (no user intervention). INSTALB.EXE is the 
  471.       module in charge of this part. 
  472.  
  473.      Installation environments 
  474.  
  475.      Regular installations 
  476.  
  477.      Personalized installations 
  478.  
  479.      Workstation installation utility 
  480.  
  481.      Setting up the User Centralized Management workstation 
  482.  
  483.      Setting up a backup domain controller for Lan Server 
  484.  
  485.      Providing service to a SecureEntry 3.0 machine 
  486.  
  487.      What to do if installation fails 
  488.  
  489.  
  490. ΓòÉΓòÉΓòÉ 2.1. Installation environments ΓòÉΓòÉΓòÉ
  491.  
  492. One of SecureEntry's strongest points is its flexibility. That is, the ability 
  493. of this software to run in different environments and to be adapted to fit 
  494. different security requirements. The following picture shows the different 
  495. suitable scenarios for installation. 
  496.  
  497. The best part of all this is that administering/working with one, one hundred 
  498. or ten thousand workstations is exactly done the same way, irrelevant of the 
  499. environment, with the same tools and easiness, except for few exceptions. 
  500.  
  501. This chapter provides detailed description for the different environments: 
  502.  
  503.      Standalone environment 
  504.  
  505.      IBM Lan server environment 
  506.  
  507.      Network environment.Other networks 
  508.  
  509.      Special (centralized) environments 
  510.  
  511.  
  512. ΓòÉΓòÉΓòÉ 2.1.1. Standalone environment ΓòÉΓòÉΓòÉ
  513.  
  514. Being the simplest one, this working environment is intended for not networked 
  515. machines, in which administration and runtime are done from the same 
  516. workstation, which also holds the security database were the different security 
  517. profiles are stored. This environment is very well suited for home machines, 
  518. mobility professionals with shared portable workstations, and as a SecureEntry 
  519. demonstration and training environment. 
  520.  
  521.  
  522. ΓòÉΓòÉΓòÉ 2.1.2. IBM Lan server environment ΓòÉΓòÉΓòÉ
  523.  
  524. Under a Local area network environment, and if the network software running is 
  525. the IBM Lan Server/requester one, then SecureEntry can be installed as a 
  526. 'back-pack' to the network software, providing additional local security 
  527. function. This is achieved by synchronizing SecureEntry and UPM signons, and 
  528. allowing for Lan server administration through the SecureEntry administration 
  529. tools. 
  530.  
  531. After installing SecureEntry this way, all Lan Server users and groups will be 
  532. automatically considered SecureEntry users and groups, with the added 
  533. possibility of being assigned some or all of the SecureEntry local security 
  534. component profiles. 
  535.  
  536. It is important to note that under this kind of environment, you are not 
  537. maintaining a 'couple' of secured and unrelated workstations, but instead 
  538. creating a 'workgroup' of workstations which share a common security profiles 
  539. repository. This is why one of the machines in the network plays the role of a 
  540. 'server' of security profiles, being this one the machine where the SecureEntry 
  541. database is created. This machine will have to be necessarily powered on and 
  542. with the Lan Server software running at the time when other machines are to be 
  543. connected, so that the user's signon information is available. This is the 
  544. reason why the normal choice for the SecureEntry repository server machine is 
  545. the domain controller machine, but being this not a mandatory option. 
  546.  
  547. From the administrator's point of view, this environment is not much more 
  548. different from the standalone environment, being the main differences : 
  549.  
  550.      The graphical administrator tool will now show buttons to configure Lan 
  551.       Server specific resources and user's characteristics (resource alias and 
  552.       user's parameters). 
  553.  
  554.      The batch administration tool will accept a couple of new keywords to 
  555.       configure Lan Server specific resources. 
  556.  
  557.      Group names will have to be named beginning with the letters 'SG', to 
  558.       identify them as a SecureEntry group definition which can accept security 
  559.       component profiles. 
  560.  
  561.      Since the underlying users and groups database is now that of the Lan 
  562.       Server (UPM), then its rules are enforced (naming, hierarchy, and 
  563.       allowable value ranges). 
  564.  
  565.      Since the security profiles are to be used by all the machines in the 
  566.       network, you should plan for them and provide all the machines in the 
  567.       Secure Entry network with the necessary objects to activate those 
  568.       profiles. For instance, you will achieve the best results by 'cloning' 
  569.       the workstations so that their basic desktop looks the same. 
  570.  
  571.  As a last comment, note that you can configure a Lan Server machine as a 
  572.  backup controller, in order to be able to keep on working in the event that 
  573.  the domain controller fails. Refer to Setting up a backup domain controller 
  574.  for Lan Server for a detailed description of how to do so. 
  575.  
  576.  
  577. ΓòÉΓòÉΓòÉ 2.1.3. Network environment. Other networks ΓòÉΓòÉΓòÉ
  578.  
  579. If you have a network of connected workstations which are not running under IBM 
  580. Lan Server, you can configure SecureEntry also as a 'workgroup' of 
  581. workstations, i.e, sharing a common repository for security components, but in 
  582. this case using the network software only as a 'transport' mechanism to allow 
  583. access to this repository. The idea being that you configure the workstations 
  584. so that a shared directory path exists and is used to access and establish the 
  585. logged on user's security profiles, but without the ability (from SecureEntry 
  586. point of view) of administering the alien network resources. 
  587.  
  588. This configuration is really much similar to that of a standalone installation, 
  589. being the only exception the fact that SecureEntry users, groups and security 
  590. profiles are defined within the shared directory. 
  591.  
  592. If you want to further integrate SecureEntry with your network software, you 
  593. can always write a specific 'LMP' (logon modular procedure) which does the 
  594. network signon to your own network. Samples are provided within the Secure 
  595. Entry installation directory, and an explanation of the process is provided 
  596. later on. 
  597.  
  598.  
  599. ΓòÉΓòÉΓòÉ 2.1.4. Special environments ΓòÉΓòÉΓòÉ
  600.  
  601. There is one more consideration to take into account when describing the 
  602. working environments : If you have contracted UCM (Users Centralized 
  603. Management), then you have two more options : 
  604.  
  605. One is to do password validations to RACF or similar software running at the 
  606. host site. This requires an APPC link to the host running in the server 
  607. machine, plus the activation of a few additional components in the network. Of 
  608. course, using this option alone implies that you are responsible for 
  609. maintaining a user's definition database at the host site which matches that 
  610. one existing in the network (although password synchronization will be done by 
  611. SecureEntry itself). Optionally, you can still do user/password validation at a 
  612. host level if using UCM by means of the UCM provided RACF emulator. 
  613.  
  614. The second one is to activate central administration of users, groups and 
  615. security profiles, so that all administration changes are stored at the host 
  616. site, within a DB2 database by using the UCM software, and the local Secure 
  617. Entry databases existing in the administered networks are used as 'shadows' of 
  618. this central database. Just by doing this the concept of 'security workgroup' 
  619. is migrated into that of a 'corporate security policy', allowing any of the 
  620. defined users to sign on to any of the workstations of any of the corporation 
  621. networks. 
  622.  
  623.  
  624. ΓòÉΓòÉΓòÉ 2.2. Regular installations ΓòÉΓòÉΓòÉ
  625.  
  626. Before proceeding with SecureEntry installation, and if you have contracted the 
  627. UCM solution, read and perform the UCM installation procedure in order to 
  628. prepare the prerequisite software in the workstations as well as in the host 
  629. system. 
  630.  
  631. Right before installing SecureEntry 3.0, verify that you have installed the 
  632. prerequisite software, and also take into account : 
  633.  
  634.    1. Take note of and remove any software that you may be starting from the 
  635.       startup folder of the WorkPlace shell. Since you are installing in a 
  636.       machine to be used by several users, you probably may want to start those 
  637.       applications from a SecureEntry user exit, from the EDYSTART.CMD 
  638.       procedure which will substitute the regular STARTUP.CMD, or from the 
  639.       SecureEntry EdyStart folder, which will be installed by the product as a 
  640.       substitute for this function. 
  641.  
  642.    2. If you are installing under IBM Lan Server environment, and wish to 
  643.       install a SecureEntry server (not necessary for requesters), and you have 
  644.       IBM Lan server local security enabled (i.e, the server has HPFS386 
  645.       installed), then you need to logon to Lan Server as an administrator in 
  646.       order for SecureEntry installation process to be able to to create the 
  647.       'SGMSHELL' alias, where the SecureEntry database will reside. 
  648.  
  649.    3. In the same case, (IBM Lan Server installs), make sure that no groups 
  650.       exist defined that begin by the letters 'SG', so that they will not be 
  651.       confused with SecureEntry groups later on. 
  652.  
  653.    4. If you are installing SecureEntry in a WorkSpace On-Demand server, and 
  654.       wish to enable the different WSOD workstations for SecureEntry later on, 
  655.       then take into account the following restrictions : 
  656.  
  657.           WorkSpace On-Demand should be completely installed before proceeding 
  658.            with the SecureEntry install process. 
  659.  
  660.           You must use the Security Enabling services SecureEntry emulator in 
  661.            your installation. (Basically, uncheck the Use OS/2 Security 
  662.            Enabling Services checkbox, as explained underneath). 
  663.  
  664.           You must install SecureEntry in a directory named SGMSHELL within 
  665.            the IBMLAN\RPL\BBxx.yy directory. This directory is the one proposed 
  666.            by the installation tool if WorkSpace On-Demand is detected. 
  667.  
  668.       Later on, and after completing the installation process, read WorkSpace 
  669.       On-Demand support to know how to enable the different WSOD workstations 
  670.       for SecureEntry. 
  671.  
  672.  Once you are ready to install, just by typing : 
  673.  
  674.         INSTALL [response file path-name]
  675.  
  676.  from the first SecureEntry installation diskette, all the installation 
  677.  processes will be chained, and you will be able to define your installation 
  678.  setup response file, and optionally configure the workstation (by 
  679.  automatically calling the next step : Workstation Installation utility). Note 
  680.  that the default response file if no other is specified, will be called 
  681.  'SENTRY.CNF' and placed where the INSTALL.EXE resides (disk and directory). 
  682.  
  683.  The first (interactive) part of the installation process looks like : 
  684.  
  685.  The fields that you can fill up in this panel are : 
  686.  
  687.      Institution name: Enter here the name of your institution. This, together 
  688.       with some other information, will be used in order to generate a private 
  689.       master key for ciphering your security profiles data base. This is the 
  690.       reason why this field can not be left blank. 
  691.  
  692.      Install from : Enter here the path to the source of the installation 
  693.       package files. 
  694.  
  695.      Install to: Enter here the destination directory where you want 
  696.       SecureEntry to be installed. Note that if WorkSpace On-Demand is 
  697.       detected, the default directory presented here will be 
  698.       IBMLAN\RPL\BBxx.yy\SGMSHELL, which will allow you to later on enable your 
  699.       SecureEntry client workstations. 
  700.  
  701.      Use OS/2 Security Enabling Services: Uncheck this button if you want to 
  702.       install SecureEntry with its Security Enabling Services emulator active, 
  703.       instead of the real thing. Everything will work the same, except for the 
  704.       superuser signal, as will be explained later on. Not using the real 
  705.       Security Enabling Services is specially useful for memory constrained 
  706.       systems, or when installing under OS/2 versions for which these services 
  707.       are not available, such as OS/2 SMP or the different WSOD clients. Note 
  708.       that using the emulator is also a prerequisite for installing in 
  709.       Coexistence mode with other SES clients. 
  710.  
  711.      Install treelock device driver: Only if your OS/2 kernel does NOT support 
  712.       the Security Enabling Services hooks, you will need to uncheck this 
  713.       button. 
  714.  
  715.      Install API development components: Uncheck this check button if you do 
  716.       not intend to develop with the SecureEntry APIs in the machine(s) to 
  717.       install the software in. This way, you will save some hard drive space 
  718.       and left out from the installing process the SecureEntry source code and 
  719.       API information. 
  720.  
  721.      Standalone environment: Check this radio button if you wish to install 
  722.       SecureEntry in standalone mode. (see SecureEntry environments 
  723.       descriptions). 
  724.  
  725.      Networked workstation. IBM LAN server: Check this radio button if you 
  726.       wish to install in IBM Lan Server environment. You are then also prompted 
  727.       for the following values : 
  728.  
  729.         -  Domain name: Enter here the name of your Lan Server logon domain. 
  730.  
  731.         -  Allow change at signon: Check this button if you wish to allow the 
  732.            user to be prompted for and sign on to other SecureEntry available 
  733.            domains. 
  734.  
  735.         -  SecureEntry repository server name: Enter here the name of your Lan 
  736.            Server domain controller computer, that is where the SecureEntry 
  737.            profiles database will be installed. 
  738.  
  739.      Networked workstation. Other networks: Check this radio button if you 
  740.       wish to install SecureEntry in Lan environment, non IBM Lan Server. You 
  741.       are also prompted for : 
  742.  
  743.         -  SecureEntry repository server path: Enter here the remote path to 
  744.            access the SecureEntry repository from any requester machine. 
  745.  
  746.      Use RACF for password validation: If you have contracted UCM, then you 
  747.       can check this button to allow RACF password validation at signon time, 
  748.       or leave it unchecked to use the provided RACF emulator for user/password 
  749.       validation, if UCM is also installed. Note that RACF is only available 
  750.       under MVS environments, so you can not choose this option when installing 
  751.       the UCM repository server under other environments. 
  752.  
  753.       Playing the same role as RACF validation, you can optionally make Network 
  754.       Signon Coordinator/2 act as your main password synchronizer. You do not 
  755.       need to have UCM contracted to do so. In this case, you will have to 
  756.       manually configure it as explained in the provided NSC/2 LMP. 
  757.  
  758.      Scramble communications: In case you use RACF for users authentication 
  759.       (previous checkbox), then you can optionally choose to make use of the 
  760.       SecureEntry scrambling facility ( EDYURACF) to scramble userids and 
  761.       passwords at transmission time, during signon. You do not need this 
  762.       feature if your APPC network is secure enough, or already using 
  763.       encryption at a lower level. 
  764.  
  765.       When using the RACF emulator provided by UCM, data scrambling will always 
  766.       be active by default. 
  767.  
  768.      Use UCM (MVS or OS/2) for users administration. If you have contracted 
  769.       UCM services, then you can check this button to allow for the workstation 
  770.       to be administered at signon time from a host site. If this is the case, 
  771.       then you may be interested in setting up the UCM environment variable 
  772.       SGM_UCM_THIS_BRANCH through a proper CONFIG.ADD file before installing 
  773.       each different branch machine, as explained under Personalized 
  774.       installations. 
  775.  
  776.  After you have filled this panel, you will be given the option to continue the 
  777.  installation process by automatically calling the workstation installation 
  778.  utility, or exiting. If you exit now, the SecureEntry response file will have 
  779.  been created, and you can optionally use it in other workstations invoking the 
  780.  workstation installation utility through a command line. 
  781.  
  782.  
  783. ΓòÉΓòÉΓòÉ 2.3. Personalized installations ΓòÉΓòÉΓòÉ
  784.  
  785. It may be the case that you desire to distribute your own profiles or certain 
  786. files with SecureEntry installation process. You can do so by following what is 
  787. explained herein. 
  788.  
  789. You can place in the first or last installation diskette whatever files you 
  790. want, within the directory were they will have to reside after installing. i.e, 
  791. in order to set up automatically a default SecureEntry launchpad profile as the 
  792. default one, copy it (EDYPAD.INI) into a directory named 'NOUSER' within the 
  793. first installation diskette. 
  794.  
  795. To distribute other component files which may not reside within the 
  796. SecureEntryPath directory, copy them into a created : 
  797.  
  798.      BOOT Directory, if you wish those files to be copied to the boot drive. 
  799.  
  800.      x$ Directory, if you want those copied to the 'x' drive. 
  801.  
  802.  If you want SecureEntry to add automatically some config.sys settings to the 
  803.  installed workstation, then create an ASCII file named CONFIG.ADD within the 
  804.  root directory of the first installation diskette, with the desired 
  805.  definitions. As a sample : 
  806.  
  807.  
  808.       Sample CONFIG.ADD
  809.       -----------------
  810.  
  811.       SET SGM_ALLOW_CAD=TRUE
  812.       SET SGM_PM_WAIT_B4_KILL=0
  813.       SET SGM_UCM_THIS_BRANCH=Branch 22, Johnson st. 4561
  814.  
  815.  Now, if you want to do more complex processing, you can always write a post 
  816.  installation REXX command file, and place it in the first installation 
  817.  diskette, so that it gets called after the installation process. The name of 
  818.  the called cmd file will be POSTINST.CMD for new installs, and POSTSERV.CMD 
  819.  for service (upgrade) procedures. At invocation time, this hooks will be 
  820.  called from the SecureEntryPath\INSTALL directory. 
  821.  
  822.  After doing this, you can proceed with the regular installation process as 
  823.  explained in the previous chapter. 
  824.  
  825.  
  826. ΓòÉΓòÉΓòÉ 2.4. Workstation installation utility ΓòÉΓòÉΓòÉ
  827.  
  828. INSTALB.EXE is the workstation installation utility which will do the file 
  829. unpacking process, and setup the workstation with the installation options 
  830. choosen in the previous step. To invoke it, type : 
  831.  
  832.       INSTALB [SERVICE] [OVERFROM:sourcepath] [OVERTO:destpath]
  833.               [response file path name] [SERVER] [BATCH]
  834.  
  835. Use the 'SERVER' parameter to install a SecureEntry server machine in lan 
  836. environments, and the 'BATCH' parameter if you want unattended installations 
  837. (no questions asked). 
  838.  
  839. The SERVICE parameter, together with the OVERFROM: and OVERTO: parameters are 
  840. used only to provide service to an already installed machine, by means of 
  841. overriding the source files and destination path with those specified through 
  842. the command line. 
  843.  
  844. Note that it is not normally necessary to invoke this process manually if 
  845. interactive installations are being done, since the installation setup utility 
  846. (INSTALL.EXE) will already chain to this module if the user selects to do it. 
  847. Keep on reading to know what to do after this process ends. 
  848.  
  849. The normal procedure to follow after this utility has run is to reboot the 
  850. machine, but if you are doing a network installation, you must make sure that 
  851. the file 'EDYSTART.CMD', located in the root directory of the boot drive 
  852. contains the appropriate sentences to start your network software before the 
  853. machine reboot. (i.e, 'NET START REQ' for requester installations, 'NET START 
  854. SRV' for server installations). 
  855.  
  856. Besides, if you are installing UCM and/or RACF validation features, you may 
  857. want to check that the comms manager startup command is also in the SecureEntry 
  858. startup file (EDYSTART.CMD). In the same case, and if you are installing the 
  859. administrator's machine for UCM within the control LAN, you will have to 
  860. manually setup this machine by following the Setting up the User Centralized 
  861. Management workstation procedure. 
  862.  
  863.  
  864. ΓòÉΓòÉΓòÉ 2.5. Setting up the User Centralized Management workstation ΓòÉΓòÉΓòÉ
  865.  
  866. You can skip this procedure if not installing the UCM feature for SecureEntry. 
  867.  
  868. To set up the user centralized management workstation, go through the following 
  869. steps: 
  870.  
  871.    1. Install DDCS/2. 
  872.  
  873.    2. Install LAN Server. 
  874.  
  875.    3. Configure Communications Manager. For details on configuring CM/2, refer 
  876.       to the UCM administrator's guide. 
  877.  
  878.    4. Configure DDCS/2 For details on configuring DDCS/2, refer to the UCM 
  879.       administrator's guide. 
  880.  
  881.    5. Install SecureEntry Release 3.0. 
  882.  
  883.    6. Log on as a user with administrator privileges. 
  884.  
  885.    7. Open the SecureEntry Workbench folder. 
  886.  
  887.    8. Make a copy of the Users and Groups Management folder and rename the new 
  888.       object to UCM Users and Groups Management. Open the new object settings 
  889.       notebook and change EDYSNADM.EXE to UCMADM.CMD in the Path and file name 
  890.       entry field of the Program tab. Enter as parameter : EDYSNADM.EXE. 
  891.  
  892.    9. If you want to use your own ASCII to EBCDIC and EBCDIC to ASCII 
  893.       conversion tables, you will have to place the following files in a 
  894.       directory named INSTALL of the installation diskettes: 
  895.  
  896.             EDYA2E.DAT
  897.              This file contains 256 character codes for ASCII to EBCDIC
  898.              translation.
  899.             EDYE2A.DAT
  900.              This file contains 256 character codes for EBCDIC to ASCII
  901.              translation.
  902.       By default, UCM uses its own Translation tables. Refer to the UCM 
  903.       administrator's guide to get information about how to install these 
  904.       translation tables at Host site. 
  905.  
  906.   10. From an OS/2 command prompt enter the statements to Bind the UCM API. 
  907.  
  908.   11. Run the INSTSUB.EXE program, which adds the host subsystems information 
  909.       to the UCM database, using the API previously installed on the 
  910.       workstation, and enables to verify the installation correctness. For do 
  911.       this, you can follow the next statements explained hereafter from an OS/2 
  912.       command prompt: 
  913.  
  914.              db2start
  915.              instsub
  916.              db2stop
  917.  
  918.   12. From an OS/2 command prompt, enter the statements to Bind the EDYQRYBR 
  919.       program. 
  920.  
  921.   13. From an OS/2 command prompt, enter the statements to Bind the EDYRVUCM 
  922.       program. 
  923.  
  924.  Refer to the UCM administrator's guide for details on how to set up the UCM 
  925.  product itself. 
  926.  
  927.  
  928. ΓòÉΓòÉΓòÉ 2.6. Setting up a backup domain controller for Lan Server ΓòÉΓòÉΓòÉ
  929.  
  930. If your installation environment is of Lan Server type, you may wish to set up 
  931. a machine as a backup domain controller, so that in the event that the main 
  932. domain controller is down, your users may still be able to work with their 
  933. machines. 
  934.  
  935. This kind of support is intrinsically provided by Lan Server, but and as 
  936. SecureEntry extends Lan Server repository with its own security profiles 
  937. database, it becomes necessary to make sure that this database is available 
  938. also when only the backup domain controller is working. 
  939.  
  940. The process to follow in order to set up the backup domain controller is as 
  941. follows: 
  942.  
  943.    1. Regular Lan Server backup domain controller setup 
  944.  
  945.         a. When installing Lan Server: 
  946.  
  947.                select "Backup domain controller" when it is requested. 
  948.  
  949.                install REPLICATOR and DCDB REPLICATOR. 
  950.  
  951.         b. Once Lan Server is installed 
  952.  
  953.                Define the Backup Domain Controller in the domain, as it should 
  954.                 be done for any additional server. 
  955.  
  956.         c. Tuning: several replicator parameters, such as replication interval, 
  957.            can be modified editing IBMLAN.INI. Refer to the Lan Server handbook 
  958.            for further information. 
  959.  
  960.         d. Runtime operative suggestions: 
  961.  
  962.                To set the Backup Domain Controller as the Domain Controller 
  963.                 (when the main domain controller is down) do the following 
  964.                 sentences in the Backup Domain Controller: 
  965.  
  966.                                         NET STOP NETLOGON
  967.                                         NET ACCOUNTS  /ROLE:PRIMARY
  968.                                         NET START NETLOGON
  969.  
  970.                To force DCDB replication: 
  971.  
  972.                                         NET STOP   DCDBREPL
  973.                                         NET START  DCDBREPL
  974.  
  975.                To resynchronize local and LAN Backup Domain Controller machine 
  976.                 passwords (they can mismatch after several days of Power-Off, 
  977.                 and this blocks replication) 
  978.  
  979.                                         LOGON an administrator
  980.                                         NET ACCOUNTS  /ROLE:STANDALONE
  981.                                         NET USER machine_name newpassword
  982.                                         NET ACCOUNTS  /ROLE:BACKUP
  983.                                         NET USER machine_name newpassword
  984.  
  985.    2. SecureEntry specific setup 
  986.  
  987.         a. Create the backup database repository alias in the backup domain 
  988.            controller. You can do this by running the command : 
  989.  
  990.                               NET ALIAS SGMSHBAK \\bdcname backupdirectory /WHEN:STARTUP
  991.  
  992.            Where bdcname is the server name of the backup domain controller. 
  993.  
  994.         b. Copy the SecureEntry database to the backup controller. Do this with 
  995.            a regular copy command : 
  996.  
  997.                               COPY  \\dcname\SGMSHELL\EDYREGDB.VLB \\bdcname\SGMSHBAK\EDYREGDB.VLB
  998.  
  999.            Where dcname is the server name of the main domain controller, and 
  1000.            bdcname is the server name of the backup domain controller. 
  1001.  
  1002.         c. Establish a mechanism by which the above is done in a regular basis. 
  1003.            You can use the Lan Server replicator services to do this. Refer to 
  1004.            the Lan Server documentation for how to do this. 
  1005.  
  1006.         d. Grant access to this backup repository to all desired users. As a 
  1007.            sample, you could do it for all the Lan Server users with the 
  1008.            following command : 
  1009.  
  1010.                               NET ACCESS SGMSHBAK /ADD USERS:RWA
  1011.  
  1012.       After all of the above is done, and in the event that the domain 
  1013.       controller fails, users will still be able to logon and be validated to 
  1014.       the backup controller. 
  1015.  
  1016.       Operating considerations 
  1017.  
  1018.       Take into account : 
  1019.  
  1020.           There is no necessity to change the role of the backup domain 
  1021.            controller once the main controller fails. 
  1022.  
  1023.           When logging on to the backup domain controller, you will receive a 
  1024.            message indicating so. Similarly, logon and logoff operations will 
  1025.            be slower than normal. 
  1026.  
  1027.           If you have logged on to the main controller and it fails, you will 
  1028.            not be able to use the administration tools until you logoff and 
  1029.            logon again against the backup controller. 
  1030.  
  1031.           If you use the administration tools against the backup controller, 
  1032.            the changes you make will not be automatically updated against the 
  1033.            main controller, unless, when the main controller is available again 
  1034.            you do: 
  1035.  
  1036.              a. Follow the regular resynchronization procedures for Lan Server 
  1037.                 users information. 
  1038.  
  1039.              b. Copy the modified .VLB SecureEntry repository file back from 
  1040.                 the backup controller on to the main controller. 
  1041.  
  1042.           When logging on to the backup domain controller, it may be that the 
  1043.            received error messages are less indicative than when using the main 
  1044.            controller, unless you start the EDYSRV program in the backup 
  1045.            controller. Note that only one EDYSRV program can be running within 
  1046.            a given domain at the same time, so before restarting the main 
  1047.            controller, you should unload it with the EDYFREE utility. Refer to 
  1048.            EDYSRV and EDYFREE. 
  1049.  
  1050.  
  1051. ΓòÉΓòÉΓòÉ 2.7. Providing service to a SecureEntry 3.0 machine ΓòÉΓòÉΓòÉ
  1052.  
  1053. You can use the supplied diskettes to provide service and update a previous 
  1054. version of SecureEntry 3.0, as long as it was beta version at least. Do the 
  1055. following : 
  1056.  
  1057.    1. Insert the first SecureEntry installation diskette 
  1058.  
  1059.    2. Type (supposing you are providing service from diskette drive A) : 
  1060.  
  1061.                   A:\SERVICE [sourcepath] [BATCH]
  1062.  
  1063.       Use the sourcepath parameter to specify the path where the new files are 
  1064.       located. By default the location of the SERVICE.CMD is used, unless 
  1065.       executing the installed copy of SERVICE.CMD within the SecureEntry path, 
  1066.       in which case 'A:\' is used. 
  1067.  
  1068.       Use the 'BATCH' parameter to run SERVICE.CMD in unattended mode. 
  1069.  
  1070.       The service procedure will be started and the SecureEntry software will 
  1071.       be updated. 
  1072.  
  1073.  This service procedure will respect your users definitions and profiles, as 
  1074.  well as your current CONFIG.SYS settings. Any personalized user exit file 
  1075.  (EDYCUST.xxx) or naming filter (EDYFILT.DLL) will have to be migrated 
  1076.  manually, since the service procedure will not override the one that is 
  1077.  currently being used. 
  1078.  
  1079.  If the files EDYKILL.NOT or EDYLOGS.STR residing in SecureEntryPath\NOUSER are 
  1080.  different from the default ones (have been customized for your installation), 
  1081.  they won't be automatically migrated either, so you will have to manually 
  1082.  apply the new changes incorporated into the default file, which will be 
  1083.  located in the SecureEntry path\EXEC directory for your reference. 
  1084.  
  1085.  WARNING: If you do code development in your machine, note that the API 
  1086.  directory will be overwritten by this procedure, so take a minute to backup 
  1087.  your modified sources before servicing. 
  1088.  
  1089.  Note that the service process will not be completed until you reboot the 
  1090.  machine after running the above mentioned command. After such reboot, all 
  1091.  previously locked DLLs will be replaced, and the temporary service directories 
  1092.  will be deleted, plus a subprocess named 'EdyStart' will be launched as soon 
  1093.  as the Workplace Shell is loaded. This subprocess mission is to make sure that 
  1094.  all workbench objects are refreshed and service changes applied to its 
  1095.  definition, so please let it run until it ends by its own and do not interrupt 
  1096.  it. 
  1097.  
  1098.  Note also that calling the SERVICE.CMD program is an alternative to calling 
  1099.  the INSTALB program with the appropriate parameters for servicing an already 
  1100.  installed machine, as explained in the previous section. 
  1101.  
  1102.  As a last comment, you will normally require administrator privilege for 
  1103.  running this process. For remote distribution environments, the service 
  1104.  procedure will work correctly independently of the logged on user as long as : 
  1105.  
  1106.    1. It is invoked in batch mode ('BATCH' parameter) 
  1107.  
  1108.    2. It is invoked from a superuser context process (i.e, started as a daemon 
  1109.       from EDYSTART, CONFIG.SYS or any superuser context user exit). Read About 
  1110.       processes and running contexts to know more about running contexts. 
  1111.  
  1112.  
  1113. ΓòÉΓòÉΓòÉ 2.8. What to do if the installation fails ΓòÉΓòÉΓòÉ
  1114.  
  1115. In any case, if the installation does not succeed, you will be able to browse 
  1116. the 'SENTRY.LOG' file located either in the boot drive root directory (for 
  1117. preliminary installation errors), or in your 'x:\SGMSHELL\INSTALL' directory, 
  1118. and look for the cause of the error. Note that if the error happens before the 
  1119. 'setup' phase, (the one immediately after the disk copy process), then you 
  1120. ought to be able to delete the directory, correct the error and retry. If the 
  1121. error happens after that point, the installation utility will do its best to 
  1122. leave you with an 'usable machine', but you are advised to take a quick look to 
  1123. your 'config.sys' file, and verify that it does not contain any SES-related 
  1124. line, and looks normal so that you can reboot the machine if necessary. If this 
  1125. was not the case, this critical file is backed-up into your 
  1126. 'x:\SGMSHELL\INSTALL' as 'config.sen', so you can recover it. (Same thing with 
  1127. the 'startup.cmd' file). 
  1128.  
  1129. If all of the above fails, please contact us and we will be very pleased to 
  1130. help you. 
  1131.  
  1132.  
  1133. ΓòÉΓòÉΓòÉ 3. What to do after installing ΓòÉΓòÉΓòÉ
  1134.  
  1135. After the installation is completed, you will have to reboot the machine, and 
  1136. on power up, a logon panel will be shown. The process to follow is : 
  1137.  
  1138.      Standalone workstations : Sign on as user 'EDYADMIN', password 
  1139.       'PASSWORD', changing it (this userid is created with the password 
  1140.       expired). Proceed to define other users, groups and security profiles. 
  1141.  
  1142.      Network server machines : Sign on as a network administrator, and proceed 
  1143.       to define the SecureEntry users, groups, and security profiles. 
  1144.  
  1145.      Network non server machines : You can start working straight away as with 
  1146.       any other net machine. 
  1147.  
  1148.  Once you have signed on as an administrator, you will have a newly created 
  1149.  folder on your desktop : SecureEntry Workbench. It contains : 
  1150.  
  1151.      One folder with the SecureEntry installation tools object, which also 
  1152.       contains a shadow to your original launchpad, plus a shadow of the 
  1153.       SecureEntry signature file. 
  1154.  
  1155.      One folder with the SecureEntry customization tools object, which 
  1156.       contains already customized program objects for you to use while making a 
  1157.       custom solution, with functions such as logon, logoff, etc.. 
  1158.  
  1159.      An icon for reviewing the last minute changes file (README.DOC) 
  1160.  
  1161.      A folder for each of the available components with its particular 
  1162.       workbench. Each of this folders contains basically the necessary icons to 
  1163.       test, create, and edit profiles of its kind through drag and drop 
  1164.       operations. Note that the 'Desktop restrictions workbench' folder is a 
  1165.       bit more complicated than that, since you can deal with text and binary 
  1166.       profiles. 
  1167.  
  1168.      Two icons representing the online reference documentation. 
  1169.  
  1170.      Two icons for invoking the administration tools (batch and interactive). 
  1171.  
  1172.      A shadow of the 'TEMPLATE' directory, where some sample profiles are 
  1173.       located, plus templates of the standard SecureEntry components for you to 
  1174.       create new profiles. 
  1175.  
  1176.      A shadow of the 'NOUSER' directory where you may wish to place the 
  1177.       machine-level security component profiles (default values). Note that in 
  1178.       order to be recognized, these profiles have to have a default name, which 
  1179.       is the same as that of the template for the given component that can be 
  1180.       found in the 'TEMPLATES' shadow folder. You will find within this folder 
  1181.       the EdyStart object, where you can place a shadow of all the objects that 
  1182.       you were starting previously through the system's startup folder. 
  1183.  
  1184.  
  1185.                    *************************************************
  1186.                     IMPORTANT
  1187.  
  1188.                     Whenever you change a NOUSER  security  profile,
  1189.                     remember to manually activate (test) it, in order
  1190.                     to grant that the profile is effectively read.
  1191.                    *************************************************
  1192.  
  1193.  
  1194.  The general idea is that you work and test with each of the component's 
  1195.  workbench, until familiar with it, and then create the profiles which you 
  1196.  later will assign to the different users and groups by dropping those into the 
  1197.  graphical (interactive) administration tool components container of a given 
  1198.  user or group. 
  1199.  
  1200.  To define the users, groups and security components, you can open the newly 
  1201.  created 'SecureEntry WorkBench' folder of the desktop, and use either the 
  1202.  batch or interactive administration tool. Refer to the SecureEntry 
  1203.  documentation on how to configure each component and how to assign them to 
  1204.  users and / or groups. 
  1205.  
  1206.  After installing, note that all components have their own default restriction 
  1207.  settings active at startup, being those : 
  1208.  
  1209.      For the floppy access, to allow no access to the diskette drive. Note 
  1210.       that the installation program places already a profile with full access 
  1211.       into the NOUSER template, so although the default is no access, you will 
  1212.       have access to it after signon. 
  1213.  
  1214.      For desktop restrictions, to apply no restrictions to existing objects. 
  1215.  
  1216.      For the Launchpad, to not present any launchpad. Note however, that 
  1217.       SecureEntry sets up a copy of your original launchpad in the installation 
  1218.       tools folder, so that if you wish to use it you can, either drop it into 
  1219.       the opened EdyStart object, or create a launchpad security profile with 
  1220.       the same contents and place it in the NOUSER folder or assign it to a 
  1221.       user/group, as explained afterwards. 
  1222.  
  1223.      The WarpCenter component will create a SecureEntry WarpCenter security 
  1224.       profile during the installation process with the same contents as your 
  1225.       original WarpCenter, and place it into the NOUSER folder, making it the 
  1226.       default WarpCenter. 
  1227.  
  1228.      For the System Menus, to not restrict any application. 
  1229.  
  1230.      For the Window list, to behave as standard in OS/2. 
  1231.  
  1232.      For SES behavior : 
  1233.  
  1234.         1. Lockup timeout set to 3 minutes, with standard size unlock dialog 
  1235.            and without logoff/shutdown buttons nor a maximum number of unlock 
  1236.            attempts. 
  1237.  
  1238.         2. Show options dialog at Ctrl-Alt-Del. 
  1239.  
  1240.         3. Show default bitmaps for lockup/screensaver. 
  1241.  
  1242.      For the File Access (treelock), to allow full access to anything except 
  1243.       the Implicit restrictions. 
  1244.  
  1245.      For the others, no special definitions active. 
  1246.  
  1247.  So, if you wish to use any of those, you may have to define and assign a 
  1248.  profile either to your group or userid, or to the machine configuration. The 
  1249.  easiest way to do it is to drag from the given component profile template 
  1250.  object located in the 'template' folder within the SecureEntry workbench 
  1251.  folder, an instance of the desired profile, and dropping it into the nouser 
  1252.  folder or your own user/group component container of the Users and Groups 
  1253.  Management application, and edit it from there. You can edit the profile 
  1254.  either by drag and dropping it into its editor (located in its component's 
  1255.  private workbench), or by double clicking over it (if within the Users and 
  1256.  Groups graphic administration tool). 
  1257.  
  1258.  
  1259. ΓòÉΓòÉΓòÉ 4. WorkSpace On-Demand support ΓòÉΓòÉΓòÉ
  1260.  
  1261. If you have installed SecureEntry in a WorkSpace On-Demand server (you can read 
  1262. how to do it under Regular installations), and wish to use it in the different 
  1263. WorkSpace On-Demand client machines, you will have to use the WorkSpace 
  1264. On-Demand SecureEntry enabler program to configure the different client machine 
  1265. images so that they effectively load SecureEntry at RIPL time. This utility is 
  1266. located within the SecureEntry installation tools folder of the SecureEntry 
  1267. workbench of the WSOD server machine. 
  1268.  
  1269. Note that all your WorkSpace On-Demand client machines will then use the 
  1270. server's copy of SecureEntry code, thus avoiding the necessity for installing 
  1271. SecureEntry separately for each client, and also making software updates 
  1272. easier. 
  1273.  
  1274. Under this environment you will also find a new folder in the SecureEntry 
  1275. workbench, named WSOD Workstations, that contains shadows of the different 
  1276. NOUSER folders for the different machines, which allow you to easily assign 
  1277. security components that define the default behavior for the related client 
  1278. workstations. You will find there also a shadow of the related workstation 
  1279. CONFIG.SYS file, and, if any, the startup command script file, EDYSTART.CMD. 
  1280.  
  1281. Note the Refresh program object present in this folder. It must be used 
  1282. whenever you enable your workstations indirectly, creating a workstation 
  1283. instance by deriving it from a machine type that has been SecureEntry enabled. 
  1284. In this case, the folder contents can be updated to reflect the new 
  1285. workstations by double-clicking over this icon. 
  1286.  
  1287. Once you have your workstations SecureEntry enabled, then configuring a 
  1288. specific WorkSpace On-Demand desktop is as easy as administering a SecureEntry 
  1289. public applications security profile using The Public Applications component, 
  1290. which you can then assign to the different users, SecureEntry groups, or even 
  1291. place them as default desktop profile for the different WSOD client machines, 
  1292. by copying it to the related workstation's NOUSER folder. 
  1293.  
  1294.      The WSOD enabler 
  1295.  
  1296.      Tips for administering SecureEntry WSOD environments 
  1297.  
  1298.  
  1299. ΓòÉΓòÉΓòÉ 4.1. The WSOD enabler ΓòÉΓòÉΓòÉ
  1300.  
  1301. The WSOD enabler application allows you to enable/disable WorkSpace On-Demand 
  1302. workstations or machine classes so that they effectively load SecureEntry at 
  1303. RIPL time. Note that you need administrator privilege to be able to run this 
  1304. utility. 
  1305.  
  1306. The first time the WSOD enabler is run, it will ask whether you want to enable 
  1307. the SecureEntry server for WorkSpace On-Demand. Upon positive response, it will 
  1308. process the required steps so that subsequently regular WSOD workstations 
  1309. and/or machine classes can be SecureEntry enabled. 
  1310.  
  1311. You can have at any moment any combination of enabled/disabled machine classes 
  1312. and/or workstations. Enabling a given machine class is only useful for avoiding 
  1313. the enable step for workstations of its kind that will be defined afterwards. 
  1314.  
  1315. Interactively calling the WSOD enabler 
  1316.  
  1317. The WSOD enabler, when called without parameters, will work in interactive 
  1318. mode, allowing for manual enabling/disabling of WSOD workstations or machine 
  1319. classes. 
  1320.  
  1321. You can run the program by typing : 
  1322.  
  1323.        SEWSODEN
  1324.  
  1325. From the SecureEntry path, INSTALL directory, or by double clicking its related 
  1326. object located within the SecureEntry Installation tools folder of the 
  1327. SecureEntry workbench 
  1328.  
  1329. You are then presented with the following dialog : 
  1330.  
  1331. Where the upper left listbox represents the currently defined WSOD machine 
  1332. classes, with an indication on whether that particular machine class has 
  1333. already been SecureEntry enabled. The upper right listbox represents the 
  1334. currently defined WSOD workstations for the selected machine class, also with 
  1335. an indicator of its current enabling state. The lower listbox contains 
  1336. information about the carried-on actions. You can then proceed with the 
  1337. following actions: 
  1338.  
  1339.      Enable class This button will cause the SecureEntry enabling of the 
  1340.       currently selected machine class, and up on request, also of its related 
  1341.       workstations. Once a given machine class is SecureEntry enabled, all the 
  1342.       workstations subsequently derived from it will also be SecureEntry 
  1343.       enabled. 
  1344.  
  1345.      Disable class This button will cause a given (selected) machine class to 
  1346.       be SecureEntry disabled, and also upon request, the disabling of its 
  1347.       related workstations. 
  1348.  
  1349.      Enable workstation This button will cause the selected workstation to be 
  1350.       SecureEntry enabled, so that upon the following boot, the workstation 
  1351.       will load SecureEntry as part of its RIPL process. 
  1352.  
  1353.      Disable workstation By pressing this button you can SecureEntry disable a 
  1354.       given (selected) workstation, so that it becomes again a 'regular' 
  1355.       WorkSpace On-Demand client, without SecureEntry. 
  1356.  
  1357.      Disable server If all your machine classes and workstations are 
  1358.       SecureEntry disabled, you will be able to use this button in order to 
  1359.       undo the server enabling process that was carried out the first time that 
  1360.       the WSOD enabler was run. When this process is ran, the application 
  1361.       terminates automatically. 
  1362.  
  1363.  Batch calling the WSOD enabler 
  1364.  
  1365.  Alternatively, you can call the WSOD enabler in batch mode, by invoking it 
  1366.  with the appropriate parameters : 
  1367.  
  1368.          SEWSODEN [ES | DS | EA | DA | EC:classname | DC:classname |
  1369.                    ECW:classname | DCW:classname | EW:wsname | DW:wsname | EX ]
  1370.  
  1371.  Where 
  1372.  
  1373.  ES        Can be used to force server enabling at load time, if necessary 
  1374.  
  1375.  DS        Can be used to force server disabling. Note that the program will 
  1376.            terminate afterwards 
  1377.  
  1378.  EA        Enable All, enables for SecureEntry all machine classes and 
  1379.            workstations found disabled 
  1380.  
  1381.  DA        Disable All, disables all machine classes and workstations found 
  1382.            SecureEntry enabled enabled 
  1383.  
  1384.  EC        Enable Class, enables for SecureEntry the specified machine class 
  1385.  
  1386.  DC        Disable Class, disables for SecureEntry the specified machine class 
  1387.  
  1388.  ECW       Enable Class Workstations, enables for SecureEntry the related 
  1389.            workstations of the specified machine class 
  1390.  
  1391.  DCW       Disable Class Workstations, disables for SecureEntry the related 
  1392.            workstations of the specified machine class 
  1393.  
  1394.  EW        Enable Workstation, enables for SecureEntry specified workstation 
  1395.  
  1396.  DW        Disable Workstation, disables for SecureEntry the specified 
  1397.            workstation 
  1398.  
  1399.  EX        When this parameter is processed, the program is exited 
  1400.  
  1401.  Note that all parameters are processed sequentially. For instance, the command 
  1402.  : 
  1403.  
  1404.           SEWSODEN  ES EC:MCAVGA ECW:MCAVGA EX
  1405.  
  1406.  Means : Run the enabler, enable the server if necessary, then SecureEntry 
  1407.  enable the WSOD machine class MCAVGA, follow on by enabling all the WSOD 
  1408.  workstations of the same type, and finally, exit, all in unattended mode. 
  1409.  
  1410.  Return codes and problem determination 
  1411.  
  1412.  The program will return 0 if no errors have been posted, otherwise the return 
  1413.  code will be the number of enable/disable errors encountered. 
  1414.  
  1415.  For problem determination, all activity will be logged in the SecureEntry 
  1416.  installation log file SENTRY.LOG, located in the INSTALL directory of the 
  1417.  current SecureEntry path. 
  1418.  
  1419.  
  1420. ΓòÉΓòÉΓòÉ 4.2. Tips for administering SecureEntry WSOD environments ΓòÉΓòÉΓòÉ
  1421.  
  1422. Personalizing workstations 
  1423.  
  1424. If you want to enable your machine classes or workstations with a different set 
  1425. of environment variables than those provided by default, you can place these in 
  1426. a file named CONFWSOD.ADD, with the same format as previously explained under 
  1427. Personalized installations for the file CONFIG.ADD. This file must reside in 
  1428. the INSTALL subdirectory of your SecureEntry path. 
  1429.  
  1430. Additionally, if you want to run some more complex processes during the 
  1431. enabling and disabling of workstations and/or machine classes, the WSOD enabler 
  1432. calls, if found, the following user exit commands: 
  1433.  
  1434.      POSTENCL.CMD Called after a machine class has been enabled for 
  1435.       SecureEntry, receives the class name as a parameter. 
  1436.  
  1437.      POSTDSCL.CMD Called after a machine class has been disabled for 
  1438.       SecureEntry, receives the class name as a parameter. 
  1439.  
  1440.      POSTENWS.CMD Called after a WSOD workstation has been enabled for 
  1441.       SecureEntry, receives the workstation name as a parameter. 
  1442.  
  1443.      POSTDSWS.CMD Called after a WSOD workstation has been disabled for 
  1444.       SecureEntry, receives the workstation name as a parameter. 
  1445.  
  1446.  This files must be placed also in the INSTALL subdirectory of your SecureEntry 
  1447.  path. 
  1448.  
  1449.  If you want to place a specific read only file as available for all enabled 
  1450.  workstations, such as an EDYCUST user exits file, just put it in the server, 
  1451.  SecureEntry path, EXEC or DLL directory. 
  1452.  
  1453.  The SecureEntry R/W tree is located under 
  1454.  x:\IBMLAN\RPLUSER\machinename\SGMSHELL, for if any read/write additional 
  1455.  SecureEntry file is required. 
  1456.  
  1457.  For the startup file, you can place a EDYSTART.CMD file in the 
  1458.  x:\IBMLAN\RPLUSER\workstationname directory for it to be processed by 
  1459.  SecureEntry startup. Note that if a STARTUP.CMD file exists in the same 
  1460.  directory before enabling the intended workstation, it will be migrated to 
  1461.  EDYSTART.CMD during the SecureEntry enabling process. 
  1462.  
  1463.  Which components will/will not work 
  1464.  
  1465.  You can use all components and features of SecureEntry while running under a 
  1466.  WorkSpace on Demand environment, with the following exceptions/restrictions : 
  1467.  
  1468.      The WarpCenter component  This component is not supported, since if it 
  1469.       were, it could only be used as an 'applications launcher' due to WSOD 
  1470.       restrictive working strategy. For this reason, if you need such 
  1471.       functionality, we suggest you to use a SecureEntry launchpad instead. 
  1472.  
  1473.      The EdyStart object Because the Workplace Shell is restarted every time a 
  1474.       WSOD workstation logons, SecureEntry ignores the EdyStart object contents 
  1475.       to avoid restarting those at every session signon. We suggest you to use 
  1476.       the command file EDYSTART.CMD to provide for machine power up automated 
  1477.       process launching, or use the appropriate user exit to do so. If you want 
  1478.       to provide for per user session process launching, use then a personal 
  1479.       desktop profile with a dynamic folder configured as 'autostart'. 
  1480.  
  1481.      All desktop related components Specifically speaking, the desktop 
  1482.       restrictions, launchpad or the personal desktop component are fully 
  1483.       supported in this environment, but you should take into account that the 
  1484.       functionality for those is also restricted by WSOD itself. For instance, 
  1485.       you will not be able to drop/delete objects in a launchpad, or create new 
  1486.       shadows inside a personal folder unless you have signed on as an 
  1487.       administrator. 
  1488.  
  1489.  Besides, and for customization purposes, it is possible to create a 
  1490.  SecureEntry Workbench within a WSOD workstation, provided that : 
  1491.  
  1492.    1. You have signed on as an administrator 
  1493.  
  1494.    2. You have access to a command line or drives object 
  1495.  
  1496.    3. You are using WSOD version 2.0 (minimum) 
  1497.  
  1498.  To do so, run the program EDYCRWRK located in your SecureEntry path, INSTALL 
  1499.  directory. 
  1500.  
  1501.  This way, you will be able to configure and assign SecureEntry profiles to 
  1502.  your groups and users, based on the real objects and environment of your 
  1503.  client workstations. This is very useful for configuring workplace shell 
  1504.  related SecureEntry components, such as Desktop restrictions, launchpads,... 
  1505.  since it is often impossible to create a desktop with exactly the same client 
  1506.  objects in the WSOD host server machine, due to the fact that the operating 
  1507.  system base code is different. 
  1508.  
  1509.  
  1510. ΓòÉΓòÉΓòÉ 5. Using SecureEntry ΓòÉΓòÉΓòÉ
  1511.  
  1512. If you are a SecureEntry user, most of the product will work transparently for 
  1513. you. Only the session control functions will show that the machine is enhanced 
  1514. with SecureEntry. 
  1515.  
  1516.      Session logon 
  1517.  
  1518.      Session unlock 
  1519.  
  1520.      Session logoff or shutdown 
  1521.  
  1522.      Ctl-Alt-Del 
  1523.  
  1524.  
  1525. ΓòÉΓòÉΓòÉ 5.1. Session Logon ΓòÉΓòÉΓòÉ
  1526.  
  1527. At machine startup, or after an end session event, you will be prompted with 
  1528. the following panel : 
  1529.  
  1530. Just enter here your userid and password, and press <OK>, and you will be able 
  1531. to start your regular work session. 
  1532.  
  1533.  
  1534. ΓòÉΓòÉΓòÉ 5.2. Session unlock ΓòÉΓòÉΓòÉ
  1535.  
  1536. Several events can cause the session to lockup, being those : 
  1537.  
  1538.      Pressing the 'lockup' button on the launchpad 
  1539.  
  1540.      Selecting the 'lockup' function within the desktop popup menu 
  1541.  
  1542.      Automatic lockup function being activated after a period of system 
  1543.       inactivity. 
  1544.  
  1545.  If this happens, you will see the following panel displayed : 
  1546.  
  1547.  Just reenter the same password you used to signon, press <OK> and the work 
  1548.  session will continue. 
  1549.  
  1550.  
  1551. ΓòÉΓòÉΓòÉ 5.3. Session logoff or shutdown ΓòÉΓòÉΓòÉ
  1552.  
  1553. You can, at any time select 'logoff' or 'shutdown' from the desktop popup menu, 
  1554. or any of the system buttons placed on the launchpad. The difference between 
  1555. both functions is evident. Shutdown will close all active applications and 
  1556. allow for machine power-off, whereas logoff will reenter the session logon 
  1557. (signon) panel. When issuing any of this functions, the system may prompt you 
  1558. with the following panel : 
  1559.  
  1560. Which reminds you of those applications which you may have to close in an 
  1561. orderly way before being able to grant that a logoff or shutdown process will 
  1562. not lose any data. Press <OK> if you do not care about closing these 
  1563. applications, or <Cancel> if you are not sure and want to close the 
  1564. applications manually. 
  1565.  
  1566.  
  1567. ΓòÉΓòÉΓòÉ 5.4. Ctl-Alt-Del ΓòÉΓòÉΓòÉ
  1568.  
  1569. Pressing this key combination at any time can cause the system to prompt you 
  1570. with the appropriate action to process. Note that this only happens if you have 
  1571. this function setup for you in your personal profile. 
  1572.  
  1573. You can then choose among : 
  1574.  
  1575.      Killing (terminating) the application with focus. 
  1576.  
  1577.      Session logoff. 
  1578.  
  1579.      Machine Shutdown. 
  1580.  
  1581.      Lockup the machine. 
  1582.  
  1583.      Machine reboot. This should be considered an emergency shutdown. 
  1584.  
  1585.  Choose one of the options and press <OK> to continue processing. 
  1586.  
  1587.  
  1588. ΓòÉΓòÉΓòÉ 6. Security components - Base and PM ΓòÉΓòÉΓòÉ
  1589.  
  1590. Supposing you have just installed SecureEntry, and you are responsible for 
  1591. defining and administering the installation, you need to do the following tasks 
  1592.  
  1593.    1. Define a security policy for your installation, that is, the roles that 
  1594.       will be playing the different users. For instance, you could envisage 
  1595.       several groups of users with common needs (i.e, tellers, developers, 
  1596.       administrators,...) This will give you a basic idea on the SecureEntry 
  1597.       groups that you will need to define. 
  1598.  
  1599.    2. Define, in a per group basis, what kind of interactions will each of the 
  1600.       groups require with the machine, at a component level. That is : 
  1601.  
  1602.           What applications need to be visible for each group, (required for 
  1603.            work), and the degree of flexibility you want to give to each one in 
  1604.            order to personalize his desktop. (Desktop restrictions component). 
  1605.  
  1606.           What will be a good launchpad/smartcenter content for each group, 
  1607.            which contains the most frequently required functions. 
  1608.  
  1609.           What kind of behavior will you allow for standard window frame 
  1610.            applications, i.e, you may not want to let users to mess with the 
  1611.            font selections of a 3270 emulator. Also, if you want to be strict 
  1612.            with the positioning and sizing of these frame window applications 
  1613.            (very useful for inexperienced groups of users). This is what the 
  1614.            Window restrictions component allows you to customize. 
  1615.  
  1616.           Look and feel of your installation during working sessions. i.e, 
  1617.            background bitmaps at lockup, behavior at Ctl-Alt-Del pressing, 
  1618.            Screen saving feature, present a shutdown button at lockup,... This 
  1619.            is what the SES behavior component lets you define. 
  1620.  
  1621.           Floppy access policy. I.e, which users may have access to the floppy 
  1622.            drive, and whether this should be encrypted or not. (Floppy 
  1623.            restrictions component). 
  1624.  
  1625.           Define, at a file system level, which files/directories will a given 
  1626.            group of users be able to access, also if necessary in a per process 
  1627.            basis. (Tree lock component) 
  1628.  
  1629.           Define which accelerator keys to define for fast object opening 
  1630.            (shortcuts component). 
  1631.  
  1632.           Establish which objects should be hooked at open time to require a 
  1633.            password or similar (hooked objects). 
  1634.  
  1635.           Define the aspect and required contents of the window list (window 
  1636.            list component). 
  1637.  
  1638.           What about memory folders and personal folders ? will those be 
  1639.            required in your installation ? (personal desktop component). 
  1640.  
  1641.    3. Extract, from the above definitions, the common profiles for all groups, 
  1642.       and the exceptions which should be assigned in a per user basis. Discard 
  1643.       any component for which you do not want to establish restrictions. 
  1644.  
  1645.    4. Build a table describing the different needs you have, as the following 
  1646.       one : 
  1647.  
  1648.             ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  1649.             ΓöéGroup               ΓöéRequirements                  ΓöéComponent                     Γöé
  1650.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1651.             ΓöéDefault             ΓöéHave the standard lockup      ΓöéSES                           Γöé
  1652.             Γöé                    Γöébitmaps, ctl-alt-del to promptΓöé                              Γöé
  1653.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1654.             ΓöéADMINS              ΓöéDo not need any restriction,  ΓöéLaunchpad                     Γöé
  1655.             Γöé                    ΓöéSpecial launchpad to launch   Γöé                              Γöé
  1656.             Γöé                    ΓöéADMIN tools.                  Γöé                              Γöé
  1657.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1658.             ΓöéTELLERS             Γöé Access to the banking        ΓöéDesktop, Treelock, Floppy,    Γöé
  1659.             Γöé                    Γöéapplication. Disable moving ofΓöéSES, Launchpad, Windows B.    Γöé
  1660.             Γöé                    Γöéicons. Enable access to       Γöé                              Γöé
  1661.             Γöé                    ΓöéAMIPRO. Only read             Γöé                              Γöé
  1662.             Γöé                    Γöéfloppy/encrypted. ctl-alt-del Γöé                              Γöé
  1663.             Γöé                    Γöéto do nothing. Launchpad with Γöé                              Γöé
  1664.             Γöé                    Γöébank application. Disable     Γöé                              Γöé
  1665.             Γöé                    ΓöéFonts manipulation from       Γöé                              Γöé
  1666.             Γöé                    Γöéemulators                     Γöé                              Γöé
  1667.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1668.             ΓöéDEVELOPERS          ΓöéHave general access. LaunchpadΓöéDesktop, Launchpad            Γöé
  1669.             Γöé                    Γöéspecial with development toolsΓöé                              Γöé
  1670.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1671.             ΓöéIndividual requests ΓöéSome developers may need      ΓöéFloppy                        Γöé
  1672.             Γöé                    Γöéaccess to floppy in R/W       Γöé                              Γöé
  1673.             Γöé                    Γöéencrypted mode                Γöé                              Γöé
  1674.             ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  1675.  
  1676.    5. Create and test the different profiles using each component workbench, 
  1677.       assigning names to those in the previous table. 
  1678.  
  1679.    6. Build a table like the following : 
  1680.  
  1681.             ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  1682.             ΓöéComponent   ΓöéDefault     ΓöéADMINS      ΓöéTELLERS     ΓöéDEVELOPERS  ΓöéIndividual  Γöé
  1683.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1684.             ΓöéDESKTOP     ΓöéAll         ΓöéAll visible ΓöéDESK1.INI   ΓöéDESK2.INI   Γöé            Γöé
  1685.             Γöé            Γöéinvisible   Γöé            Γöé            Γöé            Γöé            Γöé
  1686.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1687.             ΓöéLAUNCHPAD   Γöé            ΓöéLP1.INI     ΓöéLP2.INI     ΓöéLP3.INI     Γöé            Γöé
  1688.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1689.             ΓöéWINDOWS     Γöé            Γöé            ΓöéWB1.INI     Γöé            Γöé            Γöé
  1690.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1691.             ΓöéSES         ΓöéSES1.INI    Γöé            ΓöéSES2.INI    Γöé            Γöé            Γöé
  1692.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1693.             ΓöéFLOPPY      Γöé            Γöé            ΓöéFLOP1.INI   Γöé            ΓöéFLOP2.INI   Γöé
  1694.             Γöé            Γöé            Γöé            Γöé            Γöé            Γöé(*)         Γöé
  1695.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1696.             ΓöéTREELOCK    Γöé            Γöé            ΓöéTLK1.INI    Γöé            Γöé            Γöé
  1697.             ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  1698.  
  1699.  
  1700.             (*) For developers which require encrypted access.
  1701.  
  1702.    7. Use the interactive or batch users and groups administration tool to 
  1703.       create the different users and groups. Take into account that SecureEntry 
  1704.       groups for IBM Lan Server environment should begin with the letters 'SG' 
  1705.  
  1706.    8. Use the interactive or batch users and groups administration tool to drop 
  1707.       into the different users and groups their assigned profiles. 
  1708.  
  1709.    9. Drop into the NOUSER folder the profiles for default restrictions (valid 
  1710.       for all users/groups without a specific profile for a given component). 
  1711.       Remember to rename those profiles to the default component profile name 
  1712.       to be identified by the system. That is the name of the given component's 
  1713.       template profile within the TEMPLATE folder. 
  1714.  
  1715.   10. Decide on whether it is necessary/how to install any of the other 
  1716.       components supplied such as : 
  1717.  
  1718.           Boot protection 
  1719.  
  1720.           File Integrity check 
  1721.  
  1722.           Startup process 
  1723.  
  1724.           User exits 
  1725.  
  1726.   11. Test your solution 
  1727.  
  1728.   12. At any time, if you want to change any assigned component profile, once 
  1729.       it has already been assigned to a user, you can do that by directly 
  1730.       double clicking the component icon within the interactive administration 
  1731.       tool, or writing a batch process file with the change to be processed by 
  1732.       the batch users and group management tool. 
  1733.  
  1734.  Follows a list and description of how to configure and work with the different 
  1735.  components, as described under this and the following chapter : 
  1736.  
  1737.  Base and presentation manager related components : 
  1738.  
  1739.      Floppy restrictions component 
  1740.  
  1741.      SES behavior component 
  1742.  
  1743.      Windows behavior component 
  1744.  
  1745.      The Window list component 
  1746.  
  1747.      Treelock component 
  1748.  
  1749.      Startup process 
  1750.  
  1751.      Boot protection 
  1752.  
  1753.      File integrity 
  1754.  
  1755.      Processes auditor component 
  1756.  
  1757.      Lotus Notes component 
  1758.  
  1759.  Components related to WorkPlace Shell : 
  1760.  
  1761.      Desktop restrictions component 
  1762.  
  1763.      The Personal desktop component 
  1764.  
  1765.      The Hooked objects component 
  1766.  
  1767.      The Launchpad component 
  1768.  
  1769.      The WarpCenter component 
  1770.  
  1771.      The shortcuts component 
  1772.  
  1773.      The Public Applications component 
  1774.  
  1775.  
  1776. ΓòÉΓòÉΓòÉ 6.1. The Floppy restrictions component ΓòÉΓòÉΓòÉ
  1777.  
  1778. Being this one the easiest component to work with, we will describe it first. 
  1779.  
  1780. The Floppy restrictions component allows to configure the way that the user 
  1781. will be able to 'see' the floppy diskette drive, with several options : 
  1782.  
  1783.      No access at all 
  1784.  
  1785.      Read/write access 
  1786.  
  1787.      Read/write access with encryption 
  1788.  
  1789.      Read only access 
  1790.  
  1791.      Read only access with encryption 
  1792.  
  1793.  Besides, and if encryption access mode is selected, then you have te option to 
  1794.  choose either a generic encryption algorithm, or one which is dependant on the 
  1795.  institution and configuration of your SecureEntry network, so that diskettes 
  1796.  created using this mode will not be readable from another SecureEntry 
  1797.  configured workstation unless it belongs to your institution. If you choose a 
  1798.  generic algorithm, then it can be the default one ('light encryption'), or an 
  1799.  enhanced one which, although less performing, is somewhat more secure. 
  1800.  
  1801.  In order to work with this component, please open the Floppy restrictions 
  1802.  Workbench folder located in the SecureEntry Workbench folder. 
  1803.  
  1804.  You can create a profile for this component by dragging a copy from its 
  1805.  component profile template (name is EDYFLOPP.INI). 
  1806.  
  1807.  You can edit the different options by dropping the profile into the 'Floppy 
  1808.  restrictions editor' program object, which has the following aspect : 
  1809.  
  1810.  You can test a given profile by dropping it into the program object named 
  1811.  'Test floppy restrictions'. 
  1812.  
  1813.  By last, you can translate disks from one format to another one with the 
  1814.  'Floppy translator' utility object, located also within this folder, without 
  1815.  the need to reformat the diskette. Please run the program and refer to the 
  1816.  associated help to know how it works. Note that this utility is specially 
  1817.  efficient as it can do a translation of only the logical found data on the 
  1818.  disk, skipping the need to write all of it unless completely filled up. 
  1819.  SecureEntry supplies you with two versions of this program, being one 
  1820.  graphical, and the other command line. The names are : 
  1821.  
  1822.      EDYTFLOP.EXE For the graphical one, and 
  1823.  
  1824.      TRANDISK.EXE For the command line one. 
  1825.  
  1826.  They both reside within the EXEC directory of the SecureEntry path. 
  1827.  
  1828.      API and modules description 
  1829.  
  1830.  
  1831. ΓòÉΓòÉΓòÉ 6.1.1. API and modules description ΓòÉΓòÉΓòÉ
  1832.  
  1833. What follows is the description of the Floppy restrictions component modules: 
  1834.  
  1835.      Floppy disk filter 
  1836.  
  1837.       Loaded at CONFIG.SYS processing time through the following sentence: 
  1838.  
  1839.             BASEDEV=EDYFLPY.FLT
  1840.  
  1841.       Note that to avoid problems with the XDF filter, this filter should be 
  1842.       loaded after the XDFLOPPY.FLT filter. 
  1843.  
  1844.       Messages: 
  1845.  
  1846.         -  Successful operation: 
  1847.  
  1848.  
  1849.                            IBM SecureEntry Floppy Disk Filter V 1.00
  1850.  
  1851.         -  Warning: none. 
  1852.  
  1853.         -  Error: none. 
  1854.  
  1855.       Return codes: successful operation lets the system to continue the boot 
  1856.       process. So does at failure, but in this case the Floppy disk filter 
  1857.       remains unloaded. 
  1858.  
  1859.      EDYFLINI 
  1860.  
  1861.       For each profile (INI file) you want to create you must run the following 
  1862.       utility: 
  1863.  
  1864.  
  1865.                  EDYFLINI.EXE [IniFileName]
  1866.  
  1867.       If the Floppy disk filter is loaded, you can set a floppy disk access 
  1868.       immediately through the Push-Button TEST NOW. 
  1869.  
  1870.       You have the facility to load, save and create new INI files. 
  1871.  
  1872.      EDYFLPY 
  1873.  
  1874.       To activate an access right, you can build your own application calling 
  1875.       the Floppy disk filter API, or you can run the provided program: 
  1876.  
  1877.  
  1878.                  EDYFLPY.EXE [/I:[drive:][pathname][filename][.INI]] | [/V:Value]
  1879.  
  1880.       If passing an INI file name, you will activate the access right stored in 
  1881.       it. If passing a value, you will activate its related access right. 
  1882.  
  1883.       Messages: 
  1884.  
  1885.         -  Successful operation: 
  1886.  
  1887.                       Ok
  1888.  
  1889.         -  Warning: none. 
  1890.  
  1891.         -  Errors: 
  1892.  
  1893.                       Usage: EDYFLPY [/I:[drive:][pathname]filename.[.INI]] | [/V:Value]]
  1894.                                      Value in [10,20,21,22,30,40,41,42,50]
  1895.  
  1896.            Or: 
  1897.  
  1898.                       Error produced on WEEKDAY, DATE AND TIME
  1899.                       ------------------------------------------
  1900.                        Source Module Name: SOURCE MODULE NAME
  1901.                        Compilation Date  : COMPILATION DATE
  1902.                        Compilation Time  : COMPILATION TIME
  1903.                        Source Line Number: SOURCE LINE NUMBER
  1904.                        Logged Error      : (hex)=RC (dec)=RC
  1905.  
  1906.                       The Floppy Disk Filter API returned (hex)=__ (dec)=__
  1907.  
  1908.       Return codes: successful operation or warning returns the value 0 to the 
  1909.       command line. A failure returns its value to the command line. 
  1910.  
  1911.      Floppy disk filter API 
  1912.  
  1913.       The Floppy disk filter API has the following entry points, defined in 
  1914.       EDYFLAPI.H: 
  1915.  
  1916.  
  1917.                  ULONG _System EDYFloppyAccessFromIni(PSZ FileName);
  1918.  
  1919.       If FileName is not NULL, it must point to the name of an INI file 
  1920.       gathering data about the access rights of a given user. If FileName is 
  1921.       NULL, if the file %SGM_SHELL%\NOUSER\EDYFLOPP.INI exists, the settings in 
  1922.       that file will be activated; if that file does not exist, no rights to 
  1923.       the floppy drive will be given. 
  1924.  
  1925.  
  1926.                  ULONG _System EDYFloppyAccessFromValue(LONG Value);
  1927.  
  1928.       Value must be one of the five access rights. 
  1929.  
  1930.  
  1931.                  ULONG _System EDYGetIniValue(PSZ FileName, PLONG Value);
  1932.  
  1933.       Reads the access right defined in the INI file FileName, but it does not 
  1934.       update current access rights to floppy disk. 
  1935.  
  1936.  
  1937.                  ULONG _System EDYSetIniValue(PSZ FileName, LONG Value);
  1938.  
  1939.       Sets an access right in the INI file FileName, but it does not update 
  1940.       current access rights to floppy disk. 
  1941.  
  1942.       Messages: 
  1943.  
  1944.         -  Successful operation: none. 
  1945.  
  1946.         -  Warning: none. 
  1947.  
  1948.         -  Error: none. 
  1949.  
  1950.       Return codes: successful operation returns the value 0 to the caller. A 
  1951.       failure returns its value. 
  1952.  
  1953.  
  1954. ΓòÉΓòÉΓòÉ 6.2. The SES behavior component ΓòÉΓòÉΓòÉ
  1955.  
  1956. The SES behavior component allows you to configure 'system level' settings for 
  1957. the behavior of the system during session control functions, such as : 
  1958.  
  1959.      Secure startup bitmaps 
  1960.  
  1961.      Desktop background bitmap 
  1962.  
  1963.      Lockup behavior and appearance 
  1964.  
  1965.      Screen saving function 
  1966.  
  1967.      Systemwide hot keys disabling and/or hooking 
  1968.  
  1969.      Ctl-Alt-Del behavior 
  1970.  
  1971.      Whether to show which processes at logoff/shutdown time 
  1972.  
  1973.  In order to work with this component, please open the SES Behavior Workbench 
  1974.  folder located in the SecureEntry Workbench folder. 
  1975.  
  1976.  In order to create a security profile for this component, drag one from the 
  1977.  component profile template object (named EDYSES.INI). 
  1978.  
  1979.  In order to edit one of these profiles, drop it into the 'SES Behavior 
  1980.  restrictions editor' program object, set up your preferences and then save it 
  1981.  as with any other editor. This editor looks as follows : 
  1982.  
  1983.  Note that this component allows you to configure very different machine 
  1984.  behavior characteristics, such as control-alt-del behavior, and/or which 
  1985.  processes to show at logoff/shutdown time. Take into account : 
  1986.  
  1987.      This component can be used to configure the startup application bitmaps, 
  1988.       which will be the 'background bitmap' used for lockup, and the specific 
  1989.       'startup bitmap' as the logo one, when a profile of its kind is placed in 
  1990.       the NOUSER directory. 
  1991.  
  1992.      Within the 'Show applications at logoff' page, you ought to configure 
  1993.       those applications for which you want to override the prompting behavior, 
  1994.       i.e, whether to show them in the logoff applications list or not. Those 
  1995.       can be configured by process name, or by session title, Noting that all 
  1996.       VDMs programs are seen as the same application process, named either 
  1997.       SYSINIT, or VDM. by SecureEntry. 
  1998.  
  1999.       In order to understand what will be the behavior of the mentioned dialog 
  2000.       at shutdown or logoff, follows a step by step description of its process 
  2001.       : 
  2002.  
  2003.         1. First, an initial process list is being built up with the processes 
  2004.            to kill. This list includes all processes running in the system 
  2005.            except : 
  2006.  
  2007.              -  All superuser context running processes, if performing a logoff 
  2008.                 (no shutdown) operation. (see About processes and running 
  2009.                 contexts) 
  2010.  
  2011.              -  Processes already dying. 
  2012.  
  2013.              -  Processes running under superuser context, detached. 
  2014.  
  2015.              -  Reserved processes, such as PMSPOOL, PMSHELL or SecureEntry 
  2016.                 daemons. 
  2017.  
  2018.              -  All processes belonging to screengroup ID 0, such as 
  2019.                 HARDERR.EXE. 
  2020.  
  2021.         2. Then, and one by one, all the elements remaining in the list (those 
  2022.            that will be killed by the ongoing process) are passed through the 
  2023.            configured list of filter restrictions, marking it as 'to show', 
  2024.            'not to show' or 'default action', in order to build the list of 
  2025.            processes to show. 
  2026.  
  2027.         3. Those processes marked as 'default action', i.e, not directly 
  2028.            specified by the security restriction profile filter, are handled as 
  2029.            follows : 
  2030.  
  2031.              -  Processes running under a Dos Box (VDM) will be shown. 
  2032.  
  2033.              -  PM or detached processes will not be shown. 
  2034.  
  2035.              -  OS/2 fullscreen or windowed processes will show only its more 
  2036.                 deeper descendant process. 
  2037.  
  2038.       Note that you can specify within the filter list, either the process 
  2039.       name, or the process title, by enclosing it between double quotes. In 
  2040.       both cases you can use wildcards. If you want to know the process name 
  2041.       for a given title, make it appear in the list at logoff or shutdown, and 
  2042.       then double click within the listbox area so that the list will switch 
  2043.       between showing process titles and process executable names. 
  2044.  
  2045.      Default processing for the foreground startup bitmap is a bit tricky, 
  2046.       since the default value will be the 'Moving bitmap' of the screen saver 
  2047.       page, if any. Failing that, a default OS/2 bitmap will be presented. 
  2048.  
  2049.  The 'Test SES behavior' program object can be used to test any profile for 
  2050.  this component. Drop a given profile into it to do so. 
  2051.  
  2052.  For last, this component is fully supported, independently of the fact that 
  2053.  the real Security Enabling Services are being used. If they are not, 
  2054.  SecureEntry will provide with the equivalent function. 
  2055.  
  2056.  
  2057. ΓòÉΓòÉΓòÉ 6.3. The Windows behavior component ΓòÉΓòÉΓòÉ
  2058.  
  2059. The windows behavior component allows you to configure part of the general 
  2060. behavior of application frame windows whenever a given security profile of its 
  2061. kind is active. Among other things you can set up the frame window initial size 
  2062. and position, and restrict some or all of the system menu options that the 
  2063. application may display. 
  2064.  
  2065. In order to work with this component, please open the Window Restrictions 
  2066. Workbench folder located in the SecureEntry Workbench folder. 
  2067.  
  2068. In order to create a security profile for this component, drag one from the 
  2069. component profile template object (named EDYWIN.INI). 
  2070.  
  2071. To modify a profile of this type, you can drop it into the 'Windows 
  2072. Restrictions Editor' program object, edit the frame window settings you wish 
  2073. to, and then close it as if working with any regular editor : 
  2074.  
  2075. In order to test a given Window Restrictions profile, just drop it into the 
  2076. 'Test window restrictions' program object. 
  2077.  
  2078. There are several details to take into account when working with this component 
  2079.  
  2080.    1. The 'delay' configurable parameter for the Window position/size setting 
  2081.       should only be used for those applications which 'refuse' to 
  2082.       position/size themselves with delay value of 0. This is because some 
  2083.       applications reseize their windows some time after window creation. 
  2084.  
  2085.    2. You can setup restrictions in a per window title name basis, or in a per 
  2086.       process basis. To do so : 
  2087.  
  2088.           If you choose to configure by title name, you should configure the 
  2089.            window title names exactly as they appear in the frame window title, 
  2090.            enclosed between double quotes. 
  2091.  
  2092.           If you do configure by process name, the process name has to be that 
  2093.            of the process owning the dialog procedure for the desired window. 
  2094.            Do not enclose the process name between quotes. Note that this 
  2095.            option is only advised when configuring by title results impossible, 
  2096.            since restrictions may end up applied to more than the desired 
  2097.            windows. Note that all DOS Box and OS/2 windowed sessions are 
  2098.            'owned' by the first pmshell (SESSHELL.EXE when working with the 
  2099.            Security Enabling Services). 
  2100.  
  2101.    3. Both window title names, process names and window Menu strings that you 
  2102.       wish to deactivate accept wildcards in their specification, and are 
  2103.       processed in a case insensitive manner, orderly from the first to the 
  2104.       last one, as appears within the appropriate editor's listbox. Note that 
  2105.       only the first matching entry is processed. 
  2106.  
  2107.    4. You can only restrict reseize capabilities or initial position and size 
  2108.       for windows which are 'sizeable', that is, have a sizeable border. 
  2109.  
  2110.    5. In order to configure menu strings to disable, the following tricks may 
  2111.       be of interest : 
  2112.  
  2113.           The scope of menu controls affected is : 
  2114.  
  2115.              a. For window frames specified by window frame title, all menus 
  2116.                 and submenus that are owned by a frame with the same title. 
  2117.  
  2118.              b. For window frames specified by process name, all menus whose 
  2119.                 window procedure executes within the context of the specified 
  2120.                 process (same process id). 
  2121.  
  2122.           The frame 'Desktop' owns all first level menus of the desktop, 
  2123.            whereas the process 'PMSHELL.EXE' owns all menus for all desktop 
  2124.            objects, including opened folders menus. 
  2125.  
  2126.           You can configure default menu strings to disable, to be disabled in 
  2127.            all cases, by doing so within the definitions for the <DEFAULT> 
  2128.            window. 
  2129.  
  2130.       As a samples of all this, 
  2131.  
  2132.       To disable the End Session menu item from the desktop system menu: 
  2133.  
  2134.  
  2135.               Configure the menu string End Session for a window named "Desktop"
  2136.  
  2137.       To disable the Find item from all the desktop menus, including opened 
  2138.       folders: 
  2139.  
  2140.  
  2141.               Configure the menu string *Find* for the process named *PMSHELL.EXE
  2142.  
  2143.       Note the asterisks, since the F is frequently an accelerator key, and the 
  2144.       menu item can have also usually the form Find... 
  2145.  
  2146.       To universally disable the Find item from all desktop, folders, and 
  2147.       applications menus of the system: 
  2148.  
  2149.  
  2150.               Configure the menu string *Find* for the <DEFAULT> window name entry.
  2151.  
  2152.    6. When configuring restrictions for WIN-OS/2 applications, take into 
  2153.       account : 
  2154.  
  2155.           You can set an initial position for those, and restrict the reseize, 
  2156.            move, close, maximize, minimize or hide capabilities of the window, 
  2157.            but the effect on the screen will be different from the same 
  2158.            restrictions applied to an OS/2 PM application, since the menu 
  2159.            entries will not be disabled, although any attempt to invoke those 
  2160.            will revert to an allowed state for the window. 
  2161.  
  2162.           You can not deactivate menu items by name (lower right corner list 
  2163.            on the editor), since the WIN-OS/2 applications menu items do not 
  2164.            belong to the OS/2 frame window which owns them. 
  2165.  
  2166.           Remember to mark the application entry as 'DOS' type. 
  2167.  
  2168.    7. Finally, a brief description of the initial state radio buttons : 
  2169.  
  2170.           If you choose to fix an initial window position and select the 
  2171.            'Restored' radio button, then the window will be restored to that 
  2172.            specified size and position right after creation plus the configured 
  2173.            'delay' time. 
  2174.  
  2175.           If you choose to fix an initial window position and select the 
  2176.            'Maximized' radio button, then the window will be maximized to its 
  2177.            default maximized position and size right after creation plus the 
  2178.            configured 'delay' time. 
  2179.  
  2180.           If you choose to fix an initial window position and select the 
  2181.            'Minimized' radio button, then the window will be minimized to its 
  2182.            default minimized position and size right after creation plus the 
  2183.            configured 'delay' time. The window frames behavior component will 
  2184.            then wait until an attempt is made to maximize or restore the 
  2185.            window, and then force the 'restored' state with the configured size 
  2186.            and position, unless either 
  2187.  
  2188.              -  The window is configured to not allow the maximize state, or 
  2189.  
  2190.              -  The configured width and height are both set to 1 (minimum) 
  2191.  
  2192.            In this case the forced state will be the maximized one. 
  2193.  
  2194.       In any case, it becomes clear that in order to be able to choose a given 
  2195.       initial state, the corresponding state allowance flag must be enabled, 
  2196.       i.e you can not set an initial state of 'maximized' if the 'maximize' 
  2197.       checkbox is unchecked. 
  2198.  
  2199.    8. When restricting position and sizing of windows, special care has to be 
  2200.       taken with applications that do their own adjustments. A clear such 
  2201.       sample are the CM/2 3270 emulator windows when configured with 'variable 
  2202.       font size'. There is the risk in this case that both applications 
  2203.       (SecureEntry and the window owner) start 'fighting' to setup a different 
  2204.       position or size for the window. If such a problem appears, there is 
  2205.       normally an application option that you can deactivate, which is the 
  2206.       cause for the application autoadjust. This is solved in the CM/2 sample, 
  2207.       by setting a fixed font size for the emulators. 
  2208.  
  2209.    9. Be careful when 'forcing' initial window states that applications do not 
  2210.       allow in normal operation (i.e, without SecureEntry). They will possibly 
  2211.       not work. 
  2212.  
  2213.  And for last, take into account that this component does heavily rely on 
  2214.  defacto system behavior assumptions, and pushes the Presentation Manager 
  2215.  limits quite high, being designed to cover a high percentage of the 
  2216.  requirements in this area. What this all means is that the end result may just 
  2217.  not be the desired one in a few cases, without real possible solutions. In any 
  2218.  case, we would like to hear about the specific case, and try to find out one 
  2219.  if possible. 
  2220.  
  2221.  
  2222. ΓòÉΓòÉΓòÉ 6.4. The Window List component ΓòÉΓòÉΓòÉ
  2223.  
  2224. The windows list component allows you to configure the behavior of the window 
  2225. list application whenever a given security profile of its kind is active. Among 
  2226. other things you can specify which tasks are to be shown or hidden, whether to 
  2227. allow task management from itself, and some aesthetic configuration of its 
  2228. appearance. 
  2229.  
  2230. In order to work with this component, please open the Window List Restrictions 
  2231. Workbench folder located in the SecureEntry Workbench folder. 
  2232.  
  2233. In order to create a security profile for this component, drag one from the 
  2234. component profile template object (named EDYWDLST.INI). 
  2235.  
  2236. To modify a profile of this type, you can drop it into the 'Windows List 
  2237. Restrictions Editor' program object, edit the settings you wish to, and then 
  2238. close it as if working with any regular editor : 
  2239.  
  2240. In order to test a given Window List Restrictions profile, just drop it into 
  2241. the 'Test window List restrictions' program object. You can test it also from 
  2242. within the editor application through its menu options. 
  2243.  
  2244. When configuring profiles for this component, keep in mind : 
  2245.  
  2246.      The Lists of processes to hide/show are used to decide whether a new 
  2247.       entry in the switch list should be visible or not. The following rules 
  2248.       are applied: 
  2249.  
  2250.         1. Wildcards '*' and '?' are allowed and the pattern matching is done 
  2251.            case insensitive. 
  2252.  
  2253.         2. The matched string is in some instances not exactly what you see in 
  2254.            the switch list container, but instead the real title of the 
  2255.            application. This may be because, depending on the session type, 
  2256.            OS/2 does preppend some session identification string to the title. 
  2257.            You can use the supplied Switch list utilities : EDYSWL2 program to 
  2258.            see the real string titles. 
  2259.  
  2260.         3. If the application title is not in both lists, the title is left 
  2261.            untouched. (visible or invisible depending on the application 
  2262.            itself). 
  2263.  
  2264.         4. If the application title matches an entry in the  'Entries to show' 
  2265.            list, but not in the 'Entries to hide' list, then the application 
  2266.            will be visible within the task list. 
  2267.  
  2268.         5. If the application title matches an entry in the  'Entries to hide' 
  2269.            list, but not in the 'Entries to show' list, then the application 
  2270.            will not be visible within the task list. 
  2271.  
  2272.         6. If the application title matches an entry in both lists, then the 
  2273.            list to which the longest pattern belongs mandates what to do. So, 
  2274.            for instance : 
  2275.  
  2276.                                    Entries to hide       Entries to show
  2277.  
  2278.                                         *                   *CMD*
  2279.                                                             *Desktop*
  2280.  
  2281.            Will hide everything except what matches '*CMD*' or '*Desktop*', 
  2282.            similarly 
  2283.  
  2284.                                    Entries to hide       Entries to show
  2285.  
  2286.                                       *CMD*                   *
  2287.                                       *Communic*
  2288.  
  2289.            Would show everything in the task list, except those applications 
  2290.            with switch list titles matching '*CMD*' or '*Communic*'. 
  2291.  
  2292.      Due to the standard behavior of the task list, you should make sure that 
  2293.       if it is active, then there is at least one item showable at all times, 
  2294.       or the <ESC> key will not let you dismiss the dialog. 
  2295.  
  2296.      The 'Popup menu' checkbox refers to the ability to work with the context 
  2297.       menus of the entries of the switch list. If the state is unchecked, then 
  2298.       when using the profile, the task list will only be able to be used as a 
  2299.       task switcher without the ability to move, close.... the affected 
  2300.       windows. 
  2301.  
  2302.  
  2303. ΓòÉΓòÉΓòÉ 6.5. The Treelock component ΓòÉΓòÉΓòÉ
  2304.  
  2305. The treelock component allows you to control through an access control list 
  2306. profile, the parts of the logical drive and/or devices that the system should 
  2307. allow access to, once the component is activated with a given profile. 
  2308.  
  2309. In order to work with this component, please open the Treelock Workbench folder 
  2310. located in the SecureEntry Workbench folder. 
  2311.  
  2312. Within the treelock workbench folder, you will find : 
  2313.  
  2314.      Shadows to open the two sample profile files. 
  2315.  
  2316.      Templates to create treelock restriction profiles and audit files. 
  2317.  
  2318.      A program object to invoke the Treelock Editor by drag and drop in order 
  2319.       to edit a given profile. 
  2320.  
  2321.      A program object to test a given treelock profile, named 'Test treelock'. 
  2322.  
  2323.  The Treelock Editor allows you to edit treelock profiles. A Treelock profile 
  2324.  is basically an access rights list that specifies which file system resources 
  2325.  will be accessible and which will not, once the profile is activated. 
  2326.  
  2327.  Note that the treelock audit file is treated as any other component, which you 
  2328.  can assign to users or at a machine level through the users and groups 
  2329.  administration tools. 
  2330.  
  2331.      Profile, overview 
  2332.  
  2333.      Profile, Superuser Processes 
  2334.  
  2335.      Profile, Default Access Rights 
  2336.  
  2337.      Profile, Explicit Access Rights 
  2338.  
  2339.      Profile, Inactive Definitions 
  2340.  
  2341.      Profile, Parameterization 
  2342.  
  2343.      Profile, The ASCII syntax 
  2344.  
  2345.      Profile, Log Activity Configuration 
  2346.  
  2347.      Designing Treelock profiles 
  2348.  
  2349.      Testing Treelock profiles 
  2350.  
  2351.      Profile, Sample 1 
  2352.  
  2353.      Profile, Sample 2 
  2354.  
  2355.      Ambiguity Resolution 
  2356.  
  2357.      Templates 
  2358.  
  2359.      The Log Debug File 
  2360.  
  2361.      The audit file 
  2362.  
  2363.      Usage Samples 
  2364.  
  2365.      The Treelock API 
  2366.  
  2367.      Implicit restrictions 
  2368.  
  2369.  
  2370. ΓòÉΓòÉΓòÉ 6.5.1. Profile, overview ΓòÉΓòÉΓòÉ
  2371.  
  2372. A Treelock Profile specifies: 
  2373.  
  2374.       Which file system resources will be accessible and which will not. 
  2375.  
  2376.       Which accesses to the file system will be logged and which will not. 
  2377.  
  2378.  Control over the file system is achieved through the definition of a  default 
  2379.  access rights section and the definition of an explicit access rights section, 
  2380.  which is an access rights list structured in a process by process basis. Once 
  2381.  the profile is activated, each time a process attempts an access to the file 
  2382.  system, the explicit access rights list is queried first and, if possible, 
  2383.  applied, otherwise, the default access rights are used. 
  2384.  
  2385.  Control over the log activity is achieved by means of a global definition 
  2386.  and/or many process by process definitions called private log mode 
  2387.  definitions. The global log mode acts as a default log mode that applies to 
  2388.  all user processes that do not have a private log mode and, optionally, to all 
  2389.  superuser processes. Either global o private definitions can specify to log 
  2390.  all the attempted accesses or only the denied ones. 
  2391.  
  2392.  Note: a Treelock profile is in fact a text file that must fit a given syntax. 
  2393.  So, a profile may have syntax errors. The Treelock Editor detects them at load 
  2394.  time, and may display them at any time, giving the erroneous line number and 
  2395.  an error message pointing to a possible cause. 
  2396.  
  2397.  Note: a process running in superuser mode is not subject to Treelock profile 
  2398.  restrictions. 
  2399.  
  2400.  
  2401. ΓòÉΓòÉΓòÉ 6.5.2. Profile, Superuser Processes ΓòÉΓòÉΓòÉ
  2402.  
  2403. A process running in superuser mode is not related to any user and hence should 
  2404. not be restricted by the active Treelock profile (which is always related to a 
  2405. user session). To enforce this feature, every time a process attempts an access 
  2406. to a resource, the Treelock device driver finds out if the process is running 
  2407. in superuser or user mode. If the process turns out to be a superuser process 
  2408. then the Treelock device driver grants to it the access no matter what the 
  2409. active profile says about this process's access rights, otherwise the access is 
  2410. solved as defined by the profile. 
  2411.  
  2412. So, superuser processes have always full rights on all file system resources, 
  2413. you can not change this,  but you can configure the profile so as to log all 
  2414. accesses attempted by a superuser process. This allows you to monitor which 
  2415. processes are running in superuser mode in a given user session. See the 
  2416. Treelock Editor on-line help for more information. 
  2417.  
  2418.  
  2419. ΓòÉΓòÉΓòÉ 6.5.3. Profile, Default Access Rights ΓòÉΓòÉΓòÉ
  2420.  
  2421. A Treelock profile provides two ways to define the default access rights: 
  2422.  
  2423. An explicit access rights definition related to the reserved process name: 
  2424. EXES. 
  2425.  
  2426. A list of logical drives, from A to Z, that classifies each drive as accessible 
  2427. or not. 
  2428.  
  2429. When a process P attempts an access to a resource R and its explicit rights are 
  2430. not applicable, then the EXES process explicit rights are queried, if possible 
  2431. they are applied, if not then the drive list is queried and the access is 
  2432. granted only if R is located in an accessible drive. 
  2433.  
  2434.  
  2435. ΓòÉΓòÉΓòÉ 6.5.4. Profile, Explicit Access Rights ΓòÉΓòÉΓòÉ
  2436.  
  2437. A Treelock profile's explicit access rights section is designed to define 
  2438. access rights in a process by process basis. It is a list of access rights 
  2439. definitions. 
  2440.  
  2441. An access rights definition is an assignment of the same access rights to a 
  2442. particular set of processes. 
  2443.  
  2444. The access rights are defined in two steps. First the minimum granted rights 
  2445. are specified and then the specific access rights are specified. The minimum 
  2446. granted rights, if defined, act as the default access rights for the set of 
  2447. processes, and are applied only if the specific rights can not be applied. The 
  2448. specific access rights cannot be more restrictive than the minimum granted 
  2449. ones, and they are an access rights list structured in a resource by resource 
  2450. basis. 
  2451.  
  2452. The set of processes affected by an access rights definition is specified by 
  2453. means of a complete file system pathname, all processes that match this 
  2454. pathname belong to this set of processes. So, a process P has explicit access 
  2455. rights defined, only if P belongs to a set of processes specified by at least 
  2456. one of the profile's access rights definition (except EXES). 
  2457.  
  2458. Minimum Granted Rights 
  2459.  
  2460. The minimum granted rights, if defined, act as default access rights for the 
  2461. set of processes, they apply whenever any of these processes attempts an access 
  2462. to a resource not specified in the access rights definition's specific access 
  2463. rights list. Can take the following values: 
  2464.  
  2465.      FULL : the processes will have full access rights (open, execute, delete, 
  2466.       move, and subdirectories creation and removal) on all resources and will 
  2467.       be able to start a command line. 
  2468.  
  2469.      OPEN/EXECUTE : the processes will have open and execute rights (but not 
  2470.       delete, nor move, nor subdirectories creation and removal) on all 
  2471.       resources except those included in the specific access rights list, and 
  2472.       will be able to start a command line. 
  2473.  
  2474.      NONE : the processes will have no minimum granted rights defined, and all 
  2475.       accesses to resources not included in the specific access rights list 
  2476.       will be resolved using the logical drives default access rights list. 
  2477.  
  2478.  Specific Access Rights 
  2479.  
  2480.  The specific access rights section of an access rights definition is designed 
  2481.  to define access rights in a resource by resource basis, it is list of 
  2482.  arguments, <R,D,T>, specifying what kind of access the processes have to what 
  2483.  kind of resources: 
  2484.  
  2485.  R is a pathname to a file o directory. 
  2486.        Processes will have access rights, D, on all resources that match this 
  2487.        pathname. 
  2488.  
  2489.  D are the access rights. 
  2490.        Processes will have access rights D on the resources defined by R These 
  2491.        access rights can not be more restrictive than the minimum granted ones. 
  2492.  
  2493.  T is the resource type. 
  2494.        It is used to modify the set of resources specified by R. May take three 
  2495.        values: 
  2496.  
  2497.        File           The set of resources is not modified. 
  2498.  
  2499.        Directory      Processes have D access rights also on all resources 
  2500.                       located inside the directory specified by R. 
  2501.  
  2502.        Subtree        Is the same as specifying the pathname R*. Processes have 
  2503.                       D access rights also on all resources located in the 
  2504.                       subtree that hangs from R 
  2505.  
  2506.  Note: all pathnames that reference processes or resources in a profile can 
  2507.  accept wildcards ('*' ,'?') , and may be parameterized to unrelate them from 
  2508.  their file system's location. 
  2509.  
  2510.  Note: see the Treelock Editor's on-line help for more information about how to 
  2511.  define access rights definitions. 
  2512.  
  2513.  
  2514. ΓòÉΓòÉΓòÉ 6.5.5. Profile, Inactive Definitions ΓòÉΓòÉΓòÉ
  2515.  
  2516. The Treelock Editor allows you to deactivate any access rights definition and 
  2517. any specific access rights definition. 
  2518.  
  2519. An inactive definition acts as not defined when the profile is activated, 
  2520. however, the Treelock Editor recognizes it, and shows it inside the profile's 
  2521. inactive definitions section. 
  2522.  
  2523.  
  2524. ΓòÉΓòÉΓòÉ 6.5.6. Profile, Parameterization ΓòÉΓòÉΓòÉ
  2525.  
  2526. All pathnames that reference processes or resources in a profile may be 
  2527. parameterized to unrelate them from fixed file system's locations. After that, 
  2528. a profile becomes also a template and can be used to easily generate new 
  2529. profiles adapted to other file system configurations. 
  2530.  
  2531. Parameterization is done by relating pathname's substrings to arbitrary 
  2532. parameter names. 
  2533.  
  2534. c:\os2 could be related to %os_dir%
  2535. c:\sgmshell could be related to %sgm_shell%
  2536.  
  2537. Note: to avoid ambiguity, a parameterized string cannot be a complete substring 
  2538. of another parameterized string. 
  2539.  
  2540. After being parameterized, a profile is still a profile, the difference is that 
  2541. it can also behave as a template, that is, it can be loaded as a template with 
  2542. the parameterized strings being substituted by their related parameter names, 
  2543. and you can assign new values to them to generate new profiles. 
  2544.  
  2545. Note: see the Treelock Editor's on-line help for more information about how to 
  2546. parameterize a profile. 
  2547.  
  2548.  
  2549. ΓòÉΓòÉΓòÉ 6.5.7. Profile, The ASCII syntax ΓòÉΓòÉΓòÉ
  2550.  
  2551. The Treelock Editor detects a profile's syntax errors at load time. Once the 
  2552. profile is loaded, syntax errors can be displayed at any time: each erroneous 
  2553. line is showed, and for each error the line number and a an error message is 
  2554. given. 
  2555.  
  2556. A profile with syntax errors is not trusty: the Treelock Editor does not save 
  2557. profiles with syntax errors, so it can be assumed that the profile has been 
  2558. edited as a text file and modified by hand. 
  2559.  
  2560. What follows is the grammar that the ASCII profile must adjust to: 
  2561.  
  2562.    ; This is a comment, and lasts until the end of a line
  2563.  
  2564.    ; GLOBAL parameters section
  2565.    ; -------------------------
  2566.  
  2567.    [Set Debug=d:\fullpathname\filename]
  2568.  
  2569.    ; "set debug" establishes the name of the logging file. This file is
  2570.    ; recreated whenever the system is loaded or a profile is enabled and
  2571.    ; will contain all the actions the Device Driver logs. If not specified,
  2572.    ; no log file will be used, so nothing will be logged.
  2573.  
  2574.    [Set Globdebug={a|d}]
  2575.  
  2576.    ; "set globdebug" directs the Device Driver to log ALL actions/accesses
  2577.    ; or only DENIED ones
  2578.  
  2579.    ;           ZYXWVUTSRQPONMLKJIHGFEDCBA
  2580.    [Set Drives=00000011011011001001010111]
  2581.  
  2582.    ; "set drives" is a map of bits indicating whether access to a logical
  2583.    ; unit must be given (1) or not (0). This variable will be scanned when
  2584.    ; access to a resource could not be decided.
  2585.  
  2586.    [Set Mode={s|c}]
  2587.  
  2588.    ; "set mode" establishes whether unspecified processes have no access
  2589.    ; rights (STRICT), so that all accesses will be denied; or full access
  2590.    ; rights (CALCULATED), so that all accesses will be allowed. The Device
  2591.    ; Driver will scan this variable only if no global variable "set drives"
  2592.    ; was present.
  2593.    ; NOTE : the Treelock Editor does not use this variable because profiles
  2594.    ; are always saved with DRIVES defined.
  2595.    ; NOTE : This line alone does NOT override the implicit treelock
  2596.    ; restrictions (i.e, access to config.sys for regular users).
  2597.  
  2598.    ; PER PROCESS parameters section
  2599.    ; ------------------------------
  2600.  
  2601.    [A|D] {F|O|Y|N} <executable|EXES|VDMS> [args]*
  2602.    [args] = [A|R|N] {F|D|S} <filepath>
  2603.  
  2604.    ; A = analyze flag for this line: all access performed by this process
  2605.    ;     will be logged, but not prohibited.
  2606.    ; D = debug flag for this line: all failing access performed by this
  2607.    ;     process will be logged.
  2608.    ; F = this <executable> has full access: open, execute, delete, move,
  2609.    ;     and subdirectory creation/removal.
  2610.    ; O = this <executable> has full open and execute rights, but no delete,
  2611.    ;     move, mkdir nor rmdir.
  2612.    ; N = start of a command line will not be allowed for this <executable>.
  2613.    ; Y = start of a command line will be allowed for this <executable>.
  2614.    ;     This is the default value.
  2615.    ; <executable> = complete path and name of file, including drive letter
  2616.    ;                and colon (may contain the wildcards '*' and '?').
  2617.    ; <VDMS>       = Real-Mode executables have the kind of access on data
  2618.    ;                files present in <filepath>. If a data file is not
  2619.    ;                present there, Real-Mode executables will have the
  2620.    ;                access right depending on EXES statement.
  2621.    ; <EXES>       = non specified executables (even Real-Mode ones) have
  2622.    ;                the kind of access on data files present in <filepath>.
  2623.  
  2624.    ;                If a data file is not present there, non specified
  2625.    ;                executables will have the access right depending on
  2626.    ;                SET DRIVES value. If SET DRIVES variable is not specified,
  2627.    ;                non specified executables will have the access rights
  2628.    ;                depending on SET MODE value.
  2629.    ; For each process, there are zero or more args possible. Each argument
  2630.    ; has two or three arguments:
  2631.    ; o Optionally the kind of access to a <filepath>:
  2632.    ;   o A means that All accesses are allowed
  2633.    ;   o R means that Read-only accesses are allowed
  2634.    ;   o X means that Execute-only accesses are allowed
  2635.    ;   o N means that No accesses at all are allowed
  2636.    ;   A is the default value if none of the previous parameters is specified.
  2637.    ; o How to behave with <filepath>:
  2638.    ;   o F means access to a File.
  2639.    ;   o D means access to all files in a Directory
  2640.    ;   o S means access to all files in a directory and its Subdirectories
  2641.    ; o The <filepath>, which may contain the wildcards '*' and '?'.
  2642.    ;
  2643.    ; You can break a line into more lines using the character '/'
  2644.  
  2645.  
  2646. ΓòÉΓòÉΓòÉ 6.5.8. Profile, Log Activity Configuration ΓòÉΓòÉΓòÉ
  2647.  
  2648. From a Treelock profile you can configure the log activity you want to get done 
  2649. once the profile is activated. You can specify which processes do you want to 
  2650. monitor and which of their accesses do you want to log. 
  2651.  
  2652. For a given process, there are two log modes that specify which accesses to 
  2653. log: 
  2654.  
  2655.       Log only denied accesses. 
  2656.  
  2657.       Log all attempted accesses (and grant them, no matter what the profile 
  2658.       says) 
  2659.  
  2660.  A log mode may be globally or privately defined. A private log definition 
  2661.  assigns a log mode to an access rights definition and takes effect on all user 
  2662.  processes related to that definition; a global log definition assigns a log 
  2663.  mode to all user processes that do not have a private log mode and, 
  2664.  optionally, to all superuser processes. 
  2665.  
  2666.  Note: a private log definition does not apply to a process running in 
  2667.  superuser mode. Superuser processes can only be monitorized by specifying it 
  2668.  in the profile's global log mode definition. 
  2669.  
  2670.  Note: see the Treelock Editor's on-line help for more information about how to 
  2671.  define log modes for processes. 
  2672.  
  2673.  
  2674. ΓòÉΓòÉΓòÉ 6.5.9. Designing Treelock profiles ΓòÉΓòÉΓòÉ
  2675.  
  2676. When assigning file access permissions, the system administrator must edit a 
  2677. treelock profile specifying what rights must be active. This profile will be 
  2678. saved as an ASCII file by the treelock editor and may be read by the Treelock 
  2679. device driver either when loading, or at run-time through the use of the 
  2680. Treelock device driver API. 
  2681.  
  2682. You must be aware that the process of closing the system to unprivileged 
  2683. accesses consists of a fine tuning of the profiles using the method of "trial 
  2684. and error". For example, if you want to let the user execute the program 
  2685. Amipro/2, but restricting its access to some working directories, then you'll 
  2686. have to repeatedly test your profile until you get confident that: 
  2687.  
  2688.    1. You have identified all the resources that Amipro/2 internally accesses, 
  2689.       giving it full access to those resources that it creates or updates, and 
  2690.       giving it read-only access to those resources that it does not need to 
  2691.       create nor update. 
  2692.  
  2693.    2. You have identified all the resources that Amipro/2 accesses as a result 
  2694.       of the user accessing different directories/files. You must grant 
  2695.       Amipro/2 a particular kind of access depending on what resources you want 
  2696.       to protect/unprotect. 
  2697.  
  2698.  You can manage all the applications by giving specific access rights to some 
  2699.  of these applications, and then by giving specific access rights to the rest 
  2700.  of the non-specified applications (they all will have the same access rights). 
  2701.  
  2702.  Programs running in VDMs, even in the Windows subsystem, are indistinguishable 
  2703.  one from the other, since the OS/2 Warp kernel only sees different instances 
  2704.  of the Protected Shell process running in real mode. Therefore, all programs 
  2705.  running in real mode will match the "joker" process VDMS. If the Treelock 
  2706.  device driver cannot decide whether or not to give access depending on what 
  2707.  the VDMS "joker" process restrictions state, it will eventually end up 
  2708.  managing the process trying with the "joker" process EXES. 
  2709.  
  2710.  The process of closing the system heavily depends on your needs. You may need 
  2711.  a relatively closed system where you specify restrictions on few processes and 
  2712.  assign the rest of the process few restrictions; or you may need a more closed 
  2713.  system, where you specify the restrictions you need for the majority of the 
  2714.  processes, and let no open doors to non-specified processes. The first case 
  2715.  leads to a relaxed, easy to configure, system profile; the second one will 
  2716.  take more of your time to fine-tune it. To help you in this task the Treelock 
  2717.  Editor allows you to activate profiles and to edit log files in such a way 
  2718.  that the displayed information may be directly used to modify the profile's 
  2719.  data. 
  2720.  
  2721.  Anyway, the best method to follow when approaching the tuning of a process in 
  2722.  a profile is: 
  2723.  
  2724.    1. Specify a log file name for the profile. 
  2725.  
  2726.    2. Specify the global log mode as "log only denied accesses". 
  2727.  
  2728.    3. Specify all logical drives as accessible (open system). 
  2729.  
  2730.    4. For the process you want to tune specify the private log mode as "tune 
  2731.       mode" 
  2732.  
  2733.    5. Give to the process you want to tune "NO" minimum granted rights. 
  2734.  
  2735.    6. Enable the profile and begin extensively using the program. 
  2736.  
  2737.    7. Edit the log file from the Treelock Editor and find out what resources 
  2738.       are accessed by this process. 
  2739.  
  2740.    8. Add the internally used resources in the access rights definition of the 
  2741.       process in the profile and set their specific access rights (you can do 
  2742.       it directly from the log file editor) 
  2743.  
  2744.    9. Change the minimum granted rights's value to the one that best fit your 
  2745.       needs. 
  2746.  
  2747.   10. Go to step 6 until you see that you have fine-tuned this program. 
  2748.  
  2749.  
  2750. ΓòÉΓòÉΓòÉ 6.5.10. Testing Treelock profiles ΓòÉΓòÉΓòÉ
  2751.  
  2752. The Treelock Editor allows you to activate and deactivate Treelock profiles 
  2753. without quitting it. Activating a profile means applying all its restrictions, 
  2754. so care must be taken when working with closed profiles. 
  2755.  
  2756. To ensure normal operation the Treelock editor grants himself full rights on 
  2757. all profiles before activating them (it adds the the line "F 
  2758. <pathname>\tlcked.exe"). This is the only difference between a real activation 
  2759. and one done from the Treelock editor. 
  2760.  
  2761. Besides, the active Treelock profile can only be deactivated by activating 
  2762. another Treelock profile, so, the Treelock editor deactivates it by activating 
  2763. the profile which was active before it. So, deactivating a profile from the 
  2764. Treelock editor is nothing but restoring the Treelock profile assigned at logon 
  2765. time to the current user. 
  2766.  
  2767. See the Treelock editor's on-line help for more information about how to 
  2768. activate/deactivate a profile. 
  2769.  
  2770.  
  2771. ΓòÉΓòÉΓòÉ 6.5.11. Profile, Sample 1 ΓòÉΓòÉΓòÉ
  2772.  
  2773. The configuration file EDYDDSM1.CFG sets no restrictions on accesses, writing 
  2774. them all to the file c:\treelock.log: 
  2775.  
  2776.    set debug=c:\treelock.log
  2777.    set globdebug=a
  2778.    set mode=c
  2779.  
  2780.  
  2781. ΓòÉΓòÉΓòÉ 6.5.12. Profile, Sample 2 ΓòÉΓòÉΓòÉ
  2782.  
  2783. The configuration file EDYDDSM2.CFG sets some restrictions on accesses, writing 
  2784. only denied accesses to the file c:\treelock.log. Unspecified processes will 
  2785. behave depending on what's specified in EXES; if the access specified in EXES 
  2786. fails it will fail, since mode is strict: 
  2787.  
  2788.    set debug=c:\treelock.log
  2789.    set globdebug=d
  2790.    set mode=s
  2791.  
  2792.    ; ====================
  2793.    ; Base OS/2 (required)
  2794.    ; ====================
  2795.  
  2796.    ; Give c:\os2\pmshell.exe open/execute rights to any resource in c:\spool,
  2797.    ; k:\post and h:\ . Give full access to c:\os2\os2.ini, c:\os2\os2.###,
  2798.    ; c:\os2\os2.!!!, c:\os2\os2sys.ini, c:\os2\os2sys.###, c:\os2\os2sys.!!!,
  2799.    ; c:\os2\pmdiary.###, c:\os2\pmdiary.!!!, c:\os2\pmdiary.ini,
  2800.    ; c:\os2\install\reinstal.ini, c:\os2\install\reinstal.### and
  2801.    ; c:\os2\install\reinstal.!!!
  2802.  
  2803.    O c:\os2\pmshell.exe            s c:\spool           s k:\post     s H:   /
  2804.      f c:\os2\os2.ini              f c:\os2\os2.###     f c:\os2\os2.!!!     /
  2805.      f c:\os2\os2sys.ini           f c:\os2\os2sys.###  f c:\os2\os2sys.!!!  /
  2806.      f C:\OS2\PMDIARY.###          f C:\OS2\PMDIARY.!!! f C:\OS2\PMDIARY.INI /
  2807.      f c:\os2\install\reinstal.ini f c:\os2\install\reinstal.###             /
  2808.      f c:\os2\install\reinstal.!!!
  2809.  
  2810.    ; Give c:\os2\harderr.exe, c:\os2\chkdsk.com and c:\os2\pmspool.exe
  2811.    ; full rights.
  2812.  
  2813.    F c:\os2\system\harderr.exe
  2814.    F c:\os2\chkdsk.com
  2815.    F c:\os2\pmspool.exe
  2816.  
  2817.    ; ======================
  2818.    ; Base OS/2 (additional)
  2819.    ; ======================
  2820.  
  2821.    ; Don't allow c:\os2\apps\pmdcalc.exe to start a command line, giving it
  2822.    ; full access to c:\os2\apps\dll\pmdiary.dll, c:\os2\pmdiary.###,
  2823.    ; c:\os2\pmdiary.ini, c:\os2\pmdiary.!!!, c:\os2\help\pmdiary.hlp and
  2824.    ; c:\os2\help\hmhelp.hlp
  2825.  
  2826.    n C:\OS2\APPS\PMDCALC.EXE  f C:\OS2\APPS\DLL\PMDIARY.DLL         /
  2827.      f C:\OS2\PMDIARY.### f C:\OS2\PMDIARY.INI f C:\OS2\PMDIARY.!!! /
  2828.      f C:\OS2\HELP\pmdiary.hlp f C:\OS2\HELP\HMHELP.HLP
  2829.  
  2830.    ; Don't allow c:\os2\apps\pmsticky.exe to start a command line, giving it
  2831.    ; full access to c:\os2\apps\dll\pmdiary.dll, h:\os2\pmdiary.###,
  2832.    ; h:\os2\pmdiary.ini, h:\os2\pmdiary.!!!, c:\os2\help\pmdiary.hlp,
  2833.    ; c:\os2\help\hmhelp.hlp and h:\pmsticky.$$p
  2834.  
  2835.    n C:\OS2\APPS\PMSTICKY.EXE f C:\OS2\APPS\DLL\PMDIARY.DLL         /
  2836.      f H:\OS2\PMDIARY.### f H:\OS2\PMDIARY.INI f H:\OS2\PMDIARY.!!! /
  2837.      f C:\OS2\HELP\pmdiary.hlp f C:\OS2\HELP\HMHELP.HLP f H:\PMSTICKY.$$P
  2838.  
  2839.    ; Don't allow c:\os2\more.com to start a command line, giving it
  2840.    ; full access to c:\os2\system\oso001.msg and c:\oso0001.msg
  2841.  
  2842.    N c:\os2\MORE.COM f C:\OS2\SYSTEM\OSO001.MSG f c:\oso0001.msg
  2843.  
  2844.    ; The following line would prevent cmd.exe from starting another cmd.exe,
  2845.    ; would give no access to program format.com, would give access to any
  2846.    ; other exe and com in c:, would give Read-Only access to treelock.log
  2847.    ; and full access to d: drive.
  2848.    ; With that line, exes and coms different from format.com in c: could be
  2849.    ; created and deleted, but no other files nor directories could be created
  2850.    ; nor deleted.
  2851.    ; To keep the same restrictions, but allowing the command prompt to start
  2852.    ; another command prompt, you must change the initial "n" to a "y"
  2853.  
  2854.    ;n c:\os2\cmd.exe n f c:\os2\format.com                     /
  2855.    ;  a s c:\*.exe a s c:\*.com r f c:\treelock.log a s d:
  2856.  
  2857.    ; The following line will will allow to start any program and open or create
  2858.    ; any file, even if you add some restrictions after cmd.exe. What you will
  2859.    ; not be allowed to do is erase nor move files, neither create nor delete
  2860.    ; nor move directories.
  2861.  
  2862.    ;o c:\os2\cmd.exe
  2863.  
  2864.    ; The following line gives full access to d: drive. Since nothing is stated
  2865.    ; about other drives, no access is given to them.
  2866.  
  2867.    ;n c:\os2\cmd.exe a s d:
  2868.  
  2869.    ; The following line makes cmd.exe to behave as the past line, but it will
  2870.    ; allow to start another command prompt.
  2871.  
  2872.    ;y c:\os2\cmd.exe a f c:\os2\cmd.exe a s d:
  2873.  
  2874.    ; The following line sets no restrictions on a command prompt:
  2875.  
  2876.    f c:\os2\cmd.exe
  2877.  
  2878.    ; ==============
  2879.    ; VDMS statement
  2880.    ; ==============
  2881.  
  2882.    ; Give any Real-Mode program Read-Only access to files C:\CONFIG.SYS and
  2883.    ; C:\STARTUP.CMD, full access to C:\DOSUTILS and its subdirectories,
  2884.    ; full access to C:\OS2\MDOS\DOSKRNL and C:\OS2\BOOT\VIOTBL.DCP, etc.
  2885.    ; Note that No access will be given to any file/subdirectory in unit A:.
  2886.    ; Note that wildcards are accepted.
  2887.    ; Note that this statement manages IBM Anitvirus for DOS and DW4.
  2888.  
  2889.    N VDMS R F C:\CONFIG.SYS              R F C:\STARTUP.CMD                      /
  2890.        S C:\DOSUTILS                     F C:\OS2\MDOS\DOSKRNL                   /
  2891.      A F C:\OS2\BOOT\VIOTBL.DCP          F C:\OS2\SYSTEM\COUNTRY.SYS             /
  2892.      A F C:\OS2\MDOS\COMMAND.COM         F C:\OS2\MDOS\APPEND.EXE                /
  2893.      A F C:\OS2\MDOS\WINOS2\WINOS2.COM   F C:\OS2\MDOS\WINOS2\SYSTEM\OS2K386.EXE /
  2894.      A F C:\OS2\MDOS\SYSTEM\*.DRV        F C:\OS2\MDOS\WINOS2\*.INI              /
  2895.      A F C:\OS2\MDOS\SYSTEM\*.FON                                                /
  2896.      A F C:\OS2\MDOS\WINOS2\*.GRP                                                /
  2897.      A F C:\OS2\MDOS\WINOS2\SYSTEM\SETUP.INF                                     /
  2898.      A D C:\OS2\MDOS                                                             /
  2899.      N S A:                                                                      /
  2900.      a s c:\ibmav                                                                /
  2901.      N F C:\DW4\*.doc                                                            /
  2902.      N F C:\DW4\*.rft                                                            /
  2903.      A F C:\DW4\*.LST                                                            /
  2904.      A F C:\DW4\*.PG1                                                            /
  2905.      A F C:\DW4\*.PRF                                                            /
  2906.      A F C:\DW4\DW4ODIR.BAT                                                      /
  2907.      A F C:\*.$$P                                                                /
  2908.      R S C:
  2909.  
  2910.    ; ==============
  2911.    ; EXES statement
  2912.    ; ==============
  2913.  
  2914.    ; Give to non-specified EXES no access to a command line, plus no access
  2915.    ; to C:\CONFIG.SYS at all, Read-only access to C:\STARTUP.CMD, full access
  2916.    ; to directory C:\TOOLS, etc.
  2917.    ; Note that wildcards are accepted.
  2918.  
  2919.    N EXES N F C:\CONFIG.SYS  R F C:\STARTUP.CMD         N F C:\AUTOEXEC.BAT /
  2920.      A D C:\TOOLS            R F C:\OS2\HELP\EPM.HLP      S C:\OS2\APPS     /
  2921.      A D C:\OS2\APPS\DLL       S C:\OS2\DLL               S C:\OS2UTILS     /
  2922.      N S A:                  N F C:\OS2\MDOS\WINOS2\*.INI
  2923.  
  2924.    ; ==========
  2925.    ; Lan Server
  2926.    ; ==========
  2927.  
  2928.    ; And so on ...
  2929.  
  2930.    F c:\os2\epw.exe
  2931.    F C:\IBMLAN\NETPROG\LSDAEMON.EXE
  2932.    F C:\IBMLAN\NETPROG\STOPLAN.EXE
  2933.    F C:\IBMLAN\NETPROG\NET.EXE
  2934.    F C:\IBMLAN\SERVICES\WKSTA.EXE
  2935.    F C:\IBMLAN\SERVICES\MSRVINIT.EXE
  2936.    F c:\IBMLAN\SERVICES\MSRV.EXE
  2937.    N C:\MUGLIB\MUGLRQST.EXE S C:\MUGLIB S C:\IBMLAN
  2938.  
  2939.    ;====================================================================
  2940.    ; Communications Manager
  2941.    ;====================================================================
  2942.  
  2943.    F c:\ibmcom\lanmsgex.exe
  2944.    F c:\ibmcom\protocol\netbind.exe
  2945.    F c:\ibmcom\protocol\LANDLL.EXE
  2946.    n c:\CMLIB\DMCM.EXE          S C:\CMLIB
  2947.    n C:\CMLIB\ACS.EXE           S C:\CMLIB F C:\IBMLVL.### F C:\IBMLVL.INI F C:\IBMLVL.!!!
  2948.    n C:\CMLIB\APPN\ACSAPLDR.EXE S C:\CMLIB
  2949.    N C:\CMLIB\ACS3EINI.EXE      S C:\CMLIB F C:\OS2\HELP\HMHELP.HLP
  2950.  
  2951.    ; ==========
  2952.    ; OS2 AmiPro
  2953.    ; ==========
  2954.  
  2955.    N C:\AMIPRO\AMIPRO.EXE          A D C:\AMIPRO                            /
  2956.    A F C:\AMIPRO\ICONS\*.BMP                                                /
  2957.    A F C:\AMIPRO\ICONS\*.TBL       A F C:\AMIPRO\ICONS\*.SMI                /
  2958.    A F C:\AMIPRO\MACROS\*.DLG      A F C:\AMIPRO\MACROS\*.SMM               /
  2959.    A F C:\AMIPRO\STYLES\*.STY      A F C:\AMIPRO\DRAWSYM\*.SDW              /
  2960.    A F C:\OS2\AMI*.*               A D C:\OS2\DLL                           /
  2961.    A F C:\OS2\*.BIN                A S C:\SPOOL                             /
  2962.    A F C:\OS2\HELP\HMHELP.HLP      A D C:\PSFONTS                           /
  2963.    A F C:\OS2\INSTALL\SYSLEVEL.OS2 A F C:\OS2\SYSTEM\COUNTRY.SYS            /
  2964.    A F C:\OS2\MDOS\WINOS2\*.INI    A F c:\amipro\teller\*.sam               /
  2965.    N S C:
  2966.  
  2967.    ; ============
  2968.    ; OS2 IbmWorks
  2969.    ; ============
  2970.  
  2971.    n c:\ibmworks\ibmworks.exe  a f c:\ibmworks\ibmworks.ini                 /
  2972.                                a f c:\ibmworks\ibmworks.hlp                 /
  2973.                                a f c:\os2\help\hmhelp.hlp                   /
  2974.                                a f c:\os2\dll\*.drv                         /
  2975.                                a f c:\os2\dll\*.dev                         /
  2976.                                a f c:\os2\dll\*.prf                         /
  2977.                                a f c:\ibmworks\*.def                        /
  2978.                                a f c:\ibmworks\*.tmp                        /
  2979.                                a s c:\delete                                /
  2980.                                a f c:\ibmworks\*.ctn                        /
  2981.                                a s c:\psfonts                               /
  2982.                                a s d:
  2983.  
  2984.    N c:\ibmworks\fpwpim.exe    a f c:\ibmworks\ibmworks.ini                 /
  2985.                                a f c:\ibmworks\fpwpim.*                     /
  2986.                                a f c:\os2\help\hmhelp.hlp                   /
  2987.                                a f c:\ibmworks\*.tmp                        /
  2988.                                a s c:\delete                                /
  2989.                                a s c:\ibmworks\DATA                         /
  2990.                                a s c:\psfonts                               /
  2991.                                a s d:
  2992.  
  2993.    N c:\ibmworks\fpwmon.exe    a f c:\ibmworks\ibmworks.ini                 /
  2994.                                a f c:\ibmworks\fpwpim.*                     /
  2995.                                a f c:\os2\help\hmhelp.hlp                   /
  2996.                                a f c:\ibmworks\*.tmp                        /
  2997.                                a s c:\delete                                /
  2998.                                a s c:\ibmworks\DATA                         /
  2999.                                a s c:\psfonts                               /
  3000.                                a s d:
  3001.  
  3002.    ; =============
  3003.    ; OS2 Lotus 123
  3004.    ; =============
  3005.  
  3006.    n C:\LOTUS\123G\123G.EXE S C:\LOTUS\123G S D:\DADES\123 D C:\PSFONTS     /
  3007.    F C:\OS2\SYSTEM\OSO001.MSG
  3008.  
  3009.    ; ========
  3010.    ; FaxWorks
  3011.    ; ========
  3012.  
  3013.    N c:\PBA\FXSVIEW.EXE  s c:\PBA f M:\FAXWORKS\FAX.LOG
  3014.  
  3015.    N G:\FAXWORKS\FAXWORKS.EXE S G:\FAXWORKS S C:\FAXWORKS                   /
  3016.     F M:\FaxWorks\Fax.log F M:\FaxWorks\User.Spl
  3017.  
  3018.    ; ======================
  3019.    ; Other OS2 applications
  3020.    ; ======================
  3021.  
  3022.    n c:\os2\view.exe a s c:\*.inf a f c:\os2\viewdoc.exe
  3023.  
  3024.    N C:\OS2\VIEWDOC.EXE a s c:\*.inf a s c:\*.cp S C:\OS2\HELP              /
  3025.      f C:\OS2\SYSTEM\COUNTRY.SYS  f C:\OS2\VIEWDOC.EXE
  3026.  
  3027.  
  3028.    f m:\tools\inie.exe
  3029.    f m:\tools\inimaint.exe
  3030.  
  3031.  
  3032. ΓòÉΓòÉΓòÉ 6.5.13. Ambiguity Resolution ΓòÉΓòÉΓòÉ
  3033.  
  3034. A treelock profile may be ambiguous for one of two reasons: 
  3035.  
  3036.       A process exists that belongs to more than one access rights definition. 
  3037.  
  3038.       A resource exists that belongs to more than one definition in the 
  3039.       specific access rights section of the same access rights definition. 
  3040.  
  3041.  The problem arises from the fact that two pathnames in the same profile may 
  3042.  have a match intersection set not null. All processes or resources belonging 
  3043.  to this set will be subject to ambiguity because more than one definition can 
  3044.  be applied to solve their accesses. 
  3045.  
  3046.  The best solution would be to apply the definition with the most specific 
  3047.  pathname, but due to the inherent complexity of that solution, the following 
  3048.  approximation has been implemented: Whenever a process tries to access a 
  3049.  resource, the treelock device driver begins to search sequentially all the 
  3050.  definitions in the access rights definitions list. The first definition's 
  3051.  pathname that matches the process pathname will be applied. 
  3052.  
  3053.  With this in mind, all we need to know is the sort method used by the treelock 
  3054.  device driver to store the profile's access rights definitions. 
  3055.  
  3056.  The sorting is done on the access rights definition's pathname that specifies 
  3057.  the set of processes related to the definition, and the sort algorithm is as 
  3058.  follows: 
  3059.  
  3060.       Pathnames with no wildcards are stored first. 
  3061.  
  3062.       Pathnames with wildcards are stored after with the following sorting 
  3063.       scheme:. 
  3064.  
  3065.           Longest pathnames are stored first. 
  3066.  
  3067.           For equal length pathnames a special alphabetical sorting is applied: 
  3068.           x<?<* (where x is any other character different from '?' and '*') 
  3069.  
  3070.  
  3071. ΓòÉΓòÉΓòÉ 6.5.14. Templates ΓòÉΓòÉΓòÉ
  3072.  
  3073. A template is simply a Treelock profile that the Treelock Editor has loaded as 
  3074. a template. At load time the Treelock Editor substitutes all the profile's 
  3075. parameterized substrings with the parameter names related to them, and assigns 
  3076. default values to each of these parameters. Usually a parameter's default value 
  3077. value is the substring the parameter has substituted at load time; but if the 
  3078. parameter name is equal to a defined environment variable name at load time, 
  3079. then the default value assigned is not the environment variable's name but the 
  3080. environment variable's value. This allows to define lasting relations between 
  3081. parameters and environment variables. 
  3082.  
  3083. Note: a profile not parameterized is still a template, but a template with no 
  3084. parameters 
  3085.  
  3086. You can assign new values to the parameters to adapt the profile to many 
  3087. different file system configurations. Note that if a value assigned to a 
  3088. parameter is equal to a currently defined environment variable name, the value 
  3089. assigned is not the variable's name but the variable's value. 
  3090.  
  3091. To generate profiles from templates you must merge the template to a Treelock 
  3092. profile. The merge operation adds the template's access rights definitions to 
  3093. the profile with the parameters substituted by their current values but without 
  3094. modifying any other profile's data. Through this operation you can create new 
  3095. profiles (if the target profile is the empty profile) or easily update already 
  3096. existing profiles. 
  3097.  
  3098. Note: see the Treelock Editor's on-line help for more information about how to 
  3099. load and work with templates. 
  3100.  
  3101.  
  3102. ΓòÉΓòÉΓòÉ 6.5.15. The Log Debug File ΓòÉΓòÉΓòÉ
  3103.  
  3104. The log debug file related to a Treelock profile, is useful when tuning 
  3105. restrictions for a specific profile. It has the following line format: 
  3106.  
  3107.      Result: it can be one of the following: 
  3108.  
  3109.         -  Ok: the access has been granted. 
  3110.  
  3111.         -  Nok: the access has not been granted. 
  3112.  
  3113.      Process Name: eight characters at most specifying the name of the process 
  3114.       attempting the access. 
  3115.  
  3116.      Access Resolution Information: it can be one of the following: 
  3117.  
  3118.         -  The profile's access rights definition's pathname that matched the 
  3119.            process (and was applied by the Treelock device driver) to solve the 
  3120.            access. 
  3121.  
  3122.         -  SUPERUSER: the process was running in superuser mode (so the access 
  3123.            was granted). 
  3124.  
  3125.         -  EMPTY: the profile's default rights were applied to solve the 
  3126.            access. 
  3127.  
  3128.      Function Attempted: it can be one of the following: 
  3129.  
  3130.         -  DEL: a delete was attempted. 
  3131.  
  3132.         -  REN: a rename was attempted. 
  3133.  
  3134.         -  EXECP: a process creation was attempted. 
  3135.  
  3136.         -  OPEN: an open was attempted. 
  3137.  
  3138.         -  MKDIR: a create directory was attempted. 
  3139.  
  3140.         -  RMDIR: a remove directory was attempted. 
  3141.  
  3142.         -  CHDIR: a change of directory was attempted. 
  3143.  
  3144.         -  FINDF: a FindFirst was attempted. 
  3145.  
  3146.         -  FINDN: a FindNext was attempted. 
  3147.  
  3148.         -  FINDV: a Find from a DOS Box was attempted. 
  3149.  
  3150.      Flags: it can be a combination of the following and they are positional: 
  3151.  
  3152.         -  AN: analyze flag if it was specified for the process. 
  3153.  
  3154.         -  DB: debug flag if it was specified for the process. 
  3155.  
  3156.         -  BX: the process is running in Real-Mode. 
  3157.  
  3158.         -  DA: you must ignore this flag. 
  3159.  
  3160.         -  OE: open access. 
  3161.  
  3162.         -  NC: no command line starting allowed. 
  3163.  
  3164.         -  FA: full access. 
  3165.  
  3166.         -  NA: no access. 
  3167.  
  3168.      Full Filename: the full file name that was attempted to be accessed. 
  3169.  
  3170.  Take a look at the following example: 
  3171.  
  3172.    Nok CMD  C:\OS2\*     OPEN  '  DB          NA' A:\
  3173.    Nok E                      OPEN  '  DB          NA' C:\CONFIG.SYS
  3174.    ok   E   SUPERUSER   EXECP '  DB      NC    ' C:\OS2\CMD.EXE
  3175.  
  3176.  The example states: 
  3177.  
  3178.      From a command line, an access to drive A: was denied, and the profile's 
  3179.       "c:\os2\*" access rights definition was used to solve the action. 
  3180.  
  3181.      From program E, an access to file C:\CONFIG.SYS was denied, and the 
  3182.       profile's default rights were used to solve the access. 
  3183.  
  3184.      From program E, starting a command prompt was granted, and program was 
  3185.       running in superuser mode. 
  3186.  
  3187.  The Treelock Editor allows you to edit any log file either as a text file or 
  3188.  as log file editor file. As a text file the log file is displayed as it is, 
  3189.  and cannot be modified; as a log file editor file, the log file contents are 
  3190.  interpreted and structured so as to allow you to use the information to tune 
  3191.  the currently loaded profile. The log file editor shows all this information 
  3192.  indexing the logged accesses by the process that made them, and by whether 
  3193.  they were granted or denied, and allows you to use the displayed processes and 
  3194.  resources pathnames to directly add them to the currently loaded profile. 
  3195.  
  3196.  Note: see the Treelock Editor's on-line help for more information about how to 
  3197.  edit log files. 
  3198.  
  3199.  
  3200. ΓòÉΓòÉΓòÉ 6.5.16. The audit file ΓòÉΓòÉΓòÉ
  3201.  
  3202. The audit file contains information of denied accesses only. This file contains 
  3203. a header and a tail with the denied actions: 
  3204.  
  3205.      Header: 
  3206.  
  3207.         -  Optional reserved word TLOCK_AUDIT: specifies that this file is an 
  3208.            audit file. 
  3209.  
  3210.         -  Optional reserved word MAX_LINES: specifies that this audit file 
  3211.            will purge a number of lines each time it's opened. If not 
  3212.            specified, it will keep the most recent 1000 lines in the file, thus 
  3213.            purging all previous lines. 
  3214.  
  3215.      Tail: 
  3216.  
  3217.         -  TimeStamp: audited date and time of denied access. 
  3218.  
  3219.         -  UserID: the userId that attempted the failed access. 
  3220.  
  3221.         -  Administrator: whether or not the user is Administrator. 
  3222.  
  3223.         -  Process Name: eight characters at most specifying the name of the 
  3224.            process attempting the access. 
  3225.  
  3226.         -  Function Attempted: it can be one of the following: 
  3227.  
  3228.              -- DEL: a delete was attempted. 
  3229.  
  3230.              -- REN: a rename was attempted. 
  3231.  
  3232.              -- EXECP: a process creation was attempted. 
  3233.  
  3234.              -- OPEN R/O: an open for ReadOnly was attempted. 
  3235.  
  3236.              -- OPEN W/O: an open for WriteOnly was attempted. 
  3237.  
  3238.              -- OPEN R/W: an open for ReadWrite was attempted. 
  3239.  
  3240.              -- OPEN DLL: an open for a DLL was attempted. 
  3241.  
  3242.              -- MKDIR: a create directory was attempted. 
  3243.  
  3244.              -- RMDIR: a remove directory was attempted. 
  3245.  
  3246.              -- CHDIR: a change of directory was attempted. 
  3247.  
  3248.              -- FINDF: a FindFirst was attempted. 
  3249.  
  3250.              -- FINDN: a FindNext was attempted. 
  3251.  
  3252.              -- FINDV: a Find from a DOS Box was attempted. 
  3253.  
  3254.         -  Full Filename: the full file name that was attempted to be accessed. 
  3255.  
  3256.  Take a look at the following example: 
  3257.  
  3258.   MAX_LINES 100
  3259.   07-08-1996 16:25:42 USER_A    No Admin E        OPEN R/W C:\CONFIG.SYS
  3260.   07-08-1996 16:25:42 USER_A    No Admin TEDIT    OPEN R/O C:\CONFIG.SYS
  3261.   07-08-1996 16:25:43 USER_A    No Admin CMD      FINDF    C:\CONFIG.SYS
  3262.  
  3263.  The header states that this file will be purged each time it's opened, leaving 
  3264.  only unpurged the most recent 100 lines at most. 
  3265.  
  3266.  The tail states that UserID USER_A, who is not an administrator UserID, was 
  3267.  denied access to the file C:\CONFIG.SYS three times: 
  3268.  
  3269.      First, attempting to open for ReadWrite the file C:\CONFIG.SYS from the 
  3270.       program E 
  3271.  
  3272.      Second, attempting to open for ReadOnly the file C:\CONFIG.SYS from the 
  3273.       program TEDIT 
  3274.  
  3275.      Third, attempting to see whether or not the file C:\CONFIG.SYS exists 
  3276.       from a command line (probably with a DIR command). 
  3277.  
  3278.  
  3279. ΓòÉΓòÉΓòÉ 6.5.17. Usage Samples ΓòÉΓòÉΓòÉ
  3280.  
  3281. This section shows how to build these three common treelock profiles: 
  3282.  
  3283.    1. Hide a directory to a user 
  3284.  
  3285.    2. Restrict a user to a home directory 
  3286.  
  3287.    3. Give a user execute-only rights to an applications directory 
  3288.  
  3289.  To hide a directory to a user you must: 
  3290.  
  3291.    1. Give access to all logical drives 
  3292.  
  3293.    2. Specify the EXES access rights definition with NO minimum granted rights 
  3294.  
  3295.    3. Add to the definition's specific rights section the directory you want to 
  3296.       hide with: 
  3297.  
  3298.            Access rights = none 
  3299.  
  3300.            Resource Type = subtree 
  3301.  
  3302.  Let's see why this works out: any attempt to access a resource outside the 
  3303.  hided directory is resolved using the logical drives access list because the 
  3304.  EXES definition has no minimum granted rights defined and its specific access 
  3305.  rights list does not include the accessed resource. As the logical drives list 
  3306.  specifies all drives to be accessible the access is granted. However, if a 
  3307.  process attempts to access the hided directory, the EXES definition can be 
  3308.  applied to resolve the access, and as it specifies null rights on the 
  3309.  resource, the access is denied. 
  3310.  
  3311.  Note: the resource type must be "subtree" to assure that all subdirectories 
  3312.  will also be hided. We could also have specified the resource type to be 
  3313.  "file" and the resource to be "dir_to_hide*" 
  3314.  
  3315.  To restrict a user to a home directory you must: 
  3316.  
  3317.    1. Give no access to all logical drives (except drive A if you want the user 
  3318.       to be able to use the floppy) 
  3319.  
  3320.    2. Specify the EXES access rights definition with NO minimum granted rights 
  3321.  
  3322.    3. Add to the definition's specific rights section the home directory with: 
  3323.  
  3324.            Access rights = full 
  3325.  
  3326.            Resource Type = subtree 
  3327.  
  3328.  Once again, any attempt to access a resource outside the home directory is 
  3329.  resolved using the logical drives access list because the EXES definition has 
  3330.  no minimum granted rights defined and its specific access rights list does not 
  3331.  include the accessed resource. As the logical drives list specifies all drives 
  3332.  to be unaccessible the access is denied. However, if a process attempts to 
  3333.  access a resource inside the home directory, the EXES definition can be 
  3334.  applied to resolve the access, and as it specifies full rights on the 
  3335.  resource, the access is granted. 
  3336.  
  3337.  Note: the resource type must be "subtree" to allow the user to work with 
  3338.  subdirectories inside his home directory. 
  3339.  
  3340.  Give a user execute-only rights to an applications directory 
  3341.  
  3342.  Let's assume we want a closed system (drive c: is not accessible by default) 
  3343.  and the applications directory name is "c:\exes". We want the user to be able 
  3344.  to execute all applications located on that directory, but not to delete them. 
  3345.  So, we must: 
  3346.  
  3347.    1. Set drive c: as not accessible by default. 
  3348.  
  3349.    2. Specify the EXES access rights definition with NO minimum granted rights. 
  3350.  
  3351.    3. Add "c:\exes" to the EXES's specific access rights section with: 
  3352.  
  3353.            Access Rights=Execution 
  3354.  
  3355.            Resource Type=Directory 
  3356.  
  3357.       Now the user could execute any application located in the "c:\exes" 
  3358.       directory and he could not delete them. That would be ok, but we must 
  3359.       also tune each application the user is going to use. For instance, the 
  3360.       application "my_app.exe" could need to modify its INI file which could be 
  3361.       located in the directory "c:\exes". By now it could not done it because 
  3362.       "my_app.exe" has no explicit rights and the default ones give it 
  3363.       execute-only rights to "c:\exes". So we should: 
  3364.  
  3365.    4. Add "c:\exes\my_app.exe" to the access rights definition list with NO 
  3366.       minimum granted rights. 
  3367.  
  3368.    5. Add "c:\exes\my_app.ini" to the above definition's specific access rights 
  3369.       list with: 
  3370.  
  3371.            Access Rights=Full 
  3372.  
  3373.            Resource Type=File. 
  3374.  
  3375.  
  3376. ΓòÉΓòÉΓòÉ 6.5.18. The Treelock API ΓòÉΓòÉΓòÉ
  3377.  
  3378. The Treelock API has three entry points, defined in EDYDDAPI.H: 
  3379.  
  3380.      Set an Access Control List, or reset it. 
  3381.  
  3382.  
  3383.                  ULONG _System EDYPDDSetAccessToFiles(PSZ FileName);
  3384.  
  3385.       If FileName is NULL it will tell the Treelock device driver to check 
  3386.       accesses depending on what is specified in the file 
  3387.       %SGM_SHELL%\NOUSER\EDYDD32.INI; if this file does not exist, it will tell 
  3388.       the device driver to not check any access. If FileName is not NULL, it 
  3389.       will tell the treelock device driver to check accesses depending on what 
  3390.       is specified in FileName; if this file does not exist, it will return an 
  3391.       error. 
  3392.  
  3393.      Set an Audit File, or reset it. 
  3394.  
  3395.  
  3396.                  ULONG _System EDYPDDSetAuditFile(PSZ FileName);
  3397.  
  3398.       If FileName is NULL it will tell the Treelock device driver to append 
  3399.       denied accesses in the file %SGM_SHELL%\NOUSER\EDYDD32.AUD; if this file 
  3400.       does not exist, it will tell the device driver to not audit any access. 
  3401.       If FileName is not NULL, it will tell the device driver to append denied 
  3402.       accesses to FileName; if this file does not exist, it will return an 
  3403.       error. 
  3404.  
  3405.      Close the device driver log debug and audit files: 
  3406.  
  3407.  
  3408.                  ULONG _System EDYPDDCloseLogDebugFile(VOID);
  3409.  
  3410.  
  3411.  Successful operation returns the value 0 to the caller. A failure returns its 
  3412.  value to the caller. Only 32-bit callers are supported. 
  3413.  
  3414.  The program EDYDDUTL.EXE is provided as a sample using the API API. Usage: 
  3415.  
  3416.  
  3417.          EDYDDUTL { {/F|/A}[drive:][pathname][filename][.ext] | /C }
  3418.  
  3419.  Where: 
  3420.  
  3421.      /Ffilename activates the access rights in filename. 
  3422.  
  3423.      /F     disables the access rights checking. 
  3424.  
  3425.      /Afilename activates the auditing file filename. 
  3426.  
  3427.      /A     disables the auditing file. 
  3428.  
  3429.      /C     closes the log and audit files. 
  3430.  
  3431.  
  3432. ΓòÉΓòÉΓòÉ 6.5.19. Implicit restrictions ΓòÉΓòÉΓòÉ
  3433.  
  3434. In order to provide for an enough safe system, the treelock provides for the 
  3435. ultimate security restrictions which grant that a non-administrator user is not 
  3436. allowed to play with the different SecureEntry tools and interfaces, and thus 
  3437. jeopardize all of the integrity features that the product provides. 
  3438.  
  3439. The restrictions are : 
  3440.  
  3441.  
  3442.   - Administrators will not have any restriction.
  3443.  
  3444.   - Non-administrators will have the following restrictions:
  3445.  
  3446.     o No access to any resource located inside the paths given by the
  3447.       environment variable RUNWORKPLACE except SES\PSSDMON.EXE,
  3448.       e.g. C:\OS2\SECURITY, will be denied.
  3449.  
  3450.     o Any access to the following resources will be denied:
  3451.  
  3452.       o OS2\BOOT\SESDD32.SYS
  3453.       o OS2\BOOT\EDYDD32.SYS
  3454.       o OS2\BOOT\EDYFLPY.FLT
  3455.  
  3456.     o All files within the SGM_SHELL environment variable path,
  3457.       DLL subdirectory will have Read Only and DLL permission.
  3458.  
  3459.     o All files within the SGM_SHELL environment variable path,
  3460.       WORK and TEMP subdirectories will have full access.
  3461.  
  3462.     o All files within the SGM_SHELL environment variable path,
  3463.       TOOLS subdirectory will have read and execute permission.
  3464.  
  3465.     o The file EDYUTIL.EXE, located within the SGM_SHELL
  3466.       environment variable path, EXEC subdirectory will have
  3467.       execute permission, as well as the SecureEntry trace
  3468.       modules.
  3469.  
  3470.     o The following resources will have Read-only access:
  3471.  
  3472.       o EDYSTART.CMD
  3473.       o CONFIG.SYS
  3474.       o STARTUP.CMD
  3475.       o All files within the SGM_SHELL environment variable path
  3476.         except those subject to previous less restrictive
  3477.         rules.
  3478.  
  3479. Note that you can override this restrictions by using a treelock profile which 
  3480. explicitly includes your preferences, although you are encouraged not to do so. 
  3481. For instance, supposing you want to override the restriction of not letting 
  3482. regular users modify the config.sys file, you could use the following treelock 
  3483. profile : 
  3484.  
  3485.  
  3486.      set mode=c
  3487.      Y EXES A F C:\CONFIG.SYS
  3488.  
  3489. Which means : Let unspecified processes do all type of operations with 
  3490. config.sys, plus opening command lines. 
  3491.  
  3492.  
  3493. ΓòÉΓòÉΓòÉ 6.6. The startup process ΓòÉΓòÉΓòÉ
  3494.  
  3495. The regular OS/2 startup process is not secure because it can be interrupted at 
  3496. any time, and it could leave the workstation in a non stable state. The 
  3497. objective of the Secure Startup process is to provide a secure startup 
  3498. sequence. You should do this by placing the contents of what you would have put 
  3499. in the 'STARTUP.CMD' file inside a file called 'EDYSTART.CMD' within the boot 
  3500. drive's root directory. The startup process component has some commands which 
  3501. you can use to give feedback to the user while processing this startup file. 
  3502.  
  3503. The Secure Startup process cannot be interrupted and it is a system modal 
  3504. application which it gives to the user information about the different programs 
  3505. that are being started. The application has also a slider which informs of the 
  3506. percent value completed of the startup process and a multiline entry field used 
  3507. to give messages of the process being started at any time. 
  3508.  
  3509. A log file named 'EDYLKINI.LOG', located on the same directory of 
  3510. 'EDYSTART.CMD' is created each time the Secure Startup application is launched. 
  3511. It contains the messages displayed on the multiline entry field of the main 
  3512. window. It also contains information of any error produced during the execution 
  3513. of the Secure Startup process. 
  3514.  
  3515.      EDYLKINI.EXE 
  3516.  
  3517.      EDYLKSLD.EXE 
  3518.  
  3519.      EDYLKMSG.EXE 
  3520.  
  3521.      EDYLKBLK.EXE 
  3522.  
  3523.      EDYLKSWT.EXE 
  3524.  
  3525.      EDYWFWPS.EXE 
  3526.  
  3527.      Sample startup process 
  3528.  
  3529.  
  3530. ΓòÉΓòÉΓòÉ 6.6.1. EDYLKINI.EXE ΓòÉΓòÉΓòÉ
  3531.  
  3532. Description 
  3533.  
  3534. This file is to be used in testing period in order to test the startup 
  3535. sequence. 
  3536.  
  3537. Syntax 
  3538.  
  3539.   EDYLKINI [/NOMODAL]
  3540.  where /NOMODAL means the startup process won't be system modal. 
  3541.  
  3542. Return codes 
  3543.  
  3544. None. 
  3545.  
  3546.  
  3547. ΓòÉΓòÉΓòÉ 6.6.2. EDYLKSLD.EXE ΓòÉΓòÉΓòÉ
  3548.  
  3549. Description 
  3550.  
  3551. Executable used for moving the slider of the secure startup dialog. 
  3552.  
  3553. Syntax 
  3554.  
  3555.   EDYLKSLD [number]
  3556.  where number is the slider's position. If omitted, it slides to the next 
  3557. position. 
  3558.  
  3559. Return codes 
  3560.  
  3561. None 
  3562.  
  3563.  
  3564. ΓòÉΓòÉΓòÉ 6.6.3. EDYLKMSG.EXE ΓòÉΓòÉΓòÉ
  3565.  
  3566. Description 
  3567.  
  3568. Executable used to show an informational message in the multiline entry field 
  3569. of the secure startup window. 
  3570.  
  3571. Syntax 
  3572.  
  3573.   EDYLKMSG message
  3574.  where message is the message to be displayed on the multiline entry field 
  3575. (MLE) of the secure startup process. 
  3576.  
  3577. Return codes 
  3578.  
  3579. None 
  3580.  
  3581.  
  3582. ΓòÉΓòÉΓòÉ 6.6.4. EDYLKBLK.EXE ΓòÉΓòÉΓòÉ
  3583.  
  3584. Description 
  3585.  
  3586. Executable used to lockup the workstation. It can be used if some error 
  3587. occurred. 
  3588.  
  3589. Syntax 
  3590.  
  3591.   EDYLKBLK message
  3592.  where message is the last message to be displayed on the multiline entry field 
  3593. (MLE) of the secure startup window. 
  3594.  
  3595. Return codes 
  3596.  
  3597. None. 
  3598.  
  3599.  
  3600. ΓòÉΓòÉΓòÉ 6.6.5. EDYLKSWT.EXE ΓòÉΓòÉΓòÉ
  3601.  
  3602. Description 
  3603.  
  3604. Stores the name of the process to be launched after the startup command is 
  3605. finished. 
  3606.  
  3607. Syntax 
  3608.  
  3609.   EDYLKSWT parameters
  3610.  
  3611.   parameters:
  3612.   -D:program working directory
  3613.   -P:program.exe
  3614.   -A:program arguments
  3615.   -T:session title
  3616.   -U:x program startup time in seconds, default 0 seconds
  3617.   -F:x foreground/background  0=foreground (default)
  3618.                                     1=background
  3619.   -S:x  session type 1=OS/2 full screen (default)
  3620.                            2=OS/2 Windowed
  3621.                            3=OS/2 PM
  3622.                            4=VDM (DOS or WINOS2)
  3623.                            7=Windowed VDM
  3624.   -X:x window position X
  3625.   -Y:x window position Y
  3626.   -W:x window width
  3627.   -H:x window height
  3628.  
  3629. Return codes 
  3630.  
  3631. None. 
  3632.  
  3633.  
  3634. ΓòÉΓòÉΓòÉ 6.6.6. EDYWFWPS.EXE ΓòÉΓòÉΓòÉ
  3635.  
  3636. This command allows you to wait for completion of the WorkPlace Shell 
  3637. initialization process, and is designed to be used exclusively during 
  3638. EDYSTART.CMD processing. Once executed, it will not return control until it is 
  3639. safe to use the WorkPlace Shell. It has no optional parameters, so the calling 
  3640. syntax is : 
  3641.  
  3642.  
  3643.   EDYWFWPS
  3644.  
  3645. Note that you can only use this utility if the environment variable 
  3646. RESTARTUSERSHELL is set to NO (default value). Otherwise, the startup code 
  3647. would never complete. 
  3648.  
  3649. This executable resides in the SecureEntry installation path, EXEC directory. 
  3650.  
  3651.  
  3652. ΓòÉΓòÉΓòÉ 6.6.7. Sample startup process ΓòÉΓòÉΓòÉ
  3653.  
  3654. This is an example of a secure startup cmd. It should be named 'EDYSTART.CMD' 
  3655. and placed in the boot drive's root directory. 
  3656.  
  3657.   rem move the slider to the first position
  3658.   edylksld
  3659.   rem show a message
  3660.   edylkmsg "Starting Server services"
  3661.   rem move the slider to the third position
  3662.   edylksld 3
  3663.   rem starting net
  3664.   net start requester
  3665.   edylksld
  3666.   rem show a message
  3667.   edylkmsg "Start communications manager"
  3668.   rem start sessions
  3669.   cmstart
  3670.   edylksld 6
  3671.   edylkmsg "Starting background processes."
  3672.   start myserver.exe
  3673.   edylksld 8
  3674.   edylkmsg "Starting daemon"
  3675.   rem  Next instruction will start our own daemon program when the secure startup cmd ends but
  3676.   rem  will remain the secure startup window for 10 seconds.
  3677.   edylkswt -P:C:\MYAPPS\MYDAEMON.EXE -S:3 -D:C:\MYAPPS -U:10
  3678.   rem move slider
  3679.   edylksld 9
  3680.   rem assign resources
  3681.   net use J: MyAlias
  3682.   rem Slider : 100% completed
  3683.   edylksld
  3684.   rem  end the secure startup process. After executed, all the programs specified with the
  3685.   rem  edylkswt instruction will be launched.
  3686.   rem  exit the cmd
  3687.   @exit
  3688.  
  3689.  
  3690. ΓòÉΓòÉΓòÉ 6.7. Boot protection ΓòÉΓòÉΓòÉ
  3691.  
  3692. The SecureEntry Boot Protection tools allow you to protect the system from 
  3693. attempts to boot with uncontrolled operating systems through diskettes. There 
  3694. are basically three ways to accomplish this : 
  3695.  
  3696.    1. By using directly the machine system menus to define the startup sequence 
  3697.       of the machine not to look for diskette drives at startup and define an 
  3698.       administrator password to enter the system menus. This option does not 
  3699.       require SecureEntry help at all, but unfortunately not all available 
  3700.       hardware supports this features. 
  3701.  
  3702.    2. By changing the startup sequence through the machine BIOS, so that the 
  3703.       diskette drive is not 'seen' by the system at startup. This is the safest 
  3704.       one but can only be used with PS/2 models that have system programs on a 
  3705.       hard disk partition. This is called the BIOS boot control. 
  3706.  
  3707.    3. By protecting the master boot record of the machine so that 'alien' 
  3708.       operating systems can not see the protected partition. This is the only 
  3709.       left solution for machines which can not benefit from any of the previous 
  3710.       two methods. This is called software boot protection. 
  3711.  
  3712.  You have to decide which of the three methods to use for your hardware. 
  3713.  
  3714.      SecureEntry BIOS Boot control 
  3715.  
  3716.      SecureEntry Software boot protection 
  3717.  
  3718.  By last, and although not directly related to boot protection, note that you 
  3719.  can use the Master boot record saver provided utility, if what you are looking 
  3720.  for is also a means for preventing misbehaved programs from overwriting your 
  3721.  system disks master boot records. 
  3722.  
  3723.  
  3724. ΓòÉΓòÉΓòÉ 6.7.1. SecureEntry BIOS Boot control ΓòÉΓòÉΓòÉ
  3725.  
  3726. Description 
  3727.  
  3728. The BIOS boot control feature prevents end users from booting the system from a 
  3729. diskette drive and accessing the system setup menus. This feature applies only 
  3730. to the PS/2 models that have system programs on a hard disk partition. 
  3731.  
  3732. This security feature is implemented by changing the startup sequence through 
  3733. the system setup menus and controlling user access to the setup menus that 
  3734. reside on the system partition. The following should be fulfilled: 
  3735.  
  3736.      Obtaining the installation diskettes to be used on the production 
  3737.       workstations to install the boot control feature. 
  3738.      Setting up the production workstations. The startup sequence is changed 
  3739.       and the boot control feature is installed on each workstation. 
  3740.      Generating password diskettes to be used at the production sites by 
  3741.       system administrators. When a password is entered by the user and matches 
  3742.       the password on the diskette, the user can access the setup menus. 
  3743.  
  3744.  Obtaining installation diskettes 
  3745.  
  3746.  The installation diskettes for the boot control feature are obtained from a 
  3747.  reference diskette. 
  3748.  
  3749.  To generate reference diskettes, you must perform the following on a 
  3750.  workstation that has system programs on a hard disk partition: 
  3751.  
  3752.      Access the setup menus in one of the following ways, depending on the 
  3753.       system, during system startup: 
  3754.  
  3755.         -  Pressing Ctrl-Alt-Ins when the cursor appears on the top right 
  3756.            screen corner. 
  3757.  
  3758.         -  Pressing the required function key, usually F1. 
  3759.  
  3760.      Get a copy of the system programs. Choose the following sequence of 
  3761.       options from the setup menus: 
  3762.  
  3763.         -  Backup/Restore system programs 
  3764.  
  3765.         -  Backup the System Partition. 
  3766.  
  3767.       To get a copy of the system programs, you will need one or two diskettes. 
  3768.       The first one is the reference diskette, which will be used to obtain the 
  3769.       installation diskette. The second one is the diagnostics diskette, which 
  3770.       is not required for setting up the production workstations. 
  3771.  
  3772.  To generate installation diskettes, you must perform the following: 
  3773.  
  3774.      Ensure that the files EDYSREFD.EXE and EDYCHKPW.EXE are located on the 
  3775.       same directory, either on a hard disk or on a diskette. They can be 
  3776.       obtained from the SecureEntryPath\TOOLS path on the workstation. 
  3777.  
  3778.      From the directory where EDYSREFD.EXE and EDYCHKPW.EXE are located, run 
  3779.       EDYSREFD. This utility requests you to insert the reference diskette into 
  3780.       the diskette drive. 
  3781.  
  3782.  Upon completion, the contents of the diskette are modified and it becomes the 
  3783.  installation diskette. 
  3784.  
  3785.  Setting up the production workstations 
  3786.  
  3787.  To modify the startup boot sequence and prevent booting from diskette drive, 
  3788.  perform the following on every production workstation: 
  3789.  
  3790.      Access the setup menus. 
  3791.  
  3792.      Choose the following sequence of options from the setup menus: 
  3793.  
  3794.         -  Set features 
  3795.  
  3796.         -  Set startup sequence. 
  3797.  
  3798.      Select the hard disk as the primary startup device and the diskette drive 
  3799.       as the secondary startup device. 
  3800.  
  3801.      Save the new startup boot sequence. 
  3802.  
  3803.  To install the boot control feature, insert the installation diskette into the 
  3804.  diskette drive and restart the system. 
  3805.  
  3806.  Upon completion, the boot control feature is operative. To access the system 
  3807.  setup menus, a password diskette is necessary. 
  3808.  
  3809.  Generating password diskettes 
  3810.  
  3811.  To generate password diskettes, you must perform the following: 
  3812.  
  3813.      Ensure that the file EDYSETPW.EXE is available. It can be obtained from 
  3814.       the SecureEntryPath\TOOLS path on the workstation. 
  3815.  
  3816.      Insert an empty diskette into the diskette drive. 
  3817.  
  3818.      From the directory where EDYSETPW.EXE is located, run EDYSETPW. 
  3819.  
  3820.      Enter a password, which can be up to 8-characters long. 
  3821.  
  3822.      Enter the same password a second time for verification. 
  3823.  
  3824.  Upon completion, the diskette contains the password in encrypted mode. It 
  3825.  becomes the password diskette and can be used to access the system setup menus 
  3826.  on those workstations where the boot control feature is operative. 
  3827.  
  3828.  Accessing system setup menus 
  3829.  
  3830.  To access the system setup menus on those workstations where the boot control 
  3831.  feature is operative, a password diskette is necessary. 
  3832.  
  3833.  System administrators can provide end users with password diskettes so that 
  3834.  they can access the system setup menus as follows: 
  3835.  
  3836.      Insert the password diskette in a diskette drive. 
  3837.  
  3838.      Start up the system. 
  3839.  
  3840.      Access the setup menus. 
  3841.  
  3842.      Enter the password corresponding to the password diskette, when prompted. 
  3843.       The maximum number of attempts is three. 
  3844.  
  3845.  If the password is correct, the user can choose one of the following options: 
  3846.  
  3847.    1. Access setup menus 
  3848.  
  3849.       The setup menus appear on the screen. The user can change any settings, 
  3850.       even the startup sequence, which should be reestablished for security 
  3851.       reasons. 
  3852.  
  3853.    2. Change password 
  3854.  
  3855.       The user must provide first a new password for the password diskette and 
  3856.       then the same password for verification. If the passwords match, the 
  3857.       password on the password diskette changes. 
  3858.  
  3859.    3. Restricted operation 
  3860.  
  3861.       This option displays the following menu choices: 
  3862.  
  3863.         a. Return to the previous menu 
  3864.         b. Deactivate protection process 
  3865.  
  3866.            This option should be restricted to system administrators. If 
  3867.            selected, the boot control feature becomes not operative. 
  3868.  
  3869.  
  3870. ΓòÉΓòÉΓòÉ 6.7.2. SecureEntry Software Boot protection ΓòÉΓòÉΓòÉ
  3871.  
  3872. Description and procedures 
  3873.  
  3874. The SecureEntry software Boot Protection component makes it impossible to 
  3875. access partitions in the hard disk drives in a machine if the system has been 
  3876. booted from a floppy drive. Although booting from diskette can be carried out, 
  3877. the system will not be able to access the data in the partitions of the hard 
  3878. disk drives. 
  3879.  
  3880. Note that you can directly install this component through the program icons 
  3881. located within the SecureEntry installation tools folder. 
  3882.  
  3883. To enable the Boot Protection component run the following program from an OS/2 
  3884. session: 
  3885.  
  3886.  
  3887.      EDYNOTA.EXE /Ppassword
  3888.  
  3889.  password  This is your own keyword that enables the Boot Protection component 
  3890.  
  3891.  Then, add a line in your CONFIG.SYS file calling EDYNOTA.EXE program. For 
  3892.  example, if SGM_SHELL=E:\SGM then add the following line: 
  3893.  
  3894.  
  3895.        CALL=E:\SGM\EXEC\EDYNOTA.EXE /R
  3896.  
  3897.  At this point, the hard disks will be prevented to be accessed if the system 
  3898.  is booted from a diskette. 
  3899.  
  3900.  To inhibit the Boot Protection component, you must REM (or delete) the line 
  3901.  that you previously added to the CONFIG.SYS file, and then run the following 
  3902.  program from an OS/2 session: 
  3903.  
  3904.  
  3905.        EDYYESA.EXE /Ppassword
  3906.  
  3907.  password  This is the keyword that you previously used to enable the Software 
  3908.            Boot Protection component. 
  3909.  
  3910.  Once the Boot Protection component is installed, using EDYNOTA.EXE with a 
  3911.  password different from the keyword used when the Boot Protection component 
  3912.  was installed will not make any change to the Boot Protection component. 
  3913.  Similarly, the Boot Protection component will not be deinstalled if 
  3914.  EDYYESA.EXE is called with a password different from the keyword used when the 
  3915.  Boot Protection component was installed. 
  3916.  
  3917.  Messages 
  3918.  
  3919.  Notice that having the Boot Protection component enabled produces some side 
  3920.  effects: any program you run that reads the master boot record., e.g. FDISK, 
  3921.  will show you meaningless data since all partitions are marked as unused. 
  3922.  
  3923.  The following messages may appear: 
  3924.  
  3925.      EDYNOTA.EXE (run-time) 
  3926.  
  3927.         -  Successful operation (even with a warning): 
  3928.  
  3929.                       Ok
  3930.  
  3931.         -  Warning: 
  3932.  
  3933.                       Boot protection already installed on disk X - Password ignored
  3934.                       Password ignored
  3935.                       Boot protection not installed on disk X
  3936.                       Boot protection already installed on disk X
  3937.  
  3938.         -  Error: 
  3939.  
  3940.                       Error produced on WEEKDAY, DATE AND TIME
  3941.                       ------------------------------------------
  3942.                        Source Module Name: SOURCE MODULE NAME
  3943.                        Compilation Date  : COMPILATION DATE
  3944.                        Compilation Time  : COMPILATION TIME
  3945.                        Source Line Number: SOURCE LINE NUMBER
  3946.                        Logged Error      : (hex)=RC (dec)=RC
  3947.  
  3948.            In this case, this error message will also be output to an ASCII 
  3949.            file named EDYLOGA.ERR. 
  3950.  
  3951.      EDYYESA.EXE (run-time) 
  3952.  
  3953.         -  Successful operation (even with a warning): 
  3954.  
  3955.                       Ok
  3956.  
  3957.         -  Warning: 
  3958.  
  3959.                       Boot protection not installed on disk X
  3960.                       Invalid password
  3961.  
  3962.         -  Error: the same type of message shown with EDYNOTA.EXE. 
  3963.  
  3964.      EDYBOOT.SYS (boot-time) 
  3965.  
  3966.         -  Successful operation: none. 
  3967.  
  3968.         -  Warning: none. 
  3969.  
  3970.         -  Error: 
  3971.  
  3972.                       Cannot read partition
  3973.                       Invalid partition
  3974.  
  3975.  Compatibility with OS/2 standalone dump facility 
  3976.  
  3977.  Note that if you use the standard OS/2 feature TRAPDUMP to initiate a system 
  3978.  dump of the machine memory to a hard disk (SADUMP partition) automatically 
  3979.  whenever a system fatal fault is produced, then if SecureEntry boot protection 
  3980.  is installed, the dump partition may not be recognized by the dump facility 
  3981.  program. To overcome this situation, either : 
  3982.  
  3983.      Remove SecureEntry boot protection before reproducing the situation that 
  3984.       causes the memory dump to be initiated, or 
  3985.  
  3986.      Use the supplied command EDYPDUMP.CMD to patch the OS/2 dump facility 
  3987.       code so that it will recognize SecureEntry boot protected partitions. 
  3988.       This program is located within your SecureEntry path, EXEC directory.. 
  3989.       You can invoke it without parameters to read a usage description. 
  3990.       Basically, running : 
  3991.  
  3992.                       EDYPDUMP SET
  3993.       will patch the dump code, and 
  3994.  
  3995.                       EDYPDUMP RESET
  3996.       will unpatch it. If you intend to use this approach in production 
  3997.       machines, you should TEST it with your hardware before implementing it. 
  3998.       There is a small risk that this technique is not compatible with certain 
  3999.       types of SCSI adapters. 
  4000.  
  4001.  Return Codes 
  4002.  
  4003.  At run-time, successful operation or warning returns the value 0 to the 
  4004.  command line. A failure returns 1 to the command line. 
  4005.  
  4006.  At boot-time, successful operation lets the system to continue the boot 
  4007.  process. A failure makes the boot strap to enter an endless loop. 
  4008.  
  4009.  
  4010. ΓòÉΓòÉΓòÉ 6.8. File integrity check ΓòÉΓòÉΓòÉ
  4011.  
  4012. The SecureEntry file integrity check component provides a means of validate the 
  4013. integrity of all static data and program files at either start-up time or prior 
  4014. to the use of the files. A variety of integrity-checking schemes is offered, 
  4015. including fast and effective checking for virus changes and thorough 
  4016. cryptographic validation. 
  4017.  
  4018. The SecureEntry file integrity check component configuration table is used to 
  4019. specify which files in the system will be checked for integrity by comparing 
  4020. checksums during startup. These checksums must be computed beforehand using an 
  4021. utility. 
  4022.  
  4023. For a particular file, you can select one of two possible checksum algorithms: 
  4024.  
  4025.      XOR the 64th bit 
  4026.  
  4027.      MD4 Message Digest Algorithm 
  4028.  
  4029.  XORing the 64th bit is fastest than applying MD4, but MD4 is safest. 
  4030.  
  4031.      Components description 
  4032.  
  4033.  
  4034. ΓòÉΓòÉΓòÉ 6.8.1. Components ΓòÉΓòÉΓòÉ
  4035.  
  4036.      To calculate a file checksum: 
  4037.  
  4038.             SAF2INGN.EXE <Method> <FileName>
  4039.  
  4040.             where: <Method> is 1 for XORing the 64th bit, or 3 for MD4
  4041.                    <FileName> is the name of the file to calculate the checksum
  4042.  
  4043.       Messages: 
  4044.  
  4045.         -  Successful operation: 
  4046.  
  4047.                       Calculated checksum:
  4048.  
  4049.         -  Error: 
  4050.  
  4051.                       Usage: SAF2INGN Method Filename
  4052.                       Invalid method
  4053.                       Open file error
  4054.                       Invalid Checksum
  4055.  
  4056.       Return Codes: Successful operation returns the value 0 to the command 
  4057.       line. A failure returns the corresponding Return Code to the command 
  4058.       line. 
  4059.  
  4060.      To verify a series of files: 
  4061.  
  4062.             SAF2INCK.EXE <ParmFile> <CheckID> <OutFile> [<OptProgram>]
  4063.  
  4064.             where: <ParmFile> is the name of the file with filenames to check
  4065.                    <CheckID> is the line(s) with ID in file to be checked
  4066.                    <OutFile> is the output results file, which is stdout if
  4067.                              it cannot be opened
  4068.                    <OptProgram> is an optional program that is started on
  4069.                    successful check
  4070.  
  4071.       The <ParmFile> must adjust to the following syntax: 
  4072.  
  4073.             <CheckID> <CheckSumMethod> <CheckSum> <FileName>
  4074.                 |            |             |          |
  4075.                 |            |             |          +-> Name of the file to be checked
  4076.                 |            |             +------------> Hexadecimal CheckSum
  4077.                 |            +--------------------------> 00001: XOR the 64th bit
  4078.                 |                                         00003: MD4
  4079.                 +---------------------------------------> CheckID for current line
  4080.  
  4081.       In the following example, the files C:CONFIG.SYS and C:AUTOEXEC.BAT will 
  4082.       be checked for checksums of 77 and 40, respectively, XORing the 64th bit 
  4083.       if SAF2INCK.EXE is invoked with a CheckID of 10000; and the files 
  4084.       C:OS2\SYSTEM\CONFIG.DOS and C:OS2\SYSTEM\AUTOEXEC.DOS will be checked for 
  4085.       checksums of 7F89AA02751EA8908348C4C38D9D390A and 
  4086.       680A5CA3E0F9B8A5372B39EB856CE268, respectively, using MD4 if SAF2INCK.EXE 
  4087.       is invoked with a CheckID of 1000A. 
  4088.  
  4089.             10000 00001 77                               C:CONFIG.SYS
  4090.             10000 00001 40                               C:AUTOEXEC.BAT
  4091.             1000A 00003 7F89AA02751EA8908348C4C38D9D390A C:OS2\SYSTEM\CONFIG.DOS
  4092.             1000A 00003 680A5CA3E0F9B8A5372B39EB856CE268 C:OS2\SYSTEM\AUTOEXEC.DOS
  4093.             * Comments can be inserted with a '*' at the beginning of a line
  4094.  
  4095.       Messages: 
  4096.  
  4097.         -  Successful operation: 
  4098.  
  4099.                       Check OK !!!!
  4100.  
  4101.         -  Error: 
  4102.  
  4103.                       Wrong usage
  4104.                       Unable to open configuration file
  4105.                       Error(s) found during check
  4106.                       Invalid method
  4107.                       Open file error
  4108.                       Invalid Checksum
  4109.                       Unknown checkid
  4110.                       System stopped
  4111.  
  4112.       Return Codes: Successful operation returns the value 0 to the command 
  4113.       line. A failure returns the corresponding Return Code to the command 
  4114.       line. 
  4115.  
  4116.      To calculate a series of files checksums: 
  4117.  
  4118.             SAF2GEN.CMD <CheckID> <FileSpec[+Filespec..]> <Method> [/S] [/H] [/R] [/T]
  4119.  
  4120.             where: <CheckID>  is the check id to generate on output for each processed file
  4121.                    <Method>   is 1 for XORing the 64th bit, or 3 for MD4
  4122.                    <FileSpec> are the names of the files to calculate checksum for, with
  4123.                               wildcards allowed
  4124.                    /S         optionally does recursive searching in the included directories
  4125.                    /H         include also hidden files
  4126.                    /R         include also readonly files
  4127.                    /T         include also system files
  4128.  
  4129.       On output, this command generates the expected output for running 
  4130.       SAF2INCK, so you can redirect it to a file and use it as a <ParmFile>. 
  4131.       Any error found will be output with a beginning '*' character, so that 
  4132.       SAF2INCK will interpret it as a comment (i.e, when the checksum could not 
  4133.       be calculated because, for instance, another process is using the file). 
  4134.  
  4135.       Return Codes: Successful operation returns the value 0 to the command 
  4136.       line. If the checksum for all the intended files could not be calculated, 
  4137.       1 is returned. Syntax errors in the calling command cause 2 to be 
  4138.       returned. 
  4139.  
  4140.       In the following sample, all files in C:\OS2\DLL and C:\CMLIB\DLL are 
  4141.       having their checksum calculated, and appended to a param file where we 
  4142.       calculate also the checksums for all the tree in C:\MYDIR with id 00001 
  4143.       and method 3. The output parameter file will be PARMFILE.DAT. 
  4144.  
  4145.  
  4146.                  SAF2GEN 1 C:\MYDIR\* 3 /S >PARMFILE.DAT
  4147.                  SAF2GEN 1 C:\OS2\DLL\*+C:\CMLIB\DLL\* 3 /S >>PARMFILE.DAT
  4148.  
  4149.                  Note that checkid will be left padded with 0's. in the output.
  4150.  
  4151.  
  4152. ΓòÉΓòÉΓòÉ 6.9. Processes auditor component ΓòÉΓòÉΓòÉ
  4153.  
  4154. The SecureEntry Processes Auditor Component allows you to get answers to 
  4155. questions such as: 
  4156.  
  4157.      Are there some processes hogging the CPU? Which? 
  4158.  
  4159.      Are the users actually using the tools the Corporation I work for has 
  4160.       invested on? Which of them have more acceptance? 
  4161.  
  4162.      Are there users who have a real CPU shortage in their systems? 
  4163.  
  4164.      Are there some users wasting their time when performing iterative tasks? 
  4165.  
  4166.      Are explicitly forbidden programs used in the Corporation's systems? 
  4167.  
  4168.  In order to work with this component, open the Processes Auditor Workbench, 
  4169.  located inside the SecureEntry Workbench. 
  4170.  
  4171.  You can create a profile for this component by dragging a copy from its 
  4172.  component profile template (EDYEXEC.INI) and dropping it. 
  4173.  
  4174.  In order to modify a processes auditor profile, drag and drop it into the 
  4175.  Processes Auditor Editor, or just double click it. Make the necessary changes 
  4176.  and then save the modified profile. Follow the editor's help for further 
  4177.  advice. 
  4178.  
  4179.  In order to verify the profile behavior, drag and drop it on the object 
  4180.  Processes Auditor Tester, or select the option test through the editor menu 
  4181.  bar. The defined profile will be activated. 
  4182.  
  4183.  Once configured, associate the profile to the desired user or group, by 
  4184.  dragging and dropping it into the adequate container of the users and groups 
  4185.  administration tool, or establish it as the default for the system, copying it 
  4186.  with its default name (EDYEXEC.INI) to the NOUSER folder. 
  4187.  
  4188.  When a user logs on the system, its related profile will be activated, yet his 
  4189.  or his SecureEntry group's if his does not exist. If the user does not have 
  4190.  any defined processes auditor profile, then the profile residing in the NOUSER 
  4191.  folder will be activated. If the NOUSER folder does not contain any processes 
  4192.  auditor profile, then no processes will be audited. 
  4193.  
  4194.  Since this is one of the SecureEntry Components that feedbacks the profile 
  4195.  with output data, a profile is not only downloaded at user logon time, but it 
  4196.  is also uploaded at user logoff time. You can use the Processes Auditor Editor 
  4197.  to display SecureEntry detailed collected data. 
  4198.  
  4199.  The Editor also provides additional extensions for exporting to or importing 
  4200.  from an external file information about detailed collected data. 
  4201.  
  4202.  Refer to Error codes and messages for a description of the error codes the 
  4203.  Processes Auditor Editor can return. 
  4204.  
  4205.      The collected information 
  4206.  
  4207.      Description of the modules and the API 
  4208.  
  4209.      Auditable Processes Dumper Tool: EDYEXEDM 
  4210.  
  4211.  
  4212. ΓòÉΓòÉΓòÉ 6.9.1. The collected information ΓòÉΓòÉΓòÉ
  4213.  
  4214. Output Collected Data by the SecureEntry Processes Auditor component is made up 
  4215. of: 
  4216.  
  4217.      CPU Usage by User By definition, this is the accumulated time when a 
  4218.       process is running at Ring 2 or Ring 3. In practice, you can think of it 
  4219.       as the amount of time a process has been executing, probably as a 
  4220.       consequence of the action of the user, using the resources owned by the 
  4221.       application. 
  4222.  
  4223.      CPU Usage by System By definition, this is the accumulated time when a 
  4224.       process is running at Ring 0. In practice, you can think of it as the 
  4225.       amount of time a process has been executing using system resources and 
  4226.       code, i.e., at device driver and kernel level. 
  4227.  
  4228.      Total CPU Usage This is the sum of both User and System usage times, and 
  4229.       it measures the amount of time a specific process has been running at 
  4230.       task time. 
  4231.  
  4232.      Total Execution Time This measures the elapsed amount of time between the 
  4233.       process has started and its termination. 
  4234.  
  4235.      Real Invocations This is the number of times a different instance of the 
  4236.       selected process has been found running. 
  4237.  
  4238.  As a rule of thumb, since the total CPU usage reflects the amount of time a 
  4239.  process has been running at task time, subtracting this amount from the 
  4240.  elapsed time gets the value for interrupt and disabled time processing. 
  4241.  
  4242.  The system clock granularity, which is 31.25 ms per timer tick, makes CPU User 
  4243.  and System times rather useless for anything but gross measurement, so beware 
  4244.  you can get meaningless information if you audit your profile during a 
  4245.  relatively short period of time. 
  4246.  
  4247.  
  4248. ΓòÉΓòÉΓòÉ 6.9.2. Description of the modules and the API ΓòÉΓòÉΓòÉ
  4249.  
  4250. What follows is the description of the modules integrated in this component: 
  4251.  
  4252.      EDYEXECE 
  4253.  
  4254.       This is the program editor of profiles. It accepts the following syntax: 
  4255.  
  4256.  
  4257.                  EDYEXECE.EXE [Profile]
  4258.  
  4259.       Where Profile is the path and file name of the desired profile. The 
  4260.       editor allows for testing a profile directly. 
  4261.  
  4262.      EDYEXECT 
  4263.  
  4264.       This is the program activator of profiles. It accepts the following 
  4265.       syntax: 
  4266.  
  4267.  
  4268.                  EDYEXECT.EXE /F[Profile]
  4269.  
  4270.         -  /FProfile activates the profile defined in Profile. If Profile does 
  4271.            not exist, no processes are audited. 
  4272.  
  4273.         -  /F activates the profile EDYEXEC.INI defined in the NOUSER. If the 
  4274.            profile does not exist, no processes are audited. 
  4275.  
  4276.      Processes auditor component interface 
  4277.  
  4278.       The component exports the following routine, defined in EDYEXECD.H. The 
  4279.       routine executes correctly if it returns zero; otherwise it returns the 
  4280.       gotten error: 
  4281.  
  4282.  
  4283.               APIRET _System ActivateExecsAuditor(PSZ pszFileName);
  4284.  
  4285.            Activates the profile defined in pszFileName. If pszFileName 
  4286.            contents is empty, then no processes are audited. 
  4287.  
  4288.            If pszFileName points to "", then NOUSER ini file will be handled. 
  4289.  
  4290.            If the file does not exist, then an error is returned and no 
  4291.            processes are audited. 
  4292.  
  4293.  
  4294. ΓòÉΓòÉΓòÉ 6.9.3. Auditable Processes Dumper Tool: EDYEXEDM ΓòÉΓòÉΓòÉ
  4295.  
  4296. The EDYEXEDM  tool can be used to extract and/or to reset in batch mode the 
  4297. collected information by the processes auditor component. The extracted 
  4298. information will be stored in a text file with the same format as the one used 
  4299. by the Processes Auditor Editor  to import and export the detailed collected 
  4300. data. 
  4301.  
  4302. The invocation syntax for this command is as follows: 
  4303.  
  4304.  
  4305. EDYEXEDM ? | /Help | [/Outfile:f] [/Users:{mask[+mask...]|@file.lst}]
  4306.          [/Groups:{mask[+mask...]|@file.lst}]
  4307.          [/Process:{process[+process...]|@file.lst}]
  4308.          [/Cpu:{U|S}ratio] [/Reset | /ONLYReset]
  4309.          [/Info:{[U|G] [M|S] [D|D[..]date{[..]|[..date...]}|D@file.lst]
  4310.                  [OCU|OCS|OCT]}]
  4311.  
  4312.  
  4313.     /Help and ?  : Usage.
  4314.     /Outfile     : Output file path and name. Defaults to EDYEXEDM.TXT.
  4315.     /Users       : Only extract the information of the processes belonging
  4316.                    to the users matching the specified masks.
  4317.     /Groups      : Only extract the information of the processes belonging
  4318.                    to the users of the groups matching the
  4319.                    specified masks.
  4320.     /Process     : Only extract the information of the specified processes.
  4321.     /Cpu         : Only store the extracted information of the processes
  4322.                    with:
  4323.                    U  a Cpu usage by user ratio larger or equal
  4324.                       than the specidied ratio (0-100).
  4325.                    S  a Cpu usage by system ratio larger or equal
  4326.                       than the specified ratio (0-100).
  4327.     /Reset       : Also reset in the profile the extracted information
  4328.                    of the processes.
  4329.     /ONLYReset   : Reset and do not extract the information of
  4330.                    the processes.
  4331.     /Info        : Determines how is stored in the output file the extracted
  4332.                    information. At least one of the next values
  4333.                    must be specified:
  4334.                    U  join the information of the processes of all the users.
  4335.                    G  join the information of the processes of all the users
  4336.                       belonging to the same group.
  4337.                    M  merge all the invocations belonging to the same process.
  4338.                    S  summarize all the invocations of the same process.
  4339.                    D  merge the invocations belonging to the same process that
  4340.                       start the same day.
  4341.                    D[..]date{[..]|[..date...]} and D@file.list
  4342.                         merge the invocations belonging to the same process
  4343.                         that start in the same interval of time.
  4344.                         The border interval date have the "dd-mm-yyyy" format.
  4345.                    OCU  order the invocations by cpu usage by user.
  4346.                    OCS  order the invocations by cpu usage by system.
  4347.                    OCT  order the invocations by the cpu usage total.
  4348.                       (by default the invocations are ordered by start date)
  4349.  
  4350. So for instance: 
  4351.  
  4352.   EDYEXEDM /U:EDYADMIN+U* /G:@GROUP.LST /C:U30 /INFO:G S OCT
  4353.  
  4354. Extract the process information for the EDYADMIN  user, the users matching with 
  4355. U*  and the users of the groups matching the masks specified in the GROUP.LST 
  4356. file. Also, only the processes with a cpu usage by user ratio larger than 30 
  4357. will be considered. The information extracted will be stored by groups, 
  4358. summarizing the invocations and sorting it by total cpu usage. 
  4359.  
  4360.   EDYEXEDM /U:* /R /INFO:D..12-09-1999..12-10-1999..
  4361.  
  4362. Extract and reset the process information for all the users. The information is 
  4363. stored merging all the invocations that start before 12-09-1999 in one line. 
  4364. Between 12-09-1999 and 12-10-1999 in another line,  and after 12-10-1999 as the 
  4365. third summary line. 
  4366.  
  4367.   EDYEXEDM /U:@USER.LST /P:* /ONLYR
  4368.  
  4369. Reset the information of the process * for the users matching the masks 
  4370. specified in the USER.LST file. 
  4371.  
  4372. Note that the M  and S  values of the /INFO  parameter perform exactly the same 
  4373. task as the Merge  and  Summarize commands of the Processes Auditor Editor. 
  4374.  
  4375. This module resides in the SecureEntryPath, EXEC directory. 
  4376.  
  4377.  
  4378. ΓòÉΓòÉΓòÉ 6.10. Lotus Notes Component ΓòÉΓòÉΓòÉ
  4379.  
  4380. The SecureEntry Lotus Notes Component allows you to integrate the following 
  4381. data in a single compressed file: 
  4382.  
  4383.      A NOTES.INI file 
  4384.  
  4385.      A .ID file 
  4386.  
  4387.      A password 
  4388.  
  4389.  This means that you can take a user NOTES.INI, .ID file and password, put them 
  4390.  into a file, and make this file to travel with the user, no matter what 
  4391.  workstation the user logs on. The password inside the profile is gathered 
  4392.  scrambled. 
  4393.  
  4394.  At logon time, NOTES.INI and the .ID file are copied to the customized 
  4395.  directories in the user workstation. SecureEntry adds a Lotus Notes Extension 
  4396.  Manager Add-In, so that it gets control whenever the Lotus Notes client 
  4397.  program requests the password to the user. 
  4398.  
  4399.  At run-time, if a password has been customized, SecureEntry provides the user 
  4400.  password to the Lotus Notes client program, without any user interaction. If 
  4401.  the password is unknown, or wrong, then SecureEntry requests the password to 
  4402.  the user the first time the Lotus Notes client program requests it. Then, 
  4403.  SecureEntry validates the password, gathers it inside the profile, and gives 
  4404.  it back to Lotus Notes client program, so that normal execution continues. 
  4405.  SecureEntry handles the Change Password event in a similar way. 
  4406.  
  4407.  Since the file NOTES.INI is updated during a Lotus Notes working session, and 
  4408.  so may the .ID file and the user password, a Lotus Notes profile is uploaded 
  4409.  at user logoff time. 
  4410.  
  4411.  In order to work with this component, open the Lotus Notes Workbench, located 
  4412.  inside the SecureEntry Workbench. 
  4413.  
  4414.  The SecureEntry installer program detects the Java version installed in the 
  4415.  system and creates the object Lotus Notes Editor for Java for that version. If 
  4416.  you don't have a Java version installed, or it is different from Java 1.1.x, 
  4417.  then it automatically creates the object for Java2. 
  4418.  
  4419.  You can create a profile for this component by dragging a copy from its 
  4420.  component profile template (EDYNT.LOT) and dropping it. 
  4421.  
  4422.  In order to modify a Lotus Notes profile, drag and drop it into the Lotus 
  4423.  Notes Editor for Java, or just double click on the profile. Make the necessary 
  4424.  changes and then save the modified profile. Since the contents of a Lotus 
  4425.  Notes SecureEntry profile may vary during a Lotus Notes working session, 
  4426.  trying to overwrite a given profile currently active will result in the editor 
  4427.  returning the error code ERROR_BUSY (170). Follow the editor's help for 
  4428.  further advice. 
  4429.  
  4430.  In order to verify the profile behavior, drag and drop it on the object Lotus 
  4431.  Notes Tester. The defined profile will be activated. Notice that for the 
  4432.  profile to be correctly activated, the Lotus Notes client program cannot be 
  4433.  running; otherwise, the return code ERROR_BUSY (170) will be returned. Once 
  4434.  the profile is active, you can kick again the Lotus Notes client program. 
  4435.  
  4436.  Once configured, associate the profile to the desired user or group, by 
  4437.  dragging and dropping it into the adequate container of the users and groups 
  4438.  administration tool, or establish it as the default for the system, copying it 
  4439.  with its default name (EDYNT.LOT) to the NOUSER folder. 
  4440.  
  4441.  When a user logs on the system, its related profile will be activated, yet his 
  4442.  or his SecureEntry group's if his does not exist. If the user does not have 
  4443.  any defined Lotus Notes profile, then the profile residing in the NOUSER 
  4444.  folder will be activated. If the NOUSER folder does not contain any Lotus 
  4445.  Notes profile, then no profile will be activated. 
  4446.  
  4447.  Note that full portability with Windows NT is provided, i.e., profiles 
  4448.  generated under SecureEntry for OS/2 are totally compatible under SecureEntry 
  4449.  for NT, and viceversa. This means that you can use the same profile at logon 
  4450.  time, no matter what the underlying operating system in the client workstation 
  4451.  is. 
  4452.  
  4453.      Description of the modules and the API 
  4454.  
  4455.      Providing NLS support to the editor 
  4456.  
  4457.  
  4458. ΓòÉΓòÉΓòÉ 6.10.1. Description of the modules and the API ΓòÉΓòÉΓòÉ
  4459.  
  4460. What follows is the description of the modules integrated in this component: 
  4461.  
  4462.      EDNOTES 
  4463.  
  4464.       This is the editor program of profiles. Expected syntax: 
  4465.  
  4466.  
  4467.                  EDNOTES.CMD [Profile]
  4468.  
  4469.       Where Profile is the path and file name of the desired profile. 
  4470.  
  4471.      EDYNTTST 
  4472.  
  4473.       This is the program activator of profiles. It accepts the following 
  4474.       syntax: 
  4475.  
  4476.  
  4477.                  EDYNTTST.EXE [Profile]
  4478.  
  4479.         -  Profile activates the profile defined in Profile. If Profile does 
  4480.            not exist, no profile is activated. 
  4481.  
  4482.         -  Without parameters, it activates the profile EDYNT.LOT defined in 
  4483.            the NOUSER. If the profile does not exist, no profile is activated. 
  4484.  
  4485.       Notes: 
  4486.  
  4487.         1. Any printed-out Lotus Notes error "Error reading Character Set 
  4488.            Translation File" at activation time must be ignored. 
  4489.  
  4490.         2. At run-time, any cancelled password change may make Lotus Notes to 
  4491.            show a dialog box stating that the operation was cancelled. 
  4492.  
  4493.      EDYNTBAT 
  4494.  
  4495.       This program generates a profile through the command line, i.e., in 
  4496.       unattended mode. It may be used to generate mass profiles from the 
  4497.       command line. 
  4498.  
  4499.  
  4500.                  EDYNTBAT  [ -INISOURCE:Source [ -INITARGET:Target ] ]
  4501.                            [ -IDSOURCE:Source  [ -IDTARGET:Target  ] -IDNAME:Name [ -IDUPLOADNEW:Y|N ] ]
  4502.                            [ -PWDSOURCE:Source | -PWD:Password ] [ -PWDCHANGE:Y|N ]
  4503.                            -VLB:Target [ -OVERWRITE:Y|N ]
  4504.  
  4505.  
  4506.                    -INISOURCE:   get NOTES.INI from full path and file name. If not specified,
  4507.                                  NOTES.INI already located in the client will be used.
  4508.                    -INITARGET:   put NOTES.INI to specific full path. If not specified,
  4509.                                  NOTES.INI will be left in Lotus Notes Data directory.
  4510.                    -IDSOURCE:    get .ID from full path and file name. If not specified, .ID
  4511.                                  already located in the client will be used.
  4512.                    -IDTARGET:    put .ID to specific full path. If not specified, .ID will be
  4513.                                  left in Lotus Notes Data directory.
  4514.                    -IDNAME:      designate the .ID file name.
  4515.                    -IDUPLOADNEW: upload new .ID in case of File->Tools->SwitchID. If not
  4516.                                  specified, it defaults to N.
  4517.                    -PWDSOURCE:   get password for .ID from full path and file name.
  4518.                    -PWD:         get password from the command line. If not PWDSOURCE nor PWD
  4519.                                  are provided, then the password for .ID is initially unknown.
  4520.                    -PWDCHANGE:   allow user to change the password for the .ID. If not
  4521.                                  specified, it defaults to Y.
  4522.                    -VLB:         full path and file name to the output profile. If no extension
  4523.                                  is provided, then ".LOT" is assumed.
  4524.                    -OVERWRITE:   overwrite the output profile if it already exists. If not
  4525.                                  specified, it defaults to N.
  4526.  
  4527.  
  4528.       Notes: 
  4529.  
  4530.         1. A valid path name must adjust to the following rules: 
  4531.  
  4532.                         drive:\
  4533.                         drive:\path
  4534.                         \\workstation\resource
  4535.                         \\workstation\resource\path
  4536.  
  4537.         2. Few checkings will be done regarding drives, paths, workstation 
  4538.            names, or resources available to the client workstation, since these 
  4539.            data cannot be verified at the Administrator workstation. 
  4540.  
  4541.         3. SecureEntry will create the subdirectory tree if it does not already 
  4542.            exist. 
  4543.  
  4544.         4. If you want to extract your user password from a plain text file, 
  4545.            keep in mind that Lotus Notes passwords can have a maximum length of 
  4546.            64 characters. SecureEntry will read from the beginning of the file 
  4547.            up to the first End Of Line with a maximum of 64 characters, 
  4548.            whichever comes first. 
  4549.  
  4550.      Lotus Notes component interface 
  4551.  
  4552.       Any user-written application using the SecureEntry Lotus Notes component 
  4553.       API must allocate a stack size of at least 32KB. This is a Lotus Notes 
  4554.       API requirement, which is used by the SecureEntry Lotus Notes API 
  4555.       component. 
  4556.  
  4557.       The component exports the following routines, defined in EDYNTAPI.H. The 
  4558.       routines execute correctly if they return zero; otherwise they return the 
  4559.       gotten error: 
  4560.  
  4561.         -  ActivateNotesVLB: activates a SecureEntry Lotus Notes profile 
  4562.  
  4563.  
  4564.                            unsigned long ActivateNotesVLB(char *pszFileVLB);
  4565.  
  4566.                 If pszFileVLB points to "", then NOUSER profile will be 
  4567.                 handled. 
  4568.  
  4569.                 If the file does not exist, then an error is returned and no 
  4570.                 profile will be activated. 
  4571.  
  4572.                 Any previously activated profile will be deactivated right 
  4573.                 before activating the new one, no matter if the new one does or 
  4574.                 does not exist. 
  4575.  
  4576.                 If the Notes code is running when calling ActivateNotesVLB, 
  4577.                 then error code ERROR_BUSY=170 will be returned. 
  4578.  
  4579.         -  CreateNotesVLB: validates and creates a SecureEntry Lotus Notes 
  4580.            profile. It may be used to generate mass profiles from an 
  4581.            application. 
  4582.  
  4583.  
  4584.                            unsigned long CreateNotesVLB(PNOTES_VLB pNotesVLB);
  4585.  
  4586.                 The fields of the structure pointed to by PNOTES_VLB are 
  4587.                 explained in detail in the header file EDYNTAPI.H and they are 
  4588.                 identical to the parameters for the command EDYNTBAT.EXE. 
  4589.  
  4590.                 If attempting to overwrite a profile which is currently active 
  4591.                 when calling CreateNotesVLB, then error code ERROR_BUSY=170 
  4592.                 will be returned. 
  4593.  
  4594.  
  4595. ΓòÉΓòÉΓòÉ 6.10.2. Providing NLS support to the editor ΓòÉΓòÉΓòÉ
  4596.  
  4597. If you want to translate the editor to another language and you have the Java 
  4598. Development Kit JDK, you can upgrade the editor translation by your own means 
  4599. using the following procedure: 
  4600.  
  4601.    1. Extract the file EdNotes.properties from one of the editor JAR files, 
  4602.       which are located in the directory EXEC: 
  4603.  
  4604.                 JAR xf ednotes1.jar EdNotes.properties, or
  4605.                 JAR xf ednotes2.jar EdNotes.properties
  4606.  
  4607.    2. Rename the file EdNotes.properties to EdNotes_XX.properties, where XX 
  4608.       represents the locale prefix you use, generally given by the environment 
  4609.       variable LANG. For example, for the french locale, XX=fr 
  4610.  
  4611.    3. Translate the file EdNotes_XX.properties depending on the defined rules 
  4612.       at the top of the file 
  4613.  
  4614.    4. Update the JAR files: 
  4615.  
  4616.                 JAR uf ednotes1.jar EdNotes_XX.properties
  4617.                 JAR uf ednotes2.jar EdNotes_XX.properties
  4618.  
  4619.  Please be aware that Java properties files names are case sensitive. 
  4620.  
  4621.  Since JAR files are actually ZIP files, if you don't have the JDK then you can 
  4622.  also translate the editor with a similar procedure using ZIP/UNZIP programs: 
  4623.  
  4624.    1. Extract the file EdNotes.properties from one of the editor JAR files, 
  4625.       which are located in the directory EXEC: 
  4626.  
  4627.                 UNZIP ednotes1.jar EdNotes.properties, or
  4628.                 UNZIP ednotes2.jar EdNotes.properties
  4629.  
  4630.    2. Rename the file EdNotes.properties to EdNotes_XX.properties, where XX 
  4631.       represents the locale prefix you use, generally given by the environment 
  4632.       variable LANG. For example, for the french locale, XX=fr 
  4633.  
  4634.    3. Translate the file EdNotes_XX.properties depending on the defined rules 
  4635.       at the top of the file 
  4636.  
  4637.    4. Update the JAR files: 
  4638.  
  4639.                 ZIP ednotes1.jar EdNotes_XX.properties
  4640.                 ZIP ednotes2.jar EdNotes_XX.properties
  4641.  
  4642.  The editor help file is located in the SecureEntry directory HELP and its name 
  4643.  is EDNOTES.HTM. You can translate it using any HTML editor. 
  4644.  
  4645.  
  4646. ΓòÉΓòÉΓòÉ 7. Security components - WorkPlace shell ΓòÉΓòÉΓòÉ
  4647.  
  4648.      Desktop restrictions component 
  4649.  
  4650.      The Personal desktop component 
  4651.  
  4652.      The Hooked objects component 
  4653.  
  4654.      The Launchpad component 
  4655.  
  4656.      The WarpCenter component 
  4657.  
  4658.      The shortcuts component 
  4659.  
  4660.      The Public Applications component 
  4661.  
  4662.  
  4663. ΓòÉΓòÉΓòÉ 7.1. The Desktop restrictions component ΓòÉΓòÉΓòÉ
  4664.  
  4665. The Desktop restrictions component allows you to place restrictions on the 
  4666. machine's desktop once a given profile is activated. You can, for instance set 
  4667. some objects invisible or disallow dragging of them, or completely/partially 
  4668. suppress the popup menu for the desired objects. 
  4669.  
  4670. In order to work with this component, please open the Desktop restrictions 
  4671. Workbench folder located in the SecureEntry Workbench folder : 
  4672.  
  4673. The Restrictions profiles come in two different fashions : Text profiles and 
  4674. binary profiles. You can only assign to users and groups the binary profiles. 
  4675.  
  4676. You can create a text profile for this component by dragging a copy from its 
  4677. component profile template (name is Text Profile). 
  4678.  
  4679. You can create a binary profile for this component by dragging a copy from its 
  4680. component profile template (name is Binary Profile). 
  4681.  
  4682. The tools that the desktop restrictions workbench provide are : 
  4683.  
  4684.      A desktop capturer, to capture the contents of your desktop (the objects 
  4685.       and their current settings). Capture a desktop by dropping a text profile 
  4686.       into the 'Desktop Restrictions Capturer' program object. 
  4687.  
  4688.      Both 'compilers', from binary to text and from text to binary, in order 
  4689.       to convert one profile to the contrary format. Do this by dropping the 
  4690.       given profile into the appropriate compiler program object (names are 
  4691.       'Binary to Text translator' and 'Text to binary translator'). 
  4692.  
  4693.      The 'Desktop restrictions tester' program object, to be able to test the 
  4694.       effects on the desktop of a given profile. Just drop a given binary 
  4695.       profile into this object to test it. 
  4696.  
  4697.      The 'Desktop restrictions editor' program object, which allows you to set 
  4698.       the desktop into edition mode, and be able to edit the restrictions of a 
  4699.       given binary profile. Use it by dropping into it a given binary profile. 
  4700.       The edit window will open and you can then edit any desktop object 
  4701.       restrictions for that profile by opening its restrictions notebook by 
  4702.       clicking into the 'Edit restrictions' menu item of its pop-up menu. 
  4703.  
  4704.      The direct editing feature : allows you to drop a given object into a 
  4705.       binary profile and edit then directly the object's restrictions for that 
  4706.       profile. 
  4707.  
  4708.      *************************************************************************
  4709.      * Note : Most of the processes explained underneath are only maintained *
  4710.      *        for compatibility reasons. Specifically, working your desktop  *
  4711.      *        restrictions  through text desktop profiles is no longer  the  *
  4712.      *        suggested way to do it,  since  working directly  with binary  *
  4713.      *        profiles is  a  far better and more  efficient way to achieve  *
  4714.      *        the same result.                                               *
  4715.      *************************************************************************
  4716.  
  4717.      Configuring desktop profiles starting with a text desktop profile 
  4718.  
  4719.      Testing desktop profiles 
  4720.  
  4721.      Modifying desktop profiles 
  4722.  
  4723.      Text desktop profile format 
  4724.  
  4725.      Managing desktop objects position 
  4726.  
  4727.      Workplace shell personalization 
  4728.  
  4729.      Desktop profile activation API 
  4730.  
  4731.      Commands syntax 
  4732.  
  4733.  
  4734. ΓòÉΓòÉΓòÉ 7.1.1. Configuring desktop profiles starting with a text desktop profile ΓòÉΓòÉΓòÉ
  4735.  
  4736. To configure a desktop profile, that is, to produce a binary file with the 
  4737. desktop profile information, you can either start with a binary profile and use 
  4738. the desktop profile editor to provide it with your desired restrictions, or 
  4739. start with a text desktop profile. In this later case, go through the following 
  4740. steps: 
  4741.  
  4742.    1. Editing the desktop profile 
  4743.  
  4744.    2. Compiling the desktop profile 
  4745.  
  4746.  Editing the text desktop profile 
  4747.  
  4748.  To edit and obtain a text desktop profile, go through the following steps: 
  4749.  
  4750.    1. Create an instance of the Text desktop profile object. Specify as object 
  4751.       title the name of the file where the desktop profile configuration data 
  4752.       will be stored. 
  4753.  
  4754.       You can also use a text file corresponding to a desktop profile already 
  4755.       configured. In this case, you may get the text desktop profile as 
  4756.       follows: 
  4757.  
  4758.           The text desktop profile is stored on the system and hence, already 
  4759.            available. 
  4760.  
  4761.           To re-use the active desktop profile, drop a text desktop profile 
  4762.            object into the Desktop profile capturer object. The tool stores the 
  4763.            information in the active binary desktop profile in the dropped text 
  4764.            desktop profile. 
  4765.  
  4766.            To re-use the desktop profile, you can also select the Capture 
  4767.            desktop option that appears under the Open option in a text desktop 
  4768.            profile object pop-up menu. 
  4769.  
  4770.            The tool can also be started from the command line. 
  4771.  
  4772.            When the tool is started, an OS/2 session is opened where it runs; 
  4773.            when the processing ends, the session window remains open. 
  4774.  
  4775.           If only the binary desktop profile is available, drop the binary 
  4776.            desktop profile object into the Binary-to-text translator object. 
  4777.  
  4778.            If you drop only a binary desktop profile, the tool creates a text 
  4779.            desktop profile with the binary desktop profile information. The 
  4780.            text desktop profile has the same filename as the binary desktop 
  4781.            profile and the TXT extension. If the TXT file already exists, the 
  4782.            tool creates a new one. 
  4783.  
  4784.            If you drop both a binary desktop profile and a text desktop 
  4785.            profile, the tool creates a new text desktop profile, with the same 
  4786.            filename and extension, that only contains the information in the 
  4787.            binary desktop profile. 
  4788.  
  4789.            To obtain the text desktop profile, you can also select the 
  4790.            Translate to text option that appears under the Open option in the 
  4791.            binary desktop profile object pop-up menu. 
  4792.  
  4793.            The tool can also be started from the command line. 
  4794.  
  4795.            When the tool is started, an OS/2 session is opened where it runs; 
  4796.            when the processing ends, the session window remains open. 
  4797.  
  4798.    2. Open the text desktop profile by double-clicking on the text desktop 
  4799.       profile object. 
  4800.  
  4801.       You can also edit the file with any text editor that preserves the 
  4802.       extended attributes. 
  4803.  
  4804.    3. Specify the desktop profile objects and their properties in the text 
  4805.       desktop profile. 
  4806.  
  4807.    4. Save the text desktop profile. 
  4808.  
  4809.  Compiling the text desktop profile 
  4810.  
  4811.  To compile a text desktop profile and obtain a binary desktop profile, drop 
  4812.  the text desktop profile object into the Text-to-binary translator object. 
  4813.  
  4814.  If you drop only a text desktop profile, the tool creates a binary desktop 
  4815.  profile with the text desktop profile configuration data. The binary desktop 
  4816.  profile has the same filename as the text desktop profile and the INI 
  4817.  extension. If the INI file already exists, the tool updates the file with the 
  4818.  configuration data in the text desktop profile. 
  4819.  
  4820.  If you drop both a text desktop profile and a binary desktop profile, the tool 
  4821.  updates the binary desktop profile with the configuration data in the text 
  4822.  desktop profile. On an object basis, new data is added or existing data is 
  4823.  modified; objects can not be deleted. 
  4824.  
  4825.  To obtain the binary desktop profile, you can also select the Translate to 
  4826.  binary option that appears under the Open option in the text desktop profile 
  4827.  object pop-up menu. 
  4828.  
  4829.  The tool can also be started from the command line. 
  4830.  
  4831.  When the tool is started, an OS/2 session is opened where it runs; when the 
  4832.  processing ends, the session window remains open. 
  4833.  
  4834.  The resulting binary file contains the information about the desktop profile 
  4835.  and is ready for test. 
  4836.  
  4837.  
  4838. ΓòÉΓòÉΓòÉ 7.1.2. Testing desktop profiles ΓòÉΓòÉΓòÉ
  4839.  
  4840. To test desktop profiles, that is, to try the binary files with desktop profile 
  4841. information before releasing them for production, go through the following 
  4842. steps: 
  4843.  
  4844.    1. Capture the original desktop profile so that it can be restored after the 
  4845.       test activities. Alternatively, you can always plan on logging off and on 
  4846.       again to reset the desktop restrictions after the test. 
  4847.  
  4848.       You can drop a text desktop profile into the Desktop profile capturer 
  4849.       object of the Desktop restrictions workbench folder. The tool stores the 
  4850.       information in the active binary desktop profile in the dropped text 
  4851.       desktop profile. 
  4852.  
  4853.       To capture the desktop profile, you can also select the Capture desktop 
  4854.       option that appears under the Open option in a text desktop profile 
  4855.       object pop-up menu. 
  4856.  
  4857.       The tool can also be started from the command line. 
  4858.  
  4859.       When the tool is started, an OS/2 session is opened where it runs; when 
  4860.       the processing ends, the session window remains open. 
  4861.  
  4862.    2. Activate the desktop profile to be tested. 
  4863.  
  4864.       You can drop the binary desktop profile object into the Desktop profile 
  4865.       tester object of the Desktop restrictions folder. 
  4866.  
  4867.       The Workplace Shell is updated with the desktop profile information. The 
  4868.       objects provided in the Desktop restrictions folder are not affected. 
  4869.  
  4870.       To activate the desktop profile, you can also select the Test desktop 
  4871.       profile option that appears under the Open option in the binary desktop 
  4872.       profile object pop-up menu. 
  4873.  
  4874.       The tool can also be started from the command line. 
  4875.  
  4876.    3. Check that the Workplace Shell looks and works as defined, according to 
  4877.       your test cases. 
  4878.  
  4879.  To restore the original desktop profile, drop the binary desktop profile 
  4880.  object into the Desktop profile tester object. You may get the binary desktop 
  4881.  profile as follows: 
  4882.  
  4883.      The binary desktop profile is stored on the system and hence, already 
  4884.       available. 
  4885.  
  4886.      If only the text desktop profile is available, drop the text desktop 
  4887.       profile object into the Text-to-binary translator object. 
  4888.  
  4889.  
  4890. ΓòÉΓòÉΓòÉ 7.1.3. Modifying desktop profiles ΓòÉΓòÉΓòÉ
  4891.  
  4892. To modify a desktop profile, that is, to update the binary file with the 
  4893. desktop profile information, you can go through the following steps. 
  4894.  
  4895.    1. Drop the Workplace Shell objects to be updated into the binary desktop 
  4896.       profile object. They can be dropped one-by-one or at a time. 
  4897.  
  4898.       For each dropped object, a notebook is opened. If the object has been 
  4899.       already defined for this desktop profile, the values that were specified 
  4900.       will be displayed. If the object has not been previously defined for this 
  4901.       desktop profile, the current values will be displayed. 
  4902.  
  4903.    2. Use the object notebook to specify: 
  4904.  
  4905.           A subset of the setup string parameters (Setup tab). 
  4906.  
  4907.            The OS/2 setup string is used to specify parameters that define the 
  4908.            behavior of the object. The SecureEntry parameter list also provides 
  4909.            for modifying the link property and enabling to make shadow copy of 
  4910.            the object only to user folders. 
  4911.  
  4912.           The options that can be selected from the object pop-up menu (Pop-up 
  4913.            tab). 
  4914.  
  4915.           The pages that can be modified in the object settings notebook 
  4916.            (Settings tab). 
  4917.  
  4918.       For information on how to navigate through the notebook pages and specify 
  4919.       configuration data, display help information by selecting Help from the 
  4920.       system menu, clicking on the Help button on the notebook page, or 
  4921.       pressing F1 with the cursor on a particular page. 
  4922.  
  4923.    3. Close the object notebook when all object properties are specified. You 
  4924.       should use the OK push button. 
  4925.  
  4926.  When all object notebooks are closed, the binary file contains the desktop 
  4927.  profile information and is ready for test. 
  4928.  
  4929.  To modify a desktop profile, you can also edit the text file with the 
  4930.  configuration data and translate the text file into a binary file, which will 
  4931.  contain the updated information. 
  4932.  
  4933.  
  4934. ΓòÉΓòÉΓòÉ 7.1.4. Text desktop profile format ΓòÉΓòÉΓòÉ
  4935.  
  4936. Follows the grammar description for the allowable syntax to be found within a 
  4937. text desktop profile. Note that for non-english SecureEntry language versions 
  4938. the keywords name may have been translated. If so, you can find the correct 
  4939. spelling within the SecureEntryPath\API\NLS\WRKB\EDYNLSxx.DLG, where xx 
  4940. corresponds to the specific country code. 
  4941.  
  4942. You can replicate the basic object text definition restrictions structure as 
  4943. many times as objects have to be defined. 
  4944.  
  4945. The following conventions are used: 
  4946.  
  4947.      UPPERCASE CHARACTERS represent values you specify directly, without any 
  4948.       change. 
  4949.  
  4950.      lowercased characters represent variables for which you can supply 
  4951.       values. 
  4952.  
  4953.  
  4954.          [objectname]|[DEFAULT]
  4955.  
  4956.            SETUP_DELETE=YES|Y|1|NO|N|0
  4957.            SETUP_COPY=YES|Y|1|NO|N|0
  4958.            SETUP_MOVE=YES|Y|1|NO|N|0
  4959.            SETUP_LINK=YES|Y|1|NO|N|0
  4960.            SETUP_RESTRICTED_LINK=YES|Y|1|NO|N|0
  4961.            SETUP_VISIBLE=YES|Y|1|NO|N|0
  4962.            SETUP_PRINT=YES|Y|1|NO|N|0
  4963.            SETUP_RENAME=YES|Y|1|NO|N|0
  4964.            SETUP_DRAG=YES|Y|1|NO|N|0
  4965.            SETUP_DROP=YES|Y|1|NO|N|0
  4966.            SETUP_SETTINGS=YES|Y|1|NO|N|0
  4967.  
  4968.            POPUP_OPEN=YES|Y|1|NO|N|0
  4969.            POPUP_SETTINGS=YES|Y|1|NO|N|0
  4970.            POPUP_ICON_VIEW=YES|Y|1|NO|N|0
  4971.            POPUP_TREE_VIEW=YES|Y|1|NO|N|0
  4972.            POPUP_DETAILS_VIEW=YES|Y|1|NO|N|0
  4973.            POPUP_PROGRAM=YES|Y|1|NO|N|0
  4974.            POPUP_PALETTE=YES|Y|1|NO|N|0
  4975.            POPUP_HELP=YES|Y|1|NO|N|0
  4976.            POPUP_CREATE_ANOTHER=YES|Y|1|NO|N|0
  4977.            POPUP_COPY=YES|Y|1|NO|N|0
  4978.            POPUP_MOVE=YES|Y|1|NO|N|0
  4979.            POPUP_SHADOW=YES|Y|1|NO|N|0
  4980.            POPUP_CREATE_PARTITION=YES|Y|1|NO|N|0
  4981.            POPUP_DELETE=YES|Y|1|NO|N|0
  4982.            POPUP_FIND=YES|Y|1|NO|N|0
  4983.            POPUP_PRINT=YES|Y|1|NO|N|0
  4984.            POPUP_SELECT=YES|Y|1|NO|N|0
  4985.            POPUP_LOCKUP=YES|Y|1|NO|N|0
  4986.            POPUP_SHUTDOWN=YES|Y|1|NO|N|0
  4987.            POPUP_SETUP=YES|Y|1|NO|N|0
  4988.            POPUP_SORT=YES|Y|1|NO|N|0
  4989.            POPUP_ARRANGE=YES|Y|1|NO|N|0
  4990.            POPUP_REFRESH=YES|Y|1|NO|N|0
  4991.            POPUP_CHANGE_STATUS=YES|Y|1|NO|N|0
  4992.            POPUP_SET_DEFAULT=YES|Y|1|NO|N|0
  4993.            POPUP_DISABLE_SPOOLER=YES|Y|1|NO|N|0
  4994.            POPUP_CHECKDISK=YES|Y|1|NO|N|0
  4995.            POPUP_FORMATDISK=YES|Y|1|NO|N|0
  4996.            POPUP_COPYDISK=YES|Y|1|NO|N|0
  4997.            POPUP_OPEN_PARENT=YES|Y|1|NO|N|0
  4998.            POPUP_PICKUP=YES|Y|1|NO|N|0
  4999.  
  5000.            SETTINGS_GENERAL=YES|Y|1|NO|N|0
  5001.            SETTINGS_SYSTEM_WINDOW=YES|Y|1|NO|N|0
  5002.            SETTINGS_CLOCK_VIEW1=YES|Y|1|NO|N|0
  5003.            SETTINGS_CLOCK_VIEW2=YES|Y|1|NO|N|0
  5004.            SETTINGS_COUNTRY_DATE=YES|Y|1|NO|N|0
  5005.            SETTINGS_COUNTRY_NUMBER=YES|Y|1|NO|N|0
  5006.            SETTINGS_COUNTRY_COUNTRY=YES|Y|1|NO|N|0
  5007.            SETTINGS_COUNTRY_TIME=YES|Y|1|NO|N|0
  5008.            SETTINGS_DESKTOP_LOCKUP1=YES|Y|1|NO|N|0
  5009.            SETTINGS_DESKTOP_LOCKUP2=YES|Y|1|NO|N|0
  5010.            SETTINGS_DESKTOP_LOCKUP3=YES|Y|1|NO|N|0
  5011.  
  5012.            SETTINGS_DISK_DETAILS=YES|Y|1|NO|N|0
  5013.            SETTINGS_FILE_MENU=YES|Y|1|NO|N|0
  5014.            SETTINGS_FILE_TYPE=YES|Y|1|NO|N|0
  5015.            SETTINGS_FILE_FILE1=YES|Y|1|NO|N|0
  5016.            SETTINGS_FILE_FILE2=YES|Y|1|NO|N|0
  5017.            SETTINGS_FILE_FILE3=YES|Y|1|NO|N|0
  5018.            SETTINGS_FOLDER_BACKGROUND=YES|Y|1|NO|N|0
  5019.            SETTINGS_FOLDER_INCLUDE=YES|Y|1|NO|N|0
  5020.            SETTINGS_FOLDER_SORT=YES|Y|1|NO|N|0
  5021.            SETTINGS_FOLDER_VIEW1=YES|Y|1|NO|N|0
  5022.            SETTINGS_FOLDER_VIEW2=YES|Y|1|NO|N|0
  5023.            SETTINGS_FOLDER_VIEW3=YES|Y|1|NO|N|0
  5024.            SETTINGS_KEYBOARD_MAPPINGS=YES|Y|1|NO|N|0
  5025.            SETTINGS_KEYBOARD_SPECIAL_NEEDS=YES|Y|1|NO|N|0
  5026.            SETTINGS_KEYBOARD_TIMING=YES|Y|1|NO|N|0
  5027.            SETTINGS_MOUSE_MAPPINGS=YES|Y|1|NO|N|0
  5028.            SETTINGS_MOUSE_TIMING=YES|Y|1|NO|N|0
  5029.            SETTINGS_MOUSE_SETUP=YES|Y|1|NO|N|0
  5030.            SETTINGS_CLOCK_ALARM=YES|Y|1|NO|N|0
  5031.            SETTINGS_POWER_POWER=YES|Y|1|NO|N|0
  5032.            SETTINGS_POWER_VIEW=YES|Y|1|NO|N|0
  5033.            SETTINGS_PROGRAM_PROGRAM=YES|Y|1|NO|N|0
  5034.            SETTINGS_PROGRAM_ASSOCIATION=YES|Y|1|NO|N|0
  5035.            SETTINGS_PROGRAM_SESSION=YES|Y|1|NO|N|0
  5036.            SETTINGS_SOUND_WARNING_BEEP=YES|Y|1|NO|N|0
  5037.            SETTINGS_SYSTEM_CONFIRMATIONS=YES|Y|1|NO|N|0
  5038.            SETTINGS_SYSTEM_LOGO=YES|Y|1|NO|N|0
  5039.            SETTINGS_CLOCK_DATA_TIME=YES|Y|1|NO|N|0
  5040.            SETTINGS_PRINTER_PRINTER_DRIVER=YES|Y|1|NO|N|0
  5041.            SETTINGS_SYSTEM_PRINT_SCREEN=YES|Y|1|NO|N|0
  5042.            SETTINGS_PRINTER_PRINT_OPTIONS=YES|Y|1|NO|N|0
  5043.            SETTINGS_SPOOL_PRINT_PRIORITY=YES|Y|1|NO|N|0
  5044.            SETTINGS_PRINTER_OUTPUT=YES|Y|1|NO|N|0
  5045.            SETTINGS_PRINTER_QUEUE_OPTIONS=YES|Y|1|NO|N|0
  5046.            SETTINGS_SYSTEM_SCREEN=YES|Y|1|NO|N|0
  5047.            SETTINGS_SYSTEM_SCREEN2=YES|Y|1|NO|N|0
  5048.            SETTINGS_SYSTEM_TITLE=YES|Y|1|NO|N|0
  5049.            SETTINGS_SPOOL_SPOOL_PATH=YES|Y|1|NO|N|0
  5050.            SETTINGS_PRINTER_VIEW=YES|Y|1|NO|N|0
  5051.            SETTINGS_GENERAL2=YES|Y|1|NO|N|0
  5052.            SETTINGS_SYSTEM_WINDOW2=YES|Y|1|NO|N|0
  5053.            SETTINGS_SYSTEM_WINDOW3=YES|Y|1|NO|N|0
  5054.            SETTINGS_ARCHIVE=YES|Y|1|NO|N|0
  5055.            SETTINGS_DESKTOP=YES|Y|1|NO|N|0
  5056.            SETTINGS_MOUSE_COMET_CURSOR=YES|Y|1|NO|N|0
  5057.            SETTINGS_MOUSE_POINTER_PAGE=YES|Y|1|NO|N|0
  5058.            SETTINGS_SYSTEM_INPUT=YES|Y|1|NO|N|0
  5059.  
  5060.  Note:  The following keywords apply only when working with IBM OS/2 V3.0 (OS/2 
  5061.  Warp): 
  5062.  
  5063.  
  5064.            SETUP_SETTINGS
  5065.            POPUP_OPEN_PARENT
  5066.            POPUP_PICKUP
  5067.            SETTINGS_GENERAL2
  5068.            SETTINGS_SYSTEM_WINDOW2
  5069.            SETTINGS_SYSTEM_WINDOW3
  5070.            SETTINGS_ARCHIVE
  5071.            SETTINGS_DESKTOP
  5072.            SETTINGS_MOUSE_COMET_CURSOR
  5073.            SETTINGS_MOUSE_POINTER_PAGE
  5074.            SETTINGS_SYSTEM_INPUT
  5075.  
  5076.  The objectname parameter value can be either the object title or the object 
  5077.  identifier. 
  5078.  
  5079.  The object identifier and the object title are specified in the OS/2 setup 
  5080.  string, which is used to specify parameters that define the behavior of the 
  5081.  object. The object identifier stays with the object even though the object 
  5082.  title is changed or the object is copied. The object you create is not 
  5083.  assigned an object identifier because identifiers must be unique through the 
  5084.  system. 
  5085.  
  5086.  Write the title or identifier exactly like the original, taking especial care 
  5087.  about capitals and blanks, and do not leave blanks between the brackets, < >, 
  5088.  and the value. 
  5089.  
  5090.  To specify an object title of more than one line, use the \n string. 
  5091.  
  5092.  If you specify DEFAULT as objectname parameter value, the properties you 
  5093.  define through the following keywords apply to all objects that do not appear 
  5094.  in the text desktop profile. 
  5095.  
  5096.  The first block of keywords corresponds to a subset of the setup string 
  5097.  parameters, as the SETUP_ prefix indicates, except for the 
  5098.  SETUP_RESTRICTED_LINK keyword. 
  5099.  
  5100.  This keyword restricts the scope of the SETUP_LINK keyword by enabling to make 
  5101.  shadow copy of the object only to user folders. 
  5102.  
  5103.  The keyword applies only if the SecureEntry user management and access control 
  5104.  features will be implemented in the target workgroup. 
  5105.  
  5106.  In addition, the SETUP_RESTRICTED_LINK keyword does not apply when making a 
  5107.  shadow copy of the object (SETUP_LINK keyword) is not enabled. If the 
  5108.  SETUP_LINK keyword is set to enable the property, the SETUP_RESTRICTED_LINK 
  5109.  keyword can be set to restrict or not to restrict the property. 
  5110.  
  5111.  When the desktop profile is activated, those properties not defined through 
  5112.  the SETUP_ keywords keep the value specified in the previously active desktop 
  5113.  profile. 
  5114.  
  5115.  The second block of keywords corresponds to the options that can be selected 
  5116.  from the object pop-up menu (POPUP_ prefix). 
  5117.  
  5118.  The third block of keywords corresponds to the pages that can be modified in 
  5119.  the object settings notebook (SETTINGS_ prefix). Pages under the same tab are 
  5120.  identified by using both the tab label and the page number; for example, 
  5121.  SETTINGS_CLOCK_VIEW1 and SETTINGS_CLOCK_VIEW2. 
  5122.  
  5123.  When the desktop profile is activated, those properties not defined through 
  5124.  the POPUP_ or SETTINGS_ keywords keep the value corresponding to the OS/2 
  5125.  Workplace Shell. 
  5126.  
  5127.  For all keywords the parameter value can be: 
  5128.  
  5129.  YES, Y, or 1 To enable a setup property, show a pop-up option, or add a 
  5130.            settings page. 
  5131.  
  5132.  NO, N, or 0 To disable a setup property, hide a pop-up option, or remove a 
  5133.            settings page. 
  5134.  
  5135.  Keywords and parameter values are not case-sensitive. 
  5136.  
  5137.  Text desktop profile sample 
  5138.  
  5139.  
  5140.   /* All objects in the desktop are not visible, except   */
  5141.   /* for those that appear explicitly in the file.        */
  5142.  
  5143.       [DEFAULT]
  5144.       SETUP_VISIBLE=NO
  5145.  
  5146.   /* The OS/2 System object would also be visible if the  */
  5147.   /* SETUP_VISIBLE=YES keyword-value pair did not appear  */
  5148.   /* in the file.                                         */
  5149.  
  5150.       [OS\2 System]
  5151.       SETUP_VISIBLE=YES
  5152.  
  5153.       [Workbench]
  5154.       SETUP_VISIBLE=YES
  5155.       SETUP_COPY=NO
  5156.       SETUP_MOVE=NO
  5157.       SETUP_DELETE=NO
  5158.       SETUP_DRAG=NO
  5159.       POPUP_COPY=NO
  5160.       POPUP_DELETE=NO
  5161.  
  5162.       [Desktop]
  5163.       POPUP_OPEN=NO
  5164.       POPUP_REFRESH=NO
  5165.       POPUP_HELP=YES
  5166.       POPUP_SHADOW=NO
  5167.       POPUP_LOCKUP=YES
  5168.       POPUP_SHUTDOWN=YES
  5169.       POPUP_SETUP=NO
  5170.       POPUP_FIND=NO
  5171.       POPUP_SELECT=NO
  5172.       POPUP_SORT=NO
  5173.       POPUP_ARRANGE=NO
  5174.  
  5175.  
  5176. ΓòÉΓòÉΓòÉ 7.1.5. Managing desktop objects position ΓòÉΓòÉΓòÉ
  5177.  
  5178. In order to control how SecureEntry will manage object positions within the 
  5179. Workplace, there are three different options : 
  5180.  
  5181.    1. The checkbox 'Save Desktop Settings' is checked in the Desktop page of 
  5182.       the settings notebook for the desktop. 
  5183.  
  5184.       In this case, object positions are handled by the Workplace Shell, so 
  5185.       that moving an object to another position is just a matter of really 
  5186.       dragging it, and it will stay there across sessions and shutdowns. Of 
  5187.       course, you will only be allowed to move it if the desktop restrictions 
  5188.       profile for your working session allow you to do so. 
  5189.  
  5190.    2. The checkbox 'Discard all changes on folder's positions when logging off' 
  5191.       is checked in the Desktop page of the settings notebook for the desktop. 
  5192.  
  5193.       In this case, SecureEntry maintains the positions of folders and contents 
  5194.       so that they will always appear in the same place for all users right 
  5195.       after logon, but you can play with your folder's positions during your 
  5196.       work session. 
  5197.  
  5198.       Administrator users have the additional option then to save the positions 
  5199.       at any moment by using the added 'save positions' option in the affected 
  5200.       folder's view popup menu. 
  5201.  
  5202.    3. The checkbox 'Discard all changes on folder's positions as soon as they 
  5203.       are closed' is checked in the Desktop page of the settings notebook for 
  5204.       the desktop. 
  5205.  
  5206.       In this case, SecureEntry maintains the positions of folders and contents 
  5207.       so that they will always appear in the same place for all users every 
  5208.       time they are opened. 
  5209.  
  5210.       Administrator users have the additional option then to save the positions 
  5211.       at any moment by using the added 'save positions' option in the affected 
  5212.       folder's view popup menu. 
  5213.  
  5214.  Note : Changes made to the desktop page of the settings notebook for the 
  5215.  desktop will only be honored after a WorkPlace Shell reload. In other words, 
  5216.  you may have to reboot the machine after checking the appropriate value to 
  5217.  observe the desired desktop behavior. 
  5218.  
  5219.  
  5220. ΓòÉΓòÉΓòÉ 7.1.6. Workplace Shell personalization ΓòÉΓòÉΓòÉ
  5221.  
  5222. When a SecureEntry user opens a SecureEntry session, the Workplace Shell is 
  5223. modified according to the specifications in the assigned desktop profile. The 
  5224. end user can then change the layout properties of the folders, the desktop 
  5225. folder inclusive: 
  5226.  
  5227.      Positions of the icons in the folder. 
  5228.  
  5229.       Through the Sort or Arrange option in the folder pop-up menu, through the 
  5230.       Sort page in the Settings notebook, or by dragging and dropping. 
  5231.  
  5232.      View properties of the folder. 
  5233.  
  5234.       Through the View pages in the Settings notebook: Icon view, Tree view, 
  5235.       and Details view. 
  5236.  
  5237.  When the SecureEntry user closes the SecureEntry session and opens a new one, 
  5238.  the initial settings are restored so that the end user is always provided with 
  5239.  the same Workplace Shell, regarding the properties defined through these 
  5240.  settings. This is true provided that the workplace is configured that way, as 
  5241.  explained under Managing desktop objects position. 
  5242.  
  5243.               **************************************************
  5244.               IMPORTANT NOTE
  5245.  
  5246.               What follows is  a  description of the  maintained
  5247.               functionality  on how  to  create  personalized
  5248.               (user associated) folders  and  memory folders
  5249.               using the desktop restrictions component through
  5250.               its  text  profile  definition  characteristics.
  5251.               This function is  still available and  supported
  5252.               for compatibility reasons, but you are encouraged
  5253.               to use The Personal desktop component to do the
  5254.               same tasks more efficiently from now on.
  5255.               **************************************************
  5256.  
  5257.  However, SecureEntry enables the system administrator to permanently associate 
  5258.  the new settings, that is, the settings specified during a SecureEntry 
  5259.  session, to the end user. To enable a folder to keep the new settings, when 
  5260.  the user closes the folder or performs logoff, the system administrator should 
  5261.  define it as memory folder. 
  5262.  
  5263.  In addition, SecureEntry enables the system administrator to provide 
  5264.  SecureEntry users with user folders, where the end user can create or delete 
  5265.  object shadows through the Create shadow option or Delete option, 
  5266.  respectively, in the object pop-up menu. Object shadows can also be created or 
  5267.  deleted by dragging and dropping objects into the user folder or into the OS/2 
  5268.  Shredder object, respectively. 
  5269.  
  5270.  The end user may keep the shadows of the objects that are more frequently used 
  5271.  in the user folder. The contents of the user folder are associated only to the 
  5272.  SecureEntry user that is logged-on. 
  5273.  
  5274.  Memory folders 
  5275.  
  5276.  If a folder is defined as memory folder, the changes performed during a 
  5277.  SecureEntry session to some layout properties are stored in a file associated 
  5278.  to the user that is logged-on. When the user opens another session, the layout 
  5279.  properties of the folder are restored according to the settings active the 
  5280.  last time the user performed logoff. 
  5281.  
  5282.  The folder properties that are stored for the memory folders are: 
  5283.  
  5284.      Positions of the icons. 
  5285.  
  5286.      View properties that can be set through the View pages in the Settings 
  5287.       notebook: Icon view, Tree view, and Details view. 
  5288.  
  5289.  The system administrator can define as memory folder any folder with an object 
  5290.  identifier, the desktop folder inclusive. 
  5291.  
  5292.  User folders 
  5293.  
  5294.  User folders are a SecureEntry class of folders where object shadows can be 
  5295.  created or deleted. 
  5296.  
  5297.  User folders can exist only in the desktop folder and can contain only shadows 
  5298.  of objects. They are removed from the desktop folder at logoff time and 
  5299.  re-created with all their contents when the user performs logon. When a user 
  5300.  folder is re-created, its title and object identifier are also restored. 
  5301.  
  5302.  To create a shadow of an object to a user folder, the object has to be 
  5303.  accordingly defined in the desktop profile assigned to the SecureEntry user 
  5304.  that is currently logged-on. That is, the making shadow copy property must be 
  5305.  enabled (SETUP_LINK keyword) but restricted to user folders 
  5306.  (SETUP_RESTRICTED_LINK keyword). 
  5307.  
  5308.  If a SecureEntry user is to be provided with a user folder, the first time 
  5309.  that logon takes place, an empty user folder is created. 
  5310.  
  5311.  The system administrator can specify whether a given SecureEntry group is 
  5312.  provided with a user folder through the personalization profile. 
  5313.  
  5314.  In addition, user folders should be defined through a settings notebook. 
  5315.  
  5316.  Configuring personalization profiles 
  5317.  
  5318.  Personalization profiles are configured on a SecureEntry group or user basis. 
  5319.  That is, one personalization profile can be configured for each SecureEntry 
  5320.  group or individually to a SecureEntry user. 
  5321.  
  5322.  To configure a personalization profile, you can produce a text file with the 
  5323.  configuration data and translate the text file into a binary file, which will 
  5324.  contain the personalization profile information. 
  5325.  
  5326.  Go through the following steps: 
  5327.  
  5328.      Editing the text personalization profile 
  5329.  
  5330.       To edit and obtain a text personalization profile, go through the 
  5331.       following steps: 
  5332.  
  5333.         1. Open a text file with any text editor that preserves the extended 
  5334.            attributes. You can use the file corresponding to an existing text 
  5335.            personalization profile. 
  5336.  
  5337.         2. Specify the configuration data in the text file. 
  5338.  
  5339.         3. Save the text file. 
  5340.  
  5341.       Text personalization profile format 
  5342.  
  5343.       You can replicate the basic structure of a memory folder as many times as 
  5344.       memory folders are to be defined. Only one user folder can be defined. 
  5345.       The following conventions are used: ;p. 
  5346.  
  5347.         -  UPPERCASE CHARACTERS represent values you specify directly, without 
  5348.            any change. 
  5349.  
  5350.         -  regular characters represent variables for which you can supply 
  5351.            values. 
  5352.  
  5353.       Text personalization profile keyword structure 
  5354.  
  5355.  
  5356.                    [objectname]
  5357.                      SAVE_ICONS_POSITION=YES|Y|1|NO|N|0
  5358.  
  5359.                    [_SE_PERSONAL_FOLDER_]
  5360.                      CREATE_FOLDER=YES|Y|1|NO|N|0
  5361.  
  5362.       The objectname parameter value can be either the object title or the 
  5363.       object identifier corresponding to the memory folder. 
  5364.  
  5365.       The SAVE_ICONS_POSITION keyword can be set to save (YES, Y, or 1) or not 
  5366.       to save (NO, N, or 0) the position of the objects that the memory folder 
  5367.       contains at logoff time and to display them in that position after logon. 
  5368.  
  5369.       The CREATE_FOLDER keyword can be set to create (YES, Y, or 1) or not to 
  5370.       create (NO, N, or 0) a user folder at startup time. 
  5371.  
  5372.       Keywords and parameter values are not case-sensitive. Text 
  5373.       personalization profile sample 
  5374.  
  5375.  
  5376.             /* The desktop folder keeps its layout and the productivity  */
  5377.             /* folder does not keep its contents positions.  The other   */
  5378.             /* folders do not keep their contents positions, either.     */
  5379.  
  5380.                    [<WP_DESKTOP>]
  5381.                      SAVE_ICONS_POSITION=YES
  5382.  
  5383.                    [<WP_TOOLS>]
  5384.                      SAVE_ICONS_POSITION=NO
  5385.  
  5386.             /* The user is provided with a user folder.                  */
  5387.  
  5388.                    [_SE_PERSONAL_FOLDER_]
  5389.                      CREATE_FOLDER=YES
  5390.  
  5391.      Compiling the text personalization profile 
  5392.  
  5393.       To compile a text personalization profile and obtain a binary 
  5394.       personalization profile, drop the text personalization profile object 
  5395.       into the Text-to-binary translator object. 
  5396.  
  5397.       The tool creates a binary personalization profile with the text 
  5398.       personalization profile configuration data. The binary personalization 
  5399.       profile has the same filename as the text personalization profile and the 
  5400.       PER extension. 
  5401.  
  5402.  
  5403. ΓòÉΓòÉΓòÉ 7.1.7. Desktop profile activation API ΓòÉΓòÉΓòÉ
  5404.  
  5405. Description 
  5406.  
  5407. The Desktop restrictions workbench API consists of: 
  5408.  
  5409.      A dynamic link library called EDYSHELL.DLL. Programs that issue requests 
  5410.       to the Desktop restrictions API function must be dynamically linked to 
  5411.       this library. 
  5412.  
  5413.      A link time library called EDYSHELL.LIB. Programs that issue requests to 
  5414.       the Desktop restrictions API function at link time must be linked to this 
  5415.       library. 
  5416.  
  5417.      An include file called EDYSHELL.H. Programs that use the Desktop 
  5418.       restrictions API must include this file. This file declares information 
  5419.       required to use the Desktop restrictions API function. 
  5420.  
  5421.  The API provides only the edy_refresh_profile function, intended to activate 
  5422.  desktop profiles. 
  5423.  
  5424.  When your program issues this function, the objects in the Workplace Shell and 
  5425.  the object properties are refreshed according to the information in the 
  5426.  desktop profile that is activated. 
  5427.  
  5428.  edy_refresh_profile syntax 
  5429.  
  5430.  The following statement shows how to include this function into your programs: 
  5431.  
  5432.  
  5433.     LONG APIENTRY edy_refresh_profile (CHAR *profilename)
  5434.  
  5435.  Where profilename is the full path of the file that contains the desktop 
  5436.  profile to be activated. A NULL value is resolved to 
  5437.  SecureEntryPath\WORK\EDYDESK.INI or, if this file does not exist, it is 
  5438.  resolved to SecureEntryPath\NOUSER\EDYDESK.INI 
  5439.  
  5440.  edy_refresh_profile return codes 
  5441.  
  5442.  The following diagram show the codes that can be returned by this function: 
  5443.  
  5444.  
  5445.         Code         Meaning
  5446.         =====        =======
  5447.  
  5448.         0001x        Successful operation
  5449.         0000x        Error refreshing Workplace Shell
  5450.         FFFFx        Error catching Workplace Shell return code
  5451.         Other        OS/2 error
  5452.  
  5453.  
  5454. ΓòÉΓòÉΓòÉ 7.1.8. Commands syntax ΓòÉΓòÉΓòÉ
  5455.  
  5456. This section describes the commands to be entered at the OS/2 prompt and start 
  5457. the tools provided by the Desktop restrictions component. 
  5458.  
  5459. Desktop activation command 
  5460.  
  5461. The EDYREFR tool is provided to activate desktop profiles from the command 
  5462. line. To start the tool, enter: 
  5463.  
  5464.  
  5465.      EDYREFR [fullpath]
  5466.  
  5467.  fullpath  Full path of the file that contains the desktop profile to be 
  5468.            activated. 
  5469.  
  5470.            The default is SecureEntryPath\WORK\EDYDESK.INI or, if this file 
  5471.            does not exist, SecureEntryPath\NOUSER\EDYDESK.INI. 
  5472.  
  5473.  Text-to-binary translator command 
  5474.  
  5475.  To start the text-to-binary translator tool, enter: 
  5476.  
  5477.  
  5478.        EDYT2B text-filename binary-filename
  5479.  
  5480.  text-filename Name of the file corresponding to the text desktop profile. This 
  5481.            is the input file. 
  5482.  
  5483.  binary-filename Name of the file corresponding to the binary desktop profile. 
  5484.            This is the output file. 
  5485.  
  5486.  Binary-to-text translator command 
  5487.  
  5488.  To start the binary-to-text translator tool, enter: 
  5489.  
  5490.  
  5491.        EDYB2T binary-filename text-filename
  5492.  
  5493.  binary-filename Name of the file corresponding to the binary desktop profile. 
  5494.            This is the input file. 
  5495.  
  5496.  text-filename Name of the file corresponding to the text desktop profile. This 
  5497.            is the output file. 
  5498.  
  5499.  Desktop profile capturer command 
  5500.  
  5501.  To start the desktop profile capturer tool, enter: 
  5502.  
  5503.  
  5504.        EDYSAVEE  [filename] [/ID:(YES|NO)]
  5505.  
  5506.  filename  Name of the file corresponding to the text desktop profile. The 
  5507.            default is EDYDESK.TXT. 
  5508.  
  5509.  ID        Specifies whether objects are to be identified by the object 
  5510.            identifier (YES value) or by the object title (NO value). The 
  5511.            default is NO. 
  5512.  
  5513.  Desktop profile tester command 
  5514.  
  5515.  To start the desktop profile tester tool, enter: 
  5516.  
  5517.  
  5518.        EDYTEST [filename]
  5519.  
  5520.  filename.ext Name of the file corresponding to the binary desktop profile. 
  5521.  
  5522.            The default is SecureEntryPath\WORK\EDYDESK.INI or, if this file 
  5523.            does not exist, SecureEntryPath\NOUSER\EDYDESK.INI. 
  5524.  
  5525.  Note that this utility is maintained only for SecureEntry previous version 
  5526.  compatibility reasons, so we suggest you to use the EDYREFR utility instead. 
  5527.  
  5528.  
  5529. ΓòÉΓòÉΓòÉ 7.2. The Personal desktop component ΓòÉΓòÉΓòÉ
  5530.  
  5531. SecureEntry enables the system administrator to permanently associate a given 
  5532. folder's settings, that is, the settings specified during a SecureEntry 
  5533. session, to the end user. To enable a folder to keep the new settings, when the 
  5534. user closes the folder or performs logoff, the system administrator should 
  5535. define it as memory folder. 
  5536.  
  5537. In addition, SecureEntry enables the system administrator to provide 
  5538. SecureEntry users with user folders, where the end user can create or delete 
  5539. object shadows through the Create shadow option or Delete option, respectively, 
  5540. in the object pop-up menu. 
  5541.  
  5542. You use the Personal desktop component to define personal desktop profiles, 
  5543. which specify both, memory and user folders. user folders will from now on be 
  5544. called dynamic folders, since they are effectively created and destroyed for 
  5545. the user at logon/logoff times. This personal desktop profiles, once created, 
  5546. are assigned to SecureEntry users by means of the SecureEntry administration 
  5547. tools. 
  5548.  
  5549. In order to work with this component, please open the Personal Desktop 
  5550. workbench folder located in the SecureEntry workbench folder. 
  5551.  
  5552. Use the objects in the Personal Desktop workbench to 
  5553.  
  5554.      Define Dynamic Folders 
  5555.  
  5556.      Edit Personalization Profiles and Models 
  5557.  
  5558.      Edit Memory folders 
  5559.  
  5560.      Edit Lists of Shadows through the list of shadows editor 
  5561.  
  5562.  
  5563. ΓòÉΓòÉΓòÉ 7.2.1. Dynamic folders ΓòÉΓòÉΓòÉ
  5564.  
  5565. Dynamic folders (also called user folders) are special folders that 
  5566.  
  5567.      can only contain shadows. Shadows can be added by drag and drop 
  5568.       operations. 
  5569.  
  5570.      store the list of contained shadows in a file that can be used in 
  5571.       different workstations. 
  5572.  
  5573.      are created on logon and deleted on logoff. 
  5574.  
  5575.      can be defined as startup folders, having their contents opened on logon. 
  5576.  
  5577.  The list of contained shadows can be kept in the user's personalization 
  5578.  profiles or in an external file. When the list is kept in the user's 
  5579.  personalization profile, the contents of the folder are defined by the user, 
  5580.  and the user will have access to his own personal folder no matter the 
  5581.  workstation where he is working. When the list is kept in an external file, 
  5582.  the administrator sets if the contents are to be defined by him or by the 
  5583.  users. 
  5584.  
  5585.  Dynamic folders are suitable for 
  5586.  
  5587.      allowing users to have a personal folder, where they add the objects they 
  5588.       choose. 
  5589.  
  5590.      allowing users to have a personal startup folder, where they add the 
  5591.       objects that they want to be opened on logon. 
  5592.  
  5593.      having startup folders defined by the administrator. 
  5594.  
  5595.      having workstation dependant folders, where the administrator defines 
  5596.       contents that match different workstation configurations. 
  5597.  
  5598.      having folders with their contents defined by a set of users in the LAN. 
  5599.  
  5600.  Since dynamic folders create shadows of objects, the objects that have to be 
  5601.  shadowed must be available in the workstation where the folders are created. 
  5602.  
  5603.  A dynamic folder is assigned to a personalization profile or model by dropping 
  5604.  a dynamic folder model on the personalization editor's lower container. 
  5605.  
  5606.  
  5607. ΓòÉΓòÉΓòÉ 7.2.2. Personalization profiles and models ΓòÉΓòÉΓòÉ
  5608.  
  5609. The personalization profiles specify 
  5610.  
  5611.      the dynamic folders that will be created on logon 
  5612.  
  5613.      the folders that will act as memory folders on logon. 
  5614.  
  5615.  The personalization profiles (created through the object model Edy_Per.ini) 
  5616.  may contain information unique to the user, and they are stored by SecureEntry 
  5617.  when the user logs off. Administrators can only define personalization 
  5618.  profiles on a user basis, not on a group basis or in the NOUSER folder. If 
  5619.  this is done, the profile will be taken as a model for all users as they log 
  5620.  on in order to create their specific personalization profile. 
  5621.  
  5622.  The personalization models (created through the object model Edy_MPer.ini) 
  5623.  have the same format as the personalization profiles, but do not contain any 
  5624.  user dependant information. They can be used by administrators to dynamically 
  5625.  create or update personalization profiles. Personalization models can be 
  5626.  defined on a group basis. 
  5627.  
  5628.  A default personalization model can be placed in the NOUSER folder. The name 
  5629.  of the default personalization mode has to be EDYMPER.INI. 
  5630.  
  5631.  When a personalization model is available, either because it has been assigned 
  5632.  to the user or to the user's group, or because it is placed in the NOUSER 
  5633.  folder, the user's personalization file is updated with the definitions of the 
  5634.  personalization model: 
  5635.  
  5636.      if the user does not have a personalization profile, a personalization 
  5637.       profile will be created with the definitions of the personalization 
  5638.       model. The new personalization profile will be assigned to the user on 
  5639.       logoff. 
  5640.  
  5641.      any memory or dynamic folders defined by the profile that are not defined 
  5642.       by the model will be deleted from the profile. 
  5643.  
  5644.      any memory or dynamic folders defined by the model that are not defined 
  5645.       by the profile will be added to the profile. 
  5646.  
  5647.      any dynamic folders defined by the model that are also defined by the 
  5648.       profile will have their settings updated with the information in the 
  5649.       model, but will keep the contents stored in the profile. 
  5650.  
  5651.  
  5652. ΓòÉΓòÉΓòÉ 7.2.3. Memory folders ΓòÉΓòÉΓòÉ
  5653.  
  5654. When a folder is defined to act as a memory folder in the user's 
  5655. personalization profile, any changes that the user performs on the folder's 
  5656. layout is stored in the personalization profile, and applied to the folder 
  5657. whenever the user logs on to the same or another workstation. The layout 
  5658. information that is stored and applied includes 
  5659.  
  5660.      window position. 
  5661.  
  5662.      contents positions. 
  5663.  
  5664.      view attributes (container attributes and fonts). 
  5665.  
  5666.  Folders can only be defined to act as memory folders when the have an object 
  5667.  ID defined. 
  5668.  
  5669.  
  5670. ΓòÉΓòÉΓòÉ 7.2.4. Lists of shadows ΓòÉΓòÉΓòÉ
  5671.  
  5672. List of shadows files are used to store the contents of dynamic folders, and to 
  5673. define the startup process (EdyStart object within the NOUSER folder). 
  5674.  
  5675. List of shadows files can also be used when editing dynamic folder models. 
  5676.  
  5677. List of shadow files can be viewed and edited with the List of shadows editor 
  5678. or from the Contents page of dynamic folder models. 
  5679.  
  5680. Shadows can be added to the list by dropping them on the container, and deleted 
  5681. by using their popup menu. 
  5682.  
  5683.  
  5684. ΓòÉΓòÉΓòÉ 7.3. The Hooked objects component ΓòÉΓòÉΓòÉ
  5685.  
  5686. The hooked objects component allows you to create a security profile where you 
  5687. specify which of the desktop's objects to establish a hook over. This means, 
  5688. basically, that you can get an external program called whenever a given object 
  5689. is opened or closed. This external program, in the case of object open event, 
  5690. can optionally decide whether to honor or not honor the open request, thus 
  5691. making it extremely easy to configure a protection scheme based on one time 
  5692. passwords request for program or folder objects. The only requirement that 
  5693. hooked objects must have is that they have to be objects with an assigned 
  5694. objectID. 
  5695.  
  5696. Within this component's workbench, SecureEntry provides a sample hook program 
  5697. that implements a reasonably safe one time password algorithm, that depends on 
  5698. the institution name and the date/time, so that just by drag and drop you can 
  5699. configure an object to be opened only if that password is given. The password 
  5700. itself can be retrieved by running the one time password generator by a 
  5701. SecureEntry administrator which is running SecureEntry in another machine of 
  5702. the same institution. 
  5703.  
  5704. In order to establish hooks for a given component, you should create a profile 
  5705. of this component's type, by dragging one instance from the supplied template 
  5706. object. Then edit it by dropping the profile object into the editor. Refer to 
  5707. the help information of the editor program in order to configure a given hook. 
  5708.  
  5709. As usual, and after you have established the desired hooks, you can assign the 
  5710. profile to users, groups, or as machine default by putting it in the NOUSER 
  5711. directory within the SecureEntry path. 
  5712.  
  5713.      The one time password utilities 
  5714.  
  5715.      One Time Password Generation 
  5716.  
  5717.      One Time Password Verification 
  5718.  
  5719.      Default OTP generation/verification 
  5720.  
  5721.  
  5722. ΓòÉΓòÉΓòÉ 7.3.1. The one time password utilities ΓòÉΓòÉΓòÉ
  5723.  
  5724. This utility allows you to work with one time passwords bound to particular 
  5725. <date,time> pairs. 
  5726.  
  5727. The generation utility, edyotpg.exe, located in the <sgm_shell>\exec directory, 
  5728. takes as input a <date,time> pair and outputs the password bound to that 
  5729. <date,time> pair. 
  5730.  
  5731. The verification utility, edyotpv.exe, located in the <sgm_shell>\exec 
  5732. directory, takes as input a password and checks it against the current 
  5733. <date,time> pair. If successful it returns zero, otherwise it returns 1. 
  5734.  
  5735. You can supply to both utilities your own generation/verification routines or 
  5736. work with the default ones incorporated in them. 
  5737.  
  5738. One time passwords are useful to allow access to restricted resources under 
  5739. administration supervision: when the user attempts to access the resource 
  5740. edyotpv.exe is executed, the user then must contact an administrator to get the 
  5741. one time password bound to the <date,time> pair edyotpv.exe is asking for, the 
  5742. administrator then runs the edyotpg.exe utility with the <date,time> pair the 
  5743. user has told him and gets the one time password that the user needs, finally 
  5744. he tells it to the user in some secure way. Of course, all this works out only 
  5745. if users cannot modify the system's date and time. 
  5746.  
  5747.  
  5748. ΓòÉΓòÉΓòÉ 7.3.2. One Time Password Generation ΓòÉΓòÉΓòÉ
  5749.  
  5750. This program is designed to take as input a date (dd/mm/yyyy) and a time 
  5751. (hh:mm:ss) and generate as output a password that should be valid only for this 
  5752. particular date and time ,or seed string. 
  5753.  
  5754.  
  5755.         edyotpg [/G<pathname>] [/K] [/R(S|D|M|H)] [/M]
  5756.  
  5757.  <pathname> Is the pathname of your OTP optional generation routine. 
  5758.  
  5759.  /K        Use this parameter to work with reference seed strings instead of 
  5760.            date/time pairs. 
  5761.  
  5762.  /R        Set resolution to (S)econds, (D)ays, (M)inutes, or (H)ours 
  5763.  
  5764.  /M        Force dialog sysmodality 
  5765.  
  5766.  Your own one time password generation routine must follow some guidelines to 
  5767.  properly interface to edyotpg.exe: 
  5768.  
  5769.       It must be an executable file. (.exe) 
  5770.  
  5771.       The first two command line arguments must be two strings, the first one 
  5772.       being the date with the dd/mm/yyyy format and the second one the time 
  5773.       with the hh:mm:ss format. In the case that reference seeds are used, then 
  5774.       only one parameter, containing the seed (6 characters), will be passed. 
  5775.  
  5776.       It must return 0 if the generation was successful and something different 
  5777.       from zero otherwise. 
  5778.  
  5779.       The generated password must be written to standard output and must be the 
  5780.       first program's output to standard output. 
  5781.  
  5782.       All other messages, such as error messages, must be written to standard 
  5783.       output if you want edyotpg.exe to show them when things go wrong, that 
  5784.       is, when your routine returns something different from zero. 
  5785.  
  5786.  
  5787. ΓòÉΓòÉΓòÉ 7.3.3. One Time Password Verification ΓòÉΓòÉΓòÉ
  5788.  
  5789. This program is designed to check the password entered by the user against the 
  5790. current date and time, and, if successful, execute a program that was specified 
  5791. as a command line argument with the '/E' modifier. The other command line 
  5792. arguments are used to change the behavior of the program, as follows: 
  5793.  
  5794.  
  5795.    edyotpv [/E<pathname>] [/ID<string>] [/Dn(S|D|M|H)] [/K] [/R(S|D|M|H)] [/M]
  5796.  
  5797.  <pathname> is the program's pathname you want to execute on success. 
  5798.  
  5799.  /ID<string> Replace string with an instance identifier, in the case you have 
  5800.            more than one resource protected through this program in a given 
  5801.            machine. 
  5802.  
  5803.  /DnX      Password valid duration time. If this parameter is specified, once a 
  5804.            valid password has been entered, this password will be considered 
  5805.            valid for the same ID instance during the given timeframe. i.e, /D3H 
  5806.            means 'keep passwords valid during 3 hours'. 
  5807.  
  5808.  /K        Use this parameter to work with reference seed strings instead of 
  5809.            date/time pairs. 
  5810.  
  5811.  /R        Set resolution to (S)econds, (D)ays, (M)inutes, or (H)ours 
  5812.  
  5813.  /M        Force dialog sysmodality. Use this option if you want to ask for a 
  5814.            OTP password through a user exit during session flow 
  5815.            (logon/logoff/unlock). 
  5816.  
  5817.  Note: if no command line (/E) argument is specified then no program is 
  5818.  executed. 
  5819.  
  5820.  If the password is validated edyotpv.exe returns a 0, otherwise returns a 1 
  5821.  
  5822.  You can supply your own verification routine by naming it edyotpv.exe and 
  5823.  locating it in the <sgm_shell>\nouser directory, edyotpv.exe looks for this 
  5824.  file and if it exists then uses it to validate the password. 
  5825.  
  5826.  Your validation routine must follow some guidelines to properly interface with 
  5827.  edyotpv.exe: 
  5828.  
  5829.      It must be named edyotpv.exe or edyotpv.cmd and be located in the 
  5830.       <sgm_shell>\nouser directory. 
  5831.  
  5832.      The first three command line arguments must be two strings, the first one 
  5833.       being the date with the dd/mm/yyyy format, the second one the time with 
  5834.       the hh:mm:ss format, and the third one the password in uppercase, to be 
  5835.       validated. In the case that reference seeds are used, then instead of the 
  5836.       three parameters, only two will be passed (seed (6 characters) and 
  5837.       password to validate). 
  5838.  
  5839.      It must return 0 if password was validated and something different from 
  5840.       zero otherwise. 
  5841.  
  5842.      All error messages must be written to standard output if you want 
  5843.       edyotpv.exe to show them whenever the password entered by the user is not 
  5844.       valid. (if it is valid, edyotpv.exe will not show anything) 
  5845.  
  5846.  
  5847. ΓòÉΓòÉΓòÉ 7.3.4. Default OTP generation/verification ΓòÉΓòÉΓòÉ
  5848.  
  5849. The default OTP generation/verification routines work with six character long 
  5850. passwords over the alphabet ( {'A'..'Z'} - {'P','T','V','N'} ) U {'0'..'9'}. 
  5851. The characters 'P','T','V','N' are excluded for phonetical reasons and the 
  5852. default validation routine treats the characters 'V' and 'P' as the character 
  5853. 'B',  the character 'T' as the character 'D', and the character 'N' as the 
  5854. character 'M'. This is to prevent possible phonetical misunderstanding in the 
  5855. oral communication of one time passwords between the administrator and the 
  5856. final user. 
  5857.  
  5858.  
  5859. ΓòÉΓòÉΓòÉ 7.4. The Launchpad component ΓòÉΓòÉΓòÉ
  5860.  
  5861. The launchpad component allows you to create launchpad security profiles which 
  5862. contain the necessary information to recreate a given launchpad with some 
  5863. special features once the component is activated with a given profile. This is 
  5864. very useful in order to create custom launchpads for your users depending on 
  5865. their needs or requirements. 
  5866.  
  5867.  
  5868.  
  5869. In order to work with this component, please open the Launchpad Workbench 
  5870. folder located in the SecureEntry Workbench folder. 
  5871.  
  5872. In order to create a security profile for this component, drag one from the 
  5873. component profile template object (named EDYPAD.INI). 
  5874.  
  5875. To modify a profile of this type, you can drop it into the 'Launchpad 
  5876. Restrictions Editor' program object, and immediately a launchpad will appear in 
  5877. editing mode. You can distinguish this one from your regular launchpad by the 
  5878. fact that the one being edited has, in its popup menu, the entries 'Save' and 
  5879. 'Close', and a different background color (white). Edit the launchpad as you 
  5880. would do normally (drag and drop), and after that select the 'Save' and/or 
  5881. 'Close' as necessary. Note that you have some settings available for this 
  5882. object which are specific SecureEntry features : 
  5883.  
  5884.      Whether to allow moving of the launchpad. 
  5885.  
  5886.      Initial position of the launchpad. 
  5887.  
  5888.      Whether to deactivate some or all of the action buttons. 
  5889.  
  5890.  In order to test a given Launchpad profile, just drop it into the 'SELP 
  5891.  profile tester' program object. 
  5892.  
  5893.  Once the launchpad is customized, drop its profile into the appropriate place 
  5894.  (NOUSER folder or administration tool) to assign it to a given user, group or 
  5895.  machine configuration. 
  5896.  
  5897.  
  5898. ΓòÉΓòÉΓòÉ 7.5. The WarpCenter component ΓòÉΓòÉΓòÉ
  5899.  
  5900. The WarpCenter component allows you to create WarpCenter security profiles 
  5901. which contain the necessary information to customize the WarpCenter with some 
  5902. special features once the component is activated with a given profile. This is 
  5903. very useful in order to create customized WarpCenters for your users depending 
  5904. on their needs or requirements. 
  5905.  
  5906.  
  5907.  
  5908. In order to work with this component, please open the WarpCenter Workbench 
  5909. folder located in the SecureEntry Workbench folder. 
  5910.  
  5911. In order to create a security profile for this component, drag one from the 
  5912. component profile template object (named EDYSC.INI). 
  5913.  
  5914. To modify a profile of this type, you can drop it into the 'WarpCenter 
  5915. Restrictions Editor' program object, and immediately a WarpCenter will appear 
  5916. in edition mode. You can distinguish this one from your regular WarpCenter by 
  5917. the fact that the one being edited is enclosed in a white border and its popup 
  5918. menu has specific customization entries. 
  5919.  
  5920. Edit the WarpCenter as you would do normally (properties,drag and drop, ...), 
  5921. and after that select the 'Save' or 'Close' as necessary. Note that you have 
  5922. some settings available for this object which are specific SecureEntry 
  5923. features: 
  5924.  
  5925.      Whether to use the OS2 standard window list or the WarpCenter's window 
  5926.       list. 
  5927.  
  5928.      Enable/Disable the WarpCenter's FIND button and the popup menu's FIND 
  5929.       entry of the objects contained in the WarpCenter. 
  5930.  
  5931.      Enable/Disable the popup menu's ORIGINAL entry of the objects contained 
  5932.       in the WarpCenter. 
  5933.  
  5934.      Enable/Disable the popup menu's DELETE entry of the objects contained in 
  5935.       the WarpCenter. 
  5936.  
  5937.      Whether to allow for the shutdown icon in the warpcenter to have its 
  5938.       functionality changed to logoff. 
  5939.  
  5940.  Note also that the original WarpCenter's lockup and shutdown procedures have 
  5941.  been substituted by the SENTRY's lockup and shutdown procedures. 
  5942.  
  5943.  In order to test a given WarpCenter profile, just drop it into the 'WarpCenter 
  5944.  profile tester' program object, a green border will enclose the WarpCenter 
  5945.  while the profile is activating and will disappear as soon as activation ends. 
  5946.  
  5947.  Once the WarpCenter is customized, drop its profile into the appropriate place 
  5948.  (NOUSER folder or administration tool) to assign it to a given user, group or 
  5949.  machine configuration. 
  5950.  
  5951.      New Setup Strings 
  5952.  
  5953.      WarpCenter Environment Variables 
  5954.  
  5955.  
  5956. ΓòÉΓòÉΓòÉ 7.5.1. New Setup Strings ΓòÉΓòÉΓòÉ
  5957.  
  5958. These are the new setup strings defined for the SmartCenter class. They will 
  5959. only work on a SmartCenter class instance which has <WP_WARPCENTER> as its 
  5960. object ID. 
  5961.  
  5962.  EDYSCOPEN=YES 
  5963.        Opens the WarpCenter's default view (same as double-click). 
  5964.  
  5965.  EDYSCCLOSE=YES 
  5966.        Closes the WarpCenter's default view. 
  5967.  
  5968.  EDYSCDELETETRAY=tray number 
  5969.        Deletes the specified tray. 
  5970.  
  5971.  EDYSCTRAYNAME=tray name 
  5972.        Renames the current tray. 
  5973.  
  5974.  EDYSCCONFIRMSHUTDOWN={YES|NO} 
  5975.        Enable/disable shutdown confirmation. 
  5976.  
  5977.  EDYSCLARGEICONS={YES|NO} 
  5978.        Use large or small icons. 
  5979.  
  5980.  EDYSCDISPLAYALWAYS={YES|NO} 
  5981.        Display the WarpCenter only when mouse is over it or always. 
  5982.  
  5983.  EDYSCFLOATONTOP={YES|NO} 
  5984.        Makes WarpCenter to float (or not) on top of maximized windows. 
  5985.  
  5986.  EDYSCTOPPOSITION={YES|NO} 
  5987.        Display the WarpCenter at the top or bottom of the screen. 
  5988.  
  5989.  EDYSCBUBBLEHELP={YES|NO} 
  5990.        Enable/disable the WarpCenter's bubble help. 
  5991.  
  5992.  ADDTRAY=tray name [,object ID,...] 
  5993.        Adds a new tray with the specified name containing the specified 
  5994.        objects. 
  5995.  
  5996.  
  5997. ΓòÉΓòÉΓòÉ 7.5.2. Environment Variables ΓòÉΓòÉΓòÉ
  5998.  
  5999. These are environment variables which can be defined in your CONFIG.SYS file to 
  6000. modify some of the WarpCenter's properties: 
  6001.  
  6002.  SCKillFeatureEnabled=YES 
  6003.        Allows to kill processes from the WarpCenter's window list when 
  6004.        selecting it while pressing the Ctrl key. This variable works only if 
  6005.        the WarpCenter is customized to use its original window list procedure. 
  6006.  
  6007.  SCFindUtility=executable pathname 
  6008.        The specified executable is started whenever the WarpCenter's FIND 
  6009.        button is selected. This variable works only if the WarpCenter is 
  6010.        customized with its FIND button enabled. 
  6011.  
  6012.  SCUsePrettyClock=YES 
  6013.        The WarpCenter's displays a more "pretty" clock than the default one. 
  6014.  
  6015.  SCCanbeNuked=1 
  6016.        Allows to delete SmartCenter class instances. This variable works only 
  6017.        if SGM_EDYSC_DISABLE is defined. 
  6018.  
  6019.  SGM_EDYSC_DISABLE=YES 
  6020.        Disables all the WarpCenter's SENTRY features leaving it as originally 
  6021.        defined. 
  6022.  
  6023.  
  6024. ΓòÉΓòÉΓòÉ 7.6. The shortcuts component ΓòÉΓòÉΓòÉ
  6025.  
  6026. The shortcuts component allows you to define keyboard and mouse combinations 
  6027. which, when activated, are able to open a given object. 
  6028.  
  6029. In order to create a shortcuts profile, obtain one from the template object 
  6030. located within the shortcuts workbench, and drop it into the editor, then 
  6031. follow the editor's help for further advice. 
  6032.  
  6033. Once the profile has been created, you can assign it to a given user or group 
  6034. by following the standard SecureEntry administration procedures. 
  6035.  
  6036. Special care has to be taken as to not define keyboard combinations which are 
  6037. already used by the system for other purposes. 
  6038.  
  6039.  
  6040. ΓòÉΓòÉΓòÉ 7.7. Public Applications Component ΓòÉΓòÉΓòÉ
  6041.  
  6042. The public applications component allows for handling, in LAN Server 
  6043. environments, the definition of its public applications. Furthermore, you can 
  6044. use this component to define a SecureEntry profile containing the LAN Server 
  6045. domain public applications that must be shown in a user's Network Applications 
  6046. folder as soon as she/he logs on the system. 
  6047.  
  6048. In order to work with this component, open the Public Applications Workbench, 
  6049. located inside the SecureEntry Workbench. 
  6050.  
  6051. You can create a profile for this component by dragging a copy from its 
  6052. component profile template (EDYROAM.INI) and dropping it. 
  6053.  
  6054. In order to modify a public applications profile, drag and drop it into the 
  6055. Public Applications Editor, or just double click it. Make the necessary changes 
  6056. and then save the modified profile. Follow the editor's help for further 
  6057. advice. 
  6058.  
  6059. The editor may be also useful to configure, not only the set of public 
  6060. applications that must appear in the user's Network Applications folder at 
  6061. logon time, but the public applications defined on the domain controller of the 
  6062. LAN Server domain where you are logged on. 
  6063.  
  6064. You must beware of the following points: 
  6065.  
  6066.      The editor of this component obtains the name of the domain controller 
  6067.       the administrator user is logged on. This means that if the user has done 
  6068.       a SecureEntry logon from the domain controller to another domain, and 
  6069.       then he manually logs off, then he will be able to continue administering 
  6070.       the public applications of the domain controller he physically is at. 
  6071.  
  6072.      The editor of this component handles two lists of applications: the list 
  6073.       on the left side contains the definitions of the public applications to 
  6074.       assign to a SecureEntry profile and it uses the definitions of the 
  6075.       existing resources in the repository SecureEntry. The list on the right 
  6076.       side contains the definitions of the public applications that must reside 
  6077.       in the domain controller. This means, in corporate environments using 
  6078.       UCM, that the resources, i.e., the alias, available may differ in both 
  6079.       lists. 
  6080.  
  6081.      The OS/2 public applications edition notepad contains the tab Parameters. 
  6082.       You can provide information in this tab, no matter the environment you 
  6083.       are working in. However, the data you enter will be effective only if you 
  6084.       are administering public applications for WorkSpace On-Demand 
  6085.       environments. Refer to WorkSpace On-Demand considerations for more 
  6086.       information. 
  6087.  
  6088.  In order to verify the profile behavior, drag and drop it on the object Test 
  6089.  Public Applications, or select the option test through the editor menu bar. 
  6090.  The defined profile will be activated, and the Network Applications folder 
  6091.  will be rebuilt. If the test is done from the editor, then the contents of the 
  6092.  list of public applications defined on the domain controller will be 
  6093.  refreshed. Otherwise you will have to select the Refresh option from the 
  6094.  pull-down menu related to the option Domain of the menu bar of the editor. 
  6095.  
  6096.  Once configured, associate the profile to the desired user or group, by 
  6097.  dragging and dropping it into the adequate container of the users and groups 
  6098.  administration tool, or establish it as the default for the system, copying it 
  6099.  with its default name (EDYROAM.INI) to the NOUSER folder. 
  6100.  
  6101.  When a user logs on the system, its related profile will be activated, yet his 
  6102.  or his SecureEntry group's if his does not exist. If the user does not have 
  6103.  any defined public applications profile, then the profile residing in the 
  6104.  NOUSER folder will be activated. If the NOUSER folder does not contain any 
  6105.  public applications profile, then the set of public applications the user 
  6106.  currently has will be preserved. 
  6107.  
  6108.  Take into account that a GUEST SecureEntry logon does not imply the activation 
  6109.  of the EDYROAM.INI profile residing in the folder NOUSER, if it exists. 
  6110.  
  6111.      Description of the modules and the API 
  6112.  
  6113.      The Log File 
  6114.  
  6115.      WorkSpace On-Demand considerations 
  6116.  
  6117.      WorkSpace On-Demand specific parameters for public applications 
  6118.  
  6119.      Public Applications object IDs 
  6120.  
  6121.  
  6122. ΓòÉΓòÉΓòÉ 7.7.1. Description of the modules and the API ΓòÉΓòÉΓòÉ
  6123.  
  6124. The names of this component include de word ROAM, since the set of definitions 
  6125. of public applications assigned to a user or group of users travel to the 
  6126. workstation the user uses to log on. This is especially important in corporate 
  6127. environments, where the users administration is centralized through UCM. 
  6128.  
  6129. What follows is the description of the modules integrated in this component: 
  6130.  
  6131.      EDYROAME 
  6132.  
  6133.       This is the program editor of profiles. It accepts the following syntax: 
  6134.  
  6135.  
  6136.                  EDYROAME.EXE [Profile]
  6137.  
  6138.       Where Profile is the path and file name of the desired profile. The 
  6139.       editor allows for testing a profile directly. 
  6140.  
  6141.      EDYROAMT 
  6142.  
  6143.       This is the program activator of profiles. It accepts the following 
  6144.       syntax: 
  6145.  
  6146.  
  6147.                  EDYROAMT.EXE /F[Profile] [/T]
  6148.  
  6149.         -  /FProfile activates the roaming desktop defined in Profile. If 
  6150.            Profile does not exist, the set of user's current public 
  6151.            applications will be preserved. 
  6152.  
  6153.         -  /F activates the roaming desktop EDYROAM.INI defined in the NOUSER. 
  6154.            If the profile does not exist, the set of user's current public 
  6155.            applications will be preserved. 
  6156.  
  6157.         -  /T indicates that the roaming desktop must be activated in test 
  6158.            mode. This parameter restores back to the user the set of public 
  6159.            applications she/he had before the test. 
  6160.  
  6161.      Public applications component interface 
  6162.  
  6163.       The component exports the following routine, defined in EDYROAM.H. The 
  6164.       routine executes correctly if it returns zero; otherwise it returns the 
  6165.       gotten error: 
  6166.  
  6167.  
  6168.               APIRET _System SetRoamingDesktop(PSZ pszFileName, BOOL Testing);
  6169.  
  6170.            Activates the user Roaming desktop defined in pszFileName. If 
  6171.            pszFileName contents is empty, then any defined Public Application 
  6172.            assigned to current user is deleted. 
  6173.  
  6174.            If pszFileName points to "", then NOUSER ini file will be handled. 
  6175.  
  6176.            If the file does not exist, then current user Public Applications 
  6177.            will be preserved. 
  6178.  
  6179.            The parameter Testing must state whether or not doing a real logon 
  6180.            (FALSE) or doing a profile test (TRUE). 
  6181.  
  6182.  
  6183. ΓòÉΓòÉΓòÉ 7.7.2. The Log File ΓòÉΓòÉΓòÉ
  6184.  
  6185. The log file takes the name EDYROAM.LOG and resides in the path specified by 
  6186. the environment variable SGM_ROAM_LOGPATH. This file contains the errors and 
  6187. warnings found by the component during its execution. 
  6188.  
  6189.  
  6190.    Date      Time     Program    Severity   Error           Explanation
  6191. ---------- -------- ------------ -------- ---------- --------------------------
  6192. 29/09/1998 16:03:01 EDYROAME.EXE ERROR    0X0000000D Could not determine logon domain.
  6193.                                                      Probably there's no user logged on.
  6194. 29/09/1998 16:04:23 EDYROAME.EXE WARNING  0X00000000 NetServerEnum2 returned 0 entries.
  6195.                                                      Retrying with NetGetDCName.
  6196. 29/09/1998 16:05:48 EDYROAME.EXE ERROR    0X00000015 DosQueryPathInfo: could not get
  6197.                                                      file information about "A:\NOALIAS.INI".
  6198. 29/09/1998 16:06:32 EDYROAME.EXE ERROR    0X00000ADF NetAliasGetInfo: the alias "ARBRE"
  6199.                                                      is not defined in the Domain Controller.
  6200.  
  6201. This sample shows that the public applications editor got three errors and one 
  6202. warning during its execution. 
  6203.  
  6204. The first error states that the domain against which the logon was done could 
  6205. not be determined and suggests that probably a non-SecureEntry manual logoff 
  6206. was done. The OS/2 error 0X0000000D was returned to the editor, meaning that 
  6207. Data is invalid. 
  6208.  
  6209. The only existing warning states that a LAN Server API returned and error and 
  6210. that an alternative API was used. Since it was a warning, no error was returned 
  6211. to the public applications editor. 
  6212.  
  6213. Remember that you can control the size of the SecureEntry log files, as well as 
  6214. any other ASCII file by using the EDYLOGFS utility. 
  6215.  
  6216.  
  6217. ΓòÉΓòÉΓòÉ 7.7.3. WorkSpace On-Demand considerations ΓòÉΓòÉΓòÉ
  6218.  
  6219. Like with any other SecureEntry component, you can administer the set of public 
  6220. applications to assign to a user or group from any workstation. However, if you 
  6221. are administering or testing public applications with parameters from a non 
  6222. WorkSpace On-Demand administrator workstation, then the update of the 
  6223. parameters of the public applications will not succeed in the WorkSpace 
  6224. On-Demand server if there's not an administrator user logged on in the 
  6225. mentioned server. 
  6226.  
  6227. The best suggestion is to administer from the WorkSpace On-Demand 
  6228. Administration Client, or from the WorkSpace On-Demand Server -if the LAN 
  6229. Server administration tools were installed there-, if you must administer 
  6230. public applications with parameters. 
  6231.  
  6232. If a user, yet administrator or not, having assigned a set of public 
  6233. applications with parameters logs on in a non WorkSpace On-Demand workstation, 
  6234. the possible update of the public applications parameters will neither succeed 
  6235. in the WorkSpace On-Demand server if there's not an administrator user logged 
  6236. on in the mentioned server. 
  6237.  
  6238. Notice that, in this case, the folder of public applications assigned to the 
  6239. user will remain containing the assigned applications, since the parameters of 
  6240. the public applications are meaningless in these workstations. 
  6241.  
  6242.  
  6243. ΓòÉΓòÉΓòÉ 7.7.4. WorkSpace On-Demand specific parameters for public applications ΓòÉΓòÉΓòÉ
  6244.  
  6245. What follows is the list of WorkSpace On-Demand specific parameters that may be 
  6246. helpful when configuring public applications: 
  6247.  
  6248.      WSOD_LAUNCH_MINIMIZED. Assign the value 1 to this environment variable to 
  6249.       make the application to start minimized. 
  6250.  
  6251.      WSOD_LAUNCH_NOCLOSE. Assign the value 1 to this environment variable to 
  6252.       make the DOS or OS/2 VIO window to not close when the application ends. 
  6253.       This may be useful when having to determine the cause of a problem with 
  6254.       the application definition. 
  6255.  
  6256.      WSOD_LAUNCH_SESSION. This parameter gives the administrator full control 
  6257.       over the type of session in which WorkSpace On-Demand will launch the 
  6258.       application. The application may not work at all if you choose the wrong 
  6259.       type of session. This parameter may take the following values: 
  6260.  
  6261.         -  1. Full-screen OS/2 
  6262.  
  6263.         -  2. Windowed OS/2 
  6264.  
  6265.         -  3. OS/2 PM 
  6266.  
  6267.         -  4. Full-screen DOS 
  6268.  
  6269.         -  7. Windowed DOS 
  6270.  
  6271.         -  10. WinOS2 Real Mode 
  6272.  
  6273.         -  12. WinOS2 Auto 
  6274.  
  6275.         -  15. WinOS2 Standard, seamless, separate VDM 
  6276.  
  6277.         -  16. WinOS2 Standard, seamless, common VDM 
  6278.  
  6279.         -  17. WinOS2 Enhanced, seamless, separate VDM 
  6280.  
  6281.         -  18. WinOS2 Enhanced, seamless, common VDM 
  6282.  
  6283.         -  19. WinOS2 Enhanced, full-screen 
  6284.  
  6285.         -  20. WinOS2 Standard, full-screen 
  6286.  
  6287.      WSOD_LAUNCH_NODROP. Assign the value 1 to this environment variable to 
  6288.       signal the application launcher to leave the network resources attached. 
  6289.  
  6290.      NCC_SETUP_POST. This environment variable allows to provide setup strings 
  6291.       to the application. The parameter value can consist of any of the setup 
  6292.       strings specified below. Each setup string consists of a key name, 
  6293.       followed immediately by an equal ('=') sign and a value. Multiple setup 
  6294.       strings can be passed in the environment variable by separating each 
  6295.       setup string with a semicolon (';'). Some of the most useful setup 
  6296.       strings are: 
  6297.  
  6298.         -  CCVIEW. It can take the values DEFAULT, YES or NO. 
  6299.  
  6300.         -  ICONFILE. It must take the file name that sets the object's icon. 
  6301.  
  6302.         -  ICONPOS. It must take the percentage coordinates pair (x,y) where 
  6303.            the object must be placed in the desktop. 
  6304.  
  6305.         -  ICONRESOURCE. It must take the pair (id,module) that designates the 
  6306.            resource Id and the module name that contains the object's icon. 
  6307.  
  6308.       For example, to make the object to initially appear at ten percent from 
  6309.       the origin of the coordinates, assign the following value to the variable 
  6310.       NCC_SETUP_POST : 
  6311.  
  6312.                 ICONPOS=10,10;
  6313.  
  6314.  If you are configuring public applications to be executed on WorkSpace 
  6315.  On-Demand 2.0 requesters, then you can also use the following parameters: 
  6316.  
  6317.      NCC_PREFITS. Assign a FIT file name to this environment variable. The FIT 
  6318.       file entries contained within this file are preppended to the default 
  6319.       user FIT file entries for the logged on user. Use this file to force FIT 
  6320.       file entries to be found before similar entries in the default user FIT 
  6321.       file, or to introduce new FIT file entries. 
  6322.  
  6323.      NCC_POSTFITS. Assign a FIT file name to this environment variable. The 
  6324.       FIT file entries contained within this file are appended to the default 
  6325.       user FIT file entries for the logged on user. Use this file to force FIT 
  6326.       file entries to be after similar entries in the default user FIT file, or 
  6327.       to introduce new FIT file entries. 
  6328.  
  6329.      NCC_FOLDER. This environment variable allows to provide setup strings to 
  6330.       the application. Use this parameter to place a program object in a folder 
  6331.       on the Desktop. You can use any WPFolder and WPObject setup strings. For 
  6332.       example, to make the application to reside inside the Managers folder, 
  6333.       assign the following value to the variable NCC_FOLDER : 
  6334.  
  6335.                 NCC_FOLDER=TITLE=Managers;
  6336.  
  6337.       Since WorkSpace On-Demand 2.0 allows for multilevel folders, you can use 
  6338.       the NCC_CHILD_SETUP setup string, which is part of the NCC_FOLDER 
  6339.       parameter, to specify a child folder. For example, if NCC_FOLDER 
  6340.       contained the following setup string: 
  6341.  
  6342.                 NCC_FOLDER=TITLE=Secretaries;NCC_CHILD_SETUP=BOOKKEEP;
  6343.  
  6344.       and another parameter BOOKKEEP also existed and contained the following 
  6345.       value: 
  6346.  
  6347.                 BOOKKEEP=TITLE=BookKeeping;
  6348.  
  6349.       then a folder called Secretaries would be created on the Desktop, a 
  6350.       folder called BookKeeping would be created in the Secretaries folder, and 
  6351.       the program object for the application would be created in the 
  6352.       BookKeeping folder. 
  6353.  
  6354.  To get more information on WorkSpace On-Demand specific parameters for public 
  6355.  applications, refer to the publications WorkSpace On-Demand HandBook and 
  6356.  WorkSpace On-Demand Administrator's Guide. 
  6357.  
  6358.  To get more information on setup strings, refer to the publication Workplace 
  6359.  Shell Programming Reference. 
  6360.  
  6361.  
  6362. ΓòÉΓòÉΓòÉ 7.7.5. Public Applications object IDs ΓòÉΓòÉΓòÉ
  6363.  
  6364. In conventional LAN Server environments, public applications assigned to a user 
  6365. are located in the Network Applications folder. The object ID of this folder is 
  6366. <\NETAPPS\NETAPPFLDR>. Each program object inside this folder is created with 
  6367. the object ID <\ServerName\ApplicationId>, where ServerName is the the server 
  6368. name of the user logon domain, and ApplicationId is the name that the public 
  6369. application was created with. 
  6370.  
  6371. In WorkSpace On-Demand environments, each program object related to a public 
  6372. application appearing in the user's desktop has the object ID 
  6373. <NCID_ApplicationId>, where ApplicationId is the name that the public 
  6374. application was created with. 
  6375.  
  6376. Refer to About object IDs to get more information about object IDs. 
  6377.  
  6378.  
  6379. ΓòÉΓòÉΓòÉ 8. Administering users and groups ΓòÉΓòÉΓòÉ
  6380.  
  6381.      Interactive administration 
  6382.  
  6383.      Batch administration 
  6384.  
  6385.  
  6386. ΓòÉΓòÉΓòÉ 8.1. Users and groups interactive administration tool ΓòÉΓòÉΓòÉ
  6387.  
  6388. The Users and groups interactive administration tool allows you to easily 
  6389. manage users and groups for your installation, assign security profiles and 
  6390. edit those once assigned. 
  6391.  
  6392. If you ever want to invoke this utility from the command line, just enter : 
  6393.  
  6394.  
  6395.   EDYSNADM
  6396.  
  6397. The following pages briefly describe the generics of working with this 
  6398. application. Note, however, that a detailed description for each field can be 
  6399. found within the application's help itself. 
  6400.  
  6401. There are several issues to take into account when working with this 
  6402. application : 
  6403.  
  6404.      The 'Lan Server specifics' panels will only display in IBM Lan Server 
  6405.       installed environments. 
  6406.  
  6407.      In the same environment (Lan Server), all Lan Server groups will be 
  6408.       displayed, but and due to the fact that groups and users are defined to 
  6409.       UPM, you have to observe : 
  6410.  
  6411.         -  You can only assign SecureEntry components to SecureEntry groups 
  6412.            (those that start with the letters 'SG'). 
  6413.  
  6414.         -  You can not define first level users, that is, users not belonging 
  6415.            to any group. 
  6416.  
  6417.         -  You can not define groups belonging to other groups. 
  6418.  
  6419.         -  You have more flexibility defining user/group relationships, in the 
  6420.            sense that a given user can belong to more than one group. 
  6421.  
  6422.  The following pages give more detailed information of the different panels 
  6423.  that the application provides: 
  6424.  
  6425.      Startup panel 
  6426.  
  6427.      Group definition panel 
  6428.  
  6429.      User definition panel 
  6430.  
  6431.      Privilege handling 
  6432.  
  6433.      User exits 
  6434.  
  6435.  
  6436. ΓòÉΓòÉΓòÉ 8.1.1. Startup panel ΓòÉΓòÉΓòÉ
  6437.  
  6438. This panel displays the main groups and users defined within your users and 
  6439. groups database, that is, those defined at first level (They have no 'parent' 
  6440. group assigned). You can view the details of any user or group displayed here 
  6441. just by double-clicking on its icon. 
  6442.  
  6443. You can also add, view or delete a new group or user by selecting it if 
  6444. appropriate, and then pressing the appropriate button. 
  6445.  
  6446. To add a new user associated with a given group, open the group panel by 
  6447. double-clicking on its group definition icon, and add the user from that panel. 
  6448. Note that if you are using UCM, adding of a new user requires also that you 
  6449. supply a 'branch name', i.e the branch that the new user belongs to. 
  6450.  
  6451. There is an 'operations' menu within this panel, which allows you, among other 
  6452. things, to directly find a user given his user id. 
  6453.  
  6454. There is an 'options' menu within this panel, which allows you to enable or 
  6455. disable displaying of warning messages that may be reported by the different 
  6456. subsystems. 
  6457.  
  6458. The 'Lan Server' specifics button can be used, under IBM Lan Server 
  6459. environments, to access Lan Server specific data. In this case, from the main 
  6460. panel, it can be used to define ALIAS definitions, as shown by the following 
  6461. panel : 
  6462.  
  6463. In this panel you define the resources, i.e, Lan Server alias, that may be used 
  6464. by your defined users. Refer to the appropriate Lan Server documentation for 
  6465. the meaning of this fields, and also take into account the following : 
  6466.  
  6467.      If you do not give a server name for a given alias, the current server 
  6468.       (where the SecureEntry definitions database reside) will be used. 
  6469.  
  6470.      You can drag and drop alias definitions from/into the resources 
  6471.       container. An alias definition is a text file with the format required to 
  6472.       define a resource through the batch administration tool. This file is 
  6473.       also accepted as a drop source within the groups and users Lan Server 
  6474.       specifics panel, to ease the assignment of such resources. 
  6475.  
  6476.  If you are using UCM, there is an UCM menu where you will be able to define 
  6477.  the dynamic refresh feature for your corporate branches. If you select this 
  6478.  menu you will then be able to choose between one of the three available 
  6479.  options: 
  6480.  
  6481.      Branch Data 
  6482.  
  6483.       Through this panel you will be able to see the branch name as known by 
  6484.       the  UCM Database, the current SecureEntry branch information level and 
  6485.       whether there was an error in the last dynamic refresh operation for this 
  6486.       server. If you don't have the dynamic refresh feature activated, then you 
  6487.       will receive an error. 
  6488.  
  6489.      Policy Refresh 
  6490.  
  6491.       Through this panel you will be able to manage the Corporate refresh 
  6492.       policy customized for all your branches. Also you can manage the 
  6493.       threshold number of branches that will launch the purge process for 
  6494.       obsolete data in the UCM tables once all of them are found to be at a 
  6495.       minimum refresh level. In addition, you will be able to see the active 
  6496.       refresh policy in the UCM administrator workstation (which can differ 
  6497.       from the corporate refresh policy as customized in the UCM Database). 
  6498.  
  6499.      LOG Activity 
  6500.  
  6501.       Through this panel you will be able to activate the UCM LOG feature. If 
  6502.       you activate this feature, then a new UCM LOG table will be updated by 
  6503.       UCM whenever necessary.The only way to delete the obsolete rows in this 
  6504.       table will be through the EDYEXLOG process as explained in the UCM 
  6505.       Administrator's Guide. 
  6506.  
  6507.  
  6508. ΓòÉΓòÉΓòÉ 8.1.2. Group definition panel ΓòÉΓòÉΓòÉ
  6509.  
  6510. Within this panel, you can modify a group definition by adding other groups or 
  6511. users, or assigning SecureEntry security components for the group. There is 
  6512. also the description field which you can use to add a short description to a 
  6513. given group. 
  6514.  
  6515. In order to add, view or delete users or groups, just click on the appropriate 
  6516. button. 
  6517.  
  6518. To add a security component to the group, just drag and drop the file into the 
  6519. component's container. 
  6520.  
  6521. You can also edit a security component by double-clicking on its icon. 
  6522.  
  6523. The 'Lan Server specifics' button can be used here to define resource accesses 
  6524. at a group level, that is, allow users belonging to the group to be able to 
  6525. access the specified resources. The panel looks as follows : 
  6526.  
  6527. Refer to the appropriate Lan Server documentation for the meaning of the 
  6528. different fields displayed by this panel. Also take into account that : 
  6529.  
  6530.      Group logon assignment is not supported directly by Lan Server, but is a 
  6531.       feature implemented and supported within SecureEntry. This basically 
  6532.       means that you will not be able to see those from within the Lan Server 
  6533.       administration tools. 
  6534.  
  6535.      Ensure that resources are available and powered on at administration 
  6536.       time, or you will not be able to see their associations. 
  6537.  
  6538.      The container allows for drag and drop of definition files, with the same 
  6539.       format as that required for batch administration. 
  6540.  
  6541.  
  6542. ΓòÉΓòÉΓòÉ 8.1.3. User definition panel ΓòÉΓòÉΓòÉ
  6543.  
  6544. This panel is very similar to the one for groups definition, allowing you to 
  6545. change the specific data for the user, and optionally assign security 
  6546. components at a user level. 
  6547.  
  6548. To add a security component to the user, just drag and drop the file into the 
  6549. component's container. 
  6550.  
  6551. You can also edit a security component by double-clicking on its icon. 
  6552.  
  6553. The 'Lan Server specifics' button can be used here to define resource accesses 
  6554. at a user level, that is, allow the user to access the specified resources. 
  6555. This panel looks like : 
  6556.  
  6557. Refer to the appropriate Lan Server documentation for the meaning of the 
  6558. different fields displayed by this panel. Also take into account that : 
  6559.  
  6560.      SecureEntry extends the syntax of the home directory specification by 
  6561.       allowing you to leave the server name (MachineName) blank, taking by 
  6562.       default the current server name at assignment time. This is especially 
  6563.       important when working with UCM, facilitating administration and 
  6564.       management. Besides, it attempts to create the directory if not found, 
  6565.       and does an instant access apply to all existing subbdirs when creating 
  6566.       it. So, the syntax for the home directory becomes : 
  6567.  
  6568.                      x:\[MachineName]\y$\path
  6569.       or 
  6570.  
  6571.                      \\[MachineName]\y$\path
  6572.  
  6573.       where x is the drive assigned at logon to the home directory, MachineName 
  6574.       is the server machine name where the home directory resides, (which you 
  6575.       can leave blank to indicate the domain server machine name), y is the 
  6576.       drive within the server, and path is the physical path within that drive. 
  6577.  
  6578.      Ensure that resources are available and powered on at administration 
  6579.       time, or you will not be able to see their associations. 
  6580.  
  6581.      The container allows for drag and drop of definition files, with the same 
  6582.       format as that required for batch administration. 
  6583.  
  6584.  
  6585. ΓòÉΓòÉΓòÉ 8.1.4. Privilege handling ΓòÉΓòÉΓòÉ
  6586.  
  6587. You can set permissions on single administrative operations by defining the 
  6588. administration specific environment variable SGM_ADM_PRIV. The users and groups 
  6589. interactive administration enforces this permissions by automatically disabling 
  6590. the controls that give access to operations to which rights are not held. 
  6591. Anyway, if the user succeeds on requesting an operation to which it has no 
  6592. rights, the operation will not be performed and the user will be prompted with 
  6593. a message box saying that he has not enough rights to perform the operation. 
  6594.  
  6595. For instance, if you set the environment variable SGM_ADM_PRIV to 0xFFFF555F on 
  6596. a particular machine, you're configuring that machine to be able to 
  6597. administrate all existing groups, users and resources, but not to add new ones 
  6598. neither to delete existing ones. 
  6599.  
  6600. Note: to be able to use the users and groups interactive application, the 
  6601. rights 
  6602.  
  6603.       EDYUCM_PRIVILEGE_SUB_VIEW 
  6604.  
  6605.       EDYUCM_PRIVILEGE_USER_GRP_VIEW 
  6606.  
  6607.       EDYUCM_PRIVILEGE_GRP_GRP_VIEW 
  6608.  
  6609.  must be enabled 
  6610.  
  6611.  
  6612. ΓòÉΓòÉΓòÉ 8.1.5. User Exits ΓòÉΓòÉΓòÉ
  6613.  
  6614. You can install administration user exits for the users and groups interactive 
  6615. administration (not for any other administration tool, but only this one) by 
  6616. filling the file EDYADMUS.CMD and placing it into SecureEntry installation 
  6617. path, EXEC subdirectory. An empty sample file is located within the 
  6618. API\SOURCES\EDYADMUS directory. The following user exit points are supported: 
  6619.  
  6620.  UserExitBeforeADD_USER 
  6621.        Called before adding a user 
  6622.  
  6623.  UserExitBeforeADD_USERGROUP 
  6624.        Called before linking a user to a group 
  6625.  
  6626.  UserExitBeforeADD_GROUP 
  6627.        Called before adding a group 
  6628.  
  6629.  UserExitBeforeADD_GROUPGROUP 
  6630.        Called before linking a group to another group 
  6631.  
  6632.  UserExitBeforeADD_RESOURCE 
  6633.        Called before adding a resource 
  6634.  
  6635.  UserExitBeforeADD_RESOURCEUSER 
  6636.        Called before linking a resource to a user 
  6637.  
  6638.  UserExitBeforeADD_RESOURCEGROUP 
  6639.        Called before linking a resource to a group 
  6640.  
  6641.  UserExitBeforeADD_SUBSYSTEM 
  6642.        Called before adding a subsystem 
  6643.  
  6644.  UserExitBeforeUPDATE_USER 
  6645.        Called before updating a user data 
  6646.  
  6647.  UserExitBeforeUPDATE_USERGROUP 
  6648.        Called before updating a user-group link data 
  6649.  
  6650.  UserExitBeforeUPDATE_GROUP 
  6651.        Called before updating a group data 
  6652.  
  6653.  UserExitBeforeUPDATE_GROUPGROUP 
  6654.        Called before updating a group-group link data 
  6655.  
  6656.  UserExitBeforeUPDATE_RESOURCE 
  6657.        Called before updating a resource data 
  6658.  
  6659.  UserExitBeforeUPDATE_RESOURCEGROUP 
  6660.        Called before updating a resource-group link data 
  6661.  
  6662.  UserExitBeforeUPDATE_RESOURCEUSER 
  6663.        Called before updating a resource-user link data 
  6664.  
  6665.  UserExitBeforeUPDATE_SUBSYSTEM 
  6666.        Called before updating a subsystem data 
  6667.  
  6668.  UserExitBeforeDELETE_USER 
  6669.        Called before deleting a user 
  6670.  
  6671.  UserExitBeforeDELETE_USERGROUP 
  6672.        Called before deleting a user-group link 
  6673.  
  6674.  UserExitBeforeDELETE_GROUP 
  6675.        Called before deleting a group 
  6676.  
  6677.  UserExitBeforeDELETE_GROUPGROUP 
  6678.        Called before deleting a group-group link 
  6679.  
  6680.  UserExitBeforeDELETE_RESOURCE 
  6681.        Called before deleting a resource 
  6682.  
  6683.  UserExitBeforeDELETE_RESOURCEUSER 
  6684.        Called before deleting a resource-user link 
  6685.  
  6686.  UserExitBeforeDELETE_RESOURCEGROUP 
  6687.        Called before deleting a resource-group link 
  6688.  
  6689.  UserExitBeforeDELETE_SUBSYSTEM 
  6690.        Called before deleting a subsystem 
  6691.  
  6692.  These exit points allow you to insert any code just before the specified 
  6693.  operation, being able to cancel it or change any desired parameters. 
  6694.  
  6695.  Please edit the edyadmus.cmd file to know more about the implementation 
  6696.  guidelines in order to write your own administration user exits. 
  6697.  
  6698.  
  6699. ΓòÉΓòÉΓòÉ 8.2. Users and groups batch administration tools ΓòÉΓòÉΓòÉ
  6700.  
  6701. SecureEntry provides with tools to allow easily administration of its 
  6702. definitions in batch mode. This chapter describes all of them. 
  6703.  
  6704.      EDYDEFS is a program which will add, update or delete the database 
  6705.       definitions as described within a supplied response file. This is the 
  6706.       tool that you can find in the SecureEntry workbench folder named 'Batch 
  6707.       Users and Groups management' 
  6708.  
  6709.      EDYERASE is a cleanup tool that allows you to selectively erase all or 
  6710.       part of the definitions stored in the SecureEntry users and groups 
  6711.       repository. 
  6712.  
  6713.      EDYDUMP is a tool that allows you extract part or all of the definitions 
  6714.       stored in the SecureEntry users and groups repository, in a format 
  6715.       suitable for later processing through the EDYDEFS utility. 
  6716.  
  6717.      EDYADMIN is a generic purpose administration tool that can help you in 
  6718.       writing easily your own administration jobs. 
  6719.  
  6720.  All of this tools can be located within the SecureEntry path, EXEC directory, 
  6721.  and require administrator privilege for its successful execution. 
  6722.  
  6723.  
  6724. ΓòÉΓòÉΓòÉ 8.2.1. The definitions processing tool ΓòÉΓòÉΓòÉ
  6725.  
  6726. The batch users and groups administration tool allows you to process 
  6727. administration tasks in an unattended way, by means of processing a batch job 
  6728. description file which specifies the actions to process. 
  6729.  
  6730. The invocation command to process batch administration files is : 
  6731.  
  6732.  
  6733.   EDYDEFS Help | ([/]userid [[/]Password:p] [[/]File:f] [[/]Action:a]
  6734.           [[/Trace] [[/]Warn] [[/]Ignore'
  6735.  
  6736.   Userid and password : Ignored. You should have logged on as ADMIN
  6737.   File   : Definitions file name. defaults to EDYDEFS.TXT
  6738.   Action : Startup action. defaults to ADD. Allowed values are
  6739.            ADD, UPDATE, DELETE
  6740.   Trace  : Trace calls to display
  6741.   Warn   : Do not process calls, just syntax check the file
  6742.   Ignore : Ignore errors and continue
  6743.  
  6744. The best way to show the format of the definitions job file is through some 
  6745. sample files, as follows : 
  6746.  
  6747. Sample definitions file for standalone environment. 
  6748.  
  6749. // **********************************************************************
  6750. // * Sample batch file for Secure Entry standalone users administration *
  6751. // **********************************************************************
  6752.  
  6753. [ACTION=ADD]                        // Allowed action types are ADD, UPDATE
  6754.                                     // and DELETE. ACTION keyword means
  6755.                                     // sets the action until otherwise said
  6756. // Lets define one tellers group
  6757.  
  6758. [GROUP=TELLERS]
  6759.   FULL_NAME=Tellers group
  6760.   DESCRIPTION=Group for tellers
  6761.   DESKTOP=EDYDESK.INI               // Any standard SE component is allowed
  6762.   LAUNCHPAD=SELP.INI                // here : DESKTOP, PERS_DESKTOP, LAUNCHPAD
  6763.   FLOPPY_DISK=FPY.INI               // SYSTEM_MENUS, FLOPPY_DISK, TREE_LOCK and
  6764.                                     // SES_BEHAVIOUR
  6765. // Now define two users
  6766. [USER=PEPE]
  6767.   GROUP=TELLERS                     // The group should exist when adding user
  6768.   PRIV_USER=USER                    // Only values : USER or ADMIN
  6769.   FULL_NAME=Pepito de los palotes
  6770.   DESCRIPTION=A user
  6771.   USER_EXPIRE=NEVER                 // NEVER or dd-mm-yyyy format
  6772.   CONNECTION=1                      // 1=> Signon permitted 0=> Not permitted
  6773.   HOUR_START=8                      // These hours are for all days of the week.
  6774.   HOUR_END=20                       // set to 0-24 for Signon permitted anytime.
  6775.   PASSWORD=password                 // 'password' is the default signon password
  6776.   LAUNCHPAD=SELP.INI                // Any standard SE component is allowed
  6777.   FLOPPY_DISK=FPY.INI               // here : DESKTOP, PERS_DESKTOP, LAUNCHPAD
  6778.                                     // SYSTEM_MENUS, FLOPPY_DISK, TREE_LOCK and
  6779. [USER=MIGUEL]                       // SES_BEHAVIOUR
  6780.   GROUP=TELLERS
  6781.   PRIV_USER=USER
  6782.   FULL_NAME=Miguel Indurain
  6783.   DESCRIPTION=A power user
  6784.   USER_EXPIRE=NEVER
  6785.   CONNECTION=1
  6786.   HOUR_START=8
  6787.   HOUR_END=20
  6788.  
  6789. // Now a managers group and a manager definition
  6790.  
  6791. [GROUP=MANAGERS]
  6792.   FULL_NAME=Managers group          // The rest of possible keywords will take
  6793.                                     // the default values
  6794.  
  6795. [USER=ANDRES]
  6796.   GROUP=MANAGERS
  6797.   PRIV_USER=USER                    // We could have used GROUP_LS instead of
  6798.   FULL_NAME=Andy Garcia             // PRIV_USER with the same meaning
  6799.   DESCRIPTION=A manager
  6800.   USER_EXPIRE=1-1-1999
  6801.   CONNECTION=1
  6802.   HOUR_START=8
  6803.   HOUR_END=20
  6804.  
  6805. // Now update Miguel adding a personal launchpad, and move it to another group
  6806.  
  6807. [ACTION=UPDATE]
  6808. [USER=MIGUEL]
  6809.   GROUP=MANAGERS                    // Move user to group managers
  6810.   LAUNCHPAD=SELP.INI                // And add/modify launchpad
  6811.  
  6812. // Now delete the launchpad component for user Miguel
  6813.  
  6814. [ACTION=DELETE]
  6815. [USER=MIGUEL]                       // Not a user deletion, but only component
  6816.   LAUNCHPAD                         // deletion because a keyword follows.
  6817.  
  6818. // Now delete completely the created groups and users
  6819.  
  6820. [USER=MIGUEL]                       // Full user delete
  6821. [USER=ANDRES]
  6822. [USER=PEPE]
  6823. [GROUP=TELLERS]                     // Group delete (must be empty)
  6824. [GROUP=MANAGERS]
  6825.  
  6826. Sample definitions file for Lan Server environment. 
  6827.  
  6828. // **********************************************************************
  6829. // * Sample batch file for Secure Entry Lan Server users administration *
  6830. // **********************************************************************
  6831.  
  6832. [ACTION=ADD]                        // Allowed action types are ADD, UPDATE
  6833.                                     // and DELETE. ACTION keyword means
  6834.                                     // sets the action until otherwise said
  6835. // Lets define one alias
  6836.  
  6837. [ALIAS=TSTALIAS]
  6838.   TYPE=FILES                        // Type of resource.'FILES','SERIAL',
  6839.                                     //  'PRINTER' or 'TREE'
  6840.                                     // for a given alias definition
  6841.   NETNAME=C:\MAR\SGMSHELL           // This is the net name path
  6842.                                     // Can use RESNAME as a synonym
  6843.   SERVER=SERVER1                    // The server of the alias without '\\'
  6844.   WHEN_SHARED=STARTUP               // STARTUP, BYADMIN or DYNAMIC
  6845.   DESCRIPTION=Alias sample          // Put the description here
  6846.   MAX_CONN=45                       // Max. Connections
  6847.  
  6848. // Lets define one tellers group
  6849.  
  6850. [GROUP=SGTELLE]                     // Remember that Secure Entry group names
  6851.                                     // should start with 'SG'
  6852.   FULL_NAME=Tellers group           // Under Lan Server this is ignored
  6853.   DESCRIPTION=Group for tellers     // Put the group description here
  6854.   ACCESS_FILE=ACCESS.DAT            // 'old way' of defining accesses
  6855.                                     // Sample access file :
  6856.                                     // *****************************************
  6857.                                     // * [ALIAS=TSTALIAS]  // aliasname        *
  6858.                                     // *   ACCESS=RWX      // access privileges*
  6859.                                     // *   LOGON_ASN=J:    // logon assignment *
  6860.                                     // *****************************************
  6861.                                     // Note that even if you define an access for
  6862.                                     // update, it will be recreated so the full
  6863.                                     // specification has to appear here :
  6864.                                     // the aliasname, the access rights and
  6865.                                     // logon_asn.
  6866.   ACCESS=TSTALIAS,RWX,J             // 'new way' of defining accesses, inlined.
  6867.                                     // Note that even if you define an access for
  6868.                                     // update, it will be recreated so the full
  6869.                                     // specification has to appear here :
  6870.                                     // ACCESS=aliasname,accessrights,logon_asn.
  6871.   DESKTOP=EDYDESK.INI               // Any standard SE component is allowed
  6872.   LAUNCHPAD=SELP.INI                // here : DESKTOP, PERS_DESKTOP, LAUNCHPAD
  6873.   FLOPPY_DISK=FPY.INI               // SYSTEM_MENUS, FLOPPY_DISK, TREE_LOCK and
  6874.                                     // SES_BEHAVIOUR
  6875. // Now define two users
  6876.  
  6877. [USER=PEPE]
  6878.   GROUP=SGTELLE                     // The group should exist when adding user
  6879.   PRIV_USER=USER                    // Only values : USER or ADMIN
  6880.   FULL_NAME=Pepito de los palotes
  6881.   DESCRIPTION=A user
  6882.   USER_EXPIRE=NEVER                 // NEVER or dd-mm-yyyy format
  6883.   CONNECTION=1                      // 1=> Signon permitted 0=> Not permitted
  6884.   HOUR_START=8                      // These hours are for all days of the week.
  6885.   HOUR_END=20                       // set to 0-24 for Signon permitted anytime.
  6886.   PASSWORD=password                 // 'password' is the default signon password
  6887.   LAUNCHPAD=SELP.INI                // Any standard SE component is allowed
  6888.   FLOPPY_DISK=FPY.INI               // here : DESKTOP, PERS_DESKTOP, LAUNCHPAD
  6889.                                     // SYSTEM_MENUS, FLOPPY_DISK, TREE_LOCK and
  6890.                                     // SES_BEHAVIOUR
  6891.  
  6892.   // Follow keywords specific for Lan Server
  6893.  
  6894.   HOME_DIR=X:\\c$\HOME\PEPE         // The Lan Server home directory for this user
  6895.                                     // Use the syntax :
  6896.                                     //     \\MachineName\x$\path, or
  6897.                                     //    x:\MachineName\x$\path
  6898.                                     // MachineName omitted means server machine
  6899.   MAX_STORAGE=2048000               // Defaults to -1 (no limit)
  6900.   SCRIPT_PATH=C:\SCRIPTS            // Lan server script path
  6901.   ACCESS_FILE=ACCESS.DAT            // 'old way' of defining accesses
  6902.                                     // Sample access file :
  6903.                                     // *****************************************
  6904.                                     // * [ALIAS=TSTALIAS]  // aliasname        *
  6905.                                     // *   ACCESS=RWX      // access privileges*
  6906.                                     // *   LOGON_ASN=J:    // logon assignment *
  6907.                                     // *****************************************
  6908.                                     // Note that even if you define an access for
  6909.                                     // update, it will be recreated so the full
  6910.                                     // specification has to appear here :
  6911.                                     // the aliasname, the access rights and
  6912.                                     // logon_asn.
  6913.   ACCESS=TSTALIAS,RWX,J:            // 'new way' of defining accesses, inlined.
  6914.                                     // Format is alias-name,access privileges,
  6915.                                     // logon-assignment
  6916.                                     // Privileges allowed :
  6917.                                     // D (Delete) A (Attributes) X (Execute)
  6918.                                     // R (Read) W (Write) P (Permissions) N (None)
  6919. [USER=MIGUEL]
  6920.   GROUP=SGTELLE
  6921.   PRIV_USER=USER
  6922.   FULL_NAME=Miguel Indurain
  6923.   DESCRIPTION=A power user
  6924.   USER_EXPIRE=NEVER
  6925.   CONNECTION=1
  6926.   HOUR_START=8
  6927.   HOUR_END=20
  6928.  
  6929. // Now a managers group and a manager definition
  6930.  
  6931. [GROUP=SGMANAG]
  6932.   DESCRIPTION=Managers group        // The rest of possible keywords will take
  6933.                                     // the default values
  6934.  
  6935. [USER=ANDRES]
  6936.   GROUP=SGMANAG,OTHERGR             // LAN Server allows more than one group
  6937.                                     // Note that all groups should be specified
  6938.   PRIV_USER=USER                    // We could have used GROUP_LS instead of
  6939.   FULL_NAME=Andy Garcia             // PRIV_USER with the same meaning
  6940.   DESCRIPTION=A manager
  6941.   USER_EXPIRE=1-1-1999
  6942.   CONNECTION=1
  6943.   HOUR_START=8
  6944.   HOUR_END=20
  6945.  
  6946. // Now update Miguel adding a personal launchpad, and move it to another group
  6947.  
  6948. [ACTION=UPDATE]
  6949. [USER=MIGUEL]
  6950.   GROUP=SGMANAG                     // Move user to group managers
  6951.   LAUNCHPAD=SELP.INI                // And add/modify launchpad
  6952.  
  6953. // Now delete the launchpad component for user Miguel
  6954.  
  6955. [ACTION=DELETE]
  6956. [USER=MIGUEL]                       // Not a user deletion, but only component
  6957.   LAUNCHPAD                         // deletion because a keyword follows.
  6958.  
  6959. // Now delete completely the created groups and users
  6960.  
  6961. [USER=MIGUEL]                       // Full user delete
  6962. [USER=ANDRES]
  6963. [USER=PEPE]
  6964. [GROUP=SGTELLE]                     // Group delete (must be empty)
  6965. [GROUP=SGMANAG]
  6966. [ALIAS=TSTALIAS]                    // Now delete the defined alias
  6967.  
  6968. // General notes :
  6969. //
  6970. // - Remember to specify all group names the user belongs to (except reserved ones)
  6971. //   when updating users. Reserved ones are ADMINS, USERS and GUESTS
  6972. //
  6973. // - Remember that all Secure Entry group names have to start with 'SG'
  6974. //
  6975. // - Remember that update of accesses or components do only update the specified
  6976. //   ones through keywords, not erasing other components or accesses already
  6977. //   existent.
  6978. //
  6979. // - Also remember that deletion of main objects (groups, users, alias) is only
  6980. //   performed if no additional keywords are specified.
  6981.  
  6982.  
  6983. ΓòÉΓòÉΓòÉ 8.2.2. The definitions cleanup tool ΓòÉΓòÉΓòÉ
  6984.  
  6985. The EDYERASE program allows you to easily do planned or unplanned cleanups of 
  6986. your users and groups database. The invocation syntax for this command is as 
  6987. follows : 
  6988.  
  6989.  
  6990.    EDYERASE [?|[/Help]|
  6991.             [[/Branch] [:branchname]] [[/]Groups]
  6992.             [[/]Ignoreerrors [[/]Local] [[/]NBbranch[:branchname]]
  6993.             [[/]Resources] [[/]Trace] [[/]SGroups] [[/]Users]
  6994.             [[/]Usersgroup] [[/]Warning]
  6995.             ([[/]XUsers:mask]..) ([[/]XGroups:mask]..) ([[/XResources:mask]..)
  6996.  
  6997.      /Branch    : Erase all users belonging to a branch
  6998.      /Groups    : Erase all groups
  6999.      /Help      : Help
  7000.      /Ignore    : Ignore errors and continue
  7001.      /Local     : Local branch processing (ignored if no UCM)
  7002.      /NBranch   : Erase all users not defined for the specified branch
  7003.      /Resources : Erase all resources except SGMSHELL
  7004.      /Trace     : Trace on
  7005.      /SGroups   : Erase all SecureEntry groups (all if standalone)
  7006.      /Users     : Erase all users except administrator ones
  7007.      /USERSGroup: Erase all users belonging to a group recursively
  7008.      /XGroups   : In any case, do not erase groups matching mask
  7009.      /XResources: In any case, do not erase resources matching mask
  7010.      /XUsers    : In any case, do not erase users matching mask
  7011.      /Warning   : Do not perform actions, just display
  7012.  
  7013.     Sample : EDYERASE /NB:BR03 /XU:9* /XU:THEBOSS
  7014.              Erases all users not belonging to branch BR03 except
  7015.              users beginning with '9' and THEBOSS user
  7016.  
  7017. Note that full wildcard support is provided for the mask type parameters. 
  7018.  
  7019.  
  7020. ΓòÉΓòÉΓòÉ 8.2.3. The definitions dumper tool ΓòÉΓòÉΓòÉ
  7021.  
  7022. The EDYDUMP utility allows you to extract resources, users and groups 
  7023. information from the users and groups repository, in a format which is suitable 
  7024. for later processing through the EDYDEFS utility. It will create the necessary 
  7025. batch file and download the appropriate security profiles as temporary files. 
  7026. The invocation syntax for this command is as follows: 
  7027.  
  7028.  
  7029.   EDYDUMP Help | [[/]File:f]  [[/]Password:p] [[/]Expire]
  7030.                  [[/]Nofiles] [[/NOGroups] [[/]NOResources] [[/NOUsers]
  7031.                  [[/]Trace]   [[/]Ignore]
  7032.  
  7033.             File    : Definitions file path and name to create
  7034.                       downloaded profiles will go to the same directory
  7035.             Password: Generate passwords for users. p may contain
  7036.                       %(.x)U for userid
  7037.                       %(.x)N for user number
  7038.                       %(.x)D for current day
  7039.                       %(.x)M for current month
  7040.                       %(.x)Y for current year
  7041.                       x indicates forced length. left padded with 0s
  7042.             Expire  : Add password expire keyword for all users
  7043.             Nofiles : Do not download profiles. Only DEF data
  7044.             NOGroups: Do not extract groups information
  7045.          NOResources: Do not extract resources information (LS only)
  7046.             NOUsers : Do not extract users information
  7047.             Trace   : Trace calls to display
  7048.             Ignore  : Ignore errors and continue
  7049.  
  7050.       Example : EDYDUMP /P:U%.7N
  7051.  
  7052. Note that since the administration APIs do not return passwords, this is the 
  7053. only information you may find missing from the output batch file. To help 
  7054. overcome this problem, you can use the '/P' parameter, specifying a syntax for 
  7055. generating new passwords which are unique in a per user basis. 
  7056.  
  7057.  
  7058. ΓòÉΓòÉΓòÉ 8.2.4. The generic administration tool command ΓòÉΓòÉΓòÉ
  7059.  
  7060. The EDYADMIN program allows you to do any administration task through command 
  7061. line. Since this command is of a generic purpose, requires a good knowledge of 
  7062. the SecureEntry repository structure, and is not necessary for regular 
  7063. administration tasks. It is described in the following chapter under 
  7064. Programming your own administration tools. 
  7065.  
  7066.  
  7067. ΓòÉΓòÉΓòÉ 9. Implementing SecureEntry solutions ΓòÉΓòÉΓòÉ
  7068.  
  7069. In some occasions, what is provided with SecureEntry base may not be sufficient 
  7070. to implement the requirements that are necessary for a given installation. 
  7071. SecureEntry has an architecture which allows, with little effort, to achieve 
  7072. significant expandability in order to be adapted to a very heterogeneous set of 
  7073. needs. 
  7074.  
  7075. You can basically expand SecureEntry in the following areas : 
  7076.  
  7077.      Programming to the SecureEntry user info API to obtain security 
  7078.       information about the currently logged on user from within your 
  7079.       application. 
  7080.  
  7081.      Programming user exits to perform required tasks in a per session event 
  7082.       basis. 
  7083.  
  7084.      Programming your own naming filters to provide for special naming 
  7085.       requirements within the signon process. 
  7086.  
  7087.      Adding your own components to be integrated as all SecureEntry base 
  7088.       components are. 
  7089.  
  7090.      Programming your own logon procedures to grant access to your specific 
  7091.       subsystems as part of the logon process. 
  7092.  
  7093.      Programming your own administration tools to do special tasks or 
  7094.       processes in the administration area. 
  7095.  
  7096.  SecureEntry has a also a complete set of utilities to help you perform all of 
  7097.  this and also aid you with your software integration effort. This includes 
  7098.  several OS/2 native utilities,VDM utilities, plus a very sophisticated trace 
  7099.  subsystem, which you can use to debug your solution, always with the handy 
  7100.  help of the SecureEntry maintenance utilities. 
  7101.  
  7102.  
  7103. ΓòÉΓòÉΓòÉ 9.1. The SecureEntry user info API ΓòÉΓòÉΓòÉ
  7104.  
  7105. The SecureEntry kernel API allows you to obtain information about who is logged 
  7106. on, its privileges and other relevant session data. The include and library 
  7107. files are located in the SecureEntryPath\API\SOURCES\EDYAPI directory. 
  7108.  
  7109. The provided functions are two : 
  7110.  
  7111.  
  7112.   unsigned long _System sgm_userinfo_getkey (char * key,
  7113.                                              char * data,
  7114.                                              unsigned long size,
  7115.                                              unsigned long reserved);
  7116.  
  7117. Allows you to get information in a per key basis. 
  7118.  
  7119.  
  7120.   unsigned long _System sgm_userinfo_get (char * buffer, long buflen,
  7121.                                           short level, unsigned long reserved);
  7122.  
  7123. Allows you to get user information in a structured way. 
  7124.  
  7125. Note that return codes and valid structures are defined within the EDYAPI.H 
  7126. file. 
  7127.  
  7128. Note also that other functions you may find here are maintained in the include 
  7129. file for compatibility reasons, but will not be honored by SecureEntry 3.0, 
  7130. since the profile management functions should go now through the new 
  7131. administration interfaces. 
  7132.  
  7133.  
  7134. ΓòÉΓòÉΓòÉ 9.2. Programming user exits ΓòÉΓòÉΓòÉ
  7135.  
  7136. When you want to do special processing in a per event basis, you can use 
  7137. SecureEntry user exits to do so. There are two ways to program your own user 
  7138. exits. Via REXX or a compiled language. In any case, you can find the source 
  7139. modules required within the SecureEntryPath\API\SOURCES\EDYCUST directory. 
  7140.  
  7141. If you choose to program those in REXX, just fill in the provided EDYCUST.CMD 
  7142. file and place it within the SecureEntryPath\EXEC directory. 
  7143.  
  7144. If coding the user exits in REXX, note that the performance degradation will be 
  7145. minimal, since the REXX user exits program is kept loaded as a function of the 
  7146. EDYSLA SecureEntry kernel. In this case, you have also limited support for 
  7147. global 'inter user exit' variables, as explained in the EDYCUST.CMD file. 
  7148.  
  7149. If you code these in C, the filled and compiled file EDYCUST.DLL must be placed 
  7150. within the SecureEntryPath\DLL directory. 
  7151.  
  7152. The user exits provided are : 
  7153.  
  7154.      User exit after startup: 
  7155.  
  7156.       Intended as a 'second opportunity' to the startup processing, allows you 
  7157.       to start processes in a symmetrical way to the user exit before shutdown. 
  7158.       Runs under superuser context. 
  7159.  
  7160.      User exit before logon dialog: 
  7161.  
  7162.       This one gives the opportunity to do some processing and optionally 
  7163.       decide to continue with a guest logon before the SecureEntry logon dialog 
  7164.       starts interacting with the user, i.e, a guest logon does not require to 
  7165.       fill up the userid/password dialog. Runs under superuser context. You can 
  7166.       optionally present your own logon dialog here, but if you do so, then 
  7167.       your application dialog has to be system modal, and will have to call 
  7168.       EDYUTIL with the appropriate NEXTLOGON parameters to avoid the 
  7169.       SecureEntry LOGON dialog appearing afterwards. In any case, do not forget 
  7170.       to return the system modality to the previous owner once your dialog is 
  7171.       destroyed. 
  7172.  
  7173.       You can also decide to shutdown the system when exiting from this user 
  7174.       exit. 
  7175.  
  7176.      User exit before logon: 
  7177.  
  7178.       This user exit can be used to decide on guest logon processing after the 
  7179.       user has filled up the logon dialog. It can be used to implement 
  7180.       'service' logons with algorithmic passwords provided by a central site. 
  7181.       Runs under superuser context. 
  7182.  
  7183.       You can also decide to shutdown the system when exiting from this user 
  7184.       exit. 
  7185.  
  7186.      User exit before logon changing password: 
  7187.  
  7188.       Same as the user exit before logon, but receiving the new password also. 
  7189.       Runs under superuser context. 
  7190.  
  7191.      User exit after logon changing password: 
  7192.  
  7193.       This user exit is intended to inform your applications that the password 
  7194.       has been changed, if required. Runs in user context. 
  7195.  
  7196.      User exit before profiles activation: 
  7197.  
  7198.       This user exit is processed at logon, once the security profiles have 
  7199.       been downloaded to the workstation's WORK directory. You can use it to 
  7200.       modify/copy those profiles and do any preprocessing that may be necessary 
  7201.       before they are activated. 
  7202.  
  7203.      User exit after logon: 
  7204.  
  7205.       Used to do specific processes after any logon. Note that presentation 
  7206.       manager and Workplace shell are ready when this user exit is called. Also 
  7207.       note that this user exit is called even in the guest logon case and after 
  7208.       any shell (PMSHELL) restart. Runs under user context. 
  7209.  
  7210.      User exit before cancellable logoff: 
  7211.  
  7212.       This user exit gives the opportunity to verify and optionally deny the 
  7213.       logoff event, if for any reason it is detected that it can not be 
  7214.       processes due to application requirements. Runs under user context. 
  7215.  
  7216.      User exit before imminent logoff: 
  7217.  
  7218.       This user exit's purpose is to allow closing of critical applications, 
  7219.       having granted the fact that the logoff event will be processed until the 
  7220.       end. Runs under the logged on user context. 
  7221.  
  7222.      User exit after profiles deactivation: 
  7223.  
  7224.       This user exit is processed at logoff, once the security profiles have 
  7225.       been deactivated at the workstation's. You can use it to modify/copy 
  7226.       those profiles and do any postprocessing that may be necessary before 
  7227.       they are uploaded. 
  7228.  
  7229.      User exit after logoff: 
  7230.  
  7231.       This user exit is intended to do any required cleanup necessary after a 
  7232.       user logoff in superuser context. 
  7233.  
  7234.      User exit before shutdown: 
  7235.  
  7236.       This user exit allows for doing final cleanup of the machine before the 
  7237.       shutdown event completes. Runs under superuser context. 
  7238.  
  7239.      User exit after pmshell: 
  7240.  
  7241.       This exit is given to inform whoever requires it that the Workplace Shell 
  7242.       is active and running. Note that this one is special in the sense that 
  7243.       nothing else is granted here about logged on users. 
  7244.  
  7245.      User exit after startup: 
  7246.  
  7247.       This exit is given to inform whoever requires it that the EDYSTART.CMD 
  7248.       file has finished processing. You can use this user exit to start any 
  7249.       process that you may want to somehow 'hide' from the EDYSTART.CMD file. 
  7250.  
  7251.      User exit before cancellable lockup: 
  7252.  
  7253.       This exit is given to inform whoever requires it that a lock event has 
  7254.       been posted, and to give you the ability to programmatically cancel it, 
  7255.       or prefill the parameter area with the userid/password to use. 
  7256.  
  7257.      User exit lockup: 
  7258.  
  7259.       This exit is given to inform whoever requires it that an lock event, 
  7260.       which can not be cancelled, is about to be processed, in order to start 
  7261.       or terminate any required task. 
  7262.  
  7263.      User exit before unlock dialog: 
  7264.  
  7265.       This exit is given to inform whoever requires it that an unlock event is 
  7266.       about to be processed, to give the opportunity to display your own panel, 
  7267.       or prefill/read/validate the password. If you do present your own dialog, 
  7268.       then your dialog has to be system modal, and your application will be 
  7269.       responsible for calling EDYUTIL with the appropriate NEXTUNLOCK 
  7270.       parameters to avoid the UNLOCK dialog to be presented afterwards. In any 
  7271.       case, do not forget to return the system modality to the previous owner 
  7272.       once your dialog is destroyed. 
  7273.  
  7274.       You can also decide to logoff or shutdown the system when exiting from 
  7275.       this user exit. 
  7276.  
  7277.      User exit before unlock: 
  7278.  
  7279.       This exit is given to inform whoever requires it that, once the unlock 
  7280.       password has been obtained, it is going to be validated against the 
  7281.       current SecureEntry validation password for the session. You can validate 
  7282.       it yourself at this point. 
  7283.  
  7284.       You can also decide to logoff or shutdown the system when exiting from 
  7285.       this user exit. 
  7286.  
  7287.      User exit after unsuccessful unlock: 
  7288.  
  7289.       This is the last chance before an invalid password processing follows its 
  7290.       regular flow to inform the user at unlock time. You can use it to modify 
  7291.       the behavior, accepting the password, blocking the machine, forcing a 
  7292.       logoff or a shutdown. 
  7293.  
  7294.      User exit after unlock: 
  7295.  
  7296.       This exit is given to start/terminate any required process when an unlock 
  7297.       event is finishing. 
  7298.  
  7299.      User exit before logoff from unlock dialog: This user exit allows for a 
  7300.       programmed authorization of logoff from the unlock dialog, in case this 
  7301.       option is enabled through the currently active SES behavior profile. 
  7302.  
  7303.      User exit before shutdown from unlock dialog: This user exit allows for a 
  7304.       programmed authorization of shutdown from the unlock dialog, in case this 
  7305.       option is enabled through the currently active SES behavior profile. 
  7306.  
  7307.      Signal user exit: This user exit allows to receive parameters from the 
  7308.       application code within the user exit context, to perform specific 
  7309.       actions under the user exit's code environment. The Session event 
  7310.       launcher : EDYUTIL utility can be used to launch one of this user exits. 
  7311.  
  7312.      SupeUser signal user exit: This user exit allows to receive parameters 
  7313.       from the application code within the user exit context, to perform 
  7314.       specific actions knowing that they will run under super user context and 
  7315.       within the user exit's code environment. Note that if you are not using 
  7316.       the real Security Enabling Services, then all processes started within 
  7317.       this user exit will run under regular user context, and not super user 
  7318.       context as explained above. The Session event launcher : EDYUTIL utility 
  7319.       can be used to launch one of this user exits. 
  7320.  
  7321.      LMP user exits: These user exits allow you to change the normal control 
  7322.       flow of the logon procedures by examining the ret. code about to be 
  7323.       returned, and changing it appropriately. With this user exits you can, 
  7324.       for instance, avoid users to logon in emergency mode, or force an 
  7325.       algorithmic password for specific users. 
  7326.  
  7327.      Folder open and close user exits: 
  7328.  
  7329.       This user exits are invoked whenever an object with a defined hook has 
  7330.       been configured to call them, at open or close time. The user exit for 
  7331.       the open object event may decide not to open the object by returning a 
  7332.       specific return code. You can read more about hooked objects in The 
  7333.       Hooked objects component chapter. 
  7334.  
  7335.      User exit hotkey: 
  7336.  
  7337.       If the active SES profile has defined hooks for systemwide hotkeys, then 
  7338.       this user exit will be triggered each time one of the hooked key 
  7339.       combination is detected. You can then do your logic, and choose to either 
  7340.       process the hotkey yourself, or pass it along so that the default action 
  7341.       is then performed. 
  7342.  
  7343.      User exit before reboot: 
  7344.  
  7345.       You can use this user exit as a signal that reboot is to be performed by 
  7346.       SecureEntry, either from within the Ctl-Alt-Del options dialog, or as a 
  7347.       Ctl-Alt-Del user request when the configured action for this key 
  7348.       combination is to directly reboot the system. 
  7349.  
  7350.  For further information, please look at the User exits control flow, and read 
  7351.  the appropriate fully commented source file. 
  7352.  
  7353.  A Sample user exit implementation is also available for review, as well as two 
  7354.  sample logon and unlock dialogs. 
  7355.  
  7356.  
  7357. ΓòÉΓòÉΓòÉ 9.2.1. User exits control flow ΓòÉΓòÉΓòÉ
  7358.  
  7359. The following list shows the regular flow (calling sequence) for the different 
  7360. available user exits. 
  7361.  
  7362.  
  7363.     * Machine startup and logon
  7364.  
  7365.     UserExitAfterStartup
  7366.     UserExitBeforeLogonDialog
  7367.     UserExitBeforeLogon
  7368.     UserExitBeforeLMPSignon              Note : one received per LMP
  7369.     UserExitAfterLMPSignon
  7370.     UserExitAfterPmShell                 Note : Asynchronous (not granted timing)
  7371.     UserExitBeforeProfilesActivation
  7372.     UserExitAfterLogon
  7373.  
  7374.     * Regular lock-unlock
  7375.  
  7376.     UserExitBeforeCancellableLockup
  7377.     UserExitLockup
  7378.     UserExitBeforeUnlockDialog
  7379.     UserExitBeforeUnlock
  7380.     UserExitAfterUnlock
  7381.  
  7382.     * Regular shutdown from desktop of logged on user
  7383.  
  7384.     UserExitBeforeCancellableLogoff
  7385.     UserExitBeforeImminentLogoff
  7386.     UserExitAfterProfilesDeactivation
  7387.     UserExitBeforeLMPSignoff              Note : one received per LMP
  7388.     UserExitAfterLMPSignoff
  7389.     UserExitAfterLogoff
  7390.     UserExitBeforeShutdown
  7391.  
  7392.     * Machine startup and regular logon changing password
  7393.  
  7394.     UserExitAfterStartup
  7395.     UserExitBeforeLogonDialog
  7396.     UserExitAfterPmShell                 Note : Asynchronous (not granted timing)
  7397.     UserExitBeforeLogonChangingPassword
  7398.     UserExitBeforeLMPSignon              Note : one received per LMP
  7399.     UserExitAfterLMPSignon
  7400.     UserExitBeforeProfilesActivation
  7401.     UserExitAfterLogonChangingPassword
  7402.  
  7403.     * Regular lockup - logoff from unlock dialog
  7404.  
  7405.     UserExitBeforeCancellableLockup
  7406.     UserExitLockup
  7407.     UserExitBeforeUnlockDialog
  7408.     UserExitBeforeLogoffFromUnlock
  7409.     UserExitBeforeCancellableLogoff
  7410.     UserExitBeforeImminentLogoff
  7411.     UserExitAfterProfilesDeactivation
  7412.     UserExitBeforeLMPSignoff              Note : one received per LMP
  7413.     UserExitAfterLMPSignoff
  7414.     UserExitAfterLogoff
  7415.  
  7416.     * Regular Shutdown from logon panel
  7417.  
  7418.     UserExitBeforeLogonDialog
  7419.     UserExitBeforeShutdown
  7420.  
  7421.     * Machine startup and logon
  7422.  
  7423.     UserExitAfterStartup
  7424.     UserExitBeforeLogonDialog
  7425.     UserExitBeforeLogon
  7426.     UserExitAfterPmShell                 Note : Asynchronous (not granted timing)
  7427.     UserExitBeforeLMPSignon              Note : one received per LMP
  7428.     UserExitAfterLMPSignon
  7429.     UserExitBeforeProfilesActivation
  7430.     UserExitAfterLogon
  7431.  
  7432.     * Lockup - unlock fail due to invalid password - Retry and successful unlock
  7433.  
  7434.     UserExitBeforeCancellableLockup
  7435.     UserExitLockup
  7436.     UserExitBeforeUnlockDialog
  7437.     UserExitBeforeUnlock
  7438.     UserExitAfterUnsuccessfulUnlock
  7439.     UserExitBeforeUnlock
  7440.     UserExitAfterUnlock
  7441.  
  7442.     * Regular logoff from desktop of logged on user
  7443.  
  7444.     UserExitBeforeCancellableLogoff
  7445.     UserExitBeforeImminentLogoff
  7446.     UserExitAfterProfilesDeactivation
  7447.     UserExitBeforeLMPSignoff             Note : one received per LMP
  7448.     UserExitAfterLMPSignoff
  7449.     UserExitAfterLogoff
  7450.  
  7451.     * Regular logon changing password
  7452.  
  7453.     UserExitBeforeLogonDialog
  7454.     UserExitBeforeLogonChangingPassword
  7455.     UserExitBeforeLMPSignon              Note : one received per LMP
  7456.     UserExitAfterLMPSignon
  7457.     UserExitBeforeProfilesActivation
  7458.     UserExitAfterLogonChangingPassword
  7459.  
  7460.     * Regular Logoff from desktop, cancelled
  7461.  
  7462.     UserExitBeforeCancellableLogoff
  7463.  
  7464.     * Regular logoff from desktop
  7465.  
  7466.     UserExitBeforeCancellableLogoff
  7467.     UserExitBeforeImminentLogoff
  7468.     UserExitAfterProfilesDeactivation
  7469.     UserExitBeforeLMPSignoff             Note : one received per LMP
  7470.     UserExitAfterLMPSignoff
  7471.     UserExitAfterLogoff
  7472.  
  7473.     * Forcing Guest logon from User exit before logon
  7474.  
  7475.     UserExitBeforeLogonDialog
  7476.     UserExitBeforeLogon                  Note : Returning RC_GUEST_LOGON
  7477.     UserExitAfterLogon
  7478.  
  7479.     * Regular logoff from desktop of guest user
  7480.  
  7481.     UserExitBeforeCancellableLogoff
  7482.     UserExitBeforeImminentLogoff
  7483.  
  7484.     * Forcing Guest logon from user exit before logon dialog
  7485.  
  7486.     UserExitBeforeLogonDialog            Note : Returning RC_GUEST_LOGON
  7487.     UserExitAfterLogon
  7488.  
  7489.     * Regular logoff from desktop of guest user
  7490.  
  7491.     UserExitBeforeCancellableLogoff
  7492.     UserExitBeforeImminentLogoff
  7493.  
  7494.     * Regular logon
  7495.  
  7496.     UserExitBeforeLogonDialog
  7497.     UserExitBeforeLogon
  7498.     UserExitBeforeLMPSignon              Note : one received per LMP
  7499.     UserExitAfterLMPSignon
  7500.     UserExitBeforeProfilesActivation
  7501.     UserExitAfterLogon
  7502.  
  7503.     * Lock and then Shutdown from unlock dialog
  7504.  
  7505.     UserExitBeforeCancellableLockup
  7506.     UserExitLockup
  7507.     UserExitBeforeUnlockDialog
  7508.     UserExitBeforeShutdownFromUnlock
  7509.     UserExitBeforeCancellableLogoff
  7510.     UserExitBeforeImminentLogoff
  7511.     UserExitAfterProfilesDeactivation
  7512.     UserExitBeforeLMPSignoff             Note : one received per LMP
  7513.     UserExitAfterLMPSignoff
  7514.     UserExitAfterLogoff
  7515.     UserExitBeforeShutdown
  7516.  
  7517.  
  7518. ΓòÉΓòÉΓòÉ 9.2.2. Sample user exit implementation ΓòÉΓòÉΓòÉ
  7519.  
  7520. To clarify things a bit, lets suppose the following scenario : 
  7521.  
  7522. We have an already written application which does handle logon and logoff, and 
  7523. wish to integrate SecureEntry inside this environment, taking profit of the 
  7524. lockup, ctl-alt-del handling, and security profile activation features of 
  7525. SecureEntry. Lets assume also that the written application has the following 
  7526. logic : 
  7527.  
  7528.  
  7529.         Do
  7530.           Query UserID and Password
  7531.           Validate_user
  7532.           if not privileged then
  7533.              run teller application
  7534.         Until privileged
  7535.  
  7536. We also want a 'backdoor' to be able to logon as a real SecureEntry 
  7537. administrator. 
  7538.  
  7539. It seems clear now that we have three types of users : 
  7540.  
  7541.      Regular 'tellers' which a set of restricted security profiles 
  7542.  
  7543.      Service people who have limited access to system resources 
  7544.  
  7545.      SecureEntry administrators 
  7546.  
  7547.  One of the easiest ways to implement such a scenario, taking into account that 
  7548.  userid/password query is normally processed by the application, is through 
  7549.  user exits. Lets describe the proposal : 
  7550.  
  7551.      Normally, all logons will be as GUEST, except when logging as a 
  7552.       SecureEntry administrator. This means that SecureEntry dialogs for logon 
  7553.       will never be displayed except when the backdoor is called. 
  7554.  
  7555.      The default teller security profiles will be kept as the default ones, 
  7556.       and stored in the NOUSER directory. 
  7557.  
  7558.      The privileged security profiles for the service people will be also in 
  7559.       the NOUSER directory, but activated/deactivated in an as required basis 
  7560.       (p*.ini). 
  7561.  
  7562.      The 'backdoor' real SecureEntry logon will be implemented as a signal 
  7563.       passed parameter. 
  7564.  
  7565.      Just for the beauty of it, (and to show how to do it), we will start the 
  7566.       system clock for real SecureEntry users. 
  7567.  
  7568.  Now, the required EDYCUST file changes are as follows : 
  7569.  
  7570.  
  7571.      1) Lets declare a global variable
  7572.  
  7573.         Line 158 :  MyGlobalVars='aString'
  7574.  
  7575.      2) UserExitAfterStartup:
  7576.  
  7577.            /*
  7578.               We can do one time user exit initialization code here, since
  7579.               not counting the user exit after PMSHELL, this one will be the
  7580.               first one
  7581.            */
  7582.  
  7583.            /* To be able to open the clock */
  7584.            call RxFuncAdd 'SysLoadFuncs', 'REXXUTIL', 'SysLoadFuncs'
  7585.            call SysLoadFuncs
  7586.            /* Make sure first logon is regular */
  7587.            aString=''
  7588.  
  7589.         return RC_NONE
  7590.  
  7591.      3) UserExitBeforeLogonDialog:
  7592.  
  7593.         /* If not using the backdoor, always user GUEST LOGON */
  7594.  
  7595.         if strip(translate(aString))<>'SENTRY' then
  7596.            return RC_GUEST_LOGON
  7597.  
  7598.         return RC_CONTINUE_NORMAL_LOGON_FLOW
  7599.  
  7600.      4) UserExitAfterLogon:
  7601.  
  7602.            UserID=Reserved1
  7603.  
  7604.            if strip(translate(aString))<>'SENTRY' then
  7605.            do
  7606.  
  7607.              /* Regular logon....                    */
  7608.              /* This should be started or detached, since has to run
  7609.                 within the user session, not inside a user exit      */
  7610.  
  7611.              'start /C d:\sgmshell\exec\apprun.cmd'
  7612.            end
  7613.            else
  7614.            do
  7615.              /* Backdoor logon....                   */
  7616.              /* Following time will be regular logon */
  7617.              /* But for this time as a sample lets open the clock object */
  7618.  
  7619.              aString=''
  7620.              rc=SysOpenObject('<WP_CLOCK>','DEFAULT',1)
  7621.            end
  7622.  
  7623.         return RC_NONE
  7624.  
  7625.  
  7626.      5) UserExitBeforeImminentLogoff:
  7627.  
  7628.            if strip(translate(aString))='PRIV' then
  7629.            do
  7630.              /* Deactivate the privileged profiles by
  7631.                 activating NOUSER standard ones       */
  7632.  
  7633.              'd:\sgmshell\exec\edyrefr.exe d:\sgmshell\nouser\edydesk.ini'
  7634.              'd:\sgmshell\exec\edyflpy.exe /I:d:\sgmshell\nouser\edyflopp.ini'
  7635.              aString=''
  7636.            end
  7637.            /* Note that if sentry backdoor aString value is maintained 'SENTRY' */
  7638.  
  7639.         return RC_NONE
  7640.  
  7641.      6) UserExitSignal:
  7642.  
  7643.            aString=AllParms
  7644.  
  7645.            if strip(translate(aString))='PRIV' then
  7646.            do
  7647.              /* Activate the privileged profiles */
  7648.  
  7649.              'd:\sgmshell\exec\edyrefr.exe d:\sgmshell\nouser\pdesk.ini'
  7650.              'd:\sgmshell\exec\edyflpy.exe /I:d:\sgmshell\nouser\pflopp.ini'
  7651.            end
  7652.            /* If backdoor to sentry then force logoff */
  7653.            if strip(translate(aString))='SENTRY' then
  7654.              'edyutil frlogoff'
  7655.  
  7656.         return RC_NONE
  7657.  
  7658.  And the application code (APPRUN.CMD) would have to have the following logic 
  7659.  change : 
  7660.  
  7661.  
  7662.           Do
  7663.             Query UserID and Password
  7664.             Validate_user
  7665.  
  7666.             RUN EDYUTIL NEXTUNLOCK /U:UserID /V:password
  7667.  
  7668.             if not privileged then
  7669.                run teller application
  7670.           Until privileged
  7671.  
  7672.           RUN EDYUTIL SIGNAL PRIV
  7673.  
  7674.  And at any time, calling EDYUTIL SIGNAL SENTRY would force the backdoor to 
  7675.  run, making the next logon a real SecureEntry one. 
  7676.  
  7677.  Note how easy is it, what a huge behavior change achieved with just 20 lines 
  7678.  of REXX code added!!. 
  7679.  
  7680.  
  7681. ΓòÉΓòÉΓòÉ 9.2.3. Sample logon and unlock dialogs ΓòÉΓòÉΓòÉ
  7682.  
  7683. The user exits allow to easily insert logon and unlock dialogs created by the 
  7684. user, as an alternative to the default dialogs that SecureEntry provides. 
  7685.  
  7686. You can find two fully customable alternative logon and unlock dialogs in the 
  7687. EXEC directory of the SecureEntry path. The source files of both dialogs are 
  7688. available in the API\SOURCES\DIALOGS directory of the SecureEntry path. This 
  7689. are two ZIP files which contain the source tree structure of a VisproRexx 
  7690. project. 
  7691.  
  7692. The logon dialog accepts the following syntax: 
  7693.  
  7694.  
  7695.      LOGSAMP [/D:domain | /d:[domain]]
  7696.              [/U:userid /L:file.bmp /S:string /NG /NC /Ns /NS
  7697.               /NH /P:px,py /T /F]
  7698.  
  7699.  
  7700.  /D:       to specify the default Domain for the next logon. 
  7701.  
  7702.  /d:       to specify the default Domain, and to show an entry field that 
  7703.            allows for modifying this domain. 
  7704.  
  7705.  /U:       to specify the default Userid that must be shown in the userid entry 
  7706.            field. 
  7707.  
  7708.  /L:       to specify the file having the logo that must be shown in the 
  7709.            dialog. If not specified, it defaults to the IBM logo. 
  7710.  
  7711.  /S:       to specify the header string that must be shown in the logon dialog. 
  7712.            If not specified, it defaults to the string "IBM Global Services". 
  7713.  
  7714.  /NG       to hide the Guest button. 
  7715.  
  7716.  /NC       to hide the Clear button. 
  7717.  
  7718.  /Ns       to hide the Shutdown button. 
  7719.  
  7720.  /NS       to hide the Forced Shutdown button. 
  7721.  
  7722.  /NH       to hide the Help button. 
  7723.  
  7724.  /P:       to specify the logon dialog position in the screen. Horizontal 
  7725.            coordinates (px) and vertical coordinates (py) have their origin in 
  7726.            the left bottom corner of the screen and their values range from 0 
  7727.            to 100, both included. The default position is at the center of the 
  7728.            screen. 
  7729.  
  7730.  /T        to show the Clock. 
  7731.  
  7732.  /F        to show the Date. 
  7733.  
  7734.  The unlock dialog accepts the following syntax: 
  7735.  
  7736.  
  7737.        UNSAMP [/L:file.bmp /S:string /Nl /NL /Ns /NS
  7738.                /NH /P:px,py /T /F]
  7739.  
  7740.  
  7741.  /L:       to specify the file having the logo that must be shown in the 
  7742.            dialog. If not specified, it defaults to the IBM logo. 
  7743.  
  7744.  /S:       to specify the header string that must be shown in the logon dialog. 
  7745.            If not specified, it defaults to the string "IBM Global Services". 
  7746.  
  7747.  /Nl       to hide the Logoff button. 
  7748.  
  7749.  /NL       to hide the Forced Logoff button. 
  7750.  
  7751.  /Ns       to hide the Shutdown button. 
  7752.  
  7753.  /NS       to hide the Forced Shutdown button. 
  7754.  
  7755.  /NH       to hide the Help button. 
  7756.  
  7757.  /P:       to specify the unlock dialog position in the screen. Horizontal 
  7758.            coordinates (px) and vertical coordinates (py) have their origin in 
  7759.            the left bottom corner of the screen and their values range from 0 
  7760.            to 100, both included. The default position is at the center of the 
  7761.            screen. 
  7762.  
  7763.  /T        to show the Clock. 
  7764.  
  7765.  /F        to show the Date. 
  7766.  
  7767.  For example, if you want to use the alternative logon dialog having the 
  7768.  following features: 
  7769.  
  7770.      with a modifiable default domain whose name is "domain" 
  7771.  
  7772.      without the Guest button 
  7773.  
  7774.      without the Forced Shutdown button 
  7775.  
  7776.      with Clock and Date 
  7777.  
  7778.  then you should call LOGSAMP in the user exit before the logon dialog in the 
  7779.  EDYCUST.CMD file this way: 
  7780.  
  7781.  
  7782.        UserExitBeforeLogonDialog:
  7783.  
  7784.               /*  Call the alternative logon dialog */
  7785.  
  7786.                'LOGSAMP /d:domain /NG/NS/F/T'
  7787.  
  7788.               /*  Return the RC supplied by LOGSAMP */
  7789.  
  7790.                 return RC
  7791.  
  7792.  Similarly, you can call the alternative unlock dialog the same way in the user 
  7793.  exit before unlock dialog. 
  7794.  
  7795.  Also, you may want to read about the SGM_USER_DLGS environment variable, to 
  7796.  achieve maximum robustness in overriding the default logon/unlock dialogs. 
  7797.  
  7798.  
  7799. ΓòÉΓòÉΓòÉ 9.3. Programming naming filters ΓòÉΓòÉΓòÉ
  7800.  
  7801. The file EDYFILT.DLL can be used to provide for automatic translation of 
  7802. userid's, passwords and/or domain names. It is intended to allow for 
  7803. integrating different subsystem naming conventions. 
  7804.  
  7805. The skeleton file to program a filter DLL can be found within the 
  7806. SecureEntryPath\API\SOURCES\EDYFILT path, and if filled and compiled and then 
  7807. placed within the DLL directory, it will be called by the different logon 
  7808. subsystems before using the passed arguments. For instance, you may decide to 
  7809. have all your passwords scrambled somehow to the Lan Server, or to preppend a 
  7810. given letter to all SecureEntry users, without requiring the user to type it in 
  7811. the logon dialog. Then this is the place to put the code. 
  7812.  
  7813. Note however that any translation you do here is only used at signon time, and 
  7814. that the administration tools should use the 'real' defined names. 
  7815.  
  7816.  
  7817. ΓòÉΓòÉΓòÉ 9.4. Adding your own components ΓòÉΓòÉΓòÉ
  7818.  
  7819. The same way that SecureEntry provides with some default components (i.e, 
  7820. Launchpad, Treelock, ...), you can add to the SecureEntry database a given 
  7821. component of your own, and assign it to a user or group through the SecureEntry 
  7822. administration tools. 
  7823.  
  7824.      What is a Security component 
  7825.  
  7826.      The components description file and UPDATEDB command 
  7827.  
  7828.      IMPORTANT WARNINGS 
  7829.  
  7830.  
  7831. ΓòÉΓòÉΓòÉ 9.4.1. What is a Security component ΓòÉΓòÉΓòÉ
  7832.  
  7833. A security component is really an object (file) with some behavior expected and 
  7834. associated characteristics : 
  7835.  
  7836.    1. A component should have a component name. This one is evident. 
  7837.  
  7838.    2. A component has a download file name. This is the file name of a given 
  7839.       instance of security profile for the component which will be used at 
  7840.       signon time to activate it. 
  7841.  
  7842.    3. A component has an editor. This is the name and calling parameters of the 
  7843.       program which is able to recognize and allow editing for a given profile 
  7844.       of this component. 
  7845.  
  7846.    4. A component has an activation interface. Again, the this is the name and 
  7847.       calling parameters of an executable module which is able to read a 
  7848.       profile and set up the security restrictions for it within a given 
  7849.       machine. 
  7850.  
  7851.    5. A component has also an icon which represents it, and 
  7852.  
  7853.    6. It has also some rules, i.e if it is static (the profiles only vary 
  7854.       through an administrator tool), or if must be uploaded to the database 
  7855.       after logoff, plus whether it is mandatory to have a given profile 
  7856.       assigned in order to be able to logon to the workstation. 
  7857.  
  7858.  
  7859. ΓòÉΓòÉΓòÉ 9.4.2. The components description file and UPDATEDB command ΓòÉΓòÉΓòÉ
  7860.  
  7861. All of the components description characteristics are stored within the 
  7862. SecureEntry repository as a file which you can change or view through the 
  7863. UPDATEDB command. This command will normally take a description file in ASCII 
  7864. format and upload it to the repository, making it the active one (for the next 
  7865. machine reboot). The invocation syntax is : 
  7866.  
  7867.  
  7868.    UPDATEDB  descriptionfilename
  7869.  
  7870. If no descriptionfilename is used, the utility will just list the active 
  7871. component table contents (stored within the repository). 
  7872.  
  7873. Note that the description file used at SecureEntry install time is named 
  7874. 'SENTRY.DSC', and you can find it within the first installation diskette. This 
  7875. file can serve you as a sample on how new components can be defined. 
  7876.  
  7877. A sample of the description file follows : 
  7878.  
  7879. [General]
  7880.  
  7881. MaxSignonAttempts   5       # Beware if you have only one administrator defined
  7882. MinPasswordLen      4
  7883. PasswordExpireDays  0       # 0 means do not expire passwords
  7884.  
  7885. [Components]
  7886.  
  7887. #CompName       DownloadName  Editor            Interface          Datatype Icon  Mand Chg Description
  7888. #------------------------------------------------------------------------------------------------------------------
  7889. DESKTOP         EDYDESK.INI   'EDYEDRES.EXE &'  $SENTRY            MISSING  @3003   N   A  Personal desktop profile
  7890. PERS_DESKTOP    EDY_PER.INI   MISSING           $SENTRY            MISSING  MISSING N   U  Personal desktop settings
  7891. SYSTEM_MENUS    EDYWIN.INI    'EDYWINE.EXE &'   'EDYWINR.EXE /F:&' MISSING  @3006   N   A  Window behavior
  7892. FLOPPY_DISK     EDYFLOPP.INI  'EDYFLINI.EXE /&' 'EDYFLPY.EXE /I:&' MISSING  @3005   N   A  Floppy disk behavior
  7893. TREE_LOCK       EDYDD32.INI   'E.EXE &'         'EDYDDUTL.EXE /F&' MISSING  MISSING N   A
  7894. SES_BEHAVIOUR   EDYSES.INI    'EDYSESE.EXE &'   'EDYBGINI.EXE /F&' MISSING  @3007   N   A  Lockup, timeouts and CAD
  7895. TLOCK_AUDIT     EDYDD32.AUD   'E.EXE &'         'EDYDDUTL.EXE /A&' MISSING  MISSING N   U  Tree Lock audit
  7896. LAUNCHPAD       EDYPAD.INI '/I EDYLNEDT.EXE /F&''EDYLNREF.EXE /F&' MISSING  @3004   N   A  Personal launchpad
  7897. SCENTER         EDYSC.INI  '/I EDYSCEDT.EXE &'  'EDYSCTST.EXE &'   MISSING  @3017   N   A  SmartCenter profile
  7898. WINDOW_LIST     EDYWDLST.INI   'EDYWDEDT.EXE &' 'EDYWDINI.EXE /F&' MISSING  @3011   N   A  WindowList behaviour
  7899. PERS_MODEL      EDYMPER.INI    'EDYEDPER.EXE &' $SENTRY            MISSING  @3013   N   A  Personal desktop model
  7900. SHORTCUTS       EDYHOTK.INI    'EDYHOTKE.EXE &' 'EDYHOTKR.EXE /F &'MISSING  @3014   N   A  Shortcuts profile
  7901. HOOKED_OBJECTS  EDYCUSWP.INI 'EDYEDPER.EXE /P &'$SENTRY            MISSING  @3016   N   A  Hooked objects
  7902. ROAMING_DESKTOP EDYROAM.INI    'EDYROAME.EXE &' 'EDYROAMT.EXE /F&' MISSING  @3018   N   A  Roaming desktops
  7903. EXECS_AUDITOR   EDYEXEC.INI    'EDYEXECE.EXE &' 'EDYEXECT.EXE /F&' MISSING  @3019   N   U  Processes auditor
  7904.  
  7905. It becomes evident by studying this file how the new components have to be 
  7906. added. Take into account the following : 
  7907.  
  7908.      The [General] section, even if present, will have only sense for 
  7909.       standalone environment installations, because this values will be 
  7910.       overridden by Lan Server in Lan Server installs. 
  7911.  
  7912.      Any line can have comments, which start by the '#' character 
  7913.  
  7914.      The reserved keyword 'MISSING' allows you to define component 
  7915.       characteristics as not available. 
  7916.  
  7917.      The component name will be used by the administration utilities to 
  7918.       identify new components through its API. i.e, once you define your 
  7919.       component with a special name, this name becomes the index keyword to 
  7920.       locate its profiles. It also becomes automatically a new keyword for the 
  7921.       batch administration tools. 
  7922.  
  7923.      The DownloadName will be used as the name with which the profile will be 
  7924.       downloaded within the workstation at logon time, within the SecureEntry 
  7925.       directory path, WORK subdirectory. 
  7926.  
  7927.      The editor must be any executable program which 'Understands' your 
  7928.       profiles and knows how to save them with the same name as when invoked. 
  7929.       (i.e, you can use the system editor for ASCII profiles). The launch 
  7930.       string, as placed in the description file describes how to invoke it 
  7931.       (substituting '&' by the full path of the profile component file). 
  7932.  
  7933.      The interface must be any executable program that knows how to 'activate' 
  7934.       a given profile with the configured startup string (substituting '&' by 
  7935.       the full path of the profile component file). Note however, that 
  7936.       SecureEntry will launch this startup string at logoff time without a 
  7937.       filename, and it is the responsibility of the interface program to 
  7938.       deactivate then the previously activated profile. The reserved keyword 
  7939.       '$SENTRY' is reserved by SecureEntry. 
  7940.  
  7941.      Datatype is not used by SecureEntry right now. 
  7942.  
  7943.      Iconfile is the icon filename of an icon that represents the component. 
  7944.       Note that you should place here the full path for the icon. What is in 
  7945.       the default sample file (keywords start by '@') is a convention so that 
  7946.       these are icons already linked with the administration (EDYSNADM) 
  7947.       application. 
  7948.  
  7949.      The 'Mand' field indicates whether the component is mandatory for logon 
  7950.       or not. It can only take the values 'Y' or 'N'. 
  7951.  
  7952.      The 'Chng' field indicates whether it is a component profile which the 
  7953.       user can change or the administrator. Values are 'A' (Admin) or 'U' 
  7954.       (User). If a component is defined as user modifiable, then it will be 
  7955.       uploaded at logoff time to the LAN repository, or to the host if UCM is 
  7956.       present, so that at the next logon (from this or another machine), the 
  7957.       refreshed profile is downloaded. 
  7958.  
  7959.      Description is a free format description string for the component. 
  7960.  
  7961.      No two components can have the same component name or downloadname. 
  7962.  
  7963.  
  7964. ΓòÉΓòÉΓòÉ 9.4.3. IMPORTANT WARNINGS ΓòÉΓòÉΓòÉ
  7965.  
  7966. When designing for adding new components, take care of : 
  7967.  
  7968.      The UPDATEDB program will overwrite completely the active components 
  7969.       description table. It is your responsibility to make sure that you do not 
  7970.       delete components which have active profiles stored in the repository. 
  7971.  
  7972.      The component profiles may have a 'signature' added by the interactive 
  7973.       administration tool. This signature is : 
  7974.  
  7975.         -  For text files, a first line added to the file with the 
  7976.            ComponentName. 
  7977.  
  7978.         -  For INI (prf format) files, a new tuple Application=SENTRY, 
  7979.            Key=COMPONENT, Value=Componentname. 
  7980.  
  7981.       This signature is added only by this tool to allow for drag and drop 
  7982.       without being always prompting about which component is being dropped. 
  7983.       Note that to avoid this behavior, you can always uncheck the 'save 
  7984.       component association checkbox' whenever dropping a component profile and 
  7985.       being prompted for its association within the interactive administration 
  7986.       tool. 
  7987.  
  7988.      Be careful when applying SERVICE to machines with customer defined 
  7989.       components. Before using the diskettes, copy your components description 
  7990.       file to an INSTALL directory within the last installation diskette, with 
  7991.       file name 'SENTRY.DSC', so that the service procedure uses this one 
  7992.       instead of the default one to update the database. 
  7993.  
  7994.  
  7995. ΓòÉΓòÉΓòÉ 9.5. Programming logon procedures ΓòÉΓòÉΓòÉ
  7996.  
  7997. A logon procedure is basically a DLL with a couple of standard entry points 
  7998. which you can add to a SecureEntry installation, providing for password 
  7999. synchronization and the basic identification functions. The idea is that in 
  8000. order to make SecureEntry logon to your own subsystems in a fully integrated 
  8001. way, you just have to write this quite simple code. 
  8002.  
  8003.      Writing and running your own LMP 
  8004.  
  8005.      API entry points 
  8006.  
  8007.      Rules to follow 
  8008.  
  8009.  
  8010. ΓòÉΓòÉΓòÉ 9.5.1. Writing and running your own LMP ΓòÉΓòÉΓòÉ
  8011.  
  8012. Within the SecureEntryPath\API\SOURCES\LMP directory, you have a skeleton of a 
  8013. logon procedure in order to do signon to your own subsystems. 
  8014.  
  8015. Once that file is coded, compile it and generate a DLL named EDYxxLMP.DLL (do 
  8016. not forget to change the DEF file reflecting this archive name change), where 
  8017. xx are your sybsystem identifier letters, then place the code in the DLL 
  8018. directory, and modify the file SecureEntryPath\NOUSER\EDYSSLMP.DAT, so that it 
  8019. calls your DLL at signon time. Refer to Configuration files, where this 
  8020. configuration file is described. 
  8021.  
  8022.  
  8023. ΓòÉΓòÉΓòÉ 9.5.2. API entry points ΓòÉΓòÉΓòÉ
  8024.  
  8025. Follows a description of the entry points available for LMPs. 
  8026.  
  8027.      EdySignOn 
  8028.  
  8029.       In this function you are supposed to do the signon to your subsystem, 
  8030.       activating any subsystem specific resource configured to be accessible at 
  8031.       signon time (i.e, logon assignments for Lan Server), and take note of the 
  8032.       userid, password and domain (if required) of the signed on user for 
  8033.       further requests. Note that replying OK to this function implies that you 
  8034.       validate and grant access to the passed on user with the passed on 
  8035.       password. SecureEntry will not call you to do a second signon while a 
  8036.       user is already in signon state. (The sign-off API will be called first). 
  8037.  
  8038.       This API is called in your order of appearance within the EDYSSLMP.DAT 
  8039.       configuration file, with respect to other LMPs. 
  8040.  
  8041.      EdySignOff 
  8042.  
  8043.       In this function you have to issue a subsystem sign-off, reset your 
  8044.       variables and take note that from now on your subsystem is in a signed 
  8045.       off state. 
  8046.  
  8047.      EdyForcePassword 
  8048.  
  8049.       This API will only be called if you are being synchronized by other LMP, 
  8050.       i.e, RACF or similar. It means that you have to force the password for 
  8051.       the passed userid to the newly provided one. Note that if you use the 
  8052.       supplied skeleton, it has implemented a security mechanism by which only 
  8053.       SecureEntry in a safe state (id granted) can call this API. 
  8054.  
  8055.      EdyQueryUserid 
  8056.  
  8057.       Within this API you are requested to reply the signon parameters as they 
  8058.       were passed to you, in order to know who is signed on for your subsystem. 
  8059.  
  8060.      EdyPwSyntaxValidation 
  8061.  
  8062.       In this entry point you are supposed to verify the syntax of a given 
  8063.       password, that is, if the password would be accepted as valid for a user 
  8064.       in a change password operation for your subsystem. 
  8065.  
  8066.      EdyIdSyntaxValidation 
  8067.  
  8068.       In this entry point you are supposed to verify the syntax of a given 
  8069.       userid, that is, if the userid would be accepted as valid for a user in a 
  8070.       change password operation for your subsystem. 
  8071.  
  8072.      EdyUserPwValidation 
  8073.  
  8074.       This API will be used by SecureEntry to verify the userid and password of 
  8075.       a given user without issuing a real signon, just replying if the tuple is 
  8076.       valid for your subsystem. This API may be called to you by SecureEntry in 
  8077.       the name of end user applications. 
  8078.  
  8079.  
  8080. ΓòÉΓòÉΓòÉ 9.5.3. Rules to follow ΓòÉΓòÉΓòÉ
  8081.  
  8082. When writing LMPs, take note of the following : 
  8083.  
  8084.      All of the entry points are mandatory, except the force password one. 
  8085.       This one is only used if your DLL is synchronized by another one. If 
  8086.       yours is the synchronizer, you can leave this entry point empty since it 
  8087.       will never be called. 
  8088.  
  8089.      Use the skeleton file EDYxxLMP.C. It provides with security measures by 
  8090.       which only SecureEntry in a granted state can call the 'potentially 
  8091.       risky' APIs. 
  8092.  
  8093.      Do not change the input parameters you are passed with by reference. 
  8094.  
  8095.      Always return with errors that are defined in the EDYERROR.TXT, or fill 
  8096.       up the error string if providing new errors. 
  8097.  
  8098.      Do not store pointers to passed parameter across calls. I.e, the buffer 
  8099.       you are passed with the userid may not be valid after you have replied to 
  8100.       the signon call. 
  8101.  
  8102.  
  8103. ΓòÉΓòÉΓòÉ 9.6. Programming your own administration tools ΓòÉΓòÉΓòÉ
  8104.  
  8105. There are currently three different levels of administration equivalent API's 
  8106. to do your own development : 
  8107.  
  8108.      The Command line API (EDYADMIN program) 
  8109.  
  8110.      The REXX API 
  8111.  
  8112.      The 'C' API 
  8113.  
  8114.  All of these interfaces deal with the same objects, and you may wish to use 
  8115.  the appropriate one depending on your coding experience and requirements. 
  8116.  
  8117.  As an introduction to the API, and at a generic level, there are four main 
  8118.  functions (add, delete, update and view) defined over a set of 7 different 
  8119.  object types : 
  8120.  
  8121.      User object which stores the characteristics (keywords) of a given user. 
  8122.       These are the user logon data and security profiles. 
  8123.  
  8124.      Group object which stores the characteristics (keywords) of a given 
  8125.       group. This are the group logon data and security profiles. 
  8126.  
  8127.      Resource object which stores the characteristics of a given resource. 
  8128.       This one is only used under LAN SERVER environments, and refers to 
  8129.       shareable resources with associated ALIAS names. 
  8130.  
  8131.      UserGroup object which stores a ownership relation between a user and a 
  8132.       group, and has no other attributes. 
  8133.  
  8134.      GroupGroup object which stores a ownership relation between a group and 
  8135.       another group, and has no other attributes. This object type is only used 
  8136.       in standalone environments, where you can define one group as belonging 
  8137.       to another one. 
  8138.  
  8139.      ResourceUser object which stores a 'uses' relation between a resource and 
  8140.       a user. The associated keywords for this relation are the logon 
  8141.       assignment and sharing mode. 
  8142.  
  8143.      ResourceGroup object which stores a 'uses' relation between a resource 
  8144.       and a user. The associated keywords for this relation are the logon 
  8145.       assignment and sharing mode. 
  8146.  
  8147.  So, for instance, if you wanted to add a new user to the database, you should 
  8148.  do : 
  8149.  
  8150.    1. Execute a User object ADD call passing the necessary keywords to describe 
  8151.       the security profiles and user data (LAN_DATA). The user data keyword 
  8152.       describes characteristics such as user logon hours, description, 
  8153.       password,... 
  8154.  
  8155.    2. Execute a UserGroup object ADD call to make the user part of all 
  8156.       necessary groups (one call for each desired group relationship). 
  8157.  
  8158.    3. Execute a ResourceUser object ADD call to make the user use the required 
  8159.       resources (one call for each desired resource relationship). 
  8160.  
  8161.  
  8162. ΓòÉΓòÉΓòÉ 9.6.1. The EDYADMIN utility ΓòÉΓòÉΓòÉ
  8163.  
  8164. This utility, located in the SecureEntryPath, EXEC directory can be used to 
  8165. call the API from batch files without any restriction, allowing full usage of 
  8166. the administration API. 
  8167.  
  8168. The syntax for this command is : 
  8169.  
  8170.  
  8171.   EDYADMIN [S=subsystem] Command Objecttype=objectid[,objectid2] [keyword]
  8172.  
  8173.  Subsystem Name of the agent to process it. You will normally not use this 
  8174.            option if working with the default SecureEntry subsystem (this 
  8175.            option is intended for developing of customer SecureEntry subsystem 
  8176.            agents). 
  8177.  
  8178.  Command   A valid command name. These are : 
  8179.  
  8180.                Add 
  8181.  
  8182.                Delete 
  8183.  
  8184.                Update 
  8185.  
  8186.                View 
  8187.  
  8188.  Objecttype A valid object type name. These are : 
  8189.  
  8190.                Group 
  8191.  
  8192.                GROUPGroup 
  8193.  
  8194.                Resource 
  8195.  
  8196.                RESOURCEGroup 
  8197.  
  8198.                RESOURCEUser 
  8199.  
  8200.                Subsystem 
  8201.  
  8202.                User 
  8203.  
  8204.                USERGroup 
  8205.  
  8206.  Objectid[,objectid2] Valid object(s) name. Place them separated by a comma for 
  8207.            object types that deal with more than one object id. 
  8208.  
  8209.  Keyword   Valid keywords string list (separated by commas). For instance, 
  8210.  
  8211.                           LAUNCHPAD=@myfile1,LAN_DATA=DESCRIPTION=A user
  8212.  
  8213.            Note that the keyword id is always the name to the left of the first 
  8214.            equal sign per each keyword string. You can indirect a value by 
  8215.            using the @ sign. 
  8216.  
  8217.  Usage Samples : 
  8218.  
  8219.     EDYADMIN A U=JOHN
  8220.                        Adds user John with default values
  8221.     EDYADMIN A USERG=JOHN,TELLERS
  8222.                        Adds link of user John to TELLERS group
  8223.     EDYADMIN U U=JOHN DESKTOP=@EDYDESK.INI
  8224.                        Updates Johns desktop with file
  8225.     EDYADMIN U U=JOHN LAN_DATA=FULL_NAME=John Smith DESCRIPTION=A teller
  8226.                        Updates Johns name
  8227.     EDYADMIN V USERG=*,*
  8228.                        View all userids belonging to any group
  8229.     EDYADMIN V USERG=*,TELLERS
  8230.                        View all userids belonging to group TELLERS
  8231.     EDYADMIN V USERG=*,
  8232.                        View all users not belonging to any group
  8233.  
  8234.  
  8235. ΓòÉΓòÉΓòÉ 9.6.2. The REXX API ΓòÉΓòÉΓòÉ
  8236.  
  8237. The SecureEntry REXX API is built into the rexx dll named RXUCM. The batch 
  8238. administration tools are good samples of its usage, namely EDYERASE.CMD, 
  8239. EDYADMIN.CMD and EDYDEFS.CMD. Follow the description of the provided API 
  8240. functions : 
  8241.  
  8242.      RxEdyUcmLoadFuncs 
  8243.  
  8244.       This function is used to load the rest of the API, as in the following 
  8245.       sample: 
  8246.  
  8247.  
  8248.                If RxFuncQuery('RxEdyUcmLoadFuncs') Then
  8249.                do
  8250.                  call RxFuncAdd 'RxEdyUcmLoadFuncs', 'RXUCM', 'RxEdyUcmLoadFuncs'
  8251.                  call RxEdyUcmLoadFuncs
  8252.                end
  8253.  
  8254.      RxEdyUcmDropFuncs 
  8255.  
  8256.       This function is used to unload the API functions, as in the following 
  8257.       sample: 
  8258.  
  8259.  
  8260.                call RxEdyUcmDropFuncs
  8261.  
  8262.      RxEdyUcmGetError 
  8263.  
  8264.       This function returns a descriptive error message concerning the last 
  8265.       issued API function which ended up in error, as in the following sample : 
  8266.  
  8267.  
  8268.                say RxEdyUcmGetError()
  8269.  
  8270.       Note that the reported error has always the format : 
  8271.  
  8272.  
  8273.               ERROR:errorcode SEVERITY:severity TYPE:type MESSAGE:message
  8274.  
  8275.       Where: 
  8276.  
  8277.       errorcode      Numeric error code 
  8278.  
  8279.       severity       Severity level for the error. 
  8280.  
  8281.                      The following convention is used by the different 
  8282.                      SecureEntry components : 
  8283.  
  8284.                        -  'E' for error 
  8285.  
  8286.                        -  'W' for warning 
  8287.  
  8288.                        -  'I' for informative 
  8289.  
  8290.       type           Type of error. 
  8291.  
  8292.                      This intends to help locate the component which generated 
  8293.                      the error. It is a four char string, where the convention 
  8294.                      used has been that the first two represent the component 
  8295.                      who posted the error, and the second two represent the 
  8296.                      subcomponent. As a sample : 
  8297.  
  8298.                        -  UCSQ Means that the UCM agent encountered a DB2 SQL 
  8299.                           error. 
  8300.  
  8301.                        -  LSER Means that the Lan Server agent encountered a 
  8302.                           Lan Server API error. 
  8303.  
  8304.                        -  SESR Means that the SecureEntry agent gave an error 
  8305.                           posted by the registry component. 
  8306.  
  8307.                        -  RXUC Means that the error was produced within the 
  8308.                           RXUCM DLL itself. 
  8309.  
  8310.       message        Descriptive message for the error. 
  8311.  
  8312.       Note that the components are not to follow this conventions mandatory, 
  8313.       but just advisory. Note also that not all of the functions will always 
  8314.       return errors that can be retrieved through this function, but just the 
  8315.       indicated ones. 
  8316.  
  8317.      RxEdyUcm_AddObj 
  8318.  
  8319.       This function adds a new object to the repository. The correct invocation 
  8320.       parameters are shown by the following syntax diagram : 
  8321.  
  8322.  
  8323.                rc=RxEdyUcm_AddObj(subsystem,objecttype,objectname1,objectname2,'keysstem')
  8324.  
  8325.       Where: 
  8326.  
  8327.       subsystem      is the subsystem identification for the agent to process 
  8328.                      the call. 
  8329.  
  8330.                      Normally you should use always 'SENT' for SecureEntry 
  8331.                      administration. 
  8332.  
  8333.       objecttype     Is the object type for the function. 
  8334.  
  8335.                      Valid object types are : 
  8336.  
  8337.                        -  'GROUP' 
  8338.  
  8339.                        -  'GROUPGROUP' 
  8340.  
  8341.                        -  'RESOURCE' 
  8342.  
  8343.                        -  'RESOURCEGROUP' 
  8344.  
  8345.                        -  'RESOURCEUSER' 
  8346.  
  8347.                        -  'SUBSYSTEM' 
  8348.  
  8349.                        -  'USER' 
  8350.  
  8351.                        -  'USERGROUP' 
  8352.  
  8353.       objectname1 and objectname2 These are the id(s) for the object to be 
  8354.                      processed. Use the second one for complex objects which 
  8355.                      require two id's. If this field is not needed, a blank 
  8356.                      string ('') must be placed. 
  8357.  
  8358.       keysstem       This is the name of a REXX stem where the keywords and 
  8359.                      associated values for the object are stored, following 
  8360.                      regular REXX standards, i.e the 0th element contains the 
  8361.                      number of elements, and the rest are of the form 
  8362.                      'keyname=keyvalue'. 
  8363.  
  8364.       This function will return : 
  8365.  
  8366.         -  'OK' for correct operation 
  8367.  
  8368.         -  'WARNING' for warning return code 
  8369.  
  8370.         -  'ERROR' for error/not completed operation 
  8371.  
  8372.       If you receive an error or a warning, then the RxEdyUcmGetError function 
  8373.       can be used to retrieve further information about it. 
  8374.  
  8375.      RxEdyUcm_UpdateObj 
  8376.  
  8377.       This function updates an existing object in the repository. the correct 
  8378.       invocation parameters are shown by the following syntax diagram : 
  8379.  
  8380.  
  8381.                rc=RxEdyUcm_UpdateObj(subsystem,objecttype,objectname1,objectname2,'keysstem')
  8382.  
  8383.       Where: 
  8384.  
  8385.       subsystem      is the subsystem identification for the agent to process 
  8386.                      the call. 
  8387.  
  8388.                      Normally you should use always 'SENT' for SecureEntry 
  8389.                      administration. 
  8390.  
  8391.       objecttype     Is the object type for the function. Valid object types 
  8392.                      are : 
  8393.  
  8394.                        -  'GROUP' 
  8395.  
  8396.                        -  'GROUPGROUP' 
  8397.  
  8398.                        -  'RESOURCE' 
  8399.  
  8400.                        -  'RESOURCEGROUP' 
  8401.  
  8402.                        -  'RESOURCEUSER' 
  8403.  
  8404.                        -  'SUBSYSTEM' 
  8405.  
  8406.                        -  'USER' 
  8407.  
  8408.                        -  'USERGROUP' 
  8409.  
  8410.       objectname1 and objectname2 These are the id(s) for the object to be 
  8411.                      processed. Use the second one for complex objects which 
  8412.                      require two id's. If this field is not needed, a blank 
  8413.                      string ('') must be placed. 
  8414.  
  8415.       keysstem       This is the name of a REXX stem where the keywords and 
  8416.                      associated values for the object are stored, following 
  8417.                      regular REXX standards, i.e the 0th element contains the 
  8418.                      number of elements, and the rest are of the form 
  8419.                      'keyname=keyvalue'. 
  8420.  
  8421.       This function will return : 
  8422.  
  8423.         -  'OK' for correct operation 
  8424.  
  8425.         -  'WARNING' for warning return code 
  8426.  
  8427.         -  'ERROR' for error/not completed operation 
  8428.  
  8429.       If you receive an error or a warning, then the RxEdyUcmGetError function 
  8430.       can be used to retrieve further information about it. 
  8431.  
  8432.      RxEdyUcm_ViewObj 
  8433.  
  8434.       This function retrieves an existing object from the repository. the 
  8435.       correct invocation parameters are shown by the following syntax diagram : 
  8436.  
  8437.  
  8438.                keysstem.0=0
  8439.                rc=RxEdyUcm_ViewObj(subsystem,objecttype,objectname1,objectname2,'keysstem')
  8440.  
  8441.       Where: 
  8442.  
  8443.       subsystem      is the subsystem identification for the agent to process 
  8444.                      the call. Normally you should use always 'SENT' for 
  8445.                      SecureEntry administration. 
  8446.  
  8447.       objecttype     Is the object type for the function. Valid object types 
  8448.                      are : 
  8449.  
  8450.                        -  'GROUP' 
  8451.  
  8452.                        -  'GROUPGROUP' 
  8453.  
  8454.                        -  'RESOURCE' 
  8455.  
  8456.                        -  'RESOURCEGROUP' 
  8457.  
  8458.                        -  'RESOURCEUSER' 
  8459.  
  8460.                        -  'SUBSYSTEM' 
  8461.  
  8462.                        -  'USER' 
  8463.  
  8464.                        -  'USERGROUP' 
  8465.  
  8466.       objectname1 and objectname2 These are the id(s) for the object to be 
  8467.                      processed. Use the second one for complex objects which 
  8468.                      require two id's. If this field is not needed, a blank 
  8469.                      string ('') must be placed. 
  8470.  
  8471.       keysstem       This is the name of a REXX stem where the returned 
  8472.                      keywords and associated values for the object will be 
  8473.                      stored, following regular REXX standards, i.e the 0th 
  8474.                      element will contain the number of elements, and the rest 
  8475.                      are of the form 'keyname=keyvalue'. 
  8476.  
  8477.                      Note that the 0'th element of the stem is initialized to 
  8478.                      0, indicating that we request for all information about 
  8479.                      the object. Some agents will accept and serve requests 
  8480.                      taking keywordstem as an input parameter also for 
  8481.                      retrieving specific keywords values. This is why you are 
  8482.                      encouraged not to forget this initialization in order to 
  8483.                      avoid erratic program behavior. 
  8484.  
  8485.       This function will return : 
  8486.  
  8487.         -  'OK' for correct operation 
  8488.  
  8489.         -  'WARNING' for warning return code 
  8490.  
  8491.         -  'ERROR' for error/not completed operation 
  8492.  
  8493.       If you receive an error or a warning, then the RxEdyUcmGetError function 
  8494.       can be used to retrieve further information about it. 
  8495.  
  8496.      RxEdyUcm_DeleteObj 
  8497.  
  8498.       This function deletes an existing object from the repository. the correct 
  8499.       invocation parameters are shown by the following syntax diagram : 
  8500.  
  8501.  
  8502.                rc=RxEdyUcm_DeleteObj(subsystem,objecttype,objectname1,objectname2,'keysstem')
  8503.  
  8504.       Where: 
  8505.  
  8506.       subsystem      is the subsystem identification for the agent to process 
  8507.                      the call. Normally you should use always 'SENT' for 
  8508.                      SecureEntry administration. 
  8509.  
  8510.       objecttype     Is the object type for the function. Valid object types 
  8511.                      are : 
  8512.  
  8513.                        -  'GROUP' 
  8514.  
  8515.                        -  'GROUPGROUP' 
  8516.  
  8517.                        -  'RESOURCE' 
  8518.  
  8519.                        -  'RESOURCEGROUP' 
  8520.  
  8521.                        -  'RESOURCEUSER' 
  8522.  
  8523.                        -  'SUBSYSTEM' 
  8524.  
  8525.                        -  'USER' 
  8526.  
  8527.                        -  'USERGROUP' 
  8528.  
  8529.       objectname1 and objectname2 These are the id(s) for the object to be 
  8530.                      processed. Use the second one for complex objects which 
  8531.                      require two id's. If this field is not needed, a blank 
  8532.                      string ('') must be placed. 
  8533.  
  8534.       keysstem       This is the name of a REXX stem where the keywords and 
  8535.                      associated values for the object are stored, following 
  8536.                      regular REXX standards, i.e the 0th element contains the 
  8537.                      number of elements, and the rest are of the form 
  8538.                      'keyname=keyvalue'. It is taken as an input parameter for 
  8539.                      selectively deleting only some keywords, and not the full 
  8540.                      object. This is why, when desiring to delete the complete 
  8541.                      object, you should set this parameter to the void string 
  8542.                      (''). 
  8543.  
  8544.       This function will return : 
  8545.  
  8546.         -  'OK' for correct operation 
  8547.  
  8548.         -  'WARNING' for warning return code 
  8549.  
  8550.         -  'ERROR' for error/not completed operation 
  8551.  
  8552.       If you receive an error or a warning, then the RxEdyUcmGetError function 
  8553.       can be used to retrieve further information about it. 
  8554.  
  8555.      RxEdyUcm_SetAgent 
  8556.  
  8557.       This function can be used when developing specific agents for the API, in 
  8558.       order to tell the Rexx API to redirect all requests directly to the 
  8559.       agent, and do not go through the 'selector' agent. This way you can test 
  8560.       in a non SecureEntry environment before the integration phase. The 
  8561.       invocation command is : 
  8562.  
  8563.  
  8564.                rc=RxEdyUcm_SetAgent(agentid)
  8565.  
  8566.       Where agentid is the two character string that identifies the agent DLL, 
  8567.       which will have to be called : EDYxxAGT.DLL. 
  8568.  
  8569.       This function will return : 
  8570.  
  8571.         -  'OK' for correct operation 
  8572.  
  8573.         -  'ERROR' for error/not completed operation 
  8574.  
  8575.       If you receive an error or a warning, then the RxEdyUcmGetError function 
  8576.       can be used to retrieve further information about it. 
  8577.  
  8578.      RxEdyUcm_QueryUsersDB 
  8579.  
  8580.       This function allows you to query the location of the local users 
  8581.       database. Takes no parameters and will return the component ID for the 
  8582.       database. The invocation sample is : 
  8583.  
  8584.  
  8585.                locdb=RxEdyUcm_QueryUsersDB()
  8586.  
  8587.       The return values can be: 
  8588.  
  8589.         -  'SR' For SecureEntry registry 
  8590.  
  8591.         -  'LS' For Lan server UPM 
  8592.  
  8593.         -  'ERROR' If any error. Use then the RxEdyUcmGetError function to 
  8594.            obtain further information if required. 
  8595.  
  8596.      RxEdyUcm_Enable_Remote 
  8597.  
  8598.       This function will enable/disable remote access of the rest of the API 
  8599.       when UCM is present, independent of the SGM_UCM_ENABLE environment 
  8600.       variable setting and only valid for the current process. It takes one 
  8601.       argument which can be 0 or 1. As a sample : 
  8602.  
  8603.  
  8604.                rc=RxEdyUcm_Enable_Remote(0)
  8605.  
  8606.       This function will return : 
  8607.  
  8608.         -  'OK' for correct operation 
  8609.  
  8610.         -  'ERROR' for error/not completed operation 
  8611.  
  8612.       If you receive an error or a warning, then the RxEdyUcmGetError function 
  8613.       can be used to retrieve further information about it. 
  8614.  
  8615.      RxEdyUcm_Connect 
  8616.  
  8617.       Use this function to inform the administration subsystem that you are to 
  8618.       start working with the API, and issue the required DB2 connect whenever 
  8619.       host access is required. 
  8620.  
  8621.       The sample invocation code looks like : 
  8622.  
  8623.  
  8624.                rc=RxEdyUcm_Connect()
  8625.  
  8626.       This function will return : 
  8627.  
  8628.         -  'OK' for correct operation 
  8629.  
  8630.         -  'ERROR' for error/not completed operation 
  8631.  
  8632.       If you receive an error or a warning, then the RxEdyUcmGetError function 
  8633.       can be used to retrieve further information about it. 
  8634.  
  8635.      RxEdyUcm_Disconn 
  8636.  
  8637.       Use this function to inform the administration subsystem that you have 
  8638.       ended working with the API, and issue the required DB2 disconnect if host 
  8639.       access was issued. 
  8640.  
  8641.       The sample invocation code looks like : 
  8642.  
  8643.  
  8644.                rc=RxEdyUcm_Disconn()
  8645.  
  8646.       This function will return : 
  8647.  
  8648.         -  'OK' for correct operation 
  8649.  
  8650.         -  'ERROR' for error/not completed operation 
  8651.  
  8652.       If you receive an error or a warning, then the RxEdyUcmGetError function 
  8653.       can be used to retrieve further information about it. 
  8654.  
  8655.      RxEdyUcm_GetUser 
  8656.  
  8657.       Use this function to obtain information about the currently logged on 
  8658.       user. It will not normally return an error, and the invocation code is : 
  8659.  
  8660.  
  8661.                userinfo=RxEdyUcm_GetUser()
  8662.  
  8663.       The returned string can easily be parsed since it is of the form : 
  8664.  
  8665.  
  8666.                USER:username GROUP:groupname DOMAIN:domainname COMPUTER:computername ADMIN:x
  8667.  
  8668.       Where x can be 0 or 1. 
  8669.  
  8670.  
  8671. ΓòÉΓòÉΓòÉ 9.6.3. The 'C' API ΓòÉΓòÉΓòÉ
  8672.  
  8673. A mapping of the same API explained as the REXX API exists for 'C' programs. 
  8674. You can find the related include and library files within the SecureEntryPath, 
  8675. API\SOURCES\EDYUCM path, as well as a commented sample program to list the 
  8676. first level defined groups. What follows is a description of the API and 
  8677. differences with the already discussed, REXX API: 
  8678.  
  8679. The following functions are available, and predefined in the EDYSLAGT.H file : 
  8680.  
  8681.      EdyUcm_Enable_Remote 
  8682.  
  8683.       This function is only useful when you grant access to the local database, 
  8684.       even if users centralized management (UCM) is installed. The idea is to 
  8685.       do the following : 
  8686.  
  8687.                       ...
  8688.                       Centralized processing calls
  8689.                       ...
  8690.                       EdyUcm_Enable_Remote(0)
  8691.                         ...
  8692.                         Local administration calls
  8693.                         ...
  8694.                       EdyUcm_Enable_Remote(1)
  8695.                       ...
  8696.                       Centralized processing calls
  8697.                       ...
  8698.  
  8699.       So, the real function of this API is to inform the administration 
  8700.       subsystem when the administration functions have to be redirected against 
  8701.       the local database instead of the host DB2 UCM database. Note that the 
  8702.       parameter sets a boolean flag, not a recursive counter. 
  8703.  
  8704.      EdyUcm_Connect 
  8705.  
  8706.       This function call is only mandatory when using the UCM centralized 
  8707.       management option. Its mission is to do the DBM connect to the database, 
  8708.       and takes no parameters. In the event that your code requires this call, 
  8709.       it must be the first call before any other API call. 
  8710.  
  8711.      EdyUcm_Disconn 
  8712.  
  8713.       This is the opposite to the previous call. Only mandatory if UCM is in 
  8714.       use, must then be the last call to the administration API before your 
  8715.       program terminates. Takes one parameter of type long, that is only used 
  8716.       when UCM is available, and indicates whether to commit or rollback the 
  8717.       changes made before disconnecting. (set to 0 for commit, 1 for rollback). 
  8718.       Note that at this point and since most UCM API calls are atomic, it does 
  8719.       not really matter what parameter you code for this function, but it we 
  8720.       suggest you to code commit or rollback appropriately just in case 
  8721.       SecureEntry/2 in the future provides for transactional integrity across 
  8722.       calls. 
  8723.  
  8724.      EdyUcm_AddObj 
  8725.  
  8726.       This function, like its REXX counterpart, can be used to add objects of a 
  8727.       given type to the repository. See Common parameters definition 
  8728.  
  8729.      EdyUcm_DeleteObj 
  8730.  
  8731.       This function, like its REXX counterpart, is used to delete objects of a 
  8732.       given type to the repository, or specific keywords. See Common parameters 
  8733.       definition 
  8734.  
  8735.      EdyUcm_UpdateObj 
  8736.  
  8737.       This function, like its REXX counterpart, can be used to modify, add or 
  8738.       delete keyword/value pairs from a given existing object. See Common 
  8739.       parameters definition 
  8740.  
  8741.      EdyUcm_ViewObj 
  8742.  
  8743.       This function, like its REXX counterpart, is used to view a given object, 
  8744.       that is, obtain the list of keyword/values associated to a given existing 
  8745.       object. See Common parameters definition 
  8746.  
  8747.      EdyUcm_FreeMemUcm 
  8748.  
  8749.       This function is to be used after the EdyUcmViewObj, to free up the 
  8750.       resources allocated by that call. 
  8751.  
  8752.  Common parameters definition: Parameters for the Add, Update, Delete and View 
  8753.  functions : 
  8754.  
  8755.  Ucm_ObjectType Object type to process: 
  8756.  
  8757.            USR            User 
  8758.  
  8759.            GRP            Group 
  8760.  
  8761.            RES            Resource 
  8762.  
  8763.            USR_GRP        Link user-group 
  8764.  
  8765.            RES_USR        Link resource-user 
  8766.  
  8767.            GRP_GRP        Link group-group 
  8768.  
  8769.            RES_GRP        Link resource-group 
  8770.  
  8771.  void *    Pointer to a structure that contains the data for each object type. 
  8772.            The structure is Ucm_XxxXxxData where XxxXxx is the object type 
  8773.            used. This structure will always be an input parameter and has the 
  8774.            following fields : 
  8775.  
  8776.            Subsystem      This is the subsystem destination ID. Set to the 
  8777.                           string 'SENT' for SecureEntry administration. 
  8778.  
  8779.            Object instance Ids These are one or two fields, which are used to 
  8780.                           select the appropriate object instance (i.e to get 
  8781.                           the information about a user named john, the user id 
  8782.                           should be set to 'JOHN'). 
  8783.  
  8784.            Condition      Leave this field blank if not using UCM (initialized 
  8785.                           to 0's). Otherwise, it can be set to the SQL select 
  8786.                           condition to run against the specified table. 
  8787.  
  8788.  unsigned short Number of keyword definitions to process. On view calls, set 
  8789.            this field normally to 0, unless you want to obtain specifically 
  8790.            some object keywords, and not all of them. 
  8791.  
  8792.  Ucm_KeyData * Pointer to a structure that is an array of Ucm_KeyData elements, 
  8793.            containing the keyword definitions. For the View function, this 
  8794.            parameter is Ucm_KeyData **, and as with the previous field, you can 
  8795.            set this to point to a NULL initialized pointer, unless you want to 
  8796.            obtain specifically some of the object keywords, and not all of 
  8797.            them. 
  8798.  
  8799.  Ucm_Error * Pointer to a Ucm_Error structure, that contains all the necessary 
  8800.            information to access the error. 
  8801.  
  8802.            nerror         This is the error code 
  8803.  
  8804.            severity       This is the error severity, as defined in the include 
  8805.                           file (i.e, 'I','W', 'E','C','S'), 
  8806.  
  8807.            Type           This is the error type, and gives a clue on what type 
  8808.                           of error code the structure is returning : 
  8809.  
  8810.                           UCSQ           UCM SQL error (Look for errorcode in 
  8811.                                          the SQL reference) 
  8812.  
  8813.                           UCAP           UCM API error (Look for errorcode in 
  8814.                                          the EDYSLAGT.H file) 
  8815.  
  8816.                           UCME           UCM memory error (not enough 
  8817.                                          resources) 
  8818.  
  8819.                           LSER           Lan Server error (Look into Lan server 
  8820.                                          error documentation) 
  8821.  
  8822.                           SESR           SecureEntry registry error (as defined 
  8823.                                          in EDYERROR.H) 
  8824.  
  8825.            msg            Descriptive message 
  8826.  
  8827.            asoc_struc     Not used by now 
  8828.  
  8829.  Default allowable keywords 
  8830.  
  8831.      Keywords for object type USER 
  8832.  
  8833.         -  LAN_DATA: the values for these keyword are pairs of 
  8834.            (subkeyword=value) separated by binary 0 bytes, with a trailing 
  8835.            final 0 (i.e, same as when dealing with a program environment). The 
  8836.            type for this keyword must be 'A' (ASCII). The allowable subkeywords 
  8837.            expected in the value field are : 
  8838.  
  8839.              -- HOUR_START   start logon allowed hour 
  8840.  
  8841.              -- HOUR_END    end logon allowed hour 
  8842.  
  8843.              -- PRIV_USER    ADMIN,USER, or GUEST (Only for Lan Server 
  8844.                 environments) 
  8845.  
  8846.              -- FULL_NAME    Full name 
  8847.  
  8848.              -- CONNECTION   1 (allowed), 0 (not allowed) 
  8849.  
  8850.              -- USER_EXPIRE   NEVER, or day-month-year 
  8851.  
  8852.              -- DESCRIPTION   Free text description 
  8853.  
  8854.              -- PASSWORD    User password, only valid as input 
  8855.  
  8856.              -- PASSWD_EXPIRED 1 (expire password), 0 (do not expire password) 
  8857.  
  8858.              -- HOME_DIR    \\MachineName\x$\path, or x:\MachineName\x$\path. 
  8859.                 Only valid in Lan Server environments 
  8860.  
  8861.              -- MAX_STORAGE   As required by Lan Server. -1=no limit. Only 
  8862.                 valid in Lan Server environments 
  8863.  
  8864.              -- SCRIPT_PATH   As required by Lan Server. Only valid in Lan 
  8865.                 Server environments 
  8866.  
  8867.         -  Other: The keyword is assumed to be a security component 
  8868.            identificator, as described in the 'SENTRY.DSC' file located within 
  8869.            the SecureEntry path, INSTALL directory. The type is expected to be 
  8870.            'B' (binary), and values are buffers with the complete copy of the 
  8871.            file data, with a leading LONG set equal to 4. 
  8872.  
  8873.      Keywords for object type GROUP 
  8874.  
  8875.         -  LAN_DATA: the values for these keyword are pairs of 
  8876.            (subkeyword=value) separated by binary 0 bytes, with a trailing 
  8877.            final 0 (i.e, same as when dealing with a program environment). The 
  8878.            type for this keyword must be 'A' (ASCII). The allowable subkeywords 
  8879.            expected in the value field are : 
  8880.  
  8881.              -- DESCRIPTION   Free text description 
  8882.  
  8883.              -- FULL_NAME    Full name 
  8884.  
  8885.         -  Other: The keyword is assumed to be a security component 
  8886.            identificator, as described in the 'SENTRY.DSC' file located within 
  8887.            the SecureEntry path, INSTALL directory. The type is expected to be 
  8888.            'B' (binary), and values are buffers with the complete copy of the 
  8889.            file data, with a leading LONG set equal to 4. 
  8890.  
  8891.      Keywords for object type RESOURCE 
  8892.  
  8893.       This objects are only supported in Lan Server environment. All of the 
  8894.       defined keywords are of type 'A' (ASCII). The id for this object is the 
  8895.       alias name. 
  8896.  
  8897.         -  SERVER    Server name 
  8898.  
  8899.         -  TYPE     FILES, TREE, PRINTER or SERIAL 
  8900.  
  8901.         -  WHEN_SHARED  STARTUP, BYADMIN, or DYNAMIC 
  8902.  
  8903.         -  RESNAME    Resource name 
  8904.  
  8905.         -  DESCRIPTION  Free text description 
  8906.  
  8907.         -  MAX_CONN   Max number of supported connections 
  8908.  
  8909.      Keywords for object type RESOURCEGROUP and RESOURCEUSER 
  8910.  
  8911.       These are 'A' (ASCII) type keywords, only valid for Lan Server 
  8912.       environments. 
  8913.  
  8914.         -  ACCESS    Access type, i.e RWX 
  8915.  
  8916.         -  LOGON_ASN  Logon assignment device 
  8917.  
  8918.      Keywords for object type USERGROUP and GROUPGROUP 
  8919.  
  8920.       No keywords defined. 
  8921.  
  8922.  Objects listing 
  8923.  
  8924.  If you want to list the objects existing of a given type, you should issue an 
  8925.  EdyUcm_ViewObj call, but setting the appropriate object IDs as '*'. This will 
  8926.  generate a list of all the objects found matching the criteria within the 
  8927.  returned keyword structure. Note that the only exception to this rule is when 
  8928.  listing users or groups. You can only access the list of users or groups in a 
  8929.  way that works in all environments by viewing the appropriate USERGROUP or 
  8930.  GROUPGROUP object list, as shown in the sample provided (LISTGRP.C). 
  8931.  
  8932.  Additional notes: 
  8933.  
  8934.      Error reporting : Errors are returned in a per function basis within the 
  8935.       provided error structure (Ucm_Error) in the C API. The function call ret. 
  8936.       code for the EdyUcm_xxxObj functions will be : 
  8937.  
  8938.         -  Rc=0  Function successful 
  8939.  
  8940.         -  Rc<0  Error. Function not performed. Look into the error structure 
  8941.            for further information. 
  8942.  
  8943.         -  Rc>0  Warning. Function performed, but an unexpected condition was 
  8944.            found. Look into the error structure for further information. 
  8945.  
  8946.      Remember to initialize all structures whenever calling the API. Unless 
  8947.       otherwise noted, all fields should be set to 0. This includes the error 
  8948.       (Ucm_Error) and keywords structure (Ucm_KeyData). 
  8949.  
  8950.      Remember to free up the memory for the returned KeyData buffers using the 
  8951.       function EdyUcm_FreeMemUcm(). This is necessary only for API returned 
  8952.       structures (i.e, only in EdyUcm_ViewObj calls). 
  8953.  
  8954.      Indirection through the ' @' character is not supported within the 'C' 
  8955.       API. All component data is passed by value at this level, as explained 
  8956.       above under default allowable keywords 
  8957.  
  8958.      Uppercasing and blank stripping of ID's is not done for you at the 'C' 
  8959.       API level. 
  8960.  
  8961.      You should link and redirect calls to the 'EDYSLAGT.DLL' when working 
  8962.       with the 'C' API. 
  8963.  
  8964.  
  8965. ΓòÉΓòÉΓòÉ 9.7. SecureEntry OS/2 utilities ΓòÉΓòÉΓòÉ
  8966.  
  8967. SecureEntry provides with several tools to do all the necessary coding for a 
  8968. final security solution. This chapter describes those that run under pure OS/2 
  8969. environment. 
  8970.  
  8971.      Session event launcher : EDYUTIL 
  8972.  
  8973.      User Information display : EDYUSINF 
  8974.  
  8975.      Lan server classes override : WPSLAN 
  8976.  
  8977.      Switch list utilities : EDYSWL2 
  8978.  
  8979.      Semaphore management : EDYSEM2 
  8980.  
  8981.      Selective application closer : EDYCLOSE 
  8982.  
  8983.      CM/2 emulators manager : EDYE3270 
  8984.  
  8985.      Master boot record saver : EDYRWMBR 
  8986.  
  8987.      RACF PassTicket generation : EDYPTTST 
  8988.  
  8989.      Java APIs 
  8990.  
  8991.  
  8992. ΓòÉΓòÉΓòÉ 9.7.1. Session event launcher : EDYUTIL ΓòÉΓòÉΓòÉ
  8993.  
  8994. This command line utility allows you to launch a given session event. 
  8995.  
  8996. The command line invocation syntax is : 
  8997.  
  8998.  
  8999.      EDYUTIL TOLOCKUP | TOLOGOFF | FRLOGOFF | REBOOT
  9000.              TOSHTDWN [REBOOT] |
  9001.              FRSHTDWN [REBOOT] |
  9002.              NEXTLOGON [/CLEAR | /ASK /U:userid /P:password
  9003.                         /N:newpass /D:domain] |
  9004.              NEXTUNLOCK [/CLEAR | /ASK /U:userid|NO
  9005.                         /V:validationpassword|NO /P:password] |
  9006.              SIGNAL "aString" |
  9007.              SUPERSIGNAL "aString" |
  9008.              J_LOGON |
  9009.              J_LOGOFF
  9010.  
  9011.  TOLOCKUP            To launch a lockup event 
  9012.  
  9013.  TOLOGOFF            To launch a logoff event 
  9014.  
  9015.  FRLOGOFF            To launch a forced logoff event (not cancellable) 
  9016.  
  9017.  REBOOT              To reboot the machine immediately 
  9018.  
  9019.  TOSHTDWN            To launch a shutdown event. Use the REBOOT parameter to 
  9020.                      force a reboot once shutdown is completed 
  9021.  
  9022.  FRSHTDWN            To launch a forced shutdown event (not cancellable). Use 
  9023.                      the REBOOT parameter to force a reboot once shutdown is 
  9024.                      completed 
  9025.  
  9026.  NEXTLOGON           To prefill the next logon parms data area. When using this 
  9027.                      parameter you must specify either 
  9028.  
  9029.                          /CLEAR To erase the previous logon parms data area, 
  9030.                           or 
  9031.  
  9032.                          One or more of : 
  9033.  
  9034.                             -  /U: To set up the userid for the next logon 
  9035.  
  9036.                             -  /P: To set up the user password for the next 
  9037.                                logon 
  9038.  
  9039.                             -  /D: To set up the domain for the next logon 
  9040.  
  9041.                             -  /N: To set up the new password field for the 
  9042.                                next logon 
  9043.  
  9044.                             -  /ASK To make the default SecureEntry logon panel 
  9045.                                to prompt for entries. Otherwise, if the logon 
  9046.                                parms data area is found filled at logon time, 
  9047.                                then an automatic logon attempt will be made 
  9048.                                with the preconfigured parameters. 
  9049.  
  9050.  NEXTUNLOCK          To setup the validation password/userid to use for the 
  9051.                      current session unlock panels, and also to optionally 
  9052.                      prefill the password field during the next unlock event. 
  9053.                      When using this parameter you must specify either 
  9054.  
  9055.                          /CLEAR To erase the previous unlock parms data area, 
  9056.                           or 
  9057.  
  9058.                          One or more of : 
  9059.  
  9060.                             -  /U: To set up the informational userid for the 
  9061.                                next unlock, or NO for none 
  9062.  
  9063.                             -  /V: To set up the user password used to validate 
  9064.                                the input password for the next unlock 
  9065.  
  9066.                             -  /P: To prefill the user password used for the 
  9067.                                next unlock 
  9068.  
  9069.                             -  /ASK To make the default SecureEntry unlock 
  9070.                                panel to prompt for entries. Otherwise, if the 
  9071.                                unlock password (/P parameter) data area is 
  9072.                                found filled at unlock time, then an automatic 
  9073.                                unlock attempt will be made with that 
  9074.                                parameters. 
  9075.  
  9076.  SIGNAL              To invoke the SIGNAL user exit passing it the aString 
  9077.                      parameter. 
  9078.  
  9079.  SUPERSIGNAL         To invoke the SUPERSIGNAL user exit passing it the aString 
  9080.                      parameter. 
  9081.  
  9082.  J_LOGON             To awaken any Java listeners waiting for notification of a 
  9083.                      logon event. For this notification to take place simply 
  9084.                      add the following line in the SecureEntry 
  9085.                      UserExitAfterLogon: 
  9086.  
  9087.                                                'start /min edyutil j_logon'
  9088.  
  9089.                      Refer to Java APIs for more information on how to use the 
  9090.                      SecureEntry Java classes and interfaces. 
  9091.  
  9092.  J_LOGOFF            To awaken any Java listeners waiting for notification of a 
  9093.                      logoff event. For this notification to take place simply 
  9094.                      add the following line in the SecureEntry 
  9095.                      UserExitBeforeImminentLogoff: 
  9096.  
  9097.                                                'start /min edyutil j_logoff'
  9098.  
  9099.                      Refer to Java APIs for more information on how to use the 
  9100.                      SecureEntry Java classes and interfaces. 
  9101.  
  9102.  If the Nextlogon/Nextunlock features are used, they can be used as late as 
  9103.  within the user exit before the logon/unlock dialog, thus effectively 
  9104.  providing for an easy way to substitute the default SecureEntry logon/unlock 
  9105.  panels with a custom one. Remember, however, that for a dialog to be shown 
  9106.  within a user exit, it has to be system modal. Besides, the responsibility to 
  9107.  maintain the focus on your customized panels becomes yours. 
  9108.  
  9109.  Note that this features are very powerful, since they also allows for a way to 
  9110.  enter user data directly from a device which does not necessarily has to be 
  9111.  the keyboard. 
  9112.  
  9113.  This program is provided as a tool, but also as a sample C program, with the 
  9114.  appropriate API files for if you want to launch your own events from within 
  9115.  your applications, all of this located in the 
  9116.  SecureEntryPath\API\SOURCES\EDYFLOW directory. 
  9117.  
  9118.  Note that this program executes the events in an asynchronous way, so that it 
  9119.  will normally return control long before the indicated event is processed. 
  9120.  
  9121.  This utility is located in the SecureEntryPath\EXEC directory of the 
  9122.  workstation. 
  9123.  
  9124.  IMPORTANT NOTES 
  9125.  
  9126.  It is not allowed to use this utility during machine startup, since the 
  9127.  SecureEntry kernel is not yet fully active at this time. Should you need to 
  9128.  use it at every boot, you can do it during user exit after start up 
  9129.  processing, the earliest. 
  9130.  
  9131.  SES events are serialized by architecture. This means that you will not 
  9132.  normally be able to use this utility to launch SES events while another event 
  9133.  is being processed. A clear example of this is when you want to shutdown or 
  9134.  logoff from within a given user exit. Use instead the appropriate ret. code to 
  9135.  return from the user exit. An exception to this rule is when the logon and 
  9136.  unlock panels are being displayed. SecureEntry allows in this case you to 
  9137.  launch EDYUTIL from a background process to force a shutdown or logoff event. 
  9138.  
  9139.  
  9140. ΓòÉΓòÉΓòÉ 9.7.2. User Information display : EDYUSINF ΓòÉΓòÉΓòÉ
  9141.  
  9142. This utility displays the currently logged on user, group, domain, server, 
  9143. computer and whether it is administrator or not. 
  9144.  
  9145. The command line invocation sentence is : 
  9146.  
  9147.  
  9148.      EDYUSINF
  9149.  
  9150. It will display the information as in the following sample : 
  9151.  
  9152.  
  9153.      USER:USERID
  9154.      GROUP:
  9155.      DOMAIN:SEDOMAIN
  9156.      SERVER:\\SESRV01
  9157.      ADMIN:YES
  9158.      COMPUTER:SESRV01
  9159.  
  9160. This utility is located in the SecureEntryPath\TOOLS directory of the 
  9161. workstation. 
  9162.  
  9163.  
  9164. ΓòÉΓòÉΓòÉ 9.7.3. Lan Server classes override : WPSLAN ΓòÉΓòÉΓòÉ
  9165.  
  9166. If you are running under a Lan Server environment, then the Lan Server adds Lan 
  9167. entries to most objects system menus, which you may want not to display. In 
  9168. that case you can use the WPSLAN program to install or uninstall those entries. 
  9169.  
  9170. The command line invocation sentence is : 
  9171.  
  9172.  
  9173.   WPSLAN /U to deregister the LAN server classes
  9174.   WPSLAN /I to register and replace the LAN server classes
  9175.  
  9176. This utility is located in the SecureEntryPath\TOOLS directory of the 
  9177. workstation. 
  9178.  
  9179.  
  9180. ΓòÉΓòÉΓòÉ 9.7.4. Switch list utilities : EDYSWL2 ΓòÉΓòÉΓòÉ
  9181.  
  9182. The files that compose the Window List utility are located in the 
  9183. SecureEntryPath\TOOLS directory on the workstation. 
  9184.  
  9185. If you want to display on-line information about this procedure, enter: 
  9186.  
  9187.  
  9188.   EDYSWL2
  9189.  
  9190. This utility provides access to the task list and to the system sessions 
  9191. (Window List), even to those that are hidden. It allows for session management. 
  9192.  
  9193. The syntax for this command is: 
  9194.  
  9195.  
  9196.      EDYSWL2 [action:session]
  9197.  
  9198.  Action    Action to be performed with the specified session. The parameter 
  9199.            value can be: 
  9200.  
  9201.            HIDE           Removes the session from the Window List. 
  9202.  
  9203.            KILL           Ends the process running in the session. 
  9204.  
  9205.            SHOW           Restores the session in the Window List. 
  9206.  
  9207.            SWITCHTO       Gives control to the session. 
  9208.  
  9209.            LIST           Displays the list of sessions. No session must be 
  9210.                           specified for this action. 
  9211.  
  9212.            MINIWIN        Minimizes all windows for the specified session. 
  9213.  
  9214.            HIDEWIN        Hides all windows for the specified session. 
  9215.  
  9216.            RESTWIN        Restores all windows for the specified session. 
  9217.  
  9218.            MAXIWIN        Maximizes all windows for the specified session. 
  9219.  
  9220.            ACTIWIN        Activates all windows for the specified session. 
  9221.  
  9222.            DEACWIN        Deactivates all windows for the specified session. 
  9223.  
  9224.            CLOSWIN        Closes all windows for the specified session. 
  9225.  
  9226.            Note that all the *WIN actions are performed against the windows, 
  9227.            and not the switch list entries, in an asynchronous mode (rc=0 only 
  9228.            means that the message has been sent). 
  9229.  
  9230.  Session   Session that will be affected by the action. The parameter value can 
  9231.            be specified in different formats: 
  9232.  
  9233.            HSWL:handle    Where handle is the Window List handle in 
  9234.                           hexadecimal. 
  9235.  
  9236.            PID:pid        Where pid is the process identifier in hexadecimal. 
  9237.  
  9238.            SESSID:sessionid Where sessionid is the session identifier in 
  9239.                           hexadecimal. 
  9240.  
  9241.            SLINDEX:index  Where index is the Window List index in decimal. 
  9242.  
  9243.            TITLE:title    Where title is the session title in ASCII. 
  9244.  
  9245.                           Blank characters and control keys must be replaced by 
  9246.                           underscores.Wildcards are allowed. All task list 
  9247.                           sessions matching the specifications will have the 
  9248.                           intended action applied. Note that the carriage 
  9249.                           return character (CR) plus the line feed character 
  9250.                           (LF) require two underscores. 
  9251.  
  9252.  
  9253. ΓòÉΓòÉΓòÉ 9.7.5. Semaphore management : EDYSEM2 ΓòÉΓòÉΓòÉ
  9254.  
  9255. If you want to display online information about this utility, enter: 
  9256.  
  9257.   EDYSEM2
  9258.  
  9259. This utility provides access to OS/2 event semaphores from a command line. It 
  9260. is intended to ease process synchronization between working sessions. 
  9261.  
  9262. The syntax for this command is : 
  9263.  
  9264.  
  9265.      EDYSEM2 [Post|Wait] Semname
  9266.  
  9267.  Post      Opens the OS/2 event semaphore \SEM32\Semname, provided it is 
  9268.            already created, and posts an event. If the semaphore does not 
  9269.            exist, it waits for the semaphore being created. 
  9270.  
  9271.  Wait      Opens the OS/2 event semaphore \SEM32\semaphore_name, provided it is 
  9272.            already created, or creates the semaphore, if it does not exist. 
  9273.            Then, it waits for an event to be posted. 
  9274.  
  9275.  Semname   Name of the semaphore. The parameter value is not case-sensitive. 
  9276.  
  9277.  SecureEntry also provides the EDYSEMV utility, with the same functionality and 
  9278.  parameters, which runs under a VDM. 
  9279.  
  9280.  The EDYSEM2 utility can be stopped by pressing Ctrl-C. The EDYSEMV utility 
  9281.  does not support it. 
  9282.  
  9283.  
  9284. ΓòÉΓòÉΓòÉ 9.7.6. Selective application closer : EDYCLOSE ΓòÉΓòÉΓòÉ
  9285.  
  9286. The selective application closer utility enables to close applications after a 
  9287. given event. 
  9288.  
  9289. The files that compose this utility are located in the SecureEntryPath\TOOLS 
  9290. directory on the workstation. 
  9291.  
  9292. Those applications that will remain active must be specified in an INI file. 
  9293.  
  9294. When the EDYCLOSE procedure runs, the INI file is read and only the 
  9295. applications that are not specified are closed. To close the sessions, the 
  9296. procedure uses a DosKillProcess. If the file can not be found, no application 
  9297. is closed. 
  9298.  
  9299. The applications that do not appear in the Window List are not closed, no 
  9300. matter whether they are specified in the INI file or not. The session where the 
  9301. EDYCLOSE procedure runs is not closed, either. 
  9302.  
  9303. To start the procedure, enter the following: 
  9304.  
  9305.      EDYCLOSE [Filepath]Filename[.INI]
  9306.  
  9307.  Filepath  Full path of the INI file with the specifications. The default is 
  9308.            the current directory. 
  9309.  
  9310.  Filename  Filename of the INI file with the specifications. The default is 
  9311.            EDYCLOSE. 
  9312.  
  9313.  For example, you can specify to kill all the user applications present in the 
  9314.  window list except those specified in the list file by starting this procedure 
  9315.  in any appropriate user exit provided by the SecureEntry user exits API, or 
  9316.  your own applications. Note that it is not really necessary to use this tool 
  9317.  to kill user applications at logoff time, since this is done automatically by 
  9318.  SecureEntry, but it may be needed to be used by your application in some 
  9319.  instances. 
  9320.  
  9321.  Editing the selective application closer file 
  9322.  
  9323.  To produce the input file for the selective application closer utility, you 
  9324.  can use a settings notebook that is opened by entering: 
  9325.  
  9326.  
  9327.        EDYEDTCL [Filepath]Filename[.INI]
  9328.  
  9329.  Filepath  Full path of the INI file with the specifications. The default is 
  9330.            the current directory. 
  9331.  
  9332.  Filename  Filename of the INI file with the specifications. The default is 
  9333.            EDYCLOSE. 
  9334.  
  9335.  The following information can be specified: 
  9336.  
  9337.  Name      Identifies the application that will not be closed and must match 
  9338.            the corresponding entry in the Window List. 
  9339.  
  9340.            To specify a task that corresponds to an object title of more than 
  9341.            one line, use the \n string. For example, Minimized\nWindow Viewer. 
  9342.  
  9343.            After typing the task name, click on the Add push button, so that 
  9344.            the name is added to the List. Specify as many task names as 
  9345.            applications will not be killed. 
  9346.  
  9347.  List      Contains the task names of all those applications that will remain 
  9348.            active. To remove a task name from the list, select it and click the 
  9349.            Remove push button. 
  9350.  
  9351.  
  9352. ΓòÉΓòÉΓòÉ 9.7.7. CM/2 emulators manager tool : EDYE3270 ΓòÉΓòÉΓòÉ
  9353.  
  9354. This command line utility allows controlling of the start and stop of the CM/2 
  9355. emulator sessions. It is intended to be added as part of the SecureEntry user 
  9356. exits to have the sessions started as desired under a per signon basis. 
  9357.  
  9358. The command line invocation sentence is : 
  9359.  
  9360.  
  9361.   EDYE3270 START  to start the configured emulator sessions
  9362.   EDYE3270 STOP   to stop the configured emulator sessions
  9363.   EDYE3270 SWITCH to switch status of the configured emulator sessions
  9364.  
  9365. This utility is located in the SecureEntryPath\TOOLS directory of the 
  9366. workstation. 
  9367.  
  9368. If you don't use CM/2 support for your emulators, but the Access Feature (AF) 
  9369. through Personal Communications (PCOM), then the utility EDYE3270 is useless 
  9370. and you will have to use the proper PCOM tools as follows: 
  9371.  
  9372.   PCSWS    name.WS      to start the session configured in the file name.WS
  9373.   PCSBAT   name.BCH /R  to start the set of sessions configured in the file name.BCH
  9374.   PCSSTOP               to stop the up and running emulator sessions
  9375.  
  9376. SecureEntry will automatically stop the up and running emulator sessions if 
  9377. they are identified in the file EDYKILL.NOT, whose support is currently 
  9378. available. 
  9379.  
  9380. To get more information about the file EDYKILL.NOT refer to Configuration files 
  9381. and its own comments section. To get more information about PCOM emulators 
  9382. handling refer to Personal Communications v4.2 Quick Beginnings. 
  9383.  
  9384.  
  9385. ΓòÉΓòÉΓòÉ 9.7.8. Master boot record saver : EDYRWMBR ΓòÉΓòÉΓòÉ
  9386.  
  9387. All systems are exposed to virus or other events which can make them non 
  9388. bootable. SecureEntry provides now a means of restoring the original master 
  9389. boot records in case an external event destroys them, no matter whether or not 
  9390. the Software Boot Protection is installed. 
  9391.  
  9392. When using this utility, you are encouraged to generate a copy of the master 
  9393. boot records of the system in the last diskette of the OS/2 Utility Diskettes, 
  9394. so that you can restore them after booting from the Utility Diskettes if the 
  9395. system cannot boot from hard disk. 
  9396. Setup process 
  9397.  
  9398.      Make a back-up copy of the original master boot records: 
  9399.  
  9400.             EDYRWMBR.EXE /R [/Fpath_name]
  9401.             where: /R          reads the original MBRs from the physical disks.
  9402.                    /Fpath_name writes the files containing the MBRs in the specified
  9403.                                path_name. If not present, it defaults to current directory.
  9404.  
  9405.       There exists one saved file for each physical disk in the system. The 
  9406.       name of these files is EDYBOOT and their extension is 001 for the first 
  9407.       physical disk, 002 for the second one, and so on. For example, in a 
  9408.       system with two hard drives, the command: 
  9409.  
  9410.             EDYRWMBR /R /Fa:
  9411.       will read the original master boot records of both disks and write them 
  9412.       to the files EDYBOOT.001 and EDYBOOT.002 in the A: drive. 
  9413.  
  9414.       If the Software Boot Protection is installed, the original master boot 
  9415.       records will be written to the external files. If the Software Boot 
  9416.       Protection is not installed, the current master boot records will. 
  9417.  
  9418.       If these files already exist, they will be overwritten. 
  9419.  
  9420.       If the master boot records are invalid, this utility will refuse to 
  9421.       generate the external files. 
  9422.  
  9423.      Restore a back-up copy of the original master boot records: 
  9424.  
  9425.             EDYRWMBR.EXE /W [/Ppassword] [/Fpath_name]
  9426.             where: /W          writes the saved MBRs to the physical disks.
  9427.                    /Ppassword  this parameter is mandatory if the Software
  9428.                                Boot Protection is enabled.
  9429.                    /Fpath_name reads the files containing the MBRs from
  9430.                                the specified path_name. If not present, it
  9431.                                defaults to current directory.
  9432.  
  9433.       Having a system with the Software Boot Protection installed and the saved 
  9434.       files in the current directory, you can restore the original MBRs using 
  9435.       the command: 
  9436.  
  9437.             EDYRWMBR /W /Pxxxx
  9438.       Having a system without the Software Boot Protection installed and the 
  9439.       saved files in the A: drive, you can restore the original MBRs using the 
  9440.       command: 
  9441.  
  9442.             EDYRWMBR /W /Fa:
  9443.  
  9444.       Since this command will be used when the system cannot start, it will 
  9445.       apply the strategy "do my best", hence very few checkings will be carried 
  9446.       out on the current master boot records of the physical disks. 
  9447.  
  9448.  
  9449. ΓòÉΓòÉΓòÉ 9.7.9. RACF PassTickets Generation: EDYPTTST ΓòÉΓòÉΓòÉ
  9450.  
  9451. RACF PassTickets are an alternative to the RACF passwords that allows a user to 
  9452. access the host system without sending the RACF password across the network. 
  9453. RACF PassTickets are one time passwords usable in a time frame of plus or minus 
  9454. ten minutes since the moment they are generated, as measured on the GMT clock 
  9455. of the host. Since RACF PassTickets are cryptographically-generated, 
  9456. single-use, short-lifespan password substitutes, they are inherently more 
  9457. secure than passwords. 
  9458.  
  9459. Unlike regular passwords, the algorithm that generates the RACF PassTicket is a 
  9460. function of: 
  9461.  
  9462.    1. The RACF user ID 
  9463.  
  9464.    2. The application ID, which is the profile name of the RACF APPL class for 
  9465.       protecting the access to the application (CICS applid, IMSid, TSO SMFid, 
  9466.       etc.) 
  9467.  
  9468.    3. A secured SignOn application key, which depends on the application ID and 
  9469.       optionally on the user ID 
  9470.  
  9471.    4. A time and date stamp 
  9472.  
  9473.  For RACF to successfully handle PassTickets you have to configure it 
  9474.  accordingly. Follow these steps: 
  9475.  
  9476.    1. Activate the class PassTicket: 
  9477.  
  9478.                SETROPTS CLASSACT(PTKTDATA)
  9479.                SETROPTS RACLIST(PTKTDATA)
  9480.  
  9481.    2. Define a profile for the user and the application: 
  9482.  
  9483.                RDEFINE PTKTDATA appl.group.userid - SSIGNON(KEYMASKED(0123456789abcdef))
  9484.       where appl is the name of the application (CICS, TSO+SMFID, etc.), group 
  9485.       and userid are the group and the RACF userid and 0123456789abcdef is the 
  9486.       secret 16-digits key. 
  9487.  
  9488.    3. Refresh the class: 
  9489.  
  9490.               SETR REFRESH RACLIST(PTKTDATA)
  9491.  
  9492.  What follows is the description of the PassTickets modules: 
  9493.  
  9494.      RACF PassTicket Generator EDYPTTST 
  9495.  
  9496.       To get a PassTicket, you can call the generation API inside your program, 
  9497.       or run the following program: 
  9498.  
  9499.  
  9500.               EDYPTTST -U:UserId -K:Key -A:App [-T:Time] [-Z:TimeZone]
  9501.  
  9502.       where: 
  9503.  
  9504.  
  9505.               UserId  : the UserId on the system on which the target application runs.
  9506.                         The maximum UserId length is 8 bytes.
  9507.               Key     : the secured signon application key that matches the key value
  9508.                         when defining the application to the PTKTDATA class to RACF.
  9509.                         The key length must be a valid 16-digit secret key containing
  9510.                         only characters 0 through 9 and A through F.
  9511.               App     : the application name as defined for a particular application
  9512.                         associated to the secured signon key. The maximum Application
  9513.                         Name length is 8 bytes.
  9514.               Time    : the number of seconds elapsed since 01.01.1970 at 00:00 GMT.
  9515.                         If not specified, the PassTicket will be generated using the
  9516.                         current date and time.
  9517.               TimeZone: the shift from GMT on the host side. This is a positive or
  9518.                         negative integer representing the timezone in hours. For
  9519.                         example: Paris = +1 in summer
  9520.  
  9521.       Messages: 
  9522.  
  9523.         -  Successful operation: 
  9524.  
  9525.                         Generated PassTicket=<AGD1PPXU>
  9526.            where the PassTicket is enclosed between the signs '<' and '>'. 
  9527.  
  9528.         -  Warnings: none. 
  9529.  
  9530.         -  Errors: a value different from 0 to the command line. 
  9531.  
  9532.      RACF PassTicket API 
  9533.  
  9534.       The RACF PassTicket API has the following entry point, defined in 
  9535.       EDYPTAPI.H: 
  9536.  
  9537.  
  9538.               unsigned long GetPassTicket(unsigned char *pszUserId,
  9539.                                           unsigned char *pszKey,
  9540.                                           unsigned char *pszApp,
  9541.                                           long           lTime,
  9542.                                           long           lTimeZone,
  9543.                                           unsigned char *pszPTKT);
  9544.  
  9545.       Notes: 
  9546.  
  9547.         1. pszUserId must be a zero ended string buffer preallocated to a 
  9548.            maximum length of 8 bytes. 
  9549.  
  9550.         2. pszKey must be a zero ended string buffer preallocated to a length 
  9551.            of 16 bytes. 
  9552.  
  9553.         3. pszApp must be a zero ended string buffer preallocated to a maximum 
  9554.            length of 8 bytes. 
  9555.  
  9556.         4. If lTime is set to zero, then the PassTicket will be generated using 
  9557.            the current date and time. 
  9558.  
  9559.         5. pszPTKT is the calculated PassTicket. It is a 8-character 
  9560.            alphanumeric string containing only characters 0 through 9 and A 
  9561.            through Z. It must be pre-allocatted to a size of 9 bytes (8+ending 
  9562.            zero). 
  9563.  
  9564.            Return codes: 
  9565.  
  9566.              -  Successful operation: 0 
  9567.  
  9568.              -  Error: 87 = ERROR_INVALID_PARAMETER 
  9569.  
  9570.            Refer to I have gotten a PassTicket, but RACF rejects it if a 
  9571.            generated PassTicket does not allow you to signon a user to a 3270 
  9572.            application. 
  9573.  
  9574.  
  9575. ΓòÉΓòÉΓòÉ 9.7.10. Java APIs ΓòÉΓòÉΓòÉ
  9576.  
  9577. SecureEntry provides a set of APIs for Java2 1.3. 
  9578.  
  9579. These APIs contain interfaces and classes needed for interacting with some 
  9580. specific SecureEntry events, such as logon and logoff, so that different 
  9581. programs may be notified when a user has logged on or off the system. 
  9582.  
  9583. Besides, a program may get information about the current logged on user (if 
  9584. any), as well as request SecureEntry to log the current user off the system, 
  9585. and get a RACF PassTicket for a given user. 
  9586.  
  9587. The APIs that define the SecureEntry classes and interfaces reside in the file 
  9588. SENTRY.JAR, which is located in the directory <sgm_shell>\EXEC. A Java Virtual 
  9589. Machine JVM using the SecureEntry classes must properly load those classes 
  9590. adding the path to where SENTRY.JAR (as well as this file) is located in the 
  9591. ClassPath parameter of the JVM, regarding the following example as a sample: 
  9592.  
  9593.   JAVA -CP %SGM_SHELL%\EXEC;%SGM_SHELL%\EXEC\SENTRY.JAR MyClass
  9594.  
  9595. You can find detailed documentation about this set of APIs in the file JAVA.ZIP 
  9596. located in the <sgm_shell>\API\JAVA directory. Just unzip it and make a browser 
  9597. to point to the file INDEX.HTML 
  9598.  
  9599.  
  9600. ΓòÉΓòÉΓòÉ 9.8. Virtual DOS Machine utilities ΓòÉΓòÉΓòÉ
  9601.  
  9602. Migrating DOS programs to use them in the OS/2 Virtual DOS Machines (VDMs) 
  9603. requires changes in the processing environment. 
  9604.  
  9605. OS/2 is a multiprocessing platform from which the DOS programs that you migrate 
  9606. can benefit. That is, several DOS programs can run within their own 
  9607. environments in different VDMs. 
  9608.  
  9609. SecureEntry provides the following programs that meet the synchronization 
  9610. requirements involved in this multiprocessing: 
  9611.  
  9612.  VDM programs starter : EDYSTRTV To start OS/2 programs from a VDM. 
  9613.  
  9614.  VDM NET commands launcher : EDYNETV To run network commands from a VDM. 
  9615.  
  9616.  VDM switch list utility : EDYSWLV To access the OS/2 task list from a VDM. 
  9617.  
  9618.  VDM session switcher : EDYBRNGV To bring to foreground a OS/2 program from a 
  9619.            VDM. 
  9620.  
  9621.  VDM semaphores : EDYSEMV To work with OS/2 semaphores from a VDM. 
  9622.  
  9623.  The files corresponding to these programs are located in the 
  9624.  SecureEntryPath\TOOLS directory on the workstation. 
  9625.  
  9626.  
  9627. ΓòÉΓòÉΓòÉ 9.8.1. VDM programs starter : EDYSTRTV ΓòÉΓòÉΓòÉ
  9628.  
  9629. If you want to display on-line information about this utility, enter: 
  9630.  
  9631.  
  9632.   EDYSTRTV
  9633.  
  9634. This utility starts DOS programs in VDMs. The CMD.EXE path must be specified in 
  9635. the PATH statement of the OS/2 CONFIG.SYS file. 
  9636.  
  9637. The syntax of this command is: 
  9638.  
  9639.  
  9640.      EDYSTRTV [/S:Sessiontype] [/F:Sessionmode] [/T:Sessiontitle]
  9641.               [/D:DOSsettings] [/X:Winposx] [/Y:Winposy] [/W:Width]
  9642.               [/H:Height] Programname Programparameters
  9643.  
  9644.  Sessiontype The following types of session are supported, which should be 
  9645.            specified by these parameter values: 
  9646.  
  9647.            1              OS/2 full screen 
  9648.  
  9649.            2              OS/2 window 
  9650.  
  9651.            3              OS/2 Presentation Manager 
  9652.  
  9653.            4              Virtual DOS machine (either DOS VDM or WINOS2 VDM) 
  9654.  
  9655.            7              VDM window 
  9656.  
  9657.            The default is 1. 
  9658.  
  9659.  Sessionmode The following modes of session are supported, which should be 
  9660.            specified by these parameter values: 
  9661.  
  9662.            0              Foreground 
  9663.  
  9664.            1              Background 
  9665.  
  9666.            The default is 1. 
  9667.  
  9668.  Sessiontitle The title of the session can be any string. 
  9669.  
  9670.            Blank characters and control keys must be replaced by underscores. 
  9671.            Note that the carriage return character (CR) plus the line feed 
  9672.            character (LF) require two underscores. 
  9673.  
  9674.  DOSsettings The DOS settings must be separated by the ; character. A file can 
  9675.            also be specified by @file_name. 
  9676.  
  9677.  Winposx   Horizontal coordinate of the window position. 
  9678.  
  9679.  Winposy   Vertical coordinate of the window position. 
  9680.  
  9681.  Width     Width of the window. 
  9682.  
  9683.  Height    Height of the window. 
  9684.  
  9685.  Programname Program to be started. 
  9686.  
  9687.            Blank characters and control keys must be replaced by underscores. 
  9688.            Note that the carriage return character (CR) plus the line feed 
  9689.            character (LF) require two underscores. 
  9690.  
  9691.  Programparameters Parameters for the program to be started. 
  9692.  
  9693.  
  9694. ΓòÉΓòÉΓòÉ 9.8.2. VDM NET commands launcher : EDYNETV ΓòÉΓòÉΓòÉ
  9695.  
  9696. If you want to display online information about this utility, enter: 
  9697.  
  9698.  
  9699.   EDYNETV
  9700.  
  9701. This utility runs the OS/2 NET command from VDMs. 
  9702.  
  9703. For information about the OS/2 NET command, enter: 
  9704.  
  9705.  
  9706.   EDYNETV HELP
  9707.  
  9708. Interactive commands are not supported. Redirected input (for example, when 
  9709. using the SEND command) or absolute paths (for example, when using the COPY 
  9710. command) are not supported, either. 
  9711.  
  9712. The following is required: 
  9713.  
  9714.      The Virtual DOS LAN API Support of LAN Server must be installed. 
  9715.  
  9716.      The LAN Requester must be active. 
  9717.  
  9718.      The SecureEntry user must be logged-on. 
  9719.  
  9720.      The NET.EXE and EDYSEM2.EXE paths must be specified in the PATH statement 
  9721.       of the OS/2 CONFIG.SYS file. 
  9722.  
  9723.  The syntax for this command is: 
  9724.  
  9725.  
  9726.        EDYNETV [ MACH | USE redirectionspecs ]
  9727.  
  9728.  MACH      Returns the machine ID. 
  9729.  
  9730.  USE       Returns the list of all redirected devices and drives, if no 
  9731.            redirection specifications are provided. 
  9732.  
  9733.            The following can be specified: 
  9734.  
  9735.            dev \\server\netname [password] Starts a device redirection. 
  9736.  
  9737.            d: \\server\netname [password] Starts a drive redirection. 
  9738.  
  9739.            dev /D         Ends a device redirection. 
  9740.  
  9741.  Other specifications are directly passed to the OS/2 session where the NET.EXE 
  9742.  program is running. 
  9743.  
  9744.  
  9745. ΓòÉΓòÉΓòÉ 9.8.3. VDM switch list utility : EDYSWLV ΓòÉΓòÉΓòÉ
  9746.  
  9747.            If you want to display online information about this utility, enter: 
  9748.  
  9749.  
  9750.                         EDYSWLV
  9751.  
  9752.            This utility provides access to the task list and to the system 
  9753.            sessions (OS/2 Window List), even to those that are hidden in the 
  9754.            switch list, from VDMs. It allows for session management. 
  9755.  
  9756.            The CMD.EXE and EDYSWL2.EXE paths must be specified in the PATH 
  9757.            statement of the OS/2 CONFIG.SYS file. 
  9758.  
  9759.            The syntax for this command is: 
  9760.  
  9761.  
  9762.                            EDYSWLV  [action:session]
  9763.  
  9764.  action    Action to be performed with the specified session. The parameter 
  9765.            value can be: 
  9766.  
  9767.            HIDE           Removes the session from the Window List. 
  9768.  
  9769.            KILL           Ends the process running in the session. 
  9770.  
  9771.            SHOW           Restores the session in the Window List. 
  9772.  
  9773.            SWITCHTO       Gives control to the session. 
  9774.  
  9775.            LIST           Displays the list of sessions. No session must be 
  9776.                           specified for this action. 
  9777.  
  9778.            MINIWIN        Minimizes all windows for the specified session. 
  9779.  
  9780.            HIDEWIN        Hides all windows for the specified session. 
  9781.  
  9782.            RESTWIN        Restores all windows for the specified session. 
  9783.  
  9784.            MAXIWIN        Maximizes all windows for the specified session. 
  9785.  
  9786.            ACTIWIN        Activates all windows for the specified session. 
  9787.  
  9788.            DEACWIN        Deactivates all windows for the specified session. 
  9789.  
  9790.            CLOSWIN        Closes all windows for the specified session. 
  9791.  
  9792.  session   Session that will be affected by the action. The parameter value can 
  9793.            be specified in different formats: 
  9794.  
  9795.            HSWL:handle    Where handle is the Window List handle in 
  9796.                           hexadecimal. 
  9797.  
  9798.            PID:pid        Where pid is the process identifier in hexadecimal. 
  9799.  
  9800.            SESSID:sessionid Where sessionid is the session identifier in 
  9801.                           hexadecimal. 
  9802.  
  9803.            SLINDEX:index  Where index is the Window List index in decimal. 
  9804.  
  9805.            TITLE:title    Where title is the session title in ASCII. 
  9806.  
  9807.                           Blank characters and control keys must be replaced by 
  9808.                           underscores. Note that the carriage return character 
  9809.                           (CR) plus the line feed character (LF) require two 
  9810.                           underscores. 
  9811.  
  9812.  Note : In order for this utility to work properly, the companion EDYSWL2 
  9813.  utility must be located within any of the environment PATH directories. 
  9814.  
  9815.  
  9816. ΓòÉΓòÉΓòÉ 9.8.4. VDM session switcher : EDYBRNGV ΓòÉΓòÉΓòÉ
  9817.  
  9818. If you want to display online information about this utility, enter: 
  9819.  
  9820.  
  9821.   EDYBRNGV
  9822.  
  9823. This utility starts a program, provided it is not started, or switches to a 
  9824. program, if already started, and brings the program to foreground. The CMD.EXE 
  9825. and EDYSWL2.EXE paths must be specified in the PATH statement of the OS/2 
  9826. CONFIG.SYS file. 
  9827.  
  9828. Both DOS and OS/2 programs can be located either in a path specified in the 
  9829. PATH statement or in any other path, which must be specified by entering the 
  9830. full path of the program. DOS programs can also be located in the current path. 
  9831.  
  9832. The syntax for this command is: 
  9833.  
  9834.  
  9835.      EDYBRNGV [/S:Sessiontype] [/F:Sessionmode] [/T:Sessiontitle]
  9836.               [/D:DOSsettings] [/X:Winposx] [/Y:Winposy] [/W:Width]
  9837.               [/H:Height] Programname Programparameters
  9838.  
  9839.  Sessiontype The following types of session are supported, which should be 
  9840.            specified by these parameter values: 
  9841.  
  9842.            1              OS/2 full screen 
  9843.  
  9844.            2              OS/2 window 
  9845.  
  9846.            3              OS/2 Presentation Manager 
  9847.  
  9848.            4              Virtual DOS machine (either DOS VDM or WINOS2 VDM) 
  9849.  
  9850.            7              VDM window 
  9851.  
  9852.            The default is 1. 
  9853.  
  9854.  Sessionmode The following modes of session are supported, which should be 
  9855.            specified by these parameter values: 
  9856.  
  9857.            0              Foreground 
  9858.  
  9859.            1              Background 
  9860.  
  9861.            The default is 0. 
  9862.  
  9863.  Sessiontitle The title of the session can be any string. 
  9864.  
  9865.            Blank characters and control keys must be replaced by underscores; 
  9866.            note that the carriage return character (CR) plus the line feed 
  9867.            character (LF) require two underscores. 
  9868.  
  9869.  DOSsettings The DOS settings must be separated by the ; character. A file can 
  9870.            also be specified by @file_name. 
  9871.  
  9872.  Winposx   Horizontal coordinate of the window position. 
  9873.  
  9874.  Winposy   Vertical coordinate of the window position. 
  9875.  
  9876.  Width     Width of the window. 
  9877.  
  9878.  Height    Height of the window. 
  9879.  
  9880.  Programname Program to be started. 
  9881.  
  9882.            To specify a CMD program, the parameter value must be: 
  9883.  
  9884.                         CMD.EXE /C filename.CMD
  9885.  
  9886.  Programparameters Parameters for the program to be started. 
  9887.  
  9888.  
  9889. ΓòÉΓòÉΓòÉ 9.8.5. VDM semaphores : EDYSEMV ΓòÉΓòÉΓòÉ
  9890.  
  9891. If you want to display online information about this utility, enter: 
  9892.  
  9893.   EDYSEMV
  9894.  
  9895. This utility provides access to OS/2 event semaphores from VDMs. It is intended 
  9896. to ease process synchronization either between VDMs or between VDMs and OS/2 
  9897. sessions. 
  9898.  
  9899. The syntax for this command is : 
  9900.  
  9901.  
  9902.      EDYSEMV [Post|Wait] Semname
  9903.  
  9904.  Post      Opens the OS/2 event semaphore \SEM32\Semname, provided it is 
  9905.            already created, and posts an event. If the semaphore does not 
  9906.            exist, it waits for the semaphore being created. 
  9907.  
  9908.  Wait      Opens the OS/2 event semaphore \SEM32\semaphore_name, provided it is 
  9909.            already created, or creates the semaphore, if it does not exist. 
  9910.            Then, it waits for an event to be posted. 
  9911.  
  9912.  Semname   Name of the semaphore. The parameter value is not case-sensitive. 
  9913.  
  9914.  SecureEntry also provides the EDYSEM2 utility, with the same functionality and 
  9915.  parameters, which runs under OS/2. 
  9916.  
  9917.  The EDYSEM2 utility can be stopped by pressing Ctrl-C. The EDYSEMV utility 
  9918.  does not support it. 
  9919.  
  9920.  
  9921. ΓòÉΓòÉΓòÉ 9.9. SecureEntry maintenance utilities ΓòÉΓòÉΓòÉ
  9922.  
  9923. SecureEntry provides also with a set of utilities for its own maintenance, plus 
  9924. general system maintenance. Some of these are used by SecureEntry itself during 
  9925. its different processes, but may be of interest to solve problems or defects in 
  9926. specific situations. 
  9927.  
  9928.      Deleting directories with EDYDD 
  9929.  
  9930.      Unpacking installation files using UNPACK32 
  9931.  
  9932.      Updating the SecureEntry database definitions with UPDATEDB 
  9933.  
  9934.      Recreating SecureEntry database with CREADB 
  9935.  
  9936.      Registering WP classes with EDYCLASS 
  9937.  
  9938.      Fixing OS/2 INI files by means of EDYCLINI 
  9939.  
  9940.      Installing PM DLLs with EDYWINI 
  9941.  
  9942.      Recreating the SecureEntry workbench using EDYCRWRK 
  9943.  
  9944.      Establishing SecureEntry Lan Links with EDYSRV and EDYFREE 
  9945.  
  9946.      Migrating SecureEntry 2.0 definitions using MIGRADB 
  9947.  
  9948.      Controlling the size of the log files using EDYLOGFS 
  9949.  
  9950.      Browsing the SecureEntry audit files with EDYLOGBR 
  9951.  
  9952.      Obtaining and viewing configuration image photo files with EDYPHOTO 
  9953.  
  9954.  WARNING!The incorrect use of some of this utilities may leave your system in a 
  9955.  unstable/unusable state. 
  9956.  
  9957.  
  9958. ΓòÉΓòÉΓòÉ 9.9.1. EDYDD ΓòÉΓòÉΓòÉ
  9959.  
  9960. The EDYDD program is a generic 'delete directory' utility. It erases the 
  9961. contents of the specified directory and all of its descendants, no matter if 
  9962. any file is marked as readonly or not. This program is located in the 
  9963. SecureEntryPath\INSTALL directory. 
  9964.  
  9965. The format for this utility is : 
  9966.  
  9967.  
  9968.      EDYDD directoryname [/N]
  9969.  
  9970.  directoryname The full path of the directory to delete 
  9971.  
  9972.  /N        Use this parameter to process without confirmation questions. 
  9973.  
  9974.  
  9975. ΓòÉΓòÉΓòÉ 9.9.2. UNPACK32 ΓòÉΓòÉΓòÉ
  9976.  
  9977. The UNPACK32.EXE is a program used to obtain from a SecureEntry installation 
  9978. diskette bundle file a given component. It is used internally by SecureEntry 
  9979. during the installation or service process. Its syntax is exactly that of the 
  9980. UNPACK2.EXE provided with OS/2 base. Refer to the OS/2 documentation for more 
  9981. details. This program is located in the SecureEntryPath\INSTALL directory. 
  9982.  
  9983.  
  9984. ΓòÉΓòÉΓòÉ 9.9.3. UPDATEDB ΓòÉΓòÉΓòÉ
  9985.  
  9986. This program is used to update the SecureEntry database for static 
  9987. characteristics, such as passwords expiration days or adding new components to 
  9988. the table of recognized ones. Refer to the chapter named 'Adding your own 
  9989. components' for instructions on its usage. This program is located in the 
  9990. SecureEntryPath\INSTALL directory. 
  9991.  
  9992.  
  9993. ΓòÉΓòÉΓòÉ 9.9.4. CREADB ΓòÉΓòÉΓòÉ
  9994.  
  9995. This program is used during installation to create an empty SecureEntry 
  9996. database of components and users. This program takes as input a subsystem name 
  9997. and a components description file. It resides in the SecureEntryPath\INSTALL 
  9998. directory. 
  9999.  
  10000. The syntax for this command is : 
  10001.  
  10002.  
  10003.      CREADB subsystemname configurationfile
  10004.  
  10005.  subsystemname Name of the subsystem to create. Only supported value is : 
  10006.            SENTRY 
  10007.  
  10008.  configurationfile Path and name for the configuration file. The one used by 
  10009.            the SecureEntry installation is SecureEntryPath\INSTALL\SENTRY.DSC 
  10010.  
  10011.  
  10012. ΓòÉΓòÉΓòÉ 9.9.5. EDYCLASS ΓòÉΓòÉΓòÉ
  10013.  
  10014. This utility is used by SecureEntry to register/deregister the SecureEntry SOM 
  10015. required classes. It is not normally necessary to use this command manually, 
  10016. since the product takes care of having those correctly registered at startup. 
  10017. The program is located in the SecureEntryPath\INSTALL directory. 
  10018.  
  10019. The syntax for this command is : 
  10020.  
  10021.  
  10022.      EDYCLASS /I | /U [binaryprofile]
  10023.  
  10024.  /I        To register the SecureEntry classes. 
  10025.  
  10026.  /U        To deregister the SecureEntry classes. Optionally, specify a desktop 
  10027.            restrictions profile which species the desired object settings to 
  10028.            set as default ones. 
  10029.  
  10030.  
  10031. ΓòÉΓòÉΓòÉ 9.9.6. EDYCLINI ΓòÉΓòÉΓòÉ
  10032.  
  10033. This program can be used to maintain and cleanup the OS/2 system initialization 
  10034. files OS2.INI and OS2SYS.INI. Note that this program has to be used with 
  10035. extreme care, since it can easily destroy your system settings or cause system 
  10036. malfunctions. 
  10037.  
  10038. WARNING : YOU ABSOLUTELY MUST KNOW WHAT YOU ARE DOING!!!!! 
  10039.  
  10040.  
  10041.  EDYCLINI [Operation mode] [Actions]
  10042.  
  10043.  Operation mode:
  10044.  
  10045.    /B[+|-]   Batch mode: enable (-) or disable (+) user interaction.
  10046.    /D[+|-]   Deferred mode. /D+ will start the program after next boot.
  10047.              /D- will cancel the effect of a previous call with /D+.
  10048.    /T[+|-]   Test mode. /T+ will not write corrections to disk.
  10049.              /T- will update the *.INI files.
  10050.    /V[0|1|2] Verbose mode: quiet (0) or verbose (2) operation.
  10051.  
  10052.  Actions:
  10053.  
  10054.    /N[+|-]   Nowhere shadows: delete (+) or ignore (-) shadows
  10055.              in the <WP_NOWHERE> folder.
  10056.    /H[+|-]   Handles: delete (+) or ignore (-) the handles of
  10057.              objects that have no matching file or directory.
  10058.    /I[+|-]   Identifiers: delete (+) or ignore (-) the object identifiers
  10059.              that have no matching handle.
  10060.    /Rdrives  Remove all the handles of objects that are defined
  10061.              in the specified drives. More than one drive can be
  10062.              specified using ';' as a separator.
  10063.    /U[i|d|c] UNC dives: ignore (i), delete (d) or, if available, check (c)
  10064.              the drives specified with UNC names.
  10065.  
  10066.  Default parameters:
  10067.  
  10068.    EdyClini /B- /T- /V2 /N- /H- /I- /Ui
  10069.  
  10070. Note that if you use the program to cleanup the <WP_NOWHERE> folder, then if 
  10071. the system malfunctions afterwards, the only way (not granted) method to fix it 
  10072. could be : 
  10073.  
  10074.      Reboot the machine to a command line through config.sys 
  10075.  
  10076.      Remove the <WP_NOWHERE> physical directory 
  10077.  
  10078.      Continue the boot process 
  10079.  
  10080.      Run the following little code : 
  10081.  
  10082.                 /* */
  10083.                 call RxFuncAdd 'SysLoadFuncs', 'REXXUTIL', 'SysLoadFuncs'
  10084.                 call SysLoadFuncs
  10085.                 call SysSetObjectData '<WP_NOWHERE>','OBJECTID=<WP_NOWHERE>'
  10086.  
  10087.      Now use any .INI maintenance tool to remove from the OS2.INI file the 
  10088.       data corresponding to the application PM_ABSTRACT:FolderContents within 
  10089.       the key corresponding to the object handle for <WP_NOWHERE>, which can be 
  10090.       located scanning the application PM_WorkPlace:Location for <WP_NOWHERE> 
  10091.       key. 
  10092.  
  10093.      Finally, reboot again 
  10094.  
  10095.  
  10096. ΓòÉΓòÉΓòÉ 9.9.7. EDYWINI ΓòÉΓòÉΓòÉ
  10097.  
  10098. This program is used to install or deinstall the PM DLLs required by some 
  10099. components. It resides in the SecureEntryPath\EXEC directory, and its syntax is 
  10100.  
  10101.  
  10102.      EDYWINI /I[inifile] dllname [..dllname] |
  10103.              /U[inifile] dllname [..dllname] |
  10104.              /L[inifile]
  10105.  
  10106.  /I        To register a set of DLLs (dllname(s)) to the system. 
  10107.  
  10108.  /U        To deregister a set of DLLs (dllname(s)) from the system. 
  10109.  
  10110.  /L        To list the registered DLL names. 
  10111.  
  10112.  Note that you can specify in all three commands an optional path and filename 
  10113.  to the OS2.INI file to work with (inifile). By default, the one taken will be 
  10114.  the one pointed to by the USER_INI config.sys variable. 
  10115.  
  10116.  The DLLs required by SecureEntry to be installed are named : EDYWIN, EDYSESNO, 
  10117.  and EDYLKSTR. So, if at any time you recreate your OS2.INI file and intend to 
  10118.  use it in a SecureEntry machine, you must issue the following command before 
  10119.  the machine will become operative : 
  10120.  
  10121.  
  10122.        EDYWINI /I EDYWIN EDYSESNO EDYLKSTR
  10123.  
  10124.  Note that this utility can be run in a non-PM environment, such as an Alt-F1 
  10125.  command line. 
  10126.  
  10127.  
  10128. ΓòÉΓòÉΓòÉ 9.9.8. EDYCRWRK ΓòÉΓòÉΓòÉ
  10129.  
  10130. This REXX command can be used to recreate the SecureEntry workbench if 
  10131. necessary. It should be used by an administrator, and its invocation syntax is 
  10132.  
  10133.  
  10134.      EDYCRWRK
  10135.  
  10136. Note that this command is located in the SecureEntryPath\INSTALL directory. 
  10137.  
  10138.  
  10139. ΓòÉΓòÉΓòÉ 9.9.9. EDYSRV and EDYFREE ΓòÉΓòÉΓòÉ
  10140.  
  10141. The EDYSRV program is a daemon that runs in the background of network 
  10142. environment installed SecureEntry servers, and communicates with clients 
  10143. through netbios. If this program is necessary, the appropriate sentence to 
  10144. launch it will have been added to your EDYSTART.CMD (boot) command. Both 
  10145. programs reside in the SecureEntryPath\EXEC directory. 
  10146.  
  10147. The invocation syntax for EDYSRV is : 
  10148.  
  10149.  
  10150.    (detach) EDYSRV [/N:netbiosname] [/S:netbiossessions]
  10151.                    [/R:update_policy]
  10152.  
  10153.  netbiosname Netbios name to add to the network. Note that clients use, to 
  10154.            communicate with this module, the name 'EDYdomainname', where 
  10155.            domainname is the name of your Lan Server domain (if any). 
  10156.  
  10157.  netbiossessions Number of parallel netbios sessions to use, where the default 
  10158.            value is 4. You are encouraged to increase this number if you see 
  10159.            big contention in the server machine (i.e, many users logging on at 
  10160.            the same time with RACF or UCM). 
  10161.  
  10162.  update_policy The update policy to use for this server. This parameter can 
  10163.            take the following values: 
  10164.  
  10165.     /R:H -> EDYSRV will use the corporate policy
  10166.             stored in the central repository (UCM) to apply the
  10167.             refresh branch process.
  10168.     /R:I -> EDYSRV will override the update corporate policy and
  10169.             run the refresh branch process at IPL time.
  10170.     /R:L -> EDYSRV will override the update corporate policy and
  10171.             run the refresh branch process at users signon time.
  10172.     /R:N -> EDYSRV will override the corporate policy and
  10173.             will not run any branch refresh update.
  10174.     /R:T<hhmm> -> EDYSRV will override the corporate policy and
  10175.             run the branch update process at the specified time.
  10176.     /R:E<mmmmm>-> EDYSRV will override the corporate policy and
  10177.             run the branch update process at IPL time, and every mmmm
  10178.             minutes subsequently.
  10179.  
  10180.  EDYFREE is the command to unload a running EDYSRV. Its invocation syntax is : 
  10181.  
  10182.  
  10183.        EDYFREE netbiosname
  10184.  
  10185.  
  10186. ΓòÉΓòÉΓòÉ 9.9.10. MIGRADB ΓòÉΓòÉΓòÉ
  10187.  
  10188. This REXX command can be used to migrate a SecureEntry 2.0 users and components 
  10189. database to the new SecureEntry 3.0 library. It must be run in the Domain 
  10190. controller (Where the SecureEntry 2.0 components were stored). To use it, you 
  10191. should have installed SecureEntry 3.0 over the old SecureEntry 2.0, and make 
  10192. sure that the environment variable SGM_LS is still defined and pointing to the 
  10193. directory structure for the users database of the old installation. 
  10194.  
  10195. The syntax for this command is : 
  10196.  
  10197.  
  10198.      MIGRADB  SECP|BOTH
  10199.  
  10200.  SECP      Use this option just to migrate the security components, assuming 
  10201.            you are still using the groups and users definitions of the Lan 
  10202.            Server UPM. (Working under Lan Server environment). 
  10203.  
  10204.  BOTH      Use this option if you have installed SecureEntry 3.0 in standalone 
  10205.            mode, and want to redefine users and groups, or if you have erased 
  10206.            the Lan Server users and groups that you had defined. 
  10207.  
  10208.  
  10209. ΓòÉΓòÉΓòÉ 9.9.11. EDYLOGFS ΓòÉΓòÉΓòÉ
  10210.  
  10211. The EDYLOGFS program is an utility that allows you to control the size of 
  10212. SecureEntry Log Files. This program is located in the SecureEntryPath\EXEC 
  10213. directory. 
  10214.  
  10215. It gets all its input from an ASCII file called EDYLOGS.STR located in the 
  10216. SecureEntryPath\nouser directory.  Each line of this file may specify a way to 
  10217. locate a SecureEntry log file and a size control policy that will be applied to 
  10218. this log file. As a first approach, a line of this file is interpreted like 
  10219. this: 
  10220.  
  10221.       where_to_locate_the_log_file   which_size_control_policy_to_apply
  10222.  
  10223. Locating SecureEntry Log Files 
  10224.  
  10225. All non-blank nor comment lines in the EDYLOGS.STR file must begin with a 
  10226. pathname to a SecureEntry log file that ends with the base SecureEntry log file 
  10227. name. This pathname can be interpreted in three different ways depending on the 
  10228. pathname's header: 
  10229.  
  10230.   x$...
  10231.            Absolute pathname starting from the x drive's root 
  10232.  
  10233.   boot...
  10234.            Absolute pathname starting from the boot drive's root 
  10235.  
  10236.   \...
  10237.            Relative pathname to SecureEntryPath 
  10238.  
  10239.  Optionally, an environment variable can also be stated after the pathname. If 
  10240.  so, this environment variable is used first (and if successfully last) to try 
  10241.  to locate the SecureEntry log file. To do so it is interpreted as a pointer to 
  10242.  the complete pathname of a directory where the SecureEntry log file should be 
  10243.  found. 
  10244.  
  10245.  Size Control Policies 
  10246.  
  10247.  All non-blank nor comment lines in the EDYLOGS.STR file must end stating which 
  10248.  size control policy should be applied to the SecureEntry log file specified at 
  10249.  the begin of the same line. 
  10250.  
  10251.  EDYLOGFS utility offers two ways for restricting the SecureEntry log files 
  10252.  size: 
  10253.  
  10254.      By Size (in Kb) 
  10255.  
  10256.       To set a size control policy based upon file size in Kbs on a particular 
  10257.       file, the user states two numbers optionally preceded by an 'S' at the 
  10258.       end of the EDYLOGS.STR line that references this particular file. Like 
  10259.       this: 
  10260.  
  10261.             c$\myfile.log        MY_ENV_VAR         S64,32
  10262.  
  10263.       These two numbers are interpreted (from left to right) as: 
  10264.  
  10265.         -  The Base File (or Trunc File) Size in Kb (BFS) 
  10266.  
  10267.         -  The maximum allowed Increment in Kb over BFS. (IBFS) 
  10268.  
  10269.       Note:  the second number, IBFS, is not mandatory. Its default value is 
  10270.       BFS/2 
  10271.  
  10272.        From them it is derived the maximum allowed size for the specified log 
  10273.       file which is BFS+IBFS Kb. If EDYLOGFS finds the log file to have a size 
  10274.       greater than this value it will trunc the log file to have a size as near 
  10275.       as possible to BFS Kb assuring no text line in the file gets trunked, and 
  10276.       it will do so in a FIFO way, that is, deleting the data that was first 
  10277.       written to the file. 
  10278.  
  10279.       To conclude here are some examples that set size restrictions based upon 
  10280.       file's size in Kb: 
  10281.  
  10282.             c $ \ myfile . log         MY _ ENV _ VAR          64
  10283.             c $ \ myfile . log         MY _ ENV _ VAR          s64 , 32
  10284.             boot \ myfile . log                          S23
  10285.             \ nouser \ myfile . log                       56 , 10
  10286.  
  10287.      By number of lines 
  10288.  
  10289.       To set a size control policy based upon the number of lines on a 
  10290.       particular file, the user states two numbers preceded by an 'L' at the 
  10291.       end of the EDYLOGS.STR line that references this particular file. Like 
  10292.       this: 
  10293.  
  10294.             boot\myfile.log                            L100,10
  10295.  
  10296.       These two numbers are interpreted (from left to right) as: 
  10297.  
  10298.         -  The Base (or Trunc) Number of Lines for the file (BNL) 
  10299.  
  10300.         -  The maximum allowed Increment in lines over BNL for the file (IBNL) 
  10301.  
  10302.       Note:  the second number, IBNL, is not mandatory. It's default value is 
  10303.       BNL/2 
  10304.  
  10305.        From them it is derived the maximum number of lines the specified log 
  10306.       file can have, which is BNL+IBNL . If EDYLOGFS finds the log file to have 
  10307.       a number of lines greater than this value it will trunc the log file to 
  10308.       have exactly BNL lines, and it will do so in a FIFO way, that is, 
  10309.       deleting the lines that were first written to the file. 
  10310.  
  10311.  The Input File for EDYLOGFS utility. 
  10312.  
  10313.   EDYLOGFS utility reads its input from the ASCII file EDYLOGS.STR located in 
  10314.  the SecureEntryPath\nouser directory. Each non-blank nor comment line of this 
  10315.  file states a file size control policy that is to be applied to a SecureEntry 
  10316.  log file. 
  10317.  
  10318.  EDYLOGS.STR Syntax Specification 
  10319.  
  10320.  What follows is a grammar specifying the syntax of the EDYLOGS.STR file: 
  10321.  
  10322.  (<LINE> | <COMMENT>) ('\n')* 
  10323.  
  10324.  <COMMENT> = ';' (any string) 
  10325.  
  10326.  <LINE>    = (<blanks>|<null>)  <PATHNAME> ( (<blanks> <ENV_VAR>) | <null> ) 
  10327.            <blanks> <SIZE_CTRL_POLICY> (<blanks>|<null>|<COMMENT>) 
  10328.  
  10329.  <null>    = the null string 
  10330.  
  10331.  <blanks>  = ('_'|'\t')+ 
  10332.  
  10333.  <PATHNAME>  = (<BOOT> | <DRIVE> | <null>) <os/2 pathname> 
  10334.  
  10335.  <ENV_VAR>  = any valid string for an environment variable 
  10336.  
  10337.  <SIZE_CTRL_POLICY> = (<POL_CHAR> | <null>) <TRUNC_SIZE> ( <null> | (',' 
  10338.            <OFFSET>) ) 
  10339.  
  10340.  <BOOT>    = any upper/lower case of the word 'BOOT'. 
  10341.  
  10342.  <DRIVE>   = <char> '$' 
  10343.  
  10344.  <os/2 pathname> = any valid os/2 pathname with no drive specification and 
  10345.            terminated by a base file name 
  10346.  
  10347.  <POL_CHAR> = 'S'|'s'|'L'|'l' 
  10348.  
  10349.  <TRUNC_SIZE> = <num> 
  10350.  
  10351.  <OFFSET>  = <num> 
  10352.  
  10353.  <char>    = ('a'-'z') U ('A'-'Z') 
  10354.  
  10355.  <num>     = any integer number 
  10356.  
  10357.  Note:  <num>, <ENV_VAR> and <os/2 pathname> tokens have size restrictions. If 
  10358.  any of this tokens has more characters than allowed, a syntax error will be 
  10359.  returned. 
  10360.  
  10361.  A sample EDYLOGS.STR file 
  10362.  
  10363.   This is an EDYLOGS.STR file example: 
  10364.  
  10365.   ; SENTRY  LOG  FILES  SIZE  CONTROLLER  EXAMPLE  FILE
  10366.  
  10367.   ; These  blank  lines  are  ignored .
  10368.  
  10369.   \ install \ myfile . log        64
  10370.   ;    Maximum  size  128  Kb .  Would  be  trunked  to  64  Kb .
  10371.   ;    File  " myfile . log "  would  be  searched  in  the  SecureEntryPath \ install  directory
  10372.  
  10373.   c $ \ install \ myfile . log     L10
  10374.   ;   Maximum  number  of  lines :  15 .  Would  be  trunked  to  10  lines .
  10375.   ;   File  " myfile . log "  would  be  searched  in  the  c : \ install  directory .
  10376.  
  10377.   c $ colon . myfile . log       MY _ ENV _ VAR     l100 , 50
  10378.   ;   Maximum  number  of  lines :  150 .  Would  be  trunked  to  100  lines .
  10379.   ;   File  " myfile . log "  would  be  searched  first  in  the  directory  pointed  by
  10380.   ;   MY _ ENV _ VAR  environment  variable ,  and ,  only  if  not  found ,  would  be
  10381.   ;   searched  in  the  c  drive  root  directory .
  10382.  
  10383.  The default EDYLOGS.STR file shipped with SecureEntry. 
  10384.  
  10385.   The default EDYLOGFS.STR file shipped with SecureEntry is as follows: 
  10386.  
  10387.   ;SENTRY LOG FILES SIZE CONTROLLER CONFIGURATION FILE
  10388.  
  10389.   \install\sentry.log                                        64,64 ;SENTRY INSTALLATION LOG FILE
  10390.  
  10391.   boot\edylkini.log                    SGM_INI_LOGPATH      64,64 ;STARTUP MESSAGES LOG FILE
  10392.  
  10393.   \nouser\edyadmin.log                 SGM_SL_LOGPATH        64,64 ;SENTRY ADMINISTRATION LOG FILE
  10394.  
  10395.   boot\os2\security\sesdb\edysla.log   SGM_SES_LOGPATH      64,64 ;SENTRY SESSION ACTIVITY LOG FILE
  10396.  
  10397.  After applying a service to your SecureEntry version the new default file 
  10398.  EDYLOGS.STR will be copied into the SecureEntryPath\EXEC directory. If the 
  10399.  file SecureEntryPath\NOUSER\EDYLOGS.STR has not been modified for your 
  10400.  installation, it will be then automatically updated; otherwise you will have 
  10401.  to manually update it in order to make the changes effective. 
  10402.  
  10403.  Command Line Syntax 
  10404.  
  10405.  The syntax to call EDYLOGFS utility from the command line is: 
  10406.  
  10407.    EDYLOGFS [(/V|/?)]
  10408.  
  10409.  /V 
  10410.             Verbose mode. 
  10411.  
  10412.  /? 
  10413.             Display usage help 
  10414.  
  10415.  Installing EDYLOGFS 
  10416.  
  10417.  There are two possible places for a call to EDYLOGFS : 
  10418.  
  10419.      Within the config.sys file. This is the default place and as is setup in 
  10420.       a regular SecureEntry installation. 
  10421.  
  10422.       To automatically control log file sizes at boot time it is recommended to 
  10423.       call EDYLOGFS.EXE from the CONFIG.SYS file. A way to do this is to add 
  10424.       the following line to your CONFIG.SYS file: 
  10425.  
  10426.           CALL=SecureEntryPath\exec\edylogfs.exe
  10427.  
  10428.      A second place where you could place a call to this utility is within any 
  10429.       user exit. SecureEntry grants that its log files are closed at this time 
  10430.       and thus the files can be truncated. 
  10431.  
  10432.  Error Return Codes 
  10433.  
  10434.  EDYLOGFS utility returns a zero on successful execution, otherwise something 
  10435.  went very wrong and a negative integer related to the cause of the problem is 
  10436.  returned. 
  10437.  
  10438.  What follows is a list of the error codes that EDYLOGFS utility might return: 
  10439.  
  10440.  -1        The SecureEntryPath could not be found. Either the environment 
  10441.            variable SGM_SHELL was not defined or pointed to an invalid 
  10442.            directory 
  10443.  
  10444.  -2        The input file (EDYLOGS.STR) could not be opened or didn't exist in 
  10445.            the SecureEntryPath\nouser directory 
  10446.  
  10447.  -3        I/O error on the input file (EDYLOGS.STR) 
  10448.  
  10449.  -4        The input file (EDYLOGS.STR) could not be closed 
  10450.  
  10451.  -5        The process EDYLOGFS.EXE could not allocate memory 
  10452.  
  10453.  -6        Program flow reached some point presumed to be unreachable 
  10454.  
  10455.  
  10456. ΓòÉΓòÉΓòÉ 9.9.12. EDYLOGBR ΓòÉΓòÉΓòÉ
  10457.  
  10458.  The EDYLOGBR program can be used to browse interactively the following 
  10459. SecureEntry log files, conveniently merged by event timestamp : 
  10460.  
  10461.      The session event log file 
  10462.  
  10463.      The administration log file 
  10464.  
  10465.      The Treelock audit file, if one is present in the machine 
  10466.  
  10467.  It can be run from a command line, by typing 
  10468.  
  10469.       EDYLOGBR
  10470.  
  10471.  or by launching the appropriate object in the SecureEntry workbench, 
  10472.  installation tools folder : 
  10473.  
  10474.  Once started, it will display the selected log files records, for your review, 
  10475.  as choosed from the View menu : 
  10476.  
  10477.      Errors/denials Will show only records logged for events that terminated 
  10478.       in an error condition or a denied access. 
  10479.  
  10480.      Simplified view Will show all of the log lines, but skip event start 
  10481.       records as well as Lan Server administration events, which are redundant 
  10482.       since the same record is also logged normally as a SecureEntry subsystem 
  10483.       administration event. 
  10484.  
  10485.      Full view Will show all the current logs information. 
  10486.  
  10487.      Event log Use this menu selection to include/exclude those records coming 
  10488.       from the SecureEntry session event log file. This log tracks session flow 
  10489.       events such as logon, lockup,... 
  10490.  
  10491.      Administration log Use this menu selection to include/exclude those 
  10492.       records coming from the SecureEntry administration log file. This log 
  10493.       tracks all of the activity issued against the SecureEntry administration 
  10494.       system. 
  10495.  
  10496.      Audit log Use this menu selection to include/exclude those records coming 
  10497.       from the SecureEntry Treelock audit file, if one is present in the NOUSER 
  10498.       directory as a machine default profile. This log tracks access attempts 
  10499.       to directories/files without the required permission. 
  10500.  
  10501.      Show icons Can be used to switch on/off the icon view from the result 
  10502.       container. 
  10503.  
  10504.      Refresh now can be used to force re-reading of the selected log files. 
  10505.  
  10506.  The File menu has the following options : 
  10507.  
  10508.      Export Allows you to save, in ASCII format, the displayed records. 
  10509.  
  10510.      Find You can filter off any records which do not include the chosen mask 
  10511.       with this option. Note that wildcards are allowed and you should assume 
  10512.       that the scanned string for each record is the concatenation of all the 
  10513.       column values for the intended record. So, for instance issuing a find 
  10514.       request with the mask : smith*add will find all records that refer to an 
  10515.       administration add operation issued by userid smith. 
  10516.  
  10517.      Find Next Will find the next matching record, given the current find mask 
  10518.       starting at the current selected record in the container. 
  10519.  
  10520.      Find Previous Will find the previous matching record, given the current 
  10521.       find mask starting at the current selected record in the container. 
  10522.  
  10523.      Quit Quits the application. 
  10524.  
  10525.  Now, some important notes about this utility : 
  10526.  
  10527.      First, take into account that log files are normally purged (old lines 
  10528.       removed) by the log files size controller utility at machine startup, so 
  10529.       it may be the case, when searching for very old events, that those are no 
  10530.       longer present in the log files. 
  10531.  
  10532.      The utility uses date and time formats as specified in the country object 
  10533.       of the OS/2 configuration folder, so it may render uncorrectly sorted 
  10534.       records if this configuration setting is changed for previously existing 
  10535.       log records. 
  10536.  
  10537.      For last, remember that the scope for the event and audit logs is local, 
  10538.       that is, you will only find events there that originated in the current 
  10539.       machine. However, and for administration events, the scope (for LAN 
  10540.       installations) is at a domain level, since there is a single 
  10541.       edministration log file in the domain server. 
  10542.  
  10543.  
  10544. ΓòÉΓòÉΓòÉ 9.9.13. EDYPHOTO ΓòÉΓòÉΓòÉ
  10545.  
  10546. The EDYPHOTO programs allow you to create and view a binary file with the 
  10547. necessary installation and configuration files for problem determination and 
  10548. solving. Both the photo taker and the photo display programs can be accessed 
  10549. from the SecureEntry Installation tools folder, or started manually. 
  10550.  
  10551. Double click over the photo generator icon to get a file named MMDDhhmm.BIN 
  10552. which contains a copy of the machine configuration files. Alternatively, you 
  10553. can generate a configuration photo file by typing : 
  10554.  
  10555.  
  10556.   EDYPHOTO
  10557.  
  10558. By typing the parameter '?' you can obtain a brief description of the complete 
  10559. syntax and parameters for this utility. 
  10560.  
  10561. Drop the previously generated file into the Photo viewer icon to view its 
  10562. contents. Alternatively, you can invoke the photo displayer by typing : 
  10563.  
  10564.  
  10565.   EDYPHDSP  [filename]
  10566.  
  10567. Note that photo archives are normally left with read-only attribute, so that 
  10568. they can not be mistakenly erased. 
  10569.  
  10570.  
  10571. ΓòÉΓòÉΓòÉ 9.10. The trace server ΓòÉΓòÉΓòÉ
  10572.  
  10573. The trace server is provided so that applications can record trace data. 
  10574.  
  10575. When applications run, information is gathered that can be used either for 
  10576. debugging purposes at development stage or to diagnose and fix problems at 
  10577. production time. 
  10578.  
  10579.      Operation modes 
  10580.  
  10581.      Changing operation mode 
  10582.  
  10583.      Loading the trace server 
  10584.  
  10585.  
  10586. ΓòÉΓòÉΓòÉ 9.10.1. Operation modes ΓòÉΓòÉΓòÉ
  10587.  
  10588. The trace server supports these modes of operation: 
  10589.  
  10590.      Tracing to memory (memory status) 
  10591.  
  10592.      Tracing to file (file status) 
  10593.  
  10594.  In addition, the trace server can be loaded but not operative (stop status). 
  10595.  
  10596.  To minimize the trace overhead, it is recommended to load the trace server in 
  10597.  not operative mode and change the operation mode dynamically. 
  10598.  Tracing to memory 
  10599.  
  10600.  The EDYTRDSP.EXE program is provided to display trace data on the screen. 
  10601.  
  10602.  The contents of the trace panel are updated only upon request. To refresh the 
  10603.  contents, select the appropriate action from the View pull-down menu or press 
  10604.  the F5 function key. 
  10605.  
  10606.  The font of the panel contents can be modified by dropping a new font from the 
  10607.  font palette. You should select a non-proportional font type; for example, 
  10608.  system monospaced, system vio, or courier. 
  10609.  Tracing to file 
  10610.  
  10611.  The EDYTRCS.EXE program is provided to save trace data in a file. 
  10612.  
  10613.  You can display the records in the trace file by using the EDYTRDSP.EXE 
  10614.  program. 
  10615.  
  10616.  
  10617. ΓòÉΓòÉΓòÉ 9.10.2. Changing operation mode ΓòÉΓòÉΓòÉ
  10618.  
  10619. The EDYTRSET.EXE program is provided to change the operation mode of the trace 
  10620. server. 
  10621.  
  10622. To start this program, enter: 
  10623.  
  10624.  
  10625.         EDYTRSET  [/S:status]
  10626.  
  10627. Where status is the mode of operation to which the trace server will be set: 
  10628.  
  10629.      M : Trace to memory 
  10630.  
  10631.      F : Trace to file 
  10632.  
  10633.      S : Not operative 
  10634.  
  10635.  The F parameter value applies only if the EDYTRCS.EXE program is loaded. 
  10636.  
  10637.  
  10638. ΓòÉΓòÉΓòÉ 9.10.3. Loading the trace server ΓòÉΓòÉΓòÉ
  10639.  
  10640. This section explains the trace server loading statement and the load time 
  10641. return codes. 
  10642.  
  10643. If you specify that the trace server stores trace data to a file and this trace 
  10644. file already exists, the loading parameters will not take effect. In addition, 
  10645. trace data will be appended to the existing trace file. 
  10646. Loading statement 
  10647.  
  10648. The following diagram shows the loading statement of the EDYTRCS program. To 
  10649. catch errors corresponding to this program that may happen at load time or at 
  10650. run-time, you can redirect the output to a file. 
  10651.  
  10652.  
  10653.      DETACH EDYTRCS [/S:status] [/M:buffersize]
  10654.                     [/T:filesize] [/PT:drive:path\filename]
  10655.                     [/PC:drive:path] [/N:tracenumber]
  10656.  
  10657. where : 
  10658.  
  10659.      Status is the mode of operation (MEMORY, FILE or STOP). FILE is the 
  10660.       default. 
  10661.  
  10662.      Buffersize is the Size of the memory buffer, in KB, where trace data is 
  10663.       stored. 
  10664.  
  10665.       The parameter applies only if the EDYTRCS.EXE program is loaded before 
  10666.       any application that records trace data. The parameter value ranges from 
  10667.       4 to 512. The default is 64. 
  10668.  
  10669.      Filesize is the maximum size of the file, in KB, where trace data is 
  10670.       stored. The file header should not be included. 
  10671.  
  10672.       The parameter value ranges from 64 to the available disk space. The 
  10673.       default is 150. 
  10674.  
  10675.      /PT and /PC Specifies the full path name of the trace file (optional). 
  10676.       Default name is EDYTRC.DAT and located where the EDYTRACE.INI file is 
  10677.       located. 
  10678.  
  10679.      Tracenumber is the number of valid traces to be kept after a stop 
  10680.       condition is fulfilled. 
  10681.  
  10682.       The parameter value ranges from 0 to 512. The default is 10. 
  10683.  
  10684.  Loading return codes 
  10685.  
  10686.  The following list shows the codes that can be returned at load time: 
  10687.  
  10688.         Value     meaning
  10689.         -----------------
  10690.         x'5A'     Error creating or opening trace file.
  10691.         x'5C'     Invalid parameter specified.
  10692.         x'5D'     Insufficient disk space for trace file.
  10693.         x'5F'     Trace file damaged.
  10694.         x'61'     Error initializing trace server.
  10695.         x'62'     Trace server already loaded
  10696.  
  10697.  
  10698. ΓòÉΓòÉΓòÉ 10. SecureEntry technical information ΓòÉΓòÉΓòÉ
  10699.  
  10700. This chapter contains a description of SecureEntry 3.0 used resources, 
  10701. environment variables, logs and configuration files. 
  10702.  
  10703.      SecureEntry directory structure 
  10704.  
  10705.      Environment variables 
  10706.  
  10707.      Configuration files 
  10708.  
  10709.      Log files 
  10710.  
  10711.      About processes and running contexts 
  10712.  
  10713.      About Object IDs 
  10714.  
  10715.      Session process description 
  10716.  
  10717.      Fine tuning SecureEntry 
  10718.  
  10719.      Error codes and messages 
  10720.  
  10721.  
  10722. ΓòÉΓòÉΓòÉ 10.1. SecureEntry directory structure ΓòÉΓòÉΓòÉ
  10723.  
  10724. The SecureEntry directory includes the following subdirectories : 
  10725.  
  10726.      The API directory, where the source code for implementing API calls as 
  10727.       well as NLS translation is located. 
  10728.  
  10729.      The DLL directory, where all SecureEntry DLLs reside. 
  10730.  
  10731.      The EXEC directory, where the command line interfaces and executables are 
  10732.       located. 
  10733.  
  10734.      The TOOLS directory, where the SecureEntry tools (integration programs) 
  10735.       are located. 
  10736.  
  10737.      The NOUSER directory, where the machine configuration data as well as the 
  10738.       security profiles repository is placed. 
  10739.  
  10740.      The WORK directory, where the assigned security profiles are downloaded 
  10741.       at logon time from the repository server. 
  10742.  
  10743.      The HELP directory, which holds the required help files. 
  10744.  
  10745.      The TEMPLATE directory, where the basic profiles templates as well as 
  10746.       component samples are located. 
  10747.  
  10748.      You may have also a TEMP directory, used by the administration tools to 
  10749.       do temporary copies of the repository files. 
  10750.  
  10751.      And by last, with a NLS dependant name, there is the workbench directory, 
  10752.       where the workbench objects are located. 
  10753.  
  10754.  
  10755. ΓòÉΓòÉΓòÉ 10.2. Environment variables ΓòÉΓòÉΓòÉ
  10756.  
  10757. The following environment variables are used by SecureEntry : 
  10758.  
  10759.      General purpose 
  10760.  
  10761.      Lan Server behavior specific 
  10762.  
  10763.      Related to session control 
  10764.  
  10765.      UCM specific 
  10766.  
  10767.      Administration specific 
  10768.  
  10769.      Related to Workplace Shell 
  10770.  
  10771.      Related to other components 
  10772.  
  10773.  
  10774. ΓòÉΓòÉΓòÉ 10.2.1. General purpose ΓòÉΓòÉΓòÉ
  10775.  
  10776.      SGM_SHELL This variable is mandatory and must be defined in your 
  10777.       config.sys file. It should be defined as a path to where the SecureEntry 
  10778.       files have been installed. By default, and unless otherwise specified, it 
  10779.       points to the C:SGMSHELL directory. 
  10780.  
  10781.      SGM_DB This environment variable is also mandatory, and must be defined 
  10782.       in your config.sys file. It points to the directory where the SecureEntry 
  10783.       profiles database (file EDYREGDB.VLB) is located. In network 
  10784.       environments, it can be a UNC path. 
  10785.  
  10786.  
  10787. ΓòÉΓòÉΓòÉ 10.2.2. Lan Server behavior specific ΓòÉΓòÉΓòÉ
  10788.  
  10789.      SGM_LS This variable is obsolete, and not generally used, but it must be 
  10790.       set to its original value if the MIGRADB utility is to be run in order to 
  10791.       be able to locate the original (SecureEntry 2.0) security profiles. 
  10792.  
  10793.      SGM_LS_IFLOGGED This environment variable sets the action to do for Lan 
  10794.       Server environments, when at logon time a domain logon is found in the 
  10795.       machine. The options are : 
  10796.  
  10797.  
  10798.                SET SGM_LS_IFLOGGED=INFORM   :  Do not logon. Display error message (default)
  10799.                SET SGM_LS_IFLOGGED=FORCE    :  Force a logoff and retry logon automatically
  10800.                SET SGM_LS_IFLOGGED=USE      :  Use the logged on session if the userid and
  10801.                                                domain found already logged match the
  10802.                                                requested ones. Inform otherwise.
  10803.                SET SGM_LS_IFLOGGED=FORCEUSE :  Use the logged on session if the userid and
  10804.                                                domain found already logged match the
  10805.                                                requested ones. Force a logoff and retry
  10806.                                                otherwise.
  10807.  
  10808.       Note that this variable can prove very useful for integrating SecureEntry 
  10809.       with other security products, so that the logon responsibility can be 
  10810.       shared. 
  10811.  
  10812.      SGM_SGMSHELL_GROUP SecureEntry/2 does internally provide shared access to 
  10813.       its repository for Lan Server clients through the hidden resource 
  10814.       SGMSHELL. Since its normal behavior is to grant such access for all 
  10815.       SecureEntry groups (those that start with letters 'SG'), it may be the 
  10816.       case, if you have or plan on having more than 64 such groups that the ACL 
  10817.       (Access Control List) for the SGMSHELL resource becomes too small, since 
  10818.       its limit is 64 entries. 
  10819.  
  10820.       To overcome such limit, this environment variable can be used. By 
  10821.       specifying it, you are effectively defining the name of the group which 
  10822.       should have access to the SGMSHELL resource, and that way, telling 
  10823.       SecureEntry not to update the ACL for this resource with accesses for 
  10824.       each group beginning with letters 'SG'. 
  10825.  
  10826.       So, if this variable has value 'USERS', all the users defined in the Lan 
  10827.       Server domain will be able to issue a SecureEntry signon. If it has 
  10828.       another value, then you are responsible to make sure that all SecureEntry 
  10829.       users belong to such group AND to the SecureEntry group ('SG'), in order 
  10830.       to be able to signon. 
  10831.  
  10832.       Note that the access to the SGMSHELL resource will be granted only after 
  10833.       at least one SecureEntry group has been redefined (added) or modified 
  10834.       (updated) with this environment variable in place. 
  10835.  
  10836.  
  10837. ΓòÉΓòÉΓòÉ 10.2.3. Related to session control ΓòÉΓòÉΓòÉ
  10838.  
  10839.      SGM_EDYLK_SHOW This variable can be used to force the startup dialog to 
  10840.       be kept hidden even if a EDYSTART.CMD file can be found within the root 
  10841.       directory of the boot drive, by assigning it a value of NO or 0. 
  10842.  
  10843.      SGM_HIDE_WAIT_DLGS Use this environment variable set to YES to avoid 
  10844.       showing of the 'xxxx in progress, please wait...' dialogs. If this 
  10845.       variable is not defined or set to other value, these dialogs will be 
  10846.       displayed. 
  10847.  
  10848.      SGM_INI_LOGPATH This environment variable sets up the path for the 
  10849.       EDYLKINI.LOG file, which keeps information about the startup process 
  10850.       activity. It is not set by the installation process. By default, if this 
  10851.       variable is not set, then this log file will be placed within the root 
  10852.       directory of the boot drive, that is, the same directory where the 
  10853.       EDYSTART.CMD file resides. 
  10854.  
  10855.      SGM_SES_LOGPATH This environment variable sets up the path for the 
  10856.       EDYSLA.LOG file, which keeps information about all of the machine's 
  10857.       session activity. It is not set by the installation process. By default, 
  10858.       if this variable is not set, then this log file will be placed within the 
  10859.       path pointed by the SESDBPATH variable (normally being the 
  10860.       OS2\SECURITY\SESDB path of the boot partition). If SES is not installed, 
  10861.       then the file will be stored in the SGMSHELL\NOUSER directory, unless 
  10862.       otherwise specified through the appropriate environment variable. 
  10863.  
  10864.      SGM_WPS_FASTLOAD  This variable is not mandatory. It determines the 
  10865.       activation sequence for Desktop  restrictions at WPS load time. The WPS 
  10866.       is loaded when the workstation is started, after an error causes it to 
  10867.       terminate, and after logging on when the SES environment variable 
  10868.       'RESTARTUSERSHELL' is set to YES. 
  10869.  
  10870.       If fast loading is disabled, the Desktop restrictions defined in NOUSER 
  10871.       are applied when the WPS is being loaded. Once the WPS is fully 
  10872.       initialized, the restrictions for all the other SecureEntry components 
  10873.       are applied; then, the user's Desktop restrictions are applied. 
  10874.  
  10875.       If fast loading is enabled, the user Desktop restrictions are applied as 
  10876.       soon as they are available (user identified); then, the restrictions for 
  10877.       all the other SecureEntry components are applied. This means that the 
  10878.       user can access the Desktop before additional restrictions are applied. 
  10879.       Fast loading can affect security if the user's Desktop restrictions allow 
  10880.       the user to manipulate desktop objects that should only be available when 
  10881.       all the other restrictions have been applied (e.g. starting an editor 
  10882.       before the File System restrictions have been applied). 
  10883.  
  10884.       A second effect of this variable is to specify 'when to rise the curtain' 
  10885.       at logon time, i.e, when will the user be able to use his desktop. If 
  10886.       enabled, the background bitmap will be closed as soon as the user is 
  10887.       identified. If disabled, this will be delayed until all security profiles 
  10888.       are active, thus not allowing user interaction with the machine until 
  10889.       that moment. 
  10890.  
  10891.       By default, fast loading is disabled. To enable it, set this variable to 
  10892.       YES or to any other value that starts with Y. 
  10893.  
  10894.      SGM_ALLOW_CAD Use this variable set to YES to allow one-touch Ctl-alt-del 
  10895.       to reboot the system, as any non SecureEntry OS/2 system does. By 
  10896.       default, the value of NO will enable SecureEntry specific support for 
  10897.       this key combination. The third allowed value is TWICE, which will force 
  10898.       twice-touch of the key combination to effectively reboot the machine. 
  10899.       This is useful for obtaining system dumps, since then Ctl-alt-del 
  10900.       followed by Ctl-alt-NumLock-NumLock will force the dump. 
  10901.  
  10902.      SGM_PM_WAIT_B4_KILL Use this environment variable to specify a wait 
  10903.       interval (in seconds) before SecureEntry decides to kill user context PM 
  10904.       running applications at logoff time after sending them the close message. 
  10905.       This becomes handy if you want to grant the logoff function to terminate 
  10906.       even if applications request for any user input when receiving the 
  10907.       WM_CLOSE PM message. So, for instance, if you are editing a file, and 
  10908.       then decide to logoff, the typical editor behavior would be to prompt 
  10909.       about saving or discarding changes at this time. Once the specified 
  10910.       timeout expires without further user interaction, the editor will be 
  10911.       killed and the logoff task resumed. 
  10912.  
  10913.       The default value is 20 seconds. Use a value of -1 to indicate an 
  10914.       indefinite timeout. Use a value of 0 to indicate no timeout, i.e, kill 
  10915.       applications immediately. In any case, and to avoid problems, it is 
  10916.       advisable to have this variable set to a value different from 0, since 
  10917.       some processes do not die 'elegantly' if they do not receive the WM_CLOSE 
  10918.       message and/or some data could be lost if they do not have an opportunity 
  10919.       to save it. 
  10920.  
  10921.      SET SGM_WAIT_B4_FLUSH Set this variable to xxx, where xxx is the number 
  10922.       of seconds to wait before flushing system buffers to disk at shutdown 
  10923.       time in case of a shutdown hang. 
  10924.  
  10925.       This means that a system power off will not imply a chkdsk during the 
  10926.       next IPL if xxx seconds have passed from the beginning of 
  10927.       WinShutdownSystem. 
  10928.  
  10929.       If "edyutil { toshtdwn | frshtdwn } reboot" was specified, then the 
  10930.       reboot will take place almost immediately if it succeeds, or after xxx 
  10931.       seconds have passed since the beginning of WinShutdownSystem. 
  10932.  
  10933.       If not specified, xxx defaults to 300 seconds (5 minutes). 
  10934.  
  10935.       If xxx==0, then 300 seconds (5 minutes) will be set. 
  10936.  
  10937.             Format:
  10938.  
  10939.             o If xxx begins with 0, then the value will be assumed to be octal
  10940.             o If xxx begins with 0x or 0X, then the value will be assumed to be hexadecimal.
  10941.             o Otherwise the value will be assumed to be decimal.
  10942.  
  10943.      SGM_SS_ALLOW_IU This environment variable does only make sense when using 
  10944.       RACF (or the RACF emulator) to synchronize passwords. It allows you to 
  10945.       customize the behavior of the signon process when Unknown user is 
  10946.       received from such logon procedure. The valid values are : 
  10947.  
  10948.         -  0 (default) Abort the signon process presenting to the user the 
  10949.            appropriate error message dialog box. 
  10950.  
  10951.         -  1 Gate to emergency logon *without* synchronizing passwords, so that 
  10952.            if the userid/password are valid at the branch, signon will succeed. 
  10953.            Note that password changes will not be allowed. 
  10954.  
  10955.         -  2 Continue signon process *without* synchronizing passwords, so that 
  10956.            if the used userid/password are valid at the branch, signon will 
  10957.            succeed. Password changes are allowed. 
  10958.  
  10959.         -  3 Continue signon process *without* synchronizing passwords, so that 
  10960.            if the used userid/password are valid at the branch, signon will 
  10961.            succeed. Password changes are allowed. Additionally, present the 
  10962.            user with a dialog box message informing about the event (message 
  10963.            number 106). 
  10964.  
  10965.       Note that using values different than 0 may cause userid/password 
  10966.       desynchronization problems, but may be a requirement for local 
  10967.       administration at your corporation. 
  10968.  
  10969.      SGM_SS_ALLOW_IP This environment variable does only make sense when using 
  10970.       RACF (or the RACF emulator) to synchronize passwords. It allows you to 
  10971.       customize the behavior of the signon process when Invalid password is 
  10972.       received from such logon procedure. The valid values are : 
  10973.  
  10974.         -  0 (default) Abort the signon process presenting to the user the 
  10975.            appropriate error message dialog box. 
  10976.  
  10977.         -  1 Gate to emergency logon *without* synchronizing passwords, so that 
  10978.            if the password is valid in the branch, signon will succeed. Note 
  10979.            that password changes will not be allowed. 
  10980.  
  10981.         -  2 Continue signon process *without* synchronizing passwords, so that 
  10982.            if the used password is valid at the branch, signon will succeed. 
  10983.            Password changes are allowed. 
  10984.  
  10985.         -  3 Continue signon process *without* synchronizing passwords, so that 
  10986.            if the used password is valid at the branch, signon will succeed. 
  10987.            Password changes are allowed. Additionally, present the user with a 
  10988.            dialog box message informing about the event (message number 106). 
  10989.  
  10990.       Note that using values different than 0 may cause password 
  10991.       desynchronization problems, but may be a requirement for local 
  10992.       administration at your corporation. 
  10993.  
  10994.      SGM_SS_IF_NO_AUTOLOCKUP Set this variable to NO if you want the screen 
  10995.       saver function disabled when there is no autolockup defined through the 
  10996.       active SES restrictions profile. i.e, you only want the screen saving 
  10997.       function to activate over a lockup screen, and not over an unprotected 
  10998.       user desktop. 
  10999.  
  11000.      SGM_SS_USEREXIT Set this variable to NO if you want to avoid the screen 
  11001.       saving function to be active while processing user exits. Note that in 
  11002.       this case, and if you provide your own logon or unlock dialogs, they will 
  11003.       be responsible for avoiding losing the focus and should provide their own 
  11004.       screen saving function. 
  11005.  
  11006.      SGM_SS_WHEN_LOCKUP Set this variable to YES if you want the screen saving 
  11007.       function to activate immediately when a lockup event is processed, 
  11008.       because of explicit user request or inactivity timeout. The customized 
  11009.       (security profile) screen saver inactivity timer will still be used for : 
  11010.  
  11011.         -  Popping up the screen saving function while not in lockup state (if 
  11012.            automatic lockup is not being used), or 
  11013.  
  11014.         -  Popping up the screen saver function while in lockup state after the 
  11015.            user forces the lockup panel to appear by issuing some keystrokes. 
  11016.  
  11017.      SGM_BACK_BITMAP Set this variable to NO if you want to disable displaying 
  11018.       of the background bitmap during the logon, logoff and lockup processes. 
  11019.       This is a feature not normally needed, but which may prove useful in 
  11020.       those installations where SecureEntry has to be integrated with existing 
  11021.       applications in a seamless way. 
  11022.  
  11023.       If you require more granularity, this same variable accepts an alternate 
  11024.       syntax, as follows: 
  11025.  
  11026.  
  11027.                 SET SGM_BACK_BITMAP=xyz
  11028.  
  11029.       Where: 
  11030.  
  11031.         -  x specifies where to display the background bitmap at startup. 
  11032.  
  11033.         -  y specifies where to display the background bitmap during 
  11034.            logon/logoff. 
  11035.  
  11036.         -  z specifies where to display the background bitmap during lockup. 
  11037.  
  11038.       Specify all values x, y and z as character '0' (disable) or '1' (enable). 
  11039.  
  11040.      SGM_DISABLE_SYSTEM_KEYS Set this variable to a number in order to specify 
  11041.       a given systemwide key to disable. the number can be any combination 
  11042.       (addition) of : 
  11043.  
  11044.                     Ctrl-Alt-Del .............. 1
  11045.                     Ctrl-Alt-NumlockNumlock ... 2
  11046.                     Ctrl-Esc .................. 4
  11047.                     Alt-Esc ................... 8
  11048.                     Alt-Tab .................. 16
  11049.                     Pause .................... 32
  11050.                     Print-Screen ............. 64
  11051.                     Left Windows key ........ 128
  11052.                     Right Windows key ....... 256
  11053.                     Windows select key ...... 512
  11054.  
  11055.       You can specify octal notation, by beginning the value with '0', 
  11056.       hexadecimal, beginning with '0x', or decimal (otherwise). Note that for 
  11057.       this feature to work correctly, you need to have a fully compatible 
  11058.       IBM-PS2 type keyboard. 
  11059.  
  11060.       If you configure a given key combination to be disabled through this 
  11061.       environment variable, and also to be enabled by the active EDYSES 
  11062.       profile, then the key will be disabled since a bitwise OR is done among 
  11063.       both masks to decide what to disable or not 
  11064.  
  11065.       The default value is 0 (do not disable system keys). 
  11066.  
  11067.      SGM_HOOK_SYSTEM_KEYS 
  11068.  
  11069.       This environment variable allows you to configure which of the supported 
  11070.       systemwide keys are to be hooked through a user exit. Allowed values are 
  11071.       the same as those of SGM_DISABLE_SYSTEM_KEYS. Note that if a given key 
  11072.       combination is disabled, then even if it is also configured to be hooked, 
  11073.       it will not be seen by the hook (user exit). If you configure a given key 
  11074.       combination to be hooked through this environment variable, and also to 
  11075.       not be hooked by the active EDYSES profile, then the hook will be active 
  11076.       since a bitwise OR is done among both masks to decide what to hook or not 
  11077.  
  11078.       The default value is 0 (do not hook system keys). 
  11079.  
  11080.      SGM_SES_CAD 
  11081.  
  11082.       Use this variable set to YES to force the system to handle Ctrl-Alt-Del 
  11083.       Requests through the SES API, instead of using SecureEntry's own device 
  11084.       driver, which is the default behavior. Using SecureEntry device driver to 
  11085.       check for CAD combination has the advantage that Ctrl-Alt-Del is 
  11086.       correctly distinguished from Ctrl-Alt-Numlock, but could not work if you 
  11087.       are working with non-standard keyboard devices. 
  11088.  
  11089.      SGM_SES_INACTIVITY 
  11090.  
  11091.       Use this variable set to YES to force the system to handle inactivity 
  11092.       timeouts through the SES API, instead of using SecureEntry's own device 
  11093.       driver, which is the default behavior. Using SecureEntry device driver to 
  11094.       check for inactivity has the advantage of increased accuracy, but could 
  11095.       not work if you apply a OS/2 base fixpack for which this feature has not 
  11096.       been tested. 
  11097.  
  11098.      SGM_HOOK_CANN_KEY 
  11099.  
  11100.       Use this environment variable to force SecureEntry *not* to internally 
  11101.       hook the Ctrl-Alt-NumLockNumLock key combination, by setting it to a NO 
  11102.       value. Note that SecureEntry does always by default handle this key 
  11103.       combination internally, to avoid potential problems when trying to obtain 
  11104.       a memory dump over a FAT partition in a disk where SecureEntry boot 
  11105.       protection is installed, since the memory dump process needs to have 
  11106.       direct BIOS access to the partition. 
  11107.  
  11108.       The drawback of this approach is that then and since the key combination 
  11109.       is intercepted by SecureEntry, such obtained system dumps do always point 
  11110.       CS:EIP to SecureEntry's EDYSLA.EXE kernel code, masking off the real 
  11111.       responsible module which caused the necessity of a dump in the first 
  11112.       place. 
  11113.  
  11114.       Summarizing, set this variable temporarily to no, if you want to obtain a 
  11115.       clean memory dump, but in this case you should either uninstall the boot 
  11116.       protection feature first, or be careful not to generate the dump into a 
  11117.       FAT partition. 
  11118.  
  11119.      SGM_USER_DLGS 
  11120.  
  11121.       If you are Overriding the default SecureEntry logon/lockup dialogs, then 
  11122.       you can use this environment variable to specify the name of your 
  11123.       executable modules or dialog titles which implement such overridden 
  11124.       windows. These will be used to identify which windows are allowed to 
  11125.       steal system modality over the lockup background bitmap when the 
  11126.       appropriate user exit is serviced. If this environment variable is not 
  11127.       used, then SecureEntry will assume that the first system modal window 
  11128.       that appears during user exit processing is the intended one, thus 
  11129.       allowing for a few seconds hole where an asynchronous system modal window 
  11130.       could be assumed to be the expected logon/lockup one. 
  11131.  
  11132.       Specify as many process names or window titles (enclosed between double 
  11133.       quotes) as you need, separated by commas, case insensitive and with 
  11134.       wildcards allowed. For instance, and if you are using the provided Sample 
  11135.       logon/unlock dialogs, you could specify: 
  11136.  
  11137.                     SET SGM_USER_DLGS=*LOGSAMP.EXE,*UNSAMP.EXE
  11138.  
  11139.      SGM_HIDE_EXIT_AFTER_LOGON 
  11140.  
  11141.       Use this environment variable to specify whether SecureEntry should keep 
  11142.       the logon background bitmap in place while the user exit after logon is 
  11143.       being processed (value YES), or leave this user exit to be processed 
  11144.       while the desktop is accessible (value NO). Note that the installation 
  11145.       process sets this variable to YES, to grant workstation security, since 
  11146.       treelock profiles enforcement is not active while this user exit is 
  11147.       running. 
  11148.  
  11149.      SGM_NC This environment variable is used to specify the NSC subsystems 
  11150.       that will act as password synchronizers when using the provided NSC/2 
  11151.       LMP. It will accept the following values: 
  11152.  
  11153.         -  ALL. All systems defined in the NSC profile will act as password 
  11154.            synchronizer subsystems. This is the default value. 
  11155.  
  11156.         -  The indexes, separated by commas, of the subsystems ( LOCAL, SERVER, 
  11157.            LANSERVER, HOST ) that are defined in the NSC configuration file 
  11158.            that you want to act as synchronizer subsystems. For example: 
  11159.  
  11160.            SGM_NC=2,3,6 
  11161.  
  11162.            In this case the subsystems defined in second, third and sixth 
  11163.            position within the NSC configuration file will act as synchronizer 
  11164.            subsystems. 
  11165.  
  11166.      SGM_SHUTDOWN_AT_LOGON_PANEL 
  11167.  
  11168.       Use this environment variable set to NO if you want to disable the 
  11169.       Shutdown button in the standard SecureEntry logon dialog, for instance, 
  11170.       because the machine is a server and you want to avoid casual shutdowns 
  11171.       initiated by unauthorized users. The default value if unspecified is YES. 
  11172.  
  11173.  
  11174. ΓòÉΓòÉΓòÉ 10.2.4. UCM specific ΓòÉΓòÉΓòÉ
  11175.  
  11176.      SGM_UCM_ENABLE This variable is to be defined only when UCM is being 
  11177.       used, in the centralized administration workstation. When set to YES, all 
  11178.       administration API requests are rerouted to the host through the DB2/DDCS 
  11179.       UCM agent. Note that you can set this variable in a per administration 
  11180.       session basis (i.e, not config.sys mandatory). 
  11181.  
  11182.      SGM_UCM_BRANCH This variable is to be defined only when UCM is being used 
  11183.       at the central UCM administrator workstation. It defines the default 
  11184.       branch name to be used by the administration utilities when adding a new 
  11185.       user to the corporate repository. 
  11186.  
  11187.      SGM_UCM_THIS_BRANCH This environment variable defines the branch name by 
  11188.       which this actual branch will be known at the host site. This is only for 
  11189.       informative purposes, so you can relate a given branch ID, which is given 
  11190.       automatically by the host, with a full sense identification string. Note 
  11191.       that this environment variable will only be really used once, whenever a 
  11192.       new branch is known to the host for the first time, so if you intend to 
  11193.       use it, you will have to set it up during the installation process of 
  11194.       your new branch servers. Once installed, the utility EDYBRNVW.EXE, can be 
  11195.       used at any workstation to view the branch synchronization and 
  11196.       identification data. 
  11197.  
  11198.      EDY_UCM_MAXROWS This variable can be defined to customize the maximum 
  11199.       number of rows that the UCM API will be able to handle as a query result 
  11200.       before returning the MANY_ROWS_FETCHED error. The default value not to 
  11201.       impose any limit. 
  11202.  
  11203.      SGM_REFRESH_PARMS This environment variable its not mandatory. This 
  11204.       variable should be defined in the config.sys file. Sets up the number of 
  11205.       retries for the branch refresh task in case of error, the time interval 
  11206.       between this repeat operations and the minutes interval to be used to 
  11207.       calculate the init hour of refresh branch. This variable can take the 
  11208.       following allowable values: SGM_REFRESH_PARMS=a,b,c with this ranges: 0 
  11209.       to 9, 0 to 99 and 0 to 180 for a, b, c respectively. The default values 
  11210.       if SGM_REFRESH_PARMS not specified is 1,15,30. 
  11211.  
  11212.      SGM_UCM_LOGPATH This environment variable sets up the path for the 
  11213.       EDYDIS.LOG file, which keeps information about the refresh activity of a 
  11214.       branch. It is not set by the installation process. By default, if this 
  11215.       variable is not set, then this log will be placed within then path 
  11216.       pointed by the SGM_DB variable (normally the server machine 
  11217.       SecureEntryPath\NOUSER directory). 
  11218.  
  11219.      SGM_NETBIOS_ADAPTER_NUM If your desired netbios protocol is not 
  11220.       configured over logical adapter 0 through MPTS, you can use this variable 
  11221.       to indicate which logical adapter to use for communicating between the 
  11222.       EDYSRV and the client machines. This communication is specially relevant 
  11223.       when using UCM or RACF validation. Valid values are 0,1,2 and 3. 
  11224.  
  11225.      SGM_FORCE_LUALIAS Use this environment variable to specify the 
  11226.       independent LU 6.2 alias to use for EDYSRV/EDYTP communications. If not 
  11227.       specified, (which is the default case), the default configured 
  11228.       independent LU 6.2 in communications manager will be used. 
  11229.  
  11230.      SGM_UCM_DBDFT Only for the UCM's administrator workstation. If you 
  11231.       catalog the UCM Database in the administrator workstation with an alias 
  11232.       different than 'UCM', then you must define this environment environment 
  11233.       variable with value: the UCM choosen alias. 
  11234.  
  11235.      SGM_UCM_CORPORATE_NAME Use this environment variable in the UCM 
  11236.       administrator workstation only. If you install UCM in a multi-enterprise 
  11237.       corporation with a separate UCM Database for each company and you wish to 
  11238.       be able issue all UCM administrator's tasks from a single workstation, 
  11239.       you must customize this variable as explained below: 
  11240.  
  11241.         -  Before you proceed with SecureEntry and UCM installation, you must 
  11242.            decide the institution name  to use for each company. This name will 
  11243.            be required by SecureEntry and UCM installation processes. If you 
  11244.            use the same name for each company then you will not need to use 
  11245.            this environment variable. 
  11246.  
  11247.         -  After installing SecureEntry in the UCM administrator's workstation, 
  11248.            make as many object copies as needed of the UCM, Users and groups 
  11249.            administration tool (as many as different existing UCM databases you 
  11250.            wish to administer). Make the same number of copies of the file 
  11251.            UCMADM.CMD located in \SGMSHELL\EXEC (i.e, UCMADM1.CMD..UCMADMn.CMD 
  11252.            ...). 
  11253.  
  11254.         -  Then set this environment variable for each UCMADMx.CMD file with 
  11255.            the appropriate institution name you want to administer. Make sure 
  11256.            also that each command file connects to the appropriate DB2 database 
  11257.            alias. 
  11258.  
  11259.         -  Now assign each command file to each of the copied UCM, Users and 
  11260.            groups administration tool object by directly editing the object's 
  11261.            settings. 
  11262.  
  11263.      SGM_FORCE_MODE Only for the domain controller workstations in your 
  11264.       branches. If you want to define another APPCMODE for the UCM 
  11265.       communications channel, you must define the APPCMODE's name in this 
  11266.       environment variable. This can be very useful in RACF and UCM 
  11267.       installations. If you use the RACF emulator provided by SecureEntry, this 
  11268.       environment variable is not needed. 
  11269.  
  11270.      SGM_SNA_TIMEOUT Use this environment variable to specify, in seconds, an 
  11271.       increased maximum timeout for APPC host responses. The default and 
  11272.       minimum allowable value is 180 seconds. 
  11273.  
  11274.  
  11275. ΓòÉΓòÉΓòÉ 10.2.5. Administration specific ΓòÉΓòÉΓòÉ
  11276.  
  11277.      SGM_SL_LOGMODE This variable is not mandatory, and can be used to set up 
  11278.       the logging mode for administration utilities. Its possible values are : 
  11279.  
  11280.  
  11281.               SET SGM_SL_LOGMODE=TEST    : Log all activity, including returned keyword
  11282.                                            values in view operations. Useful for testing
  11283.                                            your own developed agents
  11284.               SET SGM_SL_LOGMODE=ALL     : Log all activity
  11285.               SET SGM_SL_LOGMODE=UPDATES : Log only activity which modifies the database.
  11286.                                            This is the default setting
  11287.               SET SGM_SL_LOGMODE=NONE    : Log no activity
  11288.  
  11289.      SGM_SL_LOGPATH This environment variable sets up the path for the 
  11290.       EDYADMIN.LOG file, which keeps information about all administration 
  11291.       activity. It is not set by the installation process. By default, if this 
  11292.       variable is not set, then this log file will be placed within the path 
  11293.       pointed by the SGM_DB variable (normally the server machine 
  11294.       SecureEntryPath\NOUSER directory. 
  11295.  
  11296.      SGM_ADM_PRIV This environment variable can be used to filter which 
  11297.       administration functions are allowed by the agents selector for 
  11298.       administrator users. You can specify it by setting this variable to an 
  11299.       integer value where each bit specifies a given operation, either in 
  11300.       decimal, hex (0x...) or binary (0b...) : 
  11301.  
  11302.                 EDYUCM_PRIVILEGE_SUB_VIEW         0x00000001
  11303.                 EDYUCM_PRIVILEGE_SUB_ADD          0x00000002
  11304.                 EDYUCM_PRIVILEGE_SUB_UPDATE       0x00000004
  11305.                 EDYUCM_PRIVILEGE_SUB_DELETE       0x00000008
  11306.                 EDYUCM_PRIVILEGE_RESOURCE_VIEW    0x00000010
  11307.                 EDYUCM_PRIVILEGE_RESOURCE_ADD     0x00000020
  11308.                 EDYUCM_PRIVILEGE_RESOURCE_UPDATE  0x00000040
  11309.                 EDYUCM_PRIVILEGE_RESOURCE_DELETE  0x00000080
  11310.                 EDYUCM_PRIVILEGE_GROUP_VIEW       0x00000100
  11311.                 EDYUCM_PRIVILEGE_GROUP_ADD        0x00000200
  11312.                 EDYUCM_PRIVILEGE_GROUP_UPDATE     0x00000400
  11313.                 EDYUCM_PRIVILEGE_GROUP_DELETE     0x00000800
  11314.                 EDYUCM_PRIVILEGE_USER_VIEW        0x00001000
  11315.                 EDYUCM_PRIVILEGE_USER_ADD         0x00002000
  11316.                 EDYUCM_PRIVILEGE_USER_UPDATE      0x00004000
  11317.                 EDYUCM_PRIVILEGE_USER_DELETE      0x00008000
  11318.                 EDYUCM_PRIVILEGE_USER_GRP_VIEW    0x00010000
  11319.                 EDYUCM_PRIVILEGE_USER_GRP_ADD     0x00020000
  11320.                 EDYUCM_PRIVILEGE_USER_GRP_UPDATE  0x00040000
  11321.                 EDYUCM_PRIVILEGE_USER_GRP_DELETE  0x00080000
  11322.                 EDYUCM_PRIVILEGE_RES_USER_VIEW    0x00100000
  11323.                 EDYUCM_PRIVILEGE_RES_USER_ADD     0x00200000
  11324.                 EDYUCM_PRIVILEGE_RES_USER_UPDATE  0x00400000
  11325.                 EDYUCM_PRIVILEGE_RES_USER_DELETE  0x00800000
  11326.                 EDYUCM_PRIVILEGE_GRP_GRP_VIEW     0x01000000
  11327.                 EDYUCM_PRIVILEGE_GRP_GRP_ADD      0x02000000
  11328.                 EDYUCM_PRIVILEGE_GRP_GRP_UPDATE   0x04000000
  11329.                 EDYUCM_PRIVILEGE_GRP_GRP_DELETE   0x08000000
  11330.                 EDYUCM_PRIVILEGE_RES_GRP_VIEW     0x10000000
  11331.                 EDYUCM_PRIVILEGE_RES_GRP_ADD      0x20000000
  11332.                 EDYUCM_PRIVILEGE_RES_GRP_UPDATE   0x40000000
  11333.                 EDYUCM_PRIVILEGE_RES_GRP_DELETE   0x80000000
  11334.  
  11335.       So, for instance : 
  11336.  
  11337.                 SET SGM_ADM_PRIV=0x11111111
  11338.       Would allow only view access through SecureEntry administration tools, 
  11339.       and 
  11340.  
  11341.                 SET SGM_ADM_PRIV=0x1111F111
  11342.       Would allow view access to all of SecureEntry repository, plus 
  11343.       add/update/and delete access for user objects. 
  11344.  
  11345.       Note however, that using this variable only makes sense if you are 
  11346.       providing a 'closed' environment to your local branch administrators, 
  11347.       i.e, they do not have access to a command line. If this variable is not 
  11348.       specified, unlimited access is granted to administrator users. 
  11349.  
  11350.  
  11351. ΓòÉΓòÉΓòÉ 10.2.6. Related to Workplace Shell ΓòÉΓòÉΓòÉ
  11352.  
  11353.      SGM_WPS_LOADCLASS  This variable is not mandatory. It can be used to 
  11354.       specify WPS classes that need to be loaded before the SecureEntry 
  11355.       profiles are activated during the WPS loading. It should only be defined 
  11356.       if custom components are defined that include WPS code that needs to be 
  11357.       initialized before activating the user profiles. The value of the 
  11358.       variable should be a list of class names separated with comas, with no 
  11359.       blanks allowed. 
  11360.  
  11361.      SGM_WPS_DISABLE  This variable is not mandatory, and should only be used 
  11362.       during problem determination. When it is set to YES, or to any other 
  11363.       value that starts with Y, the SecureEntry WPS classes that replace the 
  11364.       standard classes are disabled. 
  11365.  
  11366.      SGM_WPS_TRACE  This variable is not mandatory, and is only useful during 
  11367.       problem determination. It allows to define the level of trace detail of 
  11368.       different subsystems in the WPS code. The value must be a list of 
  11369.       subsystems with their corresponding level of detail. The defined 
  11370.       subsystems and their default level of detail are: RES-3: Object 
  11371.       restrictions CLS-3: Class loading OBJ-3: Object loading POS-3: Object 
  11372.       position management MGR-3: Profile and event management DRG-3: Drag and 
  11373.       Drop SHD-3: Shadow folders MTX-5: Mutex semaphore management ASY-5: 
  11374.       Asynchronous events management Examples: 
  11375.  
  11376.               If the variable is not defined and the SNTOBJ trace level is set to 1,
  11377.             none of this subsystems will trace its actions. If the trace level is
  11378.             changed to 3, all the subsystems except MTX and ASY will trace their
  11379.             actions.
  11380.               If the variable is set to SGM_WPS_TRACE=RES-1,DRG-1, and the SNTOBJ
  11381.             trace level is set to 2, the RES and DRG subsystems will trace their
  11382.             actions.
  11383.  
  11384.      SGM_WPS_PRINTJOBS  This variable is not mandatory. It defines how 
  11385.       restrictions should be applied on print jobs. Its possible values are: 
  11386.       RESTRICT_NONE, RESTRICT_BY_TITLE, RESTRICT_BY_DEFAULT or 
  11387.       RESTRICT_PRINTJOBS.  When it is set to RESTRICT_NONE, no restrictions are 
  11388.       applied on print jobs, no matter their title.  When it is set to 
  11389.       RESTRICT_BY_TITLE, print jobs are restricted with the standard mechanism: 
  11390.       if a matching title is found in the Desktop Restrictions profile, the 
  11391.       specified restrictions are used; if no matching title is found, the 
  11392.       restrictions specified for the DEFAULT entry are used; if there is no 
  11393.       DEFAULT entry, no restrictions are applied.  When it is set to 
  11394.       RESTRICT_BY_DEFAULT, print jobs are restricted with the restrictions 
  11395.       specified for the DEFAULT entry in the Desktop Restrictions profile, no 
  11396.       matter their title; if there is no DEFAULT entry, no restrictions are 
  11397.       applied.  When it is set to RESTRICT_PRINTJOBS, all print jobs are 
  11398.       treated as if their title were RESTRICT_PRINTJOBS. If the  Desktop 
  11399.       Restrictions profile contains a RESTRICT_PRINTJOBS entry, its 
  11400.       restrictions are used for all print jobs, no matter their title; if there 
  11401.       is no RESTRICT_PRINTJOBS , the restrictions specified for the DEFAULT 
  11402.       entry are used; if there is no DEFAULT entry, no restrictions are 
  11403.       applied.  The default value is RESTRICT_BY_TITLE. 
  11404.  
  11405.      SGM_WPS_NONDESKTOP  This variable is not mandatory. It defines how 
  11406.       restrictions should be applied on objects that are not located on the 
  11407.       current Desktop or Nowhere folders or any of their subfolders. Its 
  11408.       possible values are: RESTRICT_NONE, RESTRICT_BY_TITLE, 
  11409.       RESTRICT_BY_DEFAULT or RESTRICT_NONDESKTOP.  To avoid a severe 
  11410.       performance degradation, the restrictions applied to these objects only 
  11411.       affect their menus and setting pages: no change is done regarding their 
  11412.       styles (visible or not, deleteable or not...). If their styles need to be 
  11413.       restricted, the standard OS/2 mechanism can be used, either on 
  11414.       installation or by means of a user exit if they need to be changed 
  11415.       dynamically (e.g. SysSetObjectData(ObjectPath, 
  11416.       "NOTVISIBLE=YES;NODELETE=YES")).  When it is set to RESTRICT_NONE, no 
  11417.       restrictions are applied on these objects, no matter their title.  When 
  11418.       it is set to RESTRICT_BY_TITLE, these objects are restricted with the 
  11419.       standard mechanism: if a matching title is found in the Desktop 
  11420.       Restrictions profile, the specified restrictions are used; if no matching 
  11421.       title is found, the restrictions specified for the DEFAULT entry are 
  11422.       used; if there is no DEFAULT entry, no restrictions are applied. The use 
  11423.       of this value can cause a noticeable delay when opening these objects' 
  11424.       settings notebook or when displaying their menu.  When it is set to 
  11425.       RESTRICT_BY_DEFAULT, these objects are restricted with the restrictions 
  11426.       specified for the DEFAULT entry in the Desktop Restrictions profile, no 
  11427.       matter their title; if there is no DEFAULT entry, no restrictions are 
  11428.       applied.  When it is set to RESTRICT_NONDESKTOP, these objects are 
  11429.       treated as if their title were RESTRICT_NONDESKTOP. If the  Desktop 
  11430.       Restrictions profile contains a RESTRICT_NONDESKTOP entry, its 
  11431.       restrictions are used for all these objects, no matter their title; if 
  11432.       there is no RESTRICT_NONDESKTOP , the restrictions specified for the 
  11433.       DEFAULT entry are used; if there is no DEFAULT entry, no restrictions are 
  11434.       applied.  The default value is RESTRICT_NONE. 
  11435.  
  11436.      SGM_WPS_BEEP This variable is also not mandatory, and can be used to make 
  11437.       SecureEntry beep through the speaker at certain times for debugging 
  11438.       purposes. The supported values are : 
  11439.  
  11440.         -  REFRESH : A beep will sound at the beginning and end of a desktop 
  11441.            refresh. 
  11442.  
  11443.         -  EXIT : A beep will sound whenever the  WPS dies. 
  11444.  
  11445.         -  TRAP : Will sound a beep whenever a trap is processed by SecureEntry 
  11446.            WPS code (default). 
  11447.  
  11448.      SGM_WPS_SKIP_PREPOPULATE This variable controls whether SecureEntry 
  11449.       should inhibit the default folders population done by the OS/2 system at 
  11450.       startup. A standard OS/2 WARP system WorkPlace prepopulates the following 
  11451.       folders at startup : 
  11452.  
  11453.         -  <WP_TOOLS> 
  11454.  
  11455.         -  <WP_GAMES> 
  11456.  
  11457.         -  <WP_DRIVES> 
  11458.  
  11459.         -  <WP_CONFIG> 
  11460.  
  11461.         -  <WP_OS2SYS> 
  11462.  
  11463.         -  <WP_INFO> 
  11464.  
  11465.         -  <WP_PROMPTS> 
  11466.  
  11467.         -  <WP_SERVER> 
  11468.  
  11469.       Doing this task takes several seconds, and it may be very well the case 
  11470.       that this set of folders do not belong to the 'most used' ones on your 
  11471.       system, in which case it is just spending time without purpose. This 
  11472.       together with the fact that up to recent fix levels on OS/2 WARP fix code 
  11473.       this 'prepopulate thread' could potentially aggravate an internal timing 
  11474.       dependant deadlock problem of workplace at startup, have been the reasons 
  11475.       for adding the present environment variable. 
  11476.  
  11477.       The variable can take the following values : 
  11478.  
  11479.         -  ALL Skip all folders populate at startup 
  11480.  
  11481.         -  NONE Skip no folders populate at startup (default if not present) 
  11482.  
  11483.         -  <ObjectId>..<ObjectId> Skip listed folders populate at startup 
  11484.  
  11485.       SecureEntry installs itself setting the ALL value in config.sys file. 
  11486.  
  11487.      SGM_EDYSC_DISABLE This variable can be used to disable all the 
  11488.       WarpCenter's SENTRY features leaving the SmartCenter Workplace Shell 
  11489.       class as original defined. Allowed values are YES or NO 
  11490.  
  11491.      SGM_WPS_IGNORE_ADMIN You can override SecureEntry specific workplace 
  11492.       shell functionality done for administrators by setting this variable to 
  11493.       YES. Specifically, this refers to the visibility state of the SecureEntry 
  11494.       workbench folder and the added folder's popup menu entry 'Save 
  11495.       positions'. Note that you can cancel this setting temporarily by 
  11496.       executing the provided EDYWPADM.CMD command, as supplied within the 
  11497.       SecureEntry path, TOOLS directory. 
  11498.  
  11499.  
  11500. ΓòÉΓòÉΓòÉ 10.2.7. Related to other components ΓòÉΓòÉΓòÉ
  11501.  
  11502.      SGM_WIN_EXPLICITMENUS Set this variable to NO if you want the windows 
  11503.       behavior component to enforce the <DEFAULT> system menu settings for all 
  11504.       windows of the system. Note that the default value is set to YES, so that 
  11505.       system menu settings will only be enforced for explicitly configured 
  11506.       windows. Setting the NO value will cause system menu options that are 
  11507.       managed by the applications to become active/inactive as specified, with 
  11508.       unpredictable results unless tested. 
  11509.  
  11510.      SGM_OVER_MK This variable can be used to control what information is used 
  11511.       as a seed for floppy encryption with the institution dependant algorithm. 
  11512.  
  11513.       If not specified or has the value NONE, then no override is made to the 
  11514.       seed calculation algorithm, so that the institution name, configuration 
  11515.       type, server name and UCM/RACF flags are used to build up the seed. The 
  11516.       net effect is that diskettes encrypted this way will end up being branch 
  11517.       specific, as long as the domain server name is unique across branches. 
  11518.  
  11519.       The value ALL (default as installed) ensures that only the institution 
  11520.       name will be used to generate the encryption seed. 
  11521.  
  11522.       Any other value implies to use the installation fields institution name, 
  11523.       configuration type, server name and UCM/RACF flags to generate the master 
  11524.       key for floppy encryption, but assuming that the server name is fixed to 
  11525.       the one specified through the environment variable. 
  11526.  
  11527.       SecureEntry will set this variable to the value ALL at installation time. 
  11528.  
  11529.      WarpCenter Environment Variables. 
  11530.  
  11531.      SGM_ROAM_LOGPATH This environment variable sets up the path for the 
  11532.       EDYROAM.LOG file, which keeps information about the Public Applications 
  11533.       component in LAN Server environments. It is not set by the installation 
  11534.       process. By default, if this variable is not set, this log file will be 
  11535.       placed within the subdirectory NOUSER of the path pointed to by the 
  11536.       environment variable SGM_SHELL. 
  11537.  
  11538.  
  11539. ΓòÉΓòÉΓòÉ 10.3. Configuration files ΓòÉΓòÉΓòÉ
  11540.  
  11541. SecureEntry 3.0 has some control files which define its configuration and 
  11542. installed version. These are : 
  11543.  
  11544.      SENTRY.SIG This file contains information about the SecureEntry driver 
  11545.       that is installed. A sample follows : 
  11546.  
  11547.  
  11548.               PRODUCT=Secure Entry
  11549.               VERSION=3.0
  11550.               BUILD=69
  11551.               BUNDLES=8
  11552.               DATE=23 Sep 1996 20:46:05
  11553.  
  11554.       This file is located in the SecureEntryPath, INSTALL subdirectory. 
  11555.  
  11556.      SENTRY.CNF This file contains information about how SecureEntry has been 
  11557.       configured. It is almost self-explanatory, with the output coming 
  11558.       directly from the installation configuration panel. A sample of this file 
  11559.       follows : 
  11560.  
  11561.               INSTITUTION=Jone's Bank
  11562.               INSTALLPATH=C:\SGMSHELL
  11563.               INSTALLFROM=A:\
  11564.               CONFIGURATION=1
  11565.               USERACF=0
  11566.               USEUCM=0
  11567.               INSTALLSOURCES=1
  11568.  
  11569.       The only not so obvious field here is the 'CONFIGURATION' one, which can 
  11570.       have the following values : 
  11571.  
  11572.         1. Standalone workstation 
  11573.  
  11574.         2. IBM Lan Server networked 
  11575.  
  11576.         3. Network installation. Not Lan Server. 
  11577.  
  11578.       This file is located in the SecureEntryPath, INSTALL subdirectory. 
  11579.  
  11580.      EDYSSLMP.DAT This file describes the configuration of the LMP's (Logon 
  11581.       procedures) to be called, as well as the location of the users and 
  11582.       security profiles databases. Although its format is internal to 
  11583.       SecureEntry, it is an ASCII file and thus, can be seen or edited. You 
  11584.       should never touch this file unless otherwise specified by the 
  11585.       documentation or SecureEntry development team. This file is located in 
  11586.       the SecureEntryPath, NOUSER subdirectory. 
  11587.  
  11588.       In order to read this file, you can use any ASCII editor, since this is 
  11589.       an editable file, which must match the following rules : 
  11590.  
  11591.         -  The file is splitted into two blocks : 
  11592.  
  11593.              -- The LMPs description list, where all composing logon procedures 
  11594.                 are described by their unique two-letter specifier : 
  11595.  
  11596.                   1. SS For the SecureEntry synchronizer LMP. This is mandatory 
  11597.                      and should always be the first one. 
  11598.  
  11599.                   2. RF For the RACF validation LMP. This one, if present, has 
  11600.                      to be the second one, since it is mandatory that this LMP 
  11601.                      synchronizes passwords to all of the other ones. 
  11602.  
  11603.                   3. UF For the RACF emulator LMP. This one, if present, has to 
  11604.                      be the second one, since it is mandatory that this LMP 
  11605.                      synchronizes passwords to all of the other ones. You can 
  11606.                      install the RACF emulator instead the RACF validation. 
  11607.  
  11608.                   4. UC For the UCM channel LMP. This one, if present, has to 
  11609.                      be immediately after the RF or UF LMP, and its mission is 
  11610.                      to update the LAN configuration at logon time before the 
  11611.                      Lan Server (or SecureEntry registry) LMPs do signon, so 
  11612.                      that they find the requesting user already present in the 
  11613.                      Lan. 
  11614.  
  11615.                   5. LS For the Lan Server LMP, in lan server environments. 
  11616.                      This is the LMP which controls signon to Lan Server. 
  11617.  
  11618.                   6. SR For the SecureEntry Registry LMP, in standalone 
  11619.                      environments. 
  11620.  
  11621.                   7. xx Any other combination represents a user written LMP, 
  11622.                      which must coded in the DLL named EDYxxLMP.DLL. 
  11623.  
  11624.              -- The database description specifiers, contains two lines, which 
  11625.                 describes where the location of the users database is and where 
  11626.                 that one for the security profiles. The only supported values 
  11627.                 are : 
  11628.  
  11629.                   -  SR or LS For USERS_DATABASE. 
  11630.  
  11631.                   -  SR For SCPRF_DATABASE. 
  11632.  
  11633.         -  The optional parameters that can be placed by the side of the LMPs 
  11634.            list describe whether the LMP will require a DOMAIN name and which 
  11635.            default value to present at signon time. 
  11636.  
  11637.       Follows a sample EDYSSLMP.DAT file : 
  11638.  
  11639.  
  11640.                  SS 1 SRVMAR
  11641.                  LS 1 SRVMAR
  11642.                  USERS_DATABASE LS
  11643.                  SCPRF_DATABASE SR
  11644.  
  11645.      EDYREGDB.VLB This is a ciphered library file which contains the security 
  11646.       profiles and/or users and group information. You can not list or modify 
  11647.       this file, and it is completely managed by SecureEntry. The CREADB 
  11648.       utility can be used to regenerate a new, empty one by administrators. 
  11649.       This file is located in the SecureEntryPath, NOUSER subdirectory of all 
  11650.       standalone workstations or server machines of networked environments. 
  11651.  
  11652.      EDYKILL.NOT This is an ASCII file which contains a list of processes not 
  11653.       to be killed at any time. Since in regular OS/2 installations it is 
  11654.       normal for daemons and detached processes to never expect a 
  11655.       DosKillProcess call to kill them, it is frequent that many of this kind 
  11656.       of processes are not even tested for this event, and may abend or cause 
  11657.       unexpected behavior if they are killed. In the other hand, SecureEntry 
  11658.       can not afford not to kill all superuser/user context running processes 
  11659.       at shutdown/logoff time unless explicitly said so, since any PM program 
  11660.       could theoretically resume user interaction at this point, jeopardizing 
  11661.       system security. 
  11662.  
  11663.       So, the net idea is that if you find shutdown traps by a specific 
  11664.       process, add its name to the list and it will not be killed. This file is 
  11665.       located in the SecureEntryPath, NOUSER directory, and accepts wildcards 
  11666.       in the process names specification. 
  11667.  
  11668.       A second purpose of this file is to specify 'orderly close' commands for 
  11669.       whenever SecureEntry has to kill a given process. This is useful either 
  11670.       for performance reasons, or as a last resort when a given application 
  11671.       does not end correctly because of interprocess dependencies. 
  11672.  
  11673.       After applying a service to your SecureEntry version the new default file 
  11674.       EDYKILL.NOT will be copied into the SecureEntryPath\EXEC directory. If 
  11675.       the file SecureEntryPath\NOUSER\EDYKILL.NOT has not been customized for 
  11676.       your installation, then it will be automatically updated; otherwise you 
  11677.       will have to manually update it in order to make the changes effective. 
  11678.  
  11679.       Read the comments section of the same file for more information on how to 
  11680.       alter it. 
  11681.  
  11682.      EDYSTART.CMD 
  11683.  
  11684.       This file is the SecureEntry version of the STARTUP.CMD file and has the 
  11685.       same purpose. The reason why it is different is that it must be started 
  11686.       by SecureEntry in order to grant a proper secure machine startup. Read 
  11687.       the chapter The startup process in order to know more on how to use it. 
  11688.  
  11689.      EdyStart object 
  11690.  
  11691.       This object, located within the SecureEntry NOUSER directory, acts as a 
  11692.       folder and can contain a list of shadows which substitute the traditional 
  11693.       OS/2 startup folder. The difference being that, by placing your startup 
  11694.       objects here, SecureEntry grants that these programs will be started in 
  11695.       superuser context by waiting for those before proceeding with logon 
  11696.       (assuming the objects represent synchronous tasks). 
  11697.  
  11698.      EDYUCFPW.DSC 
  11699.  
  11700.       This is an ASCII file which contains the list of valid characters and the 
  11701.       maximum and minimum allowable length for password validation as needed by 
  11702.       the UF RACF SecureEntry emulator. By default this file has maximum length 
  11703.       for passwords set to 14 and the minimum one set to 4 characters. The 
  11704.       default allowable character set is as follows: 
  11705.  
  11706.                   A..Z, 0..9, a..z and @, # and $.
  11707.  
  11708.       Remember that if you want to update this file, you will have to update 
  11709.       the same definitions at the Host site. 
  11710.  
  11711.  
  11712. ΓòÉΓòÉΓòÉ 10.4. SecureEntry Log files ΓòÉΓòÉΓòÉ
  11713.  
  11714. If at any time you want to check out SecureEntry activity, there are several 
  11715. files which can be used for tracing or auditing purposes : 
  11716.  
  11717.      The installation log file 
  11718.  
  11719.       This file reflects all the installation/service activity due to the 
  11720.       machine. It is named 'SENTRY.LOG', and placed in your SecureEntryPath, 
  11721.       INSTALL directory. A sample of this file follows : 
  11722.  
  11723.             SecureEntry start install : 23 Sep 1996 21:26:56
  11724.             Applying: Secure Entry Version: 3.0 Build level: 69
  11725.             Secure Entry start setup : 23 Sep 1996 21:34:03
  11726.             Relocating base system files..
  11727.             Creating SENTRY database..
  11728.             Creating SENTRY logon configuration file..
  11729.             Creating SENTRY STARTUP file..
  11730.             Setting up default profiles
  11731.             Modifying CONFIG.SYS file..
  11732.             Modifying SES configuration file..
  11733.             Registering SYS_DLLs..
  11734.             SecureEntry start crwrk : 23 Sep 1996 21:34:18
  11735.             The folder 'SecureEntry ^Workbench' has been created successfully.
  11736.             The shadow of 'SecureEntry ^Workbench' has been created successfully.
  11737.             Saving current launchpad..
  11738.             SENTRY setup completed correctly..
  11739.             You must shutdown now to activate changes and start Secure Entry.
  11740.             Workstation setup completed OK
  11741.  
  11742.      The startup process file 
  11743.  
  11744.       This file has all messages posted to the startup process during its 
  11745.       execution. it is named 'EDYLKINI.LOG', and placed in the same directory 
  11746.       where the 'EDYSTART.CMD' file must reside, that is, the root directory of 
  11747.       the boot drive (unless otherwise specified with the environment variable 
  11748.       SGM_INI_LOGPATH). This file is useful in order to know what went wrong in 
  11749.       a machine's startup if it was attempted in an unattended environment. See 
  11750.       the startup process description for more detailed information. 
  11751.  
  11752.      The administration log file 
  11753.  
  11754.       This file reflects all the activity of the administration API. It is 
  11755.       named 'EDYADMIN.LOG', and placed in your SecureEntryPath, NOUSER 
  11756.       directory of all the standalone workstations, or of the Network 
  11757.       environment SecureEntry servers. You can change this location by setting 
  11758.       up a 'SGM_SL_LOGPATH' environment variable within the config.sys file. A 
  11759.       sample of this file follows : 
  11760.  
  11761.             Date       Time   Computer User   Typ Process      Agent   Rc  Actn Subs ObjType Obj1 Obj2 Keys
  11762.             -----------------------------------------------------------------------------------------------
  11763.             23/09/1996 22:50:14        EDYADMIN A EDYSNADM.EXE EDYSEAGT[ ] ADD  SENT Group GRUPO      LAN_DATA
  11764.             23/09/1996 22:50:27        EDYADMIN A EDYSNADM.EXE EDYSEAGT[ ] ADD  SENT User  LUIS       LAN_DATA
  11765.             23/09/1996 22:50:28        EDYADMIN A EDYSNADM.EXE EDYSEAGT[ ] ADD  SENT UserGroup LUIS,GRUPO
  11766.             23/09/1996 22:51:57        EDYADMIN A EDYSNADM.EXE EDYSEAGT[ ] UPDT SENT Group GRUPO      FLOPPY_DISK
  11767.             23/09/1996 23:01:34        EDYADMIN A EDYSNADM.EXE EDYSEAGT[ ] ADD  SENT User  ADMIN2     LAN_DATA
  11768.             23/09/1996 23:01:58        EDYADMIN A EDYSNADM.EXE EDYSEAGT[ ] UPDT SENT User  ADMIN2     LAN_DATA
  11769.             23/09/1996 23:02:26        EDYADMIN A EDYSNADM.EXE EDYSEAGT[ ] UPDT SENT User  EDYADMIN   LAUNCHPAD
  11770.  
  11771.      The session event log file 
  11772.  
  11773.       This file reflects all the session activity for a given machine. It is 
  11774.       named 'EDYSLA.LOG', and placed in the OS2\SECURITY\SESDB path of the 
  11775.       machine's boot partition. You can change this location by setting up a 
  11776.       'SGM_SES_LOGPATH' environment variable within the config.sys file. A 
  11777.       sample of this file follows : 
  11778.  
  11779.  
  11780.               Date     Time      Event    Phase  Result  UserId              Additional info
  11781.             -------- -------- ----------- ------ ------ -------- ---------------------------------------
  11782.             11/21/96 11:43:13 DOMAIN      QUERY   [ ]            Default Domain: SEDOMAIN
  11783.             11/21/96 11:44:58 SHUTDOWN    START   [ ]
  11784.             11/21/96 12:19:57 SHUTDOWN    END     [C]
  11785.             11/21/96 11:45:05 LOGON       START   [ ]   U0000007 Domain: SEDOMAIN
  11786.             11/21/96 11:46:37 LOGON       END     [ ]   U0000007
  11787.             11/21/96 11:47:33 LOCKUP      START   [ ]   U0000007
  11788.             11/21/96 11:47:33 LOCKUP      END     [ ]   U0000007
  11789.             11/21/96 11:47:38 UNLOCK      START   [ ]   U0000007
  11790.             11/21/96 11:47:46 UNLOCK      END     [E]   U0000007 You typed and invalid Password. Try again.
  11791.             11/21/96 11:47:51 UNLOCK      END     [ ]   U0000007
  11792.             11/21/96 11:48:21 LOGOFF      START   [ ]   U0000007
  11793.             11/21/96 11:48:30 LOGOFF      END     [C]   U0000007
  11794.             11/21/96 11:48:43 SHUTDOWN    START   [ ]   U0000007
  11795.             11/21/96 11:48:49 SHUTDOWN    END     [C]   U0000007
  11796.  
  11797.      The treelock log file 
  11798.  
  11799.       In order to audit the treelock component, it can be configured to log its 
  11800.       accesses to a text file. Since this file is treated as another component, 
  11801.       you can place it in the NOUSER directory, or assign one in a per user 
  11802.       basis. See the description of the Treelock component for a more detailed 
  11803.       description of this file. 
  11804.  
  11805.      Public applications log file 
  11806.  
  11807.       This file contains the errors and warnings found by the public 
  11808.       applications component during its execution. 
  11809.  
  11810.      The Distribution data log file 
  11811.  
  11812.       This file keeps the information related with the refresh branch and 
  11813.       refresh profiles activity. In this file you can find whether the refresh 
  11814.       operations (branch or profiles) went ok. It is named 'EDYDIS.LOG' and it 
  11815.       is placed in the SecureEntry\NOUSER path of the server machine. You can 
  11816.       change the location of this file by setting up the SGM_UCM_LOGPATH 
  11817.       environment variable within the config.sys file. 
  11818.  
  11819.       A sample of this file follows: 
  11820.  
  11821.                10/28/98 12:16:48 < REFRESH BRANCH ONLINE BEGINS >
  11822.  
  11823.                > REFRESH STATISTICS
  11824.                    Buffer Length  : 34738
  11825.                    Final Register found
  11826.                >   Read Blocks    : 4
  11827.                >   Correct Blocks : 4
  11828.                >   Error Blocks   : 0
  11829.                >   Number of Add Object Operations    : 1
  11830.                >   Number of Update Object Operations : 2
  11831.                >   Number of Delete Object Operations : 1
  11832.  
  11833.                10/28/98 12:16:57 < REFRESH BRANCH ONLINE ENDED  >
  11834.  
  11835.  Note that you can control the size of the SecureEntry log files, as well as 
  11836.  any other ASCII file by using the EDYLOGFS utility. 
  11837.  
  11838.  
  11839. ΓòÉΓòÉΓòÉ 10.5. About processes and running contexts ΓòÉΓòÉΓòÉ
  11840.  
  11841. With SecureEntry installed, each running process in the machine has a context 
  11842. of execution associated for security. This basically means that the system 
  11843. keeps track of who started the process and what privileges did it have. 
  11844. Basically, there are two kinds of execution contexts : 
  11845.  
  11846.    1. Superuser context All processes started with an associated superuser 
  11847.       context have no file system restrictions (treelock does not check 
  11848.       accesses for them), plus are never killed or terminated at user session 
  11849.       logoff time. 
  11850.  
  11851.    2. User context All processes started with an associated user context will 
  11852.       basically have the currently active treelock profile restrictions 
  11853.       enforced for file accesses, plus they will be killed/terminated at logoff 
  11854.       time unless otherwise specified through the EDYKILL.NOT file. 
  11855.  
  11856.  The obvious following question is what processes run under one or the other 
  11857.  context : 
  11858.  
  11859.      Processes started through CONFIG.SYS have superuser context. 
  11860.  
  11861.      Processes started through EDYSTART.CMD have superuser context. 
  11862.  
  11863.      Processes started through the EDYSTART object in the NOUSER folder have 
  11864.       superuser context. 
  11865.  
  11866.      Processes started during a user session (between logon and logoff) have 
  11867.       User context. 
  11868.  
  11869.      Processes started through a user exit have the context related with the 
  11870.       specified user exit : 
  11871.  
  11872.         -  User exit after startup : Superuser context 
  11873.  
  11874.         -  User exit before logon dialog : Superuser context 
  11875.  
  11876.         -  User exit before logon : Superuser context 
  11877.  
  11878.         -  User exit before LMP signon : Superuser context 
  11879.  
  11880.         -  User exit after LMP signon : Superuser context 
  11881.  
  11882.         -  User exit before profiles activation : User context 
  11883.  
  11884.         -  User exit after logon : User context 
  11885.  
  11886.         -  User exit after PMSHELL : Undefined context (depends on timing) 
  11887.  
  11888.         -  User exit before cancellable lockup : User context 
  11889.  
  11890.         -  User exit before lockup : User context 
  11891.  
  11892.         -  User exit before unlock dialog : User context 
  11893.  
  11894.         -  User exit before unlock : User context 
  11895.  
  11896.         -  User exit after unsuccessful unlock : User context 
  11897.  
  11898.         -  User exit after unlock : User context 
  11899.  
  11900.         -  User exit signal : Undefined context (depends on timing) 
  11901.  
  11902.         -  User exit before cancellable logoff : User context 
  11903.  
  11904.         -  User exit before imminent logoff : User context 
  11905.  
  11906.         -  User exit after profiles deactivation : User context 
  11907.  
  11908.         -  User exit after logoff : Superuser context 
  11909.  
  11910.         -  User exit before shutdown : SuperUser context 
  11911.  
  11912.         -  User exit before logoff from unlock : User context 
  11913.  
  11914.         -  User exit before shutdown from unlock : User context 
  11915.  
  11916.         -  User exit before LMP signoff : User context 
  11917.  
  11918.         -  User exit after LMP signoff : User context 
  11919.  
  11920.         -  User exit open folder : Undefined context (depends on timing) 
  11921.  
  11922.  
  11923. ΓòÉΓòÉΓòÉ 10.6. About Object IDs ΓòÉΓòÉΓòÉ
  11924.  
  11925. When administering SecureEntry, you will find several components that accept 
  11926. only objects with an assigned object ID as suitable for certain operations. 
  11927. This is because the object ID is the only way to uniquely identify an object 
  11928. within the desktop that will retain this characteristic in any machine of a 
  11929. SecureEntry workgroup. 
  11930.  
  11931. Many objects have already an object ID, so you do not have to worry about this 
  11932. until you find a problem. In the event that you do want to deal with an object 
  11933. for which an object ID is required, but does not have one, the following piece 
  11934. of REXX code can be used to assign one to it : 
  11935.  
  11936.  
  11937. /* */
  11938. Call rxfuncadd sysloadfuncs, rexxutil, sysloadfuncs
  11939. Call sysloadfuncs
  11940.  
  11941. /* assign to objectpath the fullpath of the object */
  11942.  
  11943. result=SysSetObjectData(objectpath, 'OBJECTID=<'||NewId||'>')
  11944.  
  11945. Note that object IDs have to be unique, and you will have to repeat this 
  11946. command in all machines where this object will be used by SecureEntry. 
  11947.  
  11948. Refer to Public Applications object IDs to get more information about this kind 
  11949. of LAN Server objects. 
  11950.  
  11951.  
  11952. ΓòÉΓòÉΓòÉ 10.7. SecureEntry session process description ΓòÉΓòÉΓòÉ
  11953.  
  11954. Up to now, we have been describing the SecureEntry process as separate 
  11955. components, but in order to have a clear view on what happens 'under the 
  11956. covers', in terms of events timing, we will describe now all the processes. 
  11957.  
  11958. After power on, the sequence of events is the following : 
  11959.  
  11960.    1. Machine power on 
  11961.  
  11962.    2. OS/2 bootstrap and config.sys processing 
  11963.  
  11964.    3. SecureEntry device drivers load and SES activation 
  11965.  
  11966.    4. Second read of config.sys by OS/2, honoring 'call=' statements 
  11967.  
  11968.    5. First shell (PM) is loaded. SecureEntry PM DLL hooks loaded 
  11969.  
  11970.    6. Asynchronously to this point, if configured, OS/2 launches the daemons 
  11971.       which will end up loading the second shell (Workplace). Whenever the 
  11972.       workplace will be loaded and in a stable state, SecureEntry will serve 
  11973.       the user exit after pmshell. Note that this happens normally not before 
  11974.       several of the following steps are completed 
  11975.  
  11976.    7. SecureEntry processes the EDYSTART.CMD file (Startup process) 
  11977.  
  11978.    8. SecureEntry serves the user exit after startup 
  11979.  
  11980.    9. SecureEntry forces a SES logon event 
  11981.  
  11982.   10. Control is passed to SecureEntry from SES in order to process the logon 
  11983.       event 
  11984.  
  11985.   11. (LOGON) SES Logon event processing : SecureEntry serves the user exit 
  11986.       before logon dialog. If the user exit decides to do a guest logon, then 
  11987.       go to GUEST 
  11988.  
  11989.   12. SecureEntry inspects the logon parms area and decides whether to present 
  11990.       the logon panel or skip the next point 
  11991.  
  11992.   13. The logon panel is displayed. When the user presses 'OK', go to next 
  11993.       step, or if shutdown has been pressed, then go to SHUTDOWN 
  11994.  
  11995.   14. SecureEntry serves the user exit before logon. If the user exit decides 
  11996.       to do a guest logon, then go to GUEST 
  11997.  
  11998.   15. SecureEntry serves the user exit before logon changing password if a 
  11999.       password change request has been made for this logon 
  12000.  
  12001.   16. SecureEntry issues signon to the LMP (Logon procedures) chain in the 
  12002.       order defined in the EDYSSLMP file, synchronizing passwords if necessary. 
  12003.       If there is any error, then go to LOGON 
  12004.  
  12005.   17. SecureEntry downloads the security profiles for the signed on user into 
  12006.       the SecureEntryPath\WORK directory, overriding if necessary the group 
  12007.       profiles with the per user profiles. If there is any error, then go to 
  12008.       LOGON 
  12009.  
  12010.   18. SecureEntry activates each component for which a profile was downloaded 
  12011.       with the profile data, following the interface as defined in the 
  12012.       repository database. If there is any error, then go to LOGON 
  12013.  
  12014.   19. (GUEST) SecureEntry serves the user exit after logon 
  12015.  
  12016.   20. SecureEntry serves the user exit after logon changing password if a 
  12017.       password change request has been made for this logon 
  12018.  
  12019.   21. The user session begins. Only a request for logoff or shutdown will exit 
  12020.       from this state, and proceed to the next step. Note that any new process 
  12021.       started within the user session will be considered by SecureEntry a user 
  12022.       privileged process, and killed at logoff time 
  12023.  
  12024.   22. A request for logoff or shutdown has been made. The appropriate event 
  12025.       (logoff or shutdown) is posted to SES. 
  12026.  
  12027.   23. SecureEntry serves the user exit before cancellable logoff. If cancel has 
  12028.       been returned we go back to the user session (previous step). Otherwise 
  12029.       SecureEntry displays if configured to do so, the confirmation dialog as a 
  12030.       last opportunity to keep on the user session. 
  12031.  
  12032.   24. SecureEntry serves the user exit before imminent logoff 
  12033.  
  12034.   25. SecureEntry kills all of the remaining user session processes 
  12035.  
  12036.   26. SecureEntry Deactivates all of the components downloaded in the logon 
  12037.       process by passing them a call indicating them to reset to the profiles 
  12038.       as stored in the NOUSER directory (machine configuration profiles) 
  12039.  
  12040.   27. SecureEntry Uploads any component profile which may have been changed by 
  12041.       the user to the repository, and erases them from the workstation's WORK 
  12042.       directory 
  12043.  
  12044.   28. SecureEntry issues sign-off to the LMP chain, calling only those LMPs 
  12045.       which were in a signed on state 
  12046.  
  12047.   29. SecureEntry serves the user exit after logoff 
  12048.  
  12049.   30. If the event in process was logoff, then post a SES logon event which 
  12050.       will cause a jump to LOGON, and terminate the logoff event. 
  12051.  
  12052.   31. (SHUTDOWN) SecureEntry serves the user exit before shutdown 
  12053.  
  12054.   32. SecureEntry kills foreground processes which are still alive 
  12055.  
  12056.   33. SecureEntry gives control to SES to shutdown the system, which will in 
  12057.       turn call OS/2 shutdown API 
  12058.  
  12059.  
  12060. ΓòÉΓòÉΓòÉ 10.8. Fine tuning SecureEntry. Performance considerations ΓòÉΓòÉΓòÉ
  12061.  
  12062. There are several factors affecting SecureEntry operation performance. Follow 
  12063. this chapter for a clue on how to tune your system. 
  12064.  
  12065. Note that performance tuning usually yields the best results if you look first 
  12066. after the 'bottlenecks' of the system. Symptoms of such bottlenecks are : 
  12067.  
  12068.      General system sluggish response time, and possibly too much disk 
  12069.       activity. This is normally an indication of low memory condition, and is 
  12070.       accompanied by very big swapper files (when compared to the amount of 
  12071.       memory installed). It deserves a general system tuning session and may 
  12072.       possibly end up by adding more memory to the system. 
  12073.  
  12074.         -  General operating system performance tuning 
  12075.  
  12076.      Specific performance problems at certain moments. i.e, at logon time. 
  12077.       This one is normally an indication of another sort of problem, and if 
  12078.       happening within SecureEntry, may be cured by following the indications 
  12079.       under 'SecureEntry specific performance tuning'. 
  12080.  
  12081.         -  SecureEntry specific performance tuning 
  12082.  
  12083.  
  12084. ΓòÉΓòÉΓòÉ 10.8.1. General operating system performance tuning ΓòÉΓòÉΓòÉ
  12085.  
  12086. The following things can be tuned in order to improve performance on a OS/2 
  12087. running machine : 
  12088.  
  12089.      Software tuning 
  12090.  
  12091.         1. Swapper : The swapper file should be positioned into the more used 
  12092.            partition of the least used physical drive. Also, it usually helps 
  12093.            to preallocate the swap file to a given size so that it does not 
  12094.            have to be dynamically shrunken or expanded. You can do this by 
  12095.            using the SWAPPATH sentence of your CONFIG.SYS file, as follows : 
  12096.  
  12097.  
  12098.                               SWAPPATH=D:\ 8192 16384
  12099.  
  12100.                               Set the swapper file to reside in the root directory of the D drive,
  12101.                               with an initial size of 16 Mb, posting a user alert if the remaining
  12102.                               free space is less than 8 Mb
  12103.  
  12104.         2. Disk cache : Usually a big enough disk cache helps performance also. 
  12105.            Use the DISKCACHE sentence for FAT drives, and/or the CACHE / IFS 
  12106.            sentences for HPFS drives. Do not forget the lazy write flags for 
  12107.            maximum performance!!. 
  12108.  
  12109.         3. Remove/do not install unused software/drivers. I.e, multimedia 
  12110.            extensions, or HPFS drivers if this file system is not being used. 
  12111.  
  12112.         4. Remember to switch off traces and / or verify switches in end user 
  12113.            runtime environments. Also gadgets such as 'desktop animation' can 
  12114.            make the system feel slower. 
  12115.  
  12116.         5. Try to keep your disk defragmented, and if possible use HPFS instead 
  12117.            of FAT partitions, specially for big disks. 
  12118.  
  12119.         6. Fine tune your PATH, LIBPATH and DPATH config.sys statements, 
  12120.            placing first those directories which are accessed more. 
  12121.  
  12122.         7. In fast machines and/or server machines, it may be a good idea to 
  12123.            reduce the time slicing parameters : TIMESLICE and MAXWAIT, to 
  12124.            improve the responsiveness of the system. (i.e TIMESLICE=32,512 and 
  12125.            MAXWAIT=1). 
  12126.  
  12127.         8. If using windows applications, it may be a good idea to switch on 
  12128.            the WINOS2 fastload setting (through the proper page of the settings 
  12129.            notebook of the WINOS2 configuration object), and run all windows 
  12130.            applications from the same session. 
  12131.  
  12132.         9. For startup performance tuning, you can do the following : 
  12133.  
  12134.              -  Keep optimized system .INI files (OS2.INI and OS2SYS.INI). 
  12135.                 There are several utilities around that can help you with this. 
  12136.                 SecureEntry provides you also with one : EDYCLINI. 
  12137.  
  12138.              -  Remember to turn off archiving of your critical files at each 
  12139.                 power on. You should do this only when major updates to your 
  12140.                 system configuration have been made. You can do this from 
  12141.                 within the desktop page of the desktop settings notebook. 
  12142.  
  12143.      Hardware tuning 
  12144.  
  12145.         1. Adding memory is many times the most efficient way to improve 
  12146.            performance. Look at the server machines first. 
  12147.  
  12148.         2. Consider also adding L2 cache memory to your system if this is an 
  12149.            option for your hardware. 
  12150.  
  12151.         3. Of course, faster processor/disks help a lot also. 
  12152.  
  12153.         4. Think about improving your host communications link speeds, 
  12154.            specially if using UCM. 
  12155.  
  12156.         5. For Lan based installations, keep an eye on Lan performance and 
  12157.            contention problems, which may be solved by lan splitting or 
  12158.            hardware changes. 
  12159.  
  12160.  
  12161. ΓòÉΓòÉΓòÉ 10.8.2. SecureEntry specific performance tuning ΓòÉΓòÉΓòÉ
  12162.  
  12163. Although SecureEntry is installed with most options already tuned for 
  12164. performance, the following rules could also be observed to help improving the 
  12165. response time even more : 
  12166.  
  12167.      Although SecureEntry does not have a minimum physical memory requirement, 
  12168.       you are encouraged to consider that the approx working set size of the 
  12169.       code is of around 3Mb, being this the amount of physical memory that you 
  12170.       should add to the system if your objective is to achieve the same level 
  12171.       of performance that you have without it in the same hardware. Note also 
  12172.       that SecureEntry has constantly a minimum of 15 threads active, so to be 
  12173.       safe you should increase your CONFIG.SYS THREADS statement by that 
  12174.       amount. 
  12175.  
  12176.      Within Lan Server environments, take into account that the 'big chunk' of 
  12177.       signon time is taken by Lan Server itself, so generally tuning Lan Server 
  12178.       performance will result in a substantial SecureEntry operation 
  12179.       improvement. 
  12180.  
  12181.      Also for Lan environments, take a close look at the protocol parameters 
  12182.       of your PROTOCOL.INI file, located in the IBMCOM directory. The base 
  12183.       network software normally installs itself with too much conservative 
  12184.       default parameters for simple environments such as the typical banking 
  12185.       branch network. This is why simply by changing the NETBIOSTIMEOUT 
  12186.       parameter from 2000 to 500 msec you can easily cut the signon time by 
  12187.       about 20 seconds or more. Another parameter to reduce for fast not 
  12188.       bridged lans would be the NETBIOSRETRIES one on the same file. Reducing 
  12189.       it to 2 or 3 will improve response time also. 
  12190.  
  12191.      If you are having problems at signon time, measure the complete logon 
  12192.       time with a stopwatch (not the first logon), and verify if the time is 
  12193.       mostly spent : 
  12194.  
  12195.         1. When the logon panel is displayed but the window 'signon in 
  12196.            progress.. please wait' has not yet appeared. In this case, look for 
  12197.            your user exit code or at other activity being performed in the 
  12198.            machine at the same time. 
  12199.  
  12200.         2. When the logon panel is displayed and the window 'signon in 
  12201.            progress.. please wait' is over it. In this case, the time is spent 
  12202.            on RACF validation, UCM download and Lan Server validation and 
  12203.            signon. These are the components to be checked. 
  12204.  
  12205.         3. When the logon panel has disappeared. Check in this case after the 
  12206.            individual components activation time. 
  12207.  
  12208.      Avoid using too many user exit code when possible. User exits are a very 
  12209.       powerful mechanism, but quite expensive. An exception to this rule can be 
  12210.       found when it is necessary to unload software. It will always be more 
  12211.       efficient to do it using the proper command than leaving the task to 
  12212.       SecureEntry, which does not know the internals of the processes composing 
  12213.       any particular software package. You can use for this purpose the user 
  12214.       exit before shutdown and/or the user exit before imminent logoff, or a 
  12215.       customized EDYKILL.NOTfile. 
  12216.  
  12217.      Try to use machine-assigned components (in the NOUSER directory) rather 
  12218.       than group or user assigned ones, since this will save time, not having 
  12219.       to activate/deactivate the same profiles at each signon. 
  12220.  
  12221.      Consider the possibility of enabling the environment variable 
  12222.       'SGM_WPS_FASTLOAD' in your config.sys. Take into account the risks 
  12223.       exposed under Environment variables. Note that this setting only modifies 
  12224.       the 'perception' of faster signons, since the population of the desktop 
  12225.       will be anticipated a few seconds. 
  12226.  
  12227.      Do not change the config.sys variable RESTARTUSERSHELL default setting of 
  12228.       'NO', except when required by your installation. Restarting the Workplace 
  12229.       Shell at each signon will easily delay it by several seconds. 
  12230.  
  12231.      Place the SecureEntry path as closer to the beginning of the PATH and 
  12232.       LIBPATH statements as possible within config.sys. 
  12233.  
  12234.      Also for best power on performance, leave alone the 
  12235.       'SGM_WPS_SKIP_PREPOPULATE' environment variable set to 'ALL', as 
  12236.       installed by SecureEntry. 
  12237.  
  12238.      Suppress all unneeded logging/traces. For instance, you can set the trace 
  12239.       level to 0 by adding to your EDYSTART.CMD file : 
  12240.  
  12241.  
  12242.                   EDYTRSET /A:0
  12243.  
  12244.      For the launchpad component, two considerations : 
  12245.  
  12246.         1. Try to set up launchpads which contain only objects with object ID. 
  12247.            Adding objects to a launchpad (when it is created), is much more 
  12248.            time expensive if the objects to be added do not have an object ID. 
  12249.  
  12250.         2. If installing within an old machine (i.e, OS/2 has been installed 
  12251.            there for a long time), it may be a good idea to 'clean' the nowhere 
  12252.            directory with a tool like the supplied EDYCLINI. Old launchpad 
  12253.            shadows (not SecureEntry ones) end up here and are never deleted by 
  12254.            the system itself, making access to objects residing in this 
  12255.            location slower. 
  12256.  
  12257.            WARNING : Do this only if you find lots of objects within the 
  12258.            NOWHERE folder. 
  12259.  
  12260.      For your screensaver or background bitmaps, take into account that big 
  12261.       bitmaps take a lot of disk space, which in turn takes a long time to be 
  12262.       read, and may cause quite some swapping activity to be processed, so it 
  12263.       is a matter of finding the desired middlepoint between image quality and 
  12264.       response time. If you decide to use 'big' bitmaps anyways, then if 
  12265.       possible try to use bitmaps with the same sizing in pixels/colors of your 
  12266.       desktop resolution, as this will avoid expensive color remapping and 
  12267.       reseizing functions. 
  12268.  
  12269.  
  12270. ΓòÉΓòÉΓòÉ 10.9. Error codes and messages ΓòÉΓòÉΓòÉ
  12271.  
  12272. Session control errors and messages 
  12273.  
  12274. The following errors may appear during regular runtime and session control 
  12275. functions, i.e logon, logoff, lockup... Some of these can be reported also 
  12276. through the administration APIs. 
  12277.  
  12278. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  12279. ΓöéMessage   ΓöéMessage                       ΓöéDescription                             Γöé
  12280. Γöénumber    Γöé                              Γöé                                        Γöé
  12281. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12282. ΓöéEDY0001E  ΓöéInvalid password.             ΓöéThe entered password is not valid for   Γöé
  12283. Γöé          Γöé                              Γöéthis user during a logon or unlock      Γöé
  12284. Γöé          Γöé                              Γöéoperation.                              Γöé
  12285. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12286. ΓöéEDY0002E  ΓöéOperating System error.       ΓöéA generic operating system error        Γöé
  12287. Γöé          Γöé                              Γöéhappened. The message can contain       Γöé
  12288. Γöé          Γöé                              Γöéadditional data. Check traces or log    Γöé
  12289. Γöé          Γöé                              Γöéfiles to know more about it.            Γöé
  12290. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12291. ΓöéEDY0003E  ΓöéSubsystem %s not available.   ΓöéA required subsystem was not available  Γöé
  12292. Γöé          Γöé                              Γöéat logon time. (SR: Registry, LS: Lan   Γöé
  12293. Γöé          Γöé                              ΓöéServer, UC: UCM, RF: RACF..).           Γöé
  12294. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12295. ΓöéEDY0004E  ΓöéControl file wrong            ΓöéCheck the integrity of the EDYSSLMP.DAT Γöé
  12296. Γöé          Γöéconfiguration.                Γöéfile. It probably has been altered.     Γöé
  12297. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12298. ΓöéEDY0005E  ΓöéLogoff state: no user logged  ΓöéAn operation pre requiring a logon foundΓöé
  12299. Γöé          Γöéon this workstation.          Γöéthat no user has logged into the machineΓöé
  12300. Γöé          Γöé                              Γöé(typically can happen during logoff if aΓöé
  12301. Γöé          Γöé                              Γöélan server logoff was issued during userΓöé
  12302. Γöé          Γöé                              Γöésession).                               Γöé
  12303. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12304. ΓöéEDY0006E  ΓöéUnknown user.                 ΓöéThe requested userid is not known to theΓöé
  12305. Γöé          Γöé                              Γöélogon subsystem.                        Γöé
  12306. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12307. ΓöéEDY0007E  ΓöéAnother user is logged on thisΓöéThe logon subsystem found a user alreadyΓöé
  12308. Γöé          Γöéworkstation.                  Γöélogged on during logon processing.      Γöé
  12309. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12310. ΓöéEDY0008E  ΓöéPassword expired.             ΓöéThe password has expired. You must      Γöé
  12311. Γöé          Γöé                              Γöéchange the password to proceed.         Γöé
  12312. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12313. ΓöéEDY0009E  ΓöéNew password invalid.         ΓöéThe new password is not valid. Either   Γöé
  12314. Γöé          Γöé                              Γöétoo short, too long, contains invalid   Γöé
  12315. Γöé          Γöé                              Γöécharacters, or is equal to one of the   Γöé
  12316. Γöé          Γöé                              Γöélast used passwords.                    Γöé
  12317. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12318. ΓöéEDY0010E  ΓöéBad input parameter.          ΓöéThis is an internal error. Contact      Γöé
  12319. Γöé          Γöé                              Γöéservice support.                        Γöé
  12320. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12321. ΓöéEDY0011E  ΓöéConnection denied, user cannotΓöéThe user's account has been revoked.    Γöé
  12322. Γöé          Γöélog on.                       ΓöéContact your system administrator.      Γöé
  12323. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12324. ΓöéEDY0012E  ΓöéImpossible to load DLL %s.    ΓöéDuring logon subsystem initialization,  Γöé
  12325. Γöé          Γöé                              Γöéthe specified DLL could not be found.   Γöé
  12326. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12327. ΓöéEDY0080E  ΓöéSecurity Profile manipulation ΓöéInternal error. Contact service support.Γöé
  12328. Γöé          Γöégeneral error.                Γöé                                        Γöé
  12329. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12330. ΓöéEDY0081E  ΓöéError while getting access to ΓöéCheck machine resources and/or contact  Γöé
  12331. Γöé          Γöéthe shared memory.            Γöéservice support.                        Γöé
  12332. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12333. ΓöéEDY0082E  ΓöéShared memory is full.        ΓöéInternal error. Contact service support.Γöé
  12334. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12335. ΓöéEDY0083E  ΓöéInformation not available in  ΓöéInternal error. Contact service support.Γöé
  12336. Γöé          Γöéthe shared memory.            Γöé                                        Γöé
  12337. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12338. ΓöéEDY0084E  ΓöéQuerying for shared memory    ΓöéInternal error. Contact service support.Γöé
  12339. Γöé          Γöéinformation: input buffer is  Γöé                                        Γöé
  12340. Γöé          Γöétoo small.                    Γöé                                        Γöé
  12341. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12342. ΓöéEDY0085E  ΓöéError reading INI file.       ΓöéInternal error. Contact service support.Γöé
  12343. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12344. ΓöéEDY0086E  ΓöéReading INI: label not found. ΓöéInternal error. Contact service support.Γöé
  12345. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12346. ΓöéEDY0087E  ΓöéFile not found.               ΓöéThe requested file does not exist.      Γöé
  12347. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12348. ΓöéEDY0088E  ΓöéFile copy error.              ΓöéThe requested file could not be copied. Γöé
  12349. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12350. ΓöéEDY0100W  ΓöéEmergency logon (basic        ΓöéThe basic logon subsystems are          Γöé
  12351. Γöé          Γöésubsystems are available but  Γöéavailable, but the director one failed  Γöé
  12352. Γöé          Γöé%s has failed). Password      Γöé(typically RACF). You are logged on in  Γöé
  12353. Γöé          Γöéchange not allowed.           Γöéemergency mode. Password change will notΓöé
  12354. Γöé          Γöé                              Γöébe allowed for this reason.             Γöé
  12355. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12356. ΓöéEDY0101W  ΓöéControl File: found end of    ΓöéCheck the integrity of the EDYSSLMP.DAT Γöé
  12357. Γöé          Γöéfile.                         Γöéfile. It probably has been altered.     Γöé
  12358. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12359. ΓöéEDY0102W  ΓöéControl File: found an empty  ΓöéCheck the integrity of the EDYSSLMP.DAT Γöé
  12360. Γöé          Γöéline.                         Γöéfile. It probably has been altered.     Γöé
  12361. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12362. ΓöéEDY0103W  ΓöéPending request.              ΓöéInternal error. Contact service support.Γöé
  12363. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12364. ΓöéEDY0104W  ΓöéControl File: found the users ΓöéCheck the integrity of the EDYSSLMP.DAT Γöé
  12365. Γöé          ΓöéDB line.                      Γöéfile. It probably has been altered.     Γöé
  12366. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12367. ΓöéEDY0105W  ΓöéControl File: found the       ΓöéCheck the integrity of the EDYSSLMP.DAT Γöé
  12368. Γöé          Γöéprofiles DB line.             Γöéfile. It probably has been altered.     Γöé
  12369. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12370. ΓöéEDY0110E  ΓöéLan Server fail.              ΓöéLan Server was available but failed.    Γöé
  12371. Γöé          Γöé                              ΓöéPossible causes are Lan Server internal Γöé
  12372. Γöé          Γöé                              Γöéerror, Too many names in access control Γöé
  12373. Γöé          Γöé                              Γöéfile, error accessing the NET.ACC file, Γöé
  12374. Γöé          Γöé                              Γöéand others.                             Γöé
  12375. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12376. ΓöéEDY0111E  ΓöéLan Server configuration      ΓöéAn error related to Lan Server          Γöé
  12377. Γöé          Γöéerror.                        Γöéconfiguration or code level has been    Γöé
  12378. Γöé          Γöé                              Γöéfound. Either net path not found, not   Γöé
  12379. Γöé          Γöé                              Γöésupported request or API, computername  Γöé
  12380. Γöé          Γöé                              Γöénot valid, or wrongly configured server.Γöé
  12381. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12382. ΓöéEDY0112E  ΓöéSome Lan Server service has   ΓöéThis error should not appear in any     Γöé
  12383. Γöé          Γöénot been started and was      Γöécase. EDY0003 would be expected.        Γöé
  12384. Γöé          Γöérequired.                     Γöé                                        Γöé
  12385. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12386. ΓöéEDY0113E  ΓöéLan Server domain fail.       ΓöéCould not obtain the domain server name.Γöé
  12387. Γöé          Γöé                              ΓöéContact administrator.                  Γöé
  12388. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12389. ΓöéEDY0114E  ΓöéThis operation needs Lan      ΓöéUnauthorized request reported by Lan    Γöé
  12390. Γöé          ΓöéServer administrator          ΓöéServer.                                 Γöé
  12391. Γöé          Γöéprivilege.                    Γöé                                        Γöé
  12392. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12393. ΓöéEDY0115E  ΓöéUserId and/or password are    ΓöéThe EDYSRV program is probably not      Γöé
  12394. Γöé          Γöéinvalid and cannot be         Γöérunning in the domain controller        Γöé
  12395. Γöé          Γöévalidated. Try again.         Γöémachine. Thus, could not refine further Γöé
  12396. Γöé          Γöé                              Γöéthe error code and this more generic oneΓöé
  12397. Γöé          Γöé                              Γöéis displayed.                           Γöé
  12398. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12399. ΓöéEDY0116E  ΓöéLan Server: This user is      ΓöéYour Lan Server is not configured for   Γöé
  12400. Γöé          Γöéalready logged in the LAN.    Γöémultilogon, and you are attempting to   Γöé
  12401. Γöé          Γöé                              Γöélog on while are logged on already in   Γöé
  12402. Γöé          Γöé                              Γöéanother machine.                        Γöé
  12403. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12404. ΓöéEDY0117E  ΓöéLan Server: Logon/logoff in   ΓöéAnother logon or logoff is in progress  Γöé
  12405. Γöé          Γöéprocess, or Lan Requester toolΓöéat this time.                           Γöé
  12406. Γöé          Γöéis active.                    Γöé                                        Γöé
  12407. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12408. ΓöéEDY0118E  ΓöéLan Server: User account      ΓöéThe user account has expired. Contact   Γöé
  12409. Γöé          Γöéexpired.                      Γöéyour system administrator.              Γöé
  12410. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12411. ΓöéEDY0119E  ΓöéLan Server: new password is   ΓöéSelf explanatory.                       Γöé
  12412. Γöé          Γöétoo short.                    Γöé                                        Γöé
  12413. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12414. ΓöéEDY0120E  ΓöéLan Server: new password is   ΓöéSelf explanatory.                       Γöé
  12415. Γöé          Γöétoo recent.                   Γöé                                        Γöé
  12416. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12417. ΓöéEDY0121E  ΓöéLan Server: The password      ΓöéSelf explanatory.                       Γöé
  12418. Γöé          Γöécannot be changed.            Γöé                                        Γöé
  12419. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12420. ΓöéEDY0122E  ΓöéBad connection conditions:    ΓöéSelf explanatory.                       Γöé
  12421. Γöé          Γöéinvalid logon hours.          Γöé                                        Γöé
  12422. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12423. ΓöéEDY0123W  ΓöéDomain controller unavailable.ΓöéInformational : The main domain         Γöé
  12424. Γöé          ΓöéUsing backup controller.      Γöécontroller was not found in the domain, Γöé
  12425. Γöé          Γöé                              ΓöéA backup controller has taken its role. Γöé
  12426. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12427. ΓöéEDY0201E: ΓöéToo many subsystem logons.    ΓöéInternal error. Contact service support.Γöé
  12428. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12429. ΓöéEDY0202E: ΓöéInvalid system id %s.         ΓöéInternal error. Contact service support.Γöé
  12430. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12431. ΓöéEDY0203E: ΓöéUnauthorized request. Access  ΓöéUnauthorized request reported by        Γöé
  12432. Γöé          Γöédenied.                       ΓöéSecureEntry Registry.                   Γöé
  12433. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12434. ΓöéEDY0204E: ΓöéA user %s already exists.     ΓöéCould not add user/group because it is  Γöé
  12435. Γöé          Γöé                              Γöéalready defined as a user in the        Γöé
  12436. Γöé          Γöé                              ΓöéSecureEntry registry.                   Γöé
  12437. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12438. ΓöéEDY0205E: ΓöéA group %s already exists.    ΓöéCould not add user/group because it is  Γöé
  12439. Γöé          Γöé                              Γöéalready defined as a group in the       Γöé
  12440. Γöé          Γöé                              ΓöéSecureEntry registry.                   Γöé
  12441. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12442. ΓöéEDY0206E: ΓöéA component %s already exists.ΓöéCould not add a component profile       Γöé
  12443. Γöé          Γöé                              Γöébecause it already exists.              Γöé
  12444. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12445. ΓöéEDY0207E: ΓöéThe group %s does not exist.  ΓöéThe requested group does not exist in   Γöé
  12446. Γöé          Γöé                              Γöéthe registry.                           Γöé
  12447. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12448. ΓöéEDY0208E: ΓöéThe group %s is not empty.    ΓöéCan not delete a group from the registryΓöé
  12449. Γöé          Γöé                              Γöéwhile users belong to it.               Γöé
  12450. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12451. ΓöéEDY0209E: ΓöéCan not delete current logged ΓöéThe logged on user can not be deleted.  Γöé
  12452. Γöé          Γöéuser.                         Γöé                                        Γöé
  12453. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12454. ΓöéEDY0210E: ΓöéThe component name %s is      ΓöéThe component has not been registered asΓöé
  12455. Γöé          Γöéinvalid.                      Γöéa valid component to the registry, or   Γöé
  12456. Γöé          Γöé                              Γöéthe syntax is invalid for the name.     Γöé
  12457. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12458. ΓöéEDY0211E: ΓöéThe component %s does not     ΓöéCould not update/delete the component   Γöé
  12459. Γöé          Γöéexist.                        Γöéprofile because it does not exist       Γöé
  12460. Γöé          Γöé                              Γöérelated to the specified user / group.  Γöé
  12461. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12462. ΓöéEDY0212E: ΓöéCould not load DLL %s.        ΓöéThe registry could not load the requiredΓöé
  12463. Γöé          Γöé                              ΓöéDLL. Make sure it exists and is         Γöé
  12464. Γöé          Γöé                              Γöéaccessible through the libpath          Γöé
  12465. Γöé          Γöé                              Γöéconfig.sys setting.                     Γöé
  12466. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12467. ΓöéEDY0213E: ΓöéCould not find address of %s. ΓöéInternal error. Contact service support.Γöé
  12468. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12469. ΓöéEDY0214E: ΓöéUsers Database not EdyReg     ΓöéThe requested operation is only valid   Γöé
  12470. Γöé          Γöédefined.                      Γöéfor standalone configurations.          Γöé
  12471. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12472. ΓöéEDY0215E: ΓöéProfiles Database not EdyReg  ΓöéCheck EDYSSLMP.DAT file syntax and      Γöé
  12473. Γöé          Γöédefined.                      Γöéintegrity.                              Γöé
  12474. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12475. ΓöéEDY0216E: ΓöéEDYAPI Error %s.              ΓöéThe registry got an error while queryingΓöé
  12476. Γöé          Γöé                              ΓöéEDYAPI for configuration information.   Γöé
  12477. Γöé          Γöé                              ΓöéCheck the reported error in this same   Γöé
  12478. Γöé          Γöé                              Γöétable.                                  Γöé
  12479. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12480. ΓöéEDY0217E: ΓöéSentry subsystem not found.   ΓöéThere was probably an error during      Γöé
  12481. Γöé          Γöé                              Γöéinstallation. Contact service support.  Γöé
  12482. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12483. ΓöéEDY0218E: ΓöéComponent list empty.         ΓöéInternal error. Contact service support.Γöé
  12484. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12485. ΓöéEDY0219E: ΓöéSyntax error in component listΓöéThe registered components list is in    Γöé
  12486. Γöé          Γöé: %s .                        Γöéerror. Check SENTRY.DSC file and        Γöé
  12487. Γöé          Γöé                              Γöéreregister it through UPDATEDB.         Γöé
  12488. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12489. ΓöéEDY0220E: ΓöéThe component %s is unknown.  ΓöéThe component has not been registered asΓöé
  12490. Γöé          Γöé                              Γöéa valid component to the registry.      Γöé
  12491. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12492. ΓöéEDY0221E: ΓöéThe mandatory component %s is ΓöéMandatory component missing. The user   Γöé
  12493. Γöé          Γöénot present.                  Γöécan not logon.                          Γöé
  12494. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12495. ΓöéEDY0222E: ΓöéUnknown EdyReg error %d.      ΓöéAn unknown error was reported to the    Γöé
  12496. Γöé          Γöé                              Γöéregistry. Check the error message.      Γöé
  12497. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12498. ΓöéEDY0223E: ΓöéUnknown EdyReg error class %d.ΓöéInternal error. Contact service support.Γöé
  12499. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12500. ΓöéEDY0224W: ΓöéComponent to be put matches   ΓöéInformative.                            Γöé
  12501. Γöé          Γöéprevious version. Not stored  Γöé                                        Γöé
  12502. Γöé          Γöéagain.                        Γöé                                        Γöé
  12503. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12504. ΓöéEDY0330E: ΓöéInternal error.               ΓöéInternal error. Contact service support.Γöé
  12505. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12506. ΓöéEDY0331E: ΓöéA security error due to       ΓöéInternal error. Contact service support.Γöé
  12507. Γöé          Γöéintegrity violation has       Γöé                                        Γöé
  12508. Γöé          Γöéoccurred. The system will     Γöé                                        Γöé
  12509. Γöé          Γöéshutdown.                     Γöé                                        Γöé
  12510. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12511. ΓöéEDY0332E: ΓöéIncorrect Userid length. Try  ΓöéError reported during logon/unlock      Γöé
  12512. Γöé          Γöéagain.                        Γöépanels syntax checking.                 Γöé
  12513. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12514. ΓöéEDY0333E: ΓöéIncorrect Password length. TryΓöéError reported during logon/unlock      Γöé
  12515. Γöé          Γöéagain.                        Γöépanels syntax checking.                 Γöé
  12516. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12517. ΓöéEDY0334E: ΓöéIncorrect Domain length. Try  ΓöéError reported during logon/unlock      Γöé
  12518. Γöé          Γöéagain.                        Γöépanels syntax checking.                 Γöé
  12519. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12520. ΓöéEDY0335E: ΓöéNew and verification PasswordsΓöéError reported during logon/unlock      Γöé
  12521. Γöé          Γöédon't match.                  Γöépanels syntax checking.                 Γöé
  12522. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12523. ΓöéEDY0337E: ΓöéYou typed and invalid         ΓöéError reported during logon/unlock      Γöé
  12524. Γöé          ΓöéPassword. Try again.          Γöépanels syntax checking.                 Γöé
  12525. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12526. ΓöéEDY0338E: ΓöéInvalid Password change.      ΓöéError encountered during the syntax     Γöé
  12527. Γöé          ΓöéContact your System           Γöévalidation phase of the logon and/or    Γöé
  12528. Γöé          ΓöéAdministrator.                Γöéunlock events.                          Γöé
  12529. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12530. ΓöéEDY0341E: ΓöéYou are not authorized to     ΓöéError encountered during the syntax     Γöé
  12531. Γöé          Γöélogon. Contact your System    Γöévalidation phase of the logon and/or    Γöé
  12532. Γöé          ΓöéAdministrator.                Γöéunlock events.                          Γöé
  12533. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12534. ΓöéEDY0347E: ΓöéA Severe Initialization Error ΓöéTake note of the provided information   Γöé
  12535. Γöé          Γöéhas been produced. Module: %s.Γöéand contact SecureEntry support.        Γöé
  12536. Γöé          ΓöéFunction: %s. Line: %d. SystemΓöé                                        Γöé
  12537. Γöé          ΓöéError: %#X. The system will   Γöé                                        Γöé
  12538. Γöé          Γöéshutdown.                     Γöé                                        Γöé
  12539. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12540. ΓöéEDY0349E: ΓöéThe OS/2 initialization file  ΓöéThe initialization file specified by theΓöé
  12541. Γöé          Γöécontains an invalid           Γöéenvironment variable USER_INI, normally Γöé
  12542. Γöé          Γöéapplication. The program to   Γöébeing the file OS2.INI located in the   Γöé
  12543. Γöé          Γöéfix it could not be executed. Γöésubdirectory OS2 of the boot partition, Γöé
  12544. Γöé          ΓöéThe system will shutdown.     Γöécontains the pair SYS_DLLS/Load having  Γöé
  12545. Γöé          ΓöéContact your System           Γöéan invalid key value. This error may be Γöé
  12546. Γöé          ΓöéAdministrator.                Γöécaused by overwriting the system        Γöé
  12547. Γöé          Γöé                              Γöéinitialization files with other ones notΓöé
  12548. Γöé          Γöé                              Γöéhaving the needed information. The      Γöé
  12549. Γöé          Γöé                              ΓöéSecureEntry program that solves this    Γöé
  12550. Γöé          Γöé                              Γöéprogram could not be launched. Contact  Γöé
  12551. Γöé          Γöé                              Γöéservice support.                        Γöé
  12552. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12553. ΓöéEDY0350E: ΓöéThe OS/2 initialization file  ΓöéThe initialization file specified by theΓöé
  12554. Γöé          Γöécontains an invalid           Γöéenvironment variable USER_INI, normally Γöé
  12555. Γöé          Γöéapplication. The program to   Γöébeing the file OS2.INI located in the   Γöé
  12556. Γöé          Γöéfix it terminated             Γöésubdirectory OS2 of the boot partition, Γöé
  12557. Γöé          Γöéunexpectedly. The system will Γöécontains the pair SYS_DLLS/Load having  Γöé
  12558. Γöé          Γöéshutdown. Contact your System Γöéan invalid key value. This error may be Γöé
  12559. Γöé          ΓöéAdministrator.                Γöécaused by overwriting the system        Γöé
  12560. Γöé          Γöé                              Γöéinitialization files with other ones notΓöé
  12561. Γöé          Γöé                              Γöéhaving the needed information. The      Γöé
  12562. Γöé          Γöé                              ΓöéSecureEntry program that solves this    Γöé
  12563. Γöé          Γöé                              Γöéprogram abnormally ended (ABENDed).     Γöé
  12564. Γöé          Γöé                              ΓöéContact service support.                Γöé
  12565. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12566. ΓöéEDY0351E: ΓöéThe OS/2 initialization file  ΓöéThe initialization file specified by theΓöé
  12567. Γöé          Γöécontains an invalid           Γöéenvironment variable USER_INI, normally Γöé
  12568. Γöé          Γöéapplication. The program to   Γöébeing the file OS2.INI located in the   Γöé
  12569. Γöé          Γöéfix it could not actually fix Γöésubdirectory OS2 of the boot partition, Γöé
  12570. Γöé          Γöéit. The system will shutdown. Γöécontains the pair SYS_DLLS/Load having  Γöé
  12571. Γöé          ΓöéContact your System           Γöéan invalid key value. This error may be Γöé
  12572. Γöé          ΓöéAdministrator.                Γöécaused by overwriting the system        Γöé
  12573. Γöé          Γöé                              Γöéinitialization files with other ones notΓöé
  12574. Γöé          Γöé                              Γöéhaving the needed information. The      Γöé
  12575. Γöé          Γöé                              ΓöéSecureEntry program that solves this    Γöé
  12576. Γöé          Γöé                              Γöéprogram could not correct the problem.  Γöé
  12577. Γöé          Γöé                              ΓöéContact service support.                Γöé
  12578. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12579. ΓöéEDY0352E: ΓöéThe OS/2 initialization file  ΓöéThe initialization file specified by theΓöé
  12580. Γöé          Γöécontains an invalid           Γöéenvironment variable USER_INI, normally Γöé
  12581. Γöé          Γöéapplication. The problem has  Γöébeing the file OS2.INI located in the   Γöé
  12582. Γöé          Γöébeen fixed. The system will   Γöésubdirectory OS2 of the boot partition, Γöé
  12583. Γöé          Γöéshutdown. Contact your System Γöécontains the pair SYS_DLLS/Load having  Γöé
  12584. Γöé          ΓöéAdministrator if you continue Γöéan invalid key value. This error may be Γöé
  12585. Γöé          Γöéhaving this problem.          Γöécaused by overwriting the system        Γöé
  12586. Γöé          Γöé                              Γöéinitialization files with other ones notΓöé
  12587. Γöé          Γöé                              Γöéhaving the needed information.          Γöé
  12588. Γöé          Γöé                              ΓöéSecureEntry fixed the problem in the    Γöé
  12589. Γöé          Γöé                              Γöéinitialization file. An IPL is needed inΓöé
  12590. Γöé          Γöé                              Γöéorder for the new valid values to be    Γöé
  12591. Γöé          Γöé                              Γöéeffective. Another forthcoming of this  Γöé
  12592. Γöé          Γöé                              Γöéerror after IPLing the system indicates Γöé
  12593. Γöé          Γöé                              Γöéan automatic replacement of operating   Γöé
  12594. Γöé          Γöé                              Γöésystem initialization files at some     Γöé
  12595. Γöé          Γöé                              Γöéstage of the boot process.              Γöé
  12596. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  12597.  
  12598. Administration API errors 
  12599.  
  12600. Although you will normally encounter these errors when working directly with 
  12601. the administration API, it is possible also to get one of these when using any 
  12602. of the administration tools. The key is to look at the error type and then find 
  12603. the appropriate error list depending on the ultimate component causing the 
  12604. error condition, as follows : 
  12605.  
  12606. Error types table 
  12607.  
  12608. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  12609. ΓöéError ΓöéError ΓöéDescription                                                 Γöé
  12610. Γöécode  Γöétype  Γöé                                                            Γöé
  12611. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12612. Γöéxxxx  ΓöéRXUC  ΓöéThe REXX layer DLL found an error. Look into the associated Γöé
  12613. Γöé      Γöé      Γöémessage to find more about it.                              Γöé
  12614. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12615. Γöéxxxx  ΓöéSLAG  ΓöéSecureEntry selector agent error. This means that the       Γöé
  12616. Γöé      Γöé      ΓöéSecureEntry selector agent, that is, the common entry point Γöé
  12617. Γöé      Γöé      Γöéto the administration API, found an error. Refer to the     Γöé
  12618. Γöé      Γöé      Γöéagents error table to find more about xxxx.                 Γöé
  12619. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12620. Γöéxxxx  ΓöéSEAG  ΓöéSecureEntry administration agent error. This means that the Γöé
  12621. Γöé      Γöé      ΓöéSecureEntry subsystem administration agent found an error.  Γöé
  12622. Γöé      Γöé      ΓöéRefer to the agents error table to find more about xxxx.    Γöé
  12623. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12624. Γöéxxxx  ΓöéSESR  ΓöéSecureEntry registry component error. The SecureEntry/UCM   Γöé
  12625. Γöé      Γöé      Γöésubsystem administration agents received an error reported  Γöé
  12626. Γöé      Γöé      Γöéfrom the SecureEntry registry. Look into the associated     Γöé
  12627. Γöé      Γöé      Γöémessage to find more about it. Refer to the Session control Γöé
  12628. Γöé      Γöé      Γöéerrors and messages table to find specific information aboutΓöé
  12629. Γöé      Γöé      Γöécode xxxx.                                                  Γöé
  12630. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12631. Γöéxxxx  ΓöéLSAP  ΓöéLan Server agent error xxxx. This means that the SecureEntryΓöé
  12632. Γöé      Γöé      ΓöéLan Server agent found an error. Refer to the agents error  Γöé
  12633. Γöé      Γöé      Γöétable to find more about xxxx.                              Γöé
  12634. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12635. Γöéxxxx  ΓöéLSER  ΓöéLan Server API error xxxx. This means that the SecureEntry  Γöé
  12636. Γöé      Γöé      ΓöéLan Server agent got an error passed up from the Lan Server Γöé
  12637. Γöé      Γöé      ΓöéAPI. Refer to the Lan server documentation to find about    Γöé
  12638. Γöé      Γöé      Γöéerror code xxxx. If this is a common error, chances are thatΓöé
  12639. Γöé      Γöé      Γöéthe associated error message contains some meaningful       Γöé
  12640. Γöé      Γöé      Γöéinformation. TIP: Most Lan Server API errors are also OS/2  Γöé
  12641. Γöé      Γöé      Γöébase errors, so HELP SYSxxxx may give you a clue.           Γöé
  12642. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12643. Γöéxxxx  ΓöéREGT  ΓöéRegistry API error xxxx. This means that the SecureEntry LanΓöé
  12644. Γöé      Γöé      ΓöéServer agent got an error passed up from the SecureEntry    Γöé
  12645. Γöé      Γöé      Γöéregistry component. Look into the associated message to findΓöé
  12646. Γöé      Γöé      Γöémore about it. Refer to the Session control errors and      Γöé
  12647. Γöé      Γöé      Γöémessages  table to find specific information about code     Γöé
  12648. Γöé      Γöé      Γöéxxxx. TIP: The Lan Server agent does only use the           Γöé
  12649. Γöé      Γöé      ΓöéSecureEntry Registry to store per group logon assignment    Γöé
  12650. Γöé      Γöé      Γöédata, so the error must be related to an operation of this  Γöé
  12651. Γöé      Γöé      Γöékind.                                                       Γöé
  12652. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12653. Γöéxxxx  ΓöéUCAG  ΓöéUCM administration agent error. This means that the UCM     Γöé
  12654. Γöé      Γöé      Γöésubsystem administration agent found an error. Refer to the Γöé
  12655. Γöé      Γöé      Γöéagents error table to find more about xxxx.                 Γöé
  12656. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12657. Γöéxxxx  ΓöéUCSQ  ΓöéA SQL API error has been reported to the UCM subsystem      Γöé
  12658. Γöé      Γöé      Γöéagent. Refer to the SQL error code table to find about errorΓöé
  12659. Γöé      Γöé      Γöéxxxx.                                                       Γöé
  12660. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12661. Γöéxxxx  ΓöéUCAP  ΓöéA UCM API error has been reported to the UCM subsystem      Γöé
  12662. Γöé      Γöé      Γöéagent. Refer to the agents error table to find more about   Γöé
  12663. Γöé      Γöé      Γöéerror code xxxx.                                            Γöé
  12664. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12665. Γöéxxxx  ΓöéUCME  ΓöéThis is a memory error reported by the UCM API to the UCM   Γöé
  12666. Γöé      Γöé      Γöéadministration agent. An allocation request failed either inΓöé
  12667. Γöé      Γöé      Γöéthe host or workstation site.                               Γöé
  12668. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  12669.  
  12670. Agents error table 
  12671.  
  12672. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  12673. ΓöéError ΓöéError name            ΓöéDescription                                       Γöé
  12674. ΓöénumberΓöé                      Γöé                                                  Γöé
  12675. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12676. Γöé001   ΓöéINFOOK                ΓöéInformational message. No real error happened, theΓöé
  12677. Γöé      Γöé                      Γöéassociated message contains event information thatΓöé
  12678. Γöé      Γöé                      Γöéhad to be reported.                               Γöé
  12679. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12680. Γöé002   ΓöéINVALID_KEYWORD_SIZE  ΓöéOne of the passed keywords (object attributes) wasΓöé
  12681. Γöé      Γöé                      Γöéeither too short or too long.                     Γöé
  12682. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12683. Γöé003   ΓöéINVALID_OBJTYPE       ΓöéThe agent received an invalid object type through Γöé
  12684. Γöé      Γöé                      Γöéthe API.                                          Γöé
  12685. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12686. Γöé004   ΓöéINVALID_OPERATION     ΓöéThe operation is not valid at this time (add,     Γöé
  12687. Γöé      Γöé                      Γöéupdate, delete..).                                Γöé
  12688. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12689. Γöé005   ΓöéINVALID_PARAMETERS    ΓöéGeneric error to report invalid parameters passed Γöé
  12690. Γöé      Γöé                      Γöéto the agent through an API call.                 Γöé
  12691. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12692. Γöé006   ΓöéEXISTS_OBJ            ΓöéThe object already exists.                        Γöé
  12693. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12694. Γöé007   ΓöéNEXISTS_OBJ           ΓöéThe required object does NOT exist.               Γöé
  12695. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12696. Γöé008   ΓöéEXPECTED_KWD          ΓöéA mandatory keyword was expected for this object. Γöé
  12697. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12698. Γöé009   ΓöéNEXPECTED_KWD         ΓöéAn unexpected keyword was received for this       Γöé
  12699. Γöé      Γöé                      Γöéobject.                                           Γöé
  12700. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12701. Γöé010   ΓöéNEXIST_KWD            ΓöéThe keyword does not exist.                       Γöé
  12702. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12703. Γöé011   ΓöéEXIST_KWD             ΓöéThe keyword already exists.                       Γöé
  12704. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12705. Γöé012   ΓöéINCORRECT_KWD         ΓöéGeneric. The keyword is incorrect.                Γöé
  12706. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12707. Γöé013   ΓöéNOT_ALL_KWD           ΓöéNot all keywords could be returned.               Γöé
  12708. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12709. Γöé014   ΓöéMANY_ROWS_FETCHED     ΓöéToo many rows fetched. The UCM API is configured  Γöé
  12710. Γöé      Γöé                      Γöéwith a maximum of tuples to handle as a response  Γöé
  12711. Γöé      Γöé                      Γöéto a query. Use the EDY_UCM_MAXROWS to customize  Γöé
  12712. Γöé      Γöé                      Γöéthis maximum for your needs.                      Γöé
  12713. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12714. Γöé015   ΓöéNROWS_FETCHED         ΓöéNo rows fetched. The result is empty since there  Γöé
  12715. Γöé      Γöé                      Γöéare no rows matching the search criteria.         Γöé
  12716. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12717. Γöé016   ΓöéDEL_USR_UCM           ΓöéCould not delete user from the UCM subsystem. It  Γöé
  12718. Γöé      Γöé                      Γöéis still defined in other subsystems.             Γöé
  12719. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12720. Γöé017   ΓöéDEL_SUB_UCM           ΓöéCould not delete the UCM subsystem. It must be theΓöé
  12721. Γöé      Γöé                      Γöélast one to delete.                               Γöé
  12722. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12723. Γöé018   ΓöéNEXIST_DEFKWD         ΓöéDefault required keyword 'Keyword Id' not found   Γöé
  12724. Γöé      Γöé                      Γöéfor the UCM subsystem.                            Γöé
  12725. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12726. Γöé960   ΓöéPRVERR                ΓöéNot enough privilege for the requested operation. Γöé
  12727. Γöé      Γöé                      ΓöéCheck the environment variable SGM_ADM_PRIV       Γöé
  12728. Γöé      Γöé                      Γöésetting.                                          Γöé
  12729. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12730. Γöé961   ΓöéLOGERR                ΓöéCould not open the log file for writing. The      Γöé
  12731. Γöé      Γöé                      Γöéreturned operating system return code is also     Γöé
  12732. Γöé      Γöé                      Γöésupplied.                                         Γöé
  12733. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12734. Γöé962   ΓöéDYNERR                ΓöéCould not dynamic link the required module. The   Γöé
  12735. Γöé      Γöé                      Γöéreturned operating system ret. code is also       Γöé
  12736. Γöé      Γöé                      Γöésupplied.                                         Γöé
  12737. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12738. Γöé963   ΓöéMAXERR                ΓöéThe maximum number of subsystems has already been Γöé
  12739. Γöé      Γöé                      Γöéreached. Contact SecureEntry service support if   Γöé
  12740. Γöé      Γöé                      Γöéthis error happens.                               Γöé
  12741. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  12742.  
  12743. Processes Auditor Editor Errors and Messages 
  12744.  
  12745. The following messages may appear during regular editor runtime. 
  12746.  
  12747. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  12748. ΓöéError     ΓöéError Message                 ΓöéError Description                       Γöé
  12749. ΓöéNumber    Γöé                              Γöé                                        Γöé
  12750. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12751. ΓöéEDY1000   ΓöéInitialization failed.        ΓöéAn initialization task could not be     Γöé
  12752. Γöé          Γöé                              Γöécarried out. This may be produced as a  Γöé
  12753. Γöé          Γöé                              Γöéconsequence of lack of resources in the Γöé
  12754. Γöé          Γöé                              Γöésystem or of the editor corruption.     Γöé
  12755. Γöé          Γöé                              ΓöéVerify that other programs in the systemΓöé
  12756. Γöé          Γöé                              Γöéare running correctly and that the imageΓöé
  12757. Γöé          Γöé                              Γöéof the editor executable in the disk is Γöé
  12758. Γöé          Γöé                              Γöénot corrupted.                          Γöé
  12759. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12760. ΓöéEDY1001   ΓöéFailed to create main window. ΓöéThe editor main dialog could not be     Γöé
  12761. Γöé          Γöé                              Γöécreated. This may be produced as a      Γöé
  12762. Γöé          Γöé                              Γöéconsequence of lack of resources in the Γöé
  12763. Γöé          Γöé                              Γöésystem or of the editor corruption.     Γöé
  12764. Γöé          Γöé                              ΓöéVerify that other programs in the systemΓöé
  12765. Γöé          Γöé                              Γöéare running correctly and that the imageΓöé
  12766. Γöé          Γöé                              Γöéof the editor executable in the disk is Γöé
  12767. Γöé          Γöé                              Γöénot corrupted.                          Γöé
  12768. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12769. ΓöéEDY1002   ΓöéCannot open input file.       ΓöéThe specified file is R/O, or is held byΓöé
  12770. Γöé          Γöé                              Γöéanother process, or does not exist, or  Γöé
  12771. Γöé          Γöé                              Γöéthe full path name does not exist, or isΓöé
  12772. Γöé          Γöé                              Γöéactually a directory, or the disk is    Γöé
  12773. Γöé          Γöé                              Γöéfull, or the system has ran out of      Γöé
  12774. Γöé          Γöé                              Γöéhandles. In the latter, wait until      Γöé
  12775. Γöé          Γöé                              Γöéanother program has ended and retry the Γöé
  12776. Γöé          Γöé                              Γöéoperation.                              Γöé
  12777. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12778. ΓöéEDY1003   ΓöéCannot open output file.      ΓöéThe specified file is R/O, or is held byΓöé
  12779. Γöé          Γöé                              Γöéanother process, or the full path name  Γöé
  12780. Γöé          Γöé                              Γöédoes not exist, or is actually a        Γöé
  12781. Γöé          Γöé                              Γöédirectory, or the disk is full, or the  Γöé
  12782. Γöé          Γöé                              Γöésystem has ran out of handles. In the   Γöé
  12783. Γöé          Γöé                              Γöélatter, wait until another program has  Γöé
  12784. Γöé          Γöé                              Γöéended and retry the operation.          Γöé
  12785. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12786. ΓöéEDY1004   ΓöéFailed to load help manager.  ΓöéThe standard OS/2 help manager could notΓöé
  12787. Γöé          Γöé                              Γöélocate the file EDYEXECE.HLP. Verify    Γöé
  12788. Γöé          Γöé                              Γöéthat this file resides in the           Γöé
  12789. Γöé          Γöé                              ΓöéSecureEntry installation path, HELP     Γöé
  12790. Γöé          Γöé                              Γöésubdirectory.                           Γöé
  12791. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12792. ΓöéEDY1005   ΓöéFailed to load string.        ΓöéThe editor could not locate a string.   Γöé
  12793. Γöé          Γöé                              ΓöéVerify that the file EDYERROR.MSG       Γöé
  12794. Γöé          Γöé                              Γöéresides in the SecureEntry installation Γöé
  12795. Γöé          Γöé                              Γöépath, EXEC subdirectory, and that the   Γöé
  12796. Γöé          Γöé                              Γöéimage of the editor executable in the   Γöé
  12797. Γöé          Γöé                              Γöédisk is not corrupted.                  Γöé
  12798. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12799. ΓöéEDY1006   ΓöéFailed to display help panel. ΓöéThe editor could not locate a help      Γöé
  12800. Γöé          Γöé                              Γöépanel. Contact SecureEntry support team.Γöé
  12801. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12802. ΓöéEDY1007   ΓöéCannot load Exit List         ΓöéThe termination routine of the editor   Γöé
  12803. Γöé          Γöéprocessor.                    Γöécould not be loaded. This may be        Γöé
  12804. Γöé          Γöé                              Γöéproduced as a consequence of lack of    Γöé
  12805. Γöé          Γöé                              Γöéresources in the system. Verify that    Γöé
  12806. Γöé          Γöé                              Γöéother programs in the system are runningΓöé
  12807. Γöé          Γöé                              Γöécorrectly.                              Γöé
  12808. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12809. ΓöéEDY1008   ΓöéError getting file            ΓöéA call to the spooler validation or fileΓöé
  12810. Γöé          Γöéinformation.                  Γöésystem seek routines resulted in error. Γöé
  12811. Γöé          Γöé                              ΓöéContact SecureEntry support team.       Γöé
  12812. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12813. ΓöéEDY1009   ΓöéNot enough memory.            ΓöéLack of memory in the system. Reduce theΓöé
  12814. Γöé          Γöé                              Γöénumber of running programs, or the      Γöé
  12815. Γöé          Γöé                              Γöévalues of the BUFFERS=, TRACEBUF=,      Γöé
  12816. Γöé          Γöé                              ΓöéDISKCACHE=, THREADS=, RMSIZE=, or       Γöé
  12817. Γöé          Γöé                              ΓöéDEVICE=VDISK.SYS statements in the      Γöé
  12818. Γöé          Γöé                              ΓöéCONFIG.SYS file and then restart the    Γöé
  12819. Γöé          Γöé                              Γöésystem, or remove unwanted files from   Γöé
  12820. Γöé          Γöé                              Γöéthe swap file disk and restart the      Γöé
  12821. Γöé          Γöé                              Γöésystem.                                 Γöé
  12822. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12823. ΓöéEDY1010   ΓöéError reading file.           ΓöéA call to the spooler validation or fileΓöé
  12824. Γöé          Γöé                              Γöésystem read routines resulted in error. Γöé
  12825. Γöé          Γöé                              ΓöéContact SecureEntry support team.       Γöé
  12826. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12827. ΓöéEDY1011   ΓöéError writing file.           ΓöéA call to the spooler validation or fileΓöé
  12828. Γöé          Γöé                              Γöésystem write routines resulted in error,Γöé
  12829. Γöé          Γöé                              Γöéor the disk is full. If not the latter, Γöé
  12830. Γöé          Γöé                              Γöécontact SecureEntry support team.       Γöé
  12831. Γöé          Γöé                              ΓöéFor an export operation, this error     Γöé
  12832. Γöé          Γöé                              Γöéindicates that not all the information  Γöé
  12833. Γöé          Γöé                              Γöéhas been correctly exported, if any.    Γöé
  12834. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12835. ΓöéEDY1012   ΓöéInvalid input file format.    ΓöéThe input file is not a SecureEntry     Γöé
  12836. Γöé          Γöé                              ΓöéProcesses Auditor profile. Retry the    Γöé
  12837. Γöé          Γöé                              Γöéoperation with a real SecureEntry       Γöé
  12838. Γöé          Γöé                              ΓöéProcesses Auditor profile.              Γöé
  12839. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12840. ΓöéEDY1013   ΓöéThe process name to audit is  ΓöéYou did not provide the process name to Γöé
  12841. Γöé          Γöémissing.                      Γöéaudit when trying to add a new process  Γöé
  12842. Γöé          Γöé                              Γöéname to the list of processes to audit. Γöé
  12843. Γöé          Γöé                              ΓöéProvide a process name and retry the    Γöé
  12844. Γöé          Γöé                              Γöéoperation.                              Γöé
  12845. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12846. ΓöéEDY1014   ΓöéThe process name to audit is  ΓöéThe process name to audit you tried to  Γöé
  12847. Γöé          Γöéinvalid.                      Γöéadd contains one or some of the         Γöé
  12848. Γöé          Γöé                              Γöéfollowing invalid characters: 01-1F hex Γöé
  12849. Γöé          Γöé                              Γöé"    +   ,   /   ;   <   =   >   [   ]  Γöé
  12850. Γöé          Γöé                              Γöé|                                       Γöé
  12851. Γöé          Γöé                              ΓöéRemove the invalid characters and retry Γöé
  12852. Γöé          Γöé                              Γöéthe operation.                          Γöé
  12853. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12854. ΓöéEDY1015   ΓöéThe process name to audit     ΓöéYou tried to add a process name that    Γöé
  12855. Γöé          Γöéalready exists.               Γöéalready exists. Provide a different     Γöé
  12856. Γöé          Γöé                              Γöéprocess name and retry the operation.   Γöé
  12857. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12858. ΓöéEDY1016   ΓöéThe number of invocations is  ΓöéYou specified to control the number of  Γöé
  12859. Γöé          Γöémissing.                      Γöéinvocations of the selected process, butΓöé
  12860. Γöé          Γöé                              Γöéyou did not specify the upper limit.    Γöé
  12861. Γöé          Γöé                              ΓöéSpecify it and retry the operation.     Γöé
  12862. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12863. ΓöéEDY1017   ΓöéThe number of invocations mustΓöéYou specified to control the number of  Γöé
  12864. Γöé          Γöébe a number.                  Γöéinvocations of the selected process, butΓöé
  12865. Γöé          Γöé                              Γöéthe upper limit you specified is not a  Γöé
  12866. Γöé          Γöé                              Γöénumber. Specify it as a number and retryΓöé
  12867. Γöé          Γöé                              Γöéthe operation.                          Γöé
  12868. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12869. ΓöéEDY1018   ΓöéThe number of invocations mustΓöéYou specified to control the number of  Γöé
  12870. Γöé          Γöébe in the range 1 to 65535.   Γöéinvocations of the selected process, butΓöé
  12871. Γöé          Γöé                              Γöéthe upper limit you specified is out of Γöé
  12872. Γöé          Γöé                              Γöérange. Specify it to be in the range 1  Γöé
  12873. Γöé          Γöé                              Γöéto 65535 and retry the operation.       Γöé
  12874. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12875. ΓöéEDY1019   ΓöéCould not test the file.      ΓöéThe activation or deactivation of a     Γöé
  12876. Γöé          ΓöéReturned error code: %u       ΓöéSecureEntry Processes Auditor profile   Γöé
  12877. Γöé          Γöé                              Γöédid not succeed. Note down the enclosed Γöé
  12878. Γöé          Γöé                              Γöéreturn code and contact SecureEntry     Γöé
  12879. Γöé          Γöé                              Γöésupport team.                           Γöé
  12880. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  12881.  
  12882. The following messages may appear during import operations. Notice that any 
  12883. error will abort the whole import operation. 
  12884.  
  12885. ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  12886. ΓöéError     ΓöéError Message                 ΓöéError Description                       Γöé
  12887. ΓöéNumber    Γöé                              Γöé                                        Γöé
  12888. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12889. ΓöéEDY1040   ΓöéUnexpected double quote found ΓöéDouble quotes must enclose only process Γöé
  12890. Γöé          Γöéat line %u of input file.     Γöénames containing blank spaces. Remove   Γöé
  12891. Γöé          ΓöéImport process aborted.       Γöésuch a symbol from the specified line inΓöé
  12892. Γöé          Γöé                              Γöéthe import file and retry the operation.Γöé
  12893. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12894. ΓöéEDY1041   ΓöéExpected double quote not     ΓöéDouble quotes must enclose only process Γöé
  12895. Γöé          Γöéfound in line %u of input     Γöénames containing blank spaces. Add such Γöé
  12896. Γöé          Γöéfile. Import process aborted. Γöéa symbol to the specified line in the   Γöé
  12897. Γöé          Γöé                              Γöéimport file and retry the operation.    Γöé
  12898. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12899. ΓöéEDY1042   ΓöéUnexpected end of line in lineΓöéThe specified line in the import file   Γöé
  12900. Γöé          Γöé%u of input file. Import      Γöéwas not complete. Either remove or      Γöé
  12901. Γöé          Γöéprocess aborted.              Γöécomment the line, or add the missing    Γöé
  12902. Γöé          Γöé                              Γöéinformation, and retry the operation.   Γöé
  12903. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12904. ΓöéEDY1043   ΓöéThe number of invocations in  ΓöéChange the number of invocations to     Γöé
  12905. Γöé          Γöéline %u of input file must be Γöéaudit in the specified line of the      Γöé
  12906. Γöé          Γöéa number in the range 1 to    Γöéimport file to a number in the range 1  Γöé
  12907. Γöé          Γöé65535 or the word 'All'.      Γöéto 65535 or to the word 'All' (without  Γöé
  12908. Γöé          ΓöéImport process aborted.       Γöésingle quotes). Then retry the          Γöé
  12909. Γöé          Γöé                              Γöéoperation.                              Γöé
  12910. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12911. ΓöéEDY1044   ΓöéUnexpected value for          ΓöéChange the value for Invocations Are    Γöé
  12912. Γöé          ΓöéInvocations Are Working       ΓöéWorking Sessions in the specified line  Γöé
  12913. Γöé          ΓöéSessions in line %u of input  Γöéof the import file to 'Yes' or 'No'     Γöé
  12914. Γöé          Γöéfile. Import process aborted. Γöé(without single quotes). Then retry the Γöé
  12915. Γöé          Γöé                              Γöéoperation.                              Γöé
  12916. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12917. ΓöéEDY1045   ΓöéUnexpected value for Discard  ΓöéChange the value for Discard CPU Usages Γöé
  12918. Γöé          ΓöéCPU Usages having Value Zero  Γöéhaving Value Zero in the specified line Γöé
  12919. Γöé          Γöéin line %u of input file.     Γöéof the import file to 'Yes' or 'No'     Γöé
  12920. Γöé          ΓöéImport process aborted.       Γöé(without single quotes). Then retry the Γöé
  12921. Γöé          Γöé                              Γöéoperation.                              Γöé
  12922. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12923. ΓöéEDY1046   ΓöéThe start date in line %u of  ΓöéChange the format of the string         Γöé
  12924. Γöé          Γöéinput file is not valid.      Γöéconforming the start date in the        Γöé
  12925. Γöé          ΓöéImport process aborted.       Γöéspecified line to a valid one and retry Γöé
  12926. Γöé          Γöé                              Γöéthe operation.                          Γöé
  12927. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12928. ΓöéEDY1047   ΓöéThe start time in line %u of  ΓöéChange the format of the string         Γöé
  12929. Γöé          Γöéinput file is not valid.      Γöéconforming the start time in the        Γöé
  12930. Γöé          ΓöéImport process aborted.       Γöéspecified line to a valid one and retry Γöé
  12931. Γöé          Γöé                              Γöéthe operation.                          Γöé
  12932. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12933. ΓöéEDY1048   ΓöéThe ending date in line %u of ΓöéChange the format of the string         Γöé
  12934. Γöé          Γöéinput file is not valid.      Γöéconforming the ending date in the       Γöé
  12935. Γöé          ΓöéImport process aborted.       Γöéspecified line to a valid one and retry Γöé
  12936. Γöé          Γöé                              Γöéthe operation.                          Γöé
  12937. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12938. ΓöéEDY1049   ΓöéThe ending time in line %u of ΓöéChange the format of the string         Γöé
  12939. Γöé          Γöéinput file is not valid.      Γöéconforming the ending time in the       Γöé
  12940. Γöé          ΓöéImport process aborted.       Γöéspecified line to a valid one and retry Γöé
  12941. Γöé          Γöé                              Γöéthe operation.                          Γöé
  12942. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12943. ΓöéEDY1050   ΓöéThe ending timestamp in line  ΓöéEither change the ending timestamp to a Γöé
  12944. Γöé          Γöé%u of input file is less      Γöémore recent one, or the starting        Γöé
  12945. Γöé          Γöérecent than or equal to its   Γöétimestamp to a less recent one, and     Γöé
  12946. Γöé          Γöérelated starting timestamp.   Γöéretry the operation.                    Γöé
  12947. Γöé          ΓöéImport process aborted.       Γöé                                        Γöé
  12948. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12949. ΓöéEDY1051   ΓöéThe start date and time and   ΓöéYou are trying to import a detail line  Γöé
  12950. Γöé          Γöéthe process ID at line %u of  Γöéwhose key, constructed by the start dateΓöé
  12951. Γöé          Γöéinput file has already been   Γöéand time and the process ID, already    Γöé
  12952. Γöé          Γöéprocessed in the file. Import Γöéexisted in the same import file.        Γöé
  12953. Γöé          Γöéprocess aborted.              ΓöéSlightly modify the key in the specifiedΓöé
  12954. Γöé          Γöé                              Γöéline in the import file by changing the Γöé
  12955. Γöé          Γöé                              Γöéhundredths of second and retry the      Γöé
  12956. Γöé          Γöé                              Γöéoperation, or comment the specified lineΓöé
  12957. Γöé          Γöé                              Γöéand retry the operation.                Γöé
  12958. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12959. ΓöéEDY1052   ΓöéThe process ID specified in   ΓöéThe process ID could not be understood  Γöé
  12960. Γöé          Γöéline %u of input file is not  Γöéas an hexadecimal value. Change it in   Γöé
  12961. Γöé          Γöévalid. Import process aborted.Γöéthe specified line to a valid one and   Γöé
  12962. Γöé          Γöé                              Γöéretry the operation.                    Γöé
  12963. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12964. ΓöéEDY1053   ΓöéNot enough memory for import  ΓöéLack of memory in the system. Reduce theΓöé
  12965. Γöé          Γöéprocess starting at line %u ofΓöénumber of running programs, or the      Γöé
  12966. Γöé          Γöéinput file. Import process    Γöévalues of the BUFFERS=, TRACEBUF=,      Γöé
  12967. Γöé          Γöéaborted.                      ΓöéDISKCACHE=, THREADS=, RMSIZE=, or       Γöé
  12968. Γöé          Γöé                              ΓöéDEVICE=VDISK.SYS statements in the      Γöé
  12969. Γöé          Γöé                              ΓöéCONFIG.SYS file and then restart the    Γöé
  12970. Γöé          Γöé                              Γöésystem, or remove unwanted files from   Γöé
  12971. Γöé          Γöé                              Γöéthe swap file disk and restart the      Γöé
  12972. Γöé          Γöé                              Γöésystem.                                 Γöé
  12973. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12974. ΓöéEDY1054   ΓöéToo many items starting at    ΓöéThe maximum number of items in the list Γöé
  12975. Γöé          Γöéline %u of input file. Import Γöéof processes to audit is 32767. Either  Γöé
  12976. Γöé          Γöéprocess aborted.              Γöétry to break the input file into smallerΓöé
  12977. Γöé          Γöé                              Γöéones, or try to split the current       Γöé
  12978. Γöé          Γöé                              Γöéprofile into profiles having less items.Γöé
  12979. Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  12980. ΓöéEDY1055   ΓöéThe start date and time and   ΓöéYou are trying to import a detail line  Γöé
  12981. Γöé          Γöéthe process ID at line %u of  Γöéwhose key, constructed by the start dateΓöé
  12982. Γöé          Γöéinput file already exist in   Γöéand time and the process ID, already    Γöé
  12983. Γöé          Γöécurrent profile. Import       Γöéexists in the current profile. Slightly Γöé
  12984. Γöé          Γöéprocess aborted.              Γöémodify the key in the specified line in Γöé
  12985. Γöé          Γöé                              Γöéthe import file by changing the         Γöé
  12986. Γöé          Γöé                              Γöéhundredths of second and retry the      Γöé
  12987. Γöé          Γöé                              Γöéoperation, or comment the specified lineΓöé
  12988. Γöé          Γöé                              Γöéand retry the operation.                Γöé
  12989. ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  12990.  
  12991.  
  12992. ΓòÉΓòÉΓòÉ 11. UCM specifics ΓòÉΓòÉΓòÉ
  12993.  
  12994. Working with UCM allows SecureEntry to provide you with centralized, corporate 
  12995. level administration. In order to set up the centralized management 
  12996. workstation, read the Setting up the User Centralized Management workstation 
  12997. section. 
  12998.  
  12999. Under this environment, all of what has been explained until now is absolutely 
  13000. valid, with very few differences : 
  13001.  
  13002.      You have to use the administration tools through the UCMADM command, 
  13003.       which will setup the system to reroute all administration requests to the 
  13004.       host system. So, for instance, to call the interactive administration 
  13005.       tool the command becomes : 
  13006.  
  13007.  
  13008.                       UCMADM EDYSNADM
  13009.  
  13010.      If you have installed the RACF validation feature, you will not be able 
  13011.       to change user passwords through the SecureEntry administration tools. 
  13012.       You will have to use RACF to do so. 
  13013.  
  13014.      If you have installed the RACF emulator, you will be able to change user 
  13015.       passwords through the SecureEntry administration tools. 
  13016.  
  13017.      All changes you make to the central repository will become effective in 
  13018.       the LAN at logon time for the affected users. Changes made to group or 
  13019.       resource definitions will have to be processed through the EDYUCDIS 
  13020.       program before they are effective in the LAN environment. 
  13021.  
  13022.      You can define that all changes made to groups and resource definitions 
  13023.       in the central repository become effective in the LAN environment through 
  13024.       an asynchronous process (Refresh branch online). This is an alternative 
  13025.       method to EDYUCDIS program. The utility EDYBRNVW.EXE, can be used in that 
  13026.       case at any workstation to view the branch synchronization data. To 
  13027.       activate this procedure you must use the UCM administration tools. With 
  13028.       this tools you can define the update method for all branches of the 
  13029.       corporation. 
  13030.  
  13031.      You can allow parallel administration (allow regular LAN administration), 
  13032.       but then the central repository will not know about changes you made at a 
  13033.       LAN level, so you are encouraged not to do so. 
  13034.  
  13035.  
  13036. ΓòÉΓòÉΓòÉ 11.1. Refresh branch online ΓòÉΓòÉΓòÉ
  13037.  
  13038. Refresh Branch Online is a procedure to update the definitions of groups and 
  13039. resources of every branch of the corporation. This procedure has been 
  13040. integrated in EDYSRV.EXE process for updating LAN definitions dynamically. 
  13041.  
  13042. The refresh process is an alternate way to the Host batch processes, which gets 
  13043. information of UCM database changes (tables of changes), and to the Lan batch 
  13044. process (EDYUCDIS), which updates this information in the SecureEntry 
  13045. repository server. 
  13046.  
  13047. To activate the refresh branch online process, the EDYSRV process must be 
  13048. loaded with a specific parameter (policy). This parameter is explained in the 
  13049. EDYSRV and EDYFREE at SecureEntry maintenance utilities. 
  13050.  
  13051. The EDYDIS.LOG file keeps information about all refresh branch update activity. 
  13052. This file is stored in the path pointed to by the SGM_UCM_LOGPATH environment 
  13053. variable, explained in UCM specific at Environment Variables. 
  13054.  
  13055. SecureEntry provides the way to allow for easily update of the definitions of 
  13056. groups and resources. This chapter describes how do you do this. The following 
  13057. pages give more information about the process. 
  13058.  
  13059.      Update policy methods 
  13060.  
  13061.      Purge change tables 
  13062.  
  13063.      Update policy override 
  13064.  
  13065.  
  13066. ΓòÉΓòÉΓòÉ 11.1.1. Update policy methods ΓòÉΓòÉΓòÉ
  13067.  
  13068. The different methods to update this definitions are named update policy. 
  13069.  
  13070. When this procedure is started, the actual update level of every branch is 
  13071. established by checking for it in the corporate repository. Then the necessary 
  13072. changes are downloaded to the branch and applied, registering the branch as 
  13073. updated to the latest known level. 
  13074.  
  13075. The update policy can be modified according to needs of every corporation, and 
  13076. stored at the UCM repository. You can do this operation through to UCM 
  13077. administration tools. At installation time, this procedure will be off by 
  13078. default. 
  13079.  
  13080. Once a day, every branch will query the Host for the update policy to 
  13081. synchronize the Lan policy for if it has been changed. 
  13082.  
  13083. The update policy can take the following values: 
  13084.  
  13085.      Logon The branch information changes, if any, are downloaded from the 
  13086.       Host at LOGON time. 
  13087.  
  13088.      Ipl The branch information changes, if any, are downloaded from the Host 
  13089.       at IPL time. 
  13090.  
  13091.      Never The branch information changes are never downloaded from the Host. 
  13092.  
  13093.      Time The branch information changes are downloaded from the Host at the 
  13094.       hour and minute specified. 
  13095.  
  13096.  
  13097. ΓòÉΓòÉΓòÉ 11.1.2. Purge change tables ΓòÉΓòÉΓòÉ
  13098.  
  13099. When the system administrator defines the update policy branch through the 
  13100. administration tools, he also can define the number of branches of the 
  13101. corporation to be stored in the corporate repository. If this number is not 
  13102. zero, then the purge process will be activated. Then, when changes are 
  13103. downloaded to all branches of the company, the information will be removed from 
  13104. the tables of pending changes within the corporate repository. 
  13105.  
  13106.  
  13107. ΓòÉΓòÉΓòÉ 11.1.3. Update policy override ΓòÉΓòÉΓòÉ
  13108.  
  13109. You can customize EDYSRV to override the update policy stored in the repository 
  13110. of the company. To do this, you must load EDYSRV with one specific parameter 
  13111. which will override de update host update policy. 
  13112.  
  13113. This parameter can take one of the following values at load time: 
  13114.  
  13115.      Logon The branch information changes, if any, are downloaded from the 
  13116.       Host at LOGON time. 
  13117.  
  13118.      Ipl The branch information changes, if any, are downloaded from the Host 
  13119.       at IPL time. 
  13120.  
  13121.      Never The branch information changes are never downloaded from the Host. 
  13122.  
  13123.      Time The branch information changes are downloaded from the Host at the 
  13124.       hour and minute specified. 
  13125.  
  13126.      Periodically Specify the wait number of minutes before activating the 
  13127.       refresh process and then repeat it every specified number of minutes. At 
  13128.       start up time, the branch information changes, if any, are downloaded 
  13129.       from the Host. 
  13130.  
  13131.  
  13132. ΓòÉΓòÉΓòÉ 11.2. UCM Logging Facility ΓòÉΓòÉΓòÉ
  13133.  
  13134. Through of the UCM administrator utilities you can activate de Logging facility 
  13135. for UCM operations. All the operations will be logged at Host site and later 
  13136. can be managed by the EDYEXLOG process at Host environment. For further 
  13137. information about this process refer to the EDYEXLOG batch process in the UCM 
  13138. administrator's guide. 
  13139.  
  13140.  
  13141. ΓòÉΓòÉΓòÉ 11.3. UCM Recovery Facility ΓòÉΓòÉΓòÉ
  13142.  
  13143. If the Refresh branch online process fails because a wrong definition has been 
  13144. made, you can correct the definition through the UCM administrator utility and 
  13145. afterwards run the EDYRVUCM process in your UCM administrator workstation to 
  13146. correct and compress the change tables involved in the error. 
  13147.  
  13148. This tool checks the change tables of the UCM database compressing and 
  13149. correcting the unnecessary rows as described in EDYRVUCM recovery tool. 
  13150.  
  13151.  
  13152. ΓòÉΓòÉΓòÉ 11.4. RACF emulator ΓòÉΓòÉΓòÉ
  13153.  
  13154. The RACF emulator lets you validate users passwords against the UCM database 
  13155. instead of the security subsystem that you may have installed at Host site. 
  13156.  
  13157. You can specify the valid character set and maximum and minimum length of the 
  13158. passwords to be used for the users of the corporation. 
  13159.  
  13160.  
  13161. ΓòÉΓòÉΓòÉ 12. Deinstalling SecureEntry ΓòÉΓòÉΓòÉ
  13162.  
  13163. If, after installing, you ever want to deinstall SecureEntry 3.0, you can use 
  13164. the command 'UNINSTAL.CMD' that will be placed under your x:\SGMSHELL\INSTALL 
  13165. directory. It will completely remove SecureEntry from your machine. The command 
  13166. syntax is as follows: 
  13167.  
  13168.  
  13169.          UNINSTAL [BATCH] [SHUTDOWN]
  13170.  
  13171. Use the BATCH parameter to avoid program prompts, and the SHUTDOWN one to force 
  13172. machine shutdown after process completion. 
  13173.  
  13174. Note that before uninstalling, you must remove manually the boot protection 
  13175. mechanism if installed. 
  13176.  
  13177. Note also that after the deinstallation process is finished, you will be 
  13178. prompted to reboot the machine, and the immediate reboot may take longer than 
  13179. usual, since it is then when all SecureEntry files will be physically erased. 
  13180.  
  13181.  
  13182. ΓòÉΓòÉΓòÉ 13. Differences from SecureEntry 2.0 ΓòÉΓòÉΓòÉ
  13183.  
  13184. This version of SecureEntry has lots of improvements over previous versions, 
  13185. being basically a much improved superset of that version : 
  13186.  
  13187.    1. SES (Security enabling services) architecture based, Which improves 
  13188.       robustness and security, besides being a follow on for IBM OS/2 security 
  13189.       based strategy. 
  13190.  
  13191.    2. Seamless integration of new components : 
  13192.  
  13193.           The windows behavior (system_menus) component, allows you to set up 
  13194.            the initial position of any application window, plus deactivating 
  13195.            system menu entries. 
  13196.  
  13197.           The windows list component, allows you to control and setup the 
  13198.            aspect of the switch list, as well as its behavior. 
  13199.  
  13200.           The Floppy restrictions component, allows you to restrict access to 
  13201.            the floppy disk drive to any user/group, besides allowing simple 
  13202.            encipherment of the diskette drive contents. 
  13203.  
  13204.           The SES behavior component, allows you to choose on various system 
  13205.            level functions in a per user/group basis, including the action to 
  13206.            take on Ctrl-Alt-Del, What bitmaps to use, and/or how to configure 
  13207.            the screen saver function. 
  13208.  
  13209.           The File access component (Tree-Lock), allows you to restrict access 
  13210.            at a file system level to files and/or directories. 
  13211.  
  13212.           The SecureEntry Launchpad component allows you to configure 
  13213.            launchpad models for your different groups/users. 
  13214.  
  13215.    3. Much broader scope. Now SecureEntry supports three types of basic 
  13216.       installations, from standalone to centrally administered installs, not 
  13217.       requiring Lan Server if not desired. (Thus, incorporating its own user's 
  13218.       registry). 
  13219.  
  13220.    4. New Logon Modular Procedures architecture, which makes it possible to 
  13221.       build a custom-written module to unify the signon process to your 
  13222.       subsystem of choice. 
  13223.  
  13224.    5. Rewritten administration tools (batch and interactive), which allow 
  13225.       easily to configure your users/groups database from any workstation. (Now 
  13226.       all workstations are 'administration aware', and it only depends on who 
  13227.       did sign on (administrator or user), whether these functions will be 
  13228.       available. Note also that the administration tools are common and 
  13229.       independent on the environment setup. 
  13230.  
  13231.    6. Improved granularity. Now you can assign any security component to any 
  13232.       user or group, being user profiles always overriding existing component 
  13233.       group profiles. 
  13234.  
  13235.    7. Improved and simpler installation routines, still allowing for batch 
  13236.       and/or interactive installs. 
  13237.  
  13238.    8. Rewritten UCM support. For centrally administered installations, UCM has 
  13239.       been rewritten, and the SecureEntry components supporting this 
  13240.       alternative solution have also been rewritten, allowing for much more 
  13241.       flexibility and robustness, plus great performance enhancements. Note 
  13242.       that UCM is not included in this package itself. 
  13243.  
  13244.  
  13245. ΓòÉΓòÉΓòÉ 14. Common questions and tips ΓòÉΓòÉΓòÉ
  13246.  
  13247. The following list provides tips and answers to common questions: 
  13248.  
  13249.      Installation tips 
  13250.  
  13251.      Boot/signon/sign-off problems and tips 
  13252.  
  13253.      Configuration/administration tips 
  13254.  
  13255.      Miscellaneous tips 
  13256.  
  13257.      UCM common situations 
  13258.  
  13259.  
  13260. ΓòÉΓòÉΓòÉ 14.1. Installation tips ΓòÉΓòÉΓòÉ
  13261.  
  13262. This section describes solutions to common installation problems. 
  13263.  
  13264.  
  13265. ΓòÉΓòÉΓòÉ 14.1.1. What is the best way to prepare a system to install SecureEntry 3.0 ? ΓòÉΓòÉΓòÉ
  13266.  
  13267. If you choose to use the Security Enabling Services, then since SecureEntry 3.0 
  13268. requires OS/2 WARP, SES and a fixpack level of at least 17, and because OS/2 
  13269. fixpacks are cumulative and provide service code for SES also, then for new 
  13270. machines, the fastest sequence would be : 
  13271.  
  13272.    1. Install OS/2 Warp 
  13273.  
  13274.    2. Install SES 
  13275.  
  13276.    3. Install the current OS/2 fixpack level 
  13277.  
  13278.  Note that if you do it in the reverse order, you may lose the service modules 
  13279.  that the OS/2 fixpack could have for SES. 
  13280.  
  13281.  
  13282. ΓòÉΓòÉΓòÉ 14.1.2. I get the error 'UNPACK32 ERROR' or similar... What is wrong ? ΓòÉΓòÉΓòÉ
  13283.  
  13284. If you receive unpack errors while installing, then either : 
  13285.  
  13286.    1. The original SecureEntry diskette bundle files are damaged, or 
  13287.  
  13288.    2. The unpack program does not 'understand' the packed bundle files. 
  13289.  
  13290.  For the first case, it is easy to verify from your sources the correctness of 
  13291.  your diskettes... The second one can only happen because you have installed an 
  13292.  old version of the FTCOMP.DLL library. This could happen if you had installed 
  13293.  in this same machine BranchCare, or other product which uses this DLL. In this 
  13294.  case, you can replace the DLL with the one shipped in the first SecureEntry 
  13295.  installation diskette. 
  13296.  
  13297.  
  13298. ΓòÉΓòÉΓòÉ 14.1.3. After installation, what userid and password should I use ? ΓòÉΓòÉΓòÉ
  13299.  
  13300. Please, read the chapter of this same document titled What to do after 
  13301. installing. 
  13302.  
  13303.  
  13304. ΓòÉΓòÉΓòÉ 14.1.4. How can I know the build level number for my installed product ? ΓòÉΓòÉΓòÉ
  13305.  
  13306. Other than reading at the install/service window while applying this driver, 
  13307. you can always type the file 'SENTRY.SIG' located in the install directory 
  13308. within your SecureEntry path. 
  13309.  
  13310.  
  13311. ΓòÉΓòÉΓòÉ 14.1.5. How can I distribute my own add on's or profiles with SecureEntry installation ? ΓòÉΓòÉΓòÉ
  13312.  
  13313. Read the Personalized installations chapter 
  13314.  
  13315.  
  13316. ΓòÉΓòÉΓòÉ 14.1.6. Can I provide service to a machine with another NLS version of SecureEntry ? ΓòÉΓòÉΓòÉ
  13317.  
  13318. Yes, but the workbench object titles will not appear in the new language. You 
  13319. will have to erase the workbench shadow and underlying objects and recreate the 
  13320. workbench by executing the 'EDYCRWRK.CMD' command located in your 
  13321. SecureEntryPath, install directory. 
  13322.  
  13323.  
  13324. ΓòÉΓòÉΓòÉ 14.1.7. After installation/service the workbench contains missing objects... ΓòÉΓòÉΓòÉ
  13325.  
  13326. This is normally an indication of some small corruption in your system ini 
  13327. files. You can use the EDYCLINI program to attempt to fix this, and then upon 
  13328. reboot, delete the workbench and underlying objects, followed by a recreation 
  13329. of those using the 'EDYCRWRK.CMD' command, located in your SecureEntryPath, 
  13330. install directory. 
  13331.  
  13332.  
  13333. ΓòÉΓòÉΓòÉ 14.1.8. The service procedure hangs. What should I check for ? ΓòÉΓòÉΓòÉ
  13334.  
  13335. There is one case in which the service procedure will look like 'hanged'. It is 
  13336. when you have activated a Treelock profile which does not let cmd fullscreens 
  13337. to be launched. The underlying subsystem sees the 'access denied' message and 
  13338. attempts to reopen the fullscreen. You will have to reboot the machine, remove 
  13339. the treelock profile and retry. 
  13340.  
  13341.  
  13342. ΓòÉΓòÉΓòÉ 14.1.9. I get massages installing about too many open files, not enough handles or copy problems... ΓòÉΓòÉΓòÉ
  13343.  
  13344. It may be the case that you have installed in the target machine other software 
  13345. that is using most of the WorkPlace file handles. In order to overcome this 
  13346. situation, edit your config.sys and add the line : 
  13347.  
  13348.  
  13349.     SET SHELLHANDLESINC=30
  13350.  
  13351.  
  13352. ΓòÉΓòÉΓòÉ 14.1.10. I am installing over Warp 4.0, are there any tricks ? ΓòÉΓòÉΓòÉ
  13353.  
  13354. Warp 4.0 (Merlin) support is fully completed. It will work fine. Just remember, 
  13355. before installing SecureEntry, to install the SES component (in case you want 
  13356. to use the real thing instead of SecureEntry SES emulator),  which can be done 
  13357. by choosing the security component from the Selective install Operating system 
  13358. components list. 
  13359.  
  13360. It is possible that you encounter a hangup after installing SecureEntry in the 
  13361. first reboot. This problem is supposed to be fixed by Merlin FP1, but as a 
  13362. workaround, a reboot will normally be enough to bypass it and continue working. 
  13363.  
  13364.  
  13365. ΓòÉΓòÉΓòÉ 14.1.11. I have just installed. Where is my launchpad ? ΓòÉΓòÉΓòÉ
  13366.  
  13367. The default setup for SecureEntry is to not activate any launchpad. If you want 
  13368. to use the one you had before, just drag the Launchpad object located in the 
  13369. Installation tools folder into the opened EdyStart object within the NOUSER 
  13370. folder. You can also create a SecureEntry launchpad profile and place it in the 
  13371. NOUSER folder as a new default component profile, or assign it to users/groups 
  13372. as desired, using the administration tools. 
  13373.  
  13374.  
  13375. ΓòÉΓòÉΓòÉ 14.1.12. I find missing or hidden objects after uninstalling ΓòÉΓòÉΓòÉ
  13376.  
  13377. There was a bug in previous versions of SecureEntry that could make some 
  13378. original object styles not to be stored correctly. To cure from this : 
  13379.  
  13380.    1. Install SecureEntry in standalone mode. 
  13381.  
  13382.    2. Create a binary profile with default attribute set to visible for all 
  13383.       objects. 
  13384.  
  13385.    3. Run EDYCLASS /U profilename to set the default styles to those created in 
  13386.       the previous step. 
  13387.  
  13388.    4. Uninstall SecureEntry 
  13389.  
  13390.  
  13391. ΓòÉΓòÉΓòÉ 14.1.13. How to install SecureEntry with other applications that use SES (i.e, Tivoli) ΓòÉΓòÉΓòÉ
  13392.  
  13393. For now only coexistence with such applications is supported. Before you 
  13394. actually install SecureEntry, you must decide whether the session control 
  13395. functions are going to be managed by SecureEntry or the other SES client 
  13396. product. 
  13397.  
  13398. If you decide that SecureEntry is to manage session control (logon, logoff, 
  13399. lockup,...) then first of all you have to find a way to disable the session 
  13400. control panels in the other application. After this is achieved, install 
  13401. SecureEntry in SES coexistence mode as explained underneath, with the stealSES 
  13402. option 1. 
  13403.  
  13404. If you want the other application to manage the session control flow, then not 
  13405. only you have to install SecureEntry in coexistence mode with SES applications, 
  13406. but also define the required environment variables so that its own session 
  13407. control flow functions are disabled. You can do this by installing with the 
  13408. stealSES option 2, as follows. 
  13409.  
  13410. Installing in coexistence mode with other SES applications 
  13411.  
  13412. In any case, use the following options : 
  13413.  
  13414.    1. Do NOT install treelock support 
  13415.  
  13416.    2. Do use the SES emulator 
  13417.  
  13418.  Then, define the environment variable SET SGM_STEALSES=x , where x is the 
  13419.  option you choose before installing (1 for session control flow managed by 
  13420.  SecureEntry, 2 for Session control flow managed by the other application), and 
  13421.  proceed with the installation. 
  13422.  
  13423.  Note that option 2 can also be activated at installation time, regardless of 
  13424.  the SGM_STEALSES setting if SES is found installed and running during the 
  13425.  installation process, and you have choosen to use the SES emulator instead of 
  13426.  real SES. To clarify things a bit, if the other SES application is already 
  13427.  installed and running, you do not need to define the environment variable for 
  13428.  SecureEntry install to notice that coexistence mode is required. 
  13429.  
  13430.  The only difference between both options is that option 2 will also define in 
  13431.  your config.sys file the following environment variables : 
  13432.  
  13433.    set sgm_edylk_show=no
  13434.    set sgm_back_bitmap=no
  13435.    set sgm_ses_cad=yes
  13436.    set sgm_ses_inactivity=no
  13437.    set sgm_hide_wait_dlgs=yes
  13438.  
  13439.  After installing (before rebooting the machine), and in case you were using 
  13440.  option 2, you may wish to configure a edycust.cmd user exit file to 
  13441.  automatically logon any user as guest, or the desired user, by for instance, 
  13442.  invoking EDYUTIL within the UserExitBeforeLogonDialog with the appropriate 
  13443.  parameters (read about it under Programming user exits). In any case, notice 
  13444.  that the default user for standalone SecureEntry installations is setup with 
  13445.  the password expired, so the first logon should attempt to change this 
  13446.  password to succeed. You may also need to define a SES security profile in the 
  13447.  NOUSER folder, so that automatic lockup is avoided, and a desktop restrictions 
  13448.  profile (EDYDESK.INI) which suppresses the SecureEntry 'end session' option 
  13449.  from the desktop popup menu. 
  13450.  
  13451.  Remember that you can setup this user exit/profile files to be installed in 
  13452.  batch mode automatically as explained under Personalized installations. 
  13453.  
  13454.  
  13455. ΓòÉΓòÉΓòÉ 14.1.14. Integration with NSC/2 (Network Signon Coordinator) ΓòÉΓòÉΓòÉ
  13456.  
  13457. SecureEntry provides with an NSC/2 Logon Modular Procedure, which you can use 
  13458. in place of the RACF or RACF emulator ones. This section explains how to 
  13459. customize and use it in your environment: 
  13460.  
  13461. INTRODUCTION 
  13462.  
  13463. This logon modular procedure allows you to integrate the NSC/2 ( Network SignOn 
  13464. Coordinator/2 ) productivity tool within the SecureEntry logon flow. This 
  13465. procedure must be configured as the main (synchronizer) one, due to the fact 
  13466. that it lacks the ability to force a given user's password at signon time, thus 
  13467. not being able to play the role of other password synchronized subsystems by 
  13468. SecureEntry. 
  13469.  
  13470. When you perform a SecureEntry logon, password change, or logoff, you will be 
  13471. performing, respectively, a logon, a password change or a logoff to the 
  13472. subsystems defined in the NSC configuration file, as well as to all the other 
  13473. configured regular SecureEntry subsystems. 
  13474.  
  13475. By means of the environment variable SGM_NC you can decide which of the 
  13476. subsystems defined in the NSC profile will work as password synchronizers for 
  13477. the rest of SecureEntry LMPs. If you define more than one NSC subsystems as 
  13478. synchronizers, then SecureEntry passwords will only be forced, if each and 
  13479. everyone of the NSC synchronizers can logon successfully. 
  13480.  
  13481. INSTALLATION 
  13482.  
  13483. Follow the underneath instructions to install this LMP: 
  13484.  
  13485.    1. Define this LMP in the EDYSSLMP.DAT file at the second position after the 
  13486.       SS definition. To define this LMP use the NC identifier and use parameter 
  13487.       0. Remember to erase your previous synchronizer definition, if any.After 
  13488.       you include this subsystem in the EDYSSLMP.DAT file, it will look more or 
  13489.       less as follows: 
  13490.  
  13491.             SS 1 EDYDOM
  13492.             NC 0
  13493.              ...
  13494.             Rest of subsystems
  13495.  
  13496.    2. Define, if necessary, the SGM_NC environment variable in your config.sys 
  13497.       file, as needed. 
  13498.  
  13499.    3. Specify in your CONFIG.SYS file the SGM_LS_IFLOGGED environment variable 
  13500.       with the FORCEUSE value. 
  13501.  
  13502.    4. Reboot your machine. 
  13503.  
  13504.  IMPORTANT CONSIDERATIONS 
  13505.  
  13506.  If you decide to use this logon procedure, keep into account : 
  13507.  
  13508.      It may be advisable to protect the NSC configuration files against write 
  13509.       access by unauthorized people in order to avoid security exposures. Only 
  13510.       administrators ought to be able to modify NSC/2 configuration files. You 
  13511.       can use the Treelock SecureEntry component to restrict access to this 
  13512.       files. 
  13513.  
  13514.      The Lan Server logon will be performed to the domain specified in the 
  13515.       SecureEntry logon dialog and not to the lan domain specified in the NSC 
  13516.       configuration file. 
  13517.  
  13518.      If the different NSC passwords become desynchronized,for instance, 
  13519.       because a password change request is processed while some subsystems are 
  13520.       not available, follow the next procedure to get them synchronized again 
  13521.       and be able to signon : 
  13522.  
  13523.         1. make sure you that all of the NSC/2 subsystems are available. 
  13524.  
  13525.         2. Try a SecureEntry logon with password change. Supply as  signon 
  13526.            password the password for the first subsystem that is not 
  13527.            synchronized and as new password the password for the synchronized 
  13528.            subsystems. You will notice that the invalid password message is 
  13529.            returned. However, the password change request should have been 
  13530.            honored, thus synchronizing the password for the intended subsystem. 
  13531.            Repeat this step for the rest of NSC/2 subsystems to synchronize. 
  13532.  
  13533.         3. Try a SecureEntry signon again, this time, it will succeed. 
  13534.  
  13535.  
  13536. ΓòÉΓòÉΓòÉ 14.2. Boot/signon/sign-off problems and tips ΓòÉΓòÉΓòÉ
  13537.  
  13538. This section describes solutions to common problems during a work session with 
  13539. SecureEntry related to event handling. 
  13540.  
  13541.  
  13542. ΓòÉΓòÉΓòÉ 14.2.1. I get a signon error saying that the system can not open the file 'EDYREGDB.VLB'. What is wrong ? ΓòÉΓòÉΓòÉ
  13543.  
  13544. This file is necessary to be accessible right after the physical signon in 
  13545. order to extract the security profiles from it. Verify the following points : 
  13546.  
  13547.      That you have installed SecureEntry in your Lan Server domain controller, 
  13548.       specifying, at installation time, that it is the security profiles 
  13549.       server, either by responding 'YES' to the interactive dialog, or by using 
  13550.       the 'SERVER' parameter for unattended installs. If you are not sure, look 
  13551.       for the file 'EDYREGDB.VLB' in the server's SecureEntry path, NOUSER 
  13552.       directory. This file is created only in the SecureEntry servers. 
  13553.  
  13554.      That the user logging in is a Lan Server administrator one, or 
  13555.  
  13556.      That the user belongs to a SecureEntry group (group name starts by 
  13557.       letters 'SG'). 
  13558.  
  13559.      If the user belongs to a SecureEntry group, then verify that this group 
  13560.       has an access defined to resource 'SGMSHELL' of the domain controller 
  13561.       with 'RWA' Attributes. This access is provided by SecureEntry 
  13562.       administration tools when defining a SecureEntry group, but can be 
  13563.       missing if the group was defined through the Lan Server admin. tools 
  13564.       directly, or you have deinstalled and reinstalled SecureEntry in the 
  13565.       server machine after creating the group. 
  13566.  
  13567.      Check that the Lan Server resource 'SGMSHELL' is currently being shared 
  13568.       in the server machine. 
  13569.  
  13570.      Finally, this error can also be caused by an old bug existing in the MPTS 
  13571.       code. Verify that you have applied fixpack level WR08610 at least. 
  13572.  
  13573.  
  13574. ΓòÉΓòÉΓòÉ 14.2.2. I get an error at signon saying 'Lan Server Fail'. What is wrong ? ΓòÉΓòÉΓòÉ
  13575.  
  13576. The first cause of this error is that the edysrv.exe program is not running at 
  13577. the domain server site. This program should be started with a detach sentence 
  13578. within the 'EDYSTART.CMD' file of the domain server machine. Note that this 
  13579. line is normally placed by SecureEntry installation. Remember that the correct 
  13580. sentence for starting it under IBM Lan Server environment is : 
  13581.  
  13582.  
  13583.      DETACH EDYSRV.EXE /N:EDYdomainname
  13584.  
  13585.      where domainname is the name of your domain.
  13586.  
  13587. A second possibility may be that either the Lan requester program is not 
  13588. running in the requester (client) machine, or that the server is unreachable, 
  13589. because of a logical or physical breakage of the lan. 
  13590.  
  13591. Yet another cause for this sort of problem can be a mismatch between password 
  13592. maintenance rules for Lan Server against RACF, if this one is being used. For 
  13593. instance, you try to use for an user the same password that was used two weeks 
  13594. ago, and RACF allows for that, but Lan Server does not because it matches one 
  13595. of his last memorized passwords for the user. This is why it is recommended 
  13596. that, when using RACF, you reset the Lan Server password restrictions to a less 
  13597. strict ones than those of RACF. For instance, The max. and min. password 
  13598. length, the uniqueness factor (historic memory for used passwords), etc.. You 
  13599. can modify this parameters using the NET ACCOUNTS command after signon as an 
  13600. administrator. Note that in this situation, the only way to be able to be able 
  13601. to signon with the 'problematic' user is to delete his LAN definition using 
  13602. EDYERASE and change his RACF password. 
  13603.  
  13604. Failing all of the above, please verify the user definitions at the UCM 
  13605. repository, since it is probably one of those that does not follow the required 
  13606. Lan Server required rules. 
  13607.  
  13608.  
  13609. ΓòÉΓòÉΓòÉ 14.2.3. How can I debug the processing of EDYSTART.CMD ? ΓòÉΓòÉΓòÉ
  13610.  
  13611. First of all, you can debug it normally during a user session with the 
  13612. EDYLKINI.EXE utility. But for those cases where errors only happen during boot, 
  13613. you can do the following : 
  13614.  
  13615.    1. Rename the file 'SecureEntryPath\DLL\EDYLKSTR.DLL' to another thing. 
  13616.  
  13617.    2. From now on the machine will boot through execution of STARTUP.CMD 
  13618.  
  13619.    3. Build a STARTUP.CMD file with the contents : 
  13620.  
  13621.  
  13622.                EDYLKINI /NOMODAL
  13623.  
  13624.    4. Now you can boot and debug the processing of EDYSTART.CMD 
  13625.  
  13626.       Do not forget to leave things as previously, once you are sure the 
  13627.       EDYSTART processing is correct. 
  13628.  
  13629.  
  13630. ΓòÉΓòÉΓòÉ 14.2.4. I cannot signon to the machine, or the machine does not start. What can I do ? ΓòÉΓòÉΓòÉ
  13631.  
  13632. Being SecureEntry a security product, it can prove itself especially difficult 
  13633. to go after this kind of problems, since the same mechanisms that protect the 
  13634. machine under normal operation will now interfere the diagnosis and correction 
  13635. of the error. 
  13636.  
  13637. Just to start, you will have to remove the boot protection feature from the 
  13638. machine, if any one is installed. Refer to the appropriate chapter for further 
  13639. information on this step. 
  13640.  
  13641. After this, you will be able to, at least, boot the machine from a DOS bootable 
  13642. disk, or OS/2 boot diskettes (installation diskettes 1 and 2), up to the point 
  13643. where you will be able to edit your config.sys file, and add the following line 
  13644. at the beginning : 
  13645.  
  13646.   call=c:\os2\cmd.exe
  13647.  
  13648. Then, and up on rebooting the machine, you will be able to investigate a bit 
  13649. further. First of all, and if you are in a hurry, verify the following : 
  13650.  
  13651.      That the LIBPATH sentence in your CONFIG.SYS file contains SecureEntry 
  13652.       directories and SES directories (when using real SES) in the first 
  13653.       position. 
  13654.  
  13655.      That the desktop background bitmap is not defined as a 4 bpp bitmap. OS/2 
  13656.       does not like them!. 
  13657.  
  13658.      That you do not have installed a very old and expired SecureEntry 
  13659.       evaluation copy. 
  13660.  
  13661.      That you have not played/modified your configuration files (i.e, 
  13662.       SENTRY.CNF, SENTRY.SIG, EDYSSLMP.DAT, EDYSLA.INI). Note that some of 
  13663.       these reside in the NOUSER directory. 
  13664.  
  13665.      That the SYS_DLLs required by SecureEntry to startup are correctly 
  13666.       registered in the OS2.INI file, as explained under EDYWINI., as it could 
  13667.       happen if you have just rebuilt your system files through MAKEINI 
  13668.  
  13669.      That you do not have user exit code or startup code that enters in an 
  13670.       endless loop. 
  13671.  
  13672.      That you have not just applied service or installed SecureEntry under 
  13673.       OS/2 Warp 4.0 (Merlin). If this is the case, and you have not applied 
  13674.       Merlin FixPack 1, then probably just by forcing a reboot of the machine, 
  13675.       the error will not reappear. 
  13676.  
  13677.      Erase any instance of the file 'EDYTRDSP.INI' that may be left in the 
  13678.       machine, as well as 'EDYTRC.DAT' and retry boot. If you have been playing 
  13679.       around with the trace utilities and its profiles have been left in an 
  13680.       unconsistent state due to an abnormal IPL, it is possible that the 
  13681.       machine is looping when attempting to read those. 
  13682.  
  13683.  If the error persists, then keep on pursuing the problem by making sure that : 
  13684.  
  13685.    1. That the EDYSTART.CMD file has been completely processed. Look at the 
  13686.       'EDYLKINI.LOG' file that the startup process writes for this purpose. 
  13687.       Remember that you will see in this file all messages that your own 
  13688.       edystart file displays through the edylkmsg command. 
  13689.  
  13690.       Once you are sure about the startup process, you should be able to see 
  13691.       the signon panel, and attempt to logon. If this is not successful, keep 
  13692.       on with the list : 
  13693.  
  13694.    2. Check that the user and password you are trying to signon with are valid, 
  13695.       correctly configured and activated. You may have to go to RACF and UCM 
  13696.       definitions, or Lan Server administration to do so. If you are not sure, 
  13697.       then try to signon with another userid for which you are sure that access 
  13698.       is granted. 
  13699.  
  13700.    3. In Lan Server and/or UCM environments, make sure that the EDYSRV module 
  13701.       is running in the server machine. This module is the one that acts as a 
  13702.       'gateway' to the host before the real signon is done. 
  13703.  
  13704.    4. Also in Lan Server environment, verify that the user you are issuing 
  13705.       logon with has access to the alias 'SGMSHELL'. This is the alias which 
  13706.       defines the access to the security profiles database. 
  13707.  
  13708.    5. Make sure that your user exits are working properly. You can add 'beeps' 
  13709.       or trace points in the EDYCUST.CMD file to know the logon points reached. 
  13710.  
  13711.    6. In order to know the operations performed during logon in UCM 
  13712.       environments, check at the EDYADMIN.LOG file. It may be a good idea to 
  13713.       set the SGM_SL_LOGMODE environment variable to 'TEST' value in your 
  13714.       config.sys to see the maximum of available information. 
  13715.  
  13716.    7. If everything else fails, then you can start the SecureEntry traces in 
  13717.       your EDYSTART.CMD file, and analyze the resulting trace file or report it 
  13718.       to the lab. 
  13719.  
  13720.  
  13721. ΓòÉΓòÉΓòÉ 14.2.5. I start lan requester and peer in a per user basis, and can not restart after sign-off ΓòÉΓòÉΓòÉ
  13722.  
  13723. When you sign off, SecureEntry does its best to kill all user tasks started 
  13724. during the ending session. Unfortunately, if you load system and/or base 
  13725. software during your work session (i.e, not during startup processing, but 
  13726. after logon), some times this software can not be killed in an orderly way and 
  13727. it may be that a daemon running at ring 0 does not even permit SecureEntry to 
  13728. kill it. This is the case of the WKSTAHLP process of the peer services. The 
  13729. only safe way to unload it is by a Lan Requester command. So, if you intend to 
  13730. allow peer services to be started by signed on users, then adding the following 
  13731. line within the user exit before imminent logoff is mandatory : 
  13732.  
  13733.  
  13734.   NET STOP REQ /Y
  13735.  
  13736. Refer to the lan requester command reference for more info about this command. 
  13737.  
  13738.  
  13739. ΓòÉΓòÉΓòÉ 14.2.6. Signon/sign-off performance. How to tune it ΓòÉΓòÉΓòÉ
  13740.  
  13741. First of all, read Fine tuning SecureEntry. Performance considerations, to know 
  13742. what can be done to improve performance. 
  13743.  
  13744. Then, if you want to confirm your data, and taking into account that the 
  13745. numbers can vary a lot depending on available hardware and software, we have 
  13746. obtained the following numbers : 
  13747.  
  13748.  
  13749.         Environment        Standalone     Lan Server    Lan Server + UCM
  13750.  
  13751.         Signon time        10 seconds     20 seconds    30 seconds
  13752.  
  13753. Note that this numbers have been obtained with no memory constrained machines, 
  13754. running a 486 DX2 processor. 
  13755.  
  13756.  
  13757. ΓòÉΓòÉΓòÉ 14.2.7. Logoff hangs the machine on server/overloaded systems, or other signon errors ΓòÉΓòÉΓòÉ
  13758.  
  13759. If you are using Lan Server 4.0, make sure you have installed PTF level IP08227 
  13760. for this product. Similarly,  IP08260 level is required for Lan Server 5.0. 
  13761.  
  13762.  
  13763. ΓòÉΓòÉΓòÉ 14.2.8. I get 'Another user is already logged on in this machine' ΓòÉΓòÉΓòÉ
  13764.  
  13765. In Lan Server environments, only a single simultaneous domain logon is 
  13766. supported at a given machine. If you have logged on to the domain through 
  13767. edystart.cmd or a user exit, SecureEntry will report this error when attempting 
  13768. to re-logon. Note also that the machine will in some instances force a domain 
  13769. logon if there is a local logon already done and you issue a NET command (i.e 
  13770. NET SHARE IPC$). To cure from this, you can either force a domain logoff 
  13771. (LOGOFF /D) right before SecureEntry attempts to logon, or touch the 
  13772. environment variable SGM_LS_IFLOGGED to leave this task to SecureEntry. 
  13773.  
  13774.  
  13775. ΓòÉΓòÉΓòÉ 14.3. Configuration/administration tips ΓòÉΓòÉΓòÉ
  13776.  
  13777. This section describes solutions to common problems that may arise when 
  13778. administering SecureEntry. 
  13779.  
  13780.  
  13781. ΓòÉΓòÉΓòÉ 14.3.1. How can I access more than one SecureEntry Lan from a single requester ? ΓòÉΓòÉΓòÉ
  13782.  
  13783. In order to be able to sign on to different SecureEntry LANs, and provided that 
  13784. you are working under an IBM Lan Server Environment, you have to configure it 
  13785. by checking the 'Enable domain change at sign on' at startup. Note that this 
  13786. will let you log on only to other SecureEntry 3.0 domains which are of similar 
  13787. configuration (same institution name and administration characteristics). 
  13788.  
  13789.  
  13790. ΓòÉΓòÉΓòÉ 14.3.2. How can I add my own components ? ΓòÉΓòÉΓòÉ
  13791.  
  13792. You will have to edit the file 'SENTRY.DSC' from the first installation 
  13793. diskette before installing, adding the appropriate components. Alternatively, 
  13794. if you want to update an already installed workstation, use the command 
  13795. UPDATEDB located in the SecureEntryPath, INSTALL directory. The syntax of this 
  13796. command is : 
  13797.  
  13798.  
  13799.      UPDATEDB descriptionfile
  13800.  
  13801.      Where descriptionfile is your modified SENTRY.DSC file.
  13802.  
  13803. Take into account that : 
  13804.  
  13805.      You have to be logged on as an administrator. 
  13806.  
  13807.      Modifying the SecureEntry base components definitions may cause the 
  13808.       database not to recognize already assigned components. 
  13809.  
  13810.  
  13811. ΓòÉΓòÉΓòÉ 14.3.3. Can I change password expiration interval, Max. signon attempts or min. password length ? ΓòÉΓòÉΓòÉ
  13812.  
  13813. Yes. To do so, 
  13814.  
  13815.      If your installation is a standalone one (no Lan Server), then You will 
  13816.       have to edit the file 'SENTRY.DSC' from the first installation diskette 
  13817.       before installing SecureEntry 3.0, setting up your preferred values. 
  13818.  
  13819.       For machines that have already been installed, read the previous question 
  13820.       in order to know how to run 'UPDATEDB' to activate this changes. 
  13821.  
  13822.      If your installation is of Lan Server type, then refer to the appropriate 
  13823.       Lan Server documentation in order to do so (Book : Network Administrator 
  13824.       Tasks, section : Managing Users and Groups, Chapter : Setting a user 
  13825.       password expiration period for a domain). 
  13826.  
  13827.  
  13828. ΓòÉΓòÉΓòÉ 14.3.4. How can I write my own user exits ? ΓòÉΓòÉΓòÉ
  13829.  
  13830. You can either program those in C (there is a skeleton and necessary files 
  13831. within your SecureEntry path, API\SOURCES\EDYCUST directory), or in REXX (the 
  13832. skeleton is placed in the same directory). If you write an EDYCUST.DLL, then 
  13833. place it afterwards within your SecureEntry path, DLL directory. If you write 
  13834. those in REXX, then place the resulting 'EDYCUST.CMD' in the SecureEntry path, 
  13835. EXEC directory. 
  13836.  
  13837. All of this is fully detailed under Programming user exits. 
  13838.  
  13839.  
  13840. ΓòÉΓòÉΓòÉ 14.3.5. How can I change the startup bitmaps ? ΓòÉΓòÉΓòÉ
  13841.  
  13842. Edit a SES behavior profile, and setup the lockup background bitmap and startup 
  13843. bitmaps of your choice, and then copy it with the default SES behavior 
  13844. component name 'EDYSES.INI' to the NOUSER directory within the SecureEntry 
  13845. path. They will be used at startup. 
  13846.  
  13847.  
  13848. ΓòÉΓòÉΓòÉ 14.3.6. I get 'LS API Error 53' when accessing group definitions. What is going on ? ΓòÉΓòÉΓòÉ
  13849.  
  13850. The error 53 means network path not found. You probably have an alias defined 
  13851. to a nonexistent path. 
  13852.  
  13853.  
  13854. ΓòÉΓòÉΓòÉ 14.3.7. I can not see objects in the tree view of my drives objects ΓòÉΓòÉΓòÉ
  13855.  
  13856. Each drive object by itself is considered a desktop object, but not its 
  13857. contents. When the workplace goes to create the tree view, it sees no object to 
  13858. expand its tree from (hang on the underlying tree) if the default object 
  13859. restrictions visibility setting is set to off, so it does not go on with the 
  13860. tree expansion. If this is not the behavior you want, then the solution is to 
  13861. add to your desktop restrictions profile an entry for each drive object you 
  13862. want to make visible with its visibility style set to on, or change the default 
  13863. visibility style setting of desktop objects to visible. 
  13864.  
  13865. Note that setting the profile to not apply restrictions to the non-desktop 
  13866. objects would not correct the situation since, as before said, the drives 
  13867. objects are really objects belonging to the desktop. 
  13868.  
  13869.  
  13870. ΓòÉΓòÉΓòÉ 14.3.8. Objects do not open in an autostart personal folder ΓòÉΓòÉΓòÉ
  13871.  
  13872. Probably the objects to open are non visible, and as such they are not shown 
  13873. and not found within the folder when running the autostart thread. If you want 
  13874. the objects to be invisible, but be opened anyways, you should make them 
  13875. visible but belonging to an invisible folder, so that the user can not find 
  13876. them even if visible. 
  13877.  
  13878.  
  13879. ΓòÉΓòÉΓòÉ 14.3.9. How are desktop object positions managed ? ΓòÉΓòÉΓòÉ
  13880.  
  13881. Read and follow the section Managing desktop objects position. 
  13882.  
  13883.  
  13884. ΓòÉΓòÉΓòÉ 14.3.10. How can I override the default logon/unlock panels ? ΓòÉΓòÉΓòÉ
  13885.  
  13886. You have to make use of the logon and lockup user exits, coding a call to your 
  13887. own logon/lockup panel display programs, which in turn call the 'EDYUTIL' 
  13888. session event launcher program in order to prefill the required input fields. 
  13889. Take into account that your presented dialog (logon or unlock) has to be system 
  13890. modal. Also note that the screen saver function will be fully active during the 
  13891. user exits processing. In any case, never forget to return system modality to 
  13892. the previous sysmodality owner once your dialog is destroyed. 
  13893.  
  13894. You can interact with the user in the following user exits : 
  13895.  
  13896.    EDY_USER_EXIT_AFTER_STARTUP
  13897.    EDY_USER_EXIT_BEFORE_LOGON_DIALOG
  13898.    EDY_USER_EXIT_BEFORE_LOGON
  13899.    EDY_USER_EXIT_BEFORE_LOGON_CHANGING_PASSWORD
  13900.    EDY_USER_EXIT_BEFORE_UNLOCK_DIALOG
  13901.    EDY_USER_EXIT_BEFORE_UNLOCK
  13902.    EDY_USER_EXIT_AFTER_UNSUCCESSFUL_UNLOCK
  13903.    EDY_USER_EXIT_AFTER_UNLOCK
  13904.    EDY_USER_EXIT_BEFORE_LOGOFF_FROM_UNLOCK
  13905.    EDY_USER_EXIT_BEFORE_SHUTDOWN_FROM_UNLOCK
  13906.  
  13907. Also, you may want to read about the SGM_USER_DLGS environment variable, to 
  13908. achieve maximum robustness in overriding the default logon/unlock dialogs. 
  13909.  
  13910.  
  13911. ΓòÉΓòÉΓòÉ 14.3.11. How can I manage object's popup restrictions for non-desktop objects ? ΓòÉΓòÉΓòÉ
  13912.  
  13913. Read the chapter about SecureEntry environment variables especially the 
  13914. environment variable SGM_WPS_NONDESKTOP. 
  13915.  
  13916.  
  13917. ΓòÉΓòÉΓòÉ 14.3.12. How can I manage the restrictions on printer spooler objects ? ΓòÉΓòÉΓòÉ
  13918.  
  13919. Read the chapter about SecureEntry environment variables especially the 
  13920. environment variable SGM_WPS_PRINTJOBS. 
  13921.  
  13922.  
  13923. ΓòÉΓòÉΓòÉ 14.3.13. I am attempting to do remote distribution or administration. What problems should I face ? ΓòÉΓòÉΓòÉ
  13924.  
  13925. All this kind of programs work by loading a 'daemon' of some sort which is the 
  13926. agent that really does the work in the background. If you are using a strict 
  13927. treelock profile, and also not starting this 'daemon' as a superuser context 
  13928. running process, then the first thing to do is to locate the name of this 
  13929. process and give it treelock access to all of your system's files. This will 
  13930. allow it to touch files such as config.sys, etc, overriding the SecureEntry 
  13931. implicit and user's restrictions. 
  13932.  
  13933. For NDM/2, read also the tip about NDM ACTIVATE on how to avoid the activate 
  13934. command from failing if using a diskette drive restrictions profile. 
  13935.  
  13936.  
  13937. ΓòÉΓòÉΓòÉ 14.3.14. How can I open Workplace objects from a user exit ? ΓòÉΓòÉΓòÉ
  13938.  
  13939. Look at the Sample user exit implementation, for a sample of the usage of the 
  13940. REXX SysOpenObject function. 
  13941.  
  13942. Note that if all you want to do is open a given object at startup or a given 
  13943. user logon time, it may be an easier choice to drag a shadow of the desired 
  13944. object to the list of shadows editor while editing the EDYSTART object in the 
  13945. NOUSER folder, or a given personal desktop profile's dynamic folder, which you 
  13946. then assign to the desired user. 
  13947.  
  13948.  
  13949. ΓòÉΓòÉΓòÉ 14.3.15. How can I remove the 'Original' menu item from shadow objects ? ΓòÉΓòÉΓòÉ
  13950.  
  13951. You can do this during after logon user exits processing by sending the 
  13952. appropriate SecureEntry setup string to the object. So, for instance 
  13953.  
  13954.  
  13955.   /* */
  13956.   If RxFuncQuery('SysLoadFuncs') Then Do
  13957.     Call RxFuncAdd 'SysLoadFuncs', 'REXXUTIL', 'SysLoadFuncs'
  13958.     Call SysLoadFuncs
  13959.   End
  13960.  
  13961.   call SysSetObjectData '<SGM_MAIN_WB_SHADOW>','EDYMENUITEM=REMOVE,ORIGINAL;'
  13962.  
  13963. Would remove the 'Original' menu item from the SecureEntry workbench popup 
  13964. menu. 
  13965.  
  13966. Note that this is an alternative to that of using the Windows restriction 
  13967. workbench for the same purpose. 
  13968.  
  13969.  
  13970. ΓòÉΓòÉΓòÉ 14.3.16. The bitmap for the background or screen saver function, does not look like working ΓòÉΓòÉΓòÉ
  13971.  
  13972. This can be for two main reasons : 
  13973.  
  13974.      The SES behavior profile is not active (either not assigned to the user 
  13975.       or group, or not present in the NOUSER directory, or not 'tested'), 
  13976.  
  13977.      Or the referred bitmap file is not present or invalid at the specified 
  13978.       path. 
  13979.  
  13980.  See also the next question, 
  13981.  
  13982.  
  13983. ΓòÉΓòÉΓòÉ 14.3.17. I have configured a NOUSER profile, but it does not get activated ΓòÉΓòÉΓòÉ
  13984.  
  13985. Machine profiles configured into the NOUSER directory are not granted to be 
  13986. activated at every sign-off, unless a profile of the same kind was assigned to 
  13987. the user or group that has signed off. After the next shutdown this profile 
  13988. will become the default one. Note that this is done for performance reasons in 
  13989. production machines. 
  13990.  
  13991. Other things to check are : 
  13992.  
  13993.      That the profile has the correct default profile file name. (the same as 
  13994.       the associated template in the TEMPLATE folder). 
  13995.  
  13996.      That the profile is of the correct type. 
  13997.  
  13998.  
  13999. ΓòÉΓòÉΓòÉ 14.3.18. How can I deactivate any new menu option for the desktop or its objects ? ΓòÉΓòÉΓòÉ
  14000.  
  14001. SecureEntry, as any other product, will always be behind in development, trying 
  14002. to 'catch' the last features incorporated to the operating system. Similarly, 
  14003. the SOM architecture allows for any third party program to enhance the function 
  14004. provided by the standard workplace by adding new menu entries, which may not 
  14005. always be desired within a protected environment as the one provided by 
  14006. SecureEntry. For this specific need, however, you can use the Windows behavior 
  14007. component and deactivate the required entries by name. 
  14008.  
  14009.  
  14010. ΓòÉΓòÉΓòÉ 14.3.19. What kind of bitmap files can I use ? ΓòÉΓòÉΓòÉ
  14011.  
  14012. Except for the SES component, desktop background bitmap, for which only OS/2 
  14013. standard bitmaps are accepted, in general the following bitmap formats are 
  14014. accepted : 
  14015.  
  14016.      OS/2 and Windows Bitmaps 
  14017.  
  14018.       The file extensions .BMP, .VGA, .BGA, .RLE, .DIB, .RL4, and .RL8 are 
  14019.       recognized as OS/2 1.1, 1.2, 2.0 or Windows 3.0 bitmaps. The newer 
  14020.       multimedia Windows bitmap format that allows 16 and 32 bits-per-plane is 
  14021.       not supported.  The files are written in OS/2 2.0/Windows 3.0 format. 
  14022.  
  14023.      CompuServe Graphics Interchange Format 
  14024.  
  14025.       The .GIF file extension is recognized as a GIF file. 
  14026.  
  14027.      ZSoft PC Paintbrush Image File Format 
  14028.  
  14029.       The .PCX file extension is recognized as a Paintbrush file. 
  14030.  
  14031.      Microsoft/Aldus Tagged Image File Format 
  14032.  
  14033.       The .TIF and .TIFF file extensions are recognized as TIFF files. 
  14034.  
  14035.      Truevision Targa/Vista Bitmap 
  14036.  
  14037.       The file extensions .TGA, .VST, and .AFI are recognized as Targa/Vista 
  14038.       files.  This class only supports 8 bit-per-plane and 24 bit-per-plane 
  14039.       images. 
  14040.  
  14041.      Amiga IFF/ILBM Interleaved Bitmap Format 
  14042.  
  14043.       The file extensions .IFF and .LBM are recognized as interleaved bitmap 
  14044.       files. 
  14045.  
  14046.      X Windows Bitmap 
  14047.  
  14048.       The .XBM file extension is recognized as a X Bitmap file. This class 
  14049.       supports X10 and X11 1bpp bitmaps.  Some .XBM files with text strings 
  14050.       inside look to be sprites or icons and are not supported. 
  14051.  
  14052.      IBM Printer Page Segment 
  14053.  
  14054.       The following file extensions .PSE, .PSEG, .PSEG38PP and .PSEG3820 are 
  14055.       recognized as PSEG files.  PSEG files are used to include image data in 
  14056.       BookMaster documents.  PSEG files only contain 1 bit-per-plane, which is 
  14057.       always ink on paper, ie: black on white. 
  14058.  
  14059.  
  14060. ΓòÉΓòÉΓòÉ 14.3.20. I can not run EDYSWLV. it hangs the session ΓòÉΓòÉΓòÉ
  14061.  
  14062. Verify that EDYSWL2.EXE is located in a directory accessible through your OS/2 
  14063. native PATH environment variable. 
  14064.  
  14065.  
  14066. ΓòÉΓòÉΓòÉ 14.3.21. I can not customize an object because it requires an Object ID ΓòÉΓòÉΓòÉ
  14067.  
  14068. Read the section About Object IDs. 
  14069.  
  14070.  
  14071. ΓòÉΓòÉΓòÉ 14.3.22. How to suppress the WarpCenter function ΓòÉΓòÉΓòÉ
  14072.  
  14073. If in your installation you will never use the WarpCenter, do the following 
  14074. changes to your CONFIG.SYS file 
  14075.  
  14076.      Remove the WARPCENTER keyword from the SET AUTOSTART sentence. 
  14077.  
  14078.      Define the line SET SGM_EDYSC_DISABLE=YES. 
  14079.  
  14080.  This will remove SecureEntry functionality and make warpcenter not to be 
  14081.  opened at startup. 
  14082.  
  14083.  Note however, that if some of your users will use warpcenter and some others 
  14084.  not, then your only option is to remove the profile EDYSC.INI from the NOUSER 
  14085.  directory, and assign appropriately a warpcenter profile to the required 
  14086.  users/groups. 
  14087.  
  14088.  
  14089. ΓòÉΓòÉΓòÉ 14.4. Miscellaneous tips ΓòÉΓòÉΓòÉ
  14090.  
  14091. This section gives generic tips for working with SecureEntry. 
  14092.  
  14093.  
  14094. ΓòÉΓòÉΓòÉ 14.4.1. What is the order in which security profiles are accessed / activated ? ΓòÉΓòÉΓòÉ
  14095.  
  14096. Each component has its own default profile settings. These settings are 
  14097. overridden by any profile for the component placed within the SecureEntry 
  14098. NOUSER path, which is in turn overridden by the the current logged on user's 
  14099. SecureEntry group profile, which is in turn overridden by any existing profile 
  14100. for the given component assigned directly to the user. 
  14101.  
  14102.  
  14103. ΓòÉΓòÉΓòÉ 14.4.2. How can I run a unattended/centralized administration policy ? ΓòÉΓòÉΓòÉ
  14104.  
  14105. Ask about UCM. UCM is a corporate administration SecureEntry plug-in product 
  14106. which allows you to administer your LANs from a Host site, among other 
  14107. features. 
  14108.  
  14109.  
  14110. ΓòÉΓòÉΓòÉ 14.4.3. How can I integrate my own network more seamlessly ? ΓòÉΓòÉΓòÉ
  14111.  
  14112. If you do not have IBM Lan server, you can run with the 'other networks' 
  14113. support that SecureEntry provides, but that is not all that can be done. If 
  14114. your network has an interface for signon/sign-off, it is quite easy to program 
  14115. an LMP (Logon modular procedure) which will sign you on to your network at 
  14116. SecureEntry signon time, synchronizing the password to the one the SecureEntry 
  14117. registry stores. Read the programmers reference in order to do so. 
  14118.  
  14119.  
  14120. ΓòÉΓòÉΓòÉ 14.4.4. Is there any administration activity log file ? ΓòÉΓòÉΓòÉ
  14121.  
  14122. Yes. The file is named EDYADMIN.LOG, and located where the environment variable 
  14123. SGM_DB points to. It is a text file which you may want to purge in a periodic 
  14124. basis. Note that you can setup what gets logged there by setting an environment 
  14125. variable in your config.sys named SGM_SL_LOGMODE with the following values : 
  14126.  
  14127.  
  14128.   SET SGM_SL_LOGMODE=ALL     : Log all activity
  14129.   SET SGM_SL_LOGMODE=UPDATES : Log only activity which modifies the database.
  14130.                                This is the default setting
  14131.   SET SGM_SL_LOGMODE=NONE    : Log no activity
  14132.  
  14133.  
  14134. ΓòÉΓòÉΓòÉ 14.4.5. Backing up a SecureEntry installation ΓòÉΓòÉΓòÉ
  14135.  
  14136. You need only to backup from the server machines (or standalone machines), the 
  14137. following files : 
  14138.  
  14139.      SecureEntryPath\NOUSER\*.* 
  14140.  
  14141.      SecureEntryPath\INSTALL\SENTRY.CNF 
  14142.  
  14143.      SecureEntryPath\DLL\EDYCUST.DLL (if any) 
  14144.  
  14145.      SecureEntryPath\DLL\EDYFILT.DLL (if any) 
  14146.  
  14147.      SecureEntryPath\EXEC\EDYCUST.CMD (if any) 
  14148.  
  14149.  Being the rest of files not specific to your installation. 
  14150.  
  14151.  
  14152. ΓòÉΓòÉΓòÉ 14.4.6. What settings can I touch from the SES config.sys entries ? ΓòÉΓòÉΓòÉ
  14153.  
  14154. Basically, the following variables are supported with its possible values by 
  14155. SecureEntry : 
  14156.  
  14157.      GUESTNAME 
  14158.  
  14159.       This environment variable defines the user name to use by SecureEntry 
  14160.       when a guest logon has been performed. The default setting is 'GUEST'. 
  14161.  
  14162.      AUTOGUEST 
  14163.  
  14164.       This environment variable tells SES to directly start in a guest logon 
  14165.       user session without launching a real logon event. Since SecureEntry SLA 
  14166.       does require a real logon event to activate and deactivate security 
  14167.       profiles, you are encouraged not to change this variable default setting 
  14168.       (value='NO'), unless you are using your own written SLA program. In case 
  14169.       you want to achieve the same effect with SecureEntry as provided, you can 
  14170.       use any proper user exit before logon to force a guest logon. 
  14171.  
  14172.      TRUSTEDPATH 
  14173.  
  14174.       This environment variable forces logon/unlock events to start 
  14175.       automatically after the corresponding logoff/lock event has been 
  14176.       processed (when value is set to 'YES'). If you set this variable to 'NO', 
  14177.       then the events will be started by a key press. 
  14178.  
  14179.      RESTARTUSERSHELL 
  14180.  
  14181.       This environment variable allows for choosing when should the second 
  14182.       PMSHELL be restarted . The 'YES' value implies that the PMSHELL is to be 
  14183.       started in a per logon basis, where the value 'NO' (default setting by 
  14184.       SecureEntry installation), indicates that PMSHELL is to be started only 
  14185.       once, at startup time. Normally this value is the one which provides for 
  14186.       best results in terms of performance. 
  14187.  
  14188.  Refer to the SES documentation for further explanation on those. 
  14189.  
  14190.  
  14191. ΓòÉΓòÉΓòÉ 14.4.7. Is there any other information available ? ΓòÉΓòÉΓòÉ
  14192.  
  14193. The following can be used to obtain further documentation about SecureEntry : 
  14194.  
  14195.      Do not forget to read the readme.doc file that comes together with the 
  14196.       present driver. 
  14197.  
  14198.      The online manual 'UCM administrator's guide' can be used as a reference 
  14199.       about installing UCM and debugging UCM related errors. 
  14200.  
  14201.      Most of the graphical programs that SecureEntry provides contain a 
  14202.       detailed online help for its operation. 
  14203.  
  14204.      There is also paper printed version of this document, which may explain 
  14205.       in more detail some of the features explained here. 
  14206.  
  14207.      The Lan Server documentation may help you understand better the 
  14208.       administration and configuration related tasks for this kind of 
  14209.       environments. 
  14210.  
  14211.      The SecureEntry 2.0 documentation is also a good reference for the 
  14212.       desktop restrictions workbench and VDM utilities, plus startup component. 
  14213.  
  14214.  
  14215. ΓòÉΓòÉΓòÉ 14.4.8. How can I provide NLS support for other than the supplied language ? ΓòÉΓòÉΓòÉ
  14216.  
  14217. You have all the necessary source material in the SecureEntry path, API\NLS 
  14218. subdirectory. You can do the necessary translations and generate the required 
  14219. object code. Note however, that if you just want to translate for the runtime 
  14220. environment (session control panels), you only have to translate the 
  14221. EDYERROR.TXT file and make a new message file EDYERROR.MSG through MKMSGF, 
  14222. placing it in the appropriate directory (SecureEntryPath\EXEC). 
  14223.  
  14224.  
  14225. ΓòÉΓòÉΓòÉ 14.4.9. How can I grant CM/2 comms sessions start in a per user basis ? ΓòÉΓòÉΓòÉ
  14226.  
  14227. The rule of thumb that SecureEntry uses for isolating user sessions is to kill 
  14228. at logoff time all processes that were started after the logon was issued. This 
  14229. may not be good enough in some cases where the base software is always up and 
  14230. running, but the user sessions (real units of work) are established within 
  14231. those. This is the case of, for instance, 3270 emulations, or other 
  14232. applications that have a quite high startup time that would penalize the signon 
  14233. performance if started at each logon. The idea for dealing with such 
  14234. applications is to use the SecureEntry provided user exits (before logoff) to 
  14235. make sure that the logical working sessions are stopped and restarted every 
  14236. time a logoff event is processed. In the case of CM/2 3270 emulators, you can 
  14237. use the tool 'EDYE3270', as provided by SecureEntry to do this 
  14238. activation/stopping automatically. 
  14239.  
  14240. Alternatively, you can use also the CM/2 command 'CMLINKS' to halt and 
  14241. reactivate the communications links, thus effectively bringing down any logical 
  14242. session that could be left opened by the outgoing user. The suggested commands 
  14243. are : 
  14244.  
  14245.  
  14246.      CMLINKS H *       to stop (halt) all links
  14247.      CMLINKS A *       to activate all links
  14248.  
  14249. Note that using this command will reset ALL links of the machine, so beware 
  14250. when using it on gateways. i.e, specify only those links you really want to 
  14251. deactivate instead of an asterisk. 
  14252.  
  14253.  
  14254. ΓòÉΓòÉΓòÉ 14.4.10. How can I avoid users to boot with the ALT-F1 combination ? ΓòÉΓòÉΓòÉ
  14255.  
  14256. There are several things you can do to avoid ALT-F1 : 
  14257.  
  14258.    1. If you want to avoid it *completely* and do not care about receiving an 
  14259.       error message, then just rename the file \OS2\BOOT\ALTF1*.SCR to anything 
  14260.       else. 
  14261.  
  14262.    2. If you want to avoid this error message, then : 
  14263.  
  14264.         a. Leave the .SCR files alone 
  14265.  
  14266.         b. Change the file \OS2\BOOT\ALTF1.CMD so that it only processes the 
  14267.            desired entries (you have control over V,M,1... options). The file 
  14268.            is a regular .CMD file, and just placing a 'goto end' in the desired 
  14269.            option routine processing part would do it. 
  14270.  
  14271.         c. If you want to avoid also the 'C' option (goto command line), then 
  14272.            note that this option uses the \OS2\BOOT\CONFIG.X file, so renaming 
  14273.            it will avoid the function to operate, and changing it to force a 
  14274.            logon would ensure it does not break the security. 
  14275.  
  14276.         d. Now, you can optionally change the ALTF1TOP.SCR file to show only 
  14277.            the options you have enabled. 
  14278.  
  14279.  
  14280. ΓòÉΓòÉΓòÉ 14.4.11. Can not run a NDM/2 ACTIVATE command ΓòÉΓòÉΓòÉ
  14281.  
  14282. NDM checks to see if there is a diskette present before accepting the activate 
  14283. command. When SecureEntry is restricting access to the floppy disk, this check 
  14284. fails normally with a more severe error, and NDM decides to cancel the activate 
  14285. command ... just in case. 
  14286.  
  14287. In order to make NDM skip this checking, set the following environment variable 
  14288. in the target machine : 
  14289.  
  14290.  
  14291.       SET ANXCHECKBOOT=NO
  14292.  
  14293. A second problem you may face, is that the activate command requires to be able 
  14294. to access and modify the config.sys file. Note that this may only happen if the 
  14295. NDM 'daemon' is running under user context (i.e, not started through 
  14296. config.sys, edystart.cmd,...). In this case,you must use in this type of 
  14297. environments, treelock profiles that override the default restriction of not 
  14298. letting any executable to modify the config.sys file for the NDM processes. You 
  14299. can do this by adding the following line to your treelock profiles : 
  14300.  
  14301.  
  14302.       F NdmPath\ANXCMCLx.EXE
  14303.  
  14304. Where NdmPath is the path where your NDM executables reside, and x is 'C' for 
  14305. NDM client machines, 'S' for NDM server machines. 
  14306.  
  14307.  
  14308. ΓòÉΓòÉΓòÉ 14.4.12. I launch the Lotus Notes Editor, but nothing hapens! ΓòÉΓòÉΓòÉ
  14309.  
  14310. Jump step by step through this list: 
  14311.  
  14312.    1. Verify you have the Java run-time installed. Open a command prompt and 
  14313.       issue the command: 
  14314.  
  14315.               java -version
  14316.  
  14317.       If you get a SYS1041 error then you either don't have the Java run-time 
  14318.       installed, or the LIBPATH and PATH statements of your CONFIG.SYS file are 
  14319.       wrong. 
  14320.  
  14321.       If the command executes successfully then verify that you have Java 
  14322.       version 1.1.7 or greater. If you have Java version 1.1.7 or greater and 
  14323.       less than 1.2.0 then you must also have Swing 1.0.3 installed. In this 
  14324.       case, verify that the environment variable CLASSPATH contains the full 
  14325.       path and file name to Java CLASSES.ZIP and Swing SWINGALL.JAR. 
  14326.  
  14327.    2. Verify you don't get any exception when loading the Java classes. Open a 
  14328.       command line, go to the SecureEntry EXEC directory and edit the file 
  14329.       EDNOTES.CMD. Put a REM in front of the line starting with: 
  14330.  
  14331.               javaw -classpath ... , or
  14332.               javapm -classpath ...
  14333.  
  14334.       and un-rem the line starting with: 
  14335.  
  14336.               REM java -verbose -classpath ...
  14337.  
  14338.       Save the changes and kick again the editor from the command line: 
  14339.  
  14340.               EDNOTES.CMD
  14341.  
  14342.       Make sure that all Java classes load. 
  14343.  
  14344.    3. Browse the file NOUSER\EDNOTES.LOG, if any, and inspect its contents to 
  14345.       get a diagnostic. 
  14346.  
  14347.  
  14348. ΓòÉΓòÉΓòÉ 14.4.13. I want to upgrade my version of Java 1.1.x to Java 1.2.0 or greater. What must I do? ΓòÉΓòÉΓòÉ
  14349.  
  14350. When you are done with the Java upgrade, you can: 
  14351.  
  14352.      Recreate the SecureEntry workbench using the program EDYCRWRK, or 
  14353.  
  14354.      Open a command line, go to the SecureEntry EXEC directory and copy the 
  14355.       file EDNOTES2.CMD over EDNOTES.CMD, which is the file used by the object 
  14356.       Lotus Notes Editor for Java. The file EDNOTES2.CMD loads the Java classes 
  14357.       from the file EDNOTES2.JAR, which must run on Java2 or greater. The file 
  14358.       EDNOTES1.CMD loads the Java classes from the file EDNOTES1.JAR, which 
  14359.       must run on Java 1.1.7.x or greater and less than Java 1.2.0. Therefore, 
  14360.       if you decide to undo the upgrade to Java2 you just need to copy the file 
  14361.       EDNOTES1.CMD over EDNOTES.CMD. 
  14362.  
  14363.  
  14364. ΓòÉΓòÉΓòÉ 14.4.14. I have gotten a PassTicket, but RACF rejects it ΓòÉΓòÉΓòÉ
  14365.  
  14366. A PassTicket may not work for one of the following reasons: 
  14367.  
  14368.    1. The user ID is wrong 
  14369.  
  14370.    2. The application ID is wrong 
  14371.  
  14372.    3. The Secured Signon application key is wrong, or it has been changed on 
  14373.       the host side by the RACF Administrator 
  14374.  
  14375.    4. It has been generated more than 10 minutes ago 
  14376.  
  14377.    5. The system clock is not sinchronized with the host's 
  14378.  
  14379.  It is likely that the computer that authenticated the PassTicket is not the 
  14380.  computer that generated it. To provide for differences in their internal 
  14381.  clocks, the algorithm allows the generated time to be 10 minutes on either 
  14382.  side of the TOD (TimeOfDay) clock of the computer that is evaluating the 
  14383.  PassTicket. 
  14384.  
  14385.  For RACF to properly evaluate PassTickets, the TOD clock must be properly set 
  14386.  to GMT rather than local time. TIME ON MAINFRAME IS SUPPOSED TO BE GMT. If 
  14387.  this is not the case, use the parameter TimeZone to allow for time zones 
  14388.  shift. 
  14389.  
  14390.  Remember that you must have RACF configured so that it accepts PassTickets as 
  14391.  an alternative to regular passwords. Besides, if the system for which you are 
  14392.  generating the PassTicket has RACF 1.9.2 or RACF 2.1 installed, make sure that 
  14393.  APAR OW03024 is installed on that system. The PTF numbers are: 
  14394.  
  14395.      UW05405 for RACF 2.1.0 
  14396.  
  14397.      UW05406 for RACF 1.9.2 
  14398.  
  14399.  
  14400. ΓòÉΓòÉΓòÉ 14.5. UCM related common situations ΓòÉΓòÉΓòÉ
  14401.  
  14402. This section contains recipes and solutions to common errors and situations 
  14403. when working with UCM. 
  14404.  
  14405.  
  14406. ΓòÉΓòÉΓòÉ 14.5.1. I get 'SQL error -805' when attempting to start the administration utilities ΓòÉΓòÉΓòÉ
  14407.  
  14408. Make sure you have created the corresponding packages and correctly bound the 
  14409. UCM administration access plans, as explained under Setting up the User 
  14410. Centralized Management workstation Note that if you have applied service to the 
  14411. UCM management workstation, it may be necessary that you rebind the plans to 
  14412. the host database. 
  14413.  
  14414.  
  14415. ΓòÉΓòÉΓòÉ 14.5.2. I get 'SLAG -8002E: Dynalink error' from the UCM Administration applications ΓòÉΓòÉΓòÉ
  14416.  
  14417.        SLAG -8002E: Dynalink error EDYUCM01.
  14418.  
  14419. This means that you do not have A DDCS/2 license. You must Purchase a DDCS/2 
  14420. license an update the nodelock file in the DB2/2 directory. 
  14421.  
  14422.  
  14423. ΓòÉΓòÉΓòÉ 14.5.3. I get 'SQL error -204...' from the UCM Administration applications ΓòÉΓòÉΓòÉ
  14424.  
  14425.        SQL error -204 "Name" is an undefined name.
  14426.  
  14427. The program does not find the UCM tables in the DB2/MVS. 
  14428.  
  14429. You must check the synonyms defined in MVS. You can use the member 
  14430. UCM.V30.DB2(CREASYNR) as an entry model with SPUFI. 
  14431.  
  14432.  
  14433. ΓòÉΓòÉΓòÉ 14.5.4. I get 'SLAG -1013E: Dynalink error' from the UCM Administration applications ΓòÉΓòÉΓòÉ
  14434.  
  14435.        SLAG -1013E: Dynalink error EDYUCM01.
  14436.  
  14437.  It could mean that you attempt to access a database alias name that could not 
  14438. be found. Ensure that the DDCS/2 system database directory is properly 
  14439. configured. Check if the environment variable SGM_UCM_DBDFT is defined in the 
  14440. UCMADM.CMD or similar file and has the correct value. 
  14441.  
  14442. Of course, do not forget to verify that the file EDYUCM01.DLL file is found 
  14443. within your libpath. 
  14444.  
  14445.  
  14446. ΓòÉΓòÉΓòÉ 14.5.5. Is there any performance tuning for UCM that I can do ? ΓòÉΓòÉΓòÉ
  14447.  
  14448.  If you plan to have many workstations or many branches in your scenario, you 
  14449. can tune the following parameter: 
  14450.  
  14451. In the VTAM major node definition for UCM in SYS1.VTAMLIST or in the 
  14452. appropriate library, define EAS = 3999. This parameter sets the maximum session 
  14453. number within that LU. This definition does not mean any resource wasted at 
  14454. all. 
  14455.  
  14456. Optionally, in the Communications Manager/2 Setup, in the DLC configuration, 
  14457. you can check the "Free unused links" check box. This will cause inactive 
  14458. sessions to become free. Note that this parameter may produce problems if you 
  14459. use CP-CP sessions, since these sessions are permanently allocated. 
  14460.  
  14461. Other than this, and for UCM specific performance tuning, please read the 
  14462. related information as explained in the appropriate chapter of the UCM 
  14463. administrators guide. 
  14464.  
  14465.  
  14466. ΓòÉΓòÉΓòÉ 14.5.6. How can I maintain standalone and Lan Server installations with UCM ? ΓòÉΓòÉΓòÉ
  14467.  
  14468. If you use the Refresh branch online procedure, then this environment is 
  14469. supported. The EDYSRV process will discard all resources information when 
  14470. downloading branch or users data to a standalone workstation. 
  14471.  
  14472.  
  14473. ΓòÉΓòÉΓòÉ 15. WHAT'S NEW !! ΓòÉΓòÉΓòÉ
  14474.  
  14475. This chapter is intended as an 'easy guide' for upgraders. It lists in 
  14476. chronological, descending order, the links to the appropriate documentation 
  14477. points where new function has been added to the product. Note that for a full 
  14478. reference of fixes and additions, we encourage you to look into the README file 
  14479. supplied within the first installation diskette image, since the ones down 
  14480. under are only what we consider main improvements to the product. 
  14481.  
  14482.      New Java APIs. 
  14483.  
  14484.      New RACF PassTicket generator. 
  14485.  
  14486.      New Lotus Notes component. 
  14487.  
  14488.      New SecureEntry log files browser utility. 
  14489.  
  14490.      Treelock \DEV\ support. Allows for restricting access to system devices. 
  14491.       Remember to specify the internal device name (i.e, \DEV\PCMCIA$ instead 
  14492.       of PCMCIA.SYS) 
  14493.  
  14494.      New support for IBM Network Station series 2800 clients, when running 
  14495.       under WSOD. 
  14496.  
  14497.      New SecureEntry/2 tutorial, distributed as a separate package file. 
  14498.  
  14499.      New Processes Auditor component for CPU usage measurements. 
  14500.  
  14501.      New NSC/2 LMP for password synchronization. 
  14502.  
  14503.      New WorkSpace On-Demand support 
  14504.  
  14505.      New Support for coexistence with other SES clients (i.e Tivoli). 
  14506.  
  14507.      New support for the RACF emulator, to be used in UCM installations. 
  14508.  
  14509.      New Public Applications component for LAN Server environments. 
  14510.  
  14511.      New sample logon and unlock dialogs 
  14512.  
  14513.      New EDYRVUCM utility to correct the change tables of the UCM Database. 
  14514.  
  14515.      New EDYQRYBR utility to query the level of all your branches. 
  14516.  
  14517.      New EDYPHOTO utilities to obtain a machine configuration image file for 
  14518.       servicing and error reporting. 
  14519.  
  14520.      New UCM Refresh branch method to update definitions of groups and 
  14521.       resources in Lan Server and new UCM Logging facility. 
  14522.  
  14523.      New included Security Enabling Services emulation. You can now install 
  14524.       SecureEntry without the real SES code. Note, however, that FP17 or 
  14525.       superior are still required if you plan to use the treelock component. 
  14526.  
  14527.      New WarpCenter component for Merlin systems : The WarpCenter component. 
  14528.  
  14529.      Increased functionality of the SES component. You can now configure the 
  14530.       desktop background, and avoid/hook specified systemwide hotkeys. Read 
  14531.       about it in the SES behavior component chapter. 
  14532.  
  14533.      New section in this document about Error codes and messages. 
  14534.  
  14535.      New Hooked objects component. 
  14536.  
  14537.      New EDYDUMP utility. 
  14538.  
  14539.      About processes and running contexts improved function. 
  14540.  
  14541.      New File integrity check SAF2GEN utility. 
  14542.  
  14543.      The Treelock component got redesigned new documentation plus several more 
  14544.       neat features, including a fully graphic profiles editor. 
  14545.  
  14546.      New Master boot record saver : EDYRWMBR utility. 
  14547.  
  14548.      The Desktop restrictions component got support for directory propagation 
  14549.       of styles, and new Merlin menu entries. 
  14550.  
  14551.      New diskette translator utility within the The Floppy restrictions 
  14552.       component. 
  14553.  
  14554.      New shortcuts component. 
  14555.  
  14556.      New EDYLOGFS utility to automatically control the logs file size. 
  14557.  
  14558.      The new Personal desktop component. 
  14559.  
  14560.      Within Setting up a backup domain controller for Lan Server you fill find 
  14561.       how to set up the machines for this new support. 
  14562.  
  14563.      The new Window list component. 
  14564.  
  14565.  Besides, and if you are a SecureEntry integrator, it is always advisable that 
  14566.  you have a look into the Environment variables section and the Programming 
  14567.  user exits one, since new environment variables and user exits are quite 
  14568.  frequently added. 
  14569.  
  14570.  
  14571. ΓòÉΓòÉΓòÉ 16. Contacting us ΓòÉΓòÉΓòÉ
  14572.  
  14573. If you have a comment or find a problem not reported in the previous 
  14574. paragraphs, we would like to hear from you... Please contact the following IDs 
  14575.  
  14576.  
  14577.     SecureEntry team management
  14578.  
  14579.                Fernando Velasco  Internal : Fernando Velasco Benavente/Spain/IBM @ IBMES
  14580.                                  External : VELASCO  @ es.ibm.com
  14581.  
  14582.     Solution responsible
  14583.  
  14584.                Fernando Trius    Internal : Fernando Trius Chassaigne/Spain/IBM @ IBMES
  14585.                                  External : FTRIUS @ es.ibm.com
  14586.  
  14587.     Technical coordination
  14588.  
  14589.                Ramon Gonzalez    Internal : Ramon Gonzalez Compta/Spain/IBM @ IBMES
  14590.                                  External : RAMON_GONZALEZ @ es.ibm.com
  14591.  
  14592.  
  14593. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  14594.  
  14595. UCM default translation tables 
  14596.  
  14597. These are the translation tables used by UCM tools to translate information of 
  14598. ASCII to EBCDIC and viceversa: 
  14599.  
  14600. Translation table for ASCII to EBCDIC 
  14601.  
  14602.  0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07 /* 00 */
  14603.  0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F /* 08 */
  14604.  0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17 /* 10 */
  14605.  0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F /* 18 */
  14606.  0x40,0x4F,0x7F,0x69,0x5B,0x6C,0x50,0x7D /* 20 */
  14607.  0x4D,0x5D,0x5C,0x4E,0x6B,0x60,0x4B,0x61 /* 28 */
  14608.  0xF0,0xF1,0xF2,0xF3,0xF4,0xF5,0xF6,0xF7 /* 30 */
  14609.  0xF8,0xF9,0x7A,0x5E,0x4C,0x7E,0x6E,0x6F /* 38 */
  14610.  0x7C,0xC1,0xC2,0xC3,0xC4,0xC5,0xC6,0xC7 /* 40 */
  14611.  0xC8,0xC9,0xD1,0xD2,0xD3,0xD4,0xD5,0xD6 /* 48 */
  14612.  0xD7,0xD8,0xD9,0xE2,0xE3,0xE4,0xE5,0xE6 /* 50 */
  14613.  0xE7,0xE8,0xE9,0x4A,0xE0,0x5A,0x5F,0x6D /* 58 */
  14614.  0x79,0x81,0x82,0x83,0x84,0x85,0x86,0x87 /* 60 */
  14615.  0x88,0x89,0x91,0x92,0x93,0x94,0x95,0x96 /* 68 */
  14616.  0x97,0x98,0x99,0xA2,0xA3,0xA4,0xA5,0xA6 /* 70 */
  14617.  0xA7,0xA8,0xA9,0xC0,0xBB,0xD0,0xA1,0x41 /* 78 */
  14618.  0x68,0xDC,0x51,0x42,0x43,0x44,0x47,0x48 /* 80 */
  14619.  0x52,0x53,0x54,0x57,0x56,0x58,0x63,0x67 /* 88 */
  14620.  0x71,0x9C,0x9E,0xCB,0xCC,0xCD,0xDB,0xDD /* 90 */
  14621.  0xDF,0xEC,0xFC,0x70,0xB1,0x80,0xBF,0x41 /* 98 */
  14622.  0x45,0x55,0xCE,0xDE,0x6A,0x7B,0x9A,0x9B /* A0 */
  14623.  0xAB,0xAF,0xBA,0xB8,0xB7,0xAA,0x8A,0x8B /* A8 */
  14624.  0x41,0x41,0x41,0x41,0x41,0x65,0x62,0x64 /* B0 */
  14625.  0xB4,0x41,0x41,0x41,0x41,0xB0,0xB2,0x41 /* B8 */
  14626.  0x41,0x41,0x41,0x41,0x41,0x41,0x46,0x66 /* C0 */
  14627.  0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x9F /* C8 */
  14628.  0x8C,0xAC,0x72,0x73,0x74,0xDA,0x75,0x76 /* D0 */
  14629.  0x77,0x41,0x41,0x41,0x41,0x49,0x78,0x41 /* D8 */
  14630.  0xEE,0x59,0xEB,0xED,0xCF,0xEF,0xA0,0x8E /* E0 */
  14631.  0xAE,0xFE,0xFB,0xFD,0x8D,0xAD,0xBC,0xBE /* E8 */
  14632.  0xCA,0x8F,0xBF,0xB9,0xB6,0xB5,0x41,0x9D /* F0 */
  14633.  0x90,0xBD,0xB3,0xDA,0xFA,0xEA,0xE1,0x41 /* F8 */
  14634.  
  14635. Translation table for EBCDIC to ASCII 
  14636.  
  14637.  0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x07 /* 00 */
  14638.  0x08,0x09,0x0A,0x0B,0x0C,0x0D,0x0E,0x0F /* 08 */
  14639.  0x10,0x11,0x12,0x13,0x14,0x15,0x16,0x17 /* 10 */
  14640.  0x18,0x19,0x1A,0x1B,0x1C,0x1D,0x1E,0x1F /* 18 */
  14641.  0x20,0x21,0x22,0x23,0x24,0x25,0x26,0x27 /* 20 */
  14642.  0x28,0x29,0x2A,0x2B,0x2C,0x2D,0x2E,0x2F /* 28 */
  14643.  0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37 /* 30 */
  14644.  0x38,0x39,0x3A,0x3B,0x3C,0x3D,0x3E,0x3F /* 38 */
  14645.  0x20,0xFF,0x83,0x84,0x85,0xA0,0xC6,0x86 /* 40 */
  14646.  0x87,0xDD,0x5B,0x2E,0x3C,0x28,0x2B,0x21 /* 48 */
  14647.  0x26,0x82,0x88,0x89,0x8A,0xA1,0x8C,0x8B /* 50 */
  14648.  0x8D,0xE1,0x5D,0x24,0x2A,0x29,0x3B,0x5E /* 58 */
  14649.  0x2D,0x2F,0xB6,0x8E,0xB7,0xB5,0xC7,0x8F /* 60 */
  14650.  0x80,0x23,0xA4,0x2C,0x25,0x5F,0x3E,0x3F /* 68 */
  14651.  0x9B,0x90,0xD2,0xD3,0xD4,0xD6,0xD7,0xD8 /* 70 */
  14652.  0xDE,0x60,0x3A,0xA5,0x40,0x27,0x3D,0x22 /* 78 */
  14653.  0x9D,0x61,0x62,0x63,0x64,0x65,0x66,0x67 /* 80 */
  14654.  0x68,0x69,0xAE,0xAF,0xD0,0xEC,0xE7,0xF1 /* 88 */
  14655.  0xF8,0x6A,0x6B,0x6C,0x6D,0x6E,0x6F,0x70 /* 90 */
  14656.  0x71,0x72,0xA6,0xA7,0x91,0xF7,0x92,0xCF /* 98 */
  14657.  0xE6,0x7E,0x73,0x74,0x75,0x76,0x77,0x78 /* A0 */
  14658.  0x79,0x7A,0xAD,0xA8,0xD1,0xED,0xE8,0xA9 /* A8 */
  14659.  0xBD,0x9C,0xBE,0xFA,0xB8,0xF5,0xF4,0xAC /* B0 */
  14660.  0xAB,0xF3,0xAA,0x7C,0xEE,0xF9,0xEF,0x9E /* B8 */
  14661.  0x7B,0x41,0x42,0x43,0x44,0x45,0x46,0x47 /* C0 */
  14662.  0x48,0x49,0xF0,0x93,0x94,0x95,0xA2,0xE4 /* C8 */
  14663.  0x7D,0x4A,0x4B,0x4C,0x4D,0x4E,0x4F,0x50 /* D0 */
  14664.  0x51,0x52,0xFB,0x96,0x81,0x97,0xA3,0x98 /* D8 */
  14665.  0x5C,0xF6,0x53,0x54,0x55,0x56,0x57,0x58 /* E0 */
  14666.  0x59,0x5A,0xFD,0xE2,0x99,0xE3,0xE0,0xE5 /* E8 */
  14667.  0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37 /* F0 */
  14668.  0x38,0x39,0xFC,0xEA,0x9A,0xEB,0xE9,0xFF /* F8 */
  14669.