Xerces-C++ 3.2.0

Public Types | Protected Attributes | List of all members
SecurityManager Class Reference

Allow application to force the parser to behave in a security-conscious way. More...

## Public Types
enum | { ENTITY_EXPANSION_LIMIT = 50000 }

## Public Member Functions
default Constructors
| SecurityManager ()
| Default constructor. More...
virtual | ~SecurityManager ()
| Destructor. More...
The Security Manager
virtual void | setEntityExpansionLimit (XMLSize_t newLimit)
| An application should call this method when it wishes to specify a particular limit to the number of entity expansions the parser will permit in a particular document. More...
virtual XMLSize_t | getEntityExpansionLimit () const
| Permits the application or a parser component to query the current limit for entity expansions. More...

## Protected Attributes
XMLSize_t | fEntityExpansionLimit

## Detailed Description

Allow application to force the parser to behave in a security-conscious way.

There are cases in which an XML- or XmL-schema- conformant processor can be presented with documents the processing of which can involve the consumption of prohibitive amounts of system resources. Applications can attach instances of this class to parsers that they've created, via the http://apache.org/xml/properties/security-manager property.

Defaults will be provided for all known security holes. Setter methods will be provided on this class to ensure that an application can customize each limit as it chooses. Components that are vulnerable to any given hole need to be written to act appropriately when an instance of this class has been set on the calling parser.

## Member Enumeration Documentation

## ◆ anonymous enum

anonymous enum

Enumerator
ENTITY_EXPANSION_LIMIT |

## Constructor & Destructor Documentation

## ◆ SecurityManager()

SecurityManager::SecurityManager | ( |  | ) |

Default constructor.

## ◆ ~SecurityManager()

virtual SecurityManager::~SecurityManager | ( |  | ) |
| virtual

Destructor.

## Member Function Documentation

## ◆ getEntityExpansionLimit()

virtual XMLSize_t SecurityManager::getEntityExpansionLimit | ( |  | ) | const
| virtual

Permits the application or a parser component to query the current limit for entity expansions.

Returns
  the current setting of the entity expansion limit

## ◆ setEntityExpansionLimit()

virtual void SecurityManager::setEntityExpansionLimit | ( | XMLSize_t | newLimit | ) |
| virtual

An application should call this method when it wishes to specify a particular limit to the number of entity expansions the parser will permit in a particular document.

The default behaviour should allow the parser to validate nearly all XML non-malicious XML documents; if an application knows that it is operating in a domain where entities are uncommon, for instance, it may wish to provide a limit lower than the parser's default.

Parameters

  newLimit | the new entity expansion limit

## Member Data Documentation

## ◆ fEntityExpansionLimit

XMLSize_t SecurityManager::fEntityExpansionLimit
| protected

The documentation for this class was generated from the following file:

- SecurityManager.hpp