From 8ddb3aba81e3af74bb7584601339b1a48458b231 Mon Sep 17 00:00:00 2001 From: Mark Spencer <markster@digium.com> Date: Wed, 5 Jan 2005 06:24:59 +0000 Subject: [PATCH] Allow connection notifications on manager interface to be hidden (bug #3085) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4672 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- configs/manager.conf.sample | 1 + manager.c | 32 ++++++++++++++++++++++++-------- 2 files changed, 25 insertions(+), 8 deletions(-) diff --git a/configs/manager.conf.sample b/configs/manager.conf.sample index 4560904e25..5c6195d66d 100755 --- a/configs/manager.conf.sample +++ b/configs/manager.conf.sample @@ -5,6 +5,7 @@ enabled = no port = 5038 bindaddr = 0.0.0.0 +;displayconnects = yes ;[mark] ;secret = mysecret diff --git a/manager.c b/manager.c index 55f2ebeb80..5c76ca9000 100755 --- a/manager.c +++ b/manager.c @@ -59,6 +59,8 @@ struct fast_originate_helper static int enabled = 0; static int portno = DEFAULT_MANAGER_PORT; static int asock = -1; +static int displayconnects = 1; + static pthread_t t; AST_MUTEX_DEFINE_STATIC(sessionlock); static int block_sockets = 0; @@ -413,8 +415,9 @@ static int authenticate(struct mansession *s, struct message *m) password = v->value; } else if (!strcasecmp(v->name, "permit") || !strcasecmp(v->name, "deny")) { - ha = ast_append_ha(v->name, v->value, ha); - } + ha = ast_append_ha(v->name, v->value, ha); + } + v = v->next; } if (ha && !ast_apply_ha(ha, &(s->sin))) { @@ -1131,8 +1134,11 @@ static int process_message(struct mansession *s, struct message *m) return -1; } else { s->authenticated = 1; - if (option_verbose > 1) - ast_verbose(VERBOSE_PREFIX_2 "Manager '%s' logged on from %s\n", s->username, ast_inet_ntoa(iabuf, sizeof(iabuf), s->sin.sin_addr)); + if (option_verbose > 1) { + if ( displayconnects ) { + ast_verbose(VERBOSE_PREFIX_2 "Manager '%s' logged on from %s\n", s->username, ast_inet_ntoa(iabuf, sizeof(iabuf), s->sin.sin_addr)); + } + } ast_log(LOG_EVENT, "Manager '%s' logged on from %s\n", s->username, ast_inet_ntoa(iabuf, sizeof(iabuf), s->sin.sin_addr)); astman_send_ack(s, m, "Authentication accepted"); } @@ -1227,12 +1233,16 @@ static void *session_do(void *data) break; } if (s->authenticated) { - if (option_verbose > 1) - ast_verbose(VERBOSE_PREFIX_2 "Manager '%s' logged off from %s\n", s->username, ast_inet_ntoa(iabuf, sizeof(iabuf), s->sin.sin_addr)); + if (option_verbose > 1) { + if (displayconnects) + ast_verbose(VERBOSE_PREFIX_2 "Manager '%s' logged off from %s\n", s->username, ast_inet_ntoa(iabuf, sizeof(iabuf), s->sin.sin_addr)); + } ast_log(LOG_EVENT, "Manager '%s' logged off from %s\n", s->username, ast_inet_ntoa(iabuf, sizeof(iabuf), s->sin.sin_addr)); } else { - if (option_verbose > 1) - ast_verbose(VERBOSE_PREFIX_2 "Connect attempt from '%s' unable to authenticate\n", ast_inet_ntoa(iabuf, sizeof(iabuf), s->sin.sin_addr)); + if (option_verbose > 1) { + if ( displayconnects ) + ast_verbose(VERBOSE_PREFIX_2 "Connect attempt from '%s' unable to authenticate\n", ast_inet_ntoa(iabuf, sizeof(iabuf), s->sin.sin_addr)); + } ast_log(LOG_EVENT, "Failed attempt from %s\n", ast_inet_ntoa(iabuf, sizeof(iabuf), s->sin.sin_addr)); } destroy_session(s); @@ -1444,6 +1454,7 @@ int init_manager(void) registered = 1; } portno = DEFAULT_MANAGER_PORT; + displayconnects = 1; cfg = ast_load("manager.conf"); if (!cfg) { ast_log(LOG_NOTICE, "Unable to open management configuration manager.conf. Call management disabled.\n"); @@ -1470,6 +1481,11 @@ int init_manager(void) } ast_log(LOG_NOTICE, "Use of portno in manager.conf deprecated. Please use 'port=%s' instead.\n", val); } + /* Parsing the displayconnects */ + if ((val = ast_variable_retrieve(cfg, "general", "displayconnects"))) { + displayconnects = ast_true(val);; + } + ba.sin_family = AF_INET; ba.sin_port = htons(portno); -- GitLab