{"push_id":2567954277,"size":3,"distinct_size":3,"ref":"refs/heads/nss","head":"049a873f37d5355d1d46d807f3528f8557c77ff0","before":"d4fd87025b4f26b9bfcab45a705d1571ec9bdd6c","commits":[{"sha":"fde761f284acc6c5e374d3b4a8653b319799a08a","author":{"name":"David Herrmann","email":"fb53b2ddb8d141e0cb39d7c67c2f81b6bc2eb0f7@gmail.com"},"message":"launch/nss-cache: index by ID and NAME\n\nThe nss system can return more information than just resolving Names to\nIDs. The passwd/group structures contain a lot more details about a\nspecific entry. Until now, we did not need it. However, the <user> XML\nattribute will need access to pw_gid, which we do not provide so far.\n\nRather than special casing the <user> resolver, lets make sure the\nNSS-Cache can return all information. This means, every entry we have\nmust cache the \"struct passwd\" / \"struct group\" entry. Unfortunately,\nthis first means we need to extend the NSS-Cache to support resolving\nnumeric IDs via getpwuid(3) / getgrgid(3), so proper cache entries are\navailable even if queried by numeric ID.\n\nFollowing this, we extend the cache to include a copy of the \"struct\npasswd/group\" inside of the cache-node. The entry is cleared to 0 and\nonly the fields we need are cached. This is important, since allocation\nof these structures is OS specific, and trailing data is often used.\nHence, we cannot easily memcpy() them. Instead, we must allocate and\ninstantiate them manually.\n\nNote that for simplicity, this patch makes the nss_cache_add() call the\nbackend for both the populate-call *AND* the lookup. This means, we\nwill do 2 tree-traversals for cache-misses during the lookup, but that\nshould be acceptable given that we then reduce code-duplication.\n\nSigned-off-by: David Herrmann <dh.herrmann@gmail.com>","distinct":true,"url":"https://api.github.com/repos/dvdhrm/dbus-broker/commits/fde761f284acc6c5e374d3b4a8653b319799a08a"},{"sha":"eb862d0f01b6938d4f0b1890025c94457eaab5e9","author":{"name":"David Herrmann","email":"fb53b2ddb8d141e0cb39d7c67c2f81b6bc2eb0f7@gmail.com"},"message":"launch: read <user>%</user> configuration\n\nExtend the configuration parser to actually interpret the <user> #CDATA\ninformation, and resolve it to a UID plus the User's primary GID. The\ninformation is not used so far, only cached in the launcher.\n\nSigned-off-by: David Herrmann <dh.herrmann@gmail.com>","distinct":true,"url":"https://api.github.com/repos/dvdhrm/dbus-broker/commits/eb862d0f01b6938d4f0b1890025c94457eaab5e9"},{"sha":"049a873f37d5355d1d46d807f3528f8557c77ff0","author":{"name":"David Herrmann","email":"fb53b2ddb8d141e0cb39d7c67c2f81b6bc2eb0f7@gmail.com"},"message":"test/nss-cache: add trivial test-case for NSS\n\nAdd a simple test-cache to run through the nss-cache, checking that the\nmost basic operations work fine, even under valgrind.\n\nSigned-off-by: David Herrmann <dh.herrmann@gmail.com>","distinct":true,"url":"https://api.github.com/repos/dvdhrm/dbus-broker/commits/049a873f37d5355d1d46d807f3528f8557c77ff0"}]}
{"actor":{"display_login":"dvdhrm"}}