OpenDNSSEC-enforcer
2.1.6
src
keystate
keystate_ds_gone_cmd.c
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2011 Surfnet
3
* Copyright (c) 2011 .SE (The Internet Infrastructure Foundation).
4
* Copyright (c) 2011 OpenDNSSEC AB (svb)
5
* All rights reserved.
6
*
7
* Redistribution and use in source and binary forms, with or without
8
* modification, are permitted provided that the following conditions
9
* are met:
10
* 1. Redistributions of source code must retain the above copyright
11
* notice, this list of conditions and the following disclaimer.
12
* 2. Redistributions in binary form must reproduce the above copyright
13
* notice, this list of conditions and the following disclaimer in the
14
* documentation and/or other materials provided with the distribution.
15
*
16
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
17
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
18
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
20
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
22
* GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
24
* IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
25
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
26
* IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27
*
28
*/
29
30
#include "config.h"
31
32
#include "cmdhandler.h"
33
#include "
daemon/enforcercommands.h
"
34
#include "
daemon/engine.h
"
35
#include "
enforcer/enforce_task.h
"
36
#include "log.h"
37
#include "str.h"
38
#include "clientpipe.h"
39
#include "
db/key_data.h
"
40
#include "
keystate/keystate_ds.h
"
41
42
#include "
keystate/keystate_ds_gone_cmd.h
"
43
44
/* static const char *module_str = "keystate_ds_gone_cmd"; */
45
50
static
void
51
usage(
int
sockfd)
52
{
53
client_printf(sockfd,
54
"key ds-gone\n"
55
" --zone <zone> aka -z\n"
56
" --keytag <keytag> | --cka_id <CKA_ID> aka -x | -k\n"
57
);
58
}
59
60
static
void
61
help(
int
sockfd)
62
{
63
client_printf(sockfd,
64
"Issue a ds-gone to the enforcer for a KSK. \n"
65
"(This command with no parameters lists eligible keys.)\n"
66
"\nOptions:\n"
67
"zone name of the zone\n"
68
"keytag|cka_id specify the keytag or the locator of the key\n\n"
);
69
}
70
71
static
int
72
run(
int
sockfd, cmdhandler_ctx_type* context,
const
char
*cmd)
73
{
74
int
error;
75
db_connection_t
* dbconn =
getconnectioncontext
(context);
76
engine_type
* engine =
getglobalcontext
(context);
77
error =
run_ds_cmd
(sockfd, cmd, dbconn,
78
KEY_DATA_DS_AT_PARENT_RETRACTED
,
79
KEY_DATA_DS_AT_PARENT_UNSUBMITTED
, engine);
80
if
(error == 0) {
81
/* YBS: TODO only affected zones */
82
enforce_task_flush_all
(engine, dbconn);
83
}
84
return
error;
85
}
86
87
struct
cmd_func_block
key_ds_gone_funcblock
= {
88
"key ds-gone"
, &usage, &help, NULL, &run
89
};
run_ds_cmd
int run_ds_cmd(int sockfd, const char *cmd, db_connection_t *dbconn, key_data_ds_at_parent_t state_from, key_data_ds_at_parent_t state_to, engine_type *engine)
Definition:
keystate_ds.c:433
key_ds_gone_funcblock
struct cmd_func_block key_ds_gone_funcblock
Definition:
keystate_ds_gone_cmd.c:87
enforcercommands.h
keystate_ds.h
KEY_DATA_DS_AT_PARENT_RETRACTED
@ KEY_DATA_DS_AT_PARENT_RETRACTED
Definition:
key_data.h:55
enforce_task_flush_all
void enforce_task_flush_all(engine_type *engine, db_connection_t *dbconn)
Definition:
enforce_task.c:179
getconnectioncontext
db_connection_t * getconnectioncontext(cmdhandler_ctx_type *context)
Definition:
enforcercommands.c:110
engine_struct
Definition:
engine.h:47
engine.h
keystate_ds_gone_cmd.h
db_connection
Definition:
db_connection.h:46
getglobalcontext
engine_type * getglobalcontext(cmdhandler_ctx_type *context)
Definition:
enforcercommands.c:104
enforce_task.h
KEY_DATA_DS_AT_PARENT_UNSUBMITTED
@ KEY_DATA_DS_AT_PARENT_UNSUBMITTED
Definition:
key_data.h:50
key_data.h
Generated by
1.8.17