Barracuda Application Server C/C++ Reference
Native APIs, integration guides, and platform interfaces
DavAuth.h
Go to the documentation of this file.
1/*
2 * ____ _________ __ _
3 * / __ \___ ____ _/ /_ __(_)___ ___ ___ / / ____ ____ _(_)____
4 * / /_/ / _ \/ __ `/ / / / / / __ `__ \/ _ \/ / / __ \/ __ `/ / ___/
5 * / _, _/ __/ /_/ / / / / / / / / / / / __/ /___/ /_/ / /_/ / / /__
6 * /_/ |_|\___/\__,_/_/ /_/ /_/_/ /_/ /_/\___/_____/\____/\__, /_/\___/
7 * /____/
8 *
9 * Barracuda Embedded Web-Server
10 ****************************************************************************
11 * HEADER
12 *
13 * $Id: DavAuth.h 5978 2026-09-11 16:13:48Z wini $
14 *
15 * COPYRIGHT: Real Time Logic, 2006
16 *
17 * This software is copyrighted by and is the sole property of Real
18 * Time Logic LLC. All rights, title, ownership, or other interests in
19 * the software remain the property of Real Time Logic LLC. This
20 * software may only be used in accordance with the terms and
21 * conditions stipulated in the corresponding license agreement under
22 * which the software has been supplied. Any unauthorized use,
23 * duplication, transmission, distribution, or disclosure of this
24 * software is expressly forbidden.
25 *
26 * This Copyright notice may not be removed or modified without prior
27 * written consent of Real Time Logic LLC.
28 *
29 * Real Time Logic LLC. reserves the right to modify this software
30 * without notice.
31 *
32 * http://www.realtimelogic.com
33 ****************************************************************************
34 *
35 */
36
39#ifndef __DavAuth_h
40#define __DavAuth_h
41
42#include "BasicAuthenticator.h"
43#include "DigestAuthenticator.h"
44
45
61typedef struct DavAuth
62#ifdef __cplusplus
63 : public AuthenticatorIntf
64{
76 DavAuth(UserIntf* userDbIntf, const char* realm);
77
83
89
96 void setLoginTracker(LoginTracker* tracker);
97#else
98 {
99 AuthenticatorIntf superClass; /*as if inherited*/
100#endif
101 LoginRespIntf sendLogin;
102 BasicAuthenticator basicAuth;
103 DigestAuthenticator digestAuth;
105
106
107#ifdef __cplusplus
108extern "C" {
109#endif
116 UserIntf* userDbIntf,
117 const char* realm);
118
126#define DavAuth_getBasicAuth(o) (&(o)->basicAuth)
130#define DavAuth_getDigestAuth(o) (&(o)->digestAuth)
135#define DavAuth_setLoginTracker(o, loginTracker) do{\
136 BasicAuthenticator_setLoginTracker(&(o)->basicAuth, loginTracker);\
137 DigestAuthenticator_setLoginTracker(&(o)->digestAuth, loginTracker);\
138 }while(0)
139#ifdef __cplusplus
140}
141inline DavAuth::DavAuth(UserIntf* userDbIntf,const char* realm) {
142 DavAuth_constructor(this, userDbIntf, realm);
143}
145 return DavAuth_getBasicAuth(this);
146}
148 return DavAuth_getDigestAuth(this);
149}
151 DavAuth_setLoginTracker(this, tracker);
152}
153#endif
154 /* end of Authentication */
156
157
158#endif
BA_API void DavAuth_destructor(DavAuth *o)
Release authenticator-owned realm storage after detaching all users.
DigestAuthenticator * getDigestAuth()
Access the embedded Digest authenticator.
Definition: DavAuth.h:147
BasicAuthenticator * getBasicAuth()
Access the embedded Basic authenticator.
Definition: DavAuth.h:144
BA_API void DavAuth_constructor(DavAuth *o, UserIntf *userDbIntf, const char *realm)
C form of DavAuth::DavAuth.
#define DavAuth_setLoginTracker(o, loginTracker)
C form of DavAuth::setLoginTracker.
Definition: DavAuth.h:135
DavAuth(UserIntf *userDbIntf, const char *realm)
Construct an authenticator using application-provided user lookup.
Definition: DavAuth.h:141
#define DavAuth_getBasicAuth(o)
Access the embedded Basic authenticator.
Definition: DavAuth.h:126
void setLoginTracker(LoginTracker *tracker)
Configure login-attempt tracking.
Definition: DavAuth.h:150
#define DavAuth_getDigestAuth(o)
Access the embedded Digest authenticator.
Definition: DavAuth.h:130
Abstract interface class implemented by DigestAuthenticator, FormAuthenticator and BasicAuthenticator...
Definition: AuthenticatedUser.h:425
Implements HTTP Basic authentication.
Definition: BasicAuthenticator.h:56
This class implements HTTP Basic and HTTP Digest authentication.
Definition: DavAuth.h:64
Implements HTTP Digest authentication.
Definition: DigestAuthenticator.h:57
The LoginRespIntf is an abstract class, which must be implemented when using one of DigestAuthenticat...
Definition: AuthenticatedUser.h:504
The LoginTracker class is an optional security enhancement that can be installed in an instance of on...
Definition: AuthenticatedUser.h:891
User database interface used by the authentication classes.
Definition: AuthenticatedUser.h:195