sidorares/dbus-native

Abstract-socket prevent from being truly native

sdumetz opened this issue · 5 comments

the abstract-socket dependency is compiled. It goes against this module being truly javascript-native.

Why does it matter? I use electron and module recompilation is quite a pain in numerous cases.

While i've seen abstract sockets before, I have no idea if a pure js + native core modules implementation would be possible?

No, native core does not support abstract sockets. Its currently in optional dependencies and it's still possible to use module if abstract-socket is not installed.

Usually system bus is exposed with unix socket and session bus - using abstract socket address

is anything going to be done on this issue?

No, unless abstract sockets are supported by core node ( it's relatively trivial change, Python for example have it in core networking ) but given that userland module works well and that is linux-only functionality it's very unlikely to happen. As a workaround we could include another dependency - socat binary installed locally, and pipe to socat process which would forward stdin to linux abstract socket, but I think not worth effort.

actually there are some changes in libuv that might allow abstract sockets ( not expecting zero-terminated string as input ). I'll do some more research and reopen if find anything