davix
Data Structures | Typedefs
davixauth.hpp File Reference

Authentication support for davix support for client cert x509, login password, S3 tokens. More...

#include <string>
#include <vector>
#include "../utils/davix_types.hpp"
#include "davixx509cred.hpp"

Data Structures

class  Davix::SessionInfo
 server related info More...
 

Typedefs

typedef int(* Davix::authCallbackClientCertX509) (void *userdata, const SessionInfo &info, X509Credential *cert, DavixError **err)
 
typedef int(* Davix::authCallbackLoginPasswordBasic) (void *userdata, const SessionInfo &info, std::string &login, std::string &password, int count, DavixError **err)
 

Detailed Description

Authentication support for davix support for client cert x509, login password, S3 tokens.

Typedef Documentation

◆ authCallbackClientCertX509

typedef int(* Davix::authCallbackClientCertX509) (void *userdata, const SessionInfo &info, X509Credential *cert, DavixError **err)

callback for advanced authentification with client cert X509

Parameters
userdata: user defined data
info: Session info, contains information about server requesting the certificate
cert: Client side credential to provide
err: error object to set if an error occures
Returns
MUST return 0 if credential if provided with success or != 0 if error occures

◆ authCallbackLoginPasswordBasic

typedef int(* Davix::authCallbackLoginPasswordBasic) (void *userdata, const SessionInfo &info, std::string &login, std::string &password, int count, DavixError **err)

callback for advanced authentification with client cert X509

Parameters
userdata: user defined data
info: Session info, contains information about server requesting the certificate
login: login to use
password: password to use
count: number of try
Returns
MUST return 0 if success, or !=0 if an error has occures
Davix::RequestFlag::RequestFlag
RequestFlag
Request flag.
Definition: httprequest.hpp:72
Davix::StatusCode::OK
@ OK
No Error report.
Definition: davixstatusrequest.hpp:56
Davix::StatusCode::FileNotFound
@ FileNotFound
File not found (ENOENT )
Definition: davixstatusrequest.hpp:110
Davix::GetRequest::GetRequest
GetRequest(Context &context, const Uri &uri, DavixError **err)
Construct a HttpRequest for GET a operation.
Davix::version
const DAVIX_EXPORT std::string & version()
Davix::DavIOVecInput::diov_offset
dav_off_t diov_offset
Definition: davix_file_types.hpp:52
Davix::StatInfo::mtime
time_t mtime
modification time
Definition: davix_file_types.hpp:117
Davix::DavFile::Iterator
Definition: davfile.hpp:62
Davix::StatInfo::atime
time_t atime
access time
Definition: davix_file_types.hpp:115
Davix::StatusCode::ParsingError
@ ParsingError
Generic Parsing Error.
Definition: davixstatusrequest.hpp:144
Davix::StatInfo::ctime
time_t ctime
creation time
Definition: davix_file_types.hpp:119
Davix::PutRequest
Http low level request configured for PUT operation.
Definition: httprequest.hpp:363
Davix::StatusCode::CredentialNotFound
@ CredentialNotFound
Impossible to find specified credential.
Definition: davixstatusrequest.hpp:104
Davix::StatusCode::InvalidHook
@ InvalidHook
Invalid Hook type.
Definition: davixstatusrequest.hpp:147
Davix::RequestFlag::SupportContinue100
@ SupportContinue100
Definition: httprequest.hpp:73
Davix::StatInfo::owner
uid_t owner
owner UID
Definition: davix_file_types.hpp:121
Davix::StatusCode::InvalidServerResponse
@ InvalidServerResponse
Server answer problem ( > 500 )
Definition: davixstatusrequest.hpp:125
Davix::StatusCode::Code
Code
Definition: davixstatusrequest.hpp:54
Davix::StatusCode::InvalidFileHandle
@ InvalidFileHandle
Invalid file descriptor.
Definition: davixstatusrequest.hpp:92
Davix::StatInfo::group
gid_t group
group UID
Definition: davix_file_types.hpp:123
Davix::PostRequest::PostRequest
PostRequest(Context &context, const Uri &uri, DavixError **err)
Construct a HttpRequest for POST a operation.
Davix::StatusCode::UriParsingError
@ UriParsingError
Error in the Webdav properties parsing.
Definition: davixstatusrequest.hpp:65
Davix::X509Credential
X509 certificate.
Definition: davixx509cred.hpp:46
davixstatusrequest.hpp
Error report system of davix.
Davix::DavIOVecInput
input parameters for vector operations in Davix
Definition: davix_file_types.hpp:50
Davix::StatusCode::FileExist
@ FileExist
File already exist ( EEXIST )
Definition: davixstatusrequest.hpp:119
Davix::Uri
Uri parser.
Definition: davix_uri.hpp:54
Davix::DavPosix
POSIX-like API of Davix.
Definition: davposix.hpp:62
Davix::StatusCode::OperationNonSupported
@ OperationNonSupported
this operation is not supported
Definition: davixstatusrequest.hpp:86
Davix::StatusCode::AlreadyRunning
@ AlreadyRunning
Request already running.
Definition: davixstatusrequest.hpp:95
davixx509cred.hpp
utilities for X509 credential
Davix::Context
Main handle for Davix.
Definition: davixcontext.hpp:55
Davix::StatusCode::CredDecryptionError
@ CredDecryptionError
Impossible to decrypt client credential for usage.
Definition: davixstatusrequest.hpp:131
Davix::authCallbackLoginPasswordBasic
int(* authCallbackLoginPasswordBasic)(void *userdata, const SessionInfo &info, std::string &login, std::string &password, int count, DavixError **err)
Definition: davixauth.hpp:92
Davix::StatusCode::TooManyRedirects
@ TooManyRedirects
Too many redirects.
Definition: davixstatusrequest.hpp:153
Davix::StatInfo
StatInfo struct.
Definition: davix_file_types.hpp:102
Davix::DeleteRequest
Http low level request configured for DELETE operation.
Definition: httprequest.hpp:407
Davix::DavIOVecInput::diov_buffer
void * diov_buffer
Definition: davix_file_types.hpp:51
davix_hooks.hpp
Hook (callback) functions of davix.
Davix::StatusCode::WebDavPropertiesParsingError
@ WebDavPropertiesParsingError
Error in the Webdav properties parsing.
Definition: davixstatusrequest.hpp:62
Davix::httpUriGetPort
unsigned int DAVIX_EXPORT httpUriGetPort(const Uri &uri)
Davix::RequestParams
Main container for Davix request options.
Definition: davixrequestparams.hpp:61
Davix::PropfindRequest
Webdav low level request configured for PROPFIND operation.
Definition: httprequest.hpp:422
davix_uri.hpp
URI utilities functions for davix.
Davix::StatusCode::Canceled
@ Canceled
Operation canceled.
Definition: davixstatusrequest.hpp:134
davfile.hpp
Davix::GetRequest
Http low level request configured for GET operation.
Definition: httprequest.hpp:349
Davix::DavixError
Davix Error Handler.
Definition: davixstatusrequest.hpp:178
Davix::StatusCode::IsADirectory
@ IsADirectory
This file is not a regular file but a directory ( EISDIR )
Definition: davixstatusrequest.hpp:113
davixrequestparams.hpp
C++ Davix configuration API.
Davix::SessionInfo
server related info
Definition: davixauth.hpp:49
Davix::StatInfo::fromPosixStat
void fromPosixStat(const struct stat &st)
struct converter from POSIX stat
Definition: davix_file_types.hpp:126
Davix::PostRequest
Http low level request configured for POST operation.
Definition: httprequest.hpp:377
Davix::StatusCode::ConnectionProblem
@ ConnectionProblem
Impossible to connect, host down or network problem.
Definition: davixstatusrequest.hpp:74
Davix::StatusCode::LoginPasswordError
@ LoginPasswordError
Wrong Login and/or Password.
Definition: davixstatusrequest.hpp:101
Davix::authCallbackClientCertX509
int(* authCallbackClientCertX509)(void *userdata, const SessionInfo &info, X509Credential *cert, DavixError **err)
Definition: davixauth.hpp:81
Davix::StatusCode::AuthenticationError
@ AuthenticationError
Authentication Error.
Definition: davixstatusrequest.hpp:98
Davix::StatusCode::RemoteError
@ RemoteError
Definition: davixstatusrequest.hpp:141
deprecated.hpp
Deprecated class / functions of Davix for ABI/ API compatibility.
Davix::StatusCode::DelegationError
@ DelegationError
Delegation error.
Definition: davixstatusrequest.hpp:137
Davix::StatusCode::ConnectionTimeout
@ ConnectionTimeout
Impossible to connect, host down or network problem.
Definition: davixstatusrequest.hpp:80
Davix::StatInfo::size
dav_size_t size
size in bytes of the resource
Definition: davix_file_types.hpp:107
Davix::DavIOVecOuput
result of vector operations in Davix
Definition: davix_file_types.hpp:58
Davix::QuotaInfo
QuotaInfo struct.
Definition: davix_file_types.hpp:84
Davix::DeleteRequest::DeleteRequest
DeleteRequest(Context &context, const Uri &uri, DavixError **err)
Construct a HttpRequest forfor a DELETE operation.
Davix::StatusCode::NameResolutionFailure
@ NameResolutionFailure
DNS resolution failure.
Definition: davixstatusrequest.hpp:71
Davix::StatusCode::PermissionRefused
@ PermissionRefused
Permission deny, Authorisation problem ( EACCESS, EPERM )
Definition: davixstatusrequest.hpp:107
davix_file_types.hpp
davix file related type declarations
davixauth.hpp
Authentication support for davix support for client cert x509, login password, S3 tokens.
davposix.hpp
POSIX-like API of davix.
Davix::StatusCode::TimeoutRedirectionError
@ TimeoutRedirectionError
Connection timeout during a redirection.
Definition: davixstatusrequest.hpp:150
Davix::StatusCode::UnknowError
@ UnknowError
Undefined error.
Definition: davixstatusrequest.hpp:159
Davix::HeadRequest::HeadRequest
HeadRequest(Context &context, const Uri &uri, DavixError **err)
Construct a HttpRequest for a HEAD operation.
httprequest.hpp
Http low level request interface.
davix_hooks_fwd.hpp
Hook definitions of davix.
Davix::gcloud::Credentials
Gcloud credentials.
Definition: davix_gcloud_utils.hpp:38
Davix::DavixException
Davix Exception class.
Definition: davixstatusrequest.hpp:297
Davix::DavIOVecOuput::diov_buffer
void * diov_buffer
Definition: davix_file_types.hpp:59
Davix::StatInfo::toPosixStat
struct stat & toPosixStat(struct stat &st)
struct converter to POSIX stat
Definition: davix_file_types.hpp:138
Davix::StatusCode::SSLError
@ SSLError
SSL/TLS layer Error.
Definition: davixstatusrequest.hpp:128
Davix::StatusCode::SessionCreationError
@ SessionCreationError
impossible to create a session
Definition: davixstatusrequest.hpp:68
Davix::StatusCode::IsNotADirectory
@ IsNotADirectory
Action impossible, is a directory or a collection.
Definition: davixstatusrequest.hpp:89
Davix::gcloud::CredentialProvider
Gcloud credential provider.
Definition: davix_gcloud_utils.hpp:66
Davix::StatusCode::InvalidArgument
@ InvalidArgument
Invalid argument from user ( EINVAL )
Definition: davixstatusrequest.hpp:122
Davix::uriCheckError
bool DAVIX_EXPORT uriCheckError(const Uri &uri, DavixError **err)
Davix::StatusCode::OperationTimeout
@ OperationTimeout
operation timeout
Definition: davixstatusrequest.hpp:83
Davix::StatusCode::RedirectionNeeded
@ RedirectionNeeded
redirection is needed manually
Definition: davixstatusrequest.hpp:77
NonCopyable
Simple NonCopyableProtector.
Definition: davix_nocopy.hpp:29
Davix::StatusCode::PartialDone
@ PartialDone
Request executed partially.
Definition: davixstatusrequest.hpp:59
Davix::StatusCode::InsufficientStorage
@ InsufficientStorage
Insufficient storage.
Definition: davixstatusrequest.hpp:156
Davix::StatInfo::nlink
dav_ssize_t nlink
Definition: davix_file_types.hpp:110
Davix::HeadRequest
Http low level request configured for HEAD operation.
Definition: httprequest.hpp:392
Davix::DavIOVecInput::diov_size
dav_size_t diov_size
Definition: davix_file_types.hpp:53
Davix::HttpRequest
Http low level request interface.
Definition: httprequest.hpp:86
Davix::HttpBodyProvider
dav_ssize_t(* HttpBodyProvider)(void *userdata, char *buffer, dav_size_t buflen)
Definition: httprequest.hpp:56
Davix::DavFile
Davix File Interface.
Definition: davfile.hpp:57
Davix::PutRequest::PutRequest
PutRequest(Context &context, const Uri &uri, DavixError **err)
Construct a HttpRequest for PUT a operation.
Davix::StatusCode::SystemError
@ SystemError
System call related error.
Definition: davixstatusrequest.hpp:116
Davix::PropfindRequest::PropfindRequest
PropfindRequest(Context &context, const Uri &uri, DavixError **err)
Construct a HttpRequest for a PROPFIND operation.
davixcontext.hpp
Davix::StatInfo::mode
mode_t mode
Definition: davix_file_types.hpp:113
Davix::DavIOVecOuput::diov_size
dav_ssize_t diov_size
Definition: davix_file_types.hpp:60
Davix::RequestFlag::IdempotentRequest
@ IdempotentRequest
Definition: httprequest.hpp:74