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.
![]() ![]() |
Go to the source code of this file.
Classes | |
struct | agentProc |
struct | hostName |
struct | rodsServerHost |
struct | zoneInfo |
Macros | |
#define | HOST_CONFIG_FILE "hosts_config.json" |
#define | RE_RULES_FILE "reRules" |
#define | USER_WHITELIST_KW "whitelist" |
#define | USER_BLACKLIST_KW "blacklist" |
#define | NO_MAX_CONNECTION_LIMIT -1 |
#define | DEF_MAX_CONNECTION NO_MAX_CONNECTION_LIMIT |
#define | INITIAL_NOT_DONE 0 |
#define | INITIAL_DONE 1 |
#define | MAX_BROKEN_PIPE_CNT 50 |
#define | BROKEN_PIPE_INT 300 /* 5 minutes interval */ |
#define | LOCK_FILE_PURGE_TIME 7200 /* purge lock files every 2 hr. */ |
#define | UNKNOWN_HOST_LOC -1 |
#define | LOCAL_HOST 0 |
#define | REMOTE_HOST 1 |
#define | REMOTE_GW_HOST 2 /* remote gateway host */ |
#define | REMOTE_ZONE_HOST 3 /* host in remote zone */ |
#define | NOT_RCAT_ENABLED 0 |
#define | LOCAL_ICAT 1 |
#define | LOCAL_SLAVE_ICAT 2 |
#define | REMOTE_ICAT 3 |
#define | SINGLE_PASS 0 |
#define | SERVER 1 |
#define | STANDALONE_SERVER 2 |
#define | MAX_FED_RSIDS 5 |
#define | LOCAL_ZONE_SID_KW "LocalZoneSID" |
#define | REMOTE_ZONE_SID_KW "RemoteZoneSID" |
#define | SID_KEY_KW "SIDKey" |
Typedefs | |
typedef struct agentProc | agentProc_t |
typedef struct hostName | hostName_t |
typedef struct rodsServerHost | rodsServerHost_t |
typedef struct zoneInfo | zoneInfo_t |
#define BROKEN_PIPE_INT 300 /* 5 minutes interval */ |
Definition at line 24 of file rodsConnect.h.
#define DEF_MAX_CONNECTION NO_MAX_CONNECTION_LIMIT |
Definition at line 15 of file rodsConnect.h.
#define HOST_CONFIG_FILE "hosts_config.json" |
Definition at line 8 of file rodsConnect.h.
#define INITIAL_DONE 1 |
Definition at line 20 of file rodsConnect.h.
#define INITIAL_NOT_DONE 0 |
Definition at line 19 of file rodsConnect.h.
#define LOCAL_HOST 0 |
Definition at line 45 of file rodsConnect.h.
#define LOCAL_ICAT 1 |
Definition at line 53 of file rodsConnect.h.
#define LOCAL_SLAVE_ICAT 2 |
Definition at line 54 of file rodsConnect.h.
#define LOCAL_ZONE_SID_KW "LocalZoneSID" |
Definition at line 85 of file rodsConnect.h.
#define LOCK_FILE_PURGE_TIME 7200 /* purge lock files every 2 hr. */ |
Definition at line 26 of file rodsConnect.h.
#define MAX_BROKEN_PIPE_CNT 50 |
Definition at line 23 of file rodsConnect.h.
#define MAX_FED_RSIDS 5 |
Definition at line 84 of file rodsConnect.h.
#define NO_MAX_CONNECTION_LIMIT -1 |
Definition at line 14 of file rodsConnect.h.
#define NOT_RCAT_ENABLED 0 |
Definition at line 52 of file rodsConnect.h.
#define RE_RULES_FILE "reRules" |
Definition at line 9 of file rodsConnect.h.
#define REMOTE_GW_HOST 2 /* remote gateway host */ |
Definition at line 47 of file rodsConnect.h.
#define REMOTE_HOST 1 |
Definition at line 46 of file rodsConnect.h.
#define REMOTE_ICAT 3 |
Definition at line 55 of file rodsConnect.h.
#define REMOTE_ZONE_HOST 3 /* host in remote zone */ |
Definition at line 48 of file rodsConnect.h.
#define REMOTE_ZONE_SID_KW "RemoteZoneSID" |
Definition at line 86 of file rodsConnect.h.
#define SERVER 1 |
Definition at line 60 of file rodsConnect.h.
#define SID_KEY_KW "SIDKey" |
Definition at line 87 of file rodsConnect.h.
#define SINGLE_PASS 0 |
Definition at line 59 of file rodsConnect.h.
#define STANDALONE_SERVER 2 |
Definition at line 61 of file rodsConnect.h.
#define UNKNOWN_HOST_LOC -1 |
Definition at line 44 of file rodsConnect.h.
#define USER_BLACKLIST_KW "blacklist" |
Definition at line 13 of file rodsConnect.h.
#define USER_WHITELIST_KW "whitelist" |
Definition at line 12 of file rodsConnect.h.
typedef struct agentProc agentProc_t |
typedef struct hostName hostName_t |
typedef struct rodsServerHost rodsServerHost_t |
typedef struct zoneInfo zoneInfo_t |
Definition at line 603 of file rodsConnect.cpp.
References CROSS_ZONE_SOCK_CONNECT_ERR, getErrno(), and USER_SOCK_CONNECT_ERR.
Referenced by getAndConnRcatHost(), getAndConnRcatHostNoLogin(), and getRemoteZoneHost().
int disconnectAllSvrToSvrConn | ( | ) |
Definition at line 762 of file rodsConnect.cpp.
References rodsServerHost::conn, rodsServerHost::next, NULL, rcDisconnect(), and ServerHostHead.
Referenced by cleanup().
Definition at line 716 of file rodsConnect.cpp.
References rodsServerHost::conn, getRcatHost(), LOCAL_HOST, NULL, rcDisconnect(), REMOTE_HOST, and irods.pypyodbc::status.
int getAndConnRcatHost | ( | rsComm_t * | rsComm, |
int | rcatType, | ||
const char * | rcatZoneHint, | ||
rodsServerHost_t ** | rodsServerHost | ||
) |
Definition at line 26 of file rodsConnect.cpp.
References convZoneSockError(), getRcatHost(), LOCAL_HOST, LOG_NOTICE, REMOTE_HOST, REMOTE_ICAT, rodsLog(), irods.pypyodbc::status, and svrToSvrConnect().
Referenced by rsBulkDataObjReg(), rsChkObjPermAndStat(), rsCollCreate(), rsDataObjLock(), rsDataObjRename(), rsDataObjUnlink(), rsDataObjUnlock(), rsEndTransaction(), rsGeneralAdmin(), rsGeneralRowInsert(), rsGeneralRowPurge(), rsGeneralUpdate(), rsGenQuery(), rsGetHierarchyForResc(), rsGetLimitedPassword(), rsGetRescQuota(), rsGetTempPassword(), rsGetTempPasswordForOther(), rsIESClientHints(), rsModAccessControl(), rsModAVUMetadata(), rsModColl(), rsModDataObjMeta(), rsObjStat(), rsPamAuthRequest(), rsQuerySpecColl(), rsRegColl(), rsRegDataObj(), rsRegReplica(), rsRmColl(), rsRuleExecMod(), rsSetRoundRobinContext(), rsSimpleQuery(), rsSpecificQuery(), rsTicketAdmin(), rsUnregDataObj(), rsUserAdmin(), rsZoneReport(), svrRegDataObj(), and svrUnregColl().
int getAndConnRcatHostNoLogin | ( | rsComm_t * | rsComm, |
int | rcatType, | ||
char * | rcatZoneHint, | ||
rodsServerHost_t ** | rodsServerHost | ||
) |
Definition at line 62 of file rodsConnect.cpp.
References convZoneSockError(), getRcatHost(), LOCAL_HOST, LOG_NOTICE, REMOTE_ICAT, rodsLog(), irods.pypyodbc::status, and svrToSvrConnectNoLogin().
Referenced by rsAuthCheck().
int getAndConnReHost | ( | rsComm_t * | rsComm, |
rodsServerHost_t ** | rodsServerHost | ||
) |
Definition at line 1015 of file rodsConnect.cpp.
References getReHost(), LOCAL_HOST, LOG_NOTICE, REMOTE_HOST, rodsLog(), irods.pypyodbc::status, and svrToSvrConnect().
Referenced by rsRuleExecDel(), and rsRuleExecSubmit().
int getAndConnRemoteZone | ( | rsComm_t * | rsComm, |
dataObjInp_t * | dataObjInp, | ||
rodsServerHost_t ** | rodsServerHost, | ||
char * | remotZoneOpr | ||
) |
Definition at line 784 of file rodsConnect.cpp.
References getRemoteZoneHost(), LOCAL_HOST, LOG_ERROR, REMOTE_HOST, rodsLog(), irods.pypyodbc::status, and svrToSvrConnect().
Referenced by getAndConnRemoteZoneForCopy(), rsBulkDataObjPut(), rsCollRepl(), rsDataObjChksum(), rsDataObjCreate(), rsDataObjGet(), rsDataObjOpen(), rsDataObjPhymv(), rsDataObjPut(), rsDataObjRepl(), rsDataObjRsync(), rsDataObjTrim(), rsDataObjTruncate(), rsGetHostForGet(), rsGetHostForPut(), rsStructFileBundle(), rsStructFileExtAndReg(), and rsSyncMountedColl().
int getAndDisconnRcatHost | ( | int | rcatType, |
char * | rcatZoneHint, | ||
rodsServerHost_t ** | rodsServerHost | ||
) |
Definition at line 698 of file rodsConnect.cpp.
References getRcatHost(), NULL, rcDisconnect(), and irods.pypyodbc::status.
int getLocalZoneInfo | ( | zoneInfo_t ** | outZoneInfo | ) |
Definition at line 666 of file rodsConnect.cpp.
References LOCAL_ICAT, LOG_ERROR, zoneInfo::masterServerHost, zoneInfo::next, NULL, rodsServerHost::rcatEnabled, rodsLog(), SYS_INVALID_ZONE_NAME, and ZoneInfoHead.
Referenced by getLocalZoneName(), and getLogPathFromPhyPath().
char* getLocalZoneName | ( | ) |
Definition at line 685 of file rodsConnect.cpp.
References getLocalZoneInfo(), NULL, and zoneInfo::zoneName.
Referenced by _rsGetHierarchyForResc(), get_server_reports(), logAgentProc(), mkFileDirR(), readStartupPack(), and rsGetHierarchyForResc().
int getRcatHost | ( | int | rcatType, |
const char * | rcatZoneHint, | ||
rodsServerHost_t ** | rodsServerHost | ||
) |
Definition at line 88 of file rodsConnect.cpp.
References getZoneInfo(), rodsServerHost::localFlag, MASTER_RCAT, zoneInfo::masterServerHost, NULL, zoneInfo::slaveServerHost, and irods.pypyodbc::status.
Referenced by _rsProcStat(), agentMain(), disconnRcatHost(), get_server_reports(), getAndConnRcatHost(), getAndConnRcatHostNoLogin(), getAndConnRemoteZoneForCopy(), getAndDisconnRcatHost(), getReHost(), getRemoteZoneHost(), initServer(), isLocalZone(), resetRcatHost(), and rsProcStat().
int getReHost | ( | rodsServerHost_t ** | rodsServerHost | ) |
Definition at line 972 of file rodsConnect.cpp.
References getRcatHost(), MASTER_RCAT, rodsServerHost::next, NULL, rodsServerHost::reHostFlag, ServerHostHead, and irods.pypyodbc::status.
Referenced by getAndConnReHost(), initServerMain(), and printZoneInfo().
int getRemoteZoneHost | ( | rsComm_t * | rsComm, |
dataObjInp_t * | dataObjInp, | ||
rodsServerHost_t ** | rodsServerHost, | ||
char * | remotZoneOpr | ||
) |
Definition at line 910 of file rodsConnect.cpp.
References addKeyVal(), DataObjInp::condInput, rodsServerHost::conn, convZoneSockError(), getRcatHost(), rodsServerHost::hostName, LOCAL_HOST, LOG_ERROR, MASTER_RCAT, hostName::name, NULL, DataObjInp::objPath, rodsServerHost::rcatEnabled, rcGetRemoteZoneResc(), REMOTE_ICAT, REMOTE_ZONE_OPR_KW, resolveHost(), rodsLog(), irods.pypyodbc::status, and svrToSvrConnect().
Referenced by getAndConnRemoteZone().
int getXmsgHost | ( | rodsServerHost_t ** | rodsServerHost | ) |
Definition at line 991 of file rodsConnect.cpp.
References rodsServerHost::next, NULL, ServerHostHead, SYS_INVALID_SERVER_HOST, and rodsServerHost::xmsgHostFlag.
Referenced by initServerMain(), and printZoneInfo().
int getZoneInfo | ( | const char * | rcatZoneHint, |
zoneInfo_t ** | myZoneInfo | ||
) |
Definition at line 614 of file rodsConnect.cpp.
References getZoneNameFromHint(), LOCAL_ICAT, LOG_DEBUG, LOG_ERROR, zoneInfo::masterServerHost, NAME_LEN, zoneInfo::next, NULL, rodsServerHost::rcatEnabled, rodsLog(), irods.pypyodbc::status, SYS_INVALID_ZONE_NAME, ZoneInfoHead, and zoneInfo::zoneName.
Referenced by getRcatHost(), and mkServerHost().
int isLocalHost | ( | const char * | hostAddr | ) |
Definition at line 955 of file rodsConnect.cpp.
References rodsHostAddr_t::hostAddr, LOCAL_HOST, NAME_LEN, resolveHost(), and rstrcpy().
Referenced by getNumThreads().
int isLocalZone | ( | char * | zoneHint | ) |
Definition at line 869 of file rodsConnect.cpp.
References getRcatHost(), MASTER_RCAT, NULL, rodsServerHost::rcatEnabled, REMOTE_ICAT, irods.pypyodbc::status, and zoneHint.
Referenced by rsDataObjRsync(), rsObjStat(), and rsPhyBundleColl().
int isSameZone | ( | char * | zoneHint1, |
char * | zoneHint2 | ||
) |
Definition at line 891 of file rodsConnect.cpp.
References getZoneNameFromHint(), NAME_LEN, and NULL.
Referenced by rsDataObjRename(), and rsStructFileExtAndReg().
int matchHostConfig | ( | rodsServerHost_t * | myRodsServerHost | ) |
Definition at line 302 of file rodsConnect.cpp.
References HostConfigHead, rodsServerHost::hostName, LOCAL_HOST, rodsServerHost::localFlag, hostName::name, hostName::next, rodsServerHost::next, NULL, queConfigName(), irods.pypyodbc::status, and UNKNOWN_HOST_LOC.
Referenced by initLocalServerHost(), and mkServerHost().
rodsServerHost_t* mkServerHost | ( | char * | myHostAddr, |
char * | zoneName | ||
) |
Definition at line 110 of file rodsConnect.cpp.
References getZoneInfo(), rodsServerHost::localFlag, matchHostConfig(), NULL, queAddr(), queHostName(), irods.pypyodbc::status, UNKNOWN_HOST_LOC, and rodsServerHost::zoneInfo.
Referenced by resolveHost().
int printServerHost | ( | rodsServerHost_t * | myServerHost | ) |
Definition at line 475 of file rodsConnect.cpp.
References rodsServerHost::hostName, LOCAL_HOST, rodsServerHost::localFlag, LOG_NOTICE, hostName::name, hostName::next, NULL, rodsLog(), and rodsServerHost::zoneInfo.
Referenced by initLocalServerHost().
int printZoneInfo | ( | ) |
Definition at line 515 of file rodsConnect.cpp.
References getReHost(), getXmsgHost(), rodsServerHost::hostName, LOCAL_ICAT, LOG_ERROR, LOG_NOTICE, zoneInfo::masterServerHost, hostName::name, zoneInfo::next, NULL, zoneInfo::portNum, rodsServerHost::rcatEnabled, rodsLog(), zoneInfo::slaveServerHost, ZoneInfoHead, and zoneInfo::zoneName.
Referenced by initServer().
int queAddr | ( | rodsServerHost_t * | rodsServerHost, |
char * | myHostName | ||
) |
Definition at line 143 of file rodsConnect.cpp.
References irods::EMPTY_RESC_HOST(), get_canonical_name(), LOG_ERROR, LOG_WARNING, myHostName, NULL, ProcessType, queHostName(), rodsLog(), SERVER_PT, and SYS_GET_HOSTNAME_ERR.
Referenced by initLocalServerHost(), and mkServerHost().
int queConfigName | ( | rodsServerHost_t * | configServerHost, |
rodsServerHost_t * | myRodsServerHost | ||
) |
Definition at line 354 of file rodsConnect.cpp.
References rodsServerHost::hostName, hostName::name, hostName::next, NULL, and queHostName().
Referenced by matchHostConfig().
int queHostName | ( | rodsServerHost_t * | rodsServerHost, |
const char * | myHostName, | ||
int | topFlag | ||
) |
Definition at line 177 of file rodsConnect.cpp.
References rodsServerHost::hostName, myHostName, hostName::name, hostName::next, and NULL.
Referenced by initHostConfigByFile(), initLocalServerHost(), mkServerHost(), queAddr(), and queConfigName().
int queRodsServerHost | ( | rodsServerHost_t ** | rodsServerHostHead, |
rodsServerHost_t * | myRodsServerHost | ||
) |
Definition at line 212 of file rodsConnect.cpp.
References rodsServerHost::next, and NULL.
Referenced by initHostConfigByFile(), and resolveHost().
int queZone | ( | const char * | zoneName, |
int | portNum, | ||
rodsServerHost_t * | masterServerHost, | ||
rodsServerHost_t * | slaveServerHost | ||
) |
Definition at line 233 of file rodsConnect.cpp.
References LOG_DEBUG, LOG_ERROR, zoneInfo::masterServerHost, NAME_LEN, zoneInfo::next, NULL, zoneInfo::portNum, rodsLog(), rstrcpy(), zoneInfo::slaveServerHost, SYS_INVALID_SERVER_HOST, rodsServerHost::zoneInfo, ZoneInfoHead, and zoneInfo::zoneName.
Referenced by initServerInfo(), and initZone().
Definition at line 745 of file rodsConnect.cpp.
References rodsServerHost::conn, getRcatHost(), LOCAL_HOST, rodsServerHost::localFlag, NULL, REMOTE_HOST, and irods.pypyodbc::status.
int resoAndConnHostByDataObjInfo | ( | rsComm_t * | rsComm, |
dataObjInfo_t * | dataObjInfo, | ||
rodsServerHost_t ** | rodsServerHost | ||
) |
Definition at line 437 of file rodsConnect.cpp.
References irods::error::code(), irods::get_loc_for_hier_string(), rodsHostAddr_t::hostAddr, irods::log(), LOG_ERROR, LOG_NOTICE, NAME_LEN, NULL, irods::error::ok(), PASSMSG, REMOTE_HOST, DataObjInfo::rescHier, resolveHost(), rodsLog(), rstrcpy(), irods.pypyodbc::status, svrToSvrConnect(), and SYS_INTERNAL_NULL_INPUT_ERR.
int resolveHost | ( | rodsHostAddr_t * | addr, |
rodsServerHost_t ** | rodsServerHost | ||
) |
Definition at line 375 of file rodsConnect.cpp.
References rodsHostAddr_t::hostAddr, rodsServerHost::hostName, LOCAL_HOST, rodsServerHost::localFlag, LOG_ERROR, mkServerHost(), hostName::name, hostName::next, rodsServerHost::next, NULL, queRodsServerHost(), REMOTE_HOST, rodsLog(), ServerHostHead, irods.pypyodbc::status, SYS_INVALID_SERVER_HOST, UNKNOWN_HOST_LOC, rodsServerHost::zoneInfo, ZoneInfoHead, rodsHostAddr_t::zoneName, and zoneInfo::zoneName.
Referenced by _rsProcStat(), _rsUnbunAndRegPhyBunfile(), dataObjUnlinkS(), getRemoteZoneHost(), initRcatServerHostByFile(), initZone(), irsPhyPathReg(), isLocalHost(), irods::resource_manager::process_init_results(), resoAndConnHostByDataObjInfo(), irods::structured_object::resolve(), rsExecCmd(), rsExecMyRule(), rsFileMkdir(), rsFileRmdir(), rsPhyBundleColl(), rsSubStructFileClose(), rsSubStructFileClosedir(), rsSubStructFileCreate(), rsSubStructFileGet(), rsSubStructFileLseek(), rsSubStructFileMkdir(), rsSubStructFileOpen(), rsSubStructFileOpendir(), rsSubStructFilePut(), rsSubStructFileRead(), rsSubStructFileReaddir(), rsSubStructFileRename(), rsSubStructFileRmdir(), rsSubStructFileStat(), rsSubStructFileTruncate(), rsSubStructFileUnlink(), and rsSubStructFileWrite().
int resolveHostByDataObjInfo | ( | dataObjInfo_t * | dataObjInfo, |
rodsServerHost_t ** | rodsServerHost | ||
) |