18#ifndef _das_credmngr_h_
19#define _das_credmngr_h_
51 const char* sServer,
const char* sRealm,
const char* sDataset,
52 const char* sMessage,
char* sUser,
char* sPassword
55#define DASCRED_SRV_SZ 128
56#define DASCRED_REALM_SZ 128
57#define DASCRED_DSET_SZ 128
58#define DASCRED_HASH_SZ 256
61typedef struct das_credential_t{
63 char sServer[DASCRED_SRV_SZ];
64 char sRealm[DASCRED_REALM_SZ];
65 char sDataset[DASCRED_DSET_SZ];
66 char sHash[DASCRED_HASH_SZ];
93 const char* sDataset,
const char* sHash
96#define DASCMGR_FILE_SZ 128
97#define DASCMGR_MSG_SZ 1024
103typedef struct das_credmngr{
106 char sKeyFile[DASCMGR_FILE_SZ];
107 char sLastAuthMsg[DASCMGR_MSG_SZ];
163 DasCredMngr* pThis,
const char* sServer,
const char* sRealm,
164 const char* sDataset,
bool bValidOnly
186 DasCredMngr* pThis,
const char* sServer,
const char* sRealm,
187 const char* sDataset,
const char* sUser,
const char* sPass
204 DasCredMngr* pThis,
const char* sServer,
const char* sRealm,
const char* sDataset
222 DasCredMngr* pThis,
const char* sServer,
const char* sRealm,
223 const char* sDataset,
const char* sMsg
A dynamic buffer with multi-dimensional array style access.
DAS_API int CredMngr_addUserPass(DasCredMngr *pThis, const char *sServer, const char *sRealm, const char *sDataset, const char *sUser, const char *sPass)
Manually add a credential to a credentials manager instead of prompting the user.
DAS_API int CredMngr_addCred(DasCredMngr *pThis, const das_credential *pCred)
Manually add a credential to a credentials manager instead of prompting the user.
DAS_API das_credential * CredMngr_getCred(DasCredMngr *pThis, const char *sServer, const char *sRealm, const char *sDataset, bool bValidOnly)
Get direct memory access to a stored credential.
DAS_API bool das_cred_init(das_credential *pCred, const char *sServer, const char *sRealm, const char *sDataset, const char *sHash)
Initialize a credential to be cached in the credentials manager.
bool(* das_prompt)(const char *sServer, const char *sRealm, const char *sDataset, const char *sMessage, char *sUser, char *sPassword)
Function signature for swapping out the user-prompt for credentials acquisition.
Definition credentials.h:50
Dynamic recursive ragged arrays.
Definition array.h:271
Credentials manager Handles a list of login credentials and supplies these as needed for network oper...
Definition credentials.h:103
DAS_API void del_CredMngr(DasCredMngr *pThis)
Delete a credentials manager free'ing it's internal credential store.
DAS_API const char * CredMngr_getHttpAuth(DasCredMngr *pThis, const char *sServer, const char *sRealm, const char *sDataset)
Retrieve an HTTP basic authentication token for a given dataset on a given server.
DAS_API void CredMngr_authFailed(DasCredMngr *pThis, const char *sServer, const char *sRealm, const char *sDataset, const char *sMsg)
Let the credentials manager know that a particular authorization method failed.
DAS_API int CredMngr_load(DasCredMngr *pThis, const char *sSymKey, const char *sFile)
Merge in credentials from the given filename.
DAS_API int CredMngr_save(DasCredMngr *pThis, const char *sSymKey, const char *sFile)
Save the current credentials to the given filename.
DAS_API DasCredMngr * new_CredMngr(const char *sKeyStore)
Initialize a new credentials manager, optionally from a saved list.
DAS_API das_prompt CredMngr_setPrompt(DasCredMngr *pThis, das_prompt new_prompt)
Change the function used to prompt users for das2 server credentials.
A single credential.
Definition credentials.h:61