Home | Documentation |
httpda.c File Reference
updated Mon Apr 22 2024 by Robert van Engelen
|
#include "httpda.h"
Macros | |
#define | HTTP_DA_NONCELEN (21) |
#define | HTTP_DA_OPAQUELEN (9) |
Functions | |
static int | http_da_init (struct soap *soap, struct http_da_data *data, int *arg) |
static int | http_da_copy (struct soap *soap, struct soap_plugin *dst, struct soap_plugin *src) |
static void | http_da_delete (struct soap *soap, struct soap_plugin *p) |
static int | http_da_post_header (struct soap *soap, const char *key, const char *val) |
static int | http_da_parse (struct soap *soap) |
static int | http_da_parse_header (struct soap *soap, const char *key, const char *val) |
static int | http_da_prepareinitsend (struct soap *soap) |
static int | http_da_prepareinitrecv (struct soap *soap) |
static int | http_da_preparesend (struct soap *soap, const char *buf, size_t len) |
static int | http_da_preparerecv (struct soap *soap, const char *buf, size_t len) |
static int | http_da_preparefinalrecv (struct soap *soap) |
static void | http_da_session_start (const char *realm, const char *nonce, const char *opaque) |
static int | http_da_session_update (const char *realm, const char *nonce, const char *opaque, const char *cnonce, const char *ncount) |
static void | http_da_session_cleanup () |
static void | http_da_calc_nonce (struct soap *soap, char nonce[HTTP_DA_NONCELEN]) |
static void | http_da_calc_opaque (struct soap *soap, char opaque[HTTP_DA_OPAQUELEN]) |
static int | http_da_calc_HA1 (struct soap *soap, struct soap_smd_data *smd_data, const char *alg, const char *userid, const char *realm, const char *passwd, const char *nonce, const char *cnonce, char HA1hex[65]) |
static int | http_da_calc_response (struct soap *soap, struct soap_smd_data *smd_data, const char *alg, char HA1hex[65], const char *nonce, const char *ncount, const char *cnonce, const char *qop, const char *method, const char *uri, char entityHAhex[65], char response[65], char responseHA[32]) |
SOAP_FMAC1 int SOAP_FMAC2 | http_da (struct soap *soap, struct soap_plugin *p, void *arg) |
SOAP_FMAC1 void *SOAP_FMAC2 | http_da_md5 () |
Use soap_register_plugin_arg(soap, http_da, http_da_md5()) for MD5 server-side challenge algorithm (not recommended). More... | |
SOAP_FMAC1 void *SOAP_FMAC2 | http_da_md5_sess () |
Use soap_register_plugin_arg(soap, http_da, http_da_md5_sess()) for MD5-sess server-side challenge algorithm (not recommended). More... | |
SOAP_FMAC1 void *SOAP_FMAC2 | http_da_sha256 () |
Use soap_register_plugin_arg(soap, http_da, http_da_sha256()) for MD5 server-side challenge algorithm (recommended). More... | |
SOAP_FMAC1 void *SOAP_FMAC2 | http_da_sha256_sess () |
Use soap_register_plugin_arg(soap, http_da, http_da_sha256_sess()) for MD5-sess server-side challenge algorithm (recommended). More... | |
SOAP_FMAC1 void *SOAP_FMAC2 | http_da_sha512_256 () |
Use soap_register_plugin_arg(soap, http_da, http_da_sha512_256()) for MD5 server-side challenge algorithm (not yet supported). More... | |
SOAP_FMAC1 void *SOAP_FMAC2 | http_da_sha512_256_sess () |
Use soap_register_plugin_arg(soap, http_da, http_da_sha512_256_sess()) for MD5-sess server-side challenge algorithm (not yet supported). More... | |
SOAP_FMAC1 void SOAP_FMAC2 | http_da_save (struct soap *soap, struct http_da_info *info, const char *realm, const char *userid, const char *passwd) |
Saves the credentials to the digest store to use repeatedly for authentication. More... | |
SOAP_FMAC1 void SOAP_FMAC2 | http_da_proxy_save (struct soap *soap, struct http_da_info *info, const char *realm, const char *userid, const char *passwd) |
Saves the credentials to the digest store to use repeatedly for proxy authentication. More... | |
SOAP_FMAC1 void SOAP_FMAC2 | http_da_restore (struct soap *soap, struct http_da_info *info) |
Retrieves the credentials from the digest store to use for authentication. More... | |
SOAP_FMAC1 void SOAP_FMAC2 | http_da_proxy_restore (struct soap *soap, struct http_da_info *info) |
Retrieves the credentials from the digest store to use for proxy authentication. More... | |
SOAP_FMAC1 void SOAP_FMAC2 | http_da_release (struct soap *soap, struct http_da_info *info) |
Releases the digest store and frees memory. More... | |
SOAP_FMAC1 void SOAP_FMAC2 | http_da_proxy_release (struct soap *soap, struct http_da_info *info) |
Releases the digest store for proxy authentication and frees memory. More... | |
SOAP_FMAC1 int SOAP_FMAC2 | http_da_verify_post (struct soap *soap, const char *passwd) |
Verifies the password credentials at the server side when used in an HTTP POST service operation. More... | |
SOAP_FMAC1 int SOAP_FMAC2 | http_da_verify_get (struct soap *soap, const char *passwd) |
Verifies the password credentials at the server side when used in an HTTP GET service operation. More... | |
SOAP_FMAC1 int SOAP_FMAC2 | http_da_verify_put (struct soap *soap, const char *passwd) |
Verifies the password credentials at the server side when used in an HTTP PUT service operation. More... | |
SOAP_FMAC1 int SOAP_FMAC2 | http_da_verify_patch (struct soap *soap, const char *passwd) |
Verifies the password credentials at the server side when used in an HTTP PATCH service operation. More... | |
SOAP_FMAC1 int SOAP_FMAC2 | http_da_verify_del (struct soap *soap, const char *passwd) |
Verifies the password credentials at the server side when used in an HTTP DELETE service operation. More... | |
SOAP_FMAC1 int SOAP_FMAC2 | http_da_verify_method (struct soap *soap, const char *method, const char *passwd) |
Verifies the password credentials at the server side when used in the specified HTTP method. More... | |
Variables | |
const char | http_da_id [] = HTTP_DA_ID |
static struct http_da_session * | http_da_session = NULL |
static MUTEX_TYPE | http_da_session_lock = MUTEX_INITIALIZER |
#define HTTP_DA_NONCELEN (21) |
#define HTTP_DA_OPAQUELEN (9) |
SOAP_FMAC1 int SOAP_FMAC2 http_da | ( | struct soap * | soap, |
struct soap_plugin * | p, | ||
void * | arg | ||
) |
Plugin registry function, use with soap_register_plugin_arg(soap, http_da, ...)
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
SOAP_FMAC1 void* SOAP_FMAC2 http_da_md5 | ( | ) |
Use soap_register_plugin_arg(soap, http_da, http_da_md5()) for MD5 server-side challenge algorithm (not recommended).
Use MD5 for server-side configuration with soap_register_plugin_arg() not recommended
SOAP_FMAC1 void* SOAP_FMAC2 http_da_md5_sess | ( | ) |
Use soap_register_plugin_arg(soap, http_da, http_da_md5_sess()) for MD5-sess server-side challenge algorithm (not recommended).
Use MD5-sess for server-side configuration with soap_register_plugin_arg() not recommended
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
SOAP_FMAC1 void SOAP_FMAC2 http_da_proxy_release | ( | struct soap * | soap, |
struct http_da_info * | info | ||
) |
Releases the digest store for proxy authentication and frees memory.
soap | context |
info | a pointer to the digest store |
SOAP_FMAC1 void SOAP_FMAC2 http_da_proxy_restore | ( | struct soap * | soap, |
struct http_da_info * | info | ||
) |
Retrieves the credentials from the digest store to use for proxy authentication.
soap | context |
info | a pointer to the digest store |
SOAP_FMAC1 void SOAP_FMAC2 http_da_proxy_save | ( | struct soap * | soap, |
struct http_da_info * | info, | ||
const char * | realm, | ||
const char * | userid, | ||
const char * | passwd | ||
) |
Saves the credentials to the digest store to use repeatedly for proxy authentication.
soap | context |
info | a pointer to the digest store |
realm | string (e.g. use soap->authrealm) of the server |
userid | the user ID string |
passwd | the user password string |
SOAP_FMAC1 void SOAP_FMAC2 http_da_release | ( | struct soap * | soap, |
struct http_da_info * | info | ||
) |
Releases the digest store and frees memory.
soap | context |
info | a pointer to the digest store |
SOAP_FMAC1 void SOAP_FMAC2 http_da_restore | ( | struct soap * | soap, |
struct http_da_info * | info | ||
) |
Retrieves the credentials from the digest store to use for authentication.
soap | context |
info | a pointer to the digest store |
SOAP_FMAC1 void SOAP_FMAC2 http_da_save | ( | struct soap * | soap, |
struct http_da_info * | info, | ||
const char * | realm, | ||
const char * | userid, | ||
const char * | passwd | ||
) |
Saves the credentials to the digest store to use repeatedly for authentication.
soap | context |
info | a pointer to the digest store |
realm | string (e.g. use soap->authrealm) of the server |
userid | the user ID string |
passwd | the user password string |
|
static |
|
static |
|
static |
SOAP_FMAC1 void* SOAP_FMAC2 http_da_sha256 | ( | ) |
Use soap_register_plugin_arg(soap, http_da, http_da_sha256()) for MD5 server-side challenge algorithm (recommended).
Use SHA-256 for server-side configuration with soap_register_plugin_arg()
SOAP_FMAC1 void* SOAP_FMAC2 http_da_sha256_sess | ( | ) |
Use soap_register_plugin_arg(soap, http_da, http_da_sha256_sess()) for MD5-sess server-side challenge algorithm (recommended).
Use SHA-256-sess for server-side configuration with soap_register_plugin_arg()
SOAP_FMAC1 void* SOAP_FMAC2 http_da_sha512_256 | ( | ) |
Use soap_register_plugin_arg(soap, http_da, http_da_sha512_256()) for MD5 server-side challenge algorithm (not yet supported).
Use SHA-512-256 for server-side configuration with soap_register_plugin_arg()
SOAP_FMAC1 void* SOAP_FMAC2 http_da_sha512_256_sess | ( | ) |
Use soap_register_plugin_arg(soap, http_da, http_da_sha512_256_sess()) for MD5-sess server-side challenge algorithm (not yet supported).
Use SHA-512-256-sess for server-side configuration with soap_register_plugin_arg()
SOAP_FMAC1 int SOAP_FMAC2 http_da_verify_del | ( | struct soap * | soap, |
const char * | passwd | ||
) |
Verifies the password credentials at the server side when used in an HTTP DELETE service operation.
soap | context |
passwd | the user password string |
SOAP_FMAC1 int SOAP_FMAC2 http_da_verify_get | ( | struct soap * | soap, |
const char * | passwd | ||
) |
Verifies the password credentials at the server side when used in an HTTP GET service operation.
soap | context |
passwd | the user password string |
SOAP_FMAC1 int SOAP_FMAC2 http_da_verify_method | ( | struct soap * | soap, |
const char * | method, | ||
const char * | passwd | ||
) |
Verifies the password credentials at the server side when used in the specified HTTP method.
soap | context |
method | the HTTP method, e.g. "POST", "GET", "PUT", "DELETE", "PATCH", "HEAD", "OPTIONS" |
passwd | the user password string |
SOAP_FMAC1 int SOAP_FMAC2 http_da_verify_patch | ( | struct soap * | soap, |
const char * | passwd | ||
) |
Verifies the password credentials at the server side when used in an HTTP PATCH service operation.
soap | context |
passwd | the user password string |
SOAP_FMAC1 int SOAP_FMAC2 http_da_verify_post | ( | struct soap * | soap, |
const char * | passwd | ||
) |
Verifies the password credentials at the server side when used in an HTTP POST service operation.
soap | context |
passwd | the user password string |
SOAP_FMAC1 int SOAP_FMAC2 http_da_verify_put | ( | struct soap * | soap, |
const char * | passwd | ||
) |
Verifies the password credentials at the server side when used in an HTTP PUT service operation.
soap | context |
passwd | the user password string |
const char http_da_id[] = HTTP_DA_ID |
plugin identification for plugin registry
|
static |
HTTP DA session database
|
static |
HTTP DA session database lock