* [PATCH 1/2 v3] Allow greeter to start dbus @ 2019-01-06 18:31 Sugar, David 2019-01-06 18:31 ` [PATCH 2/2 v3] pam_faillock creates files in /run/faillock Sugar, David 2019-01-06 18:57 ` [PATCH 1/2 v3] Allow greeter to start dbus Chris PeBenito 0 siblings, 2 replies; 4+ messages in thread From: Sugar, David @ 2019-01-06 18:31 UTC (permalink / raw) To: selinux-refpolicy The display manager lightdm (and I think gdm) start a dbus binary. v3 - Updated based on feedback type=AVC msg=audit(1544626796.378:201): avc: denied { execute } for pid=9973 comm="dbus-launch" name="dbus-daemon" dev="dm-1" ino=6695040 scontext=system_u:system_r:xdm_t:s0-s0:c0.c1023 tcontext=system_u:object_r:dbusd_exec_t:s0 tclass=file permissive=1 type=AVC msg=audit(1544626796.378:201): avc: denied { read open } for pid=9973 comm="dbus-launch" path="/usr/bin/dbus-daemon" dev="dm-1" ino=6695040 scontext=system_u:system_r:xdm_t:s0-s0:c0.c1023 tcontext=system_u:object_r:dbusd_exec_t:s0 tclass=file permissive=1 type=AVC msg=audit(1544626796.378:201): avc: denied { execute_no_trans } for pid=9973 comm="dbus-launch" path="/usr/bin/dbus-daemon" dev="dm-1" ino=6695040 scontext=system_u:system_r:xdm_t:s0-s0:c0.c1023 tcontext=system_u:object_r:dbusd_exec_t:s0 tclass=file permissive=1 type=AVC msg=audit(1544626796.378:201): avc: denied { map } for pid=9973 comm="dbus-daemon" path="/usr/bin/dbus-daemon" dev="dm-1" ino=6695040 scontext=system_u:system_r:xdm_t:s0-s0:c0.c1023 tcontext=system_u:object_r:dbusd_exec_t:s0 tclass=file permissive=1 type=AVC msg=audit(1546551459.112:208): avc: denied { getcap } for pid=6275 comm="dbus-daemon" scontext=system_u:system_r:xdm_t:s0-s0:c0.c1023 tcontext=system_u:system_r:xdm_t:s0-s0:c0.c1023 tclass=process permissive=1 type=AVC msg=audit(1546551459.116:209): avc: denied { read } for pid=6275 comm="dbus-daemon" name="995" dev="tmpfs" ino=35210 scontext=system_u:system_r:xdm_t:s0-s0:c0.c1023 tcontext=system_u:object_r:systemd_logind_var_run_t:s0 tclass=file permissive=1 type=AVC msg=audit(1546551459.116:209): avc: denied { open } for pid=6275 comm="dbus-daemon" path="/run/systemd/users/995" dev="tmpfs" ino=35210 scontext=system_u:system_r:xdm_t:s0-s0:c0.c1023 tcontext=system_u:object_r:systemd_logind_var_run_t:s0 tclass=file permissive=1 type=AVC msg=audit(1546551459.116:210): avc: denied { getattr } for pid=6275 comm="dbus-daemon" path="/run/systemd/users/995" dev="tmpfs" ino=35210 scontext=system_u:system_r:xdm_t:s0-s0:c0.c1023 tcontext=system_u:object_r:systemd_logind_var_run_t:s0 tclass=file permissive=1 Signed-off-by: Dave Sugar <dsugar@tresys.com> --- policy/modules/services/dbus.if | 19 +++++++++++++++++++ policy/modules/services/xserver.te | 7 +++++++ 2 files changed, 26 insertions(+) diff --git a/policy/modules/services/dbus.if b/policy/modules/services/dbus.if index ef829e30..c815791e 100644 --- a/policy/modules/services/dbus.if +++ b/policy/modules/services/dbus.if @@ -17,6 +17,25 @@ interface(`dbus_stub',` ') ') +######################################## +## <summary> +## Execute dbus in the caller domain. +## </summary> +## <param name="domain"> +## <summary> +## Domain allowed access. +## </summary> +## </param> +# +interface(`dbus_exec',` + gen_require(` + type dbusd_exec_t; + ') + + corecmd_search_bin($1) + can_exec($1, dbusd_exec_t) +') + ######################################## ## <summary> ## Role access for dbus. diff --git a/policy/modules/services/xserver.te b/policy/modules/services/xserver.te index fa7ce88e..c7714d3e 100644 --- a/policy/modules/services/xserver.te +++ b/policy/modules/services/xserver.te @@ -566,12 +566,19 @@ optional_policy(` ') optional_policy(` + allow xdm_t self:process getcap; + + dbus_exec(xdm_t) dbus_system_bus_client(xdm_t) dbus_connect_system_bus(xdm_t) optional_policy(` accountsd_dbus_chat(xdm_t) ') + + optional_policy(` + systemd_read_logind_pids(xdm_t) + ') ') optional_policy(` -- 2.20.1 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 2/2 v3] pam_faillock creates files in /run/faillock 2019-01-06 18:31 [PATCH 1/2 v3] Allow greeter to start dbus Sugar, David @ 2019-01-06 18:31 ` Sugar, David 2019-01-06 18:57 ` Chris PeBenito 2019-01-06 18:57 ` [PATCH 1/2 v3] Allow greeter to start dbus Chris PeBenito 1 sibling, 1 reply; 4+ messages in thread From: Sugar, David @ 2019-01-06 18:31 UTC (permalink / raw) To: selinux-refpolicy These are changes needed when pam_fallock creates files in /run/faillock (which is labeled faillog_t). sudo and xdm (and probably other domains) will create files in this directory for successful and failed login attempts. v3 - Updated based on feedback type=AVC msg=audit(1545153126.899:210): avc: denied { search } for pid=8448 comm="lightdm" name="faillock" dev="tmpfs" ino=39318 scontext=system_u:system_r:xdm_t:s0-s0:c0.c1023 tcontext=system_u:object_r:faillog_t:s0 tclass=dir permissive=1 type=AVC msg=audit(1545153131.090:214): avc: denied { write } for pid=8448 comm="lightdm" name="faillock" dev="tmpfs" ino=39318 scontext=system_u:system_r:xdm_t:s0-s0:c0.c1023 tcontext=system_u:object_r:faillog_t:s0 tclass=dir permissive=1 type=AVC msg=audit(1545153131.090:214): avc: denied { add_name } for pid=8448 comm="lightdm" name="dsugar" scontext=system_u:system_r:xdm_t:s0-s0:c0.c1023 tcontext=system_u:object_r:faillog_t:s0 tclass=dir permissive=1 type=AVC msg=audit(1545153131.090:214): avc: denied { create } for pid=8448 comm="lightdm" name="dsugar" scontext=system_u:system_r:xdm_t:s0-s0:c0.c1023 tcontext=system_u:object_r:faillog_t:s0 tclass=file permissive=1 type=AVC msg=audit(1545153131.091:215): avc: denied { setattr } for pid=8448 comm="lightdm" name="dsugar" dev="tmpfs" ino=87599 scontext=system_u:system_r:xdm_t:s0-s0:c0.c1023 tcontext=system_u:object_r:faillog_t:s0 tclass=file permissive=1 type=AVC msg=audit(1545167205.531:626): avc: denied { search } for pid=8264 comm="sudo" name="faillock" dev="tmpfs" ino=35405 scontext=sysadm_u:sysadm_r:cleaner_applyconfig_sudo_t:s0-s0:c0.c1023 tcontext=system_u:object_r:faillog_t:s0 tclass=dir permissive=1 type=AVC msg=audit(1545167205.531:627): avc: denied { write } for pid=8264 comm="sudo" name="faillock" dev="tmpfs" ino=35405 scontext=sysadm_u:sysadm_r:cleaner_applyconfig_sudo_t:s0-s0:c0.c1023 tcontext=system_u:object_r:faillog_t:s0 tclass=dir permissive=1 type=AVC msg=audit(1545167205.531:627): avc: denied { add_name } for pid=8264 comm="sudo" name="root" scontext=sysadm_u:sysadm_r:cleaner_applyconfig_sudo_t:s0-s0:c0.c1023 tcontext=system_u:object_r:faillog_t:s0 tclass=dir permissive=1 type=AVC msg=audit(1545167205.531:627): avc: denied { create } for pid=8264 comm="sudo" name="root" scontext=sysadm_u:sysadm_r:cleaner_applyconfig_sudo_t:s0-s0:c0.c1023 tcontext=sysadm_u:object_r:faillog_t:s0 tclass=file permissive=1 Signed-off-by: Dave Sugar <dsugar@tresys.com> --- policy/modules/admin/sudo.if | 2 +- policy/modules/services/xserver.te | 1 - policy/modules/system/authlogin.if | 38 ++++++++++++++++++++++++++++++ 3 files changed, 39 insertions(+), 2 deletions(-) diff --git a/policy/modules/admin/sudo.if b/policy/modules/admin/sudo.if index 01f408ef..1c1fbe7b 100644 --- a/policy/modules/admin/sudo.if +++ b/policy/modules/admin/sudo.if @@ -116,8 +116,8 @@ template(`sudo_role_template',` auth_run_chk_passwd($1_sudo_t, $2) # sudo stores a token in the pam_pid directory auth_manage_pam_pid($1_sudo_t) + auth_use_pam($1_sudo_t) auth_pid_filetrans_pam_var_run($1_sudo_t, dir, "sudo") - auth_use_nsswitch($1_sudo_t) init_rw_utmp($1_sudo_t) diff --git a/policy/modules/services/xserver.te b/policy/modules/services/xserver.te index c7714d3e..edac2833 100644 --- a/policy/modules/services/xserver.te +++ b/policy/modules/services/xserver.te @@ -484,7 +484,6 @@ term_setattr_unallocated_ttys(xdm_t) auth_domtrans_pam_console(xdm_t) auth_manage_pam_pid(xdm_t) auth_manage_pam_console_data(xdm_t) -auth_rw_faillog(xdm_t) auth_write_login_records(xdm_t) # Run telinit->init to shutdown. diff --git a/policy/modules/system/authlogin.if b/policy/modules/system/authlogin.if index 9b5e0fe0..0153ab07 100644 --- a/policy/modules/system/authlogin.if +++ b/policy/modules/system/authlogin.if @@ -47,6 +47,7 @@ interface(`auth_use_pam',` # for encrypted homedir dev_read_sysfs($1) + auth_create_faillog_files($1) auth_domtrans_chk_passwd($1) auth_domtrans_upd_passwd($1) auth_dontaudit_read_shadow($1) @@ -54,6 +55,7 @@ interface(`auth_use_pam',` auth_append_login_records($1) auth_rw_lastlog($1) auth_rw_faillog($1) + auth_setattr_faillog_files($1) auth_exec_pam($1) auth_use_nsswitch($1) @@ -744,6 +746,24 @@ interface(`auth_append_faillog',` allow $1 faillog_t:file append_file_perms; ') +######################################## +## <summary> +## Create fail log lock (in /run/faillock). +## </summary> +## <param name="domain"> +## <summary> +## Domain allowed access. +## </summary> +## </param> +# +interface(`auth_create_faillog_files',` + gen_require(` + type faillog_t; + ') + + create_files_pattern($1, faillog_t, faillog_t) +') + ######################################## ## <summary> ## Read and write the login failure log. @@ -782,6 +802,24 @@ interface(`auth_manage_faillog',` logging_rw_generic_log_dirs($1) ') +######################################## +## <summary> +## Setattr the login failure logs. +## </summary> +## <param name="domain"> +## <summary> +## Domain allowed access. +## </summary> +## </param> +# +interface(`auth_setattr_faillog_files',` + gen_require(` + type faillog_t; + ') + + setattr_files_pattern($1, faillog_t, faillog_t) +') + ####################################### ## <summary> ## Read the last logins log. -- 2.20.1 ^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 2/2 v3] pam_faillock creates files in /run/faillock 2019-01-06 18:31 ` [PATCH 2/2 v3] pam_faillock creates files in /run/faillock Sugar, David @ 2019-01-06 18:57 ` Chris PeBenito 0 siblings, 0 replies; 4+ messages in thread From: Chris PeBenito @ 2019-01-06 18:57 UTC (permalink / raw) To: Sugar, David, selinux-refpolicy On 1/6/19 1:31 PM, Sugar, David wrote: > These are changes needed when pam_fallock creates files in /run/faillock > (which is labeled faillog_t). sudo and xdm (and probably other domains) > will create files in this directory for successful and failed login > attempts. > > v3 - Updated based on feedback > > type=AVC msg=audit(1545153126.899:210): avc: denied { search } for pid=8448 comm="lightdm" name="faillock" dev="tmpfs" ino=39318 scontext=system_u:system_r:xdm_t:s0-s0:c0.c1023 tcontext=system_u:object_r:faillog_t:s0 tclass=dir permissive=1 > type=AVC msg=audit(1545153131.090:214): avc: denied { write } for pid=8448 comm="lightdm" name="faillock" dev="tmpfs" ino=39318 scontext=system_u:system_r:xdm_t:s0-s0:c0.c1023 tcontext=system_u:object_r:faillog_t:s0 tclass=dir permissive=1 > type=AVC msg=audit(1545153131.090:214): avc: denied { add_name } for pid=8448 comm="lightdm" name="dsugar" scontext=system_u:system_r:xdm_t:s0-s0:c0.c1023 tcontext=system_u:object_r:faillog_t:s0 tclass=dir permissive=1 > type=AVC msg=audit(1545153131.090:214): avc: denied { create } for pid=8448 comm="lightdm" name="dsugar" scontext=system_u:system_r:xdm_t:s0-s0:c0.c1023 tcontext=system_u:object_r:faillog_t:s0 tclass=file permissive=1 > type=AVC msg=audit(1545153131.091:215): avc: denied { setattr } for pid=8448 comm="lightdm" name="dsugar" dev="tmpfs" ino=87599 scontext=system_u:system_r:xdm_t:s0-s0:c0.c1023 tcontext=system_u:object_r:faillog_t:s0 tclass=file permissive=1 > > type=AVC msg=audit(1545167205.531:626): avc: denied { search } for pid=8264 comm="sudo" name="faillock" dev="tmpfs" ino=35405 scontext=sysadm_u:sysadm_r:cleaner_applyconfig_sudo_t:s0-s0:c0.c1023 tcontext=system_u:object_r:faillog_t:s0 tclass=dir permissive=1 > type=AVC msg=audit(1545167205.531:627): avc: denied { write } for pid=8264 comm="sudo" name="faillock" dev="tmpfs" ino=35405 scontext=sysadm_u:sysadm_r:cleaner_applyconfig_sudo_t:s0-s0:c0.c1023 tcontext=system_u:object_r:faillog_t:s0 tclass=dir permissive=1 > type=AVC msg=audit(1545167205.531:627): avc: denied { add_name } for pid=8264 comm="sudo" name="root" scontext=sysadm_u:sysadm_r:cleaner_applyconfig_sudo_t:s0-s0:c0.c1023 tcontext=system_u:object_r:faillog_t:s0 tclass=dir permissive=1 > type=AVC msg=audit(1545167205.531:627): avc: denied { create } for pid=8264 comm="sudo" name="root" scontext=sysadm_u:sysadm_r:cleaner_applyconfig_sudo_t:s0-s0:c0.c1023 tcontext=sysadm_u:object_r:faillog_t:s0 tclass=file permissive=1 > > Signed-off-by: Dave Sugar <dsugar@tresys.com> > --- > policy/modules/admin/sudo.if | 2 +- > policy/modules/services/xserver.te | 1 - > policy/modules/system/authlogin.if | 38 ++++++++++++++++++++++++++++++ > 3 files changed, 39 insertions(+), 2 deletions(-) > > diff --git a/policy/modules/admin/sudo.if b/policy/modules/admin/sudo.if > index 01f408ef..1c1fbe7b 100644 > --- a/policy/modules/admin/sudo.if > +++ b/policy/modules/admin/sudo.if > @@ -116,8 +116,8 @@ template(`sudo_role_template',` > auth_run_chk_passwd($1_sudo_t, $2) > # sudo stores a token in the pam_pid directory > auth_manage_pam_pid($1_sudo_t) > + auth_use_pam($1_sudo_t) > auth_pid_filetrans_pam_var_run($1_sudo_t, dir, "sudo") > - auth_use_nsswitch($1_sudo_t) > > init_rw_utmp($1_sudo_t) > > diff --git a/policy/modules/services/xserver.te b/policy/modules/services/xserver.te > index c7714d3e..edac2833 100644 > --- a/policy/modules/services/xserver.te > +++ b/policy/modules/services/xserver.te > @@ -484,7 +484,6 @@ term_setattr_unallocated_ttys(xdm_t) > auth_domtrans_pam_console(xdm_t) > auth_manage_pam_pid(xdm_t) > auth_manage_pam_console_data(xdm_t) > -auth_rw_faillog(xdm_t) > auth_write_login_records(xdm_t) > > # Run telinit->init to shutdown. > diff --git a/policy/modules/system/authlogin.if b/policy/modules/system/authlogin.if > index 9b5e0fe0..0153ab07 100644 > --- a/policy/modules/system/authlogin.if > +++ b/policy/modules/system/authlogin.if > @@ -47,6 +47,7 @@ interface(`auth_use_pam',` > # for encrypted homedir > dev_read_sysfs($1) > > + auth_create_faillog_files($1) > auth_domtrans_chk_passwd($1) > auth_domtrans_upd_passwd($1) > auth_dontaudit_read_shadow($1) > @@ -54,6 +55,7 @@ interface(`auth_use_pam',` > auth_append_login_records($1) > auth_rw_lastlog($1) > auth_rw_faillog($1) > + auth_setattr_faillog_files($1) > auth_exec_pam($1) > auth_use_nsswitch($1) > > @@ -744,6 +746,24 @@ interface(`auth_append_faillog',` > allow $1 faillog_t:file append_file_perms; > ') > > +######################################## > +## <summary> > +## Create fail log lock (in /run/faillock). > +## </summary> > +## <param name="domain"> > +## <summary> > +## Domain allowed access. > +## </summary> > +## </param> > +# > +interface(`auth_create_faillog_files',` > + gen_require(` > + type faillog_t; > + ') > + > + create_files_pattern($1, faillog_t, faillog_t) > +') > + > ######################################## > ## <summary> > ## Read and write the login failure log. > @@ -782,6 +802,24 @@ interface(`auth_manage_faillog',` > logging_rw_generic_log_dirs($1) > ') > > +######################################## > +## <summary> > +## Setattr the login failure logs. > +## </summary> > +## <param name="domain"> > +## <summary> > +## Domain allowed access. > +## </summary> > +## </param> > +# > +interface(`auth_setattr_faillog_files',` > + gen_require(` > + type faillog_t; > + ') > + > + setattr_files_pattern($1, faillog_t, faillog_t) > +') > + > ####################################### > ## <summary> > ## Read the last logins log. > Merged. -- Chris PeBenito ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 1/2 v3] Allow greeter to start dbus 2019-01-06 18:31 [PATCH 1/2 v3] Allow greeter to start dbus Sugar, David 2019-01-06 18:31 ` [PATCH 2/2 v3] pam_faillock creates files in /run/faillock Sugar, David @ 2019-01-06 18:57 ` Chris PeBenito 1 sibling, 0 replies; 4+ messages in thread From: Chris PeBenito @ 2019-01-06 18:57 UTC (permalink / raw) To: Sugar, David, selinux-refpolicy On 1/6/19 1:31 PM, Sugar, David wrote: > The display manager lightdm (and I think gdm) start a dbus binary. > > v3 - Updated based on feedback > > type=AVC msg=audit(1544626796.378:201): avc: denied { execute } for pid=9973 comm="dbus-launch" name="dbus-daemon" dev="dm-1" ino=6695040 scontext=system_u:system_r:xdm_t:s0-s0:c0.c1023 tcontext=system_u:object_r:dbusd_exec_t:s0 tclass=file permissive=1 > type=AVC msg=audit(1544626796.378:201): avc: denied { read open } for pid=9973 comm="dbus-launch" path="/usr/bin/dbus-daemon" dev="dm-1" ino=6695040 scontext=system_u:system_r:xdm_t:s0-s0:c0.c1023 tcontext=system_u:object_r:dbusd_exec_t:s0 tclass=file permissive=1 > type=AVC msg=audit(1544626796.378:201): avc: denied { execute_no_trans } for pid=9973 comm="dbus-launch" path="/usr/bin/dbus-daemon" dev="dm-1" ino=6695040 scontext=system_u:system_r:xdm_t:s0-s0:c0.c1023 tcontext=system_u:object_r:dbusd_exec_t:s0 tclass=file permissive=1 > type=AVC msg=audit(1544626796.378:201): avc: denied { map } for pid=9973 comm="dbus-daemon" path="/usr/bin/dbus-daemon" dev="dm-1" ino=6695040 scontext=system_u:system_r:xdm_t:s0-s0:c0.c1023 tcontext=system_u:object_r:dbusd_exec_t:s0 tclass=file permissive=1 > type=AVC msg=audit(1546551459.112:208): avc: denied { getcap } for pid=6275 comm="dbus-daemon" scontext=system_u:system_r:xdm_t:s0-s0:c0.c1023 tcontext=system_u:system_r:xdm_t:s0-s0:c0.c1023 tclass=process permissive=1 > > type=AVC msg=audit(1546551459.116:209): avc: denied { read } for pid=6275 comm="dbus-daemon" name="995" dev="tmpfs" ino=35210 scontext=system_u:system_r:xdm_t:s0-s0:c0.c1023 tcontext=system_u:object_r:systemd_logind_var_run_t:s0 tclass=file permissive=1 > type=AVC msg=audit(1546551459.116:209): avc: denied { open } for pid=6275 comm="dbus-daemon" path="/run/systemd/users/995" dev="tmpfs" ino=35210 scontext=system_u:system_r:xdm_t:s0-s0:c0.c1023 tcontext=system_u:object_r:systemd_logind_var_run_t:s0 tclass=file permissive=1 > type=AVC msg=audit(1546551459.116:210): avc: denied { getattr } for pid=6275 comm="dbus-daemon" path="/run/systemd/users/995" dev="tmpfs" ino=35210 scontext=system_u:system_r:xdm_t:s0-s0:c0.c1023 tcontext=system_u:object_r:systemd_logind_var_run_t:s0 tclass=file permissive=1 > > Signed-off-by: Dave Sugar <dsugar@tresys.com> > --- > policy/modules/services/dbus.if | 19 +++++++++++++++++++ > policy/modules/services/xserver.te | 7 +++++++ > 2 files changed, 26 insertions(+) > > diff --git a/policy/modules/services/dbus.if b/policy/modules/services/dbus.if > index ef829e30..c815791e 100644 > --- a/policy/modules/services/dbus.if > +++ b/policy/modules/services/dbus.if > @@ -17,6 +17,25 @@ interface(`dbus_stub',` > ') > ') > > +######################################## > +## <summary> > +## Execute dbus in the caller domain. > +## </summary> > +## <param name="domain"> > +## <summary> > +## Domain allowed access. > +## </summary> > +## </param> > +# > +interface(`dbus_exec',` > + gen_require(` > + type dbusd_exec_t; > + ') > + > + corecmd_search_bin($1) > + can_exec($1, dbusd_exec_t) > +') > + > ######################################## > ## <summary> > ## Role access for dbus. > diff --git a/policy/modules/services/xserver.te b/policy/modules/services/xserver.te > index fa7ce88e..c7714d3e 100644 > --- a/policy/modules/services/xserver.te > +++ b/policy/modules/services/xserver.te > @@ -566,12 +566,19 @@ optional_policy(` > ') > > optional_policy(` > + allow xdm_t self:process getcap; > + > + dbus_exec(xdm_t) > dbus_system_bus_client(xdm_t) > dbus_connect_system_bus(xdm_t) > > optional_policy(` > accountsd_dbus_chat(xdm_t) > ') > + > + optional_policy(` > + systemd_read_logind_pids(xdm_t) > + ') > ') > > optional_policy(` Merged. -- Chris PeBenito ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2019-01-06 19:14 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2019-01-06 18:31 [PATCH 1/2 v3] Allow greeter to start dbus Sugar, David 2019-01-06 18:31 ` [PATCH 2/2 v3] pam_faillock creates files in /run/faillock Sugar, David 2019-01-06 18:57 ` Chris PeBenito 2019-01-06 18:57 ` [PATCH 1/2 v3] Allow greeter to start dbus Chris PeBenito
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).