Internet-Draft                                        Leslie L. Daigle
Expires: September 11, 1998            Bunyip Information Systems Inc.
draft-daigle-wppquery-00.txt                          Patrik Faltstrom
                                                         Tele2/Swipnet
                                                            March 1998

                  The application/whoispp-query Content-Type

Status of this Memo

      This document is an Internet-Draft.  Internet-Drafts are working
      documents of the Internet Engineering Task Force (IETF), its
      areas, and its working groups.  Note that other groups may also
      distribute working documents as Internet-Drafts.

      Internet-Drafts are draft documents valid for a maximum of six
      months and may be updated, replaced, or obsoleted by other docu-
      ments at any time.  It is inappropriate to use Internet-Drafts as
      reference material or to cite them other than as ``work in
      progress.''

      To learn the current status of any Internet-Draft, please check
      the ``1id-abstracts.txt'' listing contained in the Internet-
      Drafts Shadow Directories on ftp.is.co.za (Africa), nic.nordu.net
      (Europe), munnari.oz.au (Pacific Rim), ds.internic.net (US East
      Coast), or ftp.isi.edu (US West Coast).

      Distribution of this document is unlimited.

Abstract

   This document defines the expression of Whois++ protocol (originally
   defined in [RFC1835]  and updated in
   [draft-ietf-asid-whoispp-02.txt])queries within MIME [RFC2046]
   media types.  The intention of this document, in conjunction with
   [draft-daigle-wppquery-00.txt] is to enable MIME-enabled mail
   software, and other systems using Internet media types, to carry
   out Whois++ transactions.


1.  MIME Registration Information

To: iana@isi.edu
Subject:  Registration of MIME media type application/whoispp-query

MIME Type name:         Application

MIME subtype name:      whoispp-query

Required parameters:    none

Optional parameters:    none

Encoding considerations: Any valid MIME encodings may be used

Security considerations: This content-type contains purely descriptive
information (i.e., no directives).  There are security considerations
with regards to the appropriateness (privacy) of information provided
through the use of this content-type, and the authenticity of the
information so-provided.  This content-type provides no native
mechanisms for authentication.

Published specification:  this document

Person & email address to contact for further information:

                        Leslie L. Daigle
                        leslie@bunyip.com

Intended usage:         common



2.  whoispp-query Syntax

The following grammar, which uses BNF-like notation as defined in
[RFC2234] defines the set of acceptable input to a Whois++ server.
As such, it describes the expected structure of a whoispp-query media
type object.


N.B.:  As outlined in the ABNF definition, rule names and string
literals are in the US-ASCII character set, and are case-insensitive.


   whois-command   =   ( system-command [":" "hold"]
                       / terms [":" globalcnstrnts] ) nl

   system-command  =   "constraints"
                       / "describe"
                       / "commands"
                       / "polled-by"
                       / "polled-for"
                       / "version"
                       / "list"
                       / "show" [1*sp bytestring]
                       / "help" [1*sp bytestring]
                       / "?" [bytestring]

   terms           =   and-expr *("or" and-expr)

   and-expr        =   not-expr *("and" not-expr)

   not-expr        =   ["not"] (term / ( "(" terms ")" ))

   term            =   generalterm / specificterm
                       / combinedterm

   generalterm     =   bytestring

   specificterm    =   specificname "=" bytestring

   specificname    =   "handle" / "value"

   combinedterm    =   attributename "=" bytestring

   globalcnstrnts  =   globalcnstrnt *(";" globalcnstrnt)

   globalcnstrnt   =   "format" "=" format
                       / "maxfull" "=" 1*digit
                       / "maxhits" "=" 1*digit
                       / opt-globalcnst

   opt-globalcnst  =   "authenticate" "=" auth-method
                       / "language" "=" language
                       / "incharset" "=" characterset
                       / "ignore" "=" bytestring
                       / "include" "=" bytestring

   format          =   "full" / "abridged" / "handle" / "summary"
                       / "server-to-ask"

   auth-method     =  bytestring

   language        = <The language code defined in RFC1766 [ALVE95]>

   characterset    =   "us-ascii" / "iso-8859-1" / "iso-8859-2" /
                       "iso-8859-3" / "iso-8859-4" / "iso-8859-5" /
                       "iso-8859-6" / "iso-8859-7" / "iso-8859-8" /
                       "iso-8859-9" / "iso-8859-10" /
                       "UNICODE-1-1-UTF-8" / "UNICODE-2-0-UTF-8"
                       "UTF-8"
                         ;"UTF-8" is as defined in [RFC2279].  This is
                         ;the character set label that should be used
                         ;for UTF encoded information; the labels
                         ;"UNICODE-2-0-UTF-8" and "UNICODE-1-1-UTF-8"
                         ;are retained primarily for compatibility with
                         ;older Whois++ servers (and as outlined in
                         ;[RFC2279]).


   searchvalue     =   "exact" / "substring" / "regex" / "fuzzy"
                       / "lstring"

   casevalue       =   "ignore" / "consider"

   bytestring          =   0*charbyte

   attributename   =   1*attrbyte

   charbyte        =   "\" specialbyte / normalbyte

   normalbyte      =   <%d33-255, except specialbyte>

   attrbyte        =   <%d33-127 except specialbyte> /
                       "\" <specialbyte except ":" " " tab nl>

   specialbyte     =   " " / tab / "=" / "," / ":" / ";" / "\" /
                       "*" / "." / "(" / ")" / "[" / "]" / "^" /
                       "$" / "!" / "?"

   tab             =  %d09
   sp              =  %d32        ; space

   digit           =   "0" / "1" / "2" / "3" / "4" /
                       "5" / "6" / "7" / "8" / "9"

   nl              =   %d13 %d10   ; CR LF


   NOTE: Blanks that are significant to a query must be escaped.  The
   following characters, when significant to the query, may be preceded
   and/or followed by a single blank:

     : ; , ( ) = !




3.  References

   [ALVE95]        Alvestrand H., "Tags for the Identification of
                   Languages", RFC 1766, UNINETT, March 1995.

   [RFC2234]       Crocker, D., and P. Overell,  "Augmented BNF for
                   Syntax Specifications: ABNF", RFC 2234, November
                   1997.

   [RFC1835]       Deutsch, P., R. Schoultz, P. Faltstrom and C.
                   Weider.  "Architecture of the WHOIS++ service",
                   RFC 1835. August 1995.

   [RFC2046]       Freed, N., and N. Borenstein, "Multipurpose Internet
                   Mail Extensions (MIME) Part Two: Media Types",
                   RFC 2046, November 1996.

   [HARR85]        Harrenstein K., Stahl M., and E. Feinler,
                   "NICNAME/WHOIS", RFC 954, SRI, October 1985.

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

   [IIIR]          Weider C., and P. Deutsch, "A Vision of an
                   Integrated Internet Information Service", RFC 1727
                   Bunyip Information Systems, Inc., December 1994.

   [WINDX]         Weider, C., J. Fullton, and S. Spero, "Architecture
                   of the Whois++ Index Service", RFC 1913, February
                   1996.
   [RFC2279]       F. Yergeau, " UTF-8, a transformation format of ISO
                   10646", RFC 2279, January 1998.




4.  Authors Addresses

   Leslie L. Daigle
   Bunyip Information Systems Inc.
   310 Ste. Catherine St. W
   Suite 300
   Montreal, Quebec,  CANADA
   H2X 2A1

   Email:  leslie@bunyip.com


   Patrik Faltstrom
   Tele2
   Borgarfjordsgatan 16
   BOX 62
   194 64 Kista
   SWEDEN

   Email: paf@swip.net