Another assert for local non-stack resource.
Cleaning up command list, statics.
Add test.conf to check_DATA section of Makefile.am
Static this local fn.
autogen: enable silent rules by default
gitignore: ignore cscope and/or ctags files
Make path to buxton socket configurable
move to consistent use of GNU_SOURCE and CONFIG_H

add header guards for inclusiong of config.h
include config.h everywhere
define GNU_SOURCE in config.h

Signed-off-by: Michael Leibowitz <michael.leibowitz@intel.com>
Fix service files and daemon install location.

Properly parse @prefix@ into the service file and install
the daemon into @prefix@/sbin as well since it's never
meant to launch as a normal user.
Mainloop: Fix poll loop.

We need to actually add new clients to the pollfds, otherwise
we'll never see data from them in our main poll() loop.

Also poll returning 0 means a timeout, which shouldn't terminate
the daemon. Instead, we just go again. This 5sec timout will
be later to handle dead connections and to clean up.

We might be able to accept() a new connection and immediately
service data from that socket, instead of doing a poll() on
that socket first, not sure if that's going to make a big
performance difference or not yet. For now, just accept()
and return to polling, which should be safe.
Add a BuxtonKeyAccessType enum

This enum represents the access types associated with each Smack rule
enforced by the kernel.  Smack supports more access types than 'read'
and 'write', but these are the ones that are useful for buxton.
Add a function for caching Smack rules

For fast lookups of Smack rules and their access permissions, store the
entire rule set in a hashmap.

The format of the hashmap keys is "subject object", and the values are
of type BuxtonKeyAccessType, corresponding to "r", "w", or "rw" access
permissions.
Add function for checking Smack access

After the Smack labels from client (subject) and the target key (object)
have been identified, this function can be used for checking whether the
requested Smack access (read or write) for the subject-object pair is
permitted.
build: add uninstall hook to remove buxton.socket

After a `make uninstall` run, a dangling symlink is leftover. This
commit fixes the issue by adding an uninstall hook to remove the
symlink.
Error handling.

Some minor cleanups, but mostly properly handling bad error
cases by really exiting and following up on the error condition
properly.
Smack: add inotify support to monitor rules.
Smack: fix error handling in rule cache loading.
Discard any data left in the inotify fd.
Smack: close file, discard old hashmap.

FIXME: this still needs to properly drop all the allocated
memory from the old hashmap. But this works.
Don't free hashmap data here.

On error, this isn't really important to clean up either.