TURN module (rfc5766)

PermissionPolicy

Lightweight server-side TURN permission policy.

PermissionPolicy

#include <icy/turn/server/permissionpolicy.h>

Lightweight server-side TURN permission policy.

Keeps the explicit permission list fast and binary, while making server exceptions such as local-IP auto-grants explicit and auditable.

Public Methods

ReturnNameDescription
PermissionPolicy inline explicit
boolallowsExplicit const
boolallowsImplicit const
boolallows const

PermissionPolicy

inline explicit

inline explicit PermissionPolicy(bool enableLocalIPPermissions) noexcept

allowsExplicit

const

bool allowsExplicit(const PermissionList & permissions, const Permission::Key & peerKey) const noexcept

allowsImplicit

const

bool allowsImplicit(const Permission::Key & peerKey) const noexcept

allows

const

bool allows(const PermissionList & permissions, const Permission::Key & peerKey) const noexcept

Private Attributes

ReturnNameDescription
bool_enableLocalIPPermissions

_enableLocalIPPermissions

bool _enableLocalIPPermissions = false

Private Static Methods

ReturnNameDescription
boolisLocalAutoGrantAddress static

isLocalAutoGrantAddress

static

static bool isLocalAutoGrantAddress(const Permission::Key & peerKey) noexcept