| Viewing file:  security.h (2.59 KB)      -rw-r--r-- Select action/file-type:
 
  (+) |  (+) |  (+) | Code (+) | Session (+) |  (+) | SDB (+) |  (+) |  (+) |  (+) |  (+) |  (+) | 
 
/** Summary: interface for the libxslt security framework
 * Description: the libxslt security framework allow to restrict
 *              the access to new resources (file or URL) from
 *              the stylesheet at runtime.
 *
 * Copy: See Copyright for the status of this software.
 *
 * Author: Daniel Veillard
 */
 
 #ifndef __XML_XSLT_SECURITY_H__
 #define __XML_XSLT_SECURITY_H__
 
 #include <libxml/tree.h>
 #include "xsltexports.h"
 #include "xsltInternals.h"
 
 #ifdef __cplusplus
 extern "C" {
 #endif
 
 /**
 * xsltSecurityPref:
 *
 * structure to indicate the preferences for security in the XSLT
 * transformation.
 */
 typedef struct _xsltSecurityPrefs xsltSecurityPrefs;
 typedef xsltSecurityPrefs *xsltSecurityPrefsPtr;
 
 /**
 * xsltSecurityOption:
 *
 * the set of option that can be configured
 */
 typedef enum {
 XSLT_SECPREF_READ_FILE = 1,
 XSLT_SECPREF_WRITE_FILE,
 XSLT_SECPREF_CREATE_DIRECTORY,
 XSLT_SECPREF_READ_NETWORK,
 XSLT_SECPREF_WRITE_NETWORK
 } xsltSecurityOption;
 
 /**
 * xsltSecurityCheck:
 *
 * User provided function to check the value of a string like a file
 * path or an URL ...
 */
 typedef int (*xsltSecurityCheck)    (xsltSecurityPrefsPtr sec,
 xsltTransformContextPtr ctxt,
 const char *value);
 
 /*
 * Module interfaces
 */
 XSLTPUBFUN xsltSecurityPrefsPtr XSLTCALL
 xsltNewSecurityPrefs    (void);
 XSLTPUBFUN void XSLTCALL
 xsltFreeSecurityPrefs    (xsltSecurityPrefsPtr sec);
 XSLTPUBFUN int XSLTCALL
 xsltSetSecurityPrefs    (xsltSecurityPrefsPtr sec,
 xsltSecurityOption option,
 xsltSecurityCheck func);
 XSLTPUBFUN xsltSecurityCheck XSLTCALL
 xsltGetSecurityPrefs    (xsltSecurityPrefsPtr sec,
 xsltSecurityOption option);
 
 XSLTPUBFUN void XSLTCALL
 xsltSetDefaultSecurityPrefs    (xsltSecurityPrefsPtr sec);
 XSLTPUBFUN xsltSecurityPrefsPtr XSLTCALL
 xsltGetDefaultSecurityPrefs    (void);
 
 XSLTPUBFUN int XSLTCALL
 xsltSetCtxtSecurityPrefs    (xsltSecurityPrefsPtr sec,
 xsltTransformContextPtr ctxt);
 
 XSLTPUBFUN int XSLTCALL
 xsltSecurityAllow        (xsltSecurityPrefsPtr sec,
 xsltTransformContextPtr ctxt,
 const char *value);
 XSLTPUBFUN int XSLTCALL
 xsltSecurityForbid        (xsltSecurityPrefsPtr sec,
 xsltTransformContextPtr ctxt,
 const char *value);
 /*
 * internal interfaces
 */
 XSLTPUBFUN int XSLTCALL
 xsltCheckWrite        (xsltSecurityPrefsPtr sec,
 xsltTransformContextPtr ctxt,
 const xmlChar *URL);
 XSLTPUBFUN int XSLTCALL
 xsltCheckRead        (xsltSecurityPrefsPtr sec,
 xsltTransformContextPtr ctxt,
 const xmlChar *URL);
 
 #ifdef __cplusplus
 }
 #endif
 
 #endif /* __XML_XSLT_SECURITY_H__ */
 
 
 |