asterisk/res/res_stir_shaken/profile_private.h
Ben Ford 0724b767a3 AST-2022-002 - res_stir_shaken/curl: Add ACL checks for Identity header.
Adds a new configuration option, stir_shaken_profile, in pjsip.conf that
can be specified on a per endpoint basis. This option will reference a
stir_shaken_profile that can be configured in stir_shaken.conf. The type
of this option must be 'profile'. The stir_shaken option can be
specified on this object with the same values as before (attest, verify,
on), but it cannot be off since having the profile itself implies wanting
STIR/SHAKEN support. You can also specify an ACL from acl.conf (along
with permit and deny lines in the object itself) that will be used to
limit what interfaces Asterisk will attempt to retrieve information from
when reading the Identity header.

ASTERISK-29476

Change-Id: I87fa61f78a9ea0cd42530691a30da3c781842406
2022-04-14 16:58:17 -05:00

41 lines
1.1 KiB
C

/*
* Asterisk -- An open source telephony toolkit.
*
* Copyright (C) 2022, Sangoma Technologies Corporation
*
* Ben Ford <bford@sangoma.com>
*
* See http://www.asterisk.org for more information about
* the Asterisk project. Please do not directly contact
* any of the maintainers of this project for assistance;
* the project provides a web site, mailing lists and IRC
* channels for your use.
*
* This program is free software, distributed under the terms of
* the GNU General Public License Version 2. See the LICENSE file
* at the top of the source tree.
*/
#ifndef _STIR_SHAKEN_PROFILE_PRIVATE_H
#define _STIR_SHAKEN_PROFILE_PRIVATE_H
#include "asterisk/sorcery.h"
#include "asterisk/acl.h"
enum stir_shaken_profile_behavior {
/*! Only do STIR/SHAKEN attestation */
STIR_SHAKEN_ATTEST = 1,
/*! Only do STIR/SHAKEN verification */
STIR_SHAKEN_VERIFY = 2,
/*! Do STIR/SHAKEN attestation and verification */
STIR_SHAKEN_ON = 3,
};
struct stir_shaken_profile {
SORCERY_OBJECT(details);
unsigned int stir_shaken;
struct ast_acl_list *acl;
};
#endif /* _STIR_SHAKEN_PROFILE_PRIVATE_H */