mirror of
https://github.com/asterisk/asterisk.git
synced 2025-09-03 11:25:35 +00:00
asterisk.c: Add auto generation and persistence of UUID
Upcoming features will require the generation and persistence of a UUID. Change-Id: I3ec0062427e133217db6ef496a4216f427c3b92d
This commit is contained in:
@@ -288,4 +288,11 @@ struct ast_module *AST_MODULE_SELF_SYM(void);
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* \brief Retrieve the PBX UUID
|
||||||
|
* \param pbx_uuid A buffer of at least AST_UUID_STR_LEN (36 + 1) size to receive the UUID
|
||||||
|
* \param length The buffer length
|
||||||
|
*/
|
||||||
|
int ast_pbx_uuid_get(char *pbx_uuid, int length);
|
||||||
|
|
||||||
#endif /* _ASTERISK_H */
|
#endif /* _ASTERISK_H */
|
||||||
|
@@ -249,6 +249,7 @@ int daemon(int, int); /* defined in libresolv of all places */
|
|||||||
#include "asterisk/codec.h"
|
#include "asterisk/codec.h"
|
||||||
#include "asterisk/format_cache.h"
|
#include "asterisk/format_cache.h"
|
||||||
#include "asterisk/media_cache.h"
|
#include "asterisk/media_cache.h"
|
||||||
|
#include "asterisk/astdb.h"
|
||||||
|
|
||||||
#include "../defaults.h"
|
#include "../defaults.h"
|
||||||
|
|
||||||
@@ -590,6 +591,11 @@ void ast_unregister_thread(void *id)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int ast_pbx_uuid_get(char *pbx_uuid, int length)
|
||||||
|
{
|
||||||
|
return ast_db_get("pbx", "UUID", pbx_uuid, length);
|
||||||
|
}
|
||||||
|
|
||||||
/*! \brief Give an overview of core settings */
|
/*! \brief Give an overview of core settings */
|
||||||
static char *handle_show_settings(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
|
static char *handle_show_settings(struct ast_cli_entry *e, int cmd, struct ast_cli_args *a)
|
||||||
{
|
{
|
||||||
@@ -597,6 +603,7 @@ static char *handle_show_settings(struct ast_cli_entry *e, int cmd, struct ast_c
|
|||||||
struct ast_tm tm;
|
struct ast_tm tm;
|
||||||
char eid_str[128];
|
char eid_str[128];
|
||||||
struct rlimit limits;
|
struct rlimit limits;
|
||||||
|
char pbx_uuid[AST_UUID_STR_LEN];
|
||||||
|
|
||||||
switch (cmd) {
|
switch (cmd) {
|
||||||
case CLI_INIT:
|
case CLI_INIT:
|
||||||
@@ -609,6 +616,7 @@ static char *handle_show_settings(struct ast_cli_entry *e, int cmd, struct ast_c
|
|||||||
}
|
}
|
||||||
|
|
||||||
ast_eid_to_str(eid_str, sizeof(eid_str), &ast_eid_default);
|
ast_eid_to_str(eid_str, sizeof(eid_str), &ast_eid_default);
|
||||||
|
ast_pbx_uuid_get(pbx_uuid, sizeof(pbx_uuid));
|
||||||
|
|
||||||
ast_cli(a->fd, "\nPBX Core settings\n");
|
ast_cli(a->fd, "\nPBX Core settings\n");
|
||||||
ast_cli(a->fd, "-----------------\n");
|
ast_cli(a->fd, "-----------------\n");
|
||||||
@@ -647,6 +655,7 @@ static char *handle_show_settings(struct ast_cli_entry *e, int cmd, struct ast_c
|
|||||||
ast_cli(a->fd, " System: %s/%s built by %s on %s %s\n", ast_build_os, ast_build_kernel, ast_build_user, ast_build_machine, ast_build_date);
|
ast_cli(a->fd, " System: %s/%s built by %s on %s %s\n", ast_build_os, ast_build_kernel, ast_build_user, ast_build_machine, ast_build_date);
|
||||||
ast_cli(a->fd, " System name: %s\n", ast_config_AST_SYSTEM_NAME);
|
ast_cli(a->fd, " System name: %s\n", ast_config_AST_SYSTEM_NAME);
|
||||||
ast_cli(a->fd, " Entity ID: %s\n", eid_str);
|
ast_cli(a->fd, " Entity ID: %s\n", eid_str);
|
||||||
|
ast_cli(a->fd, " PBX UUID: %s\n", pbx_uuid);
|
||||||
ast_cli(a->fd, " Default language: %s\n", ast_defaultlanguage);
|
ast_cli(a->fd, " Default language: %s\n", ast_defaultlanguage);
|
||||||
ast_cli(a->fd, " Language prefix: %s\n", ast_language_is_prefix ? "Enabled" : "Disabled");
|
ast_cli(a->fd, " Language prefix: %s\n", ast_language_is_prefix ? "Enabled" : "Disabled");
|
||||||
ast_cli(a->fd, " User name and group: %s/%s\n", ast_config_AST_RUN_USER, ast_config_AST_RUN_GROUP);
|
ast_cli(a->fd, " User name and group: %s/%s\n", ast_config_AST_RUN_USER, ast_config_AST_RUN_GROUP);
|
||||||
@@ -4250,6 +4259,7 @@ static void asterisk_daemon(int isroot, const char *runuser, const char *rungrou
|
|||||||
int num;
|
int num;
|
||||||
char *buf;
|
char *buf;
|
||||||
int moduleresult; /*!< Result from the module load subsystem */
|
int moduleresult; /*!< Result from the module load subsystem */
|
||||||
|
char pbx_uuid[AST_UUID_STR_LEN];
|
||||||
|
|
||||||
/* Set time as soon as possible */
|
/* Set time as soon as possible */
|
||||||
ast_lastreloadtime = ast_startuptime = ast_tvnow();
|
ast_lastreloadtime = ast_startuptime = ast_tvnow();
|
||||||
@@ -4358,6 +4368,24 @@ static void asterisk_daemon(int isroot, const char *runuser, const char *rungrou
|
|||||||
ast_el_read_default_histfile();
|
ast_el_read_default_histfile();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef AST_XML_DOCS
|
||||||
|
/* Load XML documentation. */
|
||||||
|
ast_xmldoc_load_documentation();
|
||||||
|
#endif
|
||||||
|
|
||||||
|
if (astdb_init()) {
|
||||||
|
printf("Failed: astdb_init\n%s", term_quit());
|
||||||
|
exit(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
ast_uuid_init();
|
||||||
|
|
||||||
|
if (ast_pbx_uuid_get(pbx_uuid, sizeof(pbx_uuid))) {
|
||||||
|
ast_uuid_generate_str(pbx_uuid, sizeof(pbx_uuid));
|
||||||
|
ast_db_put("pbx", "UUID", pbx_uuid);
|
||||||
|
}
|
||||||
|
ast_verb(0, "PBX UUID: %s\n", pbx_uuid);
|
||||||
|
|
||||||
ast_json_init();
|
ast_json_init();
|
||||||
ast_ulaw_init();
|
ast_ulaw_init();
|
||||||
ast_alaw_init();
|
ast_alaw_init();
|
||||||
@@ -4398,7 +4426,6 @@ static void asterisk_daemon(int isroot, const char *runuser, const char *rungrou
|
|||||||
}
|
}
|
||||||
|
|
||||||
ast_aoc_cli_init();
|
ast_aoc_cli_init();
|
||||||
ast_uuid_init();
|
|
||||||
|
|
||||||
if (ast_sorcery_init()) {
|
if (ast_sorcery_init()) {
|
||||||
printf("Failed: ast_sorcery_init\n%s", term_quit());
|
printf("Failed: ast_sorcery_init\n%s", term_quit());
|
||||||
@@ -4425,11 +4452,6 @@ static void asterisk_daemon(int isroot, const char *runuser, const char *rungrou
|
|||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef AST_XML_DOCS
|
|
||||||
/* Load XML documentation. */
|
|
||||||
ast_xmldoc_load_documentation();
|
|
||||||
#endif
|
|
||||||
|
|
||||||
aco_init();
|
aco_init();
|
||||||
|
|
||||||
if (init_logger()) { /* Start logging subsystem */
|
if (init_logger()) { /* Start logging subsystem */
|
||||||
@@ -4513,11 +4535,6 @@ static void asterisk_daemon(int isroot, const char *runuser, const char *rungrou
|
|||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (astdb_init()) {
|
|
||||||
printf("Failed: astdb_init\n%s", term_quit());
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (ast_msg_init()) {
|
if (ast_msg_init()) {
|
||||||
printf("Failed: ast_msg_init\n%s", term_quit());
|
printf("Failed: ast_msg_init\n%s", term_quit());
|
||||||
exit(1);
|
exit(1);
|
||||||
|
Reference in New Issue
Block a user