CCSO Nameserver
   HOME

TheInfoList



OR:

A CCSO name-server or Ph protocol was an early form of database search on the Internet. In its most common form it was used to look up information such as
telephone number A telephone number is a sequence of digits assigned to a landline telephone subscriber station connected to a telephone line or to a wireless electronic telephony device, such as a radio telephone or a mobile telephone, or to other devices f ...
s and
email address An email address identifies an email box to which messages are delivered. While early messaging systems used a variety of formats for addressing, today, email addresses follow a set of specific rules originally standardized by the Internet Engineer ...
es. Today this service has been largely replaced by
LDAP The Lightweight Directory Access Protocol (LDAP ) is an open, vendor-neutral, industry standard application protocol for accessing and maintaining distributed directory information services over an Internet Protocol (IP) network. Directory servi ...
. It was used mainly in the early-to-middle 1990s. The name-server was developed by Steve Dorner at the
University of Illinois at Urbana–Champaign The University of Illinois Urbana-Champaign (U of I, Illinois, University of Illinois, or UIUC) is a public land-grant research university in Illinois in the twin cities of Champaign and Urbana. It is the flagship institution of the Univer ...
, at the university's Computing and Communications Services Office (CCSO). There also exists an Outlook plugin and standalone application known as OutlookPH.


Overview

The name-server directories were frequently organized in
Gopher Pocket gophers, commonly referred to simply as gophers, are burrowing rodents of the family Geomyidae. The roughly 41 speciesSearch results for "Geomyidae" on thASM Mammal Diversity Database are all endemic to North and Central America. They are ...
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 in September 1998. However the memo issued at this time references its prior use for an unspecified period of time before this date (work on the protocol started around 1988, and it was in use from around 1991CCSO/CSO: *). 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 server communication takes place on TCP 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 0x7E are initially sent by the server in raw form. Other characters, if present in entries, will be escaped using the 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 . 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 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 CR+LF 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 whom to contact about password issues and authentication methods.
fields  ield ...
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  ption[=value....html" ;"title="value.html" ;"title="ption[=value">ption[=value...">value.html" ;"title="ption[=value">ption[=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 A flat-file database is a database stored in a file called a flat file. Records follow a uniform format, and there are no structures for indexing or recognizing relationships between records. The file is simple. A flat file can be a plain ...
. In the early 1990s,
Indiana University Indiana University (IU) is a system of public universities in the U.S. state of Indiana. Campuses Indiana University has two core campuses, five regional campuses, and two regional centers under the administration of IUPUI. *Indiana Universi ...
software developer Larry Hughes implemented a version of Qi (called "Phd") that was written in
Perl Perl is a family of two high-level, general-purpose, interpreted, dynamic programming languages. "Perl" refers to Perl 5, but from 2000 to 2019 it also referred to its redesigned "sister language", Perl 6, before the latter's name was offic ...
and backed by a relational database. That code was distributed under an
open-source license An open-source license is a type of license for computer software and other products that allows the source code, blueprint or design to be used, modified and/or shared under defined terms and conditions. This allows end users and commercial compa ...
for several years prior to the university's transition to LDAP.


References


External links

* **Newer version of Windows CCSO Ph client: *Working servers (in 2020): **From archived list of CCSO Qi servers -
Massachusetts Institute of Technology The Massachusetts Institute of Technology (MIT) is a private land-grant research university in Cambridge, Massachusetts. Established in 1861, MIT has played a key role in the development of modern technology and science, and is one of the ...
,
Purdue University Purdue University is a public land-grant research university in West Lafayette, Indiana, and the flagship campus of the Purdue University system. The university was founded in 1869 after Lafayette businessman John Purdue donated land and mone ...
,
University of Vermont The University of Vermont (UVM), officially the University of Vermont and State Agricultural College, is a public land-grant research university in Burlington, Vermont. It was founded in 1791 and is among the oldest universities in the United ...
and
University of Wisconsin at Madison A university () is an institution of higher (or tertiary) education and research which awards academic degrees in several academic disciplines. Universities typically offer both undergraduate and postgraduate programs. In the United States, the ...
: ** Contains also a list of servers (accessible by gopher or by its http proxy) *Notable links - ''University of Illinois publication about Ph'' and ''NWU's Ph site'' (user guides): {{gopher clients Internet Standards Identity management Application layer protocols Gopher (protocol)