From: Alan T. DeKok Date: Thu, 10 Mar 2016 16:45:32 +0000 (-0500) Subject: xlat for home server state X-Git-Tag: release_3_0_12~182 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a9fcdc8ea6b114979ba75cbcb8e7302d30d2e57d;p=thirdparty%2Ffreeradius-server.git xlat for home server state --- diff --git a/src/main/realms.c b/src/main/realms.c index 2b37b39a7f7..c70e3bbacbd 100644 --- a/src/main/realms.c +++ b/src/main/realms.c @@ -234,6 +234,31 @@ static ssize_t CC_HINT(nonnull) xlat_home_server(UNUSED void *instance, REQUEST return 0; } + if (strcmp(fmt, "state") == 0) { + char const *state; + + switch (request->home_server->state) { + case HOME_STATE_ALIVE: + state = "alive"; + break; + + case HOME_STATE_ZOMBIE: + state = "zombie"; + break; + + case HOME_STATE_IS_DEAD: + state = "dead"; + break; + + default: + state = "unknown"; + break; + } + + strlcpy(out, state, outlen); + return strlen(out); + } + return xlat_cs(request->home_server->cs, fmt, out, outlen); }