{"action":"created","issue":{"url":"https://api.github.com/repos/ClusterLabs/libqb/issues/173","labels_url":"https://api.github.com/repos/ClusterLabs/libqb/issues/173/labels{/name}","comments_url":"https://api.github.com/repos/ClusterLabs/libqb/issues/173/comments","events_url":"https://api.github.com/repos/ClusterLabs/libqb/issues/173/events","html_url":"https://github.com/ClusterLabs/libqb/pull/173","id":128334425,"number":173,"title":"ipc: set gid on unix sockets","user":{"login":"dpejesh","id":240835,"avatar_url":"https://avatars.githubusercontent.com/u/240835?v=3","gravatar_id":"","url":"https://api.github.com/users/dpejesh","html_url":"https://github.com/dpejesh","followers_url":"https://api.github.com/users/dpejesh/followers","following_url":"https://api.github.com/users/dpejesh/following{/other_user}","gists_url":"https://api.github.com/users/dpejesh/gists{/gist_id}","starred_url":"https://api.github.com/users/dpejesh/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dpejesh/subscriptions","organizations_url":"https://api.github.com/users/dpejesh/orgs","repos_url":"https://api.github.com/users/dpejesh/repos","events_url":"https://api.github.com/users/dpejesh/events{/privacy}","received_events_url":"https://api.github.com/users/dpejesh/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2016-01-23T15:38:23Z","updated_at":"2016-01-26T16:13:24Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/ClusterLabs/libqb/pulls/173","html_url":"https://github.com/ClusterLabs/libqb/pull/173","diff_url":"https://github.com/ClusterLabs/libqb/pull/173.diff","patch_url":"https://github.com/ClusterLabs/libqb/pull/173.patch"},"body":"When creating a unix socket it's default gid is that of the parent\r\ndirectory.  If the SOCKETDIR is owned by root:wheel with 1777 mode\r\nsome of the pacemaker daemons end up unable to communicate with one\r\nanother due to having insufficient permissions on the sockets.\r\n\r\nThis can be fixed by setting the client sockets gid to the primary\r\ngroup of the server socket owner it's attempting to connect to.  And,\r\non the server side by setting the gid to the already captured gid\r\nstored in the connection info.  This ensures that regardless of who\r\nowns the socket directory, as long as the applications have r/w\r\naccess to it they should work."},"comment":{"url":"https://api.github.com/repos/ClusterLabs/libqb/issues/comments/175095774","html_url":"https://github.com/ClusterLabs/libqb/pull/173#issuecomment-175095774","issue_url":"https://api.github.com/repos/ClusterLabs/libqb/issues/173","id":175095774,"user":{"login":"kgaillot","id":8730570,"avatar_url":"https://avatars.githubusercontent.com/u/8730570?v=3","gravatar_id":"","url":"https://api.github.com/users/kgaillot","html_url":"https://github.com/kgaillot","followers_url":"https://api.github.com/users/kgaillot/followers","following_url":"https://api.github.com/users/kgaillot/following{/other_user}","gists_url":"https://api.github.com/users/kgaillot/gists{/gist_id}","starred_url":"https://api.github.com/users/kgaillot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kgaillot/subscriptions","organizations_url":"https://api.github.com/users/kgaillot/orgs","repos_url":"https://api.github.com/users/kgaillot/repos","events_url":"https://api.github.com/users/kgaillot/events{/privacy}","received_events_url":"https://api.github.com/users/kgaillot/received_events","type":"User","site_admin":false},"created_at":"2016-01-26T16:13:24Z","updated_at":"2016-01-26T16:13:24Z","body":"Changes look good.\r\n\r\nNo need to rename anything. For symbols exposed in the library, the qb_ prefix is essential, but for static functions, it's not a big deal. The recvmsg name would make more sense, but we generally leave existing usages alone unless there's a compelling reason to change.\r\n\r\nI'll need to spend a little more time understanding the recv handling, but this is looking good."}}