libmicrohttpd

HTTP/1.x server C library (MHD 1.x, stable)
Log | Files | Refs | Submodules | README | LICENSE

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 */