
B-Login
Novell(R) Network Login Shell

Version 1.2




Add some excitement to logging in!







Designed and Coded by:
BLAZE Technologies
2100 South 7th Street
Rapid City, SD  57701

Phone:  (605) 394-5777
Fax:  (605) 394 - 5738























Copyright:      Copyright (c)1994 by BLAZE Technologies.  All rights reserved.
		
		Other brand and product names are trademarks or registered t
		rademarks of their respective holders.

License
Agreement:      This software is available for a 35 day trial period.  This 
		allows for a 20 day software evaluation of B-Login and a 15 
		day ordering period.  If, after the 35 day evaluation period, 
		B-Login has not been purchased, then all B-Login copies must 
		be removed from the systems on which B-Login was installed.
		
		After B-Login has been purchased, the number of copies of 
		B-Login equal to the number of file servers at your site on 
		which B-Login will be used will be licensed to your site.  
		The purchased copies of the software may not be exchanged, 
		sold, or distributed.

		By using B-Login, you have agreed to these license agreement 
		terms.

Warranty:       B-Login is sold on an as-is basis.  BLAZE Technologies 
		specifically disclaims all warranties, expressed or implied.  
		In no event shall BLAZE Technologies be liable for any loss 
		of profit or any other damage including but not limited to 
		special, incidental, consequential, or other damages, 
		including damages to third parties.  If you do not find these 
		terms agreeable, then do not use the B-Login software.

		By using B-Login, you have agreed to these warranty terms.





OVERVIEW

In the past, logging on to a Novell* file server has been a visually boring 
and rather dull experience.  Simple prompts are used to input a username and 
password from the network user.  It does not need to be like this any longer!

B-Login works with practically all the network drivers, including ODIs 
and VLMs,  and it gives the network administrator the ability to design eye 
catching login screens using flashy backgrounds, splashes, banners, boxes, 
frames, shadows, messages, clock read-outs, date read-outs, and screen savers.

Now, when important information needs to be relayed to network users, 
messages can appear on the screen as the network user logs on.  This is the 
perfect way to inform network users of file server down times, birthdays, 
jokes, quotes, and much more.

B-Login is a DOS based login shell so that the new login process incorporates 
as smoothly as possible into your already existing login setup.  Now, just 
because the program is DOS based doesn't mean that the login screens are 
boring and limited.  Quite the contrary is 
true.  With the B-Splash editor and the right character and color combinations, 
really cool and catchy login screens can be created!

The B-Login package features includes the following:

	*  B-Login - Easily installable shell for Novell's LOGIN.EXE.
	*  B-Splash - Splash and background bitmap editor for B-Login.
	*  Screen Saver examples.
	*  Background and Splash examples.
	*  Login screen examples.
	

Have fun!



INSTALLATION

* Installing all of the B-Login Package

Installation of the total B-Login software package is simple.  Just copy the 
files and directories included on the disk into the directory of your choice.
XCopy them to the SYS:LOGIN\BLOGIN directory and flag everything ROS for the
fastest way to implement the new B-Login login shell.

* Installing the B-Login Program
Here are the steps for replacing LOGIN.EXE with B-Login:

	1. Make the directory SYS:LOGIN\BLOGIN on the file server.
	2. Create a BLOGIN.INI file in the SYS:LOGIN\BLOGIN directory.  
	   (See tutorial.)
	3. Store all of the splashes and screen savers used by B-Login in 
	   SYS:LOGIN\BLOGIN.
	4. In SYS:LOGIN, rename LOGIN.EXE to LGN.EXE.
	5. Copy BLOGIN.EXE to SYS:LOGIN and rename BLOGIN.EXE to LOGIN.EXE.
	6. In SYS:PUBLIC, rename LOGIN.EXE to LGN.EXE.
	7. Copy BLOGIN.EXE to SYS:PUBLIC and rename BLOGIN.EXE to LOGIN.EXE.
	8. Cool! The installation of B-Login is complete, and the users 
	   of the network should see your flashy new login screen the next 
	   time they login.

NOTE:  The users should have read access to the SYS:LOGIN\BLOGIN directory.


* B-Login Commands

The commands in the section are used by B-Login to create all of the desired 
screen objects.  B-Login looks at the BLOGIN.INI file in the SYS:LOGIN\BLOGIN 
directory on the file server to create the nifty login screens.  Screen 
object definition is carried out by specifying a set of parameters after 
the name of the object.  Examples for each object and example .INI files 
will be given to help clear things up.

* List of Available Screen Objects
Splash          - Screen bitmap image.
Banner          - Scrolling text region. 
Box             - Filled box.
Frame           - Box outline.
Shadow          - Filled attribute modifying region.
Time            - Clock display.
Date            - Date display.
Pen             - Object parameter definition macro.
Message         - Static screen text.
Status          - Status line with help keys that is displayed on screen 
		  bottom.
Login           - Username and password input box.
Saver           - Screen saver that runs after no key press within some 
		  amount of time.

* List of Object Definition Parameters
x.a             - Places upper left hand location of object at 
		  x coordinate a.
y.a             - Places upper left hand location of object at 
		  y coordinate a.
w.a             - Sets width of object to a characters.
h.a             - Sets height of object to a characters.
cb.color        - Sets background attribute of object to color.
cf.color        - Sets foreground attribute of object to color.
ck.color        - Sets foreground attribute of status line hot keys to color.
f.ascii         - Sets the fill character to ascii.
blink.bool      - Sets blinking attribute of object to bool.
dir.dir         - Sets banner scroll direction to dir.
speed.a         - Sets banner scroll speed to a.
delay.a         - Sets screen saver turn on waiting time to a seconds.
esc.bool        - Allows for exiting B-Login or prohibits the exiting of 
		  B-Login.
type.a          - a describes the style of the date or frame objects.


See Appendix A for a more complete description of objects and their 
parameters.
  

* List of Allowed Parameter Values
a       : Integer from approximately -32000 to +32000.
bool    : ON or OFF
dir     : L or R for (L)eft or (R)ight.
color   : BLACK         (background or foreground)
	  BLUE          (background or foreground)
	  GREEN         (background or foreground)
	  CYAN          (background or foreground)
	  RED           (background or foreground)
	  MAGENTA       (background or foreground)
	  BROWN         (background or foreground)
	  LGRAY         (background or foreground)
	  DGRAY         (foreground only)
	  LBLUE         (foreground only)
	  LGREEN        (foreground only)
	  LRED          (foreground only)
	  LMAGENTA      (foreground only)
	  YELLOW        (foreground only)
	  WHITE         (foreground only)


In the tutorial section to follow, a login screen will be created using the 
screen objects and various parameter definitions.  This should clear up any 
questions about the different commands used in the BLOGIN.INI file.


TUTORIAL

In this section, the use of the various objects and their command syntax 
should become clear.  If this is not the case, several examples have been 
included in the EXAMPLES directory on the B-Login distribution disk.  
The BLOGIN.INI file for this tutorial can be found under the TUTORIAL 
directory on the distribution disk.  If you would like to instantly see the 
output of this tutorial, make at SYS:LOGIN\BLOGIN\TUTORIAL directory and 
copy the TUTORIAL directory on the distribution disk to the 
SYS:LOGIN\BLOGIN\TUTORIAL directory.  Now copy the included BLOGIN.INI 
file from this directory to SYS:LOGIN\BLOGIN.

* Beginning a New BLOGIN.INI File
To start creating a login screen, use any text file editor to create a new 
file.  It is important to plan which objects will need to be drawn first 
and which ones will be on top of others.  Screen objects are drawn in the 
order that they appear in the BLOGIN.INI file.

* Adding a Splash (bitmap image)
To cover the entire screen with a bitmap image, one needs to create a full 
screen splash using the B-Splash program.  For now, let's use the 
TUTORIAL.SPL file included with the distribution software.  
Add the following line to the new text file:

	SPLASH X.0 Y.0 "TUTORIAL\TUTORIAL.SPL"

This line will position the TUTORIAL.SPL splash at screen coordinate (0, 0).  
For a splash, the complete filename (including extension) must be included 
in the quotes.

Note 1: Be sure that there are no spaces in X.0 or Y.0 or any other parameters of       
	similar form.

Note 2: An object's definition parameters must all be on the same line.  A              
	maximum of 255 characters can be used per line.

Note 3: Since the TUTORIAL.SPL file is located in                                       
	SYS:LOGIN\BLOGIN\TUTORIAL, the TUTORIAL\ needs to be            
	included with the TUTORIAL.SPL to dereference the path correctly 
	from SYS:LOGIN.  This rule will also apply to screen savers located 
	in any directory below SYS:LOGIN\BLOGIN.  If the splashes or screen 
	savers were located in SYS:LOGIN\BLOGIN, then no dereferencing would 
	be needed.    


* Adding a Scrolling Title Bar with Time and Date Read-outs
Let's add a title bar on the top of the screen that has a clock, date 
read-out, and scrolling title.

First we will need to create a background that the clock, date, and banner 
can sit on.  This background will make the title bar look nicer than simply 
placing the clock, for instance, directly on the background splash.

To make the background, add the following command as the next line in the 
text file:

	BOX F.32 X.0 Y.0 W.80 H.1 CB.LGRAY CF.WHITE

This box command creates a white on blue box filled with spaces at 
location (0, 0) with width 80 and height 1.  The F.32 command could have 
been something like F.1.  This would have produced a box filled with smiley 
faces instead of spaces.

Now that we have a base to set things on, we can add a date read-out with 
the following command:

	DATE TYPE.2 X.0 Y.0 CB.LGRAY CF.WHITE BLINK.OFF

Here a date read-out of type 2 is created.  Type 1 dates are in the form 
Jan 1, 1994, and type 2 dates are shown as January 1, 1994.  It was not 
necessary to include the CB.LGRAY or CF.WHITE parameters, since B-Login will 
remember them from the most recently set values, such as in the previous box 
command.  The blinking attribute of the date read-out has been shut off with 
the BLINK.OFF command.  Blinking could be enabled just as easily with 
BLINK.ON.

Now let's add a clock with the following command:

	CLOCK X.70 Y.0

Since B-Login remembers the parameters used by the previous date object, the 
newly created clock will have the same displaying characteristics of the 
date object, except the clock has been placed at (70, 0) on the screen.

Add the line(Remember, all of the text must be on one line only.):

	BANNER "Welcome to the net!" X.20 Y.0 W.49 SPEED.1      
		DIR.L CF.YELLOW

This line has just created a banner that scrolls "Welcome to the net!" in the 
left direction, in a region 49 characters wide, at location (20, 0), at the 
speed of 1, and in the color light cyan on light gray.  Once again the light 
gray background color didn't need to be specified because of a previously 
defined object.

For banners, a speed of 0 is the fastest (B-Login tries to scroll the banner 
every clock tick, which is about 18 times a second).  The width of the 
scrolling region can be varied to see what happens.

* Adding a Status Line
There can only be one status line per BLOGIN.INI file.  If there are more, 
B-Login will only use the first one it finds.  The status line will only be 
displayed at the very bottom of the screen and will tell the user to use the 
<Tab> and <Shift-Tab> to navigate between the username and password input 
lines.  Also, it is the status line that allows the person logging in to exit 
the login program or prevents the person from exiting.  By default, B-Login 
assumes that the user will be allowed to exit.

The following BLOGIN.INI entry creates a white on cyan status line with 
yellow hot-keys:

	STATUS CB.CYAN CF.WHITE CK.YELLOW BLINK.OFF ESC.OFF

Also, this status line will not let the user exit B-Login.  To create a 
status line that allows the user to exit, use ESC.ON instead.

* Adding a Shadowed Login Box
To create a shadow effect on the screen, we need to only change the color 
attributes of a square region.  To do this enter the line:

	SHADOW X.3 Y.18 W.35 H.4 CB.LGRAY CF.BLACK BLINK.OFF

Now let's add the login box over the top of the shadow by adding the line:

	LOGIN X.2 Y.17 W.20 CB.CYAN CF.WHITE BLINK.OFF

We have just created a white on cyan login box on top of a shadow.

Note:   The width specifier for a login box specifies the maximum length of 
	the username and password input fields.  The actual width of the 
	whole box is 14 plus the desired length of the input fields.

* Adding Screen Savers to the Login Screen
If computer terminals are left on for extended periods of time, for instance 
in a computer lab, it might be a good idea to include screen savers in the 
login program.  Add the following lines in BLOGIN.INI to include three simple 
screen savers:

	SAVER DELAY.30 "TUTORIAL\BOXES.EXE"
	SAVER "TUTORIAL\SPHERE.EXE"
	SAVER "TUTORIAL\SMILEY.EXE"

The delay parameter on the first screen saver is used to establish the 
waiting time (in seconds) to display a screen saver if no keys are pressed.  
Only one delay parameter should be specified in the whole BLOGIN.INI file.

When multiple screen savers are used, a random selection will be made as to 
which saver will be executed.

Note:   If you are interested in creating your own screen savers, see the 
	information in Appendix B later in this manual.

This is what Your Newly Created BLOGIN.INI File should Look Like:

Splash x.0 y.0 "tutorial\tutorial.spl"
Box f.32 x.0 y.0 w.80 h.1 cb.lgray cf.white
Date type.2 x.0 y.0 cb.lgray cf.white blink.off
Clock x.70 y.0
Banner "Welcome to the net!" x.20 y.0 w.49 cb.lgray cf.lcyan speed.0 dir.L

Status cb.cyan cf.white ck.yellow blink.off

Shadow x.3 y.18 w.35 h.4 cb.lgray cf.black blink.off
Login x.2 y.17 w.20 cb.cyan cf.white blink.off

Saver delay.30 "tutorial\boxes.exe"
Saver "tutorial\sphere.exe"
Saver "tutorial\smiley.exe"


Note:   Don't worry if you have all upper-case; it doesn't matter.



Hopefully this tutorial has helped in familiarizing you with the basic 
concepts of setting up a B-Login screen.  Now, when the users of your network 
login, they will see the professional screens and messages that you the 
network administrator create.  We at BLAZE hope that this B-Login utility 
helps create a more user friendly interface between the network, users,
and the administrator.





Have fun!



APPENDIX A - Objects Available in B-Login

Here is a list of the objects that B-Login recognizes:

SPLASH - Bitmap image displayed on a login screen.

	Example:        Splash X.1 Y.2 "SPLASH.SPL"

BANNER - Scrolling line of text.

	Example:        Banner x.10 y.5 w.40 "Hello World!" cb.red      
			cf.white speed.1 blink.off dir.L

	"<message>"     - Message to scroll.
	dir.L           - Scroll left.
	dir.R           - Scroll right.
	speed.x - Scroll speed (x=0 - fastest, x=1000 - very slow).

SHADOW - Change only the color attribute in a rectangular region.

	Example:        Shadow x.5 y.5 w.30 h.10 cb.lgray cf.black      
			blink.off

BOX - Create a filled box on the screen.

	Example:        Box f.177 x.1 y.2 w.20 h.10 cb.red cf.yellow 
			blink.on

	f.x             - Ascii character used for fill (0 <= x <= 255).

FRAME - Put a rectangular frame around a region.

	Example:        Frame type.single x.4 y.3 w.10 h.12 cb.black 
			cf.cyan blink.off

	type.single     - Single border on all sides.
	type.double     - Double border on all sides.
	type.double_lf  - Double border on left and right, 
			  single on top and bottom.
	type.double_tb  - Double border on top and bottom, 
			  single on left and right.
			
TIME - Clock display.

	Example:        Time x.10 y.10 cb.lgray cf.lmagenta blink.off

DATE - Date display.

	Example:        Date type.1 x.5 y.12 cb.blue cf.lgreen          
			blink.on

	type.1          - Date in the form of Jan 1, 1994
	type.2          - Date in the form of January 1, 1994

PEN - Macro to define object characteristics of following objects.

	Example:        Pen x.3 y.4 w.20 h.10 blink.off cb.red          
			cf.cyan

MESSAGE - Displays static text on the screen.

	Example:        Message "Here is some text." x.10 y.2           
			cb.green cf.lgreen blink.on

SAVER - Registers a screen saver with B-Login.

	Example:        Saver delay.30 "SAVER.EXE"

	delay.x         - Sets time to run the saver if after x seconds no 
			  keys have been pressed.

STATUS - Defines the characteristics of status line.

	Example:        Status cb.lgray cf.white ck.yellow esc.on

	ck.color        - Sets the color of the hot-keys.
	esc.on          - Allows the user to use <Esc> to exit B-Login. 
			  (Default)
	esc.off         - Prevents the user from exiting B-Login using <Esc>.
	

LOGIN - Defines the characteristics of the login box.

	Example:        Login x.20 y.10 w.30 cb.black cf.white          
			blink.off

	w.x             - x is the maximum number of characters the user is 
			  allowed to input for the username or password.  
			  Add 14 to x to determine the total width of the 
			  login box.


APPENDIX B - Screen Saver Creation Information

If you or someone you know has programming skills, making your own screen 
saver is a fairly easy process.  All one needs to do to create the simplest 
screen saver is to compile an executable program that does nothing but clear 
the screen and wait for a key press.  Upon detecting a key press, the program 
simple exits.  Of course, while waiting for a key press, the program could 
be displaying some neat animations or messages.

B-Login simply spawns a child program to run a screen saver.  So actually, 
a screen saver could be replaced with any type of program that does not 
require any command line parameters to operate.

The following code is a very simple C program written with Borland's compiler 
that can be used as a screen saver.  It only clears the screen and waits for 
a key press.

#include <conio.h>

void main()
{

  clrscr();

  while(!kbhit())  /* Loop while waiting for key press. */
  {
    /* Insert code here to do something while in the
       key press wait loop. */
  }

  while(kbhit())   /* Grab any extra characters */
    getch();       /* in the keyboard buffer.   */
}



Hopefully this little bit of code helps you get started in making your 
own screen savers.



APPENDIX C - Special notes on B-Login v1.2

B-Login v1.2 now handles expired passwords and forced password changes.

B-Login v1.2 now has an information box.  When the user presses <F2> a text
file with the path SYS:LOGIN\BLOGIN\BLOGIN.HLP will be displayed on the
screen.  An editor that fills tabs with spaces should be used since tabs
will be displayed as their single ASCII character representation in the
information box.

B-Login v1.2 now allows for the execution of programs upon using
"EXIT" in the user or system login script.

The password can still be redirected in from a file, just like the original 
Novell login program.

Screens created for a color monitor may appear strange on a monochrome 
monitor, so use high intensity colors on a low intensity background so that 
monochrome monitor users can distinguish important text.

If, for some reason B-Login does not work with a computer (this may occur 
only on the rarest of occasions), one can still resort to using LGN.EXE 
in replace of the new B-Login shell.

If a user has no password, they will still need to hit <Enter> on the 
password line.

If a user uses the options available under Novell's login program, such as
/Script, /NoAttach, and /Clearscreen, B-Login will simply execute the
original Novell login program (which should now be renamed LGN.EXE).

TIP:    To change between different login screens quickly,
	have all of your different screen BLOGIN.INI and support files
	(splashes, screen savers, etc.) stored in their own separate 
	directory under SYS:LOGIN\BLOGIN.  Now all you have to do is
	copy the BLOGIN.INI file from the desired screen to 
	SYS:LOGIN\BLOGIN.  The new screen should now run the next time
	a user runs the login program.

Special thanks to Ralf Brown for letting us use his Spawno library to 
provide a very low overhead when spawning other DOS programs.  His
work is very much appreciated.


APPENDIX D - Command line switches for B-Login

The following three command line switches have been added to B-Login:

-L      Will not log the user out of the file server upon entry
	into B-Login.  This works great for testing out new
	background screens.

	EXAMPLE:  LOGIN JOEUSER -L

-P      Allows for the inclusion of the password on the command line.
	There is no need to redirect a password in from a file anymore.

	EXAMPLE:  LOGIN JOEUSER -PJOEPASSWORD
			
	NOTE:  There should be no spaces between -P and the password.

-N      This switch is used when something is to log in without a password.

	EXAMPLE:  LOGIN JOEUSER -N



B-LOGIN SUPPORT INFORMATION

In case of questions, comments, or problems concerning B-Loign, contact 
BLAZE Technologies in the following ways:

Voice Phone:            (605) 394 - 5777

FAX:                    (605) 394 - 5738

US Postal Service:      BLAZE Technologies
			2100 South 7th St., Centennial Square, Suite 223
			Rapid City, SD  57701
			Attn: B-Login




B-LOGIN ORDERING INSTRUCTIONS

To order B-Login, send check, money order, or purchase order to:

BLAZE Technologies
2100 South 7th Street, Centennial Square, Suite 223
Rapid City, SD  57701

Please make checks and money orders out to BLAZE Technologies.


B-Login Prices (All prices are in US dollars):

1st Server Licence              $45
Additional Server Licenses      $25

We cover the shipping charges.

For example, an order of B-Login licenses that would handle 3 servers 
would cost $45 + $25 + $25 = $90 total.



Thank you for supporting B-Login!





B-LOGIN ORDERING FORM


Shipping Address:
__________________________
__________________________
__________________________
__________________________

Send to:

BLAZE Technologies
2100 S. 7th St., Centennial Square, Suite 223
Rapid City, SD, USA 57701


Person to contact in case of questions: __________________________
				Title:  __________________________
				Email:  __________________________
				Voice:  __________________________
				FAX:    __________________________


B-Login single server price                             $ 45

Number of additional copies required ____ @ $25 each    $________

In South Dakota, USA  add 4% sales tax                  $________

Total Due in US dollars                                 $________

Ordering Date __/__/__

Netware version currently being used: __ V2.2 __ V3.1x __V4.0x

What other network utilities would you like to see developed?
_____________________________________________________________
_____________________________________________________________
_____________________________________________________________


Thank you for supporting B-Login!






MV 1.02 4/30/94

B-Login         BLAZE Technologies




