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 authentication 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 authentication 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:113
Davix::GetRequest::GetRequest
GetRequest(Context &context, const Uri &uri, DavixError **err)
Construct a HttpRequest for GET a operation.
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::Uri::getHost
const std::string & getHost() const
Davix::RequestParams::setConnectionTimeout
void setConnectionTimeout(struct timespec *conn_timeout)
Davix::X509Credential::~X509Credential
~X509Credential()
destructor
Davix::StatInfo::atime
time_t atime
access time
Definition: davix_file_types.hpp:115
Davix::RequestParams::setS3ListingMode
void setS3ListingMode(const S3ListingMode::S3ListingMode s3_listing_mode)
set listing mode flag for S3 bucket
Davix::Uri::operator=
Uri & operator=(const Uri &orig)
assignment operator
Davix::StatusCode::ParsingError
@ ParsingError
Generic Parsing Error.
Definition: davixstatusrequest.hpp:147
Davix::HttpRequest::getAnswerContent
const char * getAnswerContent()
Davix::Uri::ensureTrailingSlash
void ensureTrailingSlash()
ensure that the path ends with a trailing slash
Davix::StatInfo::ctime
time_t ctime
creation time
Definition: davix_file_types.hpp:119
Davix::DavPosix::rmdir
int rmdir(const RequestParams *params, const std::string &url, DavixError **err)
execute a remove directory operation.
Davix::HttpRequest::clearAnswerContent
void clearAnswerContent()
Davix::PutRequest
Http low level request configured for PUT operation.
Definition: httprequest.hpp:364
Davix::StatusCode::CredentialNotFound
@ CredentialNotFound
Impossible to find specified credential.
Definition: davixstatusrequest.hpp:107
Davix::DavFile::readPartial
dav_ssize_t readPartial(const RequestParams *params, void *buff, dav_size_t count, dav_off_t offset, DavixError **err)
Partial position independant read.
Davix::DavixError::clone
DavixError * clone()
clone Error
Davix::DavPosix::pread
ssize_t pread(DAVIX_FD *fd, void *buffer, size_t count, off_t offset, DavixError **err)
do a partial read of a file in a POSIX-like approach with HTTP(S).
Davix::version
DAVIX_EXPORT const std::string & version()
Davix::DavPosix::stat
int stat(const RequestParams *params, const std::string &str, struct stat *st, DavixError **err)
POSIX-like stat() call.
Davix::DavPosix::lseek
off_t lseek(DAVIX_FD *fd, off_t offset, int flags, DavixError **err)
move the cursor a davix file with HTTP(S).
Davix::RequestParams::setSwiftListingMode
void setSwiftListingMode(const SwiftListingMode::SwiftListingMode swift_listing_mode)
set listing mode flag for Swift
Davix::X509Credential::operator=
X509Credential & operator=(const X509Credential &orig)
assignment operator
Davix::RequestParams::getSSLCACheck
bool getSSLCACheck() const
return the SSL Certificate authority validity check
Davix::StatusCode::InvalidHook
@ InvalidHook
Invalid Hook type.
Definition: davixstatusrequest.hpp:150
Davix::RequestFlag::SupportContinue100
@ SupportContinue100
Definition: httprequest.hpp:73
Davix::DavixError::getErrMsg
const std::string & getErrMsg() const
get the string representation of this error
Davix::RequestParams::setClientCertX509
void setClientCertX509(const X509Credential &cli_cert)
Davix::DavFile::DEPRECATED
DEPRECATED(int putFromFd(const RequestParams *params, int fd, dav_size_t size_write, DavixError **err) throw())
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:128
Davix::RequestParams::setProtocol
void setProtocol(const RequestProtocol::Protocol proto)
set the request protocol ( ex : Webdav, Http-only, S3 )
Davix::StatusCode::Code
Code
Definition: davixstatusrequest.hpp:54
Davix::HttpRequest::getLastModified
time_t getLastModified() const
Davix::StatusCode::InvalidFileHandle
@ InvalidFileHandle
Invalid file descriptor.
Definition: davixstatusrequest.hpp:92
Davix::DavFile::put
void put(const RequestParams *params, int fd, dav_size_t size_write)
Create/Replace file content.
Davix::DavPosix::pwrite64
dav_ssize_t pwrite64(DAVIX_FD *fd, const void *buffer, dav_size_t count, dav_off_t offset, DavixError **err)
64bits version of /ref Davix::DavPosix::pwrite
Davix::Context::clone
Context * clone()
clone this instance to a new context
Davix::RequestParams::getMetalinkMode
MetalinkMode::MetalinkMode getMetalinkMode() const
get the Current Metalink mode
Davix::StatInfo::group
gid_t group
group UID
Definition: davix_file_types.hpp:123
Davix::Context::loadModule
void loadModule(const std::string &name)
load a plugin or a profile identified by name
Davix::PostRequest::PostRequest
PostRequest(Context &context, const Uri &uri, DavixError **err)
Construct a HttpRequest for POST a operation.
Davix::DavPosix::unlink
int unlink(const RequestParams *params, const std::string &url, DavixError **err)
execute a remove file operation.
Davix::RequestParams::getSwiftListingMode
SwiftListingMode::SwiftListingMode getSwiftListingMode() const
get listing mode flag for Swift
Davix::Context::Context
Context(const Context &c)
copy constructor
Davix::StatusCode::UriParsingError
@ UriParsingError
Error in the Webdav properties parsing.
Definition: davixstatusrequest.hpp:65
Davix::DavFile::getFull
dav_ssize_t getFull(const RequestParams *params, std::vector< char > &buffer, DavixError **err)
Get the full file content in a dynamically allocated buffer.
Davix::HttpRequest::endRequest
int endRequest(DavixError **err)
Davix::reva::Credentials
Reva credentials.
Definition: davix_cs3_utils.hpp:24
Davix::Uri::Uri
Uri()
Construct an empty invalid Uri.
Davix::DavFile::~DavFile
virtual ~DavFile()
destructor
Davix::DavPosix::pread64
dav_ssize_t pread64(DAVIX_FD *fd, void *buffer, dav_size_t count, dav_off_t offset, DavixError **err)
64bits version of /ref Davix::DavPosix::pread
Davix::Uri::addPathSegment
void addPathSegment(const std::string &seg)
Davix::DavixError::setErrScope
void setErrScope(const std::string &scope)
set the scope of this error
Davix::DavFile::deletion
int deletion(const RequestParams *params, DavixError **err)
Suppress the current entity or collection.
Davix::X509Credential
X509 certificate.
Definition: davixx509cred.hpp:47
Davix::RequestParams::getKeepAlive
bool getKeepAlive() const
get the keep alive value of this request params
Davix::RequestParams::getParmState
void * getParmState() const
internal usage
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:122
Davix::Uri::getString
const std::string & getString() const
Davix::RequestParams::setSSLCAcheck
void setSSLCAcheck(bool chk)
disable the certificate authority validity check for the https request
Davix::RequestParams::setOperationRetry
void setOperationRetry(int number_retry)
number of re-try in case of operation failure
Davix::Uri::getUserInfo
const std::string & getUserInfo() const
Davix::HttpRequest::getAnswerSize
dav_ssize_t getAnswerSize() const
Davix::Uri
Uri parser.
Definition: davix_uri.hpp:55
Davix::reva::CredentialProvider
Reva credential provider.
Definition: davix_cs3_utils.hpp:49
Davix::RequestParams::getOSToken
const OSToken & getOSToken() const
get the OS token used for Swift authentication
Davix::DavFile::getToFd
dav_ssize_t getToFd(const RequestParams *params, int fd, DavixError **err)
Get the full file content and write it to file descriptor.
Davix::DavPosix::readdir
struct dirent * readdir(DAVIX_DIR *dir, DavixError **err)
read an entry directory.
Davix::DavPosix
POSIX-like API of Davix.
Definition: davposix.hpp:63
Davix::DavFile::put
void put(const RequestParams *params, const char *buffer, dav_size_t size_write)
Create/Replace file content.
Davix::DavFile::getUri
const Uri & getUri() const
return Uri of the current file
Davix::StatusCode::OperationNonSupported
@ OperationNonSupported
this operation is not supported
Definition: davixstatusrequest.hpp:86
Davix::Context::createDavPosix
DavPosix * createDavPosix()
Davix::Uri::queryParamExists
bool queryParamExists(const std::string &param) const
check if the given query parameter exists
Davix::DavixException::DavixException
DavixException(const std::string &scope, StatusCode::Code c, const std::string &msg)
Construct a DavixException.
Davix::X509Credential::loadFromFileP12
int loadFromFileP12(const std::string &filepath_p12_cred, const std::string &password, DavixError **err)
Davix::StatusCode::AlreadyRunning
@ AlreadyRunning
Request already running.
Definition: davixstatusrequest.hpp:95
Davix::RequestParams::getS3ListingMode
S3ListingMode::S3ListingMode getS3ListingMode() const
get listing mode flag for S3 bucket
davixx509cred.hpp
utilities for X509 credential
Davix::HttpRequest::HttpRequest
HttpRequest(Context &context, const std::string &url, DavixError **err)
HttpRequest constructor with a defined URL from a string.
Davix::RequestParams::setAcceptedRetryDelay
void setAcceptedRetryDelay(int delay)
Davix::HttpRequest::setParameters
void setParameters(const RequestParams &parameters)
set the request parameter
Davix::DavFile::makeCollection
int makeCollection(const RequestParams *params, DavixError **err)
create a collection (directory or bucket) at the current url
Davix::Context
Main handle for Davix.
Definition: davixcontext.hpp:56
Davix::StatusCode::CredDecryptionError
@ CredDecryptionError
Impossible to decrypt client credential for usage.
Definition: davixstatusrequest.hpp:134
Davix::RequestParams::setS3MaxKey
void setS3MaxKey(const unsigned long s3_max_key_entries)
set maximum number of key entries return by S3 list object request
Davix::Uri::unescapeString
static std::string unescapeString(const std::string &str)
Unescape urI.
Davix::DavPosix::open
DAVIX_FD * open(const RequestParams *params, const std::string &url, int flags, DavixError **err)
open a file for read/write operation in a POSIX-like approach.
Davix::RequestParams::RequestParams
RequestParams()
default constructor
Davix::HttpRequest::setRequestMethod
void setRequestMethod(const std::string &method)
set the request method ( "GET", "PUT", ... )
Davix::StatusCode::TooManyRedirects
@ TooManyRedirects
Too many redirects.
Definition: davixstatusrequest.hpp:156
Davix::RequestParams::operator=
RequestParams & operator=(const RequestParams &_p)
assignment operator
Davix::StatInfo
StatInfo structcontainer for base file meta-data, plateform agnostic stat struct.
Definition: davix_file_types.hpp:102
Davix::DeleteRequest
Http low level request configured for DELETE operation.
Definition: httprequest.hpp:408
Davix::DavPosix::preadVec
dav_ssize_t preadVec(DAVIX_FD *fd, const DavIOVecInput *input_vec, DavIOVecOuput *output_vec, dav_size_t count_vec, DavixError **err)
pread_vec a file in a POSIX-like approach with HTTP(S).
Davix::HttpRequest::beginRequest
int beginRequest(DavixError **err)
start a multi-part HTTP Request
Davix::HttpRequest::readBlock
dav_ssize_t readBlock(char *buffer, dav_size_t max_size, DavixError **err)
Davix::DavIOVecInput::diov_buffer
void * diov_buffer
Definition: davix_file_types.hpp:51
Davix::RequestParams::setAwsRegion
void setAwsRegion(const AwsRegion &region)
define a Amazon S3 bucket region
Davix::RequestParams::setAwsToken
void setAwsToken(const AwsToken &token)
define an Amazon S3 security token
Davix::HttpRequest::setRequestBody
void setRequestBody(ContentProvider &provider)
davix_hooks.hpp
Hook (callback) functions of davix.
Davix::Uri::fromRelativePath
static Uri fromRelativePath(const Uri &uri, const std::string &relPath)
create a new Uri from URI and a relative associated path
Davix::Uri::escapeString
static std::string escapeString(const std::string &str)
Escape string.
Davix::RequestParams::getClientCertCallbackX509
std::pair< authCallbackClientCertX509, void * > getClientCertCallbackX509() const
return the current client side callback for authentication with the associated user data
Davix::RequestParams::getRecursiveMode
bool getRecursiveMode() const
get recursive mode for directory operations
Davix::HttpRequest::readBlock
dav_ssize_t readBlock(std::vector< char > &buffer, dav_size_t max_size, DavixError **err)
Davix::RequestParams::getGcloudCredentials
const Davix::gcloud::Credentials & getGcloudCredentials() const
get the secret key used for Azure authentication
Davix::DavixError::clearError
static void clearError(DavixError **err)
clear the content of the current error and set err to NULL
Davix::DavixError::getErrScope
const std::string & getErrScope() const
get the scope of this error
Davix::Context::~Context
virtual ~Context()
destructor
Davix::StatusCode::WebDavPropertiesParsingError
@ WebDavPropertiesParsingError
Error in the Webdav properties parsing.
Definition: davixstatusrequest.hpp:62
Davix::RequestParams::setTransparentRedirectionSupport
void setTransparentRedirectionSupport(bool redirection)
Davix::RequestParams::set100ContinueSupport
void set100ContinueSupport(const bool enabled)
Davix::RequestParams::getConnectionTimeout
const struct timespec * getConnectionTimeout() const
get the current connexion timeout
Davix::httpUriGetPort
unsigned int DAVIX_EXPORT httpUriGetPort(const Uri &uri)
Davix::HttpRequest::HttpRequest
HttpRequest(Context &context, const Uri &url, DavixError **err)
HttpRequest constructor with a defined URL.
Davix::HttpRequest::getRequestCode
int getRequestCode()
Davix::DavFile::getToFd
dav_ssize_t getToFd(const RequestParams *params, int fd, dav_size_t size_read, DavixError **err)
Get the first 'size_read' bytes of the file and write it to file descriptor.
Davix::RequestParams
Main container for Davix request options.
Definition: davixrequestparams.hpp:69
Davix::RequestParams::getRevaCredentials
const Davix::reva::Credentials & getRevaCredentials() const
get Reva Credentials
Davix::PropfindRequest
Webdav low level request configured for PROPFIND operation.
Definition: httprequest.hpp:423
davix_uri.hpp
URI utilities functions for davix.
Davix::RequestParams::RequestParams
RequestParams(const RequestParams &params)
copy constructor
Davix::RequestParams::setClientLoginPassword
void setClientLoginPassword(const std::string &login, const std::string &password)
set login/password for HTTP Authentication
Davix::RequestParams::getAwsRegion
const AwsRegion & getAwsRegion() const
get Amazon S3 bucket region
Davix::RequestParams::setRecursiveMode
void setRecursiveMode(const bool recursive_mode)
set recursive mode for directory operations
Davix::RequestParams::getAcceptedRetryDelay
int getAcceptedRetryDelay() const
Davix::Context::clearCache
void clearCache()
clear both redirect and session cache
Davix::DavFile::checksum
int checksum(const RequestParams *params, std::string &checksm, const std::string &chk_algo, DavixError **err)
compute checksum of the file with the given algorithm (MD5, CRC32, ADLER32)
Davix::StatusCode::Canceled
@ Canceled
Operation canceled.
Definition: davixstatusrequest.hpp:137
Davix::DavPosix::lseek64
dav_off_t lseek64(DAVIX_FD *fd, dav_off_t, int flags, DavixError **err)
64bits versions of /ref Davix::DavixPosix::lseek
davfile.hpp
Davix::DavixError::setupError
static void setupError(DavixError **err, const std::string &scope, StatusCode::Code errCode, const std::string &errMsg)
create a new DavixError
Davix::Uri::getQuery
const std::string & getQuery() const
Davix::HttpRequest::getFlag
bool getFlag(const RequestFlag::RequestFlag flag)
get a HttpRequest flag value
Davix::GetRequest
Http low level request configured for GET operation.
Definition: httprequest.hpp:350
Davix::DavixError
Davix Error Handler.
Definition: davixstatusrequest.hpp:186
Davix::StatusCode::IsADirectory
@ IsADirectory
This file is not a regular file but a directory ( EISDIR )
Definition: davixstatusrequest.hpp:116
Davix::HttpRequest::setRequestBody
void setRequestBody(const void *buffer, dav_size_t len_buff)
Davix::HttpRequest::setRequestBody
void setRequestBody(const std::string &body)
davixrequestparams.hpp
C++ Davix configuration API.
Davix::Uri::join
static std::string join(const std::string &left, const std::string &right)
Join two paths.
Davix::DavPosix::close
int close(DAVIX_FD *fd, DavixError **err)
close a existing file descriptor.
Davix::DavixError::setErrMsg
void setErrMsg(const std::string &msg)
set the string representation of this error
Davix::HttpRequest::executeRequest
int executeRequest(DavixError **err)
execute this request completely
Davix::Context::createRequest
HttpRequest * createRequest(const std::string &url, DavixError **err)
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::HttpRequest::HttpRequest
HttpRequest(NEONRequest *req)
HttpRequest internal usage.
Davix::DavPosix::opendirpp
DAVIX_DIR * opendirpp(const RequestParams *params, const std::string &url, DavixError **err)
open a directory for listing with per entry meta-data information.
Davix::DavFile::makeCollection
void makeCollection(const RequestParams *params=NULL)
create a collection (directory or bucket) at the current url
Davix::HttpRequest::discardBody
void discardBody(DavixError **err)
Davix::DavFile::quotaInfo
QuotaInfo & quotaInfo(const RequestParams *params, QuotaInfo &info)
retrieve quota information
Davix::PostRequest
Http low level request configured for POST operation.
Definition: httprequest.hpp:378
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:104
Davix::backendHeadersVersion
DAVIX_EXPORT const std::string backendHeadersVersion()
Davix::Uri::Uri
Uri(const Uri &uri)
Copy constructor.
Davix::DavPosix::get_quota
int get_quota(const RequestParams *params, const std::string &url, QuotaInfo *st, DavixError **err)
get_quota gives quota information on a directory
Davix::RequestParams::setOSProjectID
void setOSProjectID(const OSProjectID &id)
set the OS project id used for Swift authentication
Davix::Uri::fragmentParamExists
bool fragmentParamExists(const std::string &param) const
check if the given fragment parameter exists
Davix::DavPosix::pwrite
ssize_t pwrite(DAVIX_FD *fd, const void *buffer, size_t count, off_t offset, DavixError **err)
do a partial write of a file in a POSIX-like approach with HTTP(S).
Davix::StatusCode::AuthenticationError
@ AuthenticationError
Authentication Error.
Definition: davixstatusrequest.hpp:98
Davix::RequestParams::listCertificateAuthorityPath
const std::vector< std::string > & listCertificateAuthorityPath() const
get the list of the current user defined CA path
Davix::DavPosix::mkdir
int mkdir(const RequestParams *params, const std::string &url, mode_t right, DavixError **err)
execute a mkdir function with Webdav.
Davix::StatusCode::RemoteError
@ RemoteError
Definition: davixstatusrequest.hpp:144
Davix::HttpRequest::getAnswerHeaders
size_t getAnswerHeaders(HeaderVec &vec_headers) const
Davix::Uri::operator==
bool operator==(const Uri &u2) const
compare oepration
Davix::HttpRequest::getAnswerContentVec
std::vector< char > & getAnswerContentVec()
Davix::RequestParams::setRevaCredentials
void setRevaCredentials(Davix::reva::Credentials &credentials)
define the Reva Credentials
deprecated.hpp
Deprecated class / functions of Davix for ABI/ API compatibility.
Davix::Uri::removeTrailingSlash
void removeTrailingSlash()
remove the path's trailing slash, if it exists
Davix::StatusCode::DelegationError
@ DelegationError
Delegation error.
Definition: davixstatusrequest.hpp:140
Davix::RequestParams::getRevaCredentialMap
void getRevaCredentialMap(Davix::reva::CredentialMap &cmap)
get Reva Credentials
Davix::backendRuntimeVersion
DAVIX_EXPORT const std::string backendRuntimeVersion()
Davix::Uri::getFragment
const std::string & getFragment() const
Davix::RequestParams::getOperationRetryDelay
int getOperationRetryDelay() const
getOperationRetryDelay
Davix::RequestParams::setProxyServer
void setProxyServer(const Uri &proxy_url)
Davix::Uri::getStatus
StatusCode::Code getStatus() const
Davix::RequestParams::getSwiftAccount
const SwiftAccount & getSwiftAccount() const
get the Swift account used for Swift authentication
Davix::Uri::equal
bool equal(const Uri &u1) const
test if two URI are equals
Davix::Uri::getPathAndQuery
const std::string & getPathAndQuery() const
Davix::StatusCode::ConnectionTimeout
@ ConnectionTimeout
Impossible to connect, host down or network problem.
Definition: davixstatusrequest.hpp:80
Davix::DavFile::deletion
void deletion(const RequestParams *params=NULL)
Suppress the current entity or collection.
Davix::RequestParams::setAwsAlternate
void setAwsAlternate(const bool &alternate)
set whether we're using an S3 path-based url
Davix::DavPosix::read
ssize_t read(DAVIX_FD *fd, void *buffer, size_t count, DavixError **err)
read a file in a POSIX-like approach with HTTP(S).
Davix::DavFile::checksum
std::string & checksum(const RequestParams *params, std::string &checksm, const std::string &chk_algo)
compute checksum of the file
Davix::RequestParams::addCertificateAuthorityPath
void addCertificateAuthorityPath(const std::string &path)
add the CA certificate in the directory 'path' as trusted certificate
Davix::StatInfo::size
dav_size_t size
size in bytes of the resource
Definition: davix_file_types.hpp:107
Davix::reva::Credential
Definition: davix_cs3_utils.hpp:10
Davix::X509Credential::loadFromFilePEM
int loadFromFilePEM(const std::string &filepath_priv_key, const std::string &filepath_cred, const std::string &password, DavixError **err)
Davix::RequestParams::getS3MaxKey
unsigned long getS3MaxKey() const
get maximun number of key entries return by S3 list object request
Davix::DavIOVecOuput
result of vector operations in Davix
Definition: davix_file_types.hpp:58
Davix::DavixError::setStatus
void setStatus(const StatusCode::Code)
set the status code for this error
Davix::RequestParams::setOperationRetryDelay
void setOperationRetryDelay(int delay_retry)
Delay in second between retry attempts.
Davix::QuotaInfo
QuotaInfo structhandler to retrieve quota information.
Definition: davix_file_types.hpp:84
Davix::RequestParams::setSwiftAccount
void setSwiftAccount(const SwiftAccount &account)
set the Swift account used for Swift authentication
Davix::StatusCode::UnknownError
@ UnknownError
Undefined error.
Definition: davixstatusrequest.hpp:165
Davix::X509Credential::X509Credential
X509Credential()
default constructor
Davix::DeleteRequest::DeleteRequest
DeleteRequest(Context &context, const Uri &uri, DavixError **err)
Construct a HttpRequest forfor a DELETE operation.
Davix::Context::getSessionCaching
bool getSessionCaching() const
get session caching status
Davix::Uri::queryParamEscape
static std::string queryParamEscape(const std::string &str)
Escape query parameter.
Davix::StatusCode::NameResolutionFailure
@ NameResolutionFailure
DNS resolution failure.
Definition: davixstatusrequest.hpp:71
Davix::RequestParams::getCopyMode
CopyMode::CopyMode getCopyMode() const
get copy mode for 3rd party copy
Davix::RequestParams::getRevaToken
const RevaToken getRevaToken(std::string uri) const &
get Reva Token
Davix::Uri::addQueryParam
void addQueryParam(const std::string &key, const std::string &value)
Davix::RequestParams::setOSToken
void setOSToken(const OSToken &token)
set the OS token used for Swift authentication
Davix::StatusCode::PermissionRefused
@ PermissionRefused
Permission deny, Authorisation problem ( EACCESS, EPERM )
Definition: davixstatusrequest.hpp:110
Davix::RequestParams::getOperationTimeout
const struct timespec * getOperationTimeout() const
Davix::DavFile::statInfo
StatInfo & statInfo(const RequestParams *params, StatInfo &info)
execute a file meta-data query
Davix::RequestParams::getAcceptedRetry
int getAcceptedRetry() const
Davix::DavixError::swap
void swap(DavixError &err)
swap the two error content
davix_file_types.hpp
davix file related type declarations
Davix::RequestParams::addHeader
void addHeader(const std::string &key, const std::string &val)
Davix::DavixError::~DavixError
virtual ~DavixError()
~DavixError
Davix::RequestParams::setGcloudCredentials
void setGcloudCredentials(const Davix::gcloud::Credentials &creds)
set the secret key for Azure authentication
davixauth.hpp
Authentication support for davix support for client cert x509, login password, S3 tokens.
Davix::DavixError::propagatePrefixedError
static void propagatePrefixedError(DavixError **newErr, DavixError *oldErr, const std::string &prefix)
propagatePrefixedError
Davix::DavFile::listCollection
Iterator listCollection(const RequestParams *params)
Collection listing.
Davix::RequestParams::setCopyMode
void setCopyMode(const CopyMode::CopyMode copy_mode)
set copy mode for 3rd party copy
Davix::RequestParams::getClientLoginPasswordCallback
std::pair< authCallbackLoginPasswordBasic, void * > getClientLoginPasswordCallback() const
return the current login/password callback and the associated user data
Davix::RequestParams::getAzureKey
const AzureSecretKey & getAzureKey() const
get the secret key used for Azure authentication
Davix::HttpRequest::addHeaderField
void addHeaderField(const std::string &field, const std::string &value)
Davix::RequestParams::getHeaders
const HeaderVec & getHeaders() const
return the list of custom headers configured
Davix::HttpRequest::readToFd
dav_ssize_t readToFd(int fd, DavixError **err)
Davix::X509Credential::hasCert
bool hasCert() const
davposix.hpp
POSIX-like API of davix.
Davix::StatusCode::TimeoutRedirectionError
@ TimeoutRedirectionError
Connection timeout during a redirection.
Definition: davixstatusrequest.hpp:153
Davix::HttpRequest::DEPRECATED
DEPRECATED(HttpCacheToken *extractCacheToken() const)
Davix::RequestParams::getProxyServer
const Uri * getProxyServer() const
Davix::Uri::getProtocol
const std::string & getProtocol() const
Davix::HttpRequest::DEPRECATED
DEPRECATED(void useCacheToken(const HttpCacheToken *token))
Davix::Context::operator=
Context & operator=(const Context &c)
assignment operator
Davix::DavixError::propagateError
static void propagateError(DavixError **newErr, DavixError *oldErr)
propagate an Error structure to an upper level
Davix::X509Credential::X509Credential
X509Credential(const X509Credential &orig)
copy constructor
Davix::StatusCode::UnknowError
@ UnknowError
Misspelled - kept for backward compatibility.
Definition: davixstatusrequest.hpp:168
Davix::RequestParams::getAwsAutorizationKeys
const std::pair< AwsSecretKey, AwsAccessKey > & getAwsAutorizationKeys() const
get Amazon S3 authentication tokens
Davix::DavFile::move
void move(const RequestParams *params, DavFile &destination)
move
Davix::DavPosix::closedirpp
int closedirpp(DAVIX_DIR *d, DavixError **err)
close a directory handle
Davix::HeadRequest::HeadRequest
HeadRequest(Context &context, const Uri &uri, DavixError **err)
Construct a HttpRequest for a HEAD operation.
Davix::DavixException::DavixException
DavixException(DavixError **err)
Create a DavixEception from a DavixError, err is considered as free and invalid after creation.
Davix::RequestParams::getTransparentRedirectionSupport
bool getTransparentRedirectionSupport() const
return true if the transparent redirection mode is enabled
httprequest.hpp
Http low level request interface.
Davix::RequestParams::getOSProjectID
const OSProjectID & getOSProjectID() const
get the OS project id used for Swift authentication
Davix::DavPosix::closedir
int closedir(DAVIX_DIR *d, DavixError **err)
close a directory handle
Davix::HttpRequest::setRequestBody
void setRequestBody(int fd, dav_off_t offset, dav_size_t len)
Davix::HttpRequest::readSegment
dav_ssize_t readSegment(char *buffer, dav_size_t max_size, DavixError **err)
davix_hooks_fwd.hpp
Hook definitions of davix.
Davix::HttpRequest::setRequestBody
void setRequestBody(HttpBodyProvider provider, dav_size_t len, void *udata)
Davix::HttpRequest::readToFd
dav_ssize_t readToFd(int fd, dav_size_t read_size, DavixError **err)
Davix::gcloud::Credentials
Gcloud credentials.
Definition: davix_gcloud_utils.hpp:38
Davix::DavixError::operator=
DavixError & operator=(const DavixError &e)
assignment operator
Davix::Uri::getPath
const std::string & getPath() const
Davix::HttpRequest::setFlag
void setFlag(const RequestFlag::RequestFlag flag, bool value)
set a HttpRequest flag
Davix::DavixException
Davix Exception class.
Definition: davixstatusrequest.hpp:305
Davix::RequestParams::setUserAgent
void setUserAgent(const std::string &user_agent)
set the user agent for the associated request
Davix::DavFile::readPartialBufferVec
dav_ssize_t readPartialBufferVec(const RequestParams *params, const DavIOVecInput *input_vec, DavIOVecOuput *ioutput_vec, const dav_size_t count_vec, DavixError **err)
Vector read operation Able to do several read on several data chunk in one single operation....
Davix::DavIOVecOuput::diov_buffer
void * diov_buffer
Definition: davix_file_types.hpp:59
Davix::DavFile::get
dav_ssize_t get(const RequestParams *params, std::vector< char > &buffer)
Get the full file content to buffer.
Davix::StatInfo::toPosixStat
struct stat & toPosixStat(struct stat &st)
struct converter to POSIX stat
Definition: davix_file_types.hpp:138
Davix::Uri::Uri
Uri(const std::string &uri_string)
construct a new Davix Uri from a string URL
Davix::RequestParams::setAwsAuthorizationKeys
void setAwsAuthorizationKeys(const AwsSecretKey &secret_key, const AwsAccessKey &access_key)
define a Amazon S3 private key and public key
Davix::StatusCode::SSLError
@ SSLError
SSL/TLS layer Error.
Definition: davixstatusrequest.hpp:131
Davix::DavFile::DavFile
DavFile(Context &c, const Uri &url)
default constructor
Davix::DavixError::getStatus
StatusCode::Code getStatus() const
Davix::DavixError::DavixError
DavixError(const DavixError &e)
copy constructor
Davix::StatusCode::SessionCreationError
@ SessionCreationError
impossible to create a session
Definition: davixstatusrequest.hpp:68
Davix::HttpRequest::readLine
dav_ssize_t readLine(char *buffer, dav_size_t max_size, DavixError **err)
Davix::RequestParams::setClientCertCallbackX509
void setClientCertCallbackX509(authCallbackClientCertX509 callback, void *userdata)
Davix::StatusCode::IsNotADirectory
@ IsNotADirectory
Action impossible, is a directory or a collection.
Definition: davixstatusrequest.hpp:89
Davix::RequestParams::setClientLoginPasswordCallback
void setClientLoginPasswordCallback(authCallbackLoginPasswordBasic callback, void *userdata)
Davix::DavPosix::DavPosix
DavPosix(Context *handle)
default constructor
Davix::Uri::getFragmentParam
const std::string getFragmentParam(const std::string &param) const
get the value of a fragment parameter
Davix::RequestParams::setAzureKey
void setAzureKey(const AzureSecretKey &key)
set the secret key for Azure authentication
Davix::RequestParams::getClientLoginPassword
const std::pair< std::string, std::string > & getClientLoginPassword() const
get login/password for HTTP Authentication
Davix::gcloud::CredentialProvider
Gcloud credential provider.
Definition: davix_gcloud_utils.hpp:66
Davix::DavFile::prefetchInfo
void prefetchInfo(off_t offset, dav_size_t size_read, advise_t adv)
provide information on the next file operation
Davix::Context::setSessionCaching
void setSessionCaching(bool caching)
enable or disable the session caching
Davix::StatusCode::InvalidArgument
@ InvalidArgument
Invalid argument from user ( EINVAL )
Definition: davixstatusrequest.hpp:125
Davix::DavPosix::readdirpp
struct dirent * readdirpp(DAVIX_DIR *dir, struct stat *st, DavixError **err)
execute an readdirpp function
Davix::RequestParams::getOperationRetry
int getOperationRetry() const
getOperationRetry
Davix::RequestParams::RequestParams
RequestParams(const RequestParams *params)
conveniencecopy constructor with NULL check
Davix::uriCheckError
bool DAVIX_EXPORT uriCheckError(const Uri &uri, DavixError **err)
Davix::RequestParams::getClientCertX509
const X509Credential & getClientCertX509() const
get the current client side credential
Davix::HttpRequest::getAnswerHeader
bool getAnswerHeader(const std::string &header_name, std::string &value) const
Davix::StatusCode::OperationTimeout
@ OperationTimeout
operation timeout
Definition: davixstatusrequest.hpp:83
Davix::RequestParams::get100ContinueSupport
bool get100ContinueSupport() const
get whether 100-continue support is enabled
Davix::RequestParams::getProtocol
RequestProtocol::Protocol getProtocol() const
get the current value of the request protocol
Davix::DavPosix::opendir
DAVIX_DIR * opendir(const RequestParams *params, const std::string &url, DavixError **err)
open a directory for listing.
Davix::StatusCode::RedirectionNeeded
@ RedirectionNeeded
redirection is needed manually
Definition: davixstatusrequest.hpp:77
NonCopyable
Simple NonCopyableProtector.
Definition: davix_nocopy.hpp:29
Davix::Context::Context
Context()
Default constructor.
Davix::DavPosix::fadvise
void fadvise(DAVIX_FD *fd, dav_off_t offset, dav_size_t len, advise_t advice)
give advise about next file operation
Davix::StatusCode::PartialDone
@ PartialDone
Request executed partially.
Definition: davixstatusrequest.hpp:59
Davix::StatusCode::InsufficientStorage
@ InsufficientStorage
Insufficient storage.
Definition: davixstatusrequest.hpp:159
Davix::DavPosix::stat64
int stat64(const RequestParams *params, const std::string &url, StatInfo *st, DavixError **err)
64bits version of /ref Davix::DavPosix::stat.
Davix::StatInfo::nlink
dav_ssize_t nlink
Definition: davix_file_types.hpp:110
Davix::Uri::getPort
int getPort() const
Davix::StatusCode::AuthentificationError
@ AuthentificationError
Misspelled - kept for backward compatibility.
Definition: davixstatusrequest.hpp:101
Davix::DavFile::stat
int stat(const RequestParams *params, struct stat *st, DavixError **err)
execute a POSIX-like stat() query
Davix::HeadRequest
Http low level request configured for HEAD operation.
Definition: httprequest.hpp:393
Davix::RequestParams::setKeepAlive
void setKeepAlive(const bool keep_alive_flag)
set the keep alive value of the associated session
Davix::DavPosix::write
ssize_t write(DAVIX_FD *fd, const void *buf, size_t count, DavixError **err)
write a file in a POSIX-like approach with HTTP(S).
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:87
Davix::Uri::addFragmentParam
void addFragmentParam(const std::string &key, const std::string &value)
Davix::DavixError::DavixError
DavixError(const std::string &scope, StatusCode::Code errCode, const std::string &errMsg)
Davix::RequestParams::getUserAgent
const std::string & getUserAgent() const
get the current user agent string
Davix::RequestParams::setAcceptedRetry
void setAcceptedRetry(int num_retries)
Davix::DavFile
Davix File Interface.
Definition: davfile.hpp:58
Davix::Context::createRequest
HttpRequest * createRequest(const Uri &uri, DavixError **err)
Davix::DavFile::DEPRECATED
DEPRECATED(dav_ssize_t getAllReplicas(const RequestParams *params, ReplicaVec &vec, DavixError **err))
Davix::PutRequest::PutRequest
PutRequest(Context &context, const Uri &uri, DavixError **err)
Construct a HttpRequest for PUT a operation.
Davix::RequestParams::getAwsToken
const AwsToken & getAwsToken() const
get Amazon S3 security token
Davix::StatusCode::SystemError
@ SystemError
System call related error.
Definition: davixstatusrequest.hpp:119
Davix::RequestParams::setOperationTimeout
void setOperationTimeout(struct timespec *ops_timeout)
Davix::DavixException::DavixException
DavixException(const DavixException &orig)
Copy Constructor.
Davix::PropfindRequest::PropfindRequest
PropfindRequest(Context &context, const Uri &uri, DavixError **err)
Construct a HttpRequest for a PROPFIND operation.
Davix::RequestParams::setMetalinkMode
void setMetalinkMode(const MetalinkMode::MetalinkMode mode)
Davix::RequestParams::swap
void swap(RequestParams &params)
Davix::StatusCode::EnvVarNotSet
@ EnvVarNotSet
Environment Variable Missing.
Definition: davixstatusrequest.hpp:162
Davix::DavPosix::rename
int rename(const RequestParams *params, const std::string &source_url, const std::string &target_url, DavixError **err)
rename a target file or collection.
Davix::DavFile::getReplicas
std::vector< DavFile > getReplicas(const RequestParams *params, DavixError **err)
return all replicas associated to this file
Davix::RequestParams::getAwsAlternate
const bool & getAwsAlternate() const
get whether we're using an S3 path-based url
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