CCSO Nameserver

Last updated

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 numbers and email addresses. [1] Today, this service has been largely replaced by LDAP. It was used mainly in the early-to-middle 1990s. [2] The name-server was developed by Steve Dorner at the University of Illinois at Urbana–Champaign, at the university's Computing and Communications Services Office (CCSO).

Contents

There also exists an Outlook plugin and standalone application known as OutlookPH. [3]

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 [4] (work on the protocol started around 1988, [5] and it was in use from around 1991 [6] [7] ). 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 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 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 [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. In the early 1990s, Indiana University software developer Larry Hughes implemented a version of Qi (called "Phd") that was written in Perl and backed by a relational database. That code was distributed under an open-source license for several years prior to the university's transition to LDAP.

Related Research Articles

In computing, the Internet Message Access Protocol (IMAP) is an Internet standard protocol used by email clients to retrieve email messages from a mail server over a TCP/IP connection. IMAP is defined by RFC 9051.

The Lightweight Directory Access Protocol is an open, vendor-neutral, industry standard application protocol for accessing and maintaining distributed directory information services over an Internet Protocol (IP) network. Directory services play an important role in developing intranet and Internet applications by allowing the sharing of information about users, systems, networks, services, and applications throughout the network. As examples, directory services may provide any organized set of records, often with a hierarchical structure, such as a corporate email directory. Similarly, a telephone directory is a list of subscribers with an address and a phone number.

Telnet is a client/server application protocol that provides access to virtual terminals of remote systems on local area networks or the Internet. It is a protocol for bidirectional 8-bit communications. Its main goal was to connect terminal devices and terminal-oriented processes.

<span class="mw-page-title-main">Email client</span> Computer program used to access and manage a users email

An email client, email reader or, more formally, message user agent (MUA) or mail user agent is a computer program used to access and manage a user's email.

The File Transfer Protocol (FTP) is a standard communication protocol used for the transfer of computer files from a server to a client on a computer network. FTP is built on a client–server model architecture using separate control and data connections between the client and the server. FTP users may authenticate themselves with a plain-text sign-in protocol, normally in the form of a username and password, but can connect anonymously if the server is configured to allow it. For secure transmission that protects the username and password, and encrypts the content, FTP is often secured with SSL/TLS (FTPS) or replaced with SSH File Transfer Protocol (SFTP).

Remote Authentication Dial-In User Service (RADIUS) is a networking protocol that provides centralized authentication, authorization, and accounting (AAA) management for users who connect and use a network service. RADIUS was developed by Livingston Enterprises in 1991 as an access server authentication and accounting protocol. It was later brought into IEEE 802 and IETF standards.

The Network Information Service, or NIS, is a client–server directory service protocol for distributing system configuration data such as user and host names between computers on a computer network. Sun Microsystems developed the NIS; the technology is licensed to virtually all other Unix vendors.

Terminal Access Controller Access-Control System refers to a family of related protocols handling remote authentication and related services for network access control through a centralized server. The original TACACS protocol, which dates back to 1984, was used for communicating with an authentication server, common in older UNIX networks including but not limited to the ARPANET, MILNET and BBNNET. It spawned related protocols:

The TOC protocol, or Talk to OSCAR protocol, was a protocol used by some third-party AOL Instant Messenger clients and several clients that AOL produced itself. Sometime near August 19, 2005, AOL discontinued support for the protocol and no longer uses it in any of the instant messaging clients it actively maintains, such as its Windows and Mac clients for the AOL Instant Messenger and ICQ systems. However, it once did produce several of its own TOC clients, including TiK and TAC which are written in Tcl/Tk, TNT which is written in Emacs Lisp, all of which are open source, and a Java client originally called TIC which later became the Quick Buddy web applet. AOL also provided the TOC protocol specification openly to developers in the hopes that they will use it instead of the proprietary OSCAR protocol they use themselves. In July 2012, AOL turned off the TOC2 servers and it is no longer possible to connect to AIM using this protocol.

The V operating system is a discontinued microkernel distributed operating system that was developed by faculty and students in the Distributed Systems Group at Stanford University from 1981 to 1988, led by Professors David Cheriton and Keith A. Lantz. V was the successor to the Thoth operating system and Verex kernel that Cheriton had developed in the 1970s. Despite similar names and close development dates, it is unrelated to UNIX System V.

The Berkeley r-commands are a suite of computer programs designed to enable users of one Unix system to log in or issue commands to another Unix computer via TCP/IP computer network. The r-commands were developed in 1982 by the Computer Systems Research Group at the University of California, Berkeley, based on an early implementation of TCP/IP.

Java Authentication and Authorization Service, or JAAS, pronounced "Jazz", is the Java implementation of the standard Pluggable Authentication Module (PAM) information security framework. JAAS was introduced as an extension library to the Java Platform, Standard Edition 1.3 and was integrated in version 1.4.

Steve Dorner is an American software engineer who 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. Dorner also developed a popular online directory/phone book in the early 1990s commonly referred to as the CCSO Nameserver.

In the context of an HTTP transaction, basic access authentication is a method for an HTTP user agent to provide a user name and password when making a request. In basic HTTP authentication, a request contains a header field in the form of Authorization: Basic <credentials>, where credentials is the Base64 encoding of ID and password joined by a single colon :.

The Secure Remote Password protocol (SRP) is an augmented password-authenticated key exchange (PAKE) protocol, specifically designed to work around existing patents.

In computing, the Hesiod name service originated in Project Athena (1983–1991). It uses DNS functionality to provide access to databases of information that change infrequently. In Unix environments it often serves to distribute information kept in the /etc/passwd, /etc/group, and /etc/printcap files, among others. Frequently an LDAP server is used to distribute the same kind of information that Hesiod does. However, because Hesiod can leverage existing DNS servers, deploying it to a network is fairly easy.

In cryptography, CRAM-MD5 is a challenge–response authentication mechanism (CRAM) based on the HMAC-MD5 algorithm. As one of the mechanisms supported by the Simple Authentication and Security Layer (SASL), it is often used in email software as part of SMTP Authentication and for the authentication of POP and IMAP users, as well as in applications implementing LDAP, XMPP, BEEP, and other protocols.

SMTP Authentication, often abbreviated SMTP AUTH, is an extension of the Simple Mail Transfer Protocol (SMTP) whereby a client may log in using any authentication mechanism supported by the server. It is mainly used by submission servers, where authentication is mandatory.

In cryptography, the Salted Challenge Response Authentication Mechanism (SCRAM) is a family of modern, password-based challenge–response authentication mechanisms providing authentication of a user to a server. As it is specified for Simple Authentication and Security Layer (SASL), it can be used for password-based logins to services like SMTP and IMAP (e-mail), XMPP (chat), or MongoDB and PostgreSQL (databases). For XMPP, supporting it is mandatory.

References

  1. "ph (cso nameserver) Frequently Asked Questions (FAQ)" . Retrieved 2007-05-12.
  2. "Ph and Gopher" . Retrieved 2007-09-18.
  3. "OutlookPH".
  4. "RFC 2378 - The CCSO Nameserver (Ph) Architecture" . Retrieved 2007-07-14.
  5. "The CCSO Nameserver - Programmer's Guide [programmer.*]". GitHub. 1992. Retrieved 2020-01-21.
  6. Computing Handbook for Students (and Everyone Else). Computing Services Office, University of Illinois at Urbana-Champaign. 1991. p. 102. Also search for ph.
  7. CCSO/CSO: