"Fossies" - the Fresh Open Source Software Archive

Member "bind-9.11.23/lib/dns/include/dns/keyvalues.h" (7 Sep 2020, 4158 Bytes) of package /linux/misc/dns/bind9/9.11.23/bind-9.11.23.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 "keyvalues.h" see the Fossies "Dox" file reference documentation.

    1 /*
    2  * Copyright (C) Internet Systems Consortium, Inc. ("ISC")
    3  *
    4  * This Source Code Form is subject to the terms of the Mozilla Public
    5  * License, v. 2.0. If a copy of the MPL was not distributed with this
    6  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
    7  *
    8  * See the COPYRIGHT file distributed with this work for additional
    9  * information regarding copyright ownership.
   10  */
   11 
   12 
   13 #ifndef DNS_KEYVALUES_H
   14 #define DNS_KEYVALUES_H 1
   15 
   16 /*! \file dns/keyvalues.h */
   17 
   18 /*
   19  * Flags field of the KEY RR rdata
   20  */
   21 #define DNS_KEYFLAG_TYPEMASK    0xC000  /*%< Mask for "type" bits */
   22 #define DNS_KEYTYPE_AUTHCONF    0x0000  /*%< Key usable for both */
   23 #define DNS_KEYTYPE_CONFONLY    0x8000  /*%< Key usable for confidentiality */
   24 #define DNS_KEYTYPE_AUTHONLY    0x4000  /*%< Key usable for authentication */
   25 #define DNS_KEYTYPE_NOKEY   0xC000  /*%< No key usable for either; no key */
   26 #define DNS_KEYTYPE_NOAUTH  DNS_KEYTYPE_CONFONLY
   27 #define DNS_KEYTYPE_NOCONF  DNS_KEYTYPE_AUTHONLY
   28 
   29 #define DNS_KEYFLAG_RESERVED2   0x2000  /*%< reserved - must be zero */
   30 #define DNS_KEYFLAG_EXTENDED    0x1000  /*%< key has extended flags */
   31 #define DNS_KEYFLAG_RESERVED4   0x0800  /*%< reserved - must be zero */
   32 #define DNS_KEYFLAG_RESERVED5   0x0400  /*%< reserved - must be zero */
   33 #define DNS_KEYFLAG_OWNERMASK   0x0300  /*%< these bits determine the type */
   34 #define DNS_KEYOWNER_USER   0x0000  /*%< key is assoc. with user */
   35 #define DNS_KEYOWNER_ENTITY 0x0200  /*%< key is assoc. with entity eg host */
   36 #define DNS_KEYOWNER_ZONE   0x0100  /*%< key is zone key */
   37 #define DNS_KEYOWNER_RESERVED   0x0300  /*%< reserved meaning */
   38 #define DNS_KEYFLAG_REVOKE  0x0080  /*%< key revoked (per rfc5011) */
   39 #define DNS_KEYFLAG_RESERVED9   0x0040  /*%< reserved - must be zero */
   40 #define DNS_KEYFLAG_RESERVED10  0x0020  /*%< reserved - must be zero */
   41 #define DNS_KEYFLAG_RESERVED11  0x0010  /*%< reserved - must be zero */
   42 #define DNS_KEYFLAG_SIGNATORYMASK 0x000F /*%< key can sign RR's of same name */
   43 
   44 #define DNS_KEYFLAG_RESERVEDMASK (DNS_KEYFLAG_RESERVED2 | \
   45                   DNS_KEYFLAG_RESERVED4 | \
   46                   DNS_KEYFLAG_RESERVED5 | \
   47                   DNS_KEYFLAG_RESERVED9 | \
   48                   DNS_KEYFLAG_RESERVED10 | \
   49                   DNS_KEYFLAG_RESERVED11 )
   50 #define DNS_KEYFLAG_KSK     0x0001  /*%< key signing key */
   51 
   52 #define DNS_KEYFLAG_RESERVEDMASK2 0xFFFF    /*%< no bits defined here */
   53 
   54 /* The Algorithm field of the KEY and SIG RR's is an integer, {1..254} */
   55 #define DNS_KEYALG_RSAMD5   1       /*%< RSA with MD5 */
   56 #define DNS_KEYALG_RSA      DNS_KEYALG_RSAMD5
   57 #define DNS_KEYALG_DH       2       /*%< Diffie Hellman KEY */
   58 #define DNS_KEYALG_DSA      3       /*%< DSA KEY */
   59 #define DNS_KEYALG_NSEC3DSA 6
   60 #define DNS_KEYALG_DSS      DNS_ALG_DSA
   61 #define DNS_KEYALG_ECC      4
   62 #define DNS_KEYALG_RSASHA1  5
   63 #define DNS_KEYALG_NSEC3RSASHA1 7
   64 #define DNS_KEYALG_RSASHA256    8
   65 #define DNS_KEYALG_RSASHA512    10
   66 #define DNS_KEYALG_ECCGOST  12
   67 #define DNS_KEYALG_ECDSA256 13
   68 #define DNS_KEYALG_ECDSA384 14
   69 #define DNS_KEYALG_ED25519  15
   70 #define DNS_KEYALG_ED448    16
   71 #define DNS_KEYALG_INDIRECT 252
   72 #define DNS_KEYALG_PRIVATEDNS   253
   73 #define DNS_KEYALG_PRIVATEOID   254     /*%< Key begins with OID giving alg */
   74 
   75 /* Protocol values  */
   76 #define DNS_KEYPROTO_RESERVED   0
   77 #define DNS_KEYPROTO_TLS    1
   78 #define DNS_KEYPROTO_EMAIL  2
   79 #define DNS_KEYPROTO_DNSSEC 3
   80 #define DNS_KEYPROTO_IPSEC  4
   81 #define DNS_KEYPROTO_ANY    255
   82 
   83 /* Signatures */
   84 #define DNS_SIG_RSAMINBITS  512 /*%< Size of a mod or exp in bits */
   85 #define DNS_SIG_RSAMAXBITS  2552
   86     /* Total of binary mod and exp */
   87 #define DNS_SIG_RSAMAXBYTES ((DNS_SIG_RSAMAXBITS+7/8)*2+3)
   88     /*%< Max length of text sig block */
   89 #define DNS_SIG_RSAMAXBASE64    (((DNS_SIG_RSAMAXBYTES+2)/3)*4)
   90 #define DNS_SIG_RSAMINSIZE  ((DNS_SIG_RSAMINBITS+7)/8)
   91 #define DNS_SIG_RSAMAXSIZE  ((DNS_SIG_RSAMAXBITS+7)/8)
   92 
   93 #define DNS_SIG_DSASIGSIZE  41
   94 #define DNS_SIG_DSAMINBITS  512
   95 #define DNS_SIG_DSAMAXBITS  1024
   96 #define DNS_SIG_DSAMINBYTES 213
   97 #define DNS_SIG_DSAMAXBYTES 405
   98 
   99 #define DNS_SIG_GOSTSIGSIZE 64
  100 
  101 #define DNS_SIG_ECDSA256SIZE    64
  102 #define DNS_SIG_ECDSA384SIZE    96
  103 
  104 #define DNS_KEY_ECDSA256SIZE    64
  105 #define DNS_KEY_ECDSA384SIZE    96
  106 
  107 #define DNS_SIG_ED25519SIZE 64
  108 #define DNS_SIG_ED448SIZE   114
  109 
  110 #define DNS_KEY_ED25519SIZE 32
  111 #define DNS_KEY_ED448SIZE   57
  112 
  113 #endif /* DNS_KEYVALUES_H */