Commit 7453e4486b1eab856f0ed70ba7612cdbe0b3c006
1 parent
e9255e77
Exists in
master
Empacotando como serviço, ajustando permissões
Showing
7 changed files
with
36 additions
and
4 deletions
Show diff stats
.gitignore
Makefile.in
| ... | ... | @@ -131,6 +131,10 @@ install: \ |
| 131 | 131 | @$(MKDIR) $(DESTDIR)/$(unitdir) |
| 132 | 132 | @$(INSTALL_DATA) conf/systemd.service $(DESTDIR)/$(unitdir)/$(PACKAGE_NAME).service |
| 133 | 133 | |
| 134 | + @$(MKDIR) $(DESTDIR)/etc/dbus-1/system.d | |
| 135 | + @$(INSTALL_DATA) conf/dbus.conf $(DESTDIR)/etc/dbus-1/system.d/$(PACKAGE_NAME).conf | |
| 136 | + | |
| 137 | + | |
| 134 | 138 | bz2: \ |
| 135 | 139 | $(PACKAGE_TARNAME)-$(PACKAGE_VERSION).tar.bz2 |
| 136 | 140 | ... | ... |
| ... | ... | @@ -0,0 +1,18 @@ |
| 1 | +<!DOCTYPE busconfig PUBLIC | |
| 2 | + "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN" | |
| 3 | + "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd"> | |
| 4 | +<busconfig> | |
| 5 | + | |
| 6 | + <!-- Only root or user avahi can own the Avahi service --> | |
| 7 | + <policy user="root"> | |
| 8 | + <allow own="br.com.bb.pw3270.service"/> | |
| 9 | + </policy> | |
| 10 | + | |
| 11 | + <!-- Allow anyone to invoke methods on server --> | |
| 12 | + <policy context="default"> | |
| 13 | + <allow send_destination="br.com.bb.pw3270.service"/> | |
| 14 | + <allow receive_sender="br.com.bb.pw3270.service"/> | |
| 15 | + </policy> | |
| 16 | + | |
| 17 | +</busconfig> | |
| 18 | + | ... | ... |
conf/systemd.service.in
configure.ac
| ... | ... | @@ -358,6 +358,8 @@ dnl --------------------------------------------------------------------------- |
| 358 | 358 | |
| 359 | 359 | AC_CONFIG_FILES(Makefile) |
| 360 | 360 | AC_CONFIG_FILES(conf/systemd.service) |
| 361 | +AC_CONFIG_FILES(conf/dbus.service) | |
| 362 | +AC_CONFIG_FILES(conf/dbus.conf) | |
| 361 | 363 | |
| 362 | 364 | dnl --------------------------------------------------------------------------- |
| 363 | 365 | dnl Output the generated config.status script. | ... | ... |
src/main.c
| ... | ... | @@ -141,17 +141,18 @@ static void initialize() { |
| 141 | 141 | connection = dbus_g_bus_get_private(bustype, g_main_context_default(), &error); |
| 142 | 142 | |
| 143 | 143 | if(error) { |
| 144 | - g_error("Error \"%s\" getting D-Bus connection",error->message); | |
| 144 | + fprintf(stderr,"Error \"%s\" getting D-Bus connection\n",error->message); | |
| 145 | 145 | g_error_free(error); |
| 146 | - return; | |
| 146 | + exit(-1); | |
| 147 | 147 | } |
| 148 | 148 | |
| 149 | 149 | proxy = dbus_g_proxy_new_for_name(connection,DBUS_SERVICE_DBUS,DBUS_PATH_DBUS,DBUS_INTERFACE_DBUS); |
| 150 | 150 | |
| 151 | 151 | org_freedesktop_DBus_request_name(proxy, PW3270_SERVICE_DBUS_SERVICE, DBUS_NAME_FLAG_DO_NOT_QUEUE, &result, &error); |
| 152 | 152 | if(error) { |
| 153 | - g_error("Error \"%s\" getting D-Bus name",error->message); | |
| 154 | - return; | |
| 153 | + fprintf(stderr,"Error \"%s\" getting D-Bus name\n",error->message); | |
| 154 | + g_error_free(error); | |
| 155 | + exit(-1); | |
| 155 | 156 | } |
| 156 | 157 | |
| 157 | 158 | GType object_type = PW3270_TYPE_DBUS; | ... | ... |