the libxslt security framework allow to restrict the access to new resources (file or URL) from the stylesheet at runtime. Table of ContentsEnum xsltSecurityOption
Structure xsltSecurityPrefs struct _xsltSecurityPrefs
The content of this structure is not made public by the API.
Typedef xsltSecurityPrefs * xsltSecurityPrefsPtr
int xsltCheckRead (xsltSecurityPrefsPtr sec, xsltTransformContextPtr ctxt, const xmlChar * URL)
int xsltCheckWrite (xsltSecurityPrefsPtr sec, xsltTransformContextPtr ctxt, const xmlChar * URL)
void xsltFreeSecurityPrefs (xsltSecurityPrefsPtr sec)
xsltSecurityPrefsPtr xsltGetDefaultSecurityPrefs (void)
xsltSecurityCheck xsltGetSecurityPrefs (xsltSecurityPrefsPtr sec, xsltSecurityOption option)
xsltSecurityPrefsPtr xsltNewSecurityPrefs (void)
int xsltSecurityAllow (xsltSecurityPrefsPtr sec, xsltTransformContextPtr ctxt, const char * value)
Function type: xsltSecurityCheck
int xsltSecurityCheck (xsltSecurityPrefsPtr sec, xsltTransformContextPtr ctxt, const char * value)
int xsltSecurityForbid (xsltSecurityPrefsPtr sec, xsltTransformContextPtr ctxt, const char * value)
int xsltSetCtxtSecurityPrefs (xsltSecurityPrefsPtr sec, xsltTransformContextPtr ctxt)
void xsltSetDefaultSecurityPrefs (xsltSecurityPrefsPtr sec)
int xsltSetSecurityPrefs (xsltSecurityPrefsPtr sec, xsltSecurityOption option, xsltSecurityCheck func)
Description
Enum xsltSecurityOption {
XSLT_SECPREF_READ_FILE = 1
XSLT_SECPREF_WRITE_FILE = 2
XSLT_SECPREF_CREATE_DIRECTORY = 3
XSLT_SECPREF_READ_NETWORK = 4
XSLT_SECPREF_WRITE_NETWORK = 5
}
Structure xsltSecurityPrefs struct _xsltSecurityPrefs {
The content of this structure is not made public by the API.
} Function: xsltCheckReadint xsltCheckRead (xsltSecurityPrefsPtr sec, xsltTransformContextPtr ctxt, const xmlChar * URL)
Check if the resource is allowed to be read
sec: | the security options | ctxt: | an XSLT transformation context | URL: | the resource to be read | Returns: | 1 if read is allowed, 0 if not and -1 in case or error. |
Function: xsltCheckWriteint xsltCheckWrite (xsltSecurityPrefsPtr sec, xsltTransformContextPtr ctxt, const xmlChar * URL)
Check if the resource is allowed to be written, if necessary makes some preliminary work like creating directories
sec: | the security options | ctxt: | an XSLT transformation context | URL: | the resource to be written | Returns: | 1 if write is allowed, 0 if not and -1 in case or error. |
Function: xsltFreeSecurityPrefsvoid xsltFreeSecurityPrefs (xsltSecurityPrefsPtr sec)
Free up a security preference block
sec: | the security block to free |
Function: xsltGetDefaultSecurityPrefsxsltSecurityPrefsPtr xsltGetDefaultSecurityPrefs (void)
Get the default security preference application-wide
Function: xsltGetSecurityPrefsxsltSecurityCheck xsltGetSecurityPrefs (xsltSecurityPrefsPtr sec, xsltSecurityOption option)
Lookup the security option to get the callback checking function
sec: | the security block to update | option: | the option to lookup | Returns: | NULL if not found, the function otherwise |
Function: xsltNewSecurityPrefsxsltSecurityPrefsPtr xsltNewSecurityPrefs (void)
Create a new security preference block
Returns: | a pointer to the new block or NULL in case of error |
Function: xsltSecurityAllowint xsltSecurityAllow (xsltSecurityPrefsPtr sec, xsltTransformContextPtr ctxt, const char * value)
Function used to always allow an operation
sec: | the security block to use | ctxt: | an XSLT transformation context | value: | unused | Returns: | 1 always |
Function type: xsltSecurityCheckFunction type: xsltSecurityCheck
int xsltSecurityCheck (xsltSecurityPrefsPtr sec, xsltTransformContextPtr ctxt, const char * value)
User provided function to check the value of a string like a file path or an URL ...
Function: xsltSecurityForbidint xsltSecurityForbid (xsltSecurityPrefsPtr sec, xsltTransformContextPtr ctxt, const char * value)
Function used to always forbid an operation
sec: | the security block to use | ctxt: | an XSLT transformation context | value: | unused | Returns: | 0 always |
Function: xsltSetCtxtSecurityPrefsint xsltSetCtxtSecurityPrefs (xsltSecurityPrefsPtr sec, xsltTransformContextPtr ctxt)
Set the security preference for a specific transformation
sec: | the security block to use | ctxt: | an XSLT transformation context | Returns: | -1 in case of error, 0 otherwise |
Function: xsltSetDefaultSecurityPrefsvoid xsltSetDefaultSecurityPrefs (xsltSecurityPrefsPtr sec)
Set the default security preference application-wide
sec: | the security block to use |
Function: xsltSetSecurityPrefsint xsltSetSecurityPrefs (xsltSecurityPrefsPtr sec, xsltSecurityOption option, xsltSecurityCheck func)
Update the security option to use the new callback checking function
sec: | the security block to update | option: | the option to update | func: | the user callback to use for this option | Returns: | -1 in case of error, 0 otherwise |
Daniel Veillard |