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)  

rodsAgent.cpp File Reference
#include <syslog.h>
#include "rodsAgent.hpp"
#include "reconstants.hpp"
#include "rsApiHandler.hpp"
#include "icatHighLevelRoutines.hpp"
#include "miscServerFunct.hpp"
#include "irods_socket_information.hpp"
#include "irods_dynamic_cast.hpp"
#include "irods_signal.hpp"
#include "irods_client_server_negotiation.hpp"
#include "irods_network_factory.hpp"
#include "irods_auth_object.hpp"
#include "irods_auth_factory.hpp"
#include "irods_auth_manager.hpp"
#include "irods_auth_plugin.hpp"
#include "irods_auth_constants.hpp"
#include "irods_environment_properties.hpp"
#include "irods_server_properties.hpp"
#include "irods_server_api_table.hpp"
#include "irods_client_api_table.hpp"
#include "irods_pack_table.hpp"
#include "irods_server_state.hpp"
#include "irods_threads.hpp"
#include "irods_re_plugin.hpp"
#include "irods_re_serialization.hpp"
#include "procLog.h"
#include "initServer.hpp"
#include "sockCommNetworkInterface.hpp"
#include "sslSockComm.h"
#include "sys/socket.h"
#include "sys/un.h"
#include "sys/wait.h"
Include dependency graph for rodsAgent.cpp:

Go to the source code of this file.

Functions

ssize_t receiveSocketFromSocket (int readFd, int *socket)
 
static void set_agent_process_name (const InformationRequiredToSafelyRenameProcess &info, const int socket_fd)
 
int receiveDataFromServer (int conn_tmp_socket)
 
void irodsAgentSignalExit (int)
 
int runIrodsAgentFactory (sockaddr_un agent_addr)
 
static void set_rule_engine_globals (rsComm_t *_comm)
 
int agentMain (rsComm_t *rsComm)
 

Function Documentation

◆ agentMain()

◆ irodsAgentSignalExit()

void irodsAgentSignalExit ( int  )

Definition at line 178 of file rodsAgent.cpp.

References rmProcLog().

Referenced by runIrodsAgentFactory().

Here is the call graph for this function:

◆ receiveDataFromServer()

int receiveDataFromServer ( int  conn_tmp_socket)

Definition at line 85 of file rodsAgent.cpp.

References LOG_ERROR, NULL, receiveSocketFromSocket(), rodsLog(), SP_NEW_SOCK, irods.pypyodbc::status, and SYS_SOCK_READ_ERR.

Referenced by runIrodsAgentFactory().

Here is the call graph for this function:

◆ receiveSocketFromSocket()

ssize_t receiveSocketFromSocket ( int  readFd,
int socket 
)

Definition at line 43 of file rodsAgent.cpp.

Referenced by receiveDataFromServer().

◆ runIrodsAgentFactory()

int runIrodsAgentFactory ( sockaddr_un  agent_addr)

Definition at line 188 of file rodsAgent.cpp.

References agentMain(), rsComm_t::auth_scheme, irods::environment_properties::capture(), irods::server_properties::capture(), irods::CFG_SERVICE_ROLE_PROVIDER(), chkAllowedUser(), chkLogfileName(), chlDebug(), cleanup(), cleanupAndExit(), irods::client_server_negotiation_for_server(), rsComm_t::clientUser, irods::error::code(), rsComm_t::cookie, irods::CS_NEG_FAILURE(), get_catalog_service_role(), irods::get_client_api_table(), irods::get_pack_table(), irods::get_server_api_table(), getLogfileName(), getRodsEnv(), irods::init_api_table(), initAgent(), initProcLog(), initRsCommWithStartupPack(), irods::environment_properties::instance(), irods::server_properties::instance(), irodsAgentSignalExit(), irods::log(), LOG_DEBUG, LOG_ERROR, LOG_NOTICE, logAgentProc(), LogFd, rsComm_t::myEnv, rsComm_t::negotiation_results, irods::network_factory(), NULL, irods::error::ok(), PASS, irods::re_plugin_globals, receiveDataFromServer(), rsComm_t::reconnAddr, rsComm_t::reconnPort, register_handlers(), irods::error::result(), rmProcLog(), RODS_LOGFILE, rodsEnv::rodsDebug, rodsLog(), userInfo_t::rodsZone, RsApiTable, RULE_ENGINE_TRY_CACHE, sendVersion(), SERVER_NEGOTIATION_ERROR, setRECacheSaltFromEnv(), sockAgentStart, sockAgentStop, irods.pypyodbc::status, SYS_AGENT_INIT_ERR, SYS_FORK_ERROR, SYS_INTERNAL_ERR, SYS_SOCK_ACCEPT_ERR, SYS_SOCK_BIND_ERR, SYS_SOCK_LISTEN_ERR, SYS_SOCK_OPEN_ERR, SYS_SOCK_READ_ERR, SYS_SOCK_SELECT_ERR, rsComm_t::thread_ctx, and userInfo_t::userName.

Referenced by main().

Here is the call graph for this function:

◆ set_agent_process_name()

static void set_agent_process_name ( const InformationRequiredToSafelyRenameProcess info,
const int  socket_fd 
)
static

Definition at line 70 of file rodsAgent.cpp.

References InformationRequiredToSafelyRenameProcess::argv0, InformationRequiredToSafelyRenameProcess::argv0_size, terminate_irods_processes::e, LOG_ERROR, rodsLog(), and socket_fd_to_remote_address().

Here is the call graph for this function:

◆ set_rule_engine_globals()

static void set_rule_engine_globals ( rsComm_t _comm)
static

Definition at line 550 of file rodsAgent.cpp.

References authInfo_t::authFlag, userInfo_t::authInfo, irods::CLIENT_USER_NAME_KW(), irods::CLIENT_USER_PRIV_KW(), irods::CLIENT_USER_ZONE_KW(), rsComm_t::clientUser, irods::PROXY_USER_NAME_KW(), irods::PROXY_USER_PRIV_KW(), irods::PROXY_USER_ZONE_KW(), rsComm_t::proxyUser, userInfo_t::rodsZone, and userInfo_t::userName.

Referenced by agentMain().

Here is the call graph for this function: