******  This text file has been produced from the hypertext document ******

******  YOU SHOULD USE THE HYPERTEXT DOCUMENTATION ****** 

SFLOGIN


NetWare Login Enhancer:	Version 1.14

Program Guide


Copyright O 1994-1995
Network Design Systems Pty Limited
All Rights Reserved

Network Design Systems Pty Limited are part of the Novell Professional Developer 
Program, and have applied for participation in the NetWare `YES' program.


Novell,.NetWare, NetWare 3.12, NetWare 4.X and Envoy are trademarks of Novell Inc.
Intel and LANDesk are trademarks of Intel Inc
MS-DOS, Windows 3.1, Windows 95 and Windows NT are registered trademarks of Microsoft Corporation
SFLOGIN, and FLOGIN are registered trademarks of Network Design Systems Pty Limited

Limited Warranty and Remedies

THE PROGRAM IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, 
EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO 
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR 
PURPOSE.  IN NO EVENT WILL NETWORK DESIGN SYSTEMS PTY LTD BE 
LIABLE TO YOU FOR ANY DAMAGES, INCLUDING INCIDENTAL OR 
CONSEQUENTIAL DAMAGES, ARISING OUT OF THE USE OF THE 
PROGRAM, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

YOU ACKNOWLEDGE THAT YOU HAVE READ THIS LICENSE, 
UNDERSTAND IT AND AGREE TO BE BOUND BY ITS TERMS AS THE 
COMPLETE AND EXCLUSIVE STATEMENT OF THE AGREEMENT 
BETWEEN US, SUPERSEDING ANY PROPOSAL OR PRIOR AGREEMENT, 
ORAL OR WRITTEN, AND ANY OTHER COMMUNICATIONS BETWEEN US 
RELATING TO THE SUBJECT MATTER OF THIS LICENSE.

Network Design Systems (NDS) Pty Limited provides this program and licenses its use 
worldwide subject to the terms of this License.  You assume sole responsibility for 
achieving your intended results, and for the installation and use of the program.

You may use the program on a single file server, and make a backup copy, but you 
are prohibited from making or transferring additional copies.

Tree Site Licensees may use the program on unlimited servers within a single NDS 
tree.

Full Site licensees may use the program on unlimited servers within unlimited NDS 
trees.
About the developers
Network Design Systems Pty Limited specialise in the development of Network enabled 
applications and utilities. We are keen to deliver to you a product such as SFLOGIN 
that enables true mobile computing.

Our aim is to focus on products that help users tap the power of Global Networks.  
Look for more products that will let you work smarter, not harder, within an enterprise 
system.

******

Contact Details

Postal Address:	Network Design Systems Pty Limited
	PO Box 8
	GARRAN ACT 2605 AUSTRALIA

Telephone Contacts:	Phone:	61-6-281 7217
			Fax:	61-6-281 2234

Within Australia:	Phone:	(06) 281 7217
			Fax:	(06) 281 2234

Electronic Mail		Compuserve:	100033,3171
			Internet:	100033.3171@compuserve.com 	
					100033,3171@compuserve.com

If telephoning please take your timezone into account.  Check your offset
from Sydney, Australia for local time.

******

IMPORTANT NOTE

This manual describes that SFLOGIN supports Bindery logins.  Due to time constraints 
this feature will now be available in the next version.  The description of bindery mode 
was left in the guide to allow you to understand how this feature will operate.
******

QUICK START GUIDE

For NetWare 4.X use SFLOGIN to quickly locate user objects in your NDS tree, and 
simplify the login process.

For NetWare 3.X use SFLOGIN to simplify the login process.

To get going quickly with full screen SFLOGIN:

1.	Copy the Following files from the SFLOGIN distribution disk into your 
	SYS:LOGIN and SYS:PUBLIC directories:

		SFLOGIN.EXE
		SFLOGIN.CFG
		SFLOGIN.HLP

You can run SFLOGIN from another directory, however you must create an NLS 
subdirectory and copy the NLS files from the server (SYS:SYSTEM, SYS:PUBLIC, or 
SYS:LOGIN).  This is a Novell API requirement.

2.	Edit your STARTNET.BAT or other network batch file, and add the following 
	lines after you have loaded the VLMs:

		VLM
		F: (or your first network drive)
		SFLOGIN

4.	Run STARTNET and you're in SFLOGIN!

Read the documentation fully.  Virtually every aspect of SFLOGIN is 
customizable, including the screens.

If you have any problems PLEASE contact us by phone, fax, or email.

******

SFLOGIN Version 1.14 User Guide and Command Reference

Introduction

SFLOGIN.EXE was developed to enhance the Novell NetWare login process.

For Bindery servers (NetWare 3.X) SFLOGIN provides a full screen login interface, 
simplifying user login, and providing many other useful features.

For NDS operation (NetWare 4.X) SFLOGIN adds the ability to support remote 
computing by searching the NDS tree for a specified user object.

With the NetWare 4.X LOGIN.EXE, the user's PC must have it's context set to where 
the user object is located, or the user must supply a complete or partial name.  This 
becomes difficult with organisations where users in different containers share PCs, or 
move around the organisation, but still want to login at any time simply by specifying 
their object name (NOT the complete name).

Whether using the full screen interface, or the single line mode SFLOGIN will search 
the NDS tree and attempt to locate the user object.  Once the object is found the 
LOGIN executable is called to complete the login process.

Another situation is where you want the users to login with a simpler name, eg. serial 
number, position number, mainframe id, or initials.  However, you want them 
authenticated as their full object name.

With SFLOGIN.EXE a user can enter an object name, or any one of the names listed 
as NDS 'Other Names', and login from any context. An 'other name' is a property of 
an NDS user object, and can have multiple values.  These are entered via NetWare 
Administrator or NWADMIN and are NOT aliases. Note that additional rights are 
required for the [public] trustee to allow other name matching. 

With NDS you can have the same object name in multiple contexts.  If SFLOGIN finds 
multiple object names (or other names ) during the search it will display them in a pick 
list and prompt the user to select the correct object.  Wildcards are also supported.

******

Registration

SFLOGIN is the result of many hours of work!  You may evaluate the enclosed fully 
functional version for up to 30 days.

The registered version of the software does not display UNREGISTERED VERSION on 
execution.  In full screen mode it displays a registration name for 5 seconds on the 
bottom line.  In command line mode it displays the message 'Enter your login name:' 
(to mimic LOGIN).  

After registration we will automatically provide 90 days support, and provide new 
releases during this time frame.  You may subscribe to 12 months of additional 
support and updates (including major releases). Normal support is via email or 
facsimile, however we can respond to urgent problems via telephone.

Payment detailed are contained in the Order Form Section.

******

Distribution Files

Table 1 lists the files contained within the distribution diskette or archive.

FileName		Description

SFLOGIN.EXE		Main executable
SFLOGIN.CFG		Sample configuration file
SFLOGIN.HLP		Sample help file
SFLOGIN.LIC		License File (Registered users only)
README.1ST		Introductory text file
NLOGIN.BAT		Sample calling batch file
/DOCO/README.TXT	Details on the various documentation formats and how to use them.
/DOCO/SFLOGIN.EVY	SFLOGIN documentation in Envoy format.
/DOCO/SFLOGINE.EXE	SFLOGIN documentation in Microsoft Windows self viewing Envoy file
/SCREENS/BANA.LGN	Sample Login Screen
/SCREENS/FISH.LGN	Sample Login Screen
/SCREENS/FISHTECH.TXT	Part of the FISH.LGN sample Login Screen

Note that if you are unpacking SFLOGIN from the SFLGIN.ZIP distribution, it should 
display authenticity information:

	Authentic files Verified!   # EZU964
	Network Design Systems

If this information is not displayed then THE DISTRIBUTION HAS BEEN TAMPERED 
WITH - DO NOT USE THE FILES.  Please contact Network Design Systems to receive 
another copy.

******

Installation

The recommended installation method is to install SFLOGIN in the SYS:LOGIN and 
SYS:PUBLIC directories.  If you want to install to a different directory then you will need 
to create an NLS subdirectory in the new location and copy the NLS files from the 
server (eg. from SYS:LOGIN\NLS or SYS:PUBLIC\NLS).

To install SFLOGIN as recommended:

1.	Login to your file server(s) as an administrative user who has full rights to the 
	SYS:LOGIN and SYS:SYSTEM directories.

2.	Map a drive to the root of the SYS: volume eg.

		MAP G:=SYS:

3.	Copy the following files to SYS:LOGIN and SYS:PUBLIC:

		SFLOGIN.*

	eg.  	XCOPY A:\SFLOGIN.* G:\PUBLIC
		XCOPY A:\SFLOGIN.* G:\LOGIN

4.	Make any changes required to the help files (SFLOGIN.HLP) and configuration 
	file (SFLOGIN.CFG).	  At this stage you may want to create a custom login 
	screen and also copy it to the two directories.

5.	Flag the files as read only ie.

		FLAG G:\LOGIN\SFLOGIN.* Ro
		FLAG G:\PUBLIC\SFLOGIN.* Ro

6.	Edit the STARTNET.BAT or AUTOEXEC.BAT of any workstation that you want to 
	run SFLOGIN to load the program after executing the VLMs and changing to 
	the server drive. eg:

		<rest of batch file>
		IPXODI
		VLM
		F:
		SFLOGIN

7.	Copy the documentation to where you like it installed. eg:

		XCOPY A:\SFLOGIN\DOCO\*.* G:\APPS\SFLOGIN\DOCO

******

Novell Authorised Education Centres (NAEC)

We support the role of NAECs in bringing professional training to the networking 
industry.  Any NAEC may use SFLOGIN in-house free of charge. When you register 
simply quote your NAEC name and number, which we will verify with Novell.  Once 
this is confirmed we will email (only) a registered copy of SFLOGIN with your NAEC 
name. If you would like a copy sent by freight, including updates then send a purchase 
order covering the freight and support rates shown in the ordering section.
Upgrading from FLOGIN
SFLOGIN is 100% compatible with and supports all previous FLOGIN options.  
SFLOGIN can still be used without the full screen interface, and in this mode it is 
identical 

******

How it works

In NDS mode SFLOGIN works by getting a user object name, and searching the NDS 
to match the name with either an object name or object's 'other name'.  If a match is 
made the object's full or relative name is passed to the Novell LOGIN by directly 
jumping (recommended), or passing the object name to the DOS environment 
variable USERID.  

Objects are located by directly searching the NDS tree, using client server APIs from 
the Novell SDK.  No third party database is used or necessary.  The searching occurs 
on the file server, making it as efficient in time and bandwidth as possible.
NDS Rights

SFLOGIN can search the NDS tree using the NetWare 4.1 default rights.  Upon 
installation NetWare 4.X assigns the [public] object as a trustee of [root] with Browse 
object rights.  This allows the NDS tree to be viewed and searched before login, based 
upon object Common Name (CN).

If these rights are removed then SFLOGIN can still function, but it will be unable to 
search for users throughout the tree.  Only the current context will be searched for any 
user object name entered.  In this mode it is basically running as a Login screen.

For SFLOGIN to locate objects using the `Other Name' property the [Public] object 
must be granted the COMPARE right to the object's CN property.  This can be done 
globally by granting the [Public] object the compare right to ALL PROPERTIES of 
[Root].  This does not greatly compromise security (in most circumstances), as you can 
only compare values NOT read what they are.  These rights are not required if you 
only want SFLOGIN to search and match based upon the user object Common Name 
(CN).

******

Other Name Matching

SFLOGIN by default searches for a username based upon the NDS common name.  
Another useful feature is the ability of SFLOGIN to match on any of the object's NDS  
`other names'.  User object `other names' are defined within NDS using NWADMIN or 
NETADMIN.

For SFLOGIN to locate objects using `other names' the [Public] object must be 
granted the COMPARE right to the object's CN property.  This can be done globally 
by granting the [Public] object the compare right to ALL PROPERTIES of [Root].  This 
does not greatly compromise security (in most circumstances), as you can only 
compare values NOT read what they are.  

Only assign these rights if you want `Other Name' matching.  SFLOGIN does not 
need these rights to match on object common names.

To assign these rights with NETADMIN (DOS)

1.	start NETADMIN and select 'Change Context'
2.	enter [root] as the new context and press enter
3.	select 'Manage Objects' from the menu
4.	Press <F10> to manage the [root] object
5.	Select 'View trustees of this object' from the menu
6.	Select 'Trustees' from the menu ('Trustees of this object')
7.	Press <insert> to add a new trustee
8.	enter [public] as the trustee name (including brackets)
9.	select 'All property rights' ('R' is then added)
10.	Press enter to select the rights
11.	Press <delete> to remove the 'R' rights
12.	Press <insert> to add new rights
13.	Add compare rights (C)
14.	Press <ESC> to save changes


To assign these rights with NWADMIN (Windows)

1.	start NWADMIN
2.	select 'View' menu and 'Set Context' 
3.	enter [root] and click ok
4.	select 'Object' menu and 'Trustees of this object'
5.	select 'Add trustee'
6.	select the [public] object from the objects box and click OK
7.	from the 'Property Rights' box check that 'All Properties' is
	selected and only the 'Compare' checkbox is selected
8.	click OK and exit NWADMIN

******

Usage

Usage:

SFLOGIN [USERID] [/D] [/R] [/S] [/K] [/P[n]] [/V] [/C] [/T] [/L] [/A] [/O] [/N] [/F[:Path]] 
[/Ex] [/J:[Executable]] [/X:[filename]][/?]

Note that default options can be read from a text file, SFLOGIN.CFG, in the same 
directory as SFLOGIN.EXE .  Any command line options will be added to the 
configuration file options.  The command line overrides the configuration file where 
there is a conflict.

Options read from the SFLOGIN.CFG file can be overridden by specifying the option 
with a minus (-) on the command line eg.  If the SFLOGIN.CFG file has /X (full screen) 
as an option, and you only want the command line interface, run SFLOGIN /X-, to 
disable the full screen.

If a name to search for is not specified the user will be prompted. 

A full or partial name may also be entered (eg. FRED.SALES.XYZ).  SFLOGIN will 
change to the context specified (SALES.XYZ) and then search for the object 'FRED'.  All 
of the normal NDS naming rules apply, so that if you enter an object name 'FRED..', 
SFLOGIN will move the context two steps up the tree and then commence the search.

Wildcards are fully supported, so you can search for a name such as:  'RFG*', 
'ADMIN*', 'SMITH*', or even just '*'.

If using the environment variable NDS method SFLOGIN.EXE should be run from a 
batch file so that the NetWare 4.X LOGIN can be called with a parameter of 
%USERID%.  A sample batch file, NLOGIN.BAT is included. Please experiment with 
NLOGIN.BAT and modify its operation to suit your needs.

******

Function Keys

In Full Screen mode the following function keys apply:

F1

	Displays the contents of the SFLOGIN.HLP file.  This file may be edited to 
	display custom help details.

F5
	Activates the NDS tree browser.  Pressing F5 changes to a graphical display of 
	your current NDS tree.  Using the browser a user can move around the NDS to 
	try and located the required object.  The following keys are used by the 
	browser:

	Browser Key		Description

	Up Arrow		Move up the tree
	Down Arrow		Move down the tree
	+ or <enter>		Expand a branch of the tree
	- or <enter>		Collapse a branch of the tree
	F10			Select Object

Once an object has been selected, pressing <enter> on a user object will return to 
the login screen with the selected name filled in the entry box, and the cursor moved 
to the password box.

If you want to make the user aware of the function keys then build a custom login 
screen with a description of the keys displayed.

******

Bindery Mode Options

/B
	Start SFLOGIN in bindery mode.  SFLOGIN will attempt a bindery login to the 
	current server.  SFLOGIN will jump to LOGIN.

	Normally no other options are required for bindery mode support. If a username is 
	entered on the command line it will be pre-filled in the login screen.

	Bindery mode is automatically selected if the current server only supports bindery 
	logins (NetWare 3.X).

******

Basic NDS Options

By default SFLOGIN searches the current context.  Additional options are:

/S
	Search the current context and subtree of the current context.

/R
	Search from the root of the tree.  After searching the current context down, the 
	context is set to [root] and the search restarted.

/P(n)
	Search the parent tree of the current context, up to (n) levels.

	/P1 	will go up one level and then search the subtree.

	/P2 	will go up one level and then search the subtree. If the object is 
	not located it will go up another level and search the subtree.

	If the (n) is not specified with /P, SFLOGIN will continue to go up one level and 
	search the subtree until the object is found or the [root] context is reached.
	
/X[:filename]

	Display the full screen interface.  If no screen file is specified then load the 
	internal screen. Commands for building screens are detailed in the Screen 
	Building Reference.

/J[:filename]

	Jump to the LOGIN program.  This option causes SFLOGIN to call LOGIN 
	with the object name as the first parameter.  The password is entered by 
	SFLOGIN stuffing the keyboard. This method is recommended and is generally 
	the most suitable.

	If a filename is not specified then SFLOGIN will try to load an executable 
	called LOGIN.  This could be the Intel LOGIN.COM or the Novell 
	LOGIN.EXE.  If a filename is specified then SFLOGIN will try to find the 
	program in the current path.

	If /J is specified then the user name and password is verified by SFLOGIN 
	before LOGIN is called.  If these cannot be verified then SFLOGIN will keep 
	prompting the user for a valid user name and password. If /J is used then /C is 
	assumed (see advanced options).

	No environment variables are set by default if /J is specified.  To continue to 
	set environment variables you must also specify a /E option.
	Advanced NDS Options
/K

	In full screen mode keep the username as entered and do not expand it to a 
	full NDS name.

/T

	Return typeful names.

/L

	Do not dereference aliases when traversing directory.  This is only necessary if 
	the situation occurs where SFLOGIN starts looping due to the configuration of 
	alias objects.  When specified it dereferences the alias object from it's 'home 
	object' during the search. It is normally not required.

/C
	Change default context to discovered object's home parent container.  If /J 
	(jump to LOGIN) is used then /C is assumed.

/O

	Set the initial context to the DOS environment variable 'OLDCX'.

/N
	Set the discovered object's parent container to the DOS environment variable 
	'NEWCX'.

/Ex

	Selects different algorithms for locating the Master Environment Segment.  This 
	option is required because making changes to the master environment is an 
	undocumented DOS feature.  The default method (x=1) works for almost all 
	cases, however diskless workstations may not function correctly in this mode.  
	The options for this switch are:

	X Value		Description

	1		Locate environment using interrupt 2Eh technique
	2		Locate the very first environment in MCB chain
	3		Locate last environment segment with Address greater than PSP
	4		Locate environment segment with parent PSP as its is own parent

	Only use this parameter if you encounter problems with the DOS environment 
	using the default method.  You may also find this parameter necessary if you 
	are using DOS enhancements such as 4DOS or NDOS.  The best approach is 
	to experiment with each option and determine which gives the best results with 
	your configuration.

/F[:path]

	If the /F option is used, any /Ex switch is ignored.  Instead of  creating 
	environment variables USERID, OLDCX, and NEWCX, small text files of the 
	same names are created which can be piped to LOGIN or CX. The files will be 
	created in the current directory, or the directory specified with the optional 
	PATH parameter.

******

Common Options for NDS and Bindery Mode

/D

	Screen debug mode.  The /D option allows SFLOGIN to start even without a 
	valid server connection.  This mode is generally used to debug screens during 
	the building process.

/V

	Sets verbose mode.  Displays information on the current operation. Note that 
	/V is ignored in full screen mode, so use the command line mode if you want 
	to troubleshoot the search process.

/?

	Help.  Displays the help screen.

******

Building Search Expressions

All options can be used to build a compound search expression. The current 
context is always searched first, and if you specify /S, /P and /R then the 
subtree (/S) is searched first, then the /P(n) search is conducted before 
searching from the root (/R).
Example
	SFLOGIN BILL /S /R /X /J

This will use NDS Mode, load the full screen interface, search for an object with a CN 
or 'other name' of BILL in the order:

1.      The current context
2.      The subtree of the current context
3.      From the [root] down the entire tree

The search will terminate at each step if the object is found. eg. if the object is found 
in the subtree of the current context, the root will not be searched.

The user is then asked for a valid password and once verified SFLOGIN will jump to 
LOGIN.

******

SFLOGIN.CFG - Default Configuration File

SFLOGIN will read defaults from the files SFLOGIN.CFG.  You should modify this file 
to include the options required for your network.  The SFLOGIN.CFG that ships on the 
distribution disk contains:

/S /R /C /O /N /X /J /K

******

Return Codes

The following DOS error codes are returned:

	Return Code		Description
	0		Program terminated normally
	1		Program terminated abnormally (use /V with not /X to debug)
	2		Name not found (command line mode only)
	3		User pressed <esc> to terminate full screen mode

******

Known Issues

SFLOGIN.EXE must execute from the LOGIN, SYSTEM, or PUBLIC directories in order 
to locate the NLS tables.  This is a requirement of Novell and the NDS APIs.  If you 
want to run SFLOGIN from a different directory then make an NLS subdirectory and 
copy the NLS files.

SFLOGIN uses a grace login when it verifies the password.  This means that you may 
to increase the number of grace logins to users.  This will be resolved in the next 
version, without loss of functionality

If /J is specified then you cannot set environment variables, even if /Ex is specified.  
This will be resolved in the next release.

Bindery mode is not yet supported.  This will be added to the next release.
Enhancements we're working on

A 32 bit version is under development, to support login in Windows 95 NT, and OS/2 
Warp.  It will support the display of high resolution full screen graphics, in addition to 
the current functionality.  Let us know if you would like to be placed on the beta 
program.

National Language support to pick the correct login message to display, in 
accordance with the NWLANGUAGE set.  Let us know if this interests you.

A program to graphically build screen files, simplifying the process of building a 
customized screen.

A detailed installation program.

In bindery mode display an option pick list of all available servers.

******

Customization

Network Design Systems are happy to customize SFLOGIN if you require specific 
functionality. Eg.  A large corporate client has purchased a version that will check to 
see that there is always at least two numbers in the user password.  This allows them 
to meet the requirements of their security policy.

Please contact us if you are interested in customization services.

******

Questions & Answers

Q.	How efficient is the searching process?  How much traffic will it cause?

A.	SFLOGIN uses the most efficient method available to search the NDS tree.  It 
	is a Novell client server API, the searching is done by the file server, and only 
	the results passed to the client.

Q.	How long will the search take?

A.	The length of the search is determined by the layout of your NDS tree, 
	including issues such as partitioning, WAN links etc. We are accessing NDS - 
	NOT building a locally cached copy.

Q.	Why do you still call the Novell LOGIN.EXE?

A.	The Novell LOGIN.EXE does a lot of work in authenticating the connection and 
	processing the login script(s).  Novell has not published an API for the login 
	script process, and may change it's operation by releasing a new LOGIN.EXE.  
	By passing the username to the Novell LOGIN.EXE you are protected from 
	system changes, and assured of a 100% correct login.

Q.	Do you support the Intel LOGIN.COM?

A.	Yes, there are no problems if you are using the INTEL LOGIN.COM that ships 
	with LANDesk.

Q.	Will SFLOGIN stay in memory during the LOGIN.EXE execution?

A.	Absolutely not.  Whether you use environment variables or jump to 
	LOGIN.EXE, SFLOGIN will not use, or fragment DOS memory.

Q.	Why do you support the use of environment variables - it seems best to always 
	jump to LOGIN?

A.	The original way that FLOGIN worked was to use environment variables.  
	We've retained use for backward compatibility. Some users are using SFLOGIN 	
	for other tasks and rely on the environment variables.

Q.	Why isn't there a graphics mode version of SFLOGIN available?

A.	There are a large number of different video cards in use, each of which has 
	different ways to set high resolution modes.  We've decided to use a fully 
	customizable text interface, which can be guaranteed to work on all systems.

Q.	Is there a Windows version of SFLOGIN?

A.	SFLOGIN will support Windows LOGIN, shortly after a Windows LOGIN is 
	released.  This will support displaying a custom graphics, company logo etc.

Q.	How do I get rid of that pesky 'EVALUATION COPY' message every time I use 
	SFLOGIN?

A.	Register SFLOGIN. 

******

Changes in this version

SFLOGIN Version 1.14
  Added the offline screen test mode (/D), to assist when designing screens.
  Added the ability to jump to a different executable name apart from LOGIN.EXE.
  Rewrote the searching logic so that additional rights for [public] are not required if 
  you are only searching on the common name.
  Added an NDS tree browser for easy navigation.
  Rewrote whole sections of the code in preparation for the port to Windows.
  Fixed a bug where systems would lockup before executing the Novell LOGIN.EXE.  

SFLOGIN Version 1.13
  Made numerous cosmetic changes to the dialogs.
  Searching now occurs after object name entry.
  Entering a full or partial name is properly supported.
  Properly report account lockout to the user.
  Resolve minor memory leakage problem.
  All screen commands are now case insensitive.
  All files now can be located via the path

SFLOGIN Version 1.12a
  Added support to return an error level if the use pressed <esc> to exit the full 
  screen menu.

SFLOGIN Version 1.12
  Fixed connecting to NDS if a PREFERRED SERVER is specified in the NET.CFG 
  instead of a PREFERRED TREE.
 
  Added a contact screen to the online help.

SFLOGIN Version 1.11
  Fixed a problem with the Novell LOGIN.EXE displaying with a white background.
  Added a 'Press Enter to Continue' message on all the error boxes.

SFLOGIN Version 1.1
  The name of the program was changed to SFLOGIN.  This is to reflect that it has 
  been completely redeveloped.
 
  The new version is fully backward compatible with FLOGIN.
 
  Although documented, the Bindery (/B) option is not yet implemented.


******

REGISTRATION AND ORDERING

Pricing

SFLOGIN is the result of many hours of work!  You may evaluate the enclosed fully 
functional version for up to 30 days.  If it suits your needs then the registration fee is: 

	License						US Dollars	$Australian

Per Server (unlimited users)				$95		$135
Tree Site License (One tree, unlimited servers)		$895		$1280
Full Site License (unlimited trees and servers)		$3810		$4950

A Tree license is a single NDS tree and may contain unlimited servers.  This license 
also permits use on `test' NDS trees that are used to develop and add features for the 
production tree.

The Full Site license gives complete unrestricted use of SFLOGIN, regardless of 
numbers of users, servers, production trees. 

After registration we will automatically provide 90 days support, and new releases 
during this time frame.  You may subscribe to 12 months of additional support and 
updates (including major releases) for: 

	12 month Support				US Dollars	$Australian

        Per Server                                      $15             $20
        Tree Site License                               $125            $180
        Full Site License                               $580            $740

Payment may be made in US or Australian dollars, depending upon which is easiest 
for your organisation.  Payment is accepted by cheque, credit card, Bank transfer, or 
Compuserve online registration. Please note that credit card orders must be processed 
in Australian dollars (this is a bank requirement).

******

Order Form

SFLOGIN ORDER FORM

Name:____________________________________________________________________________

Position:________________________________________________________________________

Company:_________________________________________________________________________

Address 1:_______________________________________________________________________

Address 2:_______________________________________________________________________

Suburb/City:_____________________________________________________________________

State/ZIP:_______________________________________________________________________

Country:_________________________________________________________________________

Email address:___________________________________________________________________

Where did you get SFLOGIN?:______________________________________________________

Text to display on 
registration line (60 
characters maximum):_____________________________________________________________

******


If you want delivery charged to your Federal Express account:

FedEx Account Number:________________________________________

Payment Type:  Credit Card/ Bank Transfer/ Cheque

If paying by Credit Card:

Credit Card Number:__________________________________________

Name:________________________________________________________

Type:		Visa/Mastercard

Expiry Date:_________________________________________________

******

Compuserve Online Registration

Compuserve users may immediately register on-line by using SWREG. 'GO SWREG' 
and follow the instructions to register software. The SFLOGIN single server registration 
ID is 6162 and site license Registration ID is 6034.  Once you have completed the 
process we will send you a copy of the registered software by Compuserve mail, 
normally within 24 hours.

******

Freight

Registered software will be sent by email. We prefer to use email as it conserves 
precious resources, and helps to make a greener planet.

If you would like a diskette to be sent, we use Federal Express for fast Worldwide 
delivery.  You can send us your account number, or add the below costs to the above 
total:

	Region		$US	$Australian

	US/UK/Canada	25	30
	Europe		35	45
	Asia		20	26
	New Zealand	15	20
	Brazil		45	60

Australian Orders will be sent via overnight bag, and cost $10.

******

Distributors and Dealers

Network Design Systems is looking for Distributors for our products around the world.  
If you are interested, and believe that you can make a presence in the NetWare utility 
market then please contact us with your details.

We are interested in making partnerships that will result in better service and support 
for our customers.


*********************************
SFLOGIN SCREEN BUILDING REFERENCE
*********************************

Screen Building

This section contains commands and instructions to build and customize your own 
login screens. SFLOGIN allows you to build custom screens by using a screen building 
language.  Using this language you create a file containing commands that are 
processed by SFLOGIN to build the required screen.

SFLOGIN has a built-in default login screen.  This is accessed by starting SFLOGIN 
with the /X option.

You can change the look of the screen by creating a file containing screen 
commands, and starting SFLOGIN with the /X:[Filename] option. Any options listed in 
this file are overlaid the default screen.  All parts of the default screen can be 
overwritten, creating a complete custom look.

Example screens are contained in the distribution, BANANA.LGN, LLAMA.LGN and 
FISH.LGN.  You should spend a few minutes examining these files and seeing 
examples of the screen commands.  Like any scripting language you should 
experiment with the commands to understand their operation.
Example of a login screen

The following is the contents of the login screen BANANA.LGN, that is included with 
the distribution.

	#TextColour(LIGHTCYAN)
	#BackgroundColour(BLUE)
	#Frame(26,5,55,8)
	#Locate(27,6)
	#Text("     Banana Corporation     ")
	#Locate(27,7)
	#Text("        NetWare 4.1         ")

	// Bottom Bar
	#TextColor(BLACK)
	#BackgroundColor(LIGHTGRAY)
	#Locate(1,25)
	#Text(" F1 Help

	// Helpdesk Message
	#Locate(6,21)
	#TextColor(LIGHTGREEN)
	#BackgroundColor(BLUE)
	#Text("  Please call the helpdesk on 555-8171 if you have any difficulties   "
	#Frame(5,20,76,22)

******

Internationalization

Please note that all commands that include the word COLOR will also accept 
European spelling COLOUR.

******

SFLOGIN Screen System Commands

These commands change the operation and positioning of the login dialog, error, and 
help screens.  They also affect general options such as the screen saver configuration.  
All screen building commands are NOT case sensitive. 

#LoginBoxLocation(x,y)

	Positions the dialog box that contains the username and password. The x and y 
	parameters position the upper left corner of the box.

	Possible x values	1 to 80
	Possible y values	1 to 25
	Default		8,10

	Example: 	#LoginBoxLocation(20,8) will position the login box at column 
			20 and row 8.

#LoginBoxWidth(w)

	Specifies the width of the username edit control in the login dialog box (not the 
	width of the dialog box).  Note that this control scrolls if it is greater than the 
	width of the login dialog box.

	Possible w values	10 to 55
	Default		51

	Example: 	#LoginBoxWidth(30) specifes that a login name of up to 29 
			characters may be entered without scrolling.
#DisplayCX(Flag)
	
	The value of Flag specifies whether or not to display the current context in the 
	dialog box.  This command is only valid for NDS mode (NetWare 4.X).  
	Displaying the context increases the size of the login dialog by two lines.

	Possible Flag values	TRUE or FALSE
	Default		TRUE

	Example: 	#DisplayCX(FALSE) disables the current context being displayed 
			in the login dialog box.

#DisplayServer(Flag) - For Bindery Mode (NetWare 3.X)

	The value of Flag specifies whether or not to display the current server name in 
	the dialog box.  This command is valid only for Bindery mode (NetWare 3.X). 
	Displaying the context increases the size of the login dialog by two lines.

	Possible Flag values	TRUE or FALSE
	Default		TRUE

	Example: 	#DisplayServer(FALSE) disables the current server name being 
			displayed in the login dialog box.

#HelpBoxRect(x1,y1,x2,y2)

	Specifies the size and location of the help window. (x1,y1) specifies the top left 
	corner, and (x2,y2) specifies the lower right.

	Possible x values	1 to 80
	Possible y values	1 to 25
	Default		(7,5,75,23)

	Example: 	#HelpBoxRect(20,6,30,14) positions the left hand corner of the 
			help window at column 20 and row 6.  The box extends to a 
			bottom right corner of column 30 and row 14.

#SaverText("text")

	Specifies that the default 'snake' screen saver should not be used and that the 
	acsii text specified by 'text' should be displayed when activating the saver.

	Recommended maximum characters 40

	Default	No text - the 'snake' screen saver is enabled.

	Example:	#SaverText("HelpDesk Phone 7464") will set the screen saver text 
			to the text string "HelpDesk Phone 7464".

#SaverSeconds(t)

	Specifies the number of seconds to wait without a keystroke being pressed 
	before the screen saver is activated.  A value of zero (0) will disable the screen 
	saver.

	Possible t values	0-65535 (0 = off)

	Default	60

	Example:	#SaverSeconds(300) sets the screen saver timeout to 300 
			seconds (5 minutes).

******

Setting Screen Attributes

These commands change the look and or operation of SFLOGIN screen elements.

Defined Colors and their values are shown in table 8.

Color		Value		Color 		Value

BLACK		0		DARKGRAY	8
BLUE		1		LIGHTBLUE	9
GREEN		2		LIGHTGREEN	10
CYAN		3		LIGHTCYAN	11
RED		4		LIGHTRED	12
MAGENTA		5		LIGHTMAGENTA	13
BROWN		6		YELLOW		14
LIGHTGRAY	7		WHITE		15

Defined attributes are:

Attribute	Description				Default

BoxFGClr	Specifies the foreground color		YELLOW
BoxBGClr	Specifies the background color		BLUE
TextFGClr	Specifies the text foreground color	YELLOW
TextBGClr	Specifies the text background color	BLUE
EditFGClr	The edit box foreground color		BLACK
EditBGClr	The edit box background color		LIGHTGRAY
Escapable	Specifies if the user can press the 
		escape key to exit the screen		TRUE
EditCaps	Specifies if text should be entered 
		in edit boxes in all capitals, regardless 
		of the caps lock setting.  	FALSE

******

Commands used to set attributes

#LoginDlgAttr(Attribute,Value)

	Defines a particular attribute for the login dialog box. Refer to the Attributes & 
	values section for defined values. Defaults are:

Attribute	Description				Default
BoxFGClr	Specifies the foreground color		YELLOW
BoxBGClr	Specifies the background color		BLUE
TextFGClr	Specifies the text foreground color	YELLOW
TextBGClr	Specifies the text background color	BLUE
EditFGClr	The edit box foreground color		BLACK
EditBGClr	The edit box background color		LIGHTGRAY
Escapable	Specifies if the dialog can be exited 
		using the <Esc> key			TRUE
EditCaps	Specifies if text is entered in all  
		upper case				FALSE

	Example: 	#LoginDlgAttr(BoxFGClr,CYAN) sets the foreground color of the 
			defined box to CYAN.

#ErrorDlgAttr(Attribute,Value)

	Defines a particular attribute for the error window. Refer to the Attributes & 
	values section for defined values. Defaults are:

Attribute	Description				Default
BoxFGClr	Specifies the foreground color		YELLOW
BoxBGClr	Specifies the background color		RED
TextFGClr	Specifies the text foreground color	YELLOW
TextBGClr	Specifies the text background color	RED
Escapable	Specifies if the dialog can be exited 
		using the <Esc> key			TRUE


	Example:	#ErrorDlgAttr(TextFGClr,WHITE) sets the text foreground color to 
			white in the error dialog.

#HelpDlgAttr(Attribute,Value)

	Defines a particular attribute for the help window. Refer to the Attributes & 
	values section for defined values. Defaults are:

Attribute	Description				Default
BoxFGClr	Specifies the foreground color		BLACK
BoxBGClr	Specifies the background color		GREEN
TextFGClr	Specifies the text foreground color	BLACK
TextBGClr	Specifies the text background color	GREEN
Escapable	Specifies if the dialog can be exited 
		using the <Esc> key			TRUE

	Example:	#HlpDlgAttr(TextBGClr,YELLOW) sets the text background color 
			to yellow in the help dialog.

******

Commands used to display screens

#TextColor(NewColor)
	Changes the text foreground color for subsequent text display to NewColor.  
	See the attribute section for available colors.

	Example:	#TextColor(YELLOW) changes the text color to yellow for the 
			next text displayed.

#Blink(TRUE,FALSE)

		Sets the blink attribute (flashes the location) for subsequent text displays.

	Example: #Blink(TRUE) enables the blink attribute for the next display.

#BackgroundColor(NewColor)

	Changes the text background Color for subsequent displays to NewColor. See 
	the attribute section for available colors.

	Example:	#BackgroundColor(CYAN) changes the background color to 
			cyan for the next text displayed.

#Erase(FillChar)

	Fills the entire screen with ASCII character FillChar.  This is normally used to 
	create a custom background.

	Example:	#Erase(001) will fill the screen with ASCII character 001.

#Frame(x1,y1,x2,y2)

	Possible x values	1 to 80
	Possible y values	1 to 25

	Draws a rectangle using the current text and background colors. The upper left 
	corner is positioned at x1,y1, and the lower right corner at x2,y2.

	Example:	#Frame(20,6,30,14) draws a frame with the left hand corner at 
			Column 20 and row 6.  The frame extends to a bottom right 
			corner of column 30 and row 14.

#Locate(x,y)

	Possible x values	1 to 80
	Possible y values	1 to 25

	Positions the cursor for subsequent text display.

	Example:	#Locate(20,15) locates the cursor at column 20 and row 15.

#Text(String)

	Displays the text string (enclosed in double quotes) at the cursor location using 
	the current text and background colors.

	Example:	#Text("ABC Constructions Pty Limited") will display the text at the 
			current cursor location.

#Template(FileName)

	Displays the contents of FileName (enclosed in double quotes) at the current 
	cursor location using the current text and background Colors.  This is useful for 
	displaying a 'system message', and allowing modification without editing the 
	screen file.

	Example:  	#Template("MOTD.TXT") will display the contents of file 
			MOTD.TXT at the current location


******

END OF SFLOGIN.TXT
