[Asterisk-cvs] asterisk manager.c,1.79,1.80

markster at lists.digium.com markster at lists.digium.com
Wed Jan 5 00:19:57 CST 2005


Update of /usr/cvsroot/asterisk
In directory mongoose.digium.com:/tmp/cvs-serv15757

Modified Files:
	manager.c 
Log Message:
Allow connection notifications on manager interface to be hidden (bug #3085)


Index: manager.c
===================================================================
RCS file: /usr/cvsroot/asterisk/manager.c,v
retrieving revision 1.79
retrieving revision 1.80
diff -u -d -r1.79 -r1.80
--- manager.c	14 Nov 2004 05:52:08 -0000	1.79
+++ manager.c	5 Jan 2005 06:24:59 -0000	1.80
@@ -59,6 +59,8 @@
 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 @@
 						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 @@
 				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 @@
 			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 @@
 		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 @@
 		}
 		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);




More information about the svn-commits mailing list