irods
4.2.8
About: iRODS (the integrated Rule Oriented Data System) is a distributed data-management system for creating data grids, digital libraries, persistent archives, and real-time data systems. Fossies Dox: irods-4.2.8.tar.gz ("unofficial" and yet experimental doxygen-generated source code documentation) 
|
Go to the documentation of this file.
13 auto is_client_to_agent_connection() ->
bool
198 using T =
const std::string&;
200 return "enforce" == irods::get_server_property<T>(keyword) && is_client_to_agent_connection();
203 rodsLog(
LOG_DEBUG,
"Skipping client API whitelist. Server is not configured to enforce the API "
204 "or the connection is not a client-to-agent connection.");
208 rodsLog(
LOG_DEBUG,
"Skipping client API whitelist. Client has administrative privileges.");
216 const auto end = std::cend(api_numbers_);
217 return std::find(std::cbegin(api_numbers_),
end, api_number) !=
end;
222 if (contains(api_number)) {
223 rodsLog(
LOG_DEBUG,
"API number [%d] has already been added to the client API whitelist", api_number);
228 api_numbers_.push_back(api_number);
229 rodsLog(
LOG_DEBUG,
"Added API number [%d] to the client API whitelist.", api_number);
231 catch (
const std::exception&
e) {
232 rodsLog(
LOG_ERROR,
"Could not add API number [%d] to whitelist [error_code => %d, exception => %s]",
void rodsLog(int level, const char *formatStr,...)
#define SUB_STRUCT_FILE_CLOSE_AN
#define AUTH_PLUG_RESP_AN
#define DATA_OBJ_LSEEK_AN
#define STRUCT_FILE_BUNDLE_AN
#define SUB_STRUCT_FILE_RENAME_AN
#define UNBUN_AND_REG_PHY_BUNFILE_AN
const std::string AGENT_CONN_KW("agent_conn")
#define DATA_OBJ_OPEN_AND_STAT_AN
#define STRUCT_FILE_EXTRACT_AN
#define SUB_STRUCT_FILE_FSTAT_AN
#define SUB_STRUCT_FILE_GET_AN
auto add(int api_number) -> void
#define GET_TEMP_PASSWORD_AN
#define GET_HIER_FROM_LEAF_ID_AN
#define SUB_STRUCT_FILE_WRITE_AN
const std::string CFG_CLIENT_API_WHITELIST_POLICY_KW
#define GET_TEMP_PASSWORD_FOR_OTHER_AN
#define QUERY_SPEC_COLL_AN
auto contains(int api_number) const noexcept -> bool
#define SYNC_MOUNTED_COLL_AN
#define STRUCT_FILE_EXT_AND_REG_AN
#define SUB_STRUCT_FILE_RMDIR_AN
#define DATA_OBJ_UNLINK_AN
#define SPECIFIC_QUERY_AN
#define SUB_STRUCT_FILE_CREATE_AN
auto end(const collection_iterator &) noexcept -> const collection_iterator
#define SUB_STRUCT_FILE_LSEEK_AN
#define SUB_STRUCT_FILE_UNLINK_AN
#define DATA_OBJ_CREATE_AND_STAT_AN
#define DATA_OBJ_RSYNC_AN
#define DATA_OBJ_RENAME_AN
#define UNREG_DATA_OBJ_AN
#define DATA_OBJ_CHKSUM_AN
#define GET_HIER_FOR_RESC_AN
#define RULE_EXEC_SUBMIT_AN
#define MOD_AVU_METADATA_AN
#define GET_MISC_SVR_INFO_AN
#define SUB_STRUCT_FILE_OPENDIR_AN
#define BULK_DATA_OBJ_PUT_AN
#define GENERAL_UPDATE_AN
#define GET_RESC_QUOTA_AN
#define MOD_ACCESS_CONTROL_AN
#define PAM_AUTH_REQUEST_AN
static auto instance() -> client_api_whitelist &
#define DATA_OBJ_CREATE_AN
#define SUB_STRUCT_FILE_TRUNCATE_AN
#define DATA_OBJ_FSYNC_AN
bool is_privileged_client(const rsComm_t &_comm) noexcept
#define DATA_OBJ_CLOSE_AN
#define READ_COLLECTION_AN
#define DATA_OBJ_UNLOCK_AN
#define SUB_STRUCT_FILE_PUT_AN
#define SUB_STRUCT_FILE_OPEN_AN
#define EXEC_RULE_EXPRESSION_AN
#define CLOSE_COLLECTION_AN
#define PHY_BUNDLE_COLL_AN
#define CHK_OBJ_PERM_AND_STAT_AN
#define SUB_STRUCT_FILE_STAT_AN
#define DATA_OBJ_PHYMV_AN
#define DATA_OBJ_WRITE_AN
#define DATA_OBJ_TRUNCATE_AN
#define SUB_STRUCT_FILE_CLOSEDIR_AN
#define SUB_STRUCT_FILE_READ_AN
#define GET_LIMITED_PASSWORD_AN
auto enforce(const rsComm_t &comm) const noexcept -> bool
#define BULK_DATA_OBJ_REG_AN
#define GET_REMOTE_ZONE_RESC_AN
#define OPEN_COLLECTION_AN
#define SUB_STRUCT_FILE_READDIR_AN
#define STRUCT_FILE_SYNC_AN
#define SUB_STRUCT_FILE_MKDIR_AN