As per Relevance of the word password, we have this rfc below:











Network Working Group C.
Request for Comments: 1492 University of
July 1993


An Access Control Protocol, Sometimes Called


Status of this

This memo provides information for the Internet community. It
not specify an Internet standard. Distribution of this memo
unlimited



There used to be a network called ARPANET. This network consisted
end nodes (hosts), routing nodes (IMPs) and links. There were (
least) two types of IMPs: those that connected dedicated lines
and those that could accept dial up lines. The latter were
"TIPs."

People being what they were, there was a desire to control who
use the dial up lines. Someone invented a protocol, called "TACACS
(Terminal Access Controller Access Control System?), which allowed
TIP to accept a username and password and send a query to a
authentication server, sometimes called a TACACS daemon or
TACACSD. This server was normally a program running on a host.
host would determine whether to accept or deny the request and sent
response back. The TIP would then allow access or not, based
the response

While TIPs are -- shall we say? -- no longer a major presence on
Internet, terminal servers are. Cisco Systems terminal
implement an extended version of this TACACS protocol. Thus,
access control decision is delegated to a host. In this way,
process of making the decision is "opened up" and the algorithms
data used to make the decision are under the complete control
whoever is running the TACACS daemon. For example, "anyone with
first name of Joe can only login after 10:00 PM Mon-Fri, unless
last name is Smith or there is a Susan already logged in."

The extensions to the protocol provide for more types
authentication requests and more types of response codes than were
the original specification

The original TACACS protocol specification does exist. However,
to copyright issues, I was not able to obtain a copy of this



Finseth [Page 1]

RFC 1492 TACACS July 1993


and this lack of access is the main reason for the writing of
document. This version of the specification was developed with
assistance of Cisco Systems, who has an implementation of the
protocol that is believed to be compatible with the
specification. To be precise, the Cisco Systems
supports both the simple (non-extended) and extended versions. It
the simple version that would be compatible with the original

Please keep in mind that this is an informational RFC and does
specify a standard, and that more information may be uncovered in
future (i.e., the original specification may become available)
could cause parts of this document to be known to be incorrect

This RFC documents the extended TACACS protocol use by the
Systems terminal servers. This same protocol is used by
University of Minnesota's distributed authentication system

1. Protocol

This section will describe the requests and responses. The
two sections will describe two different ways of encoding
protocol

A request/response pair is the basic unit of interaction. In
pair, the client sends a request and the server replies with
response. All requests must be acknowledged with a response.
requirement implies that all requests can be denied, although it
probably futile to attempt to deny a "logout" request

1.1

In some cases, a string of request/response pairs forms a
unit, called a "connection."

There are three types of connections

1) Authenticate only, no connection

client: sends an AUTH
server: responds with a











Finseth [Page 2]

RFC 1492 TACACS July 1993


2) Login connection

client: sends a LOGIN
server: responds with a

repeat zero or more times
client: sends a CONNECT
server: responds with a

client: sends a LOGOUT
server: responds with a

3) SLIP connection

client: sends a LOGIN
server: responds with a

repeat zero or more times
client: sends a CONNECT
server: responds with a

client: sends a SLIPADDR
server: responds with a

repeat zero or more times
client: sends a CONNECT
server: responds with a

client: sends a SLIPON
server: responds with a
client: sends a LOGOUT packet (immediate
server: responds with a

client: sends a SLIPOFF
server: responds with a

1.2

This section lists the requests supported by the protocol.
responses are described in the later encodings sections

AUTH(username, password, line, style

This request asks for an authentication. The parameters are







Finseth [Page 3]

RFC 1492 TACACS July 1993


- the
- the
- an indication of which line the request is for,
- a style of

The username is a string that identifies the user. In principle
it can be of any length and contain any characters. In practice
it should be no longer than 128 characters and should contain
the ASCII characters "!" (33 decimal) through "~" (126 decimal),
inclusive

The password is a string that is used to authenticate the
identified by the username. In principle, it can be of any
and contain any characters. In practice, it should be no
than 128 characters and should contain only the ASCII
"!" (33 decimal) through "~" (126 decimal), inclusive

The line is a non-negative decimal integer. If the
supports multiple physical access channels, this value
the particular channel. By convention, lines are
starting from one, although this should be taken with a grain
salt. For example, Cisco Systems' implementation uses zero
designate the console port, then continues with one for the "main
serial lines. Clients that support only one channel should
line zero

The authentication style is a possibly empty string.
identifies the particular style of authentication to be performed
Its syntax and semantics are local

Example

AUTH("fin@unet.umn.edu", "fake-password", 0, "staff")

This specifies a username of "fin@unet.umn.edu" (which happens
be my e-mail address), a password, an indication that no line
associated with this request, and a style of "staff".
semantics for this style might be that I am required to be a
member (in addition, of course, to supplying a valid username
password). The server would presumably consult an
database to verify the staff status

As a local option, the implementation may choose to encode
style information by using alternate port numbers. E.g. port 4001
would mean style 1, 4002 would be style 2, etc

Note that the AUTH request type cannot be sent using the
encoding



Finseth [Page 4]

RFC 1492 TACACS July 1993


LOGIN(username, password, line) returns (result1, result2, result3)

This request asks for an authentication and signals that -- if
authentication succeeds -- a login connection is starting.
parameters are

- the
- the
- an indication of which line the request is

The meanings of the input fields are the same as the AUTH request
If the request is successful, this request returns three
values in addition to the success status. The result values
non-negative integers. Their interpretation is local.
example, Cisco Systems terminal servers interpret result3 to
the identifier of a local access list to use for
validation

CONNECT(username, password, line, destinationIP, destinationPort
returns (result1, result2, result3)

This request can only be issued when the username and line
an already-existing connection. As such, no authentication
required and the password will in general be the empty string.
asks, in the context of that connection, whether a TCP
can be opened to the specified destination IP address and port

The return values are as for LOGIN

SUPERUSER(username, password, line

This request can only be issued when the username and line
an already-existing connection. As such, no authentication
required and the password will in general be the empty string.
asks, in the context of that connection, whether the user can
into "super-user" or "enable" mode on the terminal server

As an example of the flexibility inherint in this whole scheme
the TACACSD supplied by Cisco Systems ignores the username
and instead checks wether the password matches that of the
user "$enable$".

LOGOUT(username, password, line, reason

This request can only be issued when the username and line
an already-existing connection. As such, no authentication
required and the password will in general be the empty string.
indicates that the connection should be terminated (but



Finseth [Page 5]

RFC 1492 TACACS July 1993


SLIPON). It must be acknowledged, but the success/fail status
the acknowledgment is irrelevant. The reason value indicates
the connection is terminating. A null reason value is
when the connection is going into SLIP mode

SLIPON(username, password, line, SLIPaddress) returns (result1,
result2, result3)

This request can only be issued when the username and line
an already-existing connection. As such, no authentication
required and the password will in general be the empty string.
asks, in the context of that connection, whether the
SLIPaddress can be used for the remote end of the connection

If the server replies with a success, the client can proceed to
SLIPON request. (It need not do so right away, however.)

Note that semantics of "username" can get hairy. For example,
Cisco Systems implementation encodes information in this way

- If the user just requested the default address be assigned,
field holds the username in lower case

- If the user requested a specific IP address or host name for
SLIP connection, this field contains the requested host name
UPPER case

If the server replies with a success, the client will
send a LOGOUT request. However, the connection will
established until a SLIPOFF request is sent. No
authentication requests will be sent for that connection

SLIPaddress specifies the IP address used by the remote host.
a SLIPADDR request has been made, it will be that address
Otherwise, it will be the default address assigned by the
(e.g., Cisco terminal server).

The return values are as for LOGIN

SLIPOFF(username, password, line, reason

This request can only be issued when the username and line
an already-existing connection that is in "SLIP" mode. As such
no authentication is required and the password will in general
the empty string. It indicates that the connection should
terminated. It must be acknowledged, but the success/fail
of the acknowledgment is irrelevant. The reason value
why the connection is terminating



Finseth [Page 6]

RFC 1492 TACACS July 1993


2.0 UDP Encoding:

This section describes the UDP encoding of the requests that
just been described. It also describes the responses. This
encoding forms the basis of the historical TACACS protocol

This protocol uses port 49. This assignment continues to
confirmed by the IANA in the Assigned Numbers RFCs. (I can't
that it was assigned by the IANA as the assignment preceded
organization.)

The basic packet format is shown here. All multi-bytes values are
network byte order. Unless otherwise specified, all values given
in decimal. Unused fields should be set to zero, but the
should not depend on that setting

As was mentioned earlier, there are both simple and extended forms
of which the simple form is a proper subset of the extended form.
server should support both. I will describe both forms in parallel

Simple

The fields are

offset length

0 1
1 1
2 2 nonce
4 1 username length (to server) / response (to client
5 1 password length (to server) / reason (to client

in the usual packet layout format

0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: Version : Type : Nonce :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: User len/Resp : PW len/Reason : data... :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+










Finseth [Page 7]

RFC 1492 TACACS July 1993


Extended

The fields are

offset length

0 1
1 1
2 2 nonce
4 1 username
5 1 password
6 1
7 1
8 4 result
12 4 destination host, IP
16 2 destination
18 2
20 4 result
24 2 result
26 varies data: username +

in the usual packet layout format

0 1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: Version : Type : Nonce :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: User len : Password len : Response : Reason :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: Result 1 :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: Destination Address :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: Dest Port : Line :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: Result 2 :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: Result 3 : data... :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

2.1

The VERSION field specifies the version number. It must be zero
simple or 128 (80 hexadecimal) for extended






Finseth [Page 8]

RFC 1492 TACACS July 1993


The TYPE field encodes the request type. Values are

LOGIN 1
RESPONSE 2 (server to client only
CHANGE 3
FOLLOW 4
CONNECT 5
SUPERUSER 6
LOGOUT 7
RELOAD 8
SLIPON 9
SLIPOFF 10
SLIPADDR 11

Other values below 128 are reserved for future use. Values from 128
to 255 are reserved for local use

Note that the semantics of the CHANGE, FOLLOW, RELOAD requests
not been determined

The NONCE field is set by the client to an arbitrary value.
purpose is to allow clients that may have multiple
requests to determine which request a response is for. The
must copy this value to the reply unaltered

The USERNAME LENGTH field is set by the client to the length of
username in characters. Legal values are 0 to 255, inclusive.
server must copy this value to the reply unaltered

The PASSWORD LENGTH is set by the client to the length of
password in characters. Legal values are 0 to 255, inclusive.
server must copy this value to the reply unaltered

The RESPONSE field should be set by the client to zero. The
sets the value to one of

value

1
2

Other values below 128 are reserved for future use. Values from 128
to 255 are reserved for local use








Finseth [Page 9]

RFC 1492 TACACS July 1993


The REASON field should be set by the client to zero, except
LOGOUT and SLIPOFF requests, which may use values of 4, 5, or 6.
server sets the value to one of

value meaning

0 none used for ACCEPTED or if the
is
1
2
3
4 quit user quit
5 idle idle
6 drop carrier
7 bad too many bad

The values from 4 to 6 will only be used for reasons for LOGOUT
SLIPOFF requests: they will not be returned by the server.
values below 128 are reserved for future use. Values from 128 to 255
are reserved for local use

The RESULT1 field should be set by the client to zero. For LOGIN
CONNECT requests, it is set by the server as specified in the
description. For all other requests, it should be set by the
to zero

The DESTINATION HOST field is set by the client. On CONNECT, SLIPON
and SLIPOFF requests it specifies an IP address. It should be set
zero on all other requests. For SLIPON and SLIPOFF request,
value should be the IP address assigned to the line. For
requests, this value is the IP address of the host that the user
attempting to connect to. The server copies this value to the reply

The DESTINATION PORT field is set by the client. On CONNECT
it specifies the port number that the user is attempting to
to. It should be set to zero on all other requests. The
copies this value to the reply

The LINE field is set by the client to the line number that
request is for. The server copies this value to the reply

The RESULT2 field should be set by the client to zero. For LOGIN
CONNECT requests, it is set by the server as specified in the
description. For all other requests, it should be set by the
to zero

The RESULT3 field should be set by the client to zero. For LOGIN
CONNECT requests, it is set by the server as specified in the



Finseth [Page 10]

RFC 1492 TACACS July 1993


description. For all other requests, it should be set by the
to zero

The DATA field contains just the text of the username and password
with no separator characters (you use username length and
length to sort them out). The server does not copy the values to
reply. (However, the server does copy the username length
password length fields to the reply.) The username data may be
upper case: comparisons should be case-insensitive

2.2 What a Client

The client must format and send a UDP request to port 49.
constructs the request by following these steps

- set the version to 128
- set the type to that of the
- set the nonce to a unique value that is different from
outstanding
- set the username
- set the password
- set the response to
- set the reason to zero (except for LOGOUT and SLIPOFF
- set the result1 to
- if CONNECT, SLIPON, or SLIPOFF, set the destination
to the IP address, otherwise set it to
- if CONNECT, set the destination port to the port,
set it to
- set the
- set the result2 to
- set the result3 to
- copy the username to the location just after result
- copy the password to the location just after the end of


Send the request. Wait for a reasonable (and hopefully configurable
period of time. If no response has been received, retry a
(and hopefully configurable) number of times. Reasonable
wait times are 5 seconds and retries are 2.

If a response has been received, use the nonce value (and as
other fields as you like) to match it to an outstanding request.
there is no matching outstanding request, take appropriate (
hopefully configurable) action such as discarding and/or logging
packet

If the response matches an outstanding request, examine the
and reason codes and take whatever action you deem correct.



Finseth [Page 11]

RFC 1492 TACACS July 1993


responses to LOGIN and CONNECT requests, also incorporate
result1, result2, and result3 values as you deem correct

2.3 What a Server

Upon receipt of a UDP format request, the server examines the data
the request packet and determines its response. It constructs
reply by following these steps

- set the version to 128
- set the type to RESPONSE (2)
- copy the nonce
- copy the username length
- copy the password length
- set the response value to the desired
- set the reason value to the desired
- if LOGIN or CONNECT, set the result1 else zero the result
- copy the destination host
- copy the destination port
- copy the line
- if LOGIN or CONNECT, set the result2 else zero the result
- if LOGIN or CONNECT, set the result3 else zero the result
- do NOT copy the username or password

(As always, be liberal in what you expect and conservative in
you send.) Send the response. Do not attempt to retry, as you
no basis for determining whether a retry is required. Any
are up to the client. This, of course, implies that requests
idempotent. They aren't, of course, so the retries must
considered when trying to assemble requests into connections

3.0 TCP

This section describes the TCP encoding of the requests
responses. This encoding is not compatible with the
TACACS protocol. However, it is somewhat more "modern" in that
has been updated to provide for current feature needs

This protocol does not use a reserved port. Instead, it must
possible to configure the ports used by both the the client
server

The basic request format is shown here. The request consists of
lines of ASCII text. All numeric values are expressed in ASCII
decimal integers






Finseth [Page 12]

RFC 1492 TACACS July 1993


<parameters
<username
<password

Each line in the example corresponds to one line of text. That is
the lines are separated with / (13/10 decimal) pairs. In
event may "bare" or characters appear within a field.
addition, (0 decimal) characters may not be sent

The and fields are separated with one or
(32 decimal) or (9 decimal) characters

The <parameters> field is optional. If present, it is separated
the field and internal parameters separated from each other
or more or characters. Any trailing or characters present on this line should be ignored by the server:
should not be taken to imply a trailing empty field

In theory there are no line length limits. In practice, lines
not exceed 255 characters (counting the and ) and
should be 80 characters or less

3.1

The VERSION field specifies the version number. It must be 1.
values below 128 are reserved for future use. Values from 128 to 255
are reserved for local use

The TYPE field encodes the request type. Values are









I.e., the keyword simply encodes itself. It must be in upper case
Keywords that begin with the letter "X" are reserved for local use

The USERNAME field contains the text of the username. Leading
trailing or characters are considered significant.
username data may be in upper case: comparisons should be case
insensitive

The PASSWORD field contains the text of the password. Leading



Finseth [Page 13]

RFC 1492 TACACS July 1993


trailing or characters are considered significant

The LINE field is set by the client to the line number that
request is for

3.2

Appendix E of STD 10, RFC 821 describes the general theory of
codes. The this protocol follows the format described in
document. In a nutshell, replies are of the form


Where is a three-digit decimal value and is
arbitrary text string, presumably containing only printing
characters ( (32 decimal) through "~" (126 decimal)). At
one (32 decimal) character separates the number from the text
A / sequence follows the text

The three digit codes completely determine the response. The
should be considered an explanatory comment for human understanding
However, even without knowing all values, the first digit can be
to determine the overall nature of the response. The encodings are

1 Positive Preliminary: the request is acceptable
but no action will be taken until an
request is made (not used in this version of
protocol

2 Positive

3 Positive Intermediate: the request is
so far, but has not been completely
(not used in this version of the protocol

4 Transient Negative: the request is not
for now. It is acceptable to retry, as
instance may have a different result

5 Permanent Negative: the request is not

The text portion is optional (i.e., may be the empty string) and
describes the meaning of the message in human readable form








Finseth [Page 14]

RFC 1492 TACACS July 1993


While different server implementations will result in
messages, the following are suggested

201 accepted: # # #
202 accepted, password is expiring: # # #
401 no response;
501 invalid
502 access

The ": # # #" in the first two messages is the suggested way
returning the three result codes for LOGIN and CONNECT requests

3.3 What a Client

The client opens a TCP connection to the locally-configured
and port. It sends the request by sending

- the character "1"
- one or more or
- the request type as an ASCII
- if an AUTH, send one or more or
and the authentication
- if a CONNECT, SLIPON, or SLIPOFF, send one or more or characters and the IP address in dotted

- if a CONNECT, send one or more or
and the port number in
- a / - the username (or hostname for SLIPADDR
- a / - the
- a / - the
- a /
Then read one line from the connection and close the connection
This encoding lets TCP take care of waiting, retries, and matching
requests and responses

Examine the response line and take whatever action you deem correct

3.4 What the Server

The server waits on the locally-specified port for requests.
one is made, it reads four lines of input

It examines the first line for a valid version number and request
It also records any optional parameters



Finseth [Page 15]

RFC 1492 TACACS July 1993


It uses the username, password, and line number along with any
information it deems fit to determine its response

It then sends exactly one line of response, terminated by
/, and closes the connection

4.0 Pros and

Advantages to using the UDP format

- lower
- compatible with historical
- some existing equipment supports

Advantages to using the TCP format

- easier to implement, especially on machines with no
poor UDP
- simpler, cleaner
- potentially wider range of error codes, and support
temporary and negotiated authentication


5.0 Security

While the protocol itself has been described, there are a number
other considerations worth mentioning

First, the protocol carries the username and password in clear
in either a single UDP packet or a TCP stream. As such, if
attacker is capable of monitoring that data, the attacker
capture username/password pairs. Implementations can take
steps to minimize this danger

- Use point-to-point links where possible

- Physically secure the transmission medium

- If packets must traverse multiple network segments, use a
routing subsystem. This implies

- Tight control over router configurations
- Tight control over routing protocols
- Avoid use of bridges, as they can be silently fooled
duplicating packets

Second, this protocol potentially opens up a new way of
usernames and passwords. Thus, implementations may wish to



Finseth [Page 16]

RFC 1492 TACACS July 1993


servers

- limit responses to a controlled list of clients
- throttle the rate of responding to requests
- log all failures (and possibly successes, too).

Third, this protocol essentially allows clients to
accept/reject decisions to servers. While an obvious
would simply use the server's native login mechanism to make
determination, there is no reason to limit implementations to
mechanism. Servers could

- use alternate lists of accounts (e.g., password files),
- use alternate mechanisms for accessing the accounts (e.g.,
a database, NIS),
- use alternate algorithms (e.g., SecureID cards),
- translate the request to another protocol and use
protocol to make the determination (e.g., Kerberos).

Fourth, the use of a "fanout" server (described in the next section
allows for

- centralized logging of usage for attack
- centralized policy

- ability to block selected specific
- ability to block selected user names (e.g., don'
allow "root" or "guest")
- ability to block poor passwords (e.g., none or weak

6.0 Case

This section presents the basic steps used by the implementation
the University of Minnesota. Two examples will be used. The
is a basic terminal login. The second is a database
verification

Usernames are in one of three forms

First.M.Last-#@umn.
First.M.Last-#
user@

A name in the first form is converted to one in the second

A name in the second form is looked up in the University-
directory system. If found, the associated electronic mail
is treated as if the third form was entered



Finseth [Page 17]

RFC 1492 TACACS July 1993


The third form specifics the name of a computer whose manager
agreed to perform validations and the name of an account on
computer

The system that we use allows for many requesting clients (
modem pools). Further, each client can support multiple
pools of users. For example, lines 1-20 could be general access,
lines 21-25 could be 800-numbers with a restricted set of
users. The system supports this distinction by specifying
validation computers are legal for each modem pool

6.1 Terminal

On the Cisco Terminal Server

- accept a
- request a username and
- pack the request into a UDP TACACS packet and send to the


Central Fanout

- accept a
- if the request is not in a valid format, return "nope
- log the
- if the source IP address is not in a list of valid clients
status = "nope
- else if the username contains invalid characters, status = "nope
-
if the username is of the form First.M.Last-#@umn.edu
convert to First.M.Last-#
if the username is of the form First.M.Last-#,
look up the name in the
if the name is not found, status = "nope
otherwise, use the e-mail address as the

if the user is on a special "blocked" list, status = "nope
and send mail warning that access to a
account was
split the username into user and host
if the host is not on a list of known servers
status = "nope
else if the host is not allowed to validate this type
request for this pool, status = "nope

now format a request for validation of the user and send
to the specified




Finseth [Page 18]

RFC 1492 TACACS July 1993


if no response, status = "nope
otherwise set the status to the returned

- log what response is going to be
- return the

Validation Host

This machine can run a "stripped down" version of the central fanout
It need perform no special validation or logging, with one exception

- accept a
- if the request is not in a valid format, return "nope
- if the request is not from the central fanout, return "nope
- figure the return
- return the

6.2 Database Access

In this example, assume that a database is only to be accessed
faculty and staff

Mainframe

- the user is on the mainframe and makes a
- the program requests username and
- the program packs the request into a UDP TACACS packet and send
the central

Central Fanout

- accept a
- if the request is not in a valid format, return "nope
- log the
- if the source IP address is not in a list of valid clients
status = "nope
- else if the username contains invalid characters, status = "nope
-
if the username is of the form First.M.Last-#@umn.edu
convert to First.M.Last-#
if the username is of the form First.M.Last-#,
look up the name in the
if the name is not found, status = "nope
otherwise, use the e-mail address as the
and obtain the staff status from the
if the user is on a special "blocked" list, status = "nope
and send mail warning that access to a
account was



Finseth [Page 19]

RFC 1492 TACACS July 1993


split the username into user and host
if the host is not on a list of known servers
status = "nope
else if the host is not allowed to validate this type
request for this pool, status = "nope

now format a request for validation of the user and send
to the specified

if no response or status is "nope", status = "nope

else if the user originally gave a user@host mail address
do a directory lookup and obtain the staff

set the status to the staff
- log what response is going to be
- return the

Note that the validation host is unchanged



[RFC821] Postel, J. "Simple Mail Transfer Protocol", STD 10, RFC 821,
USC/Information Sciences Institute, August 1982.

[RFC1340] Reynolds, J. and J. Postel, "Assigned Numbers," STD 2,
1340, USC/Information Sciences Institute, July 1992.

Anderson, Brian; Ruth, Greg; Ditmars, Peter; Eisner, Sharon
Delsignore, John (1985) TAC Access Control System Protocols,
Edition: August 16 1985. BBN Tech Memo CC-0045.

Cisco Systems, Inc. (September 1992) Communications
Configuration and Reference. Menlo Park, California

















Finseth [Page 20]

RFC 1492 TACACS July 1993


Security

Security issues are the main topic of this memo

Author's

Craig A.
Networking
Computer and Information
University of
130 Lind
207 Church St
Minneapolis MN 55455-0134

Phone: +1 612 624 3375
Fax: +1 612 626 1002

EMail: Craig.A.Finseth-1@umn.edu,
fin@unet.umn.
































Finseth [Page 21]







if you see any problems within the linking, don't worry be happy,
this is version 0.1 of the Relevance System and you gotta expect some crappy subroutines sometimes,
just be content we did not write this in Java, which would have made this "bigger and better" HAHAHHA.




RFC documents can be found at I.E.T.F.



Relevance System Copyright © 2002 Spectrum WorldResearch
other technical nosh by ServerMasters Corporation
collaboration of BobX







Spectrum