CCSO Nameserver
Encyclopedia
A CCSO name-server or Ph protocol was an early form of database search on the web. In its most common form it was used to look up information such as phone numbers and e-mail address
E-mail address
An email address identifies an email box to which email messages are delivered. An example format of an email address is lewis@example.net which is read as lewis at example dot net...

es. Today this service has been largely replaced by LDAP
Lightweight Directory Access Protocol
The Lightweight Directory Access Protocol is an application protocol for accessing and maintaining distributed directory information services over an Internet Protocol network...

. It was used mainly in the early-to-middle 1990s. The name-server was developed by Steve Dorner
Steve Dorner
Steve Dorner is an American software engineer. He developed the Eudora e-mail client in 1988 as a part of his work as a staff member at the University of Illinois at Urbana-Champaign. Dorner was hired by Qualcomm in July 1992 and Eudora was subsequently acquired by Qualcomm...

 at the University of Illinois at Urbana-Champaign
University of Illinois at Urbana-Champaign
The University of Illinois at Urbana–Champaign is a large public research-intensive university in the state of Illinois, United States. It is the flagship campus of the University of Illinois system...

.

Overview

The name-server directories were frequently organized in Gopher hierarchies. The tools "Ph" and "Qi" were the two components of the system: Ph was a client that queried the Qi server.

The Ph protocol was formally defined by RFC 2378 in September 1998. However the memo issued at this time references its prior use for an unspecified period of time before this date. It defines sixteen keywords that can be used on the server side to define record properties. It also defines how clients should access records on the server and what responses the server should give. Ph sever communication takes place on TCP
Transmission Control Protocol
The Transmission Control Protocol is one of the core protocols of the Internet Protocol Suite. TCP is one of the two original components of the suite, complementing the Internet Protocol , and therefore the entire suite is commonly referred to as TCP/IP...

 port 105.

Command Structure

All commands and response are initially assumed to be in US-ASCII encoding for historical reasons unless the client explicitly asks for 8-bit(ISO-8859-1) encoding. As a result only characters between 0x20 and 0x7f are initial sent by the server in raw form. Other characters if present in entries will be escaped using the RFC 2045 defined "Quoted-Printable" encoding. The initial request from the client is a text base keyword optionally followed by one or more parameters as defined in the RFC 2378. The server then responds to the request. The following example response to a status request is provided by the RFC memo.

C: status
S: 100:Qi server $Revision: 1.6 $
S: 100:Ph passwords may be obtained at CCSO Accounting,
S: 100:1420 Digital Computer Lab, between 8:30 and 5 Monday-Friday.
S: 100:Be sure to bring your U of I ID card.
S: 200:Database ready


Each command defined by the RFC 2378 memo consists of a keyword followed as needed by one or more parameters or key words. They can be separated by spaces tabs or the end of the line. Each line must be terminated in CRLF style.

The following are a few of the commands:


status

This command takes no parameters and simply asks the server to report its status as above.


siteinfo

Returns information such as server version mail domain and who to contact about password issues and authentication methods.


fields [field ...]

List all available entry fields on the server or only those of the specified name or names.


id information

Causes the server to log the specified information as the current user id without login.


set [option[=value] ...]

Sets the specified option on the server to value. If used without parameters it lists the current server settings.


login [alias]
logout

This is the actual login/logout commands for the server here the alias must be the users Ph alias. Logging in allows a user to change their own entry and view certain fields in it flag for restricted access.


answer encrypted-response
clear cleartext-password

The client normally uses one of these to send the password information after the login command is sent.


quit
exit
stop

One or more of these will be recognized by the server as an end of session command closing the connection.

Database

As distributed, the nameserver was backed by a flat file database
Flat file database
A flat file database describes any of various means to encode a database model as a single file .- Overview :...

. In the early 1990s, Indiana University
Indiana University
Indiana University is a multi-campus public university system in the state of Indiana, United States. Indiana University has a combined student body of more than 100,000 students, including approximately 42,000 students enrolled at the Indiana University Bloomington campus and approximately 37,000...

 software developer Larry Hughes implemented a version of Qi (called "Phd") that was written in perl
Perl
Perl is a high-level, general-purpose, interpreted, dynamic programming language. Perl was originally developed by Larry Wall in 1987 as a general-purpose Unix scripting language to make report processing easier. Since then, it has undergone many changes and revisions and become widely popular...

 and backed by a relational database
Relational database
A relational database is a database that conforms to relational model theory. The software used in a relational database is called a relational database management system . Colloquial use of the term "relational database" may refer to the RDBMS software, or the relational database itself...

. That code was distributed under an open source license for several years prior to the university's transition to LDAP.
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK