Commit c4a11105 authored by Marc Vef's avatar Marc Vef
Browse files

Preload: Adding access() intercept for client

parent 03c6e619
Loading
Loading
Loading
Loading
+13 −14
Original line number Diff line number Diff line
//
// Created by evie on 11/15/17.
//

#ifndef IFS_GLOBAL_DEFS_HPP
#define IFS_GLOBAL_DEFS_HPP

// These definitions set the RPC's identity and which handler the receiver end should use
#define IPC_FS_CONFIG_TAG "ipc_srv_fs_config"
#define RPC_MINIMAL_TAG "rpc_minimal"
#define RPC_OPEN_TAG "rpc_srv_open"
#define RPC_STAT_TAG "rpc_srv_stat"
#define RPC_UNLINK_TAG "rpc_srv_unlink"
#define RPC_UPDATE_METADENTRY_TAG "rpc_srv_update_metadentry"
#define RPC_UPDATE_METADENTRY_SIZE_TAG "rpc_srv_update_metadentry_size"
#define RPC_WRITE_DATA_TAG "rpc_srv_write_data"
#define RPC_READ_DATA_TAG "rpc_srv_read_data"
// These constexpr set the RPC's identity and which handler the receiver end should use
namespace hg_tag {
    constexpr auto fs_config = "ipc_srv_fs_config";
    constexpr auto minimal = "rpc_minimal";
    constexpr auto open = "rpc_srv_open";
    constexpr auto access = "rpc_srv_access";
    constexpr auto stat = "rpc_srv_stat";
    constexpr auto unlink = "rpc_srv_unlink";
    constexpr auto update_metadentry = "rpc_srv_update_metadentry";
    constexpr auto update_metadentry_size = "rpc_srv_update_metadentry_size";
    constexpr auto write_data = "rpc_srv_write_data";
    constexpr auto read_data = "rpc_srv_read_data";
}

#endif //IFS_GLOBAL_DEFS_HPP
+2 −0
Original line number Diff line number Diff line
@@ -5,6 +5,8 @@

int adafs_open(const std::string& path, mode_t mode, int flags);

int adafs_access(const std::string& path, mode_t mode);

int adafs_stat(const std::string& path, struct stat* buf);

int adafs_stat64(const std::string& path, struct stat64* buf);
+3 −2
Original line number Diff line number Diff line
@@ -25,6 +25,9 @@ extern void* libc_rmdir;
extern void* libc_close;
//extern void* libc___close; //unused

extern void* libc_access;
extern void* libc_faccessat;

extern void* libc_stat;
extern void* libc_fstat;
extern void* libc___xstat;
@@ -34,8 +37,6 @@ extern void* libc___fxstat64;
extern void* libc___lxstat;
extern void* libc___lxstat64;

extern void* libc_access;

extern void* libc_puts;

extern void* libc_write;
+1 −0
Original line number Diff line number Diff line
@@ -11,6 +11,7 @@
#include <cstdint>
#include <fcntl.h>
#include <cerrno>
#include <unistd.h>

#include "../../configure.hpp"
#include <global_defs.hpp>
+2 −0
Original line number Diff line number Diff line
@@ -73,6 +73,7 @@ extern hg_addr_t daemon_svr_addr;
extern hg_id_t ipc_minimal_id;
extern hg_id_t ipc_config_id;
extern hg_id_t ipc_open_id;
extern hg_id_t ipc_access_id;
extern hg_id_t ipc_stat_id;
extern hg_id_t ipc_unlink_id;
extern hg_id_t ipc_update_metadentry_id;
@@ -83,6 +84,7 @@ extern hg_id_t ipc_read_data_id;
extern hg_id_t rpc_minimal_id;
extern hg_id_t rpc_open_id;
extern hg_id_t rpc_stat_id;
extern hg_id_t rpc_access_id;
extern hg_id_t rpc_unlink_id;
extern hg_id_t rpc_update_metadentry_id;
extern hg_id_t rpc_update_metadentry_size_id;
Loading