"Fossies" - the Fresh Open Source Software Archive

Member "opendnssec-2.1.4/enforcer/src/keystate/keystate_ds_retract_cmd.c" (16 May 2019, 2976 Bytes) of package /linux/misc/dns/opendnssec-2.1.4.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "keystate_ds_retract_cmd.c" see the Fossies "Dox" file reference documentation.

    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_retract_cmd.h"
   43 
   44 static void
   45 usage(int sockfd)
   46 {
   47     client_printf(sockfd,
   48         "key ds-retract\n"
   49         "   --zone <zone>               aka -z\n"
   50         "   --keytag <keytag> | --cka_id <CKA_ID>   aka -x | -k\n"
   51 /*      "      [--force]                  (aka -f)  force even if there is no configured\n"
   52         "                                           DelegationSignerSubmitCommand.\n" */
   53     );
   54 }
   55 
   56 static void
   57 help(int sockfd)
   58 {
   59     client_printf(sockfd,
   60         "Issue a ds-retract to the enforcer for a KSK.\n"
   61         "(This command with no parameters lists eligible keys.)\n"
   62         "\nOptions:\n"
   63         "zone       name of the zone\n"
   64         "keytag|cka_id  specify the keytag or the locator of the key\n\n");
   65 }
   66 
   67 static int
   68 run(int sockfd, cmdhandler_ctx_type* context, const char *cmd)
   69 {
   70     int error;
   71         db_connection_t* dbconn = getconnectioncontext(context);
   72         engine_type* engine = getglobalcontext(context);
   73     /* TODO, this changes the state, but sbmt cmd is not exec. */
   74     error = run_ds_cmd(sockfd, cmd, dbconn,
   75         KEY_DATA_DS_AT_PARENT_RETRACT,
   76         KEY_DATA_DS_AT_PARENT_RETRACTED, engine);
   77     if (error == 0) {
   78         /* YBS: TODO only affected zones */
   79         enforce_task_flush_all(engine, dbconn);
   80     }
   81     return error;
   82 
   83 }
   84 
   85 struct cmd_func_block key_ds_retract_funcblock = {
   86     "key ds-retract", &usage, &help, NULL, &run
   87 };