OPSI.web2.dav.element.rfc3744 module

RFC 3744 (WebDAV Access Control Protocol) XML Elements

This module provides XML element definitions for use with WebDAV.

See RFC 3744: http://www.ietf.org/rfc/rfc3744.txt

class OPSI.web2.dav.element.rfc3744.ACE(*children, **attributes)

Bases: OPSI.web2.dav.element.base.WebDAVElement

Specifies the list of access control entries which define what privileges are granted to which users for a resource. (RFC 3744, section 5.5)

allowed_children = {('DAV:', 'inherited'): (0, 1), ('DAV:', 'deny'): (0, 1), ('DAV:', 'grant'): (0, 1), ('DAV:', 'protected'): (0, 1), ('DAV:', 'principal'): (0, 1), ('DAV:', 'invert'): (0, 1)}
name = 'ace'
class OPSI.web2.dav.element.rfc3744.ACL(*children, **attributes)

Bases: OPSI.web2.dav.element.base.WebDAVElement

Property which specifies the list of access control entries which define what privileges are granted to which users for a resource. (RFC 3744, section 5.5)

allowed_children = {('DAV:', 'ace'): (0, None)}
hidden = True
name = 'acl'
protected = True
class OPSI.web2.dav.element.rfc3744.ACLPrincipalPropSet(*children, **attributes)

Bases: OPSI.web2.dav.element.base.WebDAVElement

Report which returns, for all principals in the DAV:acl property (of the resource identified by the Request-URI) that are identified by http(s) URLs or by a DAV:property principal, the value of the properties specified in the REPORT request body. (RFC 3744, section 9.2)

allowed_children = {<class 'OPSI.web2.dav.element.base.WebDAVElement'>: (0, None)}
name = 'acl-principal-prop-set'
class OPSI.web2.dav.element.rfc3744.ACLRestrictions(*children, **attributes)

Bases: OPSI.web2.dav.element.base.WebDAVElement

Property which defines the types of ACLs supported by this server, to avoid clients needlessly getting errors. (RFC 3744, section 5.6)

allowed_children = {('DAV:', 'no-invert'): (0, 1), ('DAV:', 'deny-before-grant'): (0, 1), ('DAV:', 'required-principal'): (0, 1), ('DAV:', 'grant-only'): (0, 1)}
hidden = True
name = 'acl-restrictions'
protected = True
class OPSI.web2.dav.element.rfc3744.Abstract(*children, **attributes)

Bases: OPSI.web2.dav.element.base.WebDAVElement

Identifies a privilege as abstract. (RFC 3744, section 5.3)

name = 'abstract'
class OPSI.web2.dav.element.rfc3744.All(*children, **attributes)

Bases: OPSI.web2.dav.element.base.WebDAVEmptyElement

Aggregate privilege that contains the entire set of privileges that can be applied to a resource. (RFC 3744, section 3.11) Principal which matches all users. (RFC 3744, section 5.5.1)

name = 'all'
class OPSI.web2.dav.element.rfc3744.AlternateURISet(*children, **attributes)

Bases: OPSI.web2.dav.element.base.WebDAVElement

Property which contains the URIs of network resources with additional descriptive information about the principal. (RFC 3744, section 4.1)

allowed_children = {('DAV:', 'href'): (0, None)}
hidden = True
name = 'alternate-uri-set'
protected = True
class OPSI.web2.dav.element.rfc3744.Authenticated(*children, **attributes)

Bases: OPSI.web2.dav.element.base.WebDAVEmptyElement

Principal which matches authenticated users. (RFC 3744, section 5.5.1)

name = 'authenticated'
class OPSI.web2.dav.element.rfc3744.Bind(*children, **attributes)

Bases: OPSI.web2.dav.element.base.WebDAVEmptyElement

Privilege which allows a method to add a new member URL from the a collection resource. (RFC 3744, section 3.9)

name = 'bind'
class OPSI.web2.dav.element.rfc3744.CurrentUserPrivilegeSet(*children, **attributes)

Bases: OPSI.web2.dav.element.base.WebDAVElement

Property which contains the exact set of privileges (as computer by the server) granted to the currently authenticated HTTP user. (RFC 3744, section 5.4)

allowed_children = {('DAV:', 'privilege'): (0, None)}
hidden = True
name = 'current-user-privilege-set'
protected = True
class OPSI.web2.dav.element.rfc3744.Deny(*children, **attributes)

Bases: OPSI.web2.dav.element.base.WebDAVElement

Denies the contained privileges to a principal. (RFC 3744, section 5.5.2)

allowed_children = {('DAV:', 'privilege'): (1, None)}
name = 'deny'
class OPSI.web2.dav.element.rfc3744.DenyBeforeGrant(*children, **attributes)

Bases: OPSI.web2.dav.element.base.WebDAVEmptyElement

Indicates that all deny ACEs must precede all grant ACEs. (RFC 3744, section 5.6.3)

name = 'deny-before-grant'
class OPSI.web2.dav.element.rfc3744.Description(*children, **attributes)

Bases: OPSI.web2.dav.element.base.WebDAVTextElement

A human-readable description of what privilege controls access to. (RFC 3744, sections 5.3 and 9.5)

allowed_attributes = {'xml:lang': True}
name = 'description'
class OPSI.web2.dav.element.rfc3744.Grant(*children, **attributes)

Bases: OPSI.web2.dav.element.base.WebDAVElement

Grants the contained privileges to a principal. (RFC 3744, section 5.5.2)

allowed_children = {('DAV:', 'privilege'): (1, None)}
name = 'grant'
class OPSI.web2.dav.element.rfc3744.GrantOnly(*children, **attributes)

Bases: OPSI.web2.dav.element.base.WebDAVEmptyElement

Indicates that ACEs with deny clauses are not allowed. (RFC 3744, section 5.6.1)

name = 'grant-only'
class OPSI.web2.dav.element.rfc3744.Group(*children, **attributes)

Bases: OPSI.web2.dav.element.base.WebDAVElement

Property which identifies a particular principal as being the group principal of a resource. (RFC 3744, section 5.2)

allowed_children = {('DAV:', 'href'): (0, 1)}
hidden = True
name = 'group'
class OPSI.web2.dav.element.rfc3744.GroupMemberSet(*children, **attributes)

Bases: OPSI.web2.dav.element.base.WebDAVElement

Property which identifies the principals that are direct members of a group principal. (RFC 3744, section 4.3)

allowed_children = {('DAV:', 'href'): (0, None)}
hidden = True
name = 'group-member-set'
class OPSI.web2.dav.element.rfc3744.GroupMembership(*children, **attributes)

Bases: OPSI.web2.dav.element.base.WebDAVElement

Property which identifies the group principals in which a principal is directly a member. (RFC 3744, section 4.4)

allowed_children = {('DAV:', 'href'): (0, None)}
hidden = True
name = 'group-membership'
protected = True
class OPSI.web2.dav.element.rfc3744.Inherited(*children, **attributes)

Bases: OPSI.web2.dav.element.base.WebDAVElement

Indicates that an ACE is inherited from the resource indentified by the contained DAV:href element. (RFC 3744, section 5.5.4)

allowed_children = {('DAV:', 'href'): (1, 1)}
name = 'inherited'
class OPSI.web2.dav.element.rfc3744.InheritedACLSet(*children, **attributes)

Bases: OPSI.web2.dav.element.base.WebDAVElement

Property which contains a set of URLs that identify other resources that also control the access to this resource. (RFC 3744, section 5.7)

allowed_children = {('DAV:', 'href'): (0, None)}
hidden = True
name = 'inherited-acl-set'
protected = True
class OPSI.web2.dav.element.rfc3744.Invert(*children, **attributes)

Bases: OPSI.web2.dav.element.base.WebDAVEmptyElement

Principal which matches a user if the user does not match the principal contained by this principal. (RFC 3744, section 5.5.1)

allowed_children = {('DAV:', 'principal'): (1, 1)}
name = 'invert'
class OPSI.web2.dav.element.rfc3744.Match(*children, **attributes)

Bases: OPSI.web2.dav.element.base.WebDAVTextElement

Contains a search string. (RFC 3744, section 9.4)

name = 'match'
class OPSI.web2.dav.element.rfc3744.NeedPrivileges(*children, **attributes)

Bases: OPSI.web2.dav.element.base.WebDAVElement

Error which indicates insufficient privileges. (RFC 3744, section 7.1.1)

allowed_children = {('DAV:', 'resource'): (0, None)}
name = 'need-privileges'
class OPSI.web2.dav.element.rfc3744.NoInvert(*children, **attributes)

Bases: OPSI.web2.dav.element.base.WebDAVEmptyElement

Indicates that ACEs with the DAV:invert element are not allowed. (RFC 3744, section 5.6.2)

name = 'no-invert'
class OPSI.web2.dav.element.rfc3744.Principal(*children, **attributes)

Bases: OPSI.web2.dav.element.base.WebDAVElement

Indicates a principal resource type. (RFC 3744, section 4) Identifies the principal to which an ACE applies. (RFC 3744, section 5.5.1)

allowed_children = {('DAV:', 'all'): (0, 1), ('DAV:', 'authenticated'): (0, 1), ('DAV:', 'property'): (0, 1), ('DAV:', 'href'): (0, 1), ('DAV:', 'unauthenticated'): (0, 1), ('DAV:', 'self'): (0, 1)}
name = 'principal'
class OPSI.web2.dav.element.rfc3744.PrincipalCollectionSet(*children, **attributes)

Bases: OPSI.web2.dav.element.base.WebDAVElement

Property which contains a set of URLs that identify the root collections that contain the principals that are available on the server that implements a resource. (RFC 3744, section 5.8)

allowed_children = {('DAV:', 'href'): (0, None)}
hidden = True
name = 'principal-collection-set'
protected = True
class OPSI.web2.dav.element.rfc3744.PrincipalMatch(*children, **attributes)

Bases: OPSI.web2.dav.element.base.WebDAVElement

Report used to identify all members (at any depth) of the collection identified by the Request-URI that are principals and that match the current user. (RFC 3744, section 9.3)

allowed_children = {('DAV:', 'self'): (0, 1), ('DAV:', 'prop'): (0, 1), ('DAV:', 'principal-property'): (0, 1)}
name = 'principal-match'
class OPSI.web2.dav.element.rfc3744.PrincipalProperty(*children, **attributes)

Bases: OPSI.web2.dav.element.base.WebDAVElement

Identifies a property. (RFC 3744, section 9.3)

allowed_children = {<class 'OPSI.web2.dav.element.base.WebDAVElement'>: (0, None)}
name = 'principal-property'
class OPSI.web2.dav.element.rfc3744.PrincipalPropertySearch(*children, **attributes)

Bases: OPSI.web2.dav.element.base.WebDAVElement

Report which performs a search for all principals whose properties contain character data that matches the search criteria specified in the request. (RFC 3744, section 9.4)

allowed_children = {('DAV:', 'apply-to-principal-collection-set'): (0, 1), ('DAV:', 'property-search'): (1, None), ('DAV:', 'prop'): (0, 1)}
name = 'principal-property-search'
class OPSI.web2.dav.element.rfc3744.PrincipalSearchProperty(*children, **attributes)

Bases: OPSI.web2.dav.element.base.WebDAVElement

Contains exactly one searchable property, and a description of the property. (RFC 3744, section 9.5)

allowed_children = {('DAV:', 'prop'): (1, 1), ('DAV:', 'description'): (1, 1)}
name = 'principal-search-property'
class OPSI.web2.dav.element.rfc3744.PrincipalSearchPropertySet(*children, **attributes)

Bases: OPSI.web2.dav.element.base.WebDAVElement

Report which identifies those properties that may be searched using the DAV:principal-property-search report. (RFC 3744, section 9.5)

allowed_children = {('DAV:', 'principal-search-property'): (0, None)}
name = 'principal-search-property-set'
class OPSI.web2.dav.element.rfc3744.PrincipalURL(*children, **attributes)

Bases: OPSI.web2.dav.element.base.WebDAVElement

Property which contains the URL that must be used to identify this principal in an ACL request. (RFC 3744, section 4.2)

allowed_children = {('DAV:', 'href'): (0, 1)}
hidden = True
name = 'principal-url'
protected = True
class OPSI.web2.dav.element.rfc3744.Privilege(*children, **attributes)

Bases: OPSI.web2.dav.element.base.WebDAVElement

Identifies a privilege. (RFC 3744, sections 5.3 and 5.5.1)

allowed_children = {<class 'OPSI.web2.dav.element.base.WebDAVElement'>: (0, None)}
name = 'privilege'
class OPSI.web2.dav.element.rfc3744.PropertySearch(*children, **attributes)

Bases: OPSI.web2.dav.element.base.WebDAVElement

Contains a DAV:prop element enumerating the properties to be searched and a DAV:match element, containing the search string. (RFC 3744, section 9.4)

allowed_children = {('DAV:', 'match'): (1, 1), ('DAV:', 'prop'): (1, 1)}
name = 'property-search'
class OPSI.web2.dav.element.rfc3744.Protected(*children, **attributes)

Bases: OPSI.web2.dav.element.base.WebDAVEmptyElement

Identifies an ACE as protected. (RFC 3744, section 5.5.3)

name = 'protected'
class OPSI.web2.dav.element.rfc3744.Read(*children, **attributes)

Bases: OPSI.web2.dav.element.base.WebDAVEmptyElement

Privilege which controls methods that return information about the state of a resource, including the resource’s properties. (RFC 3744, section 3.1)

name = 'read'
class OPSI.web2.dav.element.rfc3744.ReadACL(*children, **attributes)

Bases: OPSI.web2.dav.element.base.WebDAVEmptyElement

Privilege which controls the use of the PROPFIND method to retrieve the DAV:acl property of a resource. (RFC 3744, section 3.6)

name = 'read-acl'
class OPSI.web2.dav.element.rfc3744.ReadCurrentUserPrivilegeSet(*children, **attributes)

Bases: OPSI.web2.dav.element.base.WebDAVEmptyElement

Privilege which controls the use of the PROPFIND method to retrieve the DAV:current-user-privilege-set property of a resource. (RFC 3744, section 3.7)

name = 'read-current-user-privilege-set'
class OPSI.web2.dav.element.rfc3744.RequiredPrincipal(*children, **attributes)

Bases: OPSI.web2.dav.element.base.WebDAVElement

Indicates which principals must have an ACE defined in an ACL. (RFC 3744, section 5.6.4)

allowed_children = {('DAV:', 'all'): (0, 1), ('DAV:', 'authenticated'): (0, 1), ('DAV:', 'property'): (0, None), ('DAV:', 'href'): (0, None), ('DAV:', 'unauthenticated'): (0, 1), ('DAV:', 'self'): (0, 1)}
name = 'required-principal'
class OPSI.web2.dav.element.rfc3744.Resource(*children, **attributes)

Bases: OPSI.web2.dav.element.base.WebDAVElement

Identifies which resource had insufficient privileges. (RFC 3744, section 7.1.1)

allowed_children = {('DAV:', 'privilege'): (1, 1), ('DAV:', 'href'): (1, 1)}
name = 'resource'
class OPSI.web2.dav.element.rfc3744.Self(*children, **attributes)

Bases: OPSI.web2.dav.element.base.WebDAVEmptyElement

Principal which matches a user if a resource is a principal and the user matches the resource. (RFC 3744, sections 5.5.1 and 9.3)

name = 'self'
class OPSI.web2.dav.element.rfc3744.SupportedPrivilege(*children, **attributes)

Bases: OPSI.web2.dav.element.base.WebDAVElement

Identifies a privilege defined for a resource. (RFC 3744, section 5.3)

allowed_children = {('DAV:', 'abstract'): (0, 1), ('DAV:', 'description'): (1, 1), ('DAV:', 'privilege'): (1, 1), ('DAV:', 'supported-privilege'): (0, None)}
name = 'supported-privilege'
class OPSI.web2.dav.element.rfc3744.SupportedPrivilegeSet(*children, **attributes)

Bases: OPSI.web2.dav.element.base.WebDAVElement

Property which identifies the privileges defined for a resource. (RFC 3744, section 5.3)

allowed_children = {('DAV:', 'supported-privilege'): (0, None)}
hidden = True
name = 'supported-privilege-set'
protected = True
class OPSI.web2.dav.element.rfc3744.Unauthenticated(*children, **attributes)

Bases: OPSI.web2.dav.element.base.WebDAVEmptyElement

Principal which matches unauthenticated users. (RFC 3744, section 5.5.1)

name = 'unauthenticated'
class OPSI.web2.dav.element.rfc3744.Unbind(*children, **attributes)

Bases: OPSI.web2.dav.element.base.WebDAVEmptyElement

Privilege which allows a method to remove a member URL from the a collection resource. (RFC 3744, section 3.10)

name = 'unbind'
class OPSI.web2.dav.element.rfc3744.Unlock(*children, **attributes)

Bases: OPSI.web2.dav.element.base.WebDAVEmptyElement

Privilege which controls the use of the UNLOCK method by a principal other than the lock owner. (RFC 3744, section 3.5)

name = 'unlock'
class OPSI.web2.dav.element.rfc3744.WriteACL(*children, **attributes)

Bases: OPSI.web2.dav.element.base.WebDAVEmptyElement

Privilege which controls the use of the ACL method to modify the DAV:acl property of a resource. (RFC 3744, section 3.8)

name = 'write-acl'
class OPSI.web2.dav.element.rfc3744.WriteContent(*children, **attributes)

Bases: OPSI.web2.dav.element.base.WebDAVEmptyElement

Privilege which controls methods that modify the content of an existing resource. (RFC 3744, section 3.4)

name = 'write-content'
class OPSI.web2.dav.element.rfc3744.WriteProperties(*children, **attributes)

Bases: OPSI.web2.dav.element.base.WebDAVEmptyElement

Privilege which controls methods that modify the dead properties of a resource. (RFC 3744, section 3.3)

name = 'write-properties'