draft-ietf-webdav-quota-01.txt   draft-ietf-webdav-quota-02.txt 
B. Korver B. Korver
Xythos Xythos
L. Dusseault L. Dusseault
Xythos Xythos
Internet Draft C. Warner Internet Draft C. Warner
Document: draft-ietf-webdav-quota-01.txt Netezza Document: draft-ietf-webdav-quota-02.txt Netezza
Expires: September 2003 March 2003 Expires: January 2004 July 2003
Quota and Size Properties for DAV Collections Quota and Size Properties for DAV Collections
Status of this Memo Status of this Memo
This document is an Internet-Draft and is in full conformance with This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026. all provisions of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
skipping to change at line 43 skipping to change at line 43
Abstract Abstract
WebDAV servers are frequently deployed with quota (size) WebDAV servers are frequently deployed with quota (size)
limitations. This Internet-Draft discusses the properties and minor limitations. This Internet-Draft discusses the properties and minor
behaviors needed for clients to interoperate with quota behaviors needed for clients to interoperate with quota
implementations on WebDAV repositories. implementations on WebDAV repositories.
Table of Contents Table of Contents
Introduction.......................................................2 Introduction.......................................................2
DAV:quota-limit-bytes..............................................3 DAV:quota-available-bytes..........................................3
DAV:quota-used-bytes...............................................3 DAV:quota-used-bytes...............................................4
DAV:quota-assigned-bytes...........................................4 DAV:quota-assigned-bytes...........................................4
Example PROPFIND request and response..............................5 Example PROPFIND request and response..............................5
Error reporting....................................................6 Error reporting....................................................6
Notes..............................................................6 Notes..............................................................6
Security Considerations............................................7 Security Considerations............................................7
Internationalization Considerations................................7 Internationalization Considerations................................7
IANA Considerations................................................7 IANA Considerations................................................7
Dusseault Expires March 2003 1 Dusseault Expires July 2003 1
DAV Collection Size and Quota January 2003 DAV Collection Size and Quota July 2003
Intellectual Property..............................................7 Intellectual Property..............................................8
Acknowledgements...................................................8 Acknowledgements...................................................8
References.........................................................9 References.........................................................9
Author's Addresses.................................................9 Author's Addresses.................................................9
Introduction Introduction
Notational Conventions Notational Conventions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
skipping to change at line 95 skipping to change at line 95
- Sometimes the storage service is provided free, but the storage - Sometimes the storage service is provided free, but the storage
service provider has limited storage space (e.g. www.sharemation.com service provider has limited storage space (e.g. www.sharemation.com
and university-provided student accounts) and university-provided student accounts)
- Even in cases where the storage can be upgraded, the storage - Even in cases where the storage can be upgraded, the storage
managers may choose to limit quota in order to encourage users to managers may choose to limit quota in order to encourage users to
limit the files they store on the system and to clean up obsolete limit the files they store on the system and to clean up obsolete
files. (e.g. IT departments within corporations). files. (e.g. IT departments within corporations).
In order to work best with repositories that support quotas, client In order to work best with repositories that support quotas, client
software should be able to determine and display the quota-limit on software should be able to determine and display the quota-available
collections. Further, client software should have some way of on collections. Further, client software should have some way of
fairly reliably determining how much storage space is already fairly reliably determining how much storage space is already
counted towards that quota. counted towards that quota.
In addition to displaying the quota-limit and quota-used on In addition to displaying the quota-available and quota-used on
collections, this specification does not forbid these properties on collections, this specification does not forbid these properties on
any resource. any resource.
Solution Overview Solution Overview
The approach to meeting the requirements and scenarios outlined The approach to meeting the requirements and scenarios outlined
above is to define three live properties. This specification can be above is to define three live properties. This specification can be
Korver Expires Jul 2003 2 Korver Expires January 2004 2
DAV Collection Size and Quota January 2003 DAV Collection Size and Quota July 2003
met on a server by implementing both quota-limit and quota-used on met on a server by implementing both quota-available and quota-used
collections only. Implementing both quota-limit and quota-used on on collections only. Implementing both quota-available and quota-
all resources is recommended. used on all resources is RECOMMENDED.
None of these properties need be returned in a <DAV:allprop> request None of these properties need be returned in a <DAV:allprop> request
though the server may include them. However, these property names though the server may include them. However, these property names
MUST be returned in a <DAV:propname> request for a resource that MUST be returned in a <DAV:propname> request for a resource that
supports the properties, except in the case of infinite limits which supports the properties, except in the case of infinite limits which
are explained below. are explained below.
The definitions below for quota-limit and quota-used borrow heavily The quota-available and quota-used definitions below borrow heavily
from the definition of quota in the NFS [RFC3010] specification. from the quota definitions in the NFS [RFC3010] specification.
DAV:quota-limit-bytes DAV:quota-available-bytes
Name: quota-limit-bytes Name: quota-available-bytes
Namespace: DAV: Namespace: DAV:
Purpose: Indicates the total amount of storage potentially Purpose: Indicates the maximum amount of additional storage
allocated. available to be allocated to a resource.
DTD: <!ELEMENT quota-limit-bytes (#PCDATA) > DTD: <!ELEMENT quota-available-bytes (#PCDATA) >
The DAV:quota-limit-bytes property value is the total amount of The DAV:quota-available-bytes property value is the value in octets
storage space potentially allocated to this file or directory, representing the amount of additional disk space beyond the current
measured in octets. allocation that can be allocated to this file or directory before
further allocations will be refused. It is understood that this
space may be consumed by allocations to other files or directories.
Support for this property is REQUIRED on collections, and OPTIONAL Support for this property is REQUIRED on collections, and OPTIONAL
on other resources. A server SHOULD implement this property for on other resources. A server SHOULD implement this property for
each resource that has the DAV:quota-used-bytes property. each resource that has the DAV:quota-used-bytes property.
A value of 0 indicates that storage is limited to 0. Users will Clients SHOULD expect that as the quota-available on a file or
directory approaches 0, further allocations to that file or
directory may be refused. A value of 0 indicates that users will
probably not be able to perform operations that write additional probably not be able to perform operations that write additional
information (e.g. a PUT inside a collection), but may be able to information (e.g. a PUT inside a collection), but may be able to
replace through overwrite an existing resource of equal size. replace through overwrite an existing resource of equal size.
If a resource has no quota enforced or unlimited storage, the server Note that there may be a number of distinct but overlapping limits,
MAY choose not to return this property (404 Not Found response in which may even include physical media limits. When reporting quota-
Multi-Status), although this specification RECOMMENDS that servers available, the server is at liberty to choose any of those limits
return some appropriate value (e.g. the amount of free disc space). but SHOULD do so in a repeatable way. The rule may be configured
A client cannot entirely assume that there is no quota enforced on a per repository, or may be Œchoose the smallest numberŽ.
resource that does not have this property, but might as well act as
if there is no quota. If a resource has no quota enforced or unlimited storage (Œinfinite
limitsŽ), the server MAY choose not to return this property (404 Not
Found response in Multi-Status), although this specification
RECOMMENDS that servers return some appropriate value (e.g. the
amount of free disc space). A client cannot entirely assume that
there is no quota enforced on a resource that does not have this
property, but might as well act as if there is no quota.
Korver Expires January 2004 3
DAV Collection Size and Quota July 2003
The value of this property is protected. A 403 Forbidden response The value of this property is protected. A 403 Forbidden response
is RECOMMENDED for attempts to write a protected property. is RECOMMENDED for attempts to write a protected property.
DAV:quota-used-bytes DAV:quota-used-bytes
Name: quota-used-bytes Name: quota-used-bytes
Namespace: DAV: Namespace: DAV:
Purpose: Contains the amount of storage counted against the quota- Purpose: Contains the amount of storage counted against the quota on
limit of a resource. a resource.
DTD: <!ELEMENT quota-used-bytes (#PCDATA) > DTD: <!ELEMENT quota-used-bytes (#PCDATA) >
Korver Expires Jul 2003 3
DAV Collection Size and Quota January 2003
The DAV:quota-used-bytes value is the value in octets representing The DAV:quota-used-bytes value is the value in octets representing
the amount of space used by this file or directory and possibly a the amount of space used by this file or directory and possibly a
number of other similar files or directories, where the set of number of other similar files or directories, where the set of
ôsimilarö meets at least the criterion that allocating space to any ŒsimilarŽ meets at least the criterion that allocating space to any
file or directory in the set will count against the quota-limit. It file or directory in the set will count against the quota-available.
MUST include the total count including usage derived from sub- It MUST include the total count including usage derived from sub-
resources if appropriate. It SHOULD include metadata storage size resources if appropriate. It SHOULD include metadata storage size
if metadata storage is counted against the quota-limit. if metadata storage is counted against the quota-available.
Clients SHOULD expect that once the quota-used on a file or
directory meets or exceeds the quota-limit, further allocations to
that file or directory will be refused. A resource may show more
quota-used than its quota-limit or quota-assigned appears to allow.
Note that there may be a number of distinct but overlapping sets of Note that there may be a number of distinct but overlapping sets of
files or directories for which a quota-used is maintained (e.g. ôall files or directories for which a quota-used is maintained (e.g. Œall
files with a given ownerö, ôall files with a given group ownerö, files with a given ownerŽ, Œall files with a given group ownerŽ,
etc.). The server is at liberty to choose any of those sets but etc.). The server is at liberty to choose any of those sets but
SHOULD do so in a repeatable way. The rule may be configured per SHOULD do so in a repeatable way. The rule may be configured per
repository, or may be ôchoose the set with the smallest quotaö. repository.
Support for this property is REQUIRED on collections, and OPTIONAL Support for this property is REQUIRED on collections, and OPTIONAL
on other resources. A server SHOULD implement this property for on other resources. A server SHOULD implement this property for
each resource that has the DAV:quota-limit-bytes property. each resource that has the DAV:quota-available-bytes property.
Support for this property enhances the client experience, because Support for this property enhances the client experience, because
together with DAV:quota-limit-bytes, the client has a chance of together with DAV:quota-available-bytes, the client has a chance of
managing its files to avoid running out of allocated storage space. managing its files to avoid running out of allocated storage space.
Clients may not be able to calculate the value as accurately on Clients may not be able to calculate the value as accurately on
their own, depending on how total space used is calculated by the their own, depending on how total space used is calculated by the
server. server.
DAV:quota-assigned-bytes DAV:quota-assigned-bytes
Name: quota-assigned-bytes Name: quota-assigned-bytes
Namespace: DAV: Namespace: DAV:
Purpose: Indicates the amount of storage assigned. Purpose: Indicates the amount of storage assigned.
DTD: <!ELEMENT quota-bytes (#PCDATA) > DTD: <!ELEMENT quota-bytes (#PCDATA) >
The DAV:quota-assigned-bytes property value is the amount of storage The DAV:quota-assigned-bytes property value is the amount of storage
space potentially either assigned to or requested for this file or space potentially either assigned to or requested for this file or
directory, measured in octets. directory, measured in octets. DAV:quota-assigned-bytes is primarily
intended to support implementations that allow quota to be
PROPPATCHed or configured by some other means.
The value of this property will usually be protected, although a The value of this property will usually be protected, although a
user with sufficient privileges may be permitted to change the user with sufficient privileges may be permitted to change the
Korver Expires January 2004 4
DAV Collection Size and Quota July 2003
value. The property is useful even if it is protected. A 403 value. The property is useful even if it is protected. A 403
Forbidden response is RECOMMENDED for attempts to write a protected Forbidden response is RECOMMENDED for attempts to write a protected
property. property. This property will usually be read-only for instance
because a users quota should generally not configurable by other
users.
Support for this property is OPTIONAL. Support for this property is OPTIONAL.
Note that a resource may show more quota-used than its quota- Note that a resource may show more quota-used than its quota-
assigned appears to allow, and that quota-assigned MUST NOT be less assigned appears to allow, and that quota-available MUST never be
greater than the value of quota-assigned.
Korver Expires Jul 2003 4
DAV Collection Size and Quota January 2003 As an example of quota-assigned, imagine a quota system where each
collection may have a quota assigned and where a resource contained
in a collection is subject to the quota constraints of all parent
collections. Assume the administrator creates a collection A and
gives it a quota-assigned of 500KB and then creates a sub-
collections B which is given quota-assigned of 1000KB. In this
case, the initial quota-available for B is 500KB, not 1000KB, since
the constraint on A applies to B as well.
than the quota-limit. Servers which receive a request to change DAV:quota-assigned-bytes DAV:quota-available-bytes
quota-assigned to a value less than quota-limit MUST reduce quota- /A 500KB 500KB
limit to this value at the same time. /A/B 1000KB 500KB
For many quota systems, quota-assigned is synonymous with quota- Note that this is only one example quota system, and that other
limit. However, in any system, quota-limit is a hard limit. For quota systems are possible.
example, imagine a quota system where each collection may have a
quota assigned and where a resource contained in a collection is
subject to the quota constraints of all parent collections. Assume
the administrator creates a collection A and gives it a quota-
assigned of 1,000,000 bytes and then creates a sub-collections B
which is given quota-assigned of 10,000,000 bytes. In this case,
the quota-limit for B is 1,000,000 bytes.
Example PROPFIND request and response Example PROPFIND request and response
Request: Request:
PROPFIND /~milele/public/ HTTP/1.1 PROPFIND /~milele/public/ HTTP/1.1
Depth: 0 Depth: 0
Host: www.sharemation.com Host: www.sharemation.com
Content-Type: text/xml Content-Type: text/xml
Content-Length: xxx Content-Length: xxx
<?xml version="1.0" ?> <?xml version="1.0" ?>
<D:propfind xmlns:D="DAV:"> <D:propfind xmlns:D="DAV:">
<D:prop><D:quota-limit-bytes><D:quota-used-bytes></D:prop> <D:prop><D:quota-available-bytes><D:quota-used-bytes></D:prop>
</D:propfind> </D:propfind>
Response: Response:
HTTP/1.1 207 Multi-Status HTTP/1.1 207 Multi-Status
Date: Tue, 16 Oct 2001 22:13:39 GMT Date: Tue, 16 Oct 2001 22:13:39 GMT
Content-Length: xxx Content-Length: xxx
Content-Type: text/xml; charset=UTF-8 Content-Type: text/xml; charset=UTF-8
<?xml version="1.0" encoding="utf-8" ?> <?xml version="1.0" encoding="utf-8" ?>
<D:multistatus xmlns:D="DAV:"> <D:multistatus xmlns:D="DAV:">
<D:response> <D:response>
Korver Expires January 2004 5
DAV Collection Size and Quota July 2003
<D:href>http://www.sharemation.com/~milele/public/</D:href> <D:href>http://www.sharemation.com/~milele/public/</D:href>
<D:propstat> <D:propstat>
<D:prop> <D:prop>
<D:quota-limit-bytes>1000000</D:quota-limit-bytes> <D:quota-available-bytes>596650</D:quota-available-bytes>
<D:quota-used-bytes>403350</quota-used-bytes> <D:quota-used-bytes>403350</quota-used-bytes>
</D:prop> </D:prop>
<D:status>HTTP/1.1 200 OK</D:status> <D:status>HTTP/1.1 200 OK</D:status>
</D:propstat> </D:propstat>
</D:response> </D:response>
</D:multistatus> </D:multistatus>
Korver Expires Jul 2003 5
DAV Collection Size and Quota January 2003
Error reporting Error reporting
WebDAV (RFC2518) defines the status code 507 (Insufficient Storage). WebDAV (RFC2518) defines the status code 507 (Insufficient Storage).
This status code SHOULD be used when a client request (e.g. a PUT, This status code SHOULD be used when a client request (e.g. a PUT,
PROPFIND, MKCOL, MOVE or COPY) is forbidden because it would exceed PROPFIND, MKCOL, MOVE or COPY) is forbidden because it would exceed
their allotted quota. In order to differentiate the response from their allotted quota. In order to differentiate the response from
other storage problems, the server SHOULD include an XML error body other storage problems, the server SHOULD include an XML error body
as defined by DeltaV [RFC3253] with the <DAV:storage-quota-reached/> as defined by DeltaV [RFC3253] with the <DAV:storage-quota-reached/>
precondition tag. precondition tag.
Example error response: Example error response:
HTTP/1.1 507 Insufficient Storage HTTP/1.1 507 Insufficient Storage
Content-Length: 100 Content-Length: 100
Content-Type: text/xml Content-Type: text/xml
<?xml version=ö1.0ö> <?xml version=Ž1.0Ž>
<error xmlns=öDAV:ö> <error xmlns=ŽDAV:Ž>
<storage-quota-reached/> <storage-quota-reached/>
</error> </error>
Notes Notes
Server implementations store and account for their data in many Server implementations store and account for their data in many
different ways. Some of the challenges: different ways. Some of the challenges:
- Some server implementations find it prohibitive to count storage - Some server implementations find it prohibitive to count storage
used for metadata, others may choose to do so for better accounting. used for metadata, others may choose to do so for better accounting.
- Older versions of resources may be stored as well. - Older versions of resources may be stored as well.
- Variants of one resource may exist with different content lengths - Variants of one resource may exist with different content lengths
- Content may be dynamically generated. - Content may be dynamically generated.
- Resource bodies can be compressed - Resource bodies can be compressed
- Some resources may be stored for ôfreeö, not counting against - Some resources may be stored for ŒfreeŽ, not counting against
quota. quota.
Since server storage accounting can vary so much, clients should Since server storage accounting can vary so much, clients should
expect the following: expect the following:
- The size of a file on the clientÆs file system, or in a PUT Korver Expires January 2004 6
DAV Collection Size and Quota July 2003
- The size of a file on the clients file system, or in a PUT
message, may not correspond to the amount of storage required by the message, may not correspond to the amount of storage required by the
server to store the resource. Thus, the client cannot predict with server to store the resource. Thus, the client cannot predict with
100% accuracy whether a given file will be allowed given the storage 100% accuracy whether a given file will be allowed given the storage
quota. quota.
- Deleting or overwriting a resource may not free up the same - Deleting or overwriting a resource may not free up the same
amount of storage as indicated by the DAV:getcontentlength property amount of storage as indicated by the DAV:getcontentlength property
defined in [RFC2518] for the resource. If deleting a resource does defined in [RFC2518] for the resource. If deleting a resource does
not free up any space, the file may have been moved to a ôtrashö not free up any space, the file may have been moved to a ŒtrashŽ
folder or Œrecycle binŽ, or retained as in versioning systems
Korver Expires Jul 2003 6
DAV Collection Size and Quota January 2003
folder or ôrecycle binö, or retained as in versioning systems
[RFC3253]. [RFC3253].
- The total size of a collection, DAV:quota-used-bytes, is not - The total size of a collection, DAV:quota-used-bytes, is not
necessarily a sum of the DAV:getcontentlength properties for necessarily a sum of the DAV:getcontentlength properties for
resources stored in the collection. resources stored in the collection.
- On some systems where quota is counted by collection and not by - On some systems where quota is counted by collection and not by
user, a quota on a sub-collection may be larger than the quota on user, a quota on a sub-collection may be larger than the quota on
its parent collection that contains it. For example, the quota on its parent collection that contains it. For example, the quota on
/~milele/ may be 100 MB, but the quota on /~milele/public/ may be /~milele/ may be 100 MB, but the quota on /~milele/public/ may be
skipping to change at line 382 skipping to change at line 395
Internationalization Considerations Internationalization Considerations
Quota is counted in Arabic numerals expressed in strings. There are Quota is counted in Arabic numerals expressed in strings. There are
no internationalization considerations. no internationalization considerations.
IANA Considerations IANA Considerations
There are no IANA considerations. There are no IANA considerations.
Korver Expires January 2004 7
DAV Collection Size and Quota July 2003
Intellectual Property Intellectual Property
The following notice is copied from [RFC2026], and describes the The following notice is copied from [RFC2026], and describes the
position of the IETF concerning intellectual property claims made position of the IETF concerning intellectual property claims made
against this document. against this document.
The IETF takes no position regarding the validity or scope of any The IETF takes no position regarding the validity or scope of any
intellectual property or other rights that might be claimed to intellectual property or other rights that might be claimed to
pertain to the implementation or use of the technology described in pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights this document or the extent to which any license under such rights
might or might not be available; neither does it represent that it might or might not be available; neither does it represent that it
Korver Expires Jul 2003 7
DAV Collection Size and Quota January 2003
has made any effort to identify any such rights. Information on the has made any effort to identify any such rights. Information on the
IETF's procedures with respect to rights in standards-track and IETF's procedures with respect to rights in standards-track and
standards-related documentation can be found in BCP-11. Copies of standards-related documentation can be found in BCP-11. Copies of
claims of rights made available for publication and any assurances claims of rights made available for publication and any assurances
of licenses to be made available, or the result of an attempt made of licenses to be made available, or the result of an attempt made
to obtain a general license or permission for the use of such to obtain a general license or permission for the use of such
proprietary rights by implementors or users of this specification proprietary rights by implementors or users of this specification
can be obtained from the IETF Secretariat. can be obtained from the IETF Secretariat.
The IETF invites any interested party to bring to its attention any The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary copyrights, patents or patent applications, or other proprietary
rights which may cover technology that may be required to practice rights which may cover technology that may be required to practice
this standard. Please address the information to the IETF Executive this standard. Please address the information to the IETF Executive
Director. Director.
Acknowledgements Acknowledgements
Jim Whitehead and Jim Luther provided valuable comments on this Stefan Eissing, Jim Luther, Julian Reschke, and Jim Whitehead and
document. provided valuable comments on this document.
Korver Expires Jul 2003 8 Korver Expires January 2004 8
DAV Collection Size and Quota January 2003 DAV Collection Size and Quota July 2003
References References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2026] Bradner, S., ôThe Internet Standards Process û Revision [RFC2026] Bradner, S., ŒThe Internet Standards Process ± Revision
3ö, BCP 9, RFC2026, October 1996. 3Ž, BCP 9, RFC2026, October 1996.
[RFC2518] Goland, Y., Whitehead, E., Faizi, A., Carter, S., and [RFC2518] Goland, Y., Whitehead, E., Faizi, A., Carter, S., and
Jensen, D., "HTTP Extensions for Distributed Authoring -- Jensen, D., "HTTP Extensions for Distributed Authoring --
WebDAV", RFC2518, February 1999. WebDAV", RFC2518, February 1999.
[RFC3010] Shepler S., B. Callaghan, D. Robinson, R. Thurlow, C. [RFC3010] Shepler S., B. Callaghan, D. Robinson, R. Thurlow, C.
Beame, M. Eisler, D. Noveck, ôNFS version 4 Protocolö, RFC3010, Beame, M. Eisler, D. Noveck, ŒNFS version 4 ProtocolŽ, RFC3010,
December 2000. December 2000.
Author's Addresses Author's Addresses
Brian Korver Brian Korver
Xythos Software, Inc. Xythos Software, Inc.
77 Maiden Lane, Suite 200 Phone: 1-415-248-9033 25 Maiden Lane, Suite 200 Phone: 1-415-248-9033
San Francisco, CA, USA Email: briank@xythos.com San Francisco, CA, USA Email: briank@xythos.com
Lisa Dusseault Lisa Dusseault
Xythos Software, Inc. Xythos Software, Inc.
77 Maiden Lane, Suite 200 Phone: 1-415-248-9004 25 Maiden Lane, Suite 200 Phone: 1-415-248-9004
San Francisco, CA, USA Email: lisa@xythos.com San Francisco, CA, USA Email: lisa@xythos.com
Clark Warner Clark Warner
Netezza Corporation Netezza Corporation
200 Crossing Blvd. Phone: 1-508-665-6800 x889 200 Crossing Blvd. Phone: 1-508-665-6800 x889
Framingham, MA 01702 Email: webdav@thewarners.com Framingham, MA 01702 Email: webdav@thewarners.com
Korver Expires Jul 2003 9 Korver Expires January 2004 9
-brian
briank@xythos.com
 End of changes. 

This html diff was produced by rfcdiff 1.23, available from http://www.levkowetz.com/ietf/tools/rfcdiff/