libselinux/libselinux-rhat.patch
cvsdist 9f53563498 auto-import changelog data from libselinux-1.4-9.src.rpm
Fri Jan 23 2004 Dan Walsh <dwalsh@redhat.com> 1.4-9
- Add rootok patch
Wed Jan 14 2004 Dan Walsh <dwalsh@redhat.com> 1.4-8
- Updated getpeernam patch
Tue Jan 13 2004 Dan Walsh <dwalsh@redhat.com> 1.4-7
- Add getpeernam patch
Thu Dec 18 2003 Dan Walsh <dwalsh@redhat.com> 1.4-6
- Add getpeercon patch
Thu Dec 18 2003 Dan Walsh <dwalsh@redhat.com> 1.4-5
- Put mntpoint patch, because found fix for SysVinit
Wed Dec 17 2003 Dan Walsh <dwalsh@redhat.com> 1.4-4
- Add remove mntpoint patch, because it breaks SysVinit
Wed Dec 17 2003 Dan Walsh <dwalsh@redhat.com> 1.4-3
- Add mntpoint patch for SysVinit
Fri Dec 12 2003 Dan Walsh <dwalsh@redhat.com> 1.4-2
- Add -r -u -t to getcon
Sat Dec 06 2003 Dan Walsh <dwalsh@redhat.com> 1.4-1
- Upgrade to latest from NSA
Mon Oct 27 2003 Dan Walsh <dwalsh@redhat.com> 1.3-2
- Fix x86_64 build
Tue Oct 21 2003 Dan Walsh <dwalsh@redhat.com> 1.3-1
- Latest tarball from NSA.
Tue Oct 21 2003 Dan Walsh <dwalsh@redhat.com> 1.2-9
- Update with latest changes from NSA
Mon Oct 20 2003 Dan Walsh <dwalsh@redhat.com> 1.2-8
- Change location of .so file
Wed Oct 08 2003 Dan Walsh <dwalsh@redhat.com> 1.2-7
- Break out into development library
Wed Oct 08 2003 Dan Walsh <dwalsh@redhat.com> 1.2-6
- Move location of libselinux.so to /lib
Fri Oct 03 2003 Dan Walsh <dwalsh@redhat.com> 1.2-5
- Add selinuxenabled patch
Wed Oct 01 2003 Dan Walsh <dwalsh@redhat.com> 1.2-4
- Update with final NSA 1.2 sources.
Fri Sep 12 2003 Dan Walsh <dwalsh@redhat.com> 1.2-3
- Update with latest from NSA.
Thu Aug 28 2003 Dan Walsh <dwalsh@redhat.com> 1.2-2
- Fix to build on x86_64
Thu Aug 21 2003 Dan Walsh <dwalsh@redhat.com> 1.2-1
- update for version 1.2
Tue May 27 2003 Dan Walsh <dwalsh@redhat.com> 1.0-1
- Initial version
2004-09-09 07:41:25 +00:00

119 lines
2.7 KiB
Diff

--- libselinux-1.4/utils/getcon.c.rhat 2003-10-24 16:39:11.000000000 -0400
+++ libselinux-1.4/utils/getcon.c 2003-12-18 14:50:39.000000000 -0500
@@ -2,19 +2,103 @@
#include <stdio.h>
#include <stdlib.h>
#include <selinux/selinux.h>
+#include <selinux/context.h>
+#include <getopt.h>
+
+/* The name the program was run with. */
+static char *program_name;
+static struct option const long_options[] =
+{
+ {"user", no_argument, 0, 'u'},
+ {"role", no_argument, 0, 'r'},
+ {"type", no_argument, 0, 't'},
+ {"help", no_argument, 0, 'h'},
+ {0, 0, 0, 0}
+};
+
+static void
+usage (int status)
+{
+ if (status != 0)
+ fprintf (stderr, "Try `%s --help' for more information.\n",
+ program_name);
+ else
+ {
+ printf ("\
+Usage: %s [ [-u USER] | [-r ROLE] | [-t TYPE] ] \n\
+",
+ program_name);
+ printf ("\
+Get the current security context for this process.\n\
+\n\
+ -u, --user=USER set user USER in the target security context\n\
+ -r, --role=ROLE set role ROLE in the target security context\n\
+ -t, --type=TYPE set type TYPE in the target security context\n\
+ --help display this help and exit\n\
+ --version output version information and exit\n\
+");
+ }
+ exit (status);
+}
int main(int argc __attribute__ ((unused)), char **argv)
{
char *buf;
int rc;
+ int user=0,type=0,role=0,show_help=0;
+ char optc;
+ program_name = argv[0];
+ while ((optc = getopt_long (argc, argv, "hurt", long_options, NULL)) != -1)
+ {
+ switch (optc)
+ {
+ case 0:
+ break;
+ case 'u':
+ if (type || role)
+ usage(1);
+ user = 1;
+ break;
+ case 'r':
+ if (user || type)
+ usage(1);
+ role = 1;
+ break;
+ case 't':
+ if (user || role)
+ usage(1);
+ type=1;
+ break;
+ case 'h':
+ show_help=1;
+ break;
+ default:
+ usage (1);
+ }
+ }
rc = getcon(&buf);
if (rc < 0) {
fprintf(stderr, "%s: getcon() failed\n", argv[0]);
exit(2);
}
-
- printf("%s\n", buf);
+ if (show_help)
+ usage (0);
+ if (role || user || type) {
+ context_t context=context_new(buf);
+ if (user) {
+ printf("%s",context_user_get(context));
+ }
+ if (role) {
+ printf("%s",context_role_get(context));
+ }
+ if (type) {
+ printf("%s",context_type_get(context));
+ }
+ context_free(context);
+ } else {
+ printf("%s\n", buf);
+ }
freecon(buf);
exit(0);
}
--- libselinux-1.4/utils/Makefile.rhat 2003-12-19 15:37:51.815619330 -0500
+++ libselinux-1.4/utils/Makefile 2003-12-19 15:37:32.014789494 -0500
@@ -1,6 +1,5 @@
# Installation directories.
-PREFIX ?= $(DESTDIR)/usr
-BINDIR ?= $(PREFIX)/bin
+BINDIR ?= $(DESTDIR)/bin
CFLAGS = -Wall
override CFLAGS += -I../include