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.
27 irods::log(
PASSMSG(
"rsChkNVPathPerm - failed in call to irods::get_host_for_hier_string", ret ) );
31 if ( remoteFlag < 0 ) {
49 "rsChkNVPathPermByHost: Input NULL rodsServerHost" );
62 if ( remoteFlag < 0 ) {
67 "rsChkNVPathPerm: resolveHost returned unrecognized value %d",
83 "remoteChkNVPathPerm: Invalid rodsServerHost" );
96 "remoteChkNVPathPerm: rcChkNVPathPerm failed for %s",
105 struct stat myFileStat;
111 if ( chkNVPathPermInp->
objPath[0] ==
'\0' ) {
112 std::stringstream msg;
114 msg <<
" - Empty logical path.";
125 else if ( sysUid == 0 ) {
138 len = strlen( tmpPath );
149 stat_err =
fileStat( rsComm, file_obj, &myFileStat );
150 if ( stat_err.
code() >= 0 ) {
153 else if ( errno == EEXIST ||
getErrno( stat_err.
code() ) == EEXIST ) {
156 tmpPtr = tmpPath + len;
160 if ( *tmpPtr ==
'/' ) {
180 if ( stat_err.
code() < 0 ) {
184 if ( sysUid != (
int ) myFileStat.st_uid &&
185 ( myFileStat.st_mode & S_IWOTH ) == 0 ) {
void rodsLog(int level, const char *formatStr,...)
@ SYS_INTERNAL_NULL_INPUT_ERR
@ SYS_UNRECOGNIZED_REMOTE_FLAG
char resc_hier_[(1024+64)]
#define PASSMSG(message_, prev_error_)
int rsChkNVPathPermByHost(rsComm_t *rsComm, fileOpenInp_t *chkNVPathPermInp, rodsServerHost_t *rodsServerHost)
int _rsChkNVPathPerm(rsComm_t *rsComm, fileOpenInp_t *chkNVPathPermInp)
error get_host_for_hier_string(const std::string &, int &, rodsServerHost_t *&)
int getErrno(int errCode)
@ SYS_INVALID_SERVER_HOST
int svrToSvrConnect(rsComm_t *rsComm, rodsServerHost_t *rodsServerHost)
int rcChkNVPathPerm(rcComm_t *conn, fileOpenInp_t *chkNVPathPermInp)
int getUnixUid(char *userName)
int rsChkNVPathPerm(rsComm_t *rsComm, fileOpenInp_t *chkNVPathPermInp)
irods::error fileStat(rsComm_t *, irods::first_class_object_ptr, struct stat *)
boost::shared_ptr< file_object > file_object_ptr
char * rstrcpy(char *dest, const char *src, int maxLen)
int remoteChkNVPathPerm(rsComm_t *rsComm, fileOpenInp_t *chkNVPathPermInp, rodsServerHost_t *rodsServerHost)