1*4d3fc8b0SEd Maste /* $OpenBSD: dns.h,v 1.20 2023/02/10 04:56:30 djm Exp $ */ 2d95e11bfSDag-Erling Smørgrav 3d95e11bfSDag-Erling Smørgrav /* 4d95e11bfSDag-Erling Smørgrav * Copyright (c) 2003 Wesley Griffin. All rights reserved. 5d95e11bfSDag-Erling Smørgrav * Copyright (c) 2003 Jakob Schlyter. All rights reserved. 6d95e11bfSDag-Erling Smørgrav * 7d95e11bfSDag-Erling Smørgrav * Redistribution and use in source and binary forms, with or without 8d95e11bfSDag-Erling Smørgrav * modification, are permitted provided that the following conditions 9d95e11bfSDag-Erling Smørgrav * are met: 10d95e11bfSDag-Erling Smørgrav * 1. Redistributions of source code must retain the above copyright 11d95e11bfSDag-Erling Smørgrav * notice, this list of conditions and the following disclaimer. 12d95e11bfSDag-Erling Smørgrav * 2. Redistributions in binary form must reproduce the above copyright 13d95e11bfSDag-Erling Smørgrav * notice, this list of conditions and the following disclaimer in the 14d95e11bfSDag-Erling Smørgrav * documentation and/or other materials provided with the distribution. 15d95e11bfSDag-Erling Smørgrav * 16d95e11bfSDag-Erling Smørgrav * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR 17d95e11bfSDag-Erling Smørgrav * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 18d95e11bfSDag-Erling Smørgrav * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 19d95e11bfSDag-Erling Smørgrav * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, 20d95e11bfSDag-Erling Smørgrav * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 21d95e11bfSDag-Erling Smørgrav * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 22d95e11bfSDag-Erling Smørgrav * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 23d95e11bfSDag-Erling Smørgrav * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 24d95e11bfSDag-Erling Smørgrav * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 25d95e11bfSDag-Erling Smørgrav * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 26d95e11bfSDag-Erling Smørgrav */ 27d95e11bfSDag-Erling Smørgrav 28d95e11bfSDag-Erling Smørgrav #ifndef DNS_H 29d95e11bfSDag-Erling Smørgrav #define DNS_H 30d95e11bfSDag-Erling Smørgrav 31d95e11bfSDag-Erling Smørgrav enum sshfp_types { 32462c32cbSDag-Erling Smørgrav SSHFP_KEY_RESERVED = 0, 33462c32cbSDag-Erling Smørgrav SSHFP_KEY_RSA = 1, 34462c32cbSDag-Erling Smørgrav SSHFP_KEY_DSA = 2, 35a0ee8cc6SDag-Erling Smørgrav SSHFP_KEY_ECDSA = 3, 3647dd1d1bSDag-Erling Smørgrav SSHFP_KEY_ED25519 = 4, 3747dd1d1bSDag-Erling Smørgrav SSHFP_KEY_XMSS = 5 38d95e11bfSDag-Erling Smørgrav }; 39d95e11bfSDag-Erling Smørgrav 40d95e11bfSDag-Erling Smørgrav enum sshfp_hashes { 41462c32cbSDag-Erling Smørgrav SSHFP_HASH_RESERVED = 0, 42462c32cbSDag-Erling Smørgrav SSHFP_HASH_SHA1 = 1, 43462c32cbSDag-Erling Smørgrav SSHFP_HASH_SHA256 = 2, 44462c32cbSDag-Erling Smørgrav SSHFP_HASH_MAX = 3 45d95e11bfSDag-Erling Smørgrav }; 46d95e11bfSDag-Erling Smørgrav 47d95e11bfSDag-Erling Smørgrav #define DNS_RDATACLASS_IN 1 48d95e11bfSDag-Erling Smørgrav #define DNS_RDATATYPE_SSHFP 44 49d95e11bfSDag-Erling Smørgrav 50efcad6b7SDag-Erling Smørgrav #define DNS_VERIFY_FOUND 0x00000001 51efcad6b7SDag-Erling Smørgrav #define DNS_VERIFY_MATCH 0x00000002 52efcad6b7SDag-Erling Smørgrav #define DNS_VERIFY_SECURE 0x00000004 5319261079SEd Maste #define DNS_VERIFY_FAILED 0x00000008 54d95e11bfSDag-Erling Smørgrav 55bc5531deSDag-Erling Smørgrav int verify_host_key_dns(const char *, struct sockaddr *, 56bc5531deSDag-Erling Smørgrav struct sshkey *, int *); 57*4d3fc8b0SEd Maste int export_dns_rr(const char *, struct sshkey *, FILE *, int, int); 58d95e11bfSDag-Erling Smørgrav 59d95e11bfSDag-Erling Smørgrav #endif /* DNS_H */ 60