diff options
author | Sumit Bose <sbose@redhat.com> | 2010-02-16 15:53:56 +0100 |
---|---|---|
committer | Stephen Gallagher <sgallagh@redhat.com> | 2010-02-23 16:16:23 -0500 |
commit | 978bea5902ece9b9f01d1d6525dbe0889a410ffc (patch) | |
tree | d83a94851cb6e3fe10fdbfcee1757190c15ab4eb /src/sbus/sbus_client.c | |
parent | e0bb119bdc1549d731f371202428c0cb667d3388 (diff) | |
download | sssd-978bea5902ece9b9f01d1d6525dbe0889a410ffc.tar.gz sssd-978bea5902ece9b9f01d1d6525dbe0889a410ffc.tar.xz sssd-978bea5902ece9b9f01d1d6525dbe0889a410ffc.zip |
Check and set permissions on SBUS sockets
Diffstat (limited to 'src/sbus/sbus_client.c')
-rw-r--r-- | src/sbus/sbus_client.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/sbus/sbus_client.c b/src/sbus/sbus_client.c index df5c07120..1c5c1b24a 100644 --- a/src/sbus/sbus_client.c +++ b/src/sbus/sbus_client.c @@ -33,12 +33,25 @@ int sbus_client_init(TALLOC_CTX *mem_ctx, { struct sbus_connection *conn = NULL; int ret; + char *filename; /* Validate input */ if (server_address == NULL) { return EINVAL; } + filename = strchr(server_address, '/'); + if (filename == NULL) { + DEBUG(1, ("Unexpected dbus address [%s].\n", server_address)); + return EIO; + } + + ret = check_file(filename, 0, 0, 0600, CHECK_SOCK, NULL); + if (ret != EOK) { + DEBUG(1, ("check_file failed for [%s].\n", filename)); + return EIO; + } + ret = sbus_new_connection(mem_ctx, ev, server_address, intf, &conn); if (ret != EOK) { goto fail; |