digestauth.h (2298B)
1 /* 2 This file is part of libmicrohttpd 3 Copyright (C) 2010, 2011, 2012, 2015, 2018 Daniel Pittman and Christian Grothoff 4 Copyright (C) 2014-2022 Evgeny Grin (Karlson2k) 5 6 This library is free software; you can redistribute it and/or 7 modify it under the terms of the GNU Lesser General Public 8 License as published by the Free Software Foundation; either 9 version 2.1 of the License, or (at your option) any later version. 10 11 This library is distributed in the hope that it will be useful, 12 but WITHOUT ANY WARRANTY; without even the implied warranty of 13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 Lesser General Public License for more details. 15 16 You should have received a copy of the GNU Lesser General Public 17 License along with this library; if not, write to the Free Software 18 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 19 */ 20 /** 21 * @file digestauth.c 22 * @brief Implements HTTP digest authentication 23 * @author Amr Ali 24 * @author Matthieu Speder 25 * @author Christian Grothoff (RFC 7616 support) 26 * @author Karlson2k (Evgeny Grin) 27 */ 28 29 #ifndef MHD_DIGESTAUTH_H 30 #define MHD_DIGESTAUTH_H 1 31 32 #include "mhd_options.h" 33 #include "mhd_str.h" 34 #ifdef HAVE_STDBOOL_H 35 #include <stdbool.h> 36 #endif /* HAVE_STDBOOL_H */ 37 38 39 /** 40 * The maximum supported size for Digest Auth parameters, like "real", 41 * "username" etc. This limitation is used only for quoted parameters. 42 * Parameters without quoted backslash character will be processed as long 43 * as they fit connection pool (buffer) size. 44 */ 45 #define _MHD_AUTH_DIGEST_MAX_PARAM_SIZE (65535) 46 47 /** 48 * Beginning string for any valid Digest Authentication header. 49 */ 50 #define _MHD_AUTH_DIGEST_BASE "Digest" 51 52 /** 53 * The token for MD5 algorithm. 54 */ 55 #define _MHD_MD5_TOKEN "MD5" 56 57 /** 58 * The token for SHA-256 algorithm. 59 */ 60 #define _MHD_SHA256_TOKEN "SHA-256" 61 62 /** 63 * The token for SHA-512/256 algorithm. 64 */ 65 #define _MHD_SHA512_256_TOKEN "SHA-512-256" 66 67 /** 68 * The suffix token for "session" algorithms. 69 */ 70 #define _MHD_SESS_TOKEN "-sess" 71 72 /** 73 * The "auth" token for QOP 74 */ 75 #define MHD_TOKEN_AUTH_ "auth" 76 77 /** 78 * The "auth-int" token for QOP 79 */ 80 #define MHD_TOKEN_AUTH_INT_ "auth-int" 81 82 #endif /* ! MHD_DIGESTAUTH_H */ 83 84 /* end of digestauth.h */