RFC2244 - ACAP -- Application Configuration Access Protocol(3)

时间:2005-02-15 来源: 作者: 点击:
Data: required rights list of optional rights The LISTRIGHTS response occurs as a result of a LISTRIGHTS command. The first argument is a string containing the (possibly empty) set of rights the iden
  

Data: required rights
list of optional rights

The LISTRIGHTS response occurs as a result of a LISTRIGHTS
command. The first argument is a string containing the (possibly
empty) set of rights the identifier will always be granted on the
dataset or attribute.

Following this are zero or more strings each containing a single
right which the current user may revoke or grant to the identifier
in the dataset or attribute.

The same right MUST NOT be listed more than once in the LISTRIGHTS
response.

6.8. Quotas

The section defines the commands and responses relating to quotas.

6.8.1. GETQUOTA Command

Arguments: dataset

Data: untagged responses: QUOTA

Result: OK - Quota information returned
NO - Quota failure: can't access resource limit
no resource limit
BAD - command unknown or arguments invalid

The GETQUOTA command takes the name of a dataset, and returns in
an untagged QUOTA response the name of the dataset, quota limit in
bytes that applies to that dataset and the quota usage within that
limit. The scope of a quota limit is implementation dependent.

Example: C: A043 GETQUOTA "/option/user/fred/common"
S: * QUOTA "/option/user/fred/common" 1048576 2475
S: A043 OK "Getquota completed"

6.8.3. QUOTA Untagged Response

Data: dataset
quota limit in bytes
amount of quota limit used
extension data

The QUOTA untagged response is generated as a result of a GETQUOTA
command or MAY be generated by the server in response to a SEARCH
or STORE command to warn about high usage of a quota. It includes
the name of the applicable dataset, the quota limit in bytes, the
quota usage and some optional extension data. Clients MUST
tolerate the extension data as its use is reserved for a future
extension.

6.9. Extensions

In order to simplify the process of extending the protocol, clients
MUST tolerate unknown server responses which meet the syntax of
response-extend. In addition, clients MUST tolerate unknown server
response codes which meet the syntax of resp-code-ext. Availability
of new commands MUST be announced via a capability on the initial
greeting line and such commands SHOULD meet the syntax of
command-extend.

Servers MUST respond to unknown commands with a BAD command
completion result. Servers MUST skip over non-synchronizing literals
contained in an unknown command. This may be done by assuming the
unknown command matches the command-extend syntax, or by reading a
line at a time and checking for the non-synchronizing literal syntax
at the end of the line.

7. Registration Procedures

ACAP's usefulness comes from providing a structured storage model for
all sorts of configuration data. However, for its potential to be
achieved, it is important that the Internet community strives for the
following goals:

(1) Standardization. It is very important to standardize dataset
classes. The authors hope that ACAP achieves the success that SNMP
has seen with the definition of numerous standards track MIBs.

(2) Community Review. In the absence of standardization, it is
important to get community review on a proposal to improve its
engineering quality. Community review is strongly recommended prior
to registration. The ACAP implementors mailing list
<ietf-acap@andrew.cmu.edu> should be used for this purpose.

(3) Registration. Registration serves a two-fold purpose. First it
prevents use of the same name for different purposes, and second it
provides a one-stop list which can be used to locate existing
extensions or dataset classes to prevent duplicate work.

The following registration templates may be used to register ACAP
protocol elements with the Internet Assigned Numbers Authority
(IANA).

7.1. ACAP Capabilities

New ACAP capabilities MUST be registered prior to use. Careful
consideration should be made before extending the protocol, as it can
lead to complexity or interoperability problems. Review of proposals
on the acap implementors mailing list is strongly encouraged prior to
registration.

To: iana@iana.org
Subject: Registration of ACAP capability

Capability name:

Capability keyword:

Capability arguments:

Published Specification(s):

(Optional, but strongly encouraged)

Person and email address to contact for further information:

7.2. ACAP Response Codes

ACAP response codes are registered on a first come, first served
basis. Review of proposals on the acap implementors mailing list is
strongly encouraged prior to registration.

To: iana@iana.org
Subject: Registration of ACAP response code

Response Code:

Arguments (use ABNF to specify syntax):

Purpose:

Published Specification(s):

(Optional, but strongly encouraged)

Person and email address to contact for further information:

7.3. Dataset Classes

A dataset class provides a core set of attributes for use in a
specified hierarchy. It may also define rules for the dataset
hierarchy underneath that class. Dataset class specifications must
be standards track or IESG approved experimental RFCs.

To: iana@iana.org
Subject: Registration of ACAP dataset class

Dataset class name/attribute prefix:

Purpose:

Published Specification(s):

(Standards track or IESG approved experimental RFC)

Person and email address to contact for further information:

7.4. Vendor Subtree

Vendors may reserve a portion of the ACAP namespace for private use.
Dataset class names beginning with "vendor.<company/product name>."
are reserved for use by that company or product. In addition, all
attribute names beginning with "vendor.<company/product name>." are
reserved for use by that company or product once registered.
Registration is on a first come, first served basis. Whenever
possible, private attributes and dataset classes should be avoided in
favor of improving interoperable dataset class definitions.

To: iana@iana.org
Subject: Registration of ACAP vendor subtree

Private Prefix: vendor.<company/product name>.

Person and email address to contact for further information:

(company names and addresses should be included when appropriate)

8. Formal Syntax

The following syntax specification uses the augmented Backus-Naur
Form (BNF) notation as specified in [ABNF]. This uses the ABNF core
rules as specified in Appendix A of the ABNF specification [ABNF].

Except as noted otherwise, all alphabetic characters are
case-insensitive. The use of upper or lower case characters to
define token strings is for editorial clarity only. Implementations
MUST accept these strings in a case-insensitive fashion.

The "initial-greeting" rule below defines the initial ACAP greeting
from the server. The "command" rule below defines the syntax for
commands sent by the client. The "response" rule below defines the
syntax for responses sent by the server.

ATOM-CHAR = "!" / %x23-27 / %x2A-5B / %x5D-7A / %x7C-7E
;; Any CHAR except ATOM-SPECIALS

ATOM-SPECIALS = "(" / ")" / "{" / SP / CTL / QUOTED-SPECIALS

CHAR = %x01-7F

DIGIT-NZ = %x31-39
; non-zero digits ("1" - "9")

QUOTED-CHAR = SAFE-UTF8-CHAR / "\" QUOTED-SPECIALS

QUOTED-SPECIALS = <"> / "\"

SAFE-CHAR = %x01-09 / %x0B-0C / %x0E-21 /
%x23-5B / %x5D-7F
;; any TEXT-CHAR except QUOTED-SPECIALS

SAFE-UTF8-CHAR = SAFE-CHAR / UTF8-2 / UTF8-3 / UTF8-4 /
UTF8-5 / UTF8-6

TAG-CHAR = %x21 / %x23-27 / %x2C-5B / %x5D-7A / %x7C-7E
;; Any ATOM-CHAR except "*" or "+"

TEXT-CHAR = %x01-09 / %x0B-0C / %x0E-7F
;; any CHAR except CR and LF

TEXT-UTF8-CHAR = SAFE-UTF8-CHAR / QUOTED-SPECIALS

UTF8-1 = %x80-BF

UTF8-2 = %xC0-DF UTF8-1

UTF8-3 = %xE0-EF 2UTF8-1

UTF8-4 = %xF0-F7 3UTF8-1

UTF8-5 = %xF8-FB 4UTF8-1

UTF8-6 = %xFC-FD 5UTF8-1

UTF8-CHAR = TEXT-UTF8-CHAR / CR / LF

acl = "(" [acl-identrights *(SP acl-identrights)] ")"
*(SPACE acl-identrights)] ")"

acl-identifier = string-utf8
;; MUST NOT contain HTAB

acl-identrights = string-utf8
;; The identifier followed by a HTAB,
;; followed by the rights.

acl-delobject = "(" dataset SP attribute [SP entry-name] ")"

acl-object = "(" dataset [SP attribute [SP entry-name]] ")"

acl-rights = quoted

atom = ALPHA *1023ATOM-CHAR

attribute = string-utf8
;; dot-separated attribute name
;; MUST NOT contain "*" or "%"

attribute-store = attribute SP (value-nildef /
"(" 1*(metadata-write-q SP value-store) ")")
;; MUST NOT include the same metadata twice

auth-type = <"> auth-type-name <">

auth-type-name = iana-token
;; as defined in SASL [SASL]

command = tag SP (command-any / command-auth /
command-nonauth) CRLF
;; Modal based on state

command-authent = "AUTHENTICATE" SP auth-type
[SP string] *(CRLF string)

command-any = "NOOP" / command-lang / "LOGOUT" /
command-extend

command-auth = command-delacl / command-dsince /
command-freectx / command-getquota /
command-lrights / command-myrights /
command-search / command-setacl /
command-store
;; only valid in authenticated state

command-delacl = "DELETEACL" SP acl-delobject [SP acl-identifier]

command-dsince = "DELETEDSINCE" SP dataset SP time

command-extend = extend-token [SP extension-data]

command-freectx = "FREECONTEXT" SP context

command-getquota = "GETQUOTA" SP dataset

command-lang = "LANG" *(SP lang-tag)

command-lrights = "LISTRIGHTS" SP acl-object

command-myrights = "MYRIGHTS" SP acl-object

command-nonauth = command-authent
;; only valid in non-authenticated state

command-search = "SEARCH" SP (dataset / context)
*(SP search-modifier) SP search-criteria
;; MUST NOT include same search-modifier twice

command-setacl = "SETACL" SP acl-object SP acl-identifier
SP acl-rights

command-store = "STORE" SP store-entry-list

comparator = <"> comparator-name <">

comparator-name = ["+" / "-"] iana-token

context = string-utf8
;; MUST NOT begin with slash ("/")

dataset = string-utf8
;; slash-separated dataset name
;; begins with slash

entry = entry-name / entry-path

entry-name = string-utf8
;; entry name MUST NOT contain slash
;; MUST NOT begin with "."

entry-path = string-utf8
;; slash-separated path to entry
;; begins with slash

entry-relative = string-utf8
;; potentially relative path to entry

extend-token = atom
;; MUST be defined by a standards track or
;; IESG approved experimental protocol extension

extension-data = extension-item *(SP extension-item)

extension-item = extend-token / string / number /
"(" [extension-data] ")"

iana-token = atom
;; MUST be registered with IANA

initial-greeting = "*" SP "ACAP" *(SP "(" init-capability ")") CRLF

init-capability = init-cap-context / init-cap-extend /
init-cap-implem / init-cap-sasl

init-cap-context = "CONTEXTLIMIT" SP string

init-cap-extend = iana-token [SP string-list]

init-cap-implem = "IMPLEMENTATION" SP string

init-cap-sasl = "SASL" SP string-list

lang-tag = <"> Language-Tag <">
;; Language-Tag rule is defined in [LANG-TAGS]

literal = "{" number [ "+" ] "}" CRLF *OCTET
;; The number represents the number of octets
;; MUST be literal-utf8 except for values

literal-utf8 = "{" number [ "+" ] "}" CRLF *UTF8-CHAR
;; The number represents the number of octets
;; not the number of characters

metadata = attribute [ "(" metadata-type-list ")" ]
;; attribute MAY end in "*" as wildcard.

metadata-list = metadata *(SP metadata)

metadata-type = "attribute" / "myrights" / "size" /
"count" / metadata-write

metadata-type-q = <"> metadata-type <">

metadata-type-list = metadata-type-q *(SP metadata-type-q)

metadata-write = "value" / "acl"

metadata-write-q = <"> metadata-write <">

nil = "NIL"

number = *DIGIT
;; A 32-bit unsigned number.
;; (0 <= n < 4,294,967,296)

nz-number = DIGIT-NZ *DIGIT
;; A 32-bit unsigned non-zero number.
;; (0 < n < 4,294,967,296)

position = number
;; "0" if context is not enumerated
;; otherwise this is non-zero

quota-limit = number

quota-usage = number

quoted = <"> *QUOTED-CHAR <">
;; limited to 1024 octets between the <">s

response = response-addto / response-alert / response-bye /
response-change / response-cont /
response-deleted / response-done /
response-entry / response-extend /
response-listr / response-lang /
response-mtimei / response-mtimeu /
response-myright / response-quota /
response-refer / response-remove / response-stat

response-addto = "*" SP "ADDTO" SP context SP entry-name
SP position SP return-data-list

response-alert = "*" SP "ALERT" SP resp-body CRLF
;; Client MUST display alert text to user

response-bye = "*" SP "BYE" SP resp-body CRLF
;; Server will disconnect condition

response-change = "*" SP "CHANGE" SP context SP entry-name
SP position SP position SP return-data-list

response-cont = "+" SP string

response-deleted = tag SP "DELETED" SP entry-name

response-done = tag SP resp-cond-state CRLF

response-entry = tag SP "ENTRY" SP entry SP return-data-list

response-extend = (tag / "*") SP extend-token [SP extension-data]

response-lang = "*" SP "LANG" SP lang-tag 1*(SP comparator)

response-listr = tag SP "LISTRIGHTS" SP acl-rights
*(SP acl-rights)

response-mtimei = tag SP "MODTIME" SP time

response-mtimeu = "*" SP "MODTIME" SP context SP time

response-myright = tag SP "MYRIGHTS" SP acl-rights

response-quota = "*" SP "QUOTA" SP dataset SP quota-limit
SP quota-usage [SP extension-data]

response-refer = tag SP "REFER" SP dataset
1*(SP <"> url-relative <">)

response-remove = "*" SP "REMOVEFROM" SP context SP
entry-name SP position

response-stat = "*" SP resp-cond-state CRLF

resp-body = ["(" resp-code ")" SP] quoted

resp-code = "AUTH-TOO-WEAK" / "ENCRYPT-NEEDED" /
resp-code-inval / resp-code-mod /
resp-code-noexist / resp-code-perm / "QUOTA" /
resp-code-refer / resp-code-sasl /
resp-code-toomany / "TOOOLD" /
"TRANSITION-NEEDED" / "TRYFREECONTEXT" /
"TRYLATER" / "WAYTOOMANY" / resp-code-ext

resp-code-ext = iana-token [SP extension-data]
;; unknown codes MUST be tolerated by the client

resp-code-inval = "INVALID" 1*(SP entry-path SP attribute)

resp-code-mod = "MODIFIED" SP entry-path

resp-code-noexist = "NOEXIST" SP dataset

resp-code-perm = "PERMISSION" SP acl-object

resp-code-refer = "REFER" 1*(SP <"> url-relative <">)

resp-code-sasl = "SASL" SP string

resp-code-toomany = "TOOMANY" SP nz-number

resp-cond-state = ("OK" / "NO" / "BAD") SP resp-body
;; Status condition

return-attr-list = "(" return-metalist *(SP return-metalist) ")"
;; occurs when "*" in RETURN pattern on SEARCH

return-data = return-metadata / return-metalist /
return-attr-list

return-data-list = return-data *(SP return-data)

return-metalist = "(" return-metadata *(SP return-metadata) ")"
;; occurs when multiple metadata items requested

return-metadata = nil / string / value-list / acl

searchkey-equal = "EQUAL" SP attribute SP comparator SP value-nil

searchkey-comp = "COMPARE" SP attribute SP comparator SP value

searchkey-prefix = "PREFIX" SP attribute SP comparator SP value

searchkey-range = "RANGE" SP nz-number SP nz-number SP time

searchkey-strict = "COMPARESTRICT" SP attribute SP comparator
SP value

searchkey-substr = "SUBSTRING" SP attribute SP comparator SP value

searchmod-depth = "DEPTH" SP number

searchmod-hard = "HARDLIMIT" SP nz-number

searchmod-limit = "LIMIT" SP number SP number

searchmod-make = "MAKECONTEXT" [SP "ENUMERATE"]
[SP "NOTIFY"] SP context

searchmod-ninh = "NOINHERIT"

searchmod-return = "RETURN" SP "(" [metadata-list] ")"

searchmod-sort = "SORT" SP "(" sort-list ")"

search-criteria = "ALL" / searchkey-equal / searchkey-comp /
searchkey-strict / searchkey-range /
searchkey-prefix / searchkey-substr /
"NOT" SP search-criteria /
"OR" SP search-criteria SP search-criteria /
"AND" SP search-criteria SP search-criteria

search-modifier = searchmod-depth / searchmod-hard /
searchmod-limit / searchmod-make /
searchmod-ninh / searchmod-return /
searchmod-sort

sort-list = sort-item *(SP sort-item)

sort-item = attribute SP comparator

store-entry = "(" entry-path *(SP store-modifier)
*(SP attribute-store) ")"
;; MUST NOT include same store-modifier twice
;; MUST NOT include same attribute twice

store-entry-list = store-entry *(SP store-entry)
;; MUST NOT include same entry twice

store-modifier = store-mod-unchang / store-mod-nocreate

store-mod-nocreate = "NOCREATE"

store-mod-unchang = "UNCHANGEDSINCE" SP time

string = quoted / literal

string-list = string *(SP string)

string-utf8 = quoted / literal-utf8

tag = 1*32TAG-CHAR

time = <"> time-year time-month time-day time-hour
time-minute time-second time-subsecond <">
;; Timestamp in UTC

time-day = 2DIGIT ;; 01-31

time-hour = 2DIGIT ;; 00-23

time-minute = 2DIGIT ;; 00-59

time-month = 2DIGIT ;; 01-12

time-second = 2DIGIT ;; 00-60

time-subsecond = *DIGIT

time-year = 4DIGIT

value = string

value-list = "(" [value *(SP value)] ")"

value-nil = value / nil

value-nildef = value-nil / "DEFAULT"

value-store = value-nildef / value-list / acl

url-acap = "acap://" url-server "/" url-enc-entry
[url-filter] [url-extension]
;; url-enc-entry interpreted relative to "/"

url-attr-list = url-enc-attr *("&" url-enc-attr)

url-auth = ";AUTH=" ("*" / url-enc-auth)

url-achar = uchar / "&" / "=" / "~"
;; See RFC1738 for definition of "uchar"

url-char = uchar / "=" / "~" / ":" / "@" / "/"
;; See RFC1738 for definition of "uchar"

url-enc-attr = 1*url-char
;; encoded version of attribute name

url-enc-auth = 1*url-achar
;; encoded version of auth-type-name above

url-enc-entry = 1*url-char
;; encoded version of entry-relative above

url-enc-user = *url-achar
;; encoded version of login userid

url-extension = *("?" 1*url-char)

url-filter = "?" url-attr-list

url-relative = url-acap / [url-enc-entry] [url-filter]
;; url-enc-entry is relative to base URL

url-server = [url-enc-user [url-auth] "@"] hostport
;; See RFC1738 for definition of "hostport"

9. Multi-lingual Considerations

The IAB charset workshop [IAB-CHARSET] came to a number of
conclusions which influenced the design of ACAP. The decision to use
UTF-8 as the character encoding scheme was based on that work. The
LANG command to negotiate a language for error messages is also
included.

Section 3.4.5 of the IAB charset workshop report states that there
should be a way to identify the natural language for human readable
strings. Several promising proposals have been made for use within
ACAP, but no clear consensus on a single method is apparent at this
stage. The following rules are likely to permit the addition of
multi-lingual support in the future:

(1) A work in progress called Multi-Lingual String Format (MLSF)
proposes a layer on top of UTF-8 which uses otherwise illegal UTF-8
sequences to store language tags. In order to permit its addition to
a future version of this standard, client-side UTF-8 interpreters
MUST be able to silently ignore illegal multi-byte UTF-8 characters,
and treat illegal single-byte UTF-8 characters as end of string
markers. Servers, for the time being, MUST be able to silently
accept illegal UTF-8 characters, except in attribute names and entry
names. Clients MUST NOT send illegal UTF-8 characters to the server
unless a future standard changes this rule.

(2) There is a proposal to add language tags to Unicode. To support
this, servers MUST be able to store UTF-8 characters of up to 20 bits
of data.

(3) The metadata item "language" is reserved for future use.

10. Security Considerations

The AUTHENTICATE command uses SASL [SASL] to provide basic
authentication, authorization, integrity and privacy services. This
is described in section 6.3.1.

When the CRAM-MD5 mechanism is used, the security considerations for
the CRAM-MD5 SASL mechanism [CRAM-MD5] apply. The CRAM-MD5 mechanism
is also susceptible to passive dictionary attacks. This means that
if an authentication session is recorded by a passive observer, that
observer can try common passwords through the CRAM-MD5 mechanism and
see if the results match. This attack is reduced by using hard to
guess passwords. Sites are encouraged to educate users and have the
password change service test candidate passwords against a
dictionary. ACAP implementations of CRAM-MD5 SHOULD permit passwords
of at least 64 characters in length.

ACAP protocol transactions are susceptible to passive observers or
man in the middle attacks which alter the data, unless the optional
encryption and integrity services of the AUTHENTICATE command are
enabled, or an external security mechanism is used for protection.
It may be useful to allow configuration of both clients and servers
to refuse to transfer sensitive information in the absence of strong
encryption.

ACAP access control lists provide fine grained authorization for
access to attributes. A number of related security issues are
described in section 3.5.

ACAP URLs have the same security considerations as IMAP URLs
[IMAP-URL].

ACAP clients are encouraged to consider the security problems
involved with a lab computer situation. Specifically, a client cache
of ACAP configuration information MUST NOT allow access by an
unauthorized user. One way to assure this is for an ACAP client to
be able to completely flush any non-public cached configuration data
when a user leaves.

As laptop computers can be easily stolen and a cache of configuration
data may contain sensitive information, a disconnected mode ACAP
client may wish to encrypt and password protect cached configuration
information.

11. Acknowledgments

Many thanks to the follow people who have contributed to ACAP over
the past four years: Wallace Colyer, Mark Crispin, Jack DeWinter, Rob
Earhart, Ned Freed, Randy Gellens, Terry Gray, J. S. Greenfield,
Steve Dorner, Steve Hole, Steve Hubert, Dave Roberts, Bart Schaefer,
Matt Wall and other participants of the IETF ACAP working group.

12. Authors' Addresses

Chris Newman
Innosoft International, Inc.
1050 Lakes Drive
West Covina, CA 91790 USA

Email: chris.newman@innosoft.com

John Gardiner Myers
Netscape Communications
501 East Middlefield Road
Mail Stop MV-029
Mountain View, CA 94043

Email: jgmyers@netscape.com

Appendices

A. References

[ABNF] Crocker, Overell, "Augmented BNF for Syntax Specifications:
ABNF", RFC2234, Internet Mail Consortium, Demon Internet Ltd,
November 1997.

<ftp://ds.internic.net/rfc/rfc2234.txt>

[BASIC-URL] Berners-Lee, Masinter, McCahill, "Uniform Resource
Locators (URL)", RFC1738, CERN, Xerox Coproration, University of
Minnesota, December 1994.

<ftp://ds.internic.net/rfc/rfc1738.txt>

[CHARSET-LANG-POLICY] Alvestrand, "IETF Policy on Character Sets and
Languages", work in progress.

[CRAM-MD5] Klensin, Catoe, Krumviede, "IMAP/POP AUTHorize Extension
for Simple Challenge/Response", RFC2195, MCI, September 1997.

<ftp://ds.internic.net/rfc/rfc2195.txt>

[IAB-CHARSET] Weider, Preston, Simonsen, Alvestrand, Atkinson,
Crispin, Svanberg, "The Report of the IAB Character Set Workshop held
29 February - 1 March, 1996", RFC2130, April 1997.

<ftp://ds.internic.net/rfc/rfc2130.txt>

[IMAP4] Crispin, M., "Internet Message Access Protocol - Version
4rev1", RFC2060, University of Washington, December 1996.

<ftp://ds.internic.net/rfc/rfc2060.txt>

[IMAP-ACL] Myers, J., "IMAP4 ACL extension", RFC2086, Carnegie
Mellon, January 1997.

<ftp://ds.internic.net/rfc/rfc2086.txt>

[IMAP-URL] Newman, "IMAP URL Scheme", RFC2192, Innosoft, July 1997.

<ftp://ds.internic.net/rfc/rfc2192.txt>

[ISO-10646] ISO/IEC 10646-1:1993(E) "Information Technology--
Universal Multiple-octet Coded Character Set (UCS)." See also
amendments 1 through 7, plus editorial corrections.

[ISO-C] "Programming languages -- C", ISO/IEC 9899:1990,
International Organization for Standardization. This is effectively
the same as ANSI C standard X3.159-1989.

[KEYWORDS] Bradner, "Key words for use in RFCs to Indicate
Requirement Levels", RFC2119, Harvard University, March 1997.

<ftp://ds.internic.net/rfc/rfc2119.txt>

[LANG-TAGS] Alvestrand, H., "Tags for the Identification of
Languages", RFC1766.

<ftp://ds.internic.net/rfc/rfc1766.txt>

[REL-URL] Fielding, "Relative Uniform Resource Locators", RFC1808,
UC Irvine, June 1995.

<ftp://ds.internic.net/rfc/rfc1808.txt>

[SASL] Myers, J., "Simple Authentication and Security Layer (SASL)",
RFC2222, Netscape Communications, October 1997.

<ftp://ds.internic.net/rfc/rfc2222.txt>

[SASL-ANON] Newman, C., "Anonymous SASL Mechanism", RFC2245,
November 1997.

[UNICODE-2] The Unicode Consortium, "The Unicode Standard, Version
2.0", Addison-Wesley, 1996. ISBN 0-201-48345-9.

[US-ASCII] "USA Standard Code for Information Interchange," X3.4.
American National Standards Institute: New York (1968).

[UTF8] Yergeau, F. "UTF-8, a transformation format of Unicode and ISO
10646", RFC2044, Alis Technologies, October 1996.

<ftp://ds.internic.net/rfc/rfc2044.txt>

B. ACAP Keyword Index

ACAP (untagged response) ................................... 26
ADDTO (untagged response) .................................. 40
ALERT (untagged response) .................................. 31
ALL (search keyword) ....................................... 36
AND (search keyword) ....................................... 36
AUTH-TOO-WEAK (response code) .............................. 19
AUTHENTICATE (command) ..................................... 31
BAD (response) ............................................. 30
BYE (untagged response) .................................... 30
CHANGE (untagged response) ................................. 41
COMPARE (search keyword) ................................... 36
COMPARESTRICT (search keyword) ............................. 36
CONTEXTLIMIT (ACAP capability) ............................. 27
DELETEACL (command) ........................................ 46
DELETED (intermediate response) ............................ 45
DELETEDSINCE (command) ..................................... 45
DEPTH (search modifier) .................................... 34
ENCRYPT-NEEDED (response code) ............................. 19
ENTRY (intermediate response) .............................. 37
EQUAL (search keyword) ..................................... 37
FREECONTEXT (command) ...................................... 39
GETQUOTA (command) ......................................... 48
HARDLIMIT (search modifier) ................................ 34
IMPLEMENTATION (ACAP capability) ........................... 27
INVALID (response code) .................................... 19
LANG (command) ............................................. 28
LANG (intermediate response) ............................... 28
LIMIT (search modifier) .................................... 34
LISTRIGHTS (command) ....................................... 47
LISTRIGHTS (intermediate response) ......................... 48
LOGOUT (command) ........................................... 29
MAKECONTEXT (search modifier) .............................. 34
MODIFIED (response code) ................................... 19
MODTIME (intermediate response) ............................ 38
MODTIME (untagged response) ................................ 42
MYRIGHTS (command) ......................................... 47
MYRIGHTS (intermediate response) ........................... 47
NO (response) .............................................. 29
NOCREATE (store modifier) .................................. 44
NOEXIST (response code) .................................... 19
NOINHERIT (search modifier) ................................ 35
NOOP (command) ............................................. 27
NOT (search keyword) ....................................... 37
OK (response) .............................................. 29
OR (search keyword) ........................................ 37
PERMISSION (response code) ................................. 19

PREFIX (search keyword) .................................... 37
QUOTA (response code) ...................................... 19
QUOTA (untagged response) .................................. 49
RANGE (search keyword) ..................................... 37
REFER (intermediate response) .............................. 38
REFER (response code) ...................................... 19
REMOVEFROM (untagged response) ............................. 41
RETURN (search modifier) ................................... 35
SASL (ACAP capability) ..................................... 27
SASL (response code) ....................................... 20
SEARCH (command) ........................................... 33
SETACL (command) ........................................... 46
SORT (search modifier) ..................................... 36
STORE (command) ............................................ 42
SUBSTRING (search keyword) ................................. 37
TOOMANY (response code) .................................... 20
TOOOLD (response code) ..................................... 20
TRANSITION-NEEDED (response code) .......................... 20
TRYFREECONTEXT (response code) ............................. 20
TRYLATER (response code) ................................... 20
UNCHANGEDSINCE (store modifier) ............................ 44
UPDATECONTEXT (command) .................................... 40
WAYTOOMANY (response code) ................................. 20
acl (attribute metadata) ................................... 12
anyone (ACL identifier) .................................... 17
attribute (attribute metadata) ............................. 12
dataset.acl (dataset attribute) ............................ 24
dataset.acl.<attribute> (dataset attribute) ................ 24
dataset.inherit (dataset attribute) ........................ 24
entry (predefined attribute) ............................... 11
i;ascii-casemap (comparator) ............................... 16
i;ascii-numeric (comparator) ............................... 16
i;octet (comparator) ....................................... 16
modtime (predefined attribute) ............................. 11
myrights (attribute metadata) .............................. 12
size (attribute metadata) .................................. 13
subdataset (predefined attribute) .......................... 11
value (attribute metadata) ................................. 13

C. Full Copyright Statement

Copyright (C) The Internet Society 1997. All Rights Reserved.

This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implmentation may be prepared, copied, published and
distributed, in whole or in part, without restriction of any kind,
provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of developing
Internet standards in which case the procedures for copyrights defined
in the Internet Standards process must be followed, or as required to
translate it into languages other than English.

The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assigns.

This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN
WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
------分隔线----------------------------
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
最新评论 查看所有评论
发表评论 查看所有评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
推荐内容