libsmack: fixed label validation in smack_have_access()

This patch adds subject and object validation to smack_have_access().
It also validates that labels are at most 23 characters when only
short labels are available.

Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
utils: fix error message in smackaccess

perror() reports success when validation fails. This patch makes
the error message explicit. Invalid input is the most probable case.
Also, error message is prefixed with the basename of the utility.

Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
libsmack: fix: 'accesses_print' declaration was in wrong place

Moved 'accesses_print' declaration to a proper location.

Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
libsmack: fix: fail if neither 'load' and 'load2' cannot be opened

accesses_apply() continued even if neither 'load' and 'load2' could
not be opened. For 'change-rule' file such semantics do make sense
for backwards compatibility but there's something seriously wrong
if neither 'load' and 'load2' cannot be opened. That's why the only
right thing to do is to stop immediately.

Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
libsmack: add a common function for opening long and short label file

Added internal function 'open_smackfs_file()' to open long label
file and as a fallback short label file. This can be used for
load, access and cipso files.

Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
libsmack: fallback to 'cipso' when 'cipso2' is not available

This patch implements fallback to 'cipso' when 'cipso2' is not
available. This is a regression from 79f8e26.

Signed-off-by: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Merge remote-tracking branch 'jsakkine/issue83' into v1.0.x

Conflicts:
	libsmack/libsmack.c
Merge remote-tracking branch 'origin/v1.0.x'
new structs
merge rules
merge rules differently