Возможности исполняемого файла node.js не наследуются от собственного дополненияLinux

Ответить Пред. темаСлед. тема
Anonymous
 Возможности исполняемого файла node.js не наследуются от собственного дополнения

Сообщение Anonymous »

Я пытаюсь отладить проблему с модулем npm "raw-socket".
Для этого я написал дополнение C++, которое печатает возможности запущенного исполняемого файла. (в данном случае node):
addon.cc

Код: Выделить всё

#include 
#include 
#include 
#include 
#include 

void print_capabilities(const char *process_name) {
cap_t caps;
char *caps_text;

caps = cap_get_proc();
if (caps == NULL) {
perror("cap_get_proc");
return;
}

caps_text = cap_to_text(caps, NULL);
if (caps_text == NULL) {
perror("cap_to_text");
cap_free(caps);
return;
}

printf("%s capabilities: %s\n", process_name, caps_text);

// Freigeben des Speichers
cap_free(caps_text);
cap_free(caps);
}

Napi::Value ForkAndPrintCapabilities(const Napi::CallbackInfo& info) {
Napi::Env env = info.Env();

printf("Hallo from main\n");
print_capabilities("Main");

return Napi::String::New(env, "Fork and capabilities printed.");
}

Napi::Object Init(Napi::Env env, Napi::Object exports) {
exports.Set(Napi::String::New(env, "forkAndPrintCapabilities"), Napi::Function::New(env, ForkAndPrintCapabilities));
return exports;
}

NODE_API_MODULE(addon, Init)
index.js

Код: Выделить всё

const addon = require('./build/Release/addon');

console.log("Exectuable:", process.execPath);
addon.forkAndPrintCapabilities();
binding.gyp

Код: Выделить всё

{
"targets": [
{
"target_name": "addon",
"sources": ["addon.cc"],
"include_dirs": [
"

Подробнее здесь: [url]https://stackoverflow.com/questions/78496672/node-js-exectuale-capabilites-are-not-inherited-to-native-addon[/url]
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Linux»