summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/feature/control/control_cmd.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/feature/control/control_cmd.c b/src/feature/control/control_cmd.c
index 5555a2c5c4..17d5b0c7f3 100644
--- a/src/feature/control/control_cmd.c
+++ b/src/feature/control/control_cmd.c
@@ -1049,9 +1049,11 @@ handle_control_postdescriptor(control_connection_t *conn,
line = config_line_find_case(args->kwargs, "purpose");
if (line) {
purpose = router_purpose_from_string(line->value);
- control_printf_endreply(conn, 552, "Unknown purpose \"%s\"",
- line->value);
- goto done;
+ if (purpose == ROUTER_PURPOSE_UNKNOWN) {
+ control_printf_endreply(conn, 552, "Unknown purpose \"%s\"",
+ line->value);
+ goto done;
+ }
}
line = config_line_find_case(args->kwargs, "cache");
if (line) {