#include <policy.h>
Public Types | |
enum | Action { Accept, Reject } |
enum | SpecialPolicy { AcceptAll, RejectAll } |
Public Member Functions | |
Policy () | |
Policy (QString policy) | |
Policy (QString action, QString address, QString ports) | |
Policy (SpecialPolicy policy) | |
Policy (Action action, QHostAddress addr, uchar mask, quint16 fromPort, quint16 toPort=0) | |
bool | matches (const Policy &policy) const |
bool | operator== (const Policy &policy) const |
void | fromString (QString policy) |
QString | toString () const |
QString | action () const |
QString | address () const |
QString | ports () const |
Static Public Member Functions | |
static Action | toAction (QString action) |
Private Attributes | |
Action | _action |
QHostAddress | _address |
quint16 | _fromPort |
quint16 | _toPort |
uchar | _mask |
Definition at line 36 of file policy.h.
enum Policy::Action |
Policy::Policy | ( | ) |
Policy::Policy | ( | QString | policy | ) |
Parses the given policy, represented as a string.
Constructor. Creates a new Policy object from the given string.
Definition at line 43 of file policy.cpp.
References _action, _address, _fromPort, _mask, _toPort, Accept, and fromString().
Policy::Policy | ( | QString | action, | |
QString | address, | |||
QString | ports | |||
) |
Parses the given portions of a policy string.
Constructor. Creates a new Policy object from the string parts.
Definition at line 56 of file policy.cpp.
References _action, _address, _fromPort, _mask, _toPort, Accept, and fromString().
Policy::Policy | ( | SpecialPolicy | policy | ) |
Policy::Policy | ( | Action | action, | |
QHostAddress | addr, | |||
uchar | mask, | |||
quint16 | fromPort, | |||
quint16 | toPort = 0 | |||
) |
bool Policy::matches | ( | const Policy & | policy | ) | const |
Returns true if this policy matches policy.
Returns true if this policy matches policy. For example, if this policy is "reject *:6660-6669" and policy is "reject *:6662-6664", this will return true. For strict comparison, use the == operator.
Definition at line 103 of file policy.cpp.
References _action, _address, _fromPort, _mask, and _toPort.
Referenced by ExitPolicy::contains().
bool Policy::operator== | ( | const Policy & | policy | ) | const |
void Policy::fromString | ( | QString | policy | ) |
Parses the given policy string.
Parses the given exit policy string.
Definition at line 115 of file policy.cpp.
References _action, _address, _fromPort, _mask, _toPort, ports(), and toAction().
Referenced by Policy().
QString Policy::toString | ( | ) | const |
Converts this policy to a format Tor understands.
Converts this policy to a form Tor understands. The format is: "accept|reject ADDR[/MASK][:PORT]"
PORT can be a single port number, an interval of ports "FROM_PORT-TO_PORT", or "*". If PORT is omitted, that means "*"
Definition at line 155 of file policy.cpp.
References _action, Accept, address(), and ports().
Referenced by ExitPolicy::toString().
Policy::Action Policy::toAction | ( | QString | action | ) | [static] |
Converts a string action to an Action enum value.
Converts the given action to a string. This function tolerates both the translated and untranslated forms of the string "accept" and "reject".
Definition at line 164 of file policy.cpp.
References Accept, and Reject.
Referenced by fromString().
QString Policy::action | ( | ) | const |
Returns the action taken when this policy matches an address.
Returns the action associated with this policy. NOTE: This string will be translated to whatever the current language setting is.
Definition at line 176 of file policy.cpp.
QString Policy::address | ( | ) | const |
Returns the host address (including mask, if set) for this policy.
Returns the address (and mask, if specified) for this policy.
Definition at line 183 of file policy.cpp.
References _address, and _mask.
Referenced by toString().
QString Policy::ports | ( | ) | const |
Returns the port or port range for this policy.
Returns the port (or port range, if specified) for this policy.
Definition at line 199 of file policy.cpp.
References _fromPort, and _toPort.
Referenced by fromString(), and toString().
Action Policy::_action [private] |
The action to take for this policy.
Definition at line 84 of file policy.h.
Referenced by action(), fromString(), matches(), operator==(), Policy(), and toString().
QHostAddress Policy::_address [private] |
Addresses to which this policy applies.
Definition at line 85 of file policy.h.
Referenced by address(), fromString(), matches(), operator==(), and Policy().
quint16 Policy::_fromPort [private] |
Start of a port range.
Definition at line 86 of file policy.h.
Referenced by fromString(), matches(), operator==(), Policy(), and ports().
quint16 Policy::_toPort [private] |
End of a port range.
Definition at line 87 of file policy.h.
Referenced by fromString(), matches(), operator==(), Policy(), and ports().
uchar Policy::_mask [private] |
Address mask.
Definition at line 88 of file policy.h.
Referenced by address(), fromString(), matches(), operator==(), and Policy().