lib: add SELinux include and stub functions
ss provides some selinux stub functions, useful when iproute2 is compiled without selinux support. Move them to lib/ so we can use them in other iproute2 tools. Signed-off-by: Andrea Claudi <aclaudi@redhat.com> Signed-off-by: David Ahern <dsahern@kernel.org>
This commit is contained in:
committed by
David Ahern
parent
61c6882ce2
commit
e246ebc3b7
9
include/selinux.h
Normal file
9
include/selinux.h
Normal file
@@ -0,0 +1,9 @@
|
||||
#if HAVE_SELINUX
|
||||
#include <selinux/selinux.h>
|
||||
#else
|
||||
int is_selinux_enabled(void);
|
||||
void freecon(char *context);
|
||||
int getpidcon(pid_t pid, char **context);
|
||||
int getfilecon(const char *path, char **context);
|
||||
int security_get_initial_context(const char *name, char **context);
|
||||
#endif
|
||||
@@ -13,6 +13,10 @@ UTILOBJ += bpf_libbpf.o
|
||||
endif
|
||||
endif
|
||||
|
||||
ifneq ($(HAVE_SELINUX),y)
|
||||
UTILOBJ += selinux.o
|
||||
endif
|
||||
|
||||
NLOBJ=libgenl.o libnetlink.o
|
||||
ifeq ($(HAVE_MNL),y)
|
||||
NLOBJ += mnl_utils.o
|
||||
|
||||
32
lib/selinux.c
Normal file
32
lib/selinux.c
Normal file
@@ -0,0 +1,32 @@
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
#include "selinux.h"
|
||||
|
||||
/* Stubs for SELinux functions */
|
||||
int is_selinux_enabled(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
void freecon(char *context)
|
||||
{
|
||||
free(context);
|
||||
}
|
||||
|
||||
int getpidcon(pid_t pid, char **context)
|
||||
{
|
||||
*context = NULL;
|
||||
return -1;
|
||||
}
|
||||
|
||||
int getfilecon(const char *path, char **context)
|
||||
{
|
||||
*context = NULL;
|
||||
return -1;
|
||||
}
|
||||
|
||||
int security_get_initial_context(const char *name, char **context)
|
||||
{
|
||||
*context = NULL;
|
||||
return -1;
|
||||
}
|
||||
34
misc/ss.c
34
misc/ss.c
@@ -33,6 +33,7 @@
|
||||
#include "version.h"
|
||||
#include "rt_names.h"
|
||||
#include "cg_map.h"
|
||||
#include "selinux.h"
|
||||
|
||||
#include <linux/tcp.h>
|
||||
#include <linux/unix_diag.h>
|
||||
@@ -71,39 +72,6 @@
|
||||
#define BUF_CHUNKS_MAX 5 /* Maximum number of allocated buffer chunks */
|
||||
#define LEN_ALIGN(x) (((x) + 1) & ~1)
|
||||
|
||||
#if HAVE_SELINUX
|
||||
#include <selinux/selinux.h>
|
||||
#else
|
||||
/* Stubs for SELinux functions */
|
||||
static int is_selinux_enabled(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int getpidcon(pid_t pid, char **context)
|
||||
{
|
||||
*context = NULL;
|
||||
return -1;
|
||||
}
|
||||
|
||||
static int getfilecon(const char *path, char **context)
|
||||
{
|
||||
*context = NULL;
|
||||
return -1;
|
||||
}
|
||||
|
||||
static int security_get_initial_context(const char *name, char **context)
|
||||
{
|
||||
*context = NULL;
|
||||
return -1;
|
||||
}
|
||||
|
||||
static void freecon(char *context)
|
||||
{
|
||||
free(context);
|
||||
}
|
||||
#endif
|
||||
|
||||
int preferred_family = AF_UNSPEC;
|
||||
static int show_options;
|
||||
int show_details;
|
||||
|
||||
Reference in New Issue
Block a user