Dec 282017
 
SUBLOGIN is a quick, compact way to login to a file server, check that a password is correct, or change a password.

Full Description of File


Encrypted Login Utility.


File SUBLOG10.ZIP from The Programmer’s Corner in
Category Network Files
SUBLOGIN is a quick, compact way to login to a file server, check that a password is correct, or change a password.
File Name File Size Zip Size Zip Type
FILE_ID.DIZ 27 27 stored
SUBLOGIN.DOC 6124 2321 deflated
SUBLOGIN.EXE 12254 10643 deflated

Download File SUBLOG10.ZIP Here

Contents of the SUBLOGIN.DOC file


SUBLOGIN * Copyright 1992 by Charles Rose * All Rights Reserved
Version 1.0 * Release Date: 10-01-92 * SHAREWARE VERSION


Distributed Through:
Computer Tyme * 411 North Sherman, Suite 300 * Springfield Mo. 65802
(800) 548-5353 Sales * (417) 866-1222 Voice * (417) 866-1665 Data

Operation:
SUBLOGIN is a quick, compact way to login to a file server, check that
a password is correct, or change a password. If you don't specify a
Bindery Object type, 1 (User) will be assumed. The return code will appear
in the DOS ERRORLEVEL variable or in AL for those shelling through a program.
Use ! in place of a password argument if no password is available

Usage:
SUBLOGIN /V Name Password [ObjectType] -- Verify Password
SUBLOGIN /L Name Password [ObjectType] -- Login To File Server
SUBLOGIN /C Name OldPass NewPass [ObjectType] -- Change Password

This program is targeted at network software developers who need to support
encrypyed passwords in their software product. A license to distribute this
program with your product sells for a one time fee of $495. This program is
also sold to users for $75 per server or $495 for unlimited servers.

Other fine utilities by Charles Rose can be downloaded from:

RoseNet(tm) Online
(703) 799-2536/2537
16,800bps V.32bis/HST
Over 100MB of NetWare-specific files & utilities

For Software Developers:

If you are using API calls you know that you have to tell your customers
to run SET ALLOW UNENCRYPRED PASSWORDS = ON in order for your
application to work. By executing SUBLOGIN instead of calling the API,
you can do encrypted functions. SUBLOGIN returns the novell result in
the errorlevel so that you can tell if it succeeded or not.

For $495, you will get a license to bundle this program with your
applications and encrypted login problems will go away. It's small, it's
fast, and it works!

Here's a simple Turbo Pascal example:

Function RunSubLogin (Cmd : String) : Byte;
begin
Cmd := '/Q ' + Cmd;
SwapVectors;
Exec('SUBLOGIN.EXE',Cmd);
SwapVectors;
RunSubLogin := ReturnCode;
end;

Here's some login info I got from Novell on return codes:

HEX DEC DESCRIPTION
=== === ===========
C1h 193 Access Denied - No Account Balance Avail
C2h 194 Access Denied - No Credit Avail
C5h 197 Intruder Lockout
D6h 214 Requires encrypted password
D9h 217 Denied - No Connection
DAh 218 Denied - Unauthorized Login Time
DBh 219 Denied - Unauthorized Login Date
DCh 220 Account Disabled
DEh 222 Password Expired - No Grace Remain.
DFh 223 Password Expired - Logged in
FEh 254 Supervisor Disabled Logins
FFh 255 Not a valid Object/Password


#define SERVER_OUT_OF_MEMORY 0x96 /* 150 */
#define LOGIN_DENIED_NO_ACCOUNT_BALANCE 0xC1 /* 193 */
#define NO_ACCT_BALANCE 0xC1 /* 193 */
#define ACCT_CREDIT_LIMIT_EXCEEDED 0xC2 /* 194 */
#define LOGIN_DENIED_NO_CREDIT 0xC2 /* 194 */
#define INTRUDER_DETECTION_LOCK 0xC5 /* 197 */
#define PASSWORD_NOT_UNIQUE 0xD7 /* 215 */
#define LOGIN_DENIED_NO_CONNECTION 0xD9 /* 217 */
#define UNAUTHORIZED_LOGIN_TIME 0xDA /* 218 */
#define UNAUTHORIZED_LOGIN_STATION 0xDB /* 219 */
#define ACCOUNT_DISABLED 0xDC /* 220 */
#define PASSWORD_HAS_EXPIRED_NO_GRACE 0xDE /* 222 */
#define PASSWORD_HAS_EXPIRED 0xDF /* 223 */
#define NOT_ITEM_PROPERTY 0xE8 /* 232 */
#define WRITE_PROPERTY_TO_GROUP 0xE8 /* 232 */
#define NO_SUCH_SEGMENT 0xEC /* 236 */
#define NO_SUCH_SET 0xEC /* 236 */
#define PROPERTY_ALREADY_EXISTS 0xED /* 237 */
#define INVALID_NAME 0xEF /* 239 */
#define WILD_CARD_NOT_ALLOWED 0xF0 /* 240 */
#define INVALID_BINDERY_SECURITY 0xF1 /* 241 */
#define NO_OBJECT_READ_PRIVILEGE 0xF2 /* 242 */
#define NO_PROPERTY_DELETE_PRIVILEGE 0xF6 /* 246 */
#define NO_SUCH_PROPERTY 0xFB /* 251 */
#define NO_SUCH_OBJECT 0xFC /* 252 */
#define BINDERY_LOCKED 0xFE /* 254 */
#define DIRECTORY_LOCKED 0xFE /* 254 */
#define SERVER_BINDERY_LOCKED 0xFE /* 254 */
#define SUPERVISOR_HAS_DISABLED_LOGIN 0xFE /* 254 */
#define BINDERY_FAILURE 0xFF /* 255 */
#define HARDWARE_FAILURE 0xFF /* 255 */
#define NO_RESPONSE_FROM_SERVER 0xFF /* 255 */
#define NO_SUCH_OBJECT_OR_BAD_PASSWORD 0xFF /* 255 */

The LOGIN_CONTROL property UNDER NW 2.x is as follows...
Offset Field Type/Size
--------------------------------------------------------
0 Account Expiration Date BYTE[3]
3 Account Disabled Flag BYTE
4 Password Expiration Date BYTE[3]
7 Grace Logins Remaining BYTE
8 Password Expiration Interval WORD
10 Grace Login Reset Value BYTE
11 Minimum Password Length BYTE
12 Maximum Concurrent Connections BYTE[2]
14 Allowed Login Time Bitmap BYTE[42]
56 Last Login Date and Time BYTE[6]
62 Restriction Flags BYTE
63 Unused BYTE
64 Maximum Disk Usage in Blocks LONG
68 Bad Login Count WORD
70 Next Reset Time LONG
74 Bad Login Address BYTE[12]


 December 28, 2017  Add comments

Leave a Reply