On Tue, Jun 25, 2013 at 01:19:17PM -0700, Tyler Hicks wrote: > Unify aa_getprocattr_raw() and aa_getpeercon_raw() function prototypes > by hiding the len value-result parameter. > > Signed-off-by: Tyler Hicks <tyhi...@canonical.com> > Cc: Seth Arnold <seth.arn...@canonical.com> > Cc: John Johansen <john.johan...@canonical.com> > --- > > Code speaks louder and more clearly than my poor explanation, so here's an RFC > patch on the idea. > > I think that this addresses Seth's distaste of the len parameter. It makes the > libapparmor API a little more predictable, but hides a useful feature of the > getsockopt() syscall which will make external callers guess at buffer > reallocation sizes (but they already do that with aa_getprocattr_raw()). > > I'm fine with or without this patch, as I don't expect (m)any applications to > use aa_getpeercon_raw().
Hrm, I thought I was going to like this more than I did. I thought unifying the interface to match aa_getprocattr_raw() was going to be a good idea, but it just doesn't feel very satisfying. Incidentally, because I also failed to describe what I thought would make a good patch, here's what I thought would work: diff -Naurp libapparmor.orig/src/kernel_interface.c libapparmor/src/kernel_interface.c --- libapparmor.orig/src/kernel_interface.c 2012-12-06 18:33:20.000000000 -0800 +++ libapparmor/src/kernel_interface.c 2013-06-25 14:33:45.000000000 -0700 @@ -554,7 +554,7 @@ int aa_getcon(char **con, char **mode) * @con: pointer to buffer to store confinement string * @size: initially contains size of the buffer, returns size of data read * - * Returns: length of confinement data including null termination or -1 on error + * Returns: 0 on success or -1 on error * if errno == ERANGE then @size will hold the size needed */ int aa_getpeercon_raw(int fd, char *buffer, int *size) BUT, enough other routines return the length via return that having this one be different would also be annoying. I assume it's too late to add a & to the aa_getprocattr_raw() len parameter? :) Thanks
signature.asc
Description: Digital signature
-- AppArmor mailing list AppArmor@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/apparmor