summaryrefslogtreecommitdiffstats
path: root/contrib/ntp/util/ntp-keygen-opts.h
diff options
context:
space:
mode:
authorglebius <glebius@FreeBSD.org>2015-10-26 11:37:31 +0000
committerglebius <glebius@FreeBSD.org>2015-10-26 11:37:31 +0000
commit81511473d32294dc562d10f7b3e97630ccf0b64f (patch)
tree83f2b5fa5bca87e28ea638c9459aebb211698059 /contrib/ntp/util/ntp-keygen-opts.h
parenta5a01b895b5c5a5a2f92fb611161c7c0f840a76a (diff)
downloadFreeBSD-src-81511473d32294dc562d10f7b3e97630ccf0b64f.zip
FreeBSD-src-81511473d32294dc562d10f7b3e97630ccf0b64f.tar.gz
Upgrade NTP to 4.2.8p4.
Security: FreeBSD-SA-15:25.ntp Security: CVE-2015-7871 Security: CVE-2015-7855 Security: CVE-2015-7854 Security: CVE-2015-7853 Security: CVE-2015-7852 Security: CVE-2015-7851 Security: CVE-2015-7850 Security: CVE-2015-7849 Security: CVE-2015-7848 Security: CVE-2015-7701 Security: CVE-2015-7703 Security: CVE-2015-7704, CVE-2015-7705 Security: CVE-2015-7691, CVE-2015-7692, CVE-2015-7702 Approved by: so
Diffstat (limited to 'contrib/ntp/util/ntp-keygen-opts.h')
-rw-r--r--contrib/ntp/util/ntp-keygen-opts.h342
1 files changed, 205 insertions, 137 deletions
diff --git a/contrib/ntp/util/ntp-keygen-opts.h b/contrib/ntp/util/ntp-keygen-opts.h
index e34a0a7..c88bef8 100644
--- a/contrib/ntp/util/ntp-keygen-opts.h
+++ b/contrib/ntp/util/ntp-keygen-opts.h
@@ -1,116 +1,166 @@
-/*
+/*
* EDIT THIS FILE WITH CAUTION (ntp-keygen-opts.h)
- *
- * It has been AutoGen-ed Tuesday December 8, 2009 at 08:14:55 AM EST
+ *
+ * It has been AutoGen-ed October 21, 2015 at 12:39:50 PM by AutoGen 5.18.5
* From the definitions ntp-keygen-opts.def
* and the template file options
*
- * Generated from AutoOpts 29:0:4 templates.
- */
-
-/*
- * This file was produced by an AutoOpts template. AutoOpts is a
- * copyrighted work. This header file is not encumbered by AutoOpts
- * licensing, but is provided under the licensing terms chosen by the
- * ntp-keygen author or copyright holder. AutoOpts is licensed under
- * the terms of the LGPL. The redistributable library (``libopts'') is
- * licensed under the terms of either the LGPL or, at the users discretion,
- * the BSD license. See the AutoOpts and/or libopts sources for details.
+ * Generated from AutoOpts 41:0:16 templates.
+ *
+ * AutoOpts is a copyrighted work. This header file is not encumbered
+ * by AutoOpts licensing, but is provided under the licensing terms chosen
+ * by the ntp-keygen author or copyright holder. AutoOpts is
+ * licensed under the terms of the LGPL. The redistributable library
+ * (``libopts'') is licensed under the terms of either the LGPL or, at the
+ * users discretion, the BSD license. See the AutoOpts and/or libopts sources
+ * for details.
*
- * This source file is copyrighted and licensed under the following terms:
+ * The ntp-keygen program is copyrighted and licensed
+ * under the following terms:
*
- * ntp-keygen copyright 1970-2009 David L. Mills and/or others - all rights reserved
+ * Copyright (C) 1992-2015 The University of Delaware and Network Time Foundation, all rights reserved.
+ * This is free software. It is licensed for use, modification and
+ * redistribution under the terms of the NTP License, copies of which
+ * can be seen at:
+ * <http://ntp.org/license>
+ * <http://opensource.org/licenses/ntp-license.php>
*
- * see html/copyright.html
+ * Permission to use, copy, modify, and distribute this software and its
+ * documentation for any purpose with or without fee is hereby granted,
+ * provided that the above copyright notice appears in all copies and that
+ * both the copyright notice and this permission notice appear in
+ * supporting documentation, and that the name The University of Delaware not be used in
+ * advertising or publicity pertaining to distribution of the software
+ * without specific, written prior permission. The University of Delaware and Network Time Foundation makes no
+ * representations about the suitability this software for any purpose. It
+ * is provided "as is" without express or implied warranty.
*/
-/*
+/**
* This file contains the programmatic interface to the Automated
* Options generated for the ntp-keygen program.
* These macros are documented in the AutoGen info file in the
* "AutoOpts" chapter. Please refer to that doc for usage help.
*/
#ifndef AUTOOPTS_NTP_KEYGEN_OPTS_H_GUARD
-#define AUTOOPTS_NTP_KEYGEN_OPTS_H_GUARD
+#define AUTOOPTS_NTP_KEYGEN_OPTS_H_GUARD 1
#include "config.h"
#include <autoopts/options.h>
-/*
+/**
* Ensure that the library used for compiling this generated header is at
* least as new as the version current when the header template was released
* (not counting patch version increments). Also ensure that the oldest
* tolerable version is at least as old as what was current when the header
* template was released.
*/
-#define AO_TEMPLATE_VERSION 118784
+#define AO_TEMPLATE_VERSION 167936
#if (AO_TEMPLATE_VERSION < OPTIONS_MINIMUM_VERSION) \
|| (AO_TEMPLATE_VERSION > OPTIONS_STRUCT_VERSION)
# error option template version mismatches autoopts/options.h header
Choke Me.
#endif
-/*
- * Enumeration of each option:
+/**
+ * Enumeration of each option type for ntp-keygen
*/
typedef enum {
- INDEX_OPT_CERTIFICATE = 0,
- INDEX_OPT_DEBUG_LEVEL = 1,
- INDEX_OPT_SET_DEBUG_LEVEL = 2,
- INDEX_OPT_ID_KEY = 3,
- INDEX_OPT_GQ_PARAMS = 4,
- INDEX_OPT_GQ_KEYS = 5,
- INDEX_OPT_HOST_KEY = 6,
- INDEX_OPT_IFFKEY = 7,
- INDEX_OPT_ISSUER_NAME = 8,
- INDEX_OPT_MD5KEY = 9,
- INDEX_OPT_MODULUS = 10,
- INDEX_OPT_PVT_CERT = 11,
- INDEX_OPT_PVT_PASSWD = 12,
- INDEX_OPT_GET_PVT_PASSWD = 13,
- INDEX_OPT_SIGN_KEY = 14,
- INDEX_OPT_SUBJECT_NAME = 15,
- INDEX_OPT_TRUSTED_CERT = 16,
- INDEX_OPT_MV_PARAMS = 17,
- INDEX_OPT_MV_KEYS = 18,
- INDEX_OPT_VERSION = 19,
- INDEX_OPT_HELP = 20,
- INDEX_OPT_MORE_HELP = 21,
- INDEX_OPT_SAVE_OPTS = 22,
- INDEX_OPT_LOAD_OPTS = 23
+ INDEX_OPT_IMBITS = 0,
+ INDEX_OPT_CERTIFICATE = 1,
+ INDEX_OPT_CIPHER = 2,
+ INDEX_OPT_DEBUG_LEVEL = 3,
+ INDEX_OPT_SET_DEBUG_LEVEL = 4,
+ INDEX_OPT_ID_KEY = 5,
+ INDEX_OPT_GQ_PARAMS = 6,
+ INDEX_OPT_HOST_KEY = 7,
+ INDEX_OPT_IFFKEY = 8,
+ INDEX_OPT_IDENT = 9,
+ INDEX_OPT_LIFETIME = 10,
+ INDEX_OPT_MD5KEY = 11,
+ INDEX_OPT_MODULUS = 12,
+ INDEX_OPT_PVT_CERT = 13,
+ INDEX_OPT_PASSWORD = 14,
+ INDEX_OPT_EXPORT_PASSWD = 15,
+ INDEX_OPT_SIGN_KEY = 16,
+ INDEX_OPT_SUBJECT_NAME = 17,
+ INDEX_OPT_TRUSTED_CERT = 18,
+ INDEX_OPT_MV_PARAMS = 19,
+ INDEX_OPT_MV_KEYS = 20,
+ INDEX_OPT_VERSION = 21,
+ INDEX_OPT_HELP = 22,
+ INDEX_OPT_MORE_HELP = 23,
+ INDEX_OPT_SAVE_OPTS = 24,
+ INDEX_OPT_LOAD_OPTS = 25
} teOptIndex;
+/** count of all options for ntp-keygen */
+#define OPTION_CT 26
+/** ntp-keygen version */
+#define NTP_KEYGEN_VERSION "4.2.8p4"
+/** Full ntp-keygen version text */
+#define NTP_KEYGEN_FULL_VERSION "ntp-keygen (ntp) 4.2.8p4"
-#define OPTION_CT 24
-#define NTP_KEYGEN_VERSION "4.2.4p8"
-#define NTP_KEYGEN_FULL_VERSION "ntp-keygen (ntp) - Create a NTP host key - Ver. 4.2.4p8"
-
-/*
+/**
* Interface defines for all options. Replace "n" with the UPPER_CASED
* option name (as in the teOptIndex enumeration above).
- * e.g. HAVE_OPT( CERTIFICATE )
+ * e.g. HAVE_OPT(IMBITS)
*/
#define DESC(n) (ntp_keygenOptions.pOptDesc[INDEX_OPT_## n])
+/** 'true' if an option has been specified in any way */
#define HAVE_OPT(n) (! UNUSED_OPT(& DESC(n)))
+/** The string argument to an option. The argument type must be \"string\". */
#define OPT_ARG(n) (DESC(n).optArg.argString)
+/** Mask the option state revealing how an option was specified.
+ * It will be one and only one of \a OPTST_SET, \a OPTST_PRESET,
+ * \a OPTST_DEFINED, \a OPTST_RESET or zero.
+ */
#define STATE_OPT(n) (DESC(n).fOptState & OPTST_SET_MASK)
+/** Count of option's occurrances *on the command line*. */
#define COUNT_OPT(n) (DESC(n).optOccCt)
+/** mask of \a OPTST_SET and \a OPTST_DEFINED. */
#define ISSEL_OPT(n) (SELECTED_OPT(&DESC(n)))
+/** 'true' if \a HAVE_OPT would yield 'false'. */
#define ISUNUSED_OPT(n) (UNUSED_OPT(& DESC(n)))
+/** 'true' if OPTST_DISABLED bit not set. */
#define ENABLED_OPT(n) (! DISABLED_OPT(& DESC(n)))
+/** number of stacked option arguments.
+ * Valid only for stacked option arguments. */
#define STACKCT_OPT(n) (((tArgList*)(DESC(n).optCookie))->useCt)
+/** stacked argument vector.
+ * Valid only for stacked option arguments. */
#define STACKLST_OPT(n) (((tArgList*)(DESC(n).optCookie))->apzArgs)
+/** Reset an option. */
#define CLEAR_OPT(n) STMTS( \
DESC(n).fOptState &= OPTST_PERSISTENT_MASK; \
- if ( (DESC(n).fOptState & OPTST_INITENABLED) == 0) \
+ if ((DESC(n).fOptState & OPTST_INITENABLED) == 0) \
DESC(n).fOptState |= OPTST_DISABLED; \
DESC(n).optCookie = NULL )
-
-/*
+/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
+/**
+ * Enumeration of ntp-keygen exit codes
+ */
+typedef enum {
+ NTP_KEYGEN_EXIT_SUCCESS = 0,
+ NTP_KEYGEN_EXIT_FAILURE = 1,
+ NTP_KEYGEN_EXIT_USAGE_ERROR = 64,
+ NTP_KEYGEN_EXIT_NO_CONFIG_INPUT = 66,
+ NTP_KEYGEN_EXIT_LIBOPTS_FAILURE = 70
+} ntp_keygen_exit_code_t;
+/** @} */
+/**
* Make sure there are no #define name conflicts with the option names
*/
#ifndef NO_OPTION_NAME_WARNINGS
+# ifdef IMBITS
+# warning undefining IMBITS due to option name conflict
+# undef IMBITS
+# endif
# ifdef CERTIFICATE
# warning undefining CERTIFICATE due to option name conflict
# undef CERTIFICATE
# endif
+# ifdef CIPHER
+# warning undefining CIPHER due to option name conflict
+# undef CIPHER
+# endif
# ifdef DEBUG_LEVEL
# warning undefining DEBUG_LEVEL due to option name conflict
# undef DEBUG_LEVEL
@@ -127,10 +177,6 @@ typedef enum {
# warning undefining GQ_PARAMS due to option name conflict
# undef GQ_PARAMS
# endif
-# ifdef GQ_KEYS
-# warning undefining GQ_KEYS due to option name conflict
-# undef GQ_KEYS
-# endif
# ifdef HOST_KEY
# warning undefining HOST_KEY due to option name conflict
# undef HOST_KEY
@@ -139,9 +185,13 @@ typedef enum {
# warning undefining IFFKEY due to option name conflict
# undef IFFKEY
# endif
-# ifdef ISSUER_NAME
-# warning undefining ISSUER_NAME due to option name conflict
-# undef ISSUER_NAME
+# ifdef IDENT
+# warning undefining IDENT due to option name conflict
+# undef IDENT
+# endif
+# ifdef LIFETIME
+# warning undefining LIFETIME due to option name conflict
+# undef LIFETIME
# endif
# ifdef MD5KEY
# warning undefining MD5KEY due to option name conflict
@@ -155,13 +205,13 @@ typedef enum {
# warning undefining PVT_CERT due to option name conflict
# undef PVT_CERT
# endif
-# ifdef PVT_PASSWD
-# warning undefining PVT_PASSWD due to option name conflict
-# undef PVT_PASSWD
+# ifdef PASSWORD
+# warning undefining PASSWORD due to option name conflict
+# undef PASSWORD
# endif
-# ifdef GET_PVT_PASSWD
-# warning undefining GET_PVT_PASSWD due to option name conflict
-# undef GET_PVT_PASSWD
+# ifdef EXPORT_PASSWD
+# warning undefining EXPORT_PASSWD due to option name conflict
+# undef EXPORT_PASSWD
# endif
# ifdef SIGN_KEY
# warning undefining SIGN_KEY due to option name conflict
@@ -184,20 +234,22 @@ typedef enum {
# undef MV_KEYS
# endif
#else /* NO_OPTION_NAME_WARNINGS */
+# undef IMBITS
# undef CERTIFICATE
+# undef CIPHER
# undef DEBUG_LEVEL
# undef SET_DEBUG_LEVEL
# undef ID_KEY
# undef GQ_PARAMS
-# undef GQ_KEYS
# undef HOST_KEY
# undef IFFKEY
-# undef ISSUER_NAME
+# undef IDENT
+# undef LIFETIME
# undef MD5KEY
# undef MODULUS
# undef PVT_CERT
-# undef PVT_PASSWD
-# undef GET_PVT_PASSWD
+# undef PASSWORD
+# undef EXPORT_PASSWD
# undef SIGN_KEY
# undef SUBJECT_NAME
# undef TRUSTED_CERT
@@ -205,114 +257,130 @@ typedef enum {
# undef MV_KEYS
#endif /* NO_OPTION_NAME_WARNINGS */
-/*
+/**
* Interface defines for specific options.
+ * @{
*/
-#ifdef OPENSSL
+#define VALUE_OPT_IMBITS 'b'
+#ifdef AUTOKEY
+#define OPT_VALUE_IMBITS (DESC(IMBITS).optArg.argInt)
+#endif /* AUTOKEY */
#define VALUE_OPT_CERTIFICATE 'c'
-#endif /* OPENSSL */
-#ifdef DEBUG
+#define VALUE_OPT_CIPHER 'C'
#define VALUE_OPT_DEBUG_LEVEL 'd'
-#endif /* DEBUG */
-#ifdef DEBUG
#define VALUE_OPT_SET_DEBUG_LEVEL 'D'
-#endif /* DEBUG */
-#ifdef OPENSSL
+
+#define OPT_VALUE_SET_DEBUG_LEVEL (DESC(SET_DEBUG_LEVEL).optArg.argInt)
#define VALUE_OPT_ID_KEY 'e'
-#endif /* OPENSSL */
-#ifdef OPENSSL
#define VALUE_OPT_GQ_PARAMS 'G'
-#endif /* OPENSSL */
-#ifdef OPENSSL
-#define VALUE_OPT_GQ_KEYS 'g'
-#endif /* OPENSSL */
-#ifdef OPENSSL
#define VALUE_OPT_HOST_KEY 'H'
-#endif /* OPENSSL */
-#ifdef OPENSSL
#define VALUE_OPT_IFFKEY 'I'
-#endif /* OPENSSL */
-#ifdef OPENSSL
-#define VALUE_OPT_ISSUER_NAME 'i'
-#endif /* OPENSSL */
+#define VALUE_OPT_IDENT 'i'
+#define VALUE_OPT_LIFETIME 'l'
+#ifdef AUTOKEY
+#define OPT_VALUE_LIFETIME (DESC(LIFETIME).optArg.argInt)
+#endif /* AUTOKEY */
#define VALUE_OPT_MD5KEY 'M'
-#ifdef OPENSSL
#define VALUE_OPT_MODULUS 'm'
+#ifdef AUTOKEY
#define OPT_VALUE_MODULUS (DESC(MODULUS).optArg.argInt)
-#endif /* OPENSSL */
-#ifdef OPENSSL
+#endif /* AUTOKEY */
#define VALUE_OPT_PVT_CERT 'P'
-#endif /* OPENSSL */
-#ifdef OPENSSL
-#define VALUE_OPT_PVT_PASSWD 'p'
-#endif /* OPENSSL */
-#ifdef OPENSSL
-#define VALUE_OPT_GET_PVT_PASSWD 'q'
-#endif /* OPENSSL */
-#ifdef OPENSSL
+#define VALUE_OPT_PASSWORD 'p'
+#define VALUE_OPT_EXPORT_PASSWD 'q'
#define VALUE_OPT_SIGN_KEY 'S'
-#endif /* OPENSSL */
-#ifdef OPENSSL
#define VALUE_OPT_SUBJECT_NAME 's'
-#endif /* OPENSSL */
-#ifdef OPENSSL
#define VALUE_OPT_TRUSTED_CERT 'T'
-#endif /* OPENSSL */
-#ifdef OPENSSL
#define VALUE_OPT_MV_PARAMS 'V'
+#ifdef AUTOKEY
#define OPT_VALUE_MV_PARAMS (DESC(MV_PARAMS).optArg.argInt)
-#endif /* OPENSSL */
-#ifdef OPENSSL
+#endif /* AUTOKEY */
#define VALUE_OPT_MV_KEYS 'v'
+#ifdef AUTOKEY
#define OPT_VALUE_MV_KEYS (DESC(MV_KEYS).optArg.argInt)
-#endif /* OPENSSL */
-
-#define VALUE_OPT_VERSION 'v'
+#endif /* AUTOKEY */
+/** option flag (value) for help-value option */
#define VALUE_OPT_HELP '?'
+/** option flag (value) for more-help-value option */
#define VALUE_OPT_MORE_HELP '!'
+/** option flag (value) for version-value option */
+#define VALUE_OPT_VERSION 0x1001
+/** option flag (value) for save-opts-value option */
#define VALUE_OPT_SAVE_OPTS '>'
+/** option flag (value) for load-opts-value option */
#define VALUE_OPT_LOAD_OPTS '<'
#define SET_OPT_SAVE_OPTS(a) STMTS( \
DESC(SAVE_OPTS).fOptState &= OPTST_PERSISTENT_MASK; \
DESC(SAVE_OPTS).fOptState |= OPTST_SET; \
- DESC(SAVE_OPTS).optArg.argString = (char const*)(a) )
+ DESC(SAVE_OPTS).optArg.argString = (char const*)(a))
/*
* Interface defines not associated with particular options
*/
-#define ERRSKIP_OPTERR STMTS( ntp_keygenOptions.fOptSet &= ~OPTPROC_ERRSTOP )
-#define ERRSTOP_OPTERR STMTS( ntp_keygenOptions.fOptSet |= OPTPROC_ERRSTOP )
+#define ERRSKIP_OPTERR STMTS(ntp_keygenOptions.fOptSet &= ~OPTPROC_ERRSTOP)
+#define ERRSTOP_OPTERR STMTS(ntp_keygenOptions.fOptSet |= OPTPROC_ERRSTOP)
#define RESTART_OPT(n) STMTS( \
ntp_keygenOptions.curOptIdx = (n); \
ntp_keygenOptions.pzCurOpt = NULL )
#define START_OPT RESTART_OPT(1)
-#define USAGE(c) (*ntp_keygenOptions.pUsageProc)( &ntp_keygenOptions, c )
-/* extracted from /usr/local/gnu/autogen-5.9.1/share/autogen/opthead.tpl near line 360 */
+#define USAGE(c) (*ntp_keygenOptions.pUsageProc)(&ntp_keygenOptions, c)
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
/* * * * * *
*
* Declare the ntp-keygen option descriptor.
*/
-#ifdef __cplusplus
-extern "C" {
-#endif
+extern tOptions ntp_keygenOptions;
-extern tOptions ntp_keygenOptions;
+#if defined(ENABLE_NLS)
+# ifndef _
+# include <stdio.h>
+# ifndef HAVE_GETTEXT
+ extern char * gettext(char const *);
+# else
+# include <libintl.h>
+# endif
-#ifndef _
-# if ENABLE_NLS
-# include <stdio.h>
- static inline char* aoGetsText( char const* pz ) {
- if (pz == NULL) return NULL;
- return (char*)gettext( pz );
- }
-# define _(s) aoGetsText(s)
-# else /* ENABLE_NLS */
-# define _(s) s
-# endif /* ENABLE_NLS */
-#endif
+# ifndef ATTRIBUTE_FORMAT_ARG
+# define ATTRIBUTE_FORMAT_ARG(_a)
+# endif
+
+static inline char* aoGetsText(char const* pz) ATTRIBUTE_FORMAT_ARG(1);
+static inline char* aoGetsText(char const* pz) {
+ if (pz == NULL) return NULL;
+ return (char*)gettext(pz);
+}
+# define _(s) aoGetsText(s)
+# endif /* _() */
+
+# define OPT_NO_XLAT_CFG_NAMES STMTS(ntp_keygenOptions.fOptSet |= \
+ OPTPROC_NXLAT_OPT_CFG;)
+# define OPT_NO_XLAT_OPT_NAMES STMTS(ntp_keygenOptions.fOptSet |= \
+ OPTPROC_NXLAT_OPT|OPTPROC_NXLAT_OPT_CFG;)
+
+# define OPT_XLAT_CFG_NAMES STMTS(ntp_keygenOptions.fOptSet &= \
+ ~(OPTPROC_NXLAT_OPT|OPTPROC_NXLAT_OPT_CFG);)
+# define OPT_XLAT_OPT_NAMES STMTS(ntp_keygenOptions.fOptSet &= \
+ ~OPTPROC_NXLAT_OPT;)
+
+#else /* ENABLE_NLS */
+# define OPT_NO_XLAT_CFG_NAMES
+# define OPT_NO_XLAT_OPT_NAMES
+
+# define OPT_XLAT_CFG_NAMES
+# define OPT_XLAT_OPT_NAMES
+
+# ifndef _
+# define _(_s) _s
+# endif
+#endif /* ENABLE_NLS */
#ifdef __cplusplus
}
#endif
#endif /* AUTOOPTS_NTP_KEYGEN_OPTS_H_GUARD */
+
/* ntp-keygen-opts.h ends here */
OpenPOWER on IntegriCloud