VirtualBox

source: vbox/trunk/src/libs/libxslt-1.1.22/libxslt/security.h@ 9441

Last change on this file since 9441 was 7296, checked in by vboxsync, 17 years ago

Added libxslt-1.1.22 sources.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Date Revision Author Id
File size: 2.6 KB
Line 
1/*
2 * Summary: interface for the libxslt security framework
3 * Description: the libxslt security framework allow to restrict
4 * the access to new resources (file or URL) from
5 * the stylesheet at runtime.
6 *
7 * Copy: See Copyright for the status of this software.
8 *
9 * Author: Daniel Veillard
10 */
11
12#ifndef __XML_XSLT_SECURITY_H__
13#define __XML_XSLT_SECURITY_H__
14
15#include <libxml/tree.h>
16#include "xsltexports.h"
17#include "xsltInternals.h"
18
19#ifdef __cplusplus
20extern "C" {
21#endif
22
23/**
24 * xsltSecurityPref:
25 *
26 * structure to indicate the preferences for security in the XSLT
27 * transformation.
28 */
29typedef struct _xsltSecurityPrefs xsltSecurityPrefs;
30typedef xsltSecurityPrefs *xsltSecurityPrefsPtr;
31
32/**
33 * xsltSecurityOption:
34 *
35 * the set of option that can be configured
36 */
37typedef enum {
38 XSLT_SECPREF_READ_FILE = 1,
39 XSLT_SECPREF_WRITE_FILE,
40 XSLT_SECPREF_CREATE_DIRECTORY,
41 XSLT_SECPREF_READ_NETWORK,
42 XSLT_SECPREF_WRITE_NETWORK
43} xsltSecurityOption;
44
45/**
46 * xsltSecurityCheck:
47 *
48 * User provided function to check the value of a string like a file
49 * path or an URL ...
50 */
51typedef int (*xsltSecurityCheck) (xsltSecurityPrefsPtr sec,
52 xsltTransformContextPtr ctxt,
53 const char *value);
54
55/*
56 * Module interfaces
57 */
58XSLTPUBFUN xsltSecurityPrefsPtr XSLTCALL
59 xsltNewSecurityPrefs (void);
60XSLTPUBFUN void XSLTCALL
61 xsltFreeSecurityPrefs (xsltSecurityPrefsPtr sec);
62XSLTPUBFUN int XSLTCALL
63 xsltSetSecurityPrefs (xsltSecurityPrefsPtr sec,
64 xsltSecurityOption option,
65 xsltSecurityCheck func);
66XSLTPUBFUN xsltSecurityCheck XSLTCALL
67 xsltGetSecurityPrefs (xsltSecurityPrefsPtr sec,
68 xsltSecurityOption option);
69
70XSLTPUBFUN void XSLTCALL
71 xsltSetDefaultSecurityPrefs (xsltSecurityPrefsPtr sec);
72XSLTPUBFUN xsltSecurityPrefsPtr XSLTCALL
73 xsltGetDefaultSecurityPrefs (void);
74
75XSLTPUBFUN int XSLTCALL
76 xsltSetCtxtSecurityPrefs (xsltSecurityPrefsPtr sec,
77 xsltTransformContextPtr ctxt);
78
79XSLTPUBFUN int XSLTCALL
80 xsltSecurityAllow (xsltSecurityPrefsPtr sec,
81 xsltTransformContextPtr ctxt,
82 const char *value);
83XSLTPUBFUN int XSLTCALL
84 xsltSecurityForbid (xsltSecurityPrefsPtr sec,
85 xsltTransformContextPtr ctxt,
86 const char *value);
87/*
88 * internal interfaces
89 */
90XSLTPUBFUN int XSLTCALL
91 xsltCheckWrite (xsltSecurityPrefsPtr sec,
92 xsltTransformContextPtr ctxt,
93 const xmlChar *URL);
94XSLTPUBFUN int XSLTCALL
95 xsltCheckRead (xsltSecurityPrefsPtr sec,
96 xsltTransformContextPtr ctxt,
97 const xmlChar *URL);
98
99#ifdef __cplusplus
100}
101#endif
102
103#endif /* __XML_XSLT_SECURITY_H__ */
104
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette