14#ifdef HAVE_SYS_TYPES_H
23#ifndef INVALID_FILE_ATTRIBUTES
24#define INVALID_FILE_ATTRIBUTES ((DWORD)-1)
33# define stat(x,y) _stat(x,y)
81 "xsltNewSecurityPrefs : malloc failed\n");
198 ctxt->
sec = (
void *) sec;
265 struct stat stat_buffer;
303 "File write for %s refused\n",
path);
322 "Directory creation for %s refused\n",
363 "xsltCheckWrite: out of memory for %s\n", URL);
372 if ((
uri->path)&&(
uri->path[0]==
'/')&&
373 (
uri->path[1]!=
'\0')&&(
uri->path[2]==
':'))
394 ret =
check(sec, ctxt, (
const char *)URL);
397 "File write for %s refused\n", URL);
428 ret =
check(sec, ctxt, (
const char *) URL);
431 "Local file read for %s refused\n", URL);
441 "xsltCheckRead: URL parsing failed for %s\n",
456 "Local file read for %s refused\n", URL);
467 ret =
check(sec, ctxt, (
const char *)URL);
470 "Network file read for %s refused\n", URL);
void xsltInitGlobals(void)
void xsltSetDefaultSecurityPrefs(xsltSecurityPrefsPtr sec)
xsltSecurityCheck xsltGetSecurityPrefs(xsltSecurityPrefsPtr sec, xsltSecurityOption option)
int xsltSetSecurityPrefs(xsltSecurityPrefsPtr sec, xsltSecurityOption option, xsltSecurityCheck func)
static int xsltCheckWritePath(xsltSecurityPrefsPtr sec, xsltTransformContextPtr ctxt, const char *path)
void xsltFreeSecurityPrefs(xsltSecurityPrefsPtr sec)
int xsltSecurityForbid(xsltSecurityPrefsPtr sec ATTRIBUTE_UNUSED, xsltTransformContextPtr ctxt ATTRIBUTE_UNUSED, const char *value ATTRIBUTE_UNUSED)
int xsltCheckWrite(xsltSecurityPrefsPtr sec, xsltTransformContextPtr ctxt, const xmlChar *URL)
static int xsltCheckFilename(const char *path)
xsltSecurityPrefsPtr xsltGetDefaultSecurityPrefs(void)
int xsltSecurityAllow(xsltSecurityPrefsPtr sec ATTRIBUTE_UNUSED, xsltTransformContextPtr ctxt ATTRIBUTE_UNUSED, const char *value ATTRIBUTE_UNUSED)
int xsltSetCtxtSecurityPrefs(xsltSecurityPrefsPtr sec, xsltTransformContextPtr ctxt)
xsltSecurityPrefsPtr xsltNewSecurityPrefs(void)
static xsltSecurityPrefsPtr xsltDefaultSecurityPrefs
int xsltCheckRead(xsltSecurityPrefsPtr sec, xsltTransformContextPtr ctxt, const xmlChar *URL)
xsltSecurityPrefs * xsltSecurityPrefsPtr
int(* xsltSecurityCheck)(xsltSecurityPrefsPtr sec, xsltTransformContextPtr ctxt, const char *value)
@ XSLT_SECPREF_READ_NETWORK
@ XSLT_SECPREF_WRITE_NETWORK
@ XSLT_SECPREF_CREATE_DIRECTORY
@ XSLT_SECPREF_WRITE_FILE
DWORD WINAPI GetFileAttributesA(LPCSTR lpFileName)
#define check(expected, result)
#define FILE_ATTRIBUTE_DIRECTORY
xsltSecurityCheck readFile
xsltSecurityCheck createFile
xsltSecurityCheck createDir
xsltSecurityCheck readNet
xsltSecurityCheck writeNet
XMLPUBFUN void xmlFreeURI(xmlURIPtr uri)
XMLPUBFUN xmlURIPtr xmlCreateURI(void)
XMLPUBFUN xmlURIPtr xmlParseURI(const char *str)
#define INVALID_FILE_ATTRIBUTES
XMLPUBFUN char * xmlParserGetDirectory(const char *filename)
XMLPUBFUN const xmlChar * xmlStrstr(const xmlChar *str, const xmlChar *val)
XMLPUBFUN int xmlStrEqual(const xmlChar *str1, const xmlChar *str2)
XMLPUBFUN xmlChar * xmlStrdup(const xmlChar *cur)
void xsltTransformError(xsltTransformContextPtr ctxt, xsltStylesheetPtr style, xmlNodePtr node, const char *msg,...)