jeanparpaillon / erlang-dbus Goto Github PK
View Code? Open in Web Editor NEWErlang DBUS implementation (forked from unmaintained erlang-dbus)
License: Apache License 2.0
Erlang DBUS implementation (forked from unmaintained erlang-dbus)
License: Apache License 2.0
the project looks interresting but it lacks of a user documentation and/or examples. What is the status about that? Any ETA? Do you have any example I could look at?
Executing 'make test' some tests fail due to missing DBUS service 'net.lizenn.dbus.SampleService'
Either the README should state that the following Python script should be started before running 'make test' or the corresponding Makefile rule in file erlang.mk should start/stop the script, eg:
diff --git a/erlang.mk b/erlang.mk
index 98db78b..39ed906 100644
--- a/erlang.mk
+++ b/erlang.mk
@@ -890,7 +890,9 @@ ct:
else
ct: test-build
@mkdir -p logs/
+ ./test/dbus_client_SUITE_data/example-service.py & echo $$! > /tmp/example-service.pid
$(gen_verbose) $(CT_RUN) -suite $(addsuffix _SUITE,$(CT_SUITES)) $(CT_OPTS)
+ kill `cat /tmp/example-service.pid`
endif
BTW: even if the example-service is available, I see the following error reports, but the test-report shows 0 failures.
=ERROR REPORT==== 13-Aug-2015::06:55:18 ===
Bad input fd in erts_poll()! fd=18, port=#Port<0.2238>, driver=inert_drv, name=inert_drv
@jeanparpaillon I have questions. And I want start from this "use OTP-style Makefiles". What do you mean? I look at https://github.com/richcarl/merl/blob/master/Makefile (was include to otp) and need make similar?
DBUS_COOKIE_SHA1 auth is broken
--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/32447668-broken-dbus_cookie_sha1-auth?utm_campaign=plugin&utm_content=tracker%2F2587299&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F2587299&utm_medium=issues&utm_source=github).If we look at the code for dbus_service_reg:handle_call({export_service,ServiceName}...) we see a call to dbus_bus_reg:export_service(undefined, ServiceName), which then exports to each bus.
The reason we have separate busses in dbus is separation of concerns, to separate system messages from session messages for example. Exporting a service to every bus is simply the wrong thing to do.
A grep of the source shows that dbus_bus_reg:export_service and dbus_bus_reg:unexport service are only called from dbus_service_reg.
I suggest therefore that dbus_service_reg be removed from the repository, its associated start command removed from dbus_sup and export and unexport be removed from dbus_bus_reg.
Tony
When available, use UDS support from standard OTP.
gen_fsm
module has been replaced by gen_statem
in OTP
Hi @jeanparpaillon As you said I have opened it as an issue to discuss about proceedings for the project idea of D-Bus Service_Behaviour. Can you please provide me with some information, may be to assign me some bugs as a starting point. Also provide links to the relevant stuff (project specific).
Thanks :)
dbus_peer_connection uses ad-hoc call queing when not authenticated.
We can leverage the postpone
action of gen_statem for this
Hi there,
I have a silly question, how can I disable logging in this project?
Is it possible to add an option to to main app and configure the log level?
The http fetch is not working right now. I would go ahead and include rebar, or let the user provide it: REBAR=rebar
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Hi @jeanparpaillon
Just to get an understanding of what would this entail, is the idea to implement all the SASL mechanisms (https://en.wikipedia.org/wiki/Simple_Authentication_and_Security_Layer#SASL_mechanisms)?
Commit b0bde84 'temporarily' disabled the gen_dbus
module, rendering the demo example impossible to run. Sadly, renaming gen_dbus.erl.bak
to gen_dbus.erl
and re-compiling does not help, since at least one macro is missing (HEADER_MEMBER
). Even after defining such macro, and fixing some other issues, the furthers one gets when starting the dbus_demo
application is to a badarg
error on the binary:split/3
call on dbus_auth_cookie_sha1
module (line 24).
Same behaviour is observed by simply starting dbus (dbus:start()
) and then running dbus:connect(session)
.
Hi,
I'm the creator of pydbus, DBus bindings for Python. I've stumbled upon the case of bytestrings - ay - which are commonly used to send non-Unicode data over DBus.
Because of the GDBus's API, apps commonly require these strings to be '\0'-terminated. And that's completely unintuitive for high-level languages, and something that requires the user to read API docs.
I'm thinking about solving the problem automatically, and I see two solutions:
Whatever we choose, the solution should be agreed upon by authors of bindings for all languages. That's why I'm here.
Do you have any experience with "ay"-encoded bytestrings?
Relevant discussion: LEW21/pydbus#27 (please reply there, I've opened similar issues in 8 different projects to get attention of bindings authors)
I am trying to add dbus support to my phoenix app
$ mix deps.compile dbus
WARN: Missing plugins: [rebar3_hex]
==> dbus (compile)
Compiling src/dbus_transport_unix.erl failed:
src/dbus_transport_unix.erl:15: can't find include lib "procket/include/procket.hrl"
src/dbus_transport_unix.erl:56: undefined macro 'PF_LOCAL'
src/dbus_transport_unix.erl:154: undefined macro 'UNIX_PATH_MAX'
src/dbus_transport_unix.erl:21: function init/1 undefined
ERROR: compile failed while processing /vagrant/deps/dbus: rebar_abort
I've removed src/dbus_transport_unix.erl
and it compiles properly.
Erlang/OTP 18 [erts-7.0] [source] [64-bit] [smp:4:4] [ds:4:4:10] [async-threads:10] [hipe] [kernel-poll:false]
Elixir 1.2.0
This bug looks like string size limit:
erocci/erocci_backend_dbus#10
release it on hex.pm so we can use it as a dependency easily in rebar3
or elixir projects
Hi. I use mac os x. I can try run dbus on mac, but I don't think that it's good idea. And i think about vagrantfile for dev/tests. What do you think?
The following java code is implementing erocci backend D-Bus interface (see https://github.com/erocci/erocci_backend_dbus):
https://github.com/Scalair-OpenSource/eroccijavabackendsample
When calling Introspect method, unmarshaling fail in decoding headers.
String length is incorrect, see:
https://github.com/lizenn/erlang-dbus/blob/master/src/dbus_marshaller.erl#L692
Initially had a call to dbus_dbus:env_to_bus_id/0 which was not exported.'
Tried changing that to dbus_dbus_connection:get_bus_id(session) but then failed at dbus_dbus_reg:get_bus where dbus_bus:init/1 called dbus_connection:start_link which does not exist.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
In introspection XML format, 'name' attribute is optional. But actually, absence of 'name' causes a crash
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.