struct auth_token *at = auth_create_token(aa);
char *tok = auth_set_token_generated(at, comment, c->pool);
set_string(c, c->reply, "token", tok);
+ set_string(c, c->reply, "ident", at->ident);
msg(L_INFO, "Created token: login=<%s> zone=<%s> id=<%s>", aa->user->login, aa->zone->name, at->ident);
cmd_ok(c);
}
+static void cmd_change_token(struct client *c)
+{
+ struct auth_acct *aa = cmd_need_target_acct(c);
+ const char *ident = cmd_need_string(c, "ident");
+ struct auth_token *at = auth_find_token_generated(aa, ident);
+ if (!at)
+ cmd_error(c, "No such token");
+
+ const char *comment = get_string(c->request, "comment");
+ if (comment && !strcmp(comment, ""))
+ comment = NULL;
+ auth_change_token_comment(at, comment);
+
+ msg(L_INFO, "Changed token: login=<%s> zone=<%s> id=<%s>", aa->user->login, aa->zone->name, at->ident);
+
+ db_write();
+ cmd_ok(c);
+}
+
static void cmd_create_temp(struct client *c)
{
struct auth_acct *aa = cmd_need_target_acct(c);
set_string(c, jz, "desc", az->desc);
set_uint(c, jz, "allow-passwd", az->allow_passwd);
set_uint(c, jz, "allow-tokens", az->allow_tokens);
+ set_uint(c, jz, "max-temp-validity", az->max_temp_validity);
}
cmd_ok(c);
{ "delete-acct", cmd_delete_acct },
{ "create-token", cmd_create_token },
{ "delete-token", cmd_delete_token },
+ { "change-token", cmd_change_token },
{ "set-passwd", cmd_set_passwd },
{ "delete-passwd", cmd_delete_passwd },
{ "create-temp", cmd_create_temp },