HL-Server - LIFTCALC online

advertisement
HL-Server
Hardlock in a Network
© 1984-2002
Aladdin Document: HL-Server
HL-mn (11/2002) 1.1-A03909
Revision:
7.2
Date:
November 28, 2002
Hardlock Documentation
Hardlock Documentation
The Hardlock documentation gives you comprehensive information about the
components of the Hardlock product range and about the possibilities for protecting
your software. The documentation is made up of the following parts:
• The Hardlock Technical Manual shows you the principles according to which
software protection functions with Hardlock and informs you about the entire
Hardlock product range. In this way, you can find the right protection for your
application.
• The for HL-Bistro Manual provides you with an introduction to the HL-Bistro
program package. This enables you to work with the Windows functionality you are
familiar with when protecting your software.
• The HL-Server Manual shows you how to proceed when you want to use Hardlock
in a network.
• The HL-Crypt Manual provides you with an introduction to automatically encrypting
your programs.
• The HL-API Manual provides you with an overview of the HL-API functions for
manual implementation in your programs.
• The Terminology Manual gives you an explanation of the core terms used in
Hardlock.
The manuals are supplemented by online help for the various programs. In each case,
you will find the most up-to-date information in the readme files supplied with the
programs.
The following formatting types are used in the manuals and the online help:
Formatting
Function
Example
Bold
Interface terminology and menu
commands
File/CTV from Hardlock
Products
Hardlock Twin
Files and paths
HLDRV.EXE
Syntax
hlpatchup -m 29809
CAPITAL
LETTERS
COURIER
HL-Server
1-2
HL-Server: Hardlock in a Network
The Hardlock documentation describes the most important features of the Hardlock
protection system. We have taken a great deal of care to ensure that this documentation
is complete and accurate. However, Aladdin Knowledge Systems Germany is unable to
accept any liability for damage or loss resulting from omissions or mistakes in the
documentation.
HL-Server
Contents
Contents
1 HL-Server: Hardlock in a Network ...................................................................... 1-1
1.1 General ......................................................................................................... 1-1
1.2 Testing HL-Server......................................................................................... 1-1
1.3 Mode of Working and Resources.................................................................. 1-2
1.3.1 On the Client........................................................................................ 1-2
1.3.2 On the Server ...................................................................................... 1-2
1.3.3 Supported LANs .................................................................................. 1-3
1.4 HL-Server Types........................................................................................... 1-3
1.5 Installation..................................................................................................... 1-4
1.6 Testing the HL-Server Installation................................................................. 1-4
1.7 Aladdin Monitor ............................................................................................. 1-5
1.8 Aladdin DiagnostiX........................................................................................ 1-6
1.9 Hardlock End-Users’ Manual ........................................................................ 1-6
2 Implementation and Licensing............................................................................ 2-1
2.1 Licensing with HL-Server and HL-LiMaS ...................................................... 2-1
2.2 Licensing without HL-LiMaS.......................................................................... 2-2
2.3 Automatic Implementation with Espresso/HL-Crypt...................................... 2-3
2.4 Manual Implementation with Hardlock API ................................................... 2-3
3 HL-Server as Win32 Application (HLS32) .......................................................... 3-1
3.1 General ......................................................................................................... 3-1
3.2 Command Line Switches .............................................................................. 3-1
3.3 The HL-Server Interface (HLS32.EXE)......................................................... 3-2
4 HL-Server as NT Service (HLS32SVC)................................................................ 4-1
4.1 General ......................................................................................................... 4-1
HL-Server
1-2
HL-Server: Hardlock in a Network
4.2 Command Line Switches for Installation .......................................................4-1
4.3 Command Line Switches for Control (HLS32CMD.EXE)..............................4-2
4.4 Control Using the Aladdin Monitor.................................................................4-2
5 HL-Server for Linux ..............................................................................................5-1
5.1 General..........................................................................................................5-1
5.2 Installation .....................................................................................................5-1
5.3 Command Line Switches...............................................................................5-1
5.4 Stopping the HL-Server.................................................................................5-2
6 HL-Server as Netware NLM Application .............................................................6-1
6.1 General..........................................................................................................6-1
6.2 Installation .....................................................................................................6-1
6.3 Command Line Switches...............................................................................6-2
7 HL-Server as DOS TSR ........................................................................................7-1
7.1 General..........................................................................................................7-1
7.2 Installation .....................................................................................................7-1
7.3 Command Lines for DOS TSR......................................................................7-2
7.4 Interfaces for DOS TSR ................................................................................7-3
7.4.1 Using the Menu Interface.....................................................................7-3
7.4.2 Description of Menus and Functions....................................................7-4
7.4.3 Status Menu.........................................................................................7-4
7.4.4 Install Menu..........................................................................................7-5
7.4.5 System Menu .......................................................................................7-5
7.4.6 Local Menu ..........................................................................................7-6
7.4.7 Remote Menu ......................................................................................7-9
7.4.8 Exit Menu ...........................................................................................7-10
8 Command Line Switches .....................................................................................8-1
-Switch:[Arguments]
HL-Server
(Version)............................................................................8-4
Contents
-application
(L)................................................................................................... 8-5
-auto (N) ………………………………………………………………………………..8-6
-boxsize:NUMBER
(D) ....................................................................................... 8-7
-comm:PROT[,PROT]
(D,W,N) .......................................................................... 8-8
-daemon
(L)....................................................................................................... 8-9
-display
(D)...................................................................................................... 8-10
-enable:PROT
-forceNT
-install
(W)........................................................................................... 8-11
(W).................................................................................................... 8-12
(D)...................................................................................................... 8-13
-logindisable
(D,N,W).................................................................................... 8-14
-module:MOD[,LIZENZ]
-name:SNAME
-password:PASS
(D,N,W,L) .................................................................. 8-15
(D,N)........................................................................................ 8-16
(D,N,W) ................................................................................ 8-17
-quickoff
(D) .................................................................................................... 8-18
-remove
(WSVC).............................................................................................. 8-19
-search:PORT[,PORT]
(N) ............................................................................... 8-20
-start (WSVC)....................................................................................................... 8-21
-stop (WSVC)....................................................................................................... 8-22
-timeout:MIN
-uninstall
(D,N,W).................................................................................... 8-23
(D,N)................................................................................................. 8-24
9 Utility Programs.................................................................................................... 9-1
9.1 HLOGIN ........................................................................................................ 9-1
9.2 HLOGOUT .................................................................................................... 9-1
9.3 EDITEEP....................................................................................................... 9-2
9.4 HHT 9-3
10 Brief Explanation of Terms................................................................................ 10-1
HL-Server
1-4
HL-Server: Hardlock in a Network
11 Error Messages...................................................................................................11-1
12 Troubleshooting, Tips and Notes .....................................................................12-1
12.1 Searching for the HL-RUS License File (ALF) ............................................12-1
12.2 Specifying the Search Sequence ................................................................12-2
12.2.1
Background..............................................................................12-2
12.2.2
Syntax......................................................................................12-2
12.2.3
HL-Server Client for TCP/IP ....................................................12-4
12.2.4
Search Strategy .......................................................................12-5
12.2.5
Comments ...............................................................................12-6
12.3 Ports, Sockets and Filters ...........................................................................12-7
12.4 What to Do When the Computer Crashes?.................................................12-7
12.5 HL-Server TSR and Other TSR Programs..................................................12-7
12.6 Multitasking, Windows & OS/2 and DOS TSR ............................................12-8
12.6.1
Windows 3.x and DOS TSR ....................................................12-8
12.6.2
Windows for Workgroups and DOS TSR.................................12-8
12.6.3
Windows 9.x/ME, Windows NT/2000/XP.................................12-9
12.6.4
OS/2 DOS Box, LAN Server and DOS TSR ............................12-9
12.7 Several HL-Server Systems in a Network.................................................12-10
12.7.1
One “Hidden” Additional License ...........................................12-10
12.7.2
Novell NetBios Emulation ......................................................12-10
12.7.3
Extreme Network Load ..........................................................12-11
12.7.4
Time (DOS)............................................................................12-11
13 Index ....................................................................................................................13-1
HL-Server
HL-Server: Hardlock in a Network
1
1-1
HL-Server: Hardlock in a Network
1.1 General
HL-Server makes it possible to use the Hardlock protection system in a network. The
Hardlock module which enables your protected applications to be run, is connected to a
central server computer. The protected applications then access this protection module
via the network. You can define how many accesses to the Hardlock module (without
HL-LiMaS) or the individual slots (with HL-LiMaS) can take place at the same time.
In order to use HL-Server, your customers need to have
• a functioning network,
• a parallel, USB, or internal Hardlock Server module,
• installed HL-Server software to control access to the Hardlock module as a Win32
application or a Windows NT/2000/XP Service, Linux application or daemon, and
the classic variants for NetWare (NLM) and DOS (TSR).),
• optional Aladdin Monitor for central administration of several HL-Server in the
network.
Please refer to chapter 1.3 for information about possible operating systems and
protocols. Relevant terminology is explained in chapter 10.
Network access to the Hardlock module must be allowed for during implementation
(manual or automatic). However, you do not then have to decide on only one access
type; you can also allow both access types. In that case, the system first searches for
the Hardlock module locally and then on the network. Please refer to chapter 2 for more
information about implementation when using HL-Server and the licensing options with
and without LiMaS.
1.2 Testing HL-Server
You can test all HL-Server functions in demo mode. HL-Server automatically activates
demo mode (can handle 10 login entries) if you specified you were using the demo
Hardlock during installation. The demo Hardlock required has been assigned module
address 29809. All examples in this manual are based on this module address.
HL-Server
1-2
HL-Server: Hardlock in a Network
1.3 Mode of Working and Resources
1.3.1 On the Client
Applications which use a Hardlock supplied by the HL-Server log themselves on to the
HL-Server (Login) and can then use this remote Hardlock as they would a local
Hardlock connected directly to the computer. Libraries for remote access are integrated
in the application to be protected either automatically with HL-Crypt (see the HL-Crypt
Manual) or manually (see the Hardlock API Manual).
All other stations in the network that want to use one of the Hardlocks supplied by HLServer do not require any additional software other than the necessary protocol drivers.
The following protocols are possible for the various applications:
Possible client protocols
Protocol
DOS
W16
W32
IPX
X
x
x
Netbios
X
TCP/IP
Linux
x
x
x
x
When the protected application accesses the Hardlock module, it is entered in a login
table on the server which offers space for the same number of entries as you have
assigned for your software licenses. When the maximum number of simultaneous users
has been reached, no more applications can be started until an entry is freed up by a
logout.
The entry can be released automatically if the application does not access the Hardlock
module for a certain length of time. The timeout time is defined during implementation.
1.3.2 On the Server
HL-Server directly accesses the network protocol layer. Consequently, to use HLServer, the system must be wired as a network and a network protocol (e.g. TCP/IP,
IPX, or NetBios) must be installed.
HL-Server can only be loaded once on each computer.
Possible server protocols
Protocol
DOS
W16
W32
NLM
IPX
X
x
x
x
Netbios
X
HL-Server
x
Linux
HL-Server: Hardlock in a Network
Protocol
DOS
TCP/IP
1-3
W16
W32
NLM
Linux
x
x
x
x
HL-Server modules are available as an external plug, both USB and parallel, and as an
internal plug-in card (ISA, MCA and PCI). For further see the Hardlock Technical
Manual.
A HL-Server can support up to ten (DOS: up to three) HL-Server modules on one
computer at the same time. A separate login table is created for each of these modules.
The maximum number of login entries is limited to 250 licenses per module. However, you
can limit the total number of login entries permitted to between one and the maximum
number of 250 in practical operation.
1.3.3 Supported LANs
There is an almost infinite number of possible combinations between LAN type, protocol
and network topology. Consequently, we have deliberately decided not to list all LAN
environments which are compatible with HL-Server.
If your LAN does not meet these criteria, please contact our support team for special
tips on using your particular network or for information on whether your HL-Server
supports your network.
1.4 HL-Server Types
HL-Server can be run under various operating systems. Refer to the following table to
see which type of HL-Server you need for which operating system and in which chapter
this type of server is described.
Operating system
HL-Server
Protocols
Description
DOS
HLSERVER.EXE
IPX, NetBios
Chapter 5
OS/2
HLSERVER.EXE
IPX, NetBios
Chapter 5
Netware 3.1x, 4.x, 5.x
HLSERVER.NLM
IPX, TCP/IP
Chapter 6
Windows 3.1x
HLSERVER.EXE
IPX, NetBios
Chapter 5
Windows 95/98/ME
HLS32.EXE
IPX, TCP/IP, NetBios
Chapter 3
Windows NT 3.51, 4.0/2000/XP
HLS32SVC.EXE
HLS32.EXE
IPX, TCP/IP, NetBios
Chapter 4
Linux
Hlserver
TPC/IP
Chapter 5
HL-Server
1-4
HL-Server: Hardlock in a Network
1.5 Installation
Under Windows 9.x/ME and NT/2000/XP
For the installation of the HL-Server application and service we provide the file
HLSW32.EXE. With this file, your customer can install the following:
•
HL-Server for Win32 (HLS32.EXE)
•
HL-Server as a NT service (HLSVC.EXE)
•
Drivers for Hardlock
In addition to the file HLSW32.EXE you should also provide your customer with Aladdin
Monitor for the central adinistration of all HL-Server in the network.
As an alternative, you can also integrate routines for installing HL-Server and the
required Hardlock drivers into your programs. To do this, use the driver installation API
and the Hardlock Server installation API. For a more detailed description, please refer to
the HINSTALL.HLP file (driver installation API) and the HSIAPI.PDF file (server
installation API). See also the HL-API Manual.
Under Linux
The installation of HL-Server for Linux is described in chapter 5.
Under Novell
The installation of HL-Server for Novell is described in chapter 6.
Under DOS and OS/2
The installation of HL-Server for Novell is described in chapter 7.
1.6 Testing the HL-Server Installation
After installation HL-Server is loaded. The registered module can now be used by all
computers in the network (in the examples, this module is the demo module with
module address 29809).
All stations can now test accessing of the Hardlock being served. To do so, start the
HLOGIN.EXE program and enter the module address:
HLOGIN 29809
HL-Server
HL-Server: Hardlock in a Network
1-5
The following message should be displayed indicating that the command has been
carried out correctly:
Login to HL-Server Hardlock 29809 successful.
A station is given authorized access until the following command is entered, at which
point the station is no longer registered in the login table:
HLOGOUT 29809
The following message appears indicating that this has been performed correctly:
Logout from HL-Server Hardlock 29809 successful.
Please refer to chapter 9 for a detailed description of the two utility programs.
1.7 Aladdin Monitor
The new Aladdin Monitor (AKSMON) replaces the HLSAdmin program. The program
enables end-users to
• check all HL-Servers in the network,
• access a local service under NT,
• perform license updates (HL-LiMaS).
Language setting
The Aladdin Monitor is available in German and English by linking language DLLs. The
end-user can change the language setting. The default setting depends on the
corresponding system setting.
New Functions for Hardlock LiMaS
The program makes it easier for end-users to administer Hardlock modules which have
been encoded for Hardlock LiMaS:
• The occupation of the individual slots is displayed.
• Data for updates of the Hardlock modules can be exported and imported directly via
the Aladdin Monitor.
HL-Server
1-6
HL-Server: Hardlock in a Network
1.8 Aladdin DiagnostiX
The new Aladdin DiagnostiX tool replaces the HLDiag program. It makes it easier to
solve problems encountered by your customers.
Aladdin DiagnostiX enables end-users to
• check Hardlock modules,
• generate reports containing relevant information (driver version, network
information, etc.)
• configure Hardlock Environment settings.
The generated reports which you receive from your customers assist you to provide
solutions to problems affecting your customers use of deployed Hardlock modules.
Aladdin DiagnostiX is shipped with an online Help system. There is also a special
section on the tool in the Hardlock End User Manual. See below for more information.
1.9 Hardlock End-Users’ Manual
We provide you with an end-users’ manual which helps to avoid problems during
utilization of the Hardlock protection system. The manual contains information about
• the Aladdin DiagnostiX utility,
• the update mechanisms and programs when using HL-LiMaS,
• the HL-Server System including the new Aladdin Monitor,
• possible ways of avoiding and rectifying problems, in particular when using Hardlock
in a network.
The end-users’ manual can be downloaded from our website.
HL-Server
Implementation and Licensing
2
2-1
Implementation and Licensing
2.1 Licensing with HL-Server and HL-LiMaS
If you are using HL-LiMaS when encoding Hardlock-Server modules, you can set up
licenses for different components by means of slots (see also the HL-LiMaS
Addendum). You can use up to 32768 slots and assign up to 32767 licenses per slot.
Licensing involving users per slot replaces licensing involving users per HL-Server
module and therefore makes it possible to achieve a greater granularity in assigning
licenses. With HL-LiMaS, you define the conditions required for each program file to
start when you are protecting the program files. You can use a counter, slots and
expiration dates individually and in combination when doing this. The first matching
condition is used for each program start. The license information is stored both in the
memory of the Hardlock module and in a license file with the file name extension ALF
(Aladdin License File), see chapter 12.1.
The following steps are required for licensing:
• When protecting your programs, define under which conditions the program starts.
When doing this, you can make the program start dependent on the license for a
slot, on valid expiration dates and on a global counter (with Espresso, HL-Crypt or
with manual implementation using HL-API).
• When you are encoding the HL-Server module for your customer, define how many
licenses there are for each slot, which expiration dates apply globally or for the
individual slots and what is the top limit of the counter (e.g. using Cappuccino).
The higher granularity means the licensing procedure is slightly more complicated when
HL-LiMaS is used. As a result, take particular care when assigning the conditions and
run through the various possibilities afforded by your licensing system in a precise
fashion.
Example for using slots
Conditions for the program to start:
• TEXT program runs if there is a license free for slot 1 or slot 2.
• TABLE program runs if there is a license free for slot 2.
HL-Server
2-2
Implementation and Licensing
Hardlock encoding for the customer:
• Slot 1 has one license
• Slot 2 has three licenses
Application:
1. A user starts TEXT and TABLE.
One license for slot 1 (first condition) and one license for slot 2 are used.
2. A second user starts TABLE.
A license for slot 2 is used.
3. A third user starts TEXT.
Since there is no longer a license free for slot 1, the second condition is used: A
license for slot 2 is used.
2.2 Licensing without HL-LiMaS
Without HL-LiMaS, you can define the number of licenses for accessing the Hardlock
module when using HL-Server. Up to 250 licenses are possible.
You can limit the number of licenses by storing a signature in the RAM area or in the
ROM area of the Hardlock memory. The format of the signature is Logins:nnnn.
The four-digit number is entered in decimal notation.
A signature in the RAM area is fundamentally non-secure because it can be altered
using software. The only advantage is that you can alter the licensing without having to
re-encode the module. If you want to keep this option open, then we recommend that
you use HL-LiMaS, because this provides just such an update option in a more
convenient and secure way.
A signature in the ROM area is defined when the Hardlock module is encoded. This
licensing cannot be bypassed by altering it using software. You can define the memory
content during encoding with Cappuccino (see the HL-Bistro Manual) or using the
EDITEEP utility program (see chapter 9.3).
Note: If you are working with the standard loader (HL-Crypt for DOS programs, option
-n), you cannot assign licenses. The standard loader is only logged on to HL-Server
while the application is being loaded. Afterwards, it automatically logs back out and is
completely deleted from memory. While the program is running, no login permanently
remains in HL-Server. This permits any number of applications to be run as long as an
HL-Server with the correct module address was found when the system was started.
HL-Server
Implementation and Licensing
2-3
This feature is useful if you want to license your application without any limit on the
number of users per network.
2.3 Automatic Implementation with Espresso/HL-Crypt
You have to enable network access to the Hardlock module during automatic
implementation with HL-Crypt (see the HL-Crypt Manual) or Espresso (see the HLBistro Manual). You can also enable both types of access (local and via a network). In
that case, the program first searches for an appropriate Hardlock module locally and
then on the network.
Espresso: Call up Hardlock Settings and select the Search for HL-Server via the
Network option. You can also specify the timeout here. This value defines the period of
time after which an entry in the login table is deleted if the client no longer accesses the
Hardlock module.
HL-Crypt: Use –acc:lr (local or via the network) or –acc:r (exclusively via the
network), e.g.:
[HL-Crypt] myprogram.exe –m 29809 –acc:lr
If you are using HL-LiMaS, you must also define during automatic implementation what
are the conditions which have to be met in order for the protected program file to start
(see chapter 2.1).
2.4 Manual Implementation with Hardlock API
Enabling network access
When logging in using HL_LOGIN or HLM_LOGIN, enter I_CARE (local or via the
network) or NET_DEVICE (only network access) as the access mode, e.g.:
hlresult = HL_LOGIN(29809,NET_DEVICE,RefKey,VerKey);
Checking licenses (without HL-LiMaS)
In addition to the login, you can also check how many entries are possible in the table
and how many entries there currently are. You can do this while the program is running.
To do this, use the HL_MAXUSER (possible entries) and HL_USERINF (current
entries) functions. This only makes sense if you are not using HL-LiMaS, because with
LiMaS, licenses are only assigned per slot and not per Hardlock module.
HL-Server
2-4
Implementation and Licensing
Assigning slots and checking licenses (with HL-LiMaS)
If you are using HL-LiMaS, you can make the ability of program sections to run
dependent on certain conditions. Use the HLM_OCCUPYSLOT, HLM_FREESLOT;
HLM_CHECKALLSLOTS,
HLM_CHECKSLOT,
HLM_CHECKCOUNTER,
HLM_CHECKEXPDATE functions, etc. to occupy, release and check slots.
Defined behavior
You should program the manual implementation so that your application behaves in a
defined manner if HL-Server is not available (e.g. network interruption). This can be
done, for example, by sending a message to the user or by terminating the program in a
normal manner.
For more information on this subject, refer to the HL-API Manual.
HL-Server
HL-Server as Win32 Application (HLS32)
3
3-1
HL-Server as Win32 Application (HLS32)
3.1 General
HL-Server for 32-bit Windows comprises three parts: a service that runs under Windows
NT/2000/XP (see chapter 4), an application for Windows 9x/ME, and the Aladdin
Monitor (AKSMON) for central administration of several HL-Server in the network that
can be used both under Windows 9x/ME and under Windows NT/2000/XP.
Please note that none of the programs mentioned runs under Win32s, the 32-bit
upgrade for Windows 3.x. HL-Server can only be loaded once on each computer. Up to
ten Hardlock modules are supported on each HL-Server.
At the protocol level, the Win32 HL-Server supports IPX, Netbios, and TCP/IP. The IPX
page can be addressed by all IPX clients. The clients provide IP support for Win16 and
Win32. TCP/IP must be accessible through Windows sockets (WINSOCK.DLL or
WSOCK32.DLL). This is the case, for example in Windows NT/2000/XP, Windows
9x/ME and WfW 3.11 with MS-TCP/IP. Other WINSOCK implementations should also
run. We have successfully tested, e.g. the CompuServe Internet Dialer and Trumpet
WinSock.
HL-Server can be controlled directly from the command line layer. This makes it possible
to implement HL-Server functions in batch programs. The various functions are input in
the form of switches when the program is activated. Please refer to chapter 3.2 for an
overview of the possible switches.
HL-Server 32 can be operated both with a menu interface and using the command line.
The functions are more or less identical. The Win32 interface offers a range of
additional functions, e.g. for displaying system data and testing the security modules.
3.2 Command Line Switches
By default, HL-Server can be called as a Win32 application as follows:
HLS32
It is not essential to specify a module address. The system searches for the module
addresses of located Hardlock modules when there are checks and adds them
(autoadd).
HL-Server
3-2
HL-Server as Win32 Application (HLS32)
The table below contains further switches which can either be used written out in full or
in their abbreviated form. Please refer to chapter 8 for a detailed description of the
individual switches.
Switch
Meaning
-?
Displays switches that can be used with
HL-Server.
Remark
Abbreviated form
-?
-install
Installs HL-Server. You must always specify Can be omitted
a module address (-module:n[,m]).
-i
-module:n[,m]
Module address of the Hardlock to be
served (you can enter up to three
addresses with one call). “n” refers to a
decimal module address. “m” is an optional
switch for limiting the number of login
entries to the number specified (other
limitations, such as the number of licenses
purchased cannot be exceeded).
-comm:s[,s]
Used for specifying one or more network
protocols. If you do not set this switch, HLServer supports all protocols available on
the computer simultaneously. “s” refers to
the “IPX” or “NetBios” protocols.
-c:s,[,s]
-timeout:n
Used for specifying the amount of time
(minutes) after which a login entry of a
station that has crashed should be deleted
from the login table. The default timeout
value is 15. Values between 0 (= timeout
deactivated) and 9999 may be entered.
-t:n
-password:s
Defines a password for deleting a remote
login entry. The system will prompt you to
enter this password if you try to delete a
login entry using the user interface.
-p:s
-forceNT
Forces HLS32 to start even under Windows If not specified, a -f
NT/2000/XP.
reference to the
service is displayed under
NT/2000
Can be omitted, -m:n[,m]
the HLS automatically searches
for Hardlocks
when there are
checks
3.3 The HL-Server Interface (HLS32.EXE)
The HL-Server interface offers a list of all active HL-Server modules and their
properties:
• Module: Module address of the HL-Server Hardlock
• Logins: Current number of users logged on
• Peak: Peak value of logged on users (since the server started)
HL-Server
HL-Server as Win32 Application (HLS32)
3-3
• Limit: Number of released licenses
• Req.: Number of server requests (checks)
• Errors: Number of failed server requests
Double-click the corresponding HL-Server Hardlock address to open a window
displaying all available login locations with their current assignment (node or IP address
of the client and Task ID), timeout counter reading, as well as login date.
To retrieve more information about the current status of your HL-Server, double-click the
Hardlock icon in the upper left corner of the HL-Server interface. This opens another
window, containing more detailed information about events presently occurring on HLServer. It is here you will find information about every single API function called, the
sender (node or IP address), current execution status, as well as the transfer protocol
used.
HL-Server
HL-Server as NT Service (HLS32SVC)
4
4-1
HL-Server as NT Service (HLS32SVC)
4.1 General
HL-Server for 32-bit Windows comprises three parts: a service that runs under Windows
NT/2000/XP, an application for Windows 9x/ME, and the Aladdin Monitor for central
administration of several HL-Server in the network that can be used both under
Windows 9x/ME and under Windows NT/2000/XP.
Please note that none of the programs mentioned runs under Win32s, the 32-bit
upgrade for Windows 3.x. HL-Server can only be loaded once on each computer. Up to
ten Hardlock modules are supported on each HL-Server.
At the protocol level, the 32-bit HL-Server supports IPX, Netbios, and TCP/IP. The IPX
page can be addressed by all IPX clients. The clients provide IP support for Win16 and
Win32. TCP/IP must be accessible through Windows sockets (WINSOCK.DLL or
WSOCK32.DLL). This is the case, for example in Windows NT/2000/XP, Windows
9x/ME, and WfW 3.11 with MS-TCP/IP. Other WINSOCK implementations should also
run. We have successfully tested, e.g. the CompuServe Internet Dialer and Trumpet
WinSock.
HL-Server can be controlled directly from the command line layer. This makes it possible
to implement HL-Server functions in batch programs. The various functions are input in
the form of switches when the program is activated. Please refer to chapters 4.2 and 4.3
for an overview of the possible switches.
4.2 Command Line Switches for Installation
By default, HL-Server can be installed and started as an NT Service as follows:
hls32svc –install
hls32svc –start
It is not essential to specify the module address. The system searches for the module
addresses of located Hardlock modules when there are checks and adds them.
The table below contains further switches. Please refer to chapter 8 for a detailed
description of the individual switches.
Switch
Meaning
Abbreviated form
-?
Displays switches that can be used with HLServer
-?
HL-Server
4-2
HL-Server as NT Service (HLS32SVC)
Switch
Meaning
Abbreviated form
-install
Installs HL-Server. You must always specify a
module address (-module:n[,m])
(None)
-start
Starts the HL-Server Service
(None)
-stop
Stops the HL-Server Service
(None)
-remove
Removes the HL-Server Service
(None)
4.3 Command Line Switches for Control
(HLS32CMD.EXE)
You can use HLS32CMD.EXE if you want to control the NT Service via a command line
rather than with the Aladdin Monitor.
Switch
Meaning
-add [mouleaddr]
Adds a Hardlock module to a running server
-remove
[moduleaddr]
Removes a Hardlock module from a running server
-timeout [minutes]
Defines the server timeout
-enable [protocol]
Activates the protocol (TCP, IPX, NetBios)
-disable [protocol]
Deactivates the protocol (TCP, IPX, NetBios), NetBios is only selected and
not deactivated until after a restart.
4.4 Control Using the Aladdin Monitor
You can install, remove, start and stop the HL-Server Service using the Aladdin
Monitor. Use the commands in the Service menu in order to do this. Please refer to the
online help.
HL-Server
HL-Server for Linux
5
5-1
HL-Server for Linux
5.1 General
HL-Server for Linux provides the same functionality as the HL-Server for Win32
including LiMaS support. An application using the HL-Server cannot recognize any
difference between a server earmarked for Linux applications and one designed for
Win32 or NLM. The Hardlocks used to protect applications are the same, therefore
when selecting a HL-Server, opt for a system that best fits your customers network
environment. HL-Server for Linux supports IP/UDP protocol and uses port 3047 (IANAregistered) for communication.
When using a demo Hardlock, specify module address 29809, and therefore you can
test the HL-Server without requiring a specific HL-Server-Hardlock.
5.2 Installation
HL-Server can be started either as a daemon (-d), or as a console application (-a). The
console application mode can be used to track possible problems; as it shows a trace of
all client requests, similar to the trace window displayed by HLS32.EXE on Win32, when
double clicking the Hardlock Icon.
HL-Server for Linux can be monitored and administered by the AKSMON (Aladdin
Monitor) utility running on a Win32 terminal.
HL-Server for Linux fully supports the Hardlock LiMaS license management functions
and the Hardlock classic functions, for USB, parallel and internal Hardlocks.
Before HL-Server for Linux can be started, the Hardlock drivers (aksparlnx.o and
aksusbd) must be installed. Please refer to the install.txt file of the Hardlock driver for
further information.
5.3 Command Line Switches
HL-Server is started from the console with
hlserver [options]
HL-Server
5-2
HL-Server for Linux
The following command line switches are supported:
-h
Display help
-a
Run as application
-d
Run as daemon
-module:n[,m]
Module address [,max logins] of Hardlock
(up to 10 times). Optional: modules are
auto-added when requested.
-timeout:n
Timeout value in minutes. Values between
1 and 9999, 0=no timeout. Default value is
15.
-zombie
Enable zombie mode for timed out logins
All parameters may be abbreviated according to their first letter. You must specify either
the –a or –d options.
Examples:
hlserver –d
HL-Server starts as a daemon without registering any Hardlock. Whenever a client
application requests an unknown Hardlock, HL-Server searches for the Hardlock and
automatically adds it when available.
It is recommended that you insert “hlserver –d” into the appropriate startup script of the
machine.
The daemon writes its start/stop events and adds/removes a hardlock in the syslognormally in /var/log/messages.
Hlserver –m:29809 –d
HL-Server starts as a daemon and tries to register Hardlock 29809. If the Hardlock is
not found, the daemon immediately stops.
5.4 Stopping the HL-Server
The daemon is stopped by the “kill <processid>” command. HL-Server uses Posix
threads, so it appears several times in the process list. Therefore when you kill the first
thread, the others willl stop automatically. The application can be stopped with ^C.
HL-Server
HL-Server as Netware NLM Application
6
6-1
HL-Server as Netware NLM Application
6.1 General
The NLM program HLSERVER.NLM can be installed directly on the Novell file server
and runs under NetWare version 3.1x and higher. It cannot be used with Netware SFT.
HL-Server can only be loaded once on each computer.
Be sure to use a recent version of the files CLIB.NLM and STREAMS.NLM to ensure
trouble-free operation. These files should at least be from 1993. Updates are available
free from the website of the distributors. Be sure to always load all files included in an
update package.
Unfortunately HL-Server can not detect whether CLIB.NLM is new enough before using
it. If you notice that public symbols are missing (most often IsColorMonitor), this is a
sign for a very old CLIB.NLM.
HL-Server can be controlled directly from the command line layer using straightforward
entries. This makes it possible to implement HL-Server functions in batch programs
(*.NCF). The various functions are input in the form of switches when the program is
activated. The switches are listed in section 6.3.
HL-Server for NLM can also be operated using a standard Novell user interface.
6.2 Installation
The relevant files for HL-Server as an NLM are located in the
HARDLOCK\HLSERVER\NLM folder on the Hardlock CD. The following files are
needed for installation on the customer’s computer: HLSERVER.NLM and optional
HLSERVER.CFG and HLSERVER.NFC.
Only the HLSERVER.NLM file is required for command line operation. To start the
HL-Server easily as an NLM, we recommend that you also use the files
HLSERVER.CFG (configuration file) and HLSERVER.NCF (simple batch file).
The following steps have to be taken at the customer’s site:
• You need to access the server console. Make sure that you have authorized access
under Netware.
• To start the NLM, make sure the HLSERVER.NLM file is on the network drive. Copy
the file in the [Servername]/SYS:SYSTEM folder of your NetWare server so that you
do not have to enter the path when starting the NLM.
HL-Server
6-2
HL-Server as Netware NLM Application
• Connect the Hardlock module to any printer port (LPT port) on the computer, or
install HL-Server Internal (see the Hardlcock Technical Manual).
HL-Server can now be installed and started from the system console of the server:
LOAD HLSERVER
Following this, the installation can be tested from a client computer (see chapter 1.5).
6.3 Command Line Switches
By default, HL-Server can be called as an NLM as follows:
load HLSERVER
It is not essential to specify the module address. The system searches for the module
addresses of located Hardlock modules when there are checks and adds them.
Uninstall as follows:
unload HLSERVER
The table below contains further switches which can either be used written out in full or
in their abbreviated form. Please refer to chapter 8 for a detailed description of the
individual switches.
Switch
Meaning
-?
Displays switches that can be used with HLServer.
-install
Installs HL-Server. You must always specify a
module address (-module:n[,m]).
Can be omitted
-i
-module:n[,m]
Module address of the Hardlock to be served
(you can enter up to three addresses with one
call). “n” refers to a decimal module address.
“m” is an optional switch for limiting the
number of login entries to the number
specified (other limitations, such as the
number of licenses purchased cannot be
exceeded).
Can be omitted,
the HLS automatically searches for
Hardlocks when
there are checks
-m:n[,m]
-comm:s[,s]
Used for specifying one or more network
protocols. If you do not set this switch, HLServer supports all protocols available on the
computer simultaneously. “s” refers to the
“IPX” or “NetBios” protocols.
HL-Server
Remark
Abbreviated form
-?
-c:s,[,s]
HL-Server as Netware NLM Application
6-3
Switch
Meaning
Remark
Abbreviated form
-name:s
Defines a name for HL-Server (no blanks,
maximum of 12 characters). Assigning a
name to HL-Server makes it easier to
differentiate between HL-Servers for
administrative purposes.
Default name is the -n:s
name of the
NetWare server
-logindisable
Prevents further logins to HL-Server.
-l
-timeout:n
Used for specifying the amount of time after
which a login entry of a station that has
crashed should be deleted from the login
table. The default timeout value is 15. Values
between 0 (= timeout deactivated) and 9999
may be entered.
-t:n
-password:s
Defines a password for deleting a remote
login entry. The system will prompt you to
enter this password if you try to delete a login
entry using the user interface.
-p:s
-auto
Automatically returns to the console screen
after installation.
-a
-search:n[,n]
Specifies port addresses for the Hardlock
search sequence.
-s:n[,n]
HL-Server
HL-Server as DOS TSR
7
7-1
HL-Server as DOS TSR
7.1 General
HL-Server software runs under MS-DOS or PC-DOS version 3.0 or higher. The
HLSERVER.EXE TSR program requires, depending on the number of Hardlocks and login
entries managed and active protocols, approximately 70 KB of main memory. It can be
loaded into the high memory area (DOS 5.0 UMBs, QEMM, etc.). HL-Server can only be
loaded once on each computer.
For it to be used in a network, HL-Server software must be loaded as a resident
program with the necessary switches. HL-Server software can only be loaded once on
each computer. Only stable applications that are not liable to crash the computer due to
errors should be used on the HL-Server computer. If the server computer crashes,
applications which depend on HL-Server also cease to operate correctly.
The computer gives priority to background programs responsible for controlling the
network. These programs demand a great deal of computing time. As a result,
application programs running in the foreground may be slowed down considerably
(depends on the size of the network and frequency of network checks).
HL-Server can be controlled directly from the command line layer. This makes it possible
to implement HL-Server functions in batch programs. The various functions are input in
the form of switches when the program is activated. The switches are listed in section
7.3.
HL-Server can also be used with a menu interface. The functions are more or less
identical. The DOS menu interface offers a range of additional functions (not required
for actually operating HL-Server) for displaying system data and testing the security
modules. NLMs can also be administered (managed) through this interface.
7.2 Installation
The relevant files for HL-Server as a DOS TSR are located in the HLSERVER\DOS
folder on the Hardlock CD. The following files are needed for installation on the
customer’s computer: HLSERVER.EXE, HLSERVER.OVL and HLSERVER.HLP.
Only the HLSERVER.EXE file is absolutely essential for command line operation. If you
also want to use the menu interface and online help incorporated in it, the
HLSERVER.OVL and HLSERVER.HLP files must also be available.
The customer has to take the following steps:
HL-Server
7-2
HL-Server as DOS TSR
• Copy HLSERVER.EXE and HLSERVER.OVL.
• Load the protocol driver (e.g. IPX and/or NetBios).
• Connect the Hardlock module to any printer port (LPT port) on the computer, or
install HL-Server Internal (see the Hardlock Technical Manual).
HL-Server can now be started, e.g. in command line mode:
1. Change to the folder in which you installed the HL-Server software.
2. Start the software by entering the program name and the module address (in this
example, the module address of the demo module):
HLSERVER –I –m:29809
Following this, the installation can be tested from a client computer.
7.3 Command Lines for DOS TSR
By default, HL-Server can be called as an NLM as follows:
HLSERVER –module:29809
The table below contains further switches which can either be used written out in full or
in their abbreviated form. Please refer to chapter 8 for a detailed description of the
individual switches.
Switch
Meaning
-?
Displays switches that can be used with
HL-Server.
-?
-install
Installs HL-Server. You must always specify Can be omitted
a module address (-module:n[,m]).
-i
-module:n[,m]
Module address of the Hardlock to be
served (you can enter up to three
addresses with one call). “n” refers to a
decimal module address. “m” is an optional
switch for limiting the number of login
entries to the number specified (other
limitations, such as the number of licenses
purchased cannot be exceeded).
-uninstall
Exits HL-Server and removes it from the
main memory. If there are any entries still in
the login table, the system will ask you if
you are sure you want to uninstall HLServer. The –uf switch is designed to let
programmers suppress this check.
HL-Server
Remark
HL-Server for DOS
does not support
automatic adding
of Hardlocks!
Abbreviated form
-m:n[,m]
-u,
-uf (without check)
HL-Server as DOS TSR
7-3
Switch
Meaning
Remark
-display
Generates status information on Hardlocks
being served, logins, data packets at the
top of the screen (must be set before
booting Windows 3.x).
-d
-comm:s[,s]
Used for specifying one or more network
protocols. If you do not set this switch, HLServer supports all protocols available on
the computer simultaneously. “s” refers to
the “IPX” or “NetBios” protocols.
-c:s,[,s]
-name:s
Defines a name for HL-Server (no blanks,
maximum of 12 characters). Assigning a
name to HL-Server makes it easier to
differentiate between HL-Servers for
administrative purposes.
Default name is
“HL-Server”
Abbreviated form
-n:s
-logindisable
Prevents further logins to HL-Server.
-l
-timeout:n
Used for specifying the amount of time after
which a login entry of a station that has
crashed should be deleted from the login
table. The default timeout value is 15.
Values between 0 (= timeout deactivated)
and 9999 may be entered.
-t:n
-password:s
Defines a password for deleting a remote
login entry. The system will prompt you to
enter this password if you try to delete a
login entry using the user interface.
-p:s
-boxsize:n
Defines the number of receive buffers to be
used.
-quickoff
Deactivates the cache when the Hardlock
memory is being accessed.
Only required in
extreme cases
-b:n
-q
7.4 Interfaces for DOS TSR
7.4.1 Using the Menu Interface
The TSR menu interface offers several test functions for HL-Server administration.
Installed NLMs can also be managed with these test functions. TSRs can be installed
completely via the menu interface. The TSR menu interface is organized as follows:
• The individual menus are arranged one under the other at the left side of the screen
(in the menu field). The menu currently active is marked by small triangles and a
black shadow.
HL-Server
7-4
HL-Server as DOS TSR
• The individual menu functions (options) that can be selected from the currently
active menu are displayed across the top of the screen (in the function bar). The
currently active function is displayed with a yellow background.
• The menu interface can be controlled both via the keyboard and mouse.
• Use CTRL + arrow keys to select a menu or function with the keyboard.
• Use the arrow keys to select individual options within a function window.
• Press the F1 function key or the right mouse button to obtain online help information
on the current menu function. Press ESC to return to the active menu function.
7.4.2 Description of Menus and Functions
Most of the menu commands of the HL-Server menu interface are self-explanatory.
Since many function are the same as the switches described earlier in the section on
command line switches, we will not describe them again here.
In the following sections, the HL-Server menus (those which are displayed in the vertical
bar) and their sub-menus (horizontal bar) are explained.
7.4.3 Status Menu
The functions of this menu provide you with information on the current status of the local
HL-Server. The functions include:
About: Provides you with information on the current version number of the HL-Server,
version number of the Hardlock API being used and the operating status of HL-Server
(resident or not, can be recognized through the “HL-Server network icon”).
Main: Provides information on local Hardlocks (if installed), indicates to what extent HLServer is being used and offers other data on the operational status of the Hardlocks.
The “# of Overloads” information is particularly important. It indicates how often HLServer was overloaded (regardless of how long it has been running). If overloads occur
frequently during normal operation, install HL-Server on a faster computer that can
process incoming checks more quickly.
Tasks: Provides information on the internal multitasking system of HL-Server. This
information is primarily used for service purposes. Below is an explanation of the
individual tasks:
Task
Function
Main
Installation, initialization, uninstallation
Hardlock
Hardlock accesses
Supervisor
HL-Server administration
HL-Server
HL-Server as DOS TSR
7-5
IPX
IPX network driver
NetBios
NetBios network driver
Listen
Interrupt tasks for receiving checks via the network (protocol-specific)
Network: Provides information on the current status of the network, such as socket
numbers, buffer size and counter for received and sent packets.
7.4.4 Install Menu
Use this menu to install HL-Server directly from the menu interface. This menu provides
you with all the options you need for installation.
Install: Press ENTER to initiate installation of HL-Server with the displayed command
line switches. See the “Command Line Switches” chapter for a description of the
individual switches. This sub-menu lets you specify a name for the server. If you wish to
serve other Hardlocks, in the Local submenu specify in Select up to three HL-Server
boards (these boards must, of course, be present).
Uninstall: Use this menu to remove a resident HL-Server from the main memory. Be
sure to read the information on the –uninstall switch.
Options: This sub-menu provides additional program functions. For more information
see the appropriate sections in chapter 8:
-display switch
-password switch
-logindisable switch
-comm switch
The verbose debug display option is used for internal maintenance purposes and can
only be activated with the password of our support team. It is usually not necessary to
use this function.
Change Timeout: This option is used for specifying the amount of time after which a
login entry of a station that has crashed should be deleted. For more information see the
–timeout switch in the “Command Line Switches” chapter 8.
7.4.5 System Menu
Use this menu to display the memory allocations of the local computer and to disable
this computer with an installed HL-Server.
HL-Server
7-6
HL-Server as DOS TSR
Memory Map: Used for displaying the memory allocation of the main memory. The
areas occupied by HL-Server are indicated. This function is only available if you are
working with MS-DOS version 4.0 or higher.
Lock Console: This menu function protects the computer on which you have installed
HL-Server from inputs by unauthorized users. If an unauthorized person attempts to
make an entry, the keyboard locks once the password has been entered and the screen
is cleared (to avoid burn-in effects). All that is displayed on the screen is the HL-Server
“worm” to show that the computer is running and that the HL-Server program is
activated.
After selecting the Lock Console option, the system immediately prompts you to enter
a password. You can enter alphanumeric characters (capital or lower-case letters and
the numbers 0 to 9).
To reactivate the keyboard, simply reenter the Lock Console password.
Note: Do not confuse this password with the –password switch used for deleting
login table entries.
7.4.6 Local Menu
This menu is used for selecting the module address you want to use and performing test
functions for local Hardlocks and HL-Server Hardlocks. This menu is very important and
covered thoroughly in the sections below.
Select: Use this menu option to perform the following three tasks:
• To enter 1 to 3 local Hardlocks to be made available by HL-Server for use in the
network.
• To select one of the three active local Hardlocks for the EyeTest and Logins
options in the Local menu.
• To limit the number of login entries for certain Hardlocks.
• Entering Module Addresses
The default setting for the first Hardlock in the list is the demo Hardlock address 29809.
Use the arrow keys to move the bar to one of the three lines to enter other module
addresses (or use the mouse). Press ENTER. Change the module address or enter a
new address. Confirm with ENTER.
You also have the option of limiting the number of entries permitted to the login table
(optional). “0” indicates no limitation (cf. description of the –module switch in the
“Command Line Switches” chapter 8).
HL-Server
HL-Server as DOS TSR
7-7
Selecting a Hardlock: If, as described above, several local Hardlocks are activated,
one of these Hardlocks can be selected for the EyeTest and Logins functions
described below.
Note: An HL-Server computer cannot support more than one HL-Server board with
identical module addresses but different subcodes. If this is the case, the HL-Server
licenses are added together, but only the first Hardlock found in the port sequence LPT1
– LPT2 – LPT3 is used for encryption. Adding up the HL-Server licenses can, of course,
also be used deliberately to enhance an HL-Server.
Combining Hardlocks with the same module address is possible on different HL-Server
computers. However, Hardlocks with the same module address must be encrypted
differently (company code, subcode) in order for them to be correctly identified (also see
the HL-API Manual).
If several HL-Servers serving the same Hardlocks are installed in one network, the
licenses are added together. The operation principle is that login checks are answered
by the fastest HL-Server which still has free entries in its login table. HL-Severs with
login tables that are already full do not respond.
EyeTest: Use this function to test the local Hardlock specified in Select. This test
identifies and displays the corresponding port address, performs a test encryption (the
initial character string base string and the encryption result encrypted are displayed),
and displays the contents of the ROM and RAM.
You can either display the contents of the EEPROM and RAM in “Big Endian” (high
bytes left, low bytes right) or “Little Endian” (Intel standard: low bytes left, high bytes
right). Use either the TAB key or click the switching field marked by square brackets to
toggle between the two display modes. A check mark (√) appears when “Big Endian” is
activated.
You can switch to other module addresses directly, without having to leave the EyeTest
menu function. Click the module address input field or move the selection bar to the
input field with the cursor keys. Press ENTER. This deletes the old module address.
You can now enter a new module address.
Logins: Operational data for the Hardlock specified under Select is displayed in the
window of this menu function. This data includes:
Login Count: The following count values for the login table are shown in this line:
• active: Current number of login entries.
• peak: Highest number of login entries at any one time (beginning from when HLServer was loaded as a resident program).
HL-Server
7-8
HL-Server as DOS TSR
• max: Maximum number of login entries permitted for the given Hardlock.
E-Y-E Requests: Number of times the Hardlock has been accessed since HL-Server
was started.
Note: The counter for accesses to the security module also counts accesses made for
administrative purposes (such as LOGIN and LOGOUT) since they also involve
checking the Hardlock.
The current entries of the Hardlocks login table are also shown. The following data is
provided for each login entry:
• No.: Running table number
• Address: The 12-character hexadecimal hardware address of the network adapter
of the logged-in client is displayed in this column.
• Task ID: The task ID of the logged-in client is displayed in this column. This ID is
either generated automatically by HL-Crypt or by the application developer during
manual implementation with Hardlock API. The task ID enables several programs to
use HL-Server simultaneously from one computer, without affecting one another
(e.g. in several Windows, Windows 9.x/ME, Windows NT/2000/XP, OS/2 or
DESQview DOS boxes).
• Timeout: The time still remaining until the timeout period expires for each login entry
is displayed in this column. Login table entries are automatically deleted when this
time is up.
• Date/Time: The date and time when the individual entries were made to the login
table are displayed in these two columns.
Deleting a Login Table Entry: Use this function to delete existing entries from the
table. This is done as follows:
1. Mark the entry you want to delete by clicking it with the mouse or moving the marker
bar to it with the cursor keys.
2. Press the DEL key or click on the [Del] field in the bottom line of the function window
to delete the table entry.
3. (This step only applies to remote table entries.) If you protected the login table
entries with a password using the options function in the setup menu, the system
will prompt you to enter a password.
4. A warning message is displayed. The login table entry is not deleted until you have
confirmed deletion by pressing the Y key. Press any other key to cancel the
procedure.
HL-Server
HL-Server as DOS TSR
7-9
Note: Once you have deleted the login entry for a given workstation, the Hardlock is no
longer available to this workstation. How the program running on that workstation will
react depends on the way in which the Hardlock was implemented (e.g. Hardlock
checking only when the program starts or with background checking). Your application
should attempt to reestablish contact with HL-Server if this occurs. In any event, it
should behave in a defined manner. (See section 2.4).
Stress: Use this menu function to subject local Hardlocks that have been specified in
Select to a stress test.
The system randomly performs read and encryption accesses for the selected
Hardlocks. Successful and incorrect events are tallied and displayed (successful events
in yellow, incorrect events in red). In addition, the total number of accessing procedures
and accessing speed (in packet units/second) are displayed in the function window at
the bottom.
Note: The indicated value for accessing speed is incorrect due to the time required for
the current counter status to be displayed in the graphic interface. The maximum
accessing speed actually achievable without the menu interface is significantly higher
than the displayed value.
Normally, no incorrect events should occur, i.e. the red numbers should be zero. If
incorrect events are registered, the source of the error should be identified and
eliminated. Otherwise applications that access HL-Server may not run correctly. An
exception to this rule is when you place one single HL-Server “under stress” from
several workstations simultaneously (with the Stress function in the Remote menu).
This results in a checking frequency many times higher than normal. This may overload
the network. (When applications are being operated under normal conditions, the
additional network load produced by HL-Server is not noticeable.)
7.4.7 Remote Menu
The functions of this menu address remote Hardlocks rather than local Hardlocks.
Select / EyeTest / Logins / Stress: These menu functions are used and operate
almost exactly the same as those (with the same name) described in the Remote menu.
The Hardlocks of all work stations within a network served by HL-Server programs are
addressed. (When running the stress test, only the first 10 Hardlocks located are used.)
When the Remote menu is selected for the first time after the graphic interface is
activated, the entire network is scanned for available remote Hardlocks. Since,
depending on the size of the network, this procedure can take some time, it is only
carried out the first time this menu is called.
HL-Server
7-10
HL-Server as DOS TSR
All available remote Hardlocks are displayed and can be selected for the EyeTest and
Stress menu functions. To page through long tables that do not fit on a single screen,
use the arrow keys or click the mouse on the arrows in the left margin of the table.
Note: The functions EyeTest and Logins in the Remote menu can only be used if
there is still space available in the login tables of the respective Hardlocks. This test
must also log on to gain access to Hardlock. As do all logins, this affects the peak value.
If no entries are available in the login table, you will not be granted access and a
message to this effect will be displayed.
Rescan: In the Remote menu, choose Rescan to perform another search for all remote
Hardlocks available in the network and update the internal tables of the HL-Server menu
interface.
This function lets you update the table of available remote Hardlocks whenever
necessary.
The module addresses, (optional) names of HL-Server, network addresses and network
protocols (in abbreviated form) with which the menu interface accessed the HL-Servers
are displayed.
All network protocols specified in the Setup menu under Options are used in the
search.
Use this function if you think that something may have changed in the network or in the
HL-Server configuration since the Remote menu was selected for the first time (e.g. a
new HL-Server, uninstallation of HL-Server, computer down, bridge deactivated, etc.).
7.4.8 Exit Menu
There are several ways to exit the HL-Server menu interface and return to DOS:
• Use the menu with the keyboard or mouse:
Choose the Exit menu (with CTRL + arrow key) and press the ESC key.
• Use the keyboard without the menu:
You can leave HL-Server directly at any time and from any menu by using the
ALT+X key combination or by pressing the ESC key.
HL-Server
Command Line Switches
8
8-1
Command Line Switches
This chapter describes the command line switches with which HL-Server can be started.
Not all switches can be used with the different versions (TSR, NLM, Win32). Please
refer to a description of the relevant HL-Server types in chapters 3 to 6 for an overview
of which switches are available in each case.
Availability is identified as follows in the descriptions below:
D
HL-Server as DOS TSR
N
HL-Server as Netware NLM
W
HL-Server as 32-bit Windows application
WSVC
HL-Server as NT Service (Win32)
L
HL-Server for Linux
Prefix the individual switches with a – or / symbol without a following space. Use
spaces to separate the individual switches from one another. Use a colon (☺ to link
together switches and their arguments. Do not insert a space in this case.
You can either enter the full name of a switch or (in the case of several switches) just
the first letter. The two command lines below, for example, function exactly the same:
Examples
HLSERVER –module:29809,5 –timeout:10
HLSERVER –m:29809,5 –t:10
HL-Server
8-2
Command Line Switches
Command line switches
Switch
Function
Use with
Abbr.
-?
Displays switches that can be used with HLServer.
D, N, W,
WSVC
-?
-application
Starts HL-Server as an application.
L
-a
-auto
Automatically returns to the console screen after
installation.
N
-a
-boxsize:n
Defines the number of receive buffers to be
used.
D
-b:n
-comm:s[,s]
Used for specifying one or more network
protocols. If you do not set this switch, HLServer supports all protocols available on the
computer simultaneously. “s” refers to the “IPX”
or “NetBios” protocols.
D, W, N
-c:s,[,s]
-daemon
Starts HL-Server as a daemon.
L
-d
-display
Generates status information on Hardlocks
being served, logins, data packets at the top of
the screen (must be set before booting Windows
3.x).
D
-d
-enable;s
Activates a protocol.
W
-e;s
-forceNT
Forces HLS32 to start even under Windows
NT/2000/XP.
W
-f
-install
Installs HL-Server. You must always specify a
module address (-module:n[,m]).
D
-I
-logindisable
Prevents further logins to HL-Server.
D, N
-module:n[,m]
D
Module address of the Hardlock to be served
(N, W, L)
(you can enter up to three (DOS) / ten
(Win/NLM/Linux) addresses with one call). “n”
refers to a decimal module address. “m” is an
optional switch for limiting the number of login
entries to the number specified (other limitations,
such as the number of licenses purchased
cannot be exceeded). This parameter is only
required for DOS, other implementations support
“autoadd” whereby a hardlock is automatically
added upon the first client request.
-m:n[,m]
-name:s
Defines a name for HL-Server (no blanks,
maximum of 12 characters). Assigning a name
to HL-Server makes it easier to differentiate
between HL-Servers for administrative
purposes.
D, N
-n:s
-password:s
Defines a password for deleting a remote login
entry. The system will prompt you to enter this
password if you try to delete a login entry using
the user interface.
D, N, W
-p:s
HL-Server
-l
Command Line Switches
8-3
Switch
Function
Use with
Abbr.
-quickoff
Deactivates the cache when the Hardlock
memory is being accessed.
D
-q
-remove
Removes the HL-Server Service.
WSVC
-search:n[,n]
Specifies port addresses for the Hardlock search N
sequence.
-s:n[,n]
-start
Starts the HL-Server Service.
WSVC
(None)
-stop
Stops the HL-Server Service.
WSVC
(None)
-timeout:n
Used for specifying the amount of time after
which a login entry of a station that has crashed
should be deleted from the login table. The
default timeout value is 15. Values between 0 (=
timeout deactivated) and 9999 may be entered.
D,N,W,L
-t:n
-uninstall
Exits HL-Server and removes it from the main
memory. If there are any entries still in the login
table, the system will ask you if you are sure you
want to uninstall HL-Server. The –uf switch is
designed to let programmers suppress this
check.
D
-u,
-uf (suppresses
checking)
(None)
Switch descriptions
The switch descriptions are structured as follows:
HL-Server
8-4
Command Line Switches
-Switch:[Arguments]
(Version)
Brief description of switch.
Arguments
List of arguments that can be used with this switch.
Use
More detailed description of switch. Information on how it is used.
Example
Example and brief description of how the switch is
used. If the command line is preceded by [LOAD], this
switch can also be used with HL-Server NLMs. If the
command line is preceded by a (W), the command can
also be used for the 32-bit HL-Server. The one-letter
command abbreviation is used in the examples.
The various HL-Server programs are symbolized by
[HLSERVER]. Replace this entry by the following for
the specific program:
D
N
W
WSVC
L
HL-Server
HLSERVER
load HLSERVER
HLS32
HLS32SVC
HL-Server for Linux
Command Line Switches
8-5
-application
(L)
Starts the HL-Server for Linux as an application rather than a daemon.
Arguments
(None)
Use
Starts HL-Server for Linux as an application. Each incoming request is displayed
on screen. The application can be terminated by ^C.
Example
hlserver –a
HL-Server
8-6
Command Line Switches
-auto
(N)
Used for automatically returning to the console screen.
Arguments
(None)
Use
Used for automatically returning to the console screen after installing HL-Server.
Example
LOAD HLSERVER -i -m:29809 -a
HL-Server
Command Line Switches
-boxsize:NUMBER
8-7
(D)
Used for defining the number of receive buffers to be used.
Arguments
NUMBER
6 Minimum
16 Default setting
128 Maximum
Use
To increase speed, the packet received must be stored in a buffer. If only a few
stations access HL-Server, you can save resident memory (approx. 400 bytes
per buffer) by reducing the number of receive buffers. If there are many stations
in the system, this number can be increased. The default setting is generally
sufficient.
Example
HLSERVER -i -m:29809 -b:80
Increases the number of receive buffers used to 80.
HL-Server
8-8
Command Line Switches
-comm:PROT[,PROT]
(D,W,N)
Used for selecting one or more network protocols.
Arguments
PROT
IPX and NETBIOS can be used as switches.
Use
Use this switch to define which protocol drivers you wish HL-Server to support. If
you do not specify this switch, the system will support all available network
protocols.
Example
[HLSERVER] -i -m:29809 -c:ipx
HL-Server functions are only made available for IPX.
HL-Server
Command Line Switches
8-9
-daemon
(L)
Starts HL-Server for Linux as a daemon (rather than as application).
Arguments
(none)
Use
Starts HL-Server for Linux as a daemon. The daemon writes the start/stop
events and adds/removes a hardlock in the syslog – usually in
/var/log/messages. The daemon is stopped by "kill <processid>". The HL-Server
uses Posix threads, so it appears several times in the process list. Therfore
when you “kill” the first thread, the others will stop automatically.
Example
hlserver -d
HL-Server
8-10
Command Line Switches
-display
(D)
Used to display a status bar at the top of the screen.
Arguments
(None)
Use
Use this command to activate and deactivate a status bar in DOS when
installing HL-Server and at any later point in time. Do not use this option when
working with Windows 3.x and HL-Server. This can lead to distortions in the
Windows display.
Example
HLSERVER -d
Switches the status bar on and off when HL-Server is loaded as a resident
program.
HLSERVER -i -m:29809 -d
Activates the status bar during installation.
The HL-Server status bar:
HL-Server
Command Line Switches
8-11
-enable:PROT
(W)
Activates network protocols on the system.
Arguments
PROT
Valid switch is NETBIOS.
Use
This switch activates the NETBIOS protocol for the 32-bit HL-Server.
Example
HLS32 -e:netbios
Please note that enabling Netbios under Win9.x/ME may result in long delays
when HL-Server is started.
HL-Server
8-12
Command Line Switches
-forceNT
(W)
Forces the Windows 9.x/ME Server (HLS32) to start under Windows NT/2000/XP.
Arguments
(None)
Use
This switch starts HLS32 for test purposes even under Windows NT/2000/XP.
This procedure is not recommended for normal server operation. Please use the
HL-Server Service provided for Windows NT/2000/XP.
Example:
HLS32 -i -m:29809 -f
HL-Server
Command Line Switches
8-13
-install
(D)
Used for installing HL-Server software.
Arguments
(None)
Use
Used for installing HL-Server. Depending on network topology and the protocols
being used, installation may take several minutes. During this time the entire
network is scanned for nodes and all segments of the network are identified for
later operations.
Example
[HLSERVER] -i
Installs HL-Server.
HL-Server
8-14
Command Line Switches
-logindisable
(D,N,W)
Used to prevent other stations from logging on to the login table.
Arguments
(None)
Use
With this switch you can enable/disable further loggings on to the login tables.
Use this switch for test and maintenance purposes to prevent further users from
logging on.
Example
[HLSERVER] -l
When working with an NLM HL-Server, this command can only be issued from
the NLM user interface.
HL-Server
Command Line Switches
-module:MOD[,LIZENZ]
8-15
(D,N,W,L)
Used to inform HL-Server of the Hardlock module address.
Arguments
MOD
Module address of the application Hardlock.
LIZENZ
Number of licenses reserved for the Hardlock (optional).
Use
Specifies the module address of the Hardlock to be served. To use HL-Server
with more than one Hardlock, you can enter up to ten (only 3 for DOS systems)
addresses. You can restrict the number of entries in the login table for each
Hardlock, if for example you wish to distribute the total available licenses among
several module addresses. This configuration is not very safe and should only
be used for test purposes. Specifying the module addresses is necessary for the
DOS TSR only. Win32, NetWare and Linux HL-Servers support the autoadd
feature. Hardlocks are added automatically, when the first client attempts an
access.
Example
[HLSERVER] -i -m:29809,4 -m:29822,6
Installs HL-Server and integrates two Hardlocks in the network with the specified
addresses. Four spaces in the login table are reserved for the first Hardlock, six
for the second. This divides, for example, an HL-Server with 10 licenses into two
module addresses. If you do not specify the number of entries, the system
assigns all available entries to the Hardlock first entered and no entries remain
for the second Hardlock (this assumes, of course, that no limits were placed on
the number of licenses in the EEPROM of the first Hardlock).
HL-Server
8-16
Command Line Switches
-name:SNAME
(D,N)
Used for defining a name for HL-Server.
Arguments
SNAME
No blanks and a maximum of 12 characters may be used.
Use
HL-Server systems can be installed in up to 250 computers in a LAN segment.
In order to identify the individual HL-Servers in the network (e.g. for performing
administrative tasks via the HL-Server interface) each HL-Server can be
assigned a name during installation. If no name is entered, the system uses the
default name HLSERVER. under DOS, under NetWare the name of the
NetWare-Server.
Example
[LOAD] HLSERVER -i -m:29809 -n:PRODUCTION
HL-Server
Command Line Switches
8-17
-password:PASS
(D,N,W)
Used for defining a password for deleting remote entries.
Arguments
PASS
You can use up to eight alphanumeric characters (both
capital and lower-case letters are permitted) and the
numbers 0 to 9.
Use
When installing HL-Server, you can assign a password to prevent unauthorized
users from deleting a login entry. If such a password has been assigned, remote
login entries can only be deleted from the login table with this password.
Example
[HLSERVER] -i -m:29809 -p:Secret
HL-Server
8-18
Command Line Switches
-quickoff
(D)
Used for deactivating the cache when accessing the Hardlock memory.
Arguments
(None)
Use
To access Hardlock memory more quickly, all read accesses are managed in a
cache. Use this switch to deactivate the cache. This is not recommended for
normal operation since it slows down the system considerably. This switch is
basically designed for test purposes and special applications.
Example
HLSERVER -i -m:29809 -q
HL-Server
Command Line Switches
-remove
8-19
(WSVC)
Removes the HL-Server Service from the system.
Arguments
(None)
Use
This switch permanently removes the HL-Server Service from the system. To be
able to use HL-Server 32 on a Windows NT/2000/XP PC, the HL-Server Service
software must be installed.
Example
(W)
HLS32SVC -remove
Please note that this switch cannot be shortened. Before you remove HL-Server
Service once and for all, it must be halted with one switch.
HL-Server
8-20
Command Line Switches
-search:PORT[,PORT]
(N)
Used for specifying the order in which the system searches for the HL-Server Hardlock.
Arguments
PORT
Port address in hexadecimal form.
Use
Use this switch to explicitly define a search sequence. This can prevent conflicts
that occur when the LPT port addresses are searched automatically (for
example, LPT addresses of configured network adapters).
Example
LOAD HLSERVER -i -m:29809 -s:378,278
During installation of HL-Server, the system only searches for an HL-Server
Hardlock at the parallel port addresses 378 and 278 (both hexadecimal).
HL-Server
Command Line Switches
-start
8-21
(WSVC)
Starts the Hardlock Service.
Arguments
(None)
Use
With this switch, the HL-Server Service can be started by using the command
line version.
Example
HLS32SVC -start
Please note that this switch cannot be shortened. Before the HL-Server Service
can be started, it must be installed with -install.
HL-Server
8-22
Command Line Switches
-stop
(WSVC)
Ends the HL-Server Service.
Arguments
(None)
Use
This switch terminates but does not remove the HL-Server Service.
Example
HLS32SVC -stop
Please note that this switch may not be shortened. Should you wish to remove
the HL-Server Service once and for all, enter the switch -remove.
HL-Server
Command Line Switches
8-23
-timeout:MIN
(D,N,W)
Used for specifying the amount of time after which the login entry of a station that has
crashed should be deleted from the login table.
Arguments
MIN
0
No timeout
10-9999
Timeout in minutes
15
Default setting
Use
Experience shows that computers often crash and can only be restarted by
performing a warm boot or hardware reset. This is particularly true when a
program is being developed and/or tested. When this occurs, the login entry for
the workstation affected remains in HL-Server. The login table gradually
becomes cluttered with entries that are no longer being used. To avoid this, use
this switch to specify a certain amount of time after which a login entry should
automatically be deleted from the login table if the workstation logged on does
not access the Hardlocks. This frees up space in the login table for other
applications.
When manually implementing software protection, make sure you specify a long
enough timeout value so that your application is sure to check HL-Server within
this time. If this does not happen, the login entry will simply be deleted. (This
occurs, for example, when a program is waiting for an entry in an input routine
without a Hardlock check). Therefore, when using manual implementation, be
sure to use as high a timeout value as possible or deactivate the check
altogether.
Example:
[HLSERVER] -i -m:29809 -t:45
Installs HL-Server with a timeout of 45 minutes. The timeout value can also be
changed later for the DOS TSR (in the case of NLMs this can only be done from
the menu interface). The timeout in HL-Server 32 cannot be changed. With the
Aladdin Monitor and HL-Server Service the timeout cannot be changed
currently.
HL-Server
8-24
Command Line Switches
-uninstall
(D,N)
Used to remove HL-Server from memory.
Arguments
(None)
Use
Uninstalls HL-Server. You cannot uninstall HL-Server while other stations in the
network are logged on to one of the Hardlocks. Otherwise, the application
programs would no longer have access to the Hardlocks and would crash.
For this reason, the system prompts you with the following message when trying
to uninstall HL-Server when the login table is not empty:
Login table not empty, uninstall anyway (y/n) ?
If you enter Y, the system uninstalls HL-Server even if there are entries in the
login table, with the repercussions described above.
Example
[HLSERVER] -u
Uninstalls HL-Server. If the login table is not empty, the message above is
displayed.
[HLSERVER] -uf
Uninstalls HL-Server. The message above is not displayed, even if the login
table is not empty (uf = uninstall force).
HL-Server
Utility Programs
9
9-1
Utility Programs
9.1 HLOGIN
Use HLOGIN.EXE to manually log on to HL-Server for test purposes. Enter the module
address of the desired Hardlock and a task ID (optional). The task ID must be a
hexadecimal number of up to eight digits. The entry can be in either decimal (e.g. 1234)
or hexadecimal (e.g. $6af3) form. The task ID appears in hexadecimal form in the menu
interface.
HLOGIN 29809
Logs on to the demo Hardlock without a task ID (the task ID “0” is
used internally).
HLOGIN 29809 1234
Logs on with the task ID “1234”.
HLOGIN 29809 FILL
Fills the login tables of all the Hardlocks available in the network with
the module address 29809.
Use this program to fill the HL-Server login table for test purposes (or simply to test
whether HL-Server is functioning correctly).
For a brief description of the program enter HLOGIN without any switches.
9.2 HLOGOUT
As the counterpart to HLOGIN, HLOGOUT.EXE allows you to manually log off from HLServer. Again, you must specify a module address and task ID (optional).
HLOGOUT 29809
Logs off from the demo Hardlock without a task ID (the task
ID “0” is used internally).
HLOGOUT 29809 $1234
Logs off with the task ID “$1234” (hexadecimal)
Enter an asterisk (*) as task ID to log off all entries with the given module address from
the workstation from which you initiated HLOGOUT, regardless of the task ID.
HLOGOUT 29809 *
Logs off all task IDs of this workstation from all demo
Hardlocks.
For a brief description of the program, enter HLOGOUT without any switches.
It is not possible to logout other workstations (i.e. those with a different node address)
using HLOGOUT.
HL-Server
9-2
Utility Programs
9.3 EDITEEP
Use EDITEEP.EXE to modify the Hardlock EEPROM configuration files. You can read
the processed *.EEP files directly from the CP-EYE Crypto Programmer software.
Example: EDITEEP APPLI004
The screen-shot above shows an example of licensing for four simultaneous users. This
is done by programming the “Logins:nnnn” signature in the EEPROM of the Hardlock.
“nnnn” refers to the number of licenses as a decimal value (four figures padded with
zeros (“0”) from the left). This permits you to alter the number of licenses at any time by
simply exchanging or reprogramming the HL-Server (Network) Hardlock without having
to modify the software.
EDITEEP is simple to use:
• Use the arrow keys to move the cursor to the input field.
• Use the tab key to toggle between ASCII and hexadecimal input.
• Press ESC to abort the editing procedure without saving it.
• Press the F10 key to save the changes in the current file and exit the program. (The
EEPROM contents of a Hardlock cannot be directly altered using EDITEEP.)
HL-Server
Utility Programs
9-3
9.4 HHT
Use this test program to scan all local printer ports for HL-Server (Network) Hardlock
and display their permissible license entries. HL-Server “Hardlock on a Boards” are not
recognized by the program if connected to their programming cable (cable included in
shipment).
HL-Server
Brief Explanation of Terms
10-1
10 Brief Explanation of Terms
• Client/Server: A system in which the services or resources of one station are made
available to several others in a network.
• Client: The term “client” refers to programs which can use the services of HL-Server
from anywhere in the network in order to check the Hardlock and perform licensing
functions.
• Server: The “server” or “HL-Server” refers to the computer on which the HL-Server
program runs and from which it places its functions at the disposal of the network.
• “Serve”: To provide a service via the network. HL-Server places Hardlock functions
at the disposal of the network.
• Protocol driver: Program responsible for controlling communication with the
network (i.e. the exchange of data packages in the network, for example, IPX,
NetBios). It is directly linked to the board driver of the network adapter.
• Network shell: Program that recognizes accesses to the network drive and/or
network services and transfers them to the protocol driver (for example, NETX).
• Remote: An adjective used to describe a service or device that is accessed via the
network. The unit is not located locally.
• Login: The act of identifying oneself to a network and/or server before you can use
its functions.
• Login table: A list of users currently logged on to the system. The total number of
logins permitted at any given time is usually limited (licensed).
• Logout: The process of terminating a session with a network and/or server. The
functions of the network are then no longer available. Resources may be released.
• TSR: Stands for Terminate and Stay Resident. A DOS program that remains loaded
in memory and passes control functions on to the operating system while it
continues running in the background.
• NLM: Stands for NetWare Loadable Module. In the NetWare 386 server operating
system from Novell, NLM is the equivalent to the EXE extension in DOS.
• Node: A network device, such as the network adapter of a computer, that is
identified through a unique address.
HL-Server
10-2
Brief Explanation of Terms
In this manual it is assumed that the server computer and client computer are not
identical and are linked through a network. The client and server exchange information
via the network.
HL-Server
Error Messages
11-1
11 Error Messages
Error messages
Cause/remedy
Use with
Resident HL-Server is
damaged
When uninstalling HL-Server, it was found out that
the storage area of the resident program has been
overwritten (possibly by another TSR program). HLServer cannot be uninstalled. The computer should
be rebooted as soon as possible.
TSR
Remove TSR loaded after
HL-Server, then retry
Other TSR programs were loaded after HL-Server.
HL-Server can only be removed if it was the last TSR
program loaded.
TSR
More than x modules
specified
HL-Server can only serve up to ten (DOS:three)
Hardlocks; you have specified more than three
Hardlocks with -m:nnnn.
TSR/NLM
Invalid option: xxxxx
The system does not recognize the option you have
specified. Enter HLSERVER -? to obtain a list of valid
options.
TSR/NLM
Keep failed
The TSR could not be started because of an
incompatible DOS version.
TSR
HL-Server is not installed
HL-Server is not installed. The options you have
entered can only be processed if there is a resident
HL-Server or if an HL-Server is loaded with this call.
TSR
Network driver not found
Either the specified network driver is not loaded or no
network driver is loaded at all.
TSR
HL-Server is already
installed
HL-Server has already been installed.
TSR/NLM
No HL-Server Hardlock
found
No HL-Server Hardlock found.
TSR
No Hardlocks specified
At least one module address must be entered when
loading HL-Server.
TSR
Illegal timeout value
The value for the timeout switch must be set to 0 (=
no timeout) or to a value between 10 and 9999.
TSR/NLM
TSR was not started, please
use HLS32 under Windows
9.x/ME. Please use
HLS32SVC under Windows
NT/2000/XP.
The DOS HL-Server was started under Windows
9.x/ME or Windows NT/2000/XP. Please use the 32bit HL-Server (HLS32 under Windows 9.x/ME or
HLS32SVC under Windows NT/2000/XP).
TSR
Error level codes
HL-Server (TSR) and its utility programs output the “error level codes” listed below.
These codes can be requested by corresponding customer-specific batch programs.
(Please note that the error level codes must be in descending order when testing.)
HL-Server
11-2
Error Messages
Error level
Error description
0
No error
1
Errors caused by bad parameters
4
Function not supported
5
Network timeout occurred
6
Not logged in
7
Hardlock not found
8
Network error
9
Access not possible
10
Memory (de)allocation failed
11
Client/server version mismatch
HL-Server
Troubleshooting, Tips and Notes
12-1
12 Troubleshooting, Tips and Notes
This chapter provides you with troubleshooting guidelines, tips for working with certain
configurations and information on using HL-Server with other software. Be sure to read
the readme files on the Hardlock software CD which contain information on these
subjects that was not yet available when the manual was printed.
12.1 Searching for the HL-RUS License File (ALF)
When coding Hardlock modules for a network, license inforamtion is stored in a file with
the extension ALF.
HL-Server searches for the license information in the folder in which HL-Server is itself
located as an application or an service. This behavior can be altered by specifying an
environment variable.
Under Windows NT/2000/XP
1. Select System/Environment in the Windows Control Panel.
2. Enter HL_LICENSEDIR as the Variable and the required folder as the Value.
Note: You can only specify local folders for the service because the HL-Server
service cannot access other folders via the network.
3. The changes take effect next time the service is started.
HL-Server then searches the specified folder looking for files with the ALF extension
(Aladdin License File). It detects the correct license by means of the correlation with
the serial number.
Under Windows 95/98/ME
1. Open the AUTOEXEC.BAT file.
2. Specify the environment variable as follows:
SET HL_LICENSEDIR=[directory]
Example
SET HL_LICENSEDIR=C:\MYAPP\LICENSE
3. Save the changes.
HL-Server
12-2
Troubleshooting, Tips and Notes
The changes take effect next time the computer is started.
HL-Server then searches the specified folder looking for files with the ALF extension
(Aladdin License File). It detects the correct license by means of the correlation with
the serial number.
12.2 Specifying the Search Sequence
12.2.1 Background
It is possible to explicitly specify a search sequence with Hardlock API version 3.25 and
higher. This is done through environment variables. By defining a specific search
sequence, conflicts when the system automatically searches the LPT port addresses
can be avoided (e.g. with network cards configured for LPT addresses).
An API search for a Hardlock on the serial port can only be activated by means of the
environment variable.
Note: The search sequence will always begin with a check to see whether a Hardlock
USB module is connected.
12.2.2 Syntax
The syntax of the environment variable reads as follows:
HL_SEARCH=[Port],...,[Protocol],...
[Port] comprises the I/O address in hexadecimal form and a port ID:
Port ID
Meaning
p = parallel
Normal parallel port
s = serial
Normal serial port
e = ECP
Parallel port in ECP mode
n = NEC (Japan)
Japanese NEC models have a different port assignment. Consequently,
this switch enables a special handling routine to be activated. This
means a separate NEC API is not required.
C = Compaq Contura Docking
Base
The multiplexer of the docking base (used for switching between the
parallel port and Ethernet adapter) is reset to the parallel port for
checking a Hardlock.
i = IBM PS/2
The IBM PS/2 ID corrects an error when reprogramming the port of
certain video drivers under Windows. (The system cannot find Hardlock
once Windows is started.) Previously, this was done internally by the
Hardlock API. This function can now only be activated by using the
environment variable.
HL-Server
Troubleshooting, Tips and Notes
12-3
[Protocol] defines the protocol used for accessing HL-Server. The following key
words are currently supported:
Protocol
Meaning
IPX
HL-Server searched for via IPX or SAP.
IP
HL-Server searched for via TCP/IP.
NETBIOS
HL-Server searched for via NETBIOS.
Example 1
SET HL_SEARCH=378p
The system only searches for the Hardlock at the local parallel port with the
address 0x378.
Example 2
SET HL_SEARCH=378e,2f8s
The system searches for the Hardlock at the local parallel port with the address
0x378. To do this, the port is switched from ECP mode back to “normal” mode
while the Hardlock is being accessed. If the system cannot find the Hardlock, it
searches for it at the serial port with the address 0x2f8.
Example 3
SET HL_SEARCH=IPX,278p
The system first searches for a Hardlock supplied by the HL-Server using
IPX/SAP. If it is not able to log on to the HL-Server, it searches for the Hardlock
at the local parallel port with the address 0x278.
Example 3
SET HL_SEARCH=378p,278p,3BCp,IPX,NETBIOS,IP
This corresponds to the automatic search sequence (HL_LOGIN with
DONT_CARE) if the environment variable is not set. This entry is thus
redundant.
Note: The search sequence can be directly specified through direct programming of the
low-level API.
HL-Server
12-4
Troubleshooting, Tips and Notes
12.2.3 HL-Server Client for TCP/IP
When using the 32-bit HL-Server for Win9.x/ME or Windows NT/2000/XP, please bear
in mind that the search sequence of the protocols (if you are not using HL_SEARCH)
depends on the client. Thus:
• 16-bit search sequence: IPX, NetBios, IP
IP is searched last in order to change the former behavior as little as possible.
• 32-bit search sequence: IP, IPX
IP is searched first since this search is generally considerably faster than via IPX or
NetBios.
Search sequence for IP addresses:
1. Environment variable HLS_IPADDR (see below)
4. If no environment variable has been defined, the search takes place via DNS or
HOSTS for the station HLSERVER.
5. If no address has been found, the search takes place via broadcast in the local subnetwork.
To transfer IP packets, Winsock calls are used with a corresponding (16 or 32 bit)
WINSOCK.DLL. Please note that during installation many Internet clients install their
own WINSOCK.DLL (CompuServe, AOL, T-Online). In this case, accessing IP can
cause the Internet service provider to be dialed if the HL-Server is not found via IPX and
NetBios. You then need to exclude IP from the search with the following command:
SET HL_SEARCH=IPX,NetBios
The environment variable HLS_IPADDR has been introduced in order to optimize the
search via the TCP/IP protocol. It allows you to specify one or more IP addresses or
names. However, if several addresses are specified at the same time – in contrast to
HL_SEARCH – you cannot predict which of the specified HL-Servers will ultimately be
used.
Example
SET HLS_IPADDR=192.9.209.17,luzie.aladdin.de
HLS_IPADDR can also be used to specify broadcast addresses if required:
SET HLS_IPADDR=192.9.209.255,192.9.201.255
HL-Server
Troubleshooting, Tips and Notes
12-5
Since IP networks generally have considerably greater differences in propagation time
than IPX networks (e.g. WAN routes), the limits for timeouts and retries for the clients
must be set fairly generously. The default values are set so that the HL-Server should
be found with an existing 64 Kbit connection.
• SET HLS_WAIT=
Sets the delay between two retries, in milliseconds
Default
TCP/IP: 1000,
IPX: 200 (*)
min. 200
max. 30000
• SET HLS_RETRIES=
Sets the number of retries until the DONGLE_NOT_FOUND message is returned
Default
5
min.
2
max.
30
Note: The defaults vary, however SET HLS_WAIT changes the values for IPX and
TCP/IP.
12.2.4 Search Strategy
Please keep the following points in mind when specifying the access type with the
HL_LOGIN function:
• With HL_LOGIN(MODAD, LOCAL_DEVICE,...) the system searches all
local ports without the environment variable. By specifying the environment variable,
you can direct the system only to search local addresses (parallel and serial). It is
not possible subsequently to instruct the system to extend its search to the network.
• With SET HL_SEARCH=IPX,278p only the address 0x278 is used. The IPX
entry is ignored.
• With SET HL_SEARCH=IPX a Hardlock will not be found since the entry is
overruled by the access type specified with HL_LOGIN. HL_LOGIN returns error
code 15 (INVALID_ENV).
• With HL_LOGIN(MODAD, NET_DEVICE,....) the system searches all
supported protocols for an appropriate HL-Server without an environment variable.
HL-Server
12-6
Troubleshooting, Tips and Notes
By specifying the environment variable, you can only restrict the protocols used for
searching. It is not possible subsequently to instruct the system to extend its search
to local ports.
• With SET HL_SEARCH=IPX,2f8s only the IPX protocol is used. The 2f8s
entry is ignored.
• With SET HL_SEARCH=278p a Hardlock will not be found since the entry is
overruled by the access type specified with HL_LOGIN. HL_LOGIN returns error
code 15 (INVALID_ENV).
• With HL_LOGIN(MODAD, DONT_CARE,....) the system first searches
all local parallel ports without the environment variable. It then searches for an
appropriate HL-Server with all supported protocols. You can restrict the search in
any way you like by specifying the environment variable.
12.2.5 Comments
• If the environment variable does not contain a single valid entry, the HL_LOGIN
function returns error code 15 (INVALID_ENV).
• It does not matter whether the environment variable is in small or capital letters.
• When working with Windows 9x/ME programs, remember that the environment
variable must be set before Windows starts. Subsequent modification in a DOS box
has no effect on Windows programs.
• Under Windows NT/2000/XP, you can set the environment variable in the control
panel under System/Environment.
• HL_SEARCH must be set with the port identifier e in order to ensure correct ECP
port handling under Windows NT/2000/XP. This is because the Hardlock device
driver cannot check the port mode as in the case of 9x/ME.
• Specifying a port address ensures that your specific hardware is supported. For
example, the system searches for the Hardlock at port address 0x320 if SET
HL_SEARCH=320p is specified. Entering an incorrect port address can thus lead to
conflicts.
• Programs encrypted with HL-Crypt (version 5.64 or higher), HLWCrypt (version 4.06
or higher) and HLCWin32 (version 1.03 or higher) search for the Hardlock according
to the rules outlined above.
• The search sequence of serial ports is only supported by API version 3.50 and
higher.
HL-Server
Troubleshooting, Tips and Notes
12-7
12.3 Ports, Sockets and Filters
When accessing HL-Server via IPX or TCP/IP, clients send their requests to a certain
port or socket. These requests can only reach HL-Server, if the ports and sockets in
question are not blocked by routers, firewalls and alike.
• Under IPX the sockets 6666h and 7777h are used.
• Under TCP/IP the ports 3047/udp and 3047/tcp are used.
Please make sure that communication through these ports/sockets is possible, if you
want to uses these portcalls. If you use the security function in TCP/IP under Windows
NT/2000/XP, remember to open the ports 3047/udp and 3047/tcp.
12.4 What to Do When the Computer Crashes?
When client computers crash, unused login entries may accumulate in the login table of
a Hardlock. This blocks space for new entries. HL-Server software provides three ways
of deleting these entries from the login table:
1. Specify a value for the timeout function. Any workstation that does not access the
HL-Server (Network) Hardlock being served during this time is automatically logged
off (also see description of -timeout switch).
2. Use the HLOGOUT test program to delete entries of a workstation from the login
table. This call can be included in the AUTOEXEC.BAT file, for example, so that
when the computer is rebooted the table entries occupied by the workstation are
automatically deleted. (Enter an asterisk (*) for the task ID. If a workstation was not
logged on, nothing will happen then.)
3. Use the LOCAL and REMOTE functions in the LOGINS menu to delete entries in
the login table.
The last method can be protected with a password to prevent unauthorized persons
from deleting entries.
12.5 HL-Server TSR and Other TSR Programs
If you are using memory-resident programs that export part of their code or data to the
hard disk or to an EMS/XMS, load these programs after you load HL-Server. These
programs swap part of the main memory to disk and then load their own code when
they are activated. If the HL-Server program was in the area of memory being exported
by one of these programs, it would be overwritten during swapping and the network
interrupts would get lost.
HL-Server
12-8
Troubleshooting, Tips and Notes
Examples of such programs are QTSR and SideKick PLUS.
12.6 Multitasking, Windows & OS/2 and DOS TSR
Be careful when using multitasking programs such as Software Carousel, DESQview,
NetWare Access Server and Windows on the HL-Server computer. Depending on your
particular configuration, such programs can severely jeopardize the performance of HLServer. Always load HL-Server before starting the multitasking program. Make sure HLServer was installed properly before making the computer available for use.
12.6.1 Windows 3.x and DOS TSR
Windows 3.x and HL-Server are generally very compatible. However, be sure to load
HL-Server before starting Windows. The HL-Server status bar should not be activated
when Windows is being started. You can call the menu interface from a DOS box, but
do not perform an “install” or “uninstall”. The system will let you install HL-Server in a
DOS box under Windows, but after you close the box, HL-Server will no longer be
available to the application.
12.6.2 Windows for Workgroups and DOS TSR
Using Windows for Workgroups (WfW) together with HL-Server can cause problems.
The performance of both systems can be jeopardized.
The WfW network functions are unstable in both simple peer-to-peer operation and
when used with NetWare ODI drivers. Below is a description of the various possible
configurations:
• WfW without peer-to-peer functions (“Only install Windows support for the following
network” is selected): WfW runs like Windows 3.1 in this mode. HL-Server TSR and
the accessing application operate together without any problems.
• WfW as a peer-to-peer network (“Microsoft Windows network” and “No additional
network” are installed in the network setup). The NetBIOS which can be used by
HL-Server is available under WINDOWS. HLSERVER.EXE is called in the autostart
group. Since this is a TSR program, make sure the DOS box does not terminate
after the program is exited.
• WfW network and Novell NetWare in combination. Both the Microsoft NetBEUI and
Novell IPX are used with the ODI driver of the network adapter. With this
configuration, certain router information packets, triggered by, for example, an HLServer access, are incorrectly sent. The range of symptoms extends from HL-Server
not being accessed to loss of server access (may only happen sporadically). To get
HL-Server
Troubleshooting, Tips and Notes
12-9
around this problem would take too much time and would have significant side
effects.
We only recommend using HL-Server in the first solution described above. The second
configuration should only be used as a temporary solution in exceptional cases.
Since WfW has not been upgraded, this problem will continue to exist until a new
version comes out (i.e. the network routines of the new version have been completely
redesigned and the problems thus no longer occur).
12.6.3 Windows 9.x/ME, Windows NT/2000/XP
You can install the TSR HL-Server in a DOS box under Windows NT/2000/XP or
Windows 9.x/ME. However, it is no longer supported due to the various disadvantages
associated with the use of a DOS box in the Windows environment (closing the box
terminates HL-Server). In this case, use the 32-bit HL-Server or the HL-Server Service.
Note: If you should run into difficulties installing HL-Server under Windows 9.x/ME, you
can force the system to generate a logfile by entering HLS32 -m:xxxxx logfile. The file
will be named hls32.log and stored in the current Server folder. It contains valuable
information about the successful progress of the respective protocol initializations.
12.6.4 OS/2 DOS Box, LAN Server and DOS TSR
You can install HL-Server in a DOS box under OS/2, but after you close the box, HLServer is no longer available to the application!
In some versions of the OS/2 LAN Server, the NetBios name services for DOS boxes
are deactivated (default setting). No HL-Server can be found without the name services
(this also applies to other software, such as Stomper and Exac).
Enter the following command directly after activating a DOS box (in any event, before
trying to access the network) to activate name services:
LTSVCFG s=10 c=10 n=10 n1=1
The LTSVCFG.COM program is part of the LAN server and is automatically installed
with it.
Switch explanations:
s
Number of NetBios sessions
c
Number of NetBios commands
n
Number of NetBios names
n1
0 name services deactivated
n1
1 name service activated
HL-Server
12-10
Troubleshooting, Tips and Notes
Be sure to set name services to n1=1. The other switches (s, c and n) may have to be
adjusted to your particular configuration. If HL-Server or HL-Server client is the only
program which uses NetBios in the DOS box, you should not use any switches other
than the ones listed above.
12.7 Several HL-Server Systems in a Network
You can run up to 250 HL-Server systems per network segment. Hardlocks with the
same module address but different coding can only be distinguished from one another if
the client program identifies them with the REFKEY and VERKEY switches of the
HL_LOGIN(...) function (see the HL-API Manual). HL-Crypt always performs this
identification automatically.
You can use as many local Hardlocks as you like in addition to the HL-Server systems.
You cannot use Hardlock with the same module address but different base
codes/subcodes on the same HL-Server. Use different module addresses for Hardlocks
with different coding. Otherwise, you cannot use them together even in local operation.
12.7.1 One “Hidden” Additional License
If a protected application is set up to be used with both a local and remote Hardlock,
when used on an HL-Server computer, it will access the local Hardlock. No login entry
will be made to HL-Server. This means the application can be used by one more user
than there are spaces in the login table.
To prevent this, issue different module addresses to the local and remote Hardlock (e.g.
the application uses either the local Hardlock 12345 or the remote Hardlock 12346).
If you do not wish to assign different addresses, keep this “loophole” in mind when
issuing licenses.
12.7.2 Novell NetBios Emulation
The Novell NetBios emulation has certain peculiarities that can affect operation with HLServer:
• Setting up the group name when installing HL-Server can require a great deal of
time, especially in a network with multiple segments.
• When first accessing the NetBios after loading the NETBIOS.EXE and later at
irregular intervals, the emulation executes various initialization procedures which
can be very time consuming. As a result, functions such as Select and Rescan in
HL-Server
Troubleshooting, Tips and Notes
12-11
the Remote menu may take considerably longer than in “real” NetBios networks or
with IPX.
• If you first install an HL-Server on a computer with the IPX protocol, then load the
NetBios and finally activate the graphical interface of HL-Server. When you execute
Rescan in the Remote menu (via IPX and NetBios), depending on the size of the
network, the NetBios emulator will probably not function correctly.
These problems are only particular to Novell NetBios emulation; they do not occur in
other NetBios networks.
12.7.3 Extreme Network Load
If the network is subject to an extreme load (for example if a file server is streamed via a
workstation, or a stress test is performed on a very large number of computers), the HLServer client may no longer be able to access “its” HL-Server. The HL-Server program
itself and the client routines are equipped with sophisticated timeout and retry
mechanisms. However, at some point, if the network is too overloaded, communication
ceases. (This problem also occurs with Novell Netware; when the network is
overloaded, no file server can be accessed.) In this case, the HL-Server client routines
function as if the requested Hardlock was not available.
This problem occurs more frequently on slow HL-Server computers than on fast ones.
This is because fast computers are able to respond to more requests before the network
timeout has elapsed than slow computers. You can only remedy the problem by
lessening the load on the entire network. Individual measures which can be taken
depend on the given situation and cannot be covered within the scope of this manual.
12.7.4 Time (DOS)
You may have noticed that after lengthy copying sessions via the network, the time
noted by the software in your computer (not the hardware clock) is behind. This is due
to the fact that when the network adapter is severely loaded, the “ticker interrupt” is
sometimes skipped. The ticker interrupt ensures that the computer’s software clock
continues running. (The hardware clock is normally only read when you boot the
system.)
This problem does not occur with the client routines of HL-Server. However, this
problem may occur on the computer on which HL-Server is resident. If, for example, you
run a number of remote stress tests for a few hours, the time in the HL-Server computer
may differ slightly from the actual time.
HL-Server
12-12
Troubleshooting, Tips and Notes
Although it might seem logical to try to correct this problem by regularly reading the
hardware clock and then resetting the software clock, this is not advisable since doing
so disturbs the time response of HL-Server. Since the network’s normal operation is not
affected by the clock’s incorrect time, you should not make any adjustments to the
software clock.
If, in special configurations, the discrepancy between the software clock and hardware
clock becomes too great after continuous operation of HL-Server, you can activate the mtc (“Midnight Time Correction”) switch when installing the TSR:
hlserver -i -m:29809 –mt
HL-Server
Index
13-1
13 Index
A
F
Aladdin License File .............................12-1
-forceNT ...............................................8-12
ALF .......................................................12-1
H
application
Hardlock API ..........................................7-8
command-line switch .........................8-5
Hardlock documentation ........................1-1
-auto .......................................................8-6
HHT........................................................9-3
B
HL-Crypt.................................................7-8
-boxsize: .................................................8-7
HLOGIN..................................................9-1
C
HLOGOUT..............................................9-1
CLIB.NLM ...............................................6-1
HLS32 ....................................................3-2
Client/Server.........................................10-1
HL-Server ...............................................3-2
-comm.....................................................8-8
HL-Server installation
Compaq Contura ..................................12-2
API.....................................................1-4
D
daemon
I
IBM PS/2 ..............................................12-2
command-line switch .........................8-2
-daemon .................................................8-9
-install ...................................................8-13
Installation
-display .................................................8-10
Testing...............................................1-4
DOS........................................................1-3
IPX.................................................8-9, 12-2
Driver installation API .............................1-4
K
E
EDITEEP ................................................9-2
Kill
Stopping the HL Server.....................5-2
EEPROM ................................................9-2
L
-enable:.................................................8-11
LAN Server...........................................12-9
License data
HL-Server
Index
13-2
Search .............................................12-1
Linux
Node.....................................................10-2
Novell NetBios....................................12-11
Command-line switches ....................5-1
O
HL Server for Linux............................5-1
OS/2 ..............................................1-3, 12-9
general ................................... 5-1
P
Possible client protocols ....................1-6
Password .............................................8-17
Possible server protocols ..................1-7
-password:............................................8-17
Server types ......................................1-7
Peer-to-peer .........................................12-8
logfile ....................................................12-9
Protocol driver ......................................10-1
Login.....................................................10-1
Q
Login table ............................................10-1
-quickoff................................................8-18
-logindisable .........................................8-14
R
Logout...................................................10-1
Receive buffers ......................................8-7
M
Remote.................................................10-1
Memory.................................................8-18
-remove: ...............................................8-19
Microsoft Windows network..................12-9
S
-module
SAP ......................................................12-2
N
Search
-name: ..................................................8-16
Aladdin License File ........................12-1
NEC API ...............................................12-2
Search strategy ....................................12-5
NetBEUI................................................12-9
-search: .......................................8-20, 8-22
NETBIOS.................................... 8-12, 12-2
Server...................................................10-1
Netware ..................................................1-3
-start .....................................................8-21
Netware SFT III ......................................6-1
STREAMS.NLM .....................................6-1
Network protocol layer............................1-6
T
Network shell ........................................10-1
TCP/IP..................................................12-4
NLM .............................................. 6-1, 10-1
-timeout: ...............................................8-23
HL-Server
Index
13-3
TSR ......................................................10-1
Server protocols ................................1-6
Typographical conventions.....................1-1
W
U
Windows...............................................12-8
-uninstall ...............................................8-24
Windows 3.1x.........................................1-3
USB
Windows 9.x/ME ..................................12-9
Hardlock in a network ........................1-5
Windows 9x/ME .....................................1-3
Linux installation ................................5-1
Windows for Workgroups .....................12-8
Search sequence.............................12-2
Windows NT/2000/XP ...................1-3, 12-9
HL-Server
Download