As per Relevance of the word followed, we have this rfc below:
Network Working Group M.
Request for Comments: 1202 Performance Systems International, Inc
February 1991
Directory Assistance
Status of this
This document defines a mechanism by which a user-interface
access a textual DAP-like interface over a TCP/IP connection.
is a local mechanism. This memo provides information for
Internet community. It does not specify any standard.
of this memo is unlimited
Table of
1. Introduction .......................................... 1
1.1 An Aside ............................................ 3
2. Protocol .............................................. 3
2.1 Control Connection .................................. 4
2.1.1 Initialization .................................... 4
2.1.2 Transactions ...................................... 4
2.1.2.1 INTR command .................................... 4
2.1.2.2 STAT command .................................... 5
2.1.2.3 QUIT command .................................... 5
2.2 Data Connection ..................................... 5
2.2.1 Transactions ...................................... 5
2.2.2 Responses ......................................... 6
2.2.2.1 Numeric Responses ............................... 6
2.2.2.2 'm' Response .................................... 6
2.2.2.3 'y' Response .................................... 6
2.2.2.4 'p' Response .................................... 7
2.2.2.5 'e' Response .................................... 7
2.2.2.6 'l' Response .................................... 7
2.2.2.7 'd' Response .................................... 8
2.2.2.8 'P' Response .................................... 8
3. Example Interaction ................................... 9
4. References ............................................ 10
5. Security Considerations............................... 11
6. Author's Address...................................... 11
1.
The OSI Directory [1] provides a powerful infrastructure for
retrieval of information objects. This infrastructure can be used
support, e.g., white pages applications, application entity lookup
and so on
Rose [Page 1]
RFC 1202 Directory Assistance Service February 1991
The Directory service is provided to applications through
Directory Access Protocol (DAP), which binds a Directory User
(DUA) to a Directory System Agent (DSA).
| Directory
| provided via
|
+-----------+ | +-----------+
| | | | |
| DUA | <----------+----------> | DSA |
| | | | |
+-----------+ | +-----------+
|
Directory User |
The DAP is an OSI application layer protocol which uses the rich
upper-layer infrastructure. Unfortunately, the coding investment
implement the DAP is significant. As such, it is difficult to
applications using the Directory on smaller workstations and
computers
This memo details a local mechanism which has been successfully
to separate the functionality of the DAP from the complexity
implementing the DAP. That is, a split-DUA model is used: the DAP
implemented on an entity (the "Directory Assistant"), which
on a capable workstation or mainframe and exports a
interface, the "Directory Assistance" (DA) protocol, to other end
systems where the user-interface resides, termed the DA-client
Since this mechanism provides assistance to applications wishing
access the Directory, it is termed the "Directory Assistance" (DA
service
Rose [Page 2]
RFC 1202 Directory Assistance Service February 1991
| Directory
split-DUA | provided via
|
+-----------+ | +-----------+
| | | | |
| Directory | <----------+----------> | DSA |
| Assistant | | | |
| | | +-----------+
+-----------+ |
/|\ |
| |
| DA-service |
| provide via |
| DA-protocol |
| |
------+------ |
| |
| |
| |
| |
| |
\|/ |
+-----------+ |
| | |
| DA-client | |
| | |
+-----------+ |
|
Directory User |
1.1. An
This memo documents an already existing protocol, which
originally used to provide a split-DUA model within the same host
In the absence of detailed historical and
understanding, some of the mechanisms described may not
intuitive
2.
The DA service operates using two TCP connections: a
connection, and a data connection. The control connection
the lifetime of an instance of the DA service; throughout
lifetime, several data connections may be established. However,
any given instant, between zero and one data connections will be
progress
Rose [Page 3]
RFC 1202 Directory Assistance Service February 1991
The DA service is provided by the "Directory Assistant",
consists of two entities: a DA-server, which manages the
connection; and, a DAP-listener, which responds to commands on
data connection. The DA-server oversees the behavior of the DAP
listener
2.1. Control
Data sent over the control connection consists of a series
transactions. NVT-ASCII is used to express these transactions.
transaction consists of the client sending a directive--a line
text terminated by CR-LF; the DA-server returns a response--a line
text terminated by CR-LF. All responses from a DA-server start
either "+OK" or "-ERR" depending on whether the transaction
successful
2.1.1.
A DA-server listens on TCP port 411 for incoming connections.
establishing a control connection, the DA-server returns a
indicating whether the service has been started. If successful,
response contains an IP-address and a TCP port, expressed in NVT
ASCII, and separated by one or more instances of the space character
This information corresponds to the TCP-endpoint that the DAP
listener will use for the data connection
Note that the DA-server and DAP-listener need not reside at the
IP-address. In the future, DA-servers may employ a internal
for load-balancing purposes
If the DA service can not be started, an error response is
and the control connection is closed
2.1.2.
All transactions with the DA-server consist of a command followed
zero or more arguments, separated by the space character
2.1.2.1. INTR
The INTR command takes no arguments
The INTR command is used to interrupt any DAP
currently in progress
The INTR command always returns success
Rose [Page 4]
RFC 1202 Directory Assistance Service February 1991
2.1.2.2. STAT
The STAT command takes no arguments
The STAT command is used to verify that the DAP-listener
available
The STAT command returns success only if the DAP-listener
still active
2.1.2.3. QUIT
The QUIT command takes no arguments
The QUIT command is used to terminate the DA service
The QUIT command always returns success
2.2. Data
Data sent over a data connection consists of a single DAP
transaction. NVT-ASCII is used to express these transactions.
transaction consists of the client sending a command--a line of
terminated by the LF-character; the DAP-listener returns zero or
responses, each with a specific termination sequence. All
from a DAP-listener start with a single identifying character.
the character is a digit (0-9), then the termination
consists of a closing the data connection; otherwise, if
character is a lower-case letter (a-z), then the response
interactive and is terminated by the LF-character
2.2.1.
All transactions with the DAP-listener consist of a command
by zero or more arguments, separated by the space character
Double-quotes may be used to prevent separation of tokens
The command set is taken from the DISH program
add add a new
bind connect to the
compare compare entry's
delete delete an
fred back-end to
list list
modify modify an existing
modifyrdn modify an entry's
moveto move to a
Rose [Page 5]
RFC 1202 Directory Assistance Service February 1991
search search for an
showentry show an
showname show an entry's
squid status of
unbind disconnect from the
See [2] for a complete list of commands and arguments
Note that commands and arguments are in lower-case, and
abbreviated to any unique prefix
2.2.2.
There are two kinds of responses: numeric-responses, which consist
arbitrary text; and, letter-responses, which consist of brief text
and expect further interaction from the client
2.2.2.1. Numeric
If the response is '1', then the DAP-transaction terminated normally
if the response is '2', then the DAP-transaction failed; if
response is '3', then the DAP-transaction was a search returning
than one result and one of the -hitone or -list option was
for the search; if the response is '4', then the DAP-
terminated normally and the remainder of this line consists of
name of an entry (see the 'd' Response below); if the response
'5', then all children of an entry were found by the DAP-transaction
Once the response is completely sent, the DAP-listener closes
data connection
Note that although numeric responses utilize ASCII, they are
NVT-ASCII; in particular, the LF-character is used to indicate end
of-line, rather than the CR-LF line termination sequence of NVT
ASCII
2.2.2.2. 'm'
The 'm' response contains a one-line message which should
presented to the user
At this point, the client returns a response consisting of 'm
followed by the LF-character. The client should then
reading from the existing data connection
2.2.2.3. 'y'
The 'y' response contains a yes/no question which should be
to the user. After querying the user, the response (either 'y'
Rose [Page 6]
RFC 1202 Directory Assistance Service February 1991
'n'), followed by the LF-character, should be sent to the DAP
listener. The client should then continue reading from the
data connection
2.2.2.4. 'p'
The 'p' response contains a password-prompt which should be
to the user. After querying the user, the client returns a
consisting of 'p' followed by the password supplied by the
followed by the LF-character. The client should then
reading from the existing data connection
2.2.2.5. 'e'
The 'e' response is used to ask the user to edit some text
Following the 'e' character is a decimal number in ASCII followed
the LF-character, indicating the number of octets that should
presented to the user for editing (these octets may include LF
characters).
At this point, the client returns a response consisting of a
character followed by a LF-character. If the character is 'e',
edit is aborted (e.g., the text is too large), and the client
then continue reading from the existing data connection
Otherwise, the DAP-listener sends the indicated number of
corresponding to the buffer that the user is to edit. After the
edits the buffer, one of two responses should be sent
If the user aborted the edit, the response sent to the DAP-
is a single character 'e', followed by the LF-character
Otherwise, the response consists of any single character other
indicating the number of octets immediately following that
from the user-edit
Regardless of the outcome, the client should then continue
from the existing data connection
2.2.2.6. 'l'
The 'l' response contains an entry for a selection list to
presented to the user. The form of this entry consists of
strings separated by the '$' character, and terminated by the LF
character. The first string is a user-friendly name, suitable
display to the user; the second string is a fully-
Distinguished Name in textual format
Rose [Page 7]
RFC 1202 Directory Assistance Service February 1991
At this point, the client returns a response consisting of 'l
followed by the LF-character
The client should continue to accumulate selection entries until
LF-character
At this point, the user should be asked to select one or more of
selection entries. After this selection, the client sends back
response consisting of 'L' followed by one or more decimal numbers
ASCII followed by the LF-character. The numbers are separated
spaces, and correspond to the entries selected by the user. (
entry corresponding to the first 'l' response is numbered 1, etc.)
The client should then continue reading from the existing
connection
2.2.2.7. 'd'
The 'd' response contains a name that the client may be
in. The form of this name consists of two strings separated by
'$' character, and terminated by the LF-character. The first
is a user-friendly name, suitable for display to the user; the
string is a fully-qualified Distinguished Name in textual format
At this point, the client returns a response consisting of 'd
followed by the LF-character. The client should then
reading from the existing data connection
2.2.2.8. 'P'
The 'P' response is used to transmit a picture to the client
Following the 'P' character is a decimal number in ASCII followed
a name and then the LF-character. The decimal number indicates
size of the picture. The name contains three strings separated
the '$' character. The first string is the name of the
corresponding to the picture, in textual format; the second string
a user-friendly name, suitable for display to the user; and,
third string is a fully-qualified DistingiushedName in
format
At this point, the client returns a response consisting of a
character followed by a LF-character. If the character is 'P',
picture will not be sent (e.g., the image is too large), and
client should then continue reading from the existing
connection
Otherwise, the DAP-listener sends the indicated number of
corresponding to the picture. The picture is encoded using the
Rose [Page 8]
RFC 1202 Directory Assistance Service February 1991
format from the PBMPLUS package
Regardless of the outcome, the client should then continue
from the existing data connection
3. Example
In the text that follows, "S:" refers to the DA-server, "L:"
to the DAP-listener, "C:" refers to the client talking to the DA
server, and, "I:" refers to the client talking to the DAP-listener
S: connection on TCP port 411>
C: connection to DA-server
L:
S: +OK 192.33.4.21 32867
I: connection to DAP-listener
I: bind -simple -user "@c=US@cn=Manager
L: pc=US@cn=
-- client asks user for password for "c=US@cn=Manager
I:
L: connection, signaling success but no response
-- since response was null, client verifies that DAP-
-- is still operating...
C:
S: +
I: connection to DAP-listener
I: fred -expand "@"
L: 5
North America$l=North
US$c=
...
L: connection
I: connection to DAP-listener
I: fred -ufn rose,psi,
L: 1
<followed by much data
L: connection
I: connection to DAP-listener
I: fred -ufn -list,rose,ps,
L: lHewlett-Packard, US$c=US@o=Hewlett-
I:
L: lPerformance Systems International, US$c=US@o=Performance...
Rose [Page 9]
RFC 1202 Directory Assistance Service February 1991
I:
L: lRutgers University, US$c=US@o=Rutgers
I:
L:
-- client presents selection list to user asking to
-- matches for 'ps', user selects the 2
I: L 2
L: dManager, US$c=US@cn=
I:
L: 4Marshall Rose, ...$c=US@o=Performance...
<followed by much data
L: connection
I: connection to DAP-listener
I: fred -ufn -list,schoffstall,ps,
L: 33 matches found
Martin Schoffstall, ...$c=US@o=Performance...
Marvin Schoffstall, ...$c=US@o=Performance...
Steve Schoffstall, ...$c=US@o=Performance...
L: connection
C:
L: listening for connections
S: +
C: connection
S: connection
4.
[1] Information Processing - Open Systems Interconnection -
Directory, International Organization for Standardization
International Standard 9594, (1988).
[2] Kille, S., Robbins, C., Roe, M., and A. Turland, "The
Development Environment: User's Manual", Volume 5: QUIPU
Performance Systems International, January 1990.
Rose [Page 10]
RFC 1202 Directory Assistance Service February 1991
5. Security
Security considerations are not discussed in this memo
6. Author's
Marshall T.
PSI, Inc
PSI California
P.O. Box 391776
Mountain View, CA 94039
Phone: (415) 961-3380
EMail: mrose@psi.
Rose [Page 11]
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