pool->cs = cs;
+ /*
+ * Fallback servers must be defined, and must be
+ * virtual servers.
+ */
cp = cf_pair_find(cs, "fallback");
if (cp) {
if (!pool_check_home_server(rc, cp, cf_pair_value(cp),
goto error;
}
+
+ if (!pool->fallback->server) {
+ cf_log_err(cs, "Fallback home_server %s does NOT contain a virtual_server directive.", pool->fallback->name);
+ goto error;
+ }
}
if (do_print) cf_log_info(cs, " home_server_pool %s {", name2);
/*
* There's a fallback if they're all dead.
*/
- if (pool->fallback &&
- (pool->fallback->state == HOME_STATE_ALIVE)) {
+ if (pool->fallback) {
return pool->fallback;
}