mirror of
https://github.com/asterisk/asterisk.git
synced 2025-10-12 15:45:18 +00:00
res_stir_shaken: Allow sending Identity headers for unknown TNs
Added a new option "unknown_tn_attest_level" to allow Identity
headers to be sent when a callerid TN isn't explicitly configured
in stir_shaken.conf. Since there's no TN object, a private_key_file
and public_cert_url must be configured in the attestation or profile
objects.
Since "unknown_tn_attest_level" uses the same enum as attest_level,
some of the sorcery macros had to be refactored to allow sharing
the enum and to/from string conversion functions.
Also fixed a memory leak in crypto_utils:pem_file_cb().
Resolves: #921
UserNote: You can now set the "unknown_tn_attest_level" option
in the attestation and/or profile objects in stir_shaken.conf to
enable sending Identity headers for callerid TNs not explicitly
configured.
(cherry picked from commit 9e5cac457f
)
This commit is contained in:
committed by
Asterisk Development Team
parent
72c7d48275
commit
2d2d17811a
@@ -498,11 +498,13 @@ static int pem_file_cb(const char *dir_name, const char *filename, void *obj)
|
||||
if (lstat(filename_merged, &statbuf)) {
|
||||
printf("Error reading path stats - %s: %s\n",
|
||||
filename_merged, strerror(errno));
|
||||
ast_free(filename_merged);
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* We only want the symlinks from the directory */
|
||||
if (!S_ISLNK(statbuf.st_mode)) {
|
||||
ast_free(filename_merged);
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -512,6 +514,7 @@ static int pem_file_cb(const char *dir_name, const char *filename, void *obj)
|
||||
rc = crypto_load_store_from_cert_file(data->store, filename_merged);
|
||||
}
|
||||
|
||||
ast_free(filename_merged);
|
||||
return rc;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user