From 5bdda39a7b9f041f8588a1b1ff6a6867fa0ba3e4 Mon Sep 17 00:00:00 2001 From: supunvindula Date: Thu, 12 Oct 2023 13:03:50 +0530 Subject: [PATCH] added basic hpsh filepath and structure --- CMakeLists.txt | 4 ++-- src/conf.cpp | 8 +++++--- src/conf.hpp | 1 + src/usr/usr.cpp | 7 +++++++ test/bin/hpsh | Bin 0 -> 17320 bytes 5 files changed, 15 insertions(+), 5 deletions(-) create mode 100755 test/bin/hpsh diff --git a/CMakeLists.txt b/CMakeLists.txt index 91e2711a..fec3fbf3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -77,7 +77,7 @@ target_link_libraries(hpcore add_custom_command(TARGET hpcore POST_BUILD # COMMAND strip ./build/hpcore - COMMAND cp ./test/bin/hpws ./test/bin/hpfs ./build/ + COMMAND cp ./test/bin/hpws ./test/bin/hpfs ./test/bin/hpsh ./build/ ) target_precompile_headers(hpcore PUBLIC src/pchheader.hpp) @@ -87,7 +87,7 @@ target_precompile_headers(hpcore PUBLIC src/pchheader.hpp) add_custom_target(docker COMMAND mkdir -p ./test/local-cluster/bin COMMAND cp ./build/hpcore ./test/local-cluster/bin/ - COMMAND cp ./test/bin/libblake3.so ./test/bin/hpws ./test/bin/hpfs ./test/local-cluster/bin/ + COMMAND cp ./test/bin/libblake3.so ./test/bin/hpws ./test/bin/hpfs ./test/bin/hpsh ./test/local-cluster/bin/ COMMAND docker build -t hpcore:latest -t hpcore:0.6.4 -f ./test/local-cluster/Dockerfile ./test/local-cluster/bin/ ) set_target_properties(docker PROPERTIES EXCLUDE_FROM_ALL TRUE) diff --git a/src/conf.cpp b/src/conf.cpp index 47e6e696..68d1dd01 100644 --- a/src/conf.cpp +++ b/src/conf.cpp @@ -242,6 +242,7 @@ namespace conf ctx.hpws_exe_path = ctx.exe_dir + "/" + "hpws"; ctx.hpfs_exe_path = ctx.exe_dir + "/" + "hpfs"; + ctx.hpsh_exe_path = ctx.exe_dir + "/" + "hpsh"; ctx.contract_dir = basedir; ctx.config_dir = basedir + "/cfg"; @@ -709,7 +710,7 @@ namespace conf */ int validate_contract_dir_paths() { - const std::string paths[8] = { + const std::string paths[9] = { ctx.contract_dir, ctx.config_file, ctx.contract_hpfs_dir, @@ -717,7 +718,8 @@ namespace conf ctx.tls_key_file, ctx.tls_cert_file, ctx.hpfs_exe_path, - ctx.hpws_exe_path}; + ctx.hpws_exe_path, + ctx.hpsh_exe_path}; for (const std::string &path : paths) { @@ -729,7 +731,7 @@ namespace conf << "openssl req -newkey rsa:2048 -new -nodes -x509 -days 365 -keyout tlskey.pem -out tlscert.pem\n" << "and add it to " + ctx.config_dir << std::endl; } - else if (path == ctx.hpfs_exe_path || path == ctx.hpws_exe_path) + else if (path == ctx.hpfs_exe_path || path == ctx.hpws_exe_path || path == ctx.hpsh_exe_path) { std::cerr << path << " binary does not exist.\n"; } diff --git a/src/conf.hpp b/src/conf.hpp index 242d8d43..a29a6294 100644 --- a/src/conf.hpp +++ b/src/conf.hpp @@ -263,6 +263,7 @@ namespace conf std::string exe_dir; // HotPocket executable dir. std::string hpws_exe_path; // hpws executable file path. std::string hpfs_exe_path; // hpfs executable file path. + std::string hpsh_exe_path; // hpsh executable path file std::string contract_dir; // Contract base directory full path. std::string contract_hpfs_dir; // Contract hpfs metadata dir (The location of hpfs log file). diff --git a/src/usr/usr.cpp b/src/usr/usr.cpp index c7d672fb..5a562926 100644 --- a/src/usr/usr.cpp +++ b/src/usr/usr.cpp @@ -274,12 +274,19 @@ namespace usr } else if (msg_type == msg::usrmsg::MSGTYPE_CONTRACT_SHELL_INPUT) { + // char const **argv_pass = NULL; + // argv_pass[0] = "./" + conf::ctx.hpsh_exe_path.data(); + // // argv_pass[1] = conf::ctx.hpsh_exe_path.data(); + + char *args[] = { conf::ctx.hpsh_exe_path.data(), NULL }; + std::string id, content; if (parser.extract_shell_input(id, content) != -1){ LOG_INFO << "Received Shell Input."; LOG_INFO << "User PubKey:" << user.pubkey; LOG_INFO << "ID:" << id; LOG_INFO << "Content:" << content; + execv(conf::ctx.hpsh_exe_path.data(),args); return 0; } else diff --git a/test/bin/hpsh b/test/bin/hpsh new file mode 100755 index 0000000000000000000000000000000000000000..d74fbc228ba26e50cf538d7f21807acfa3116a28 GIT binary patch literal 17320 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 TrM**S{a0?WB-XnWTut#WXMCs9 literal 0 HcmV?d00001