realms_pool_add
authorSam Hartman <hartmans@debian.org>
Thu, 29 Nov 2012 16:57:34 +0000 (11:57 -0500)
committerSam Hartman <hartmans@debian.org>
Tue, 13 Aug 2013 15:42:52 +0000 (11:42 -0400)
Implement function to add a pool exposed beyond realms.c

src/include/realms.h
src/main/realms.c

index f6bf1af..2cde465 100644 (file)
@@ -151,6 +151,8 @@ void realms_free(void);
 REALM *realm_find(char const *name); /* name is from a packet */
 REALM *realm_find2(char const *name); /* ... with name taken from realm_find */
   int realms_home_server_add(home_server *home, CONF_SECTION *cs, int dual);
+  int realms_pool_add(home_pool_t *pool, CONF_SECTION *cs);
+
 
 void home_server_update_request(home_server *home, REQUEST *request);
 home_server *home_server_ldb(char const *realmname, home_pool_t *pool, REQUEST *request);
index 7f4a352..3d34d9a 100644 (file)
@@ -922,6 +922,16 @@ static int pool_check_home_server(UNUSED realm_config_t *rc, CONF_PAIR *cp,
 }
 
 
+int realms_pool_add( home_pool_t *pool, UNUSED CONF_SECTION *cs)
+{
+               if (!rbtree_insert(home_pools_byname, pool)) {
+               rad_assert("Internal sanity check failed");
+               return 0;
+       }
+               return 1;
+}
+
+
 static int server_pool_add(realm_config_t *rc,
                           CONF_SECTION *cs, int server_type, int do_print)
 {
@@ -1088,8 +1098,7 @@ static int server_pool_add(realm_config_t *rc,
                cf_log_info(cs, "\tfallback = %s", pool->fallback->name);
        }
 
-       if (!rbtree_insert(home_pools_byname, pool)) {
-               rad_assert("Internal sanity check failed");
+       if (! realms_pool_add(pool, cs)) {
                goto error;
        }