Use json_is_true() in place of json_boolean_value() for compatibility
[trust_router.git] / tr / tr_mon.c
index 8138198..1327082 100644 (file)
@@ -96,9 +96,8 @@ static int tr_mons_auth_handler(gss_name_t client_name, TR_NAME *gss_name, void
 {
   struct tr_mons_event_cookie *cookie=talloc_get_type_abort(cookie_in, struct tr_mons_event_cookie);
   MONS_INSTANCE *mons = cookie->mons;
-  TR_CFG_MGR *cfg_mgr = cookie->cfg_mgr;
 
-  if ((!client_name) || (!gss_name) || (!mons) || (!cfg_mgr)) {
+  if ((!client_name) || (!gss_name) || (!mons)) {
     tr_debug("tr_mons_gss_handler: Bad parameters.");
     return -1;
   }
@@ -145,6 +144,12 @@ int tr_mons_event_init(struct event_base *base,
     goto cleanup;
   }
 
+  if (cfg_mgr->active->internal->mons_port == 0) {
+    tr_notice("tr_mons_event_init: monitoring is disabled, not enabling events or opening sockets");
+    retval = 0;
+    goto cleanup;
+  }
+
   /* Create the cookie for callbacks. We'll put it in the mons context, so it will
    * be cleaned up when mons is freed by talloc_free. */
   cookie=talloc(tmp_ctx, struct tr_mons_event_cookie);
@@ -161,7 +166,7 @@ int tr_mons_event_init(struct event_base *base,
   mons_ev->n_sock_fd = mons_get_listener(mons, tr_mons_req_handler,
                                          tr_mons_auth_handler,
                                          cfg_mgr->active->internal->hostname,
-                                         cfg_mgr->active->internal->monitoring_port,
+                                         cfg_mgr->active->internal->mons_port,
                                          (void *) cookie, mons_ev->sock_fd,
                                          TR_MAX_SOCKETS);
   if (mons_ev->n_sock_fd==0) {