[policycoreutils] restorecond fixes:

Daniel J Walsh dwalsh at fedoraproject.org
Tue Jan 24 16:26:51 UTC 2012


commit acc953768b65d5fe459e1f406ca2ba9eff64978f
Author: Dan Walsh <dwalsh at redhat.com>
Date:   Tue Jan 24 11:26:46 2012 -0500

    restorecond fixes:
    
      Stop using depracated g_io interfaces
      Exit with non zero exit code if wrong options given
      Add -h option

 policycoreutils-rhat.patch |   89 ++++++++++++++++++++++++++++++++++++++++++-
 policycoreutils.spec       |    8 +++-
 2 files changed, 93 insertions(+), 4 deletions(-)
---
diff --git a/policycoreutils-rhat.patch b/policycoreutils-rhat.patch
index cf5f0a0..592cedf 100644
--- a/policycoreutils-rhat.patch
+++ b/policycoreutils-rhat.patch
@@ -42,11 +42,42 @@ index 99d0ed7..19e20a8 100644
  	if (set_signal_handles())
  		return -1;
  
+diff --git a/policycoreutils/restorecond/restorecond.8 b/policycoreutils/restorecond/restorecond.8
+index 4622d2b..bf8ec87 100644
+--- a/policycoreutils/restorecond/restorecond.8
++++ b/policycoreutils/restorecond/restorecond.8
+@@ -3,7 +3,7 @@
+ restorecond \- daemon that watches for file creation and then sets the default SELinux file context
+ 
+ .SH "SYNOPSIS"
+-.B restorecond  [\-d] [\-f restorecond_file ] [\-u] [\-v]
++.B restorecond  [\-d] [-h] [\-f restorecond_file ] [\-u] [\-v]
+ .P
+ 
+ .SH "DESCRIPTION"
+@@ -20,6 +20,9 @@ the correct file context associated with the policy.
+ Turns on debugging mode.   Application will stay in the foreground and lots of
+ debugs messages start printing.
+ .TP
++. B \-h
++Print usage statement.
++.TP
+ .B \-f restorecond_file
+ Use alternative restorecond.conf file.
+ .TP
 diff --git a/policycoreutils/restorecond/restorecond.c b/policycoreutils/restorecond/restorecond.c
-index 89f5d97..dfd9629 100644
+index 89f5d97..1762850 100644
 --- a/policycoreutils/restorecond/restorecond.c
 +++ b/policycoreutils/restorecond/restorecond.c
-@@ -140,6 +140,7 @@ int main(int argc, char **argv)
+@@ -121,7 +121,6 @@ static void term_handler()
+ static void usage(char *program)
+ {
+ 	printf("%s [-d] [-f restorecond_file ] [-u] [-v] \n", program);
+-	exit(0);
+ }
+ 
+ void exitApp(const char *msg)
+@@ -140,6 +139,7 @@ int main(int argc, char **argv)
  {
  	int opt;
  	struct sigaction sa;
@@ -54,7 +85,7 @@ index 89f5d97..dfd9629 100644
  
  	memset(&r_opts, 0, sizeof(r_opts));
  
-@@ -160,6 +161,7 @@ int main(int argc, char **argv)
+@@ -160,6 +160,7 @@ int main(int argc, char **argv)
  	r_opts.fts_flags = FTS_PHYSICAL;
  	r_opts.selabel_opt_validate = NULL;
  	r_opts.selabel_opt_path = NULL;
@@ -62,6 +93,58 @@ index 89f5d97..dfd9629 100644
  	r_opts.ignore_enoent = 1;
  
  	restore_init(&r_opts);
+@@ -176,7 +177,7 @@ int main(int argc, char **argv)
+ 
+ 	exclude_non_seclabel_mounts();
+ 	atexit( done );
+-	while ((opt = getopt(argc, argv, "df:uv")) > 0) {
++	while ((opt = getopt(argc, argv, "hdf:uv")) > 0) {
+ 		switch (opt) {
+ 		case 'd':
+ 			debug_mode = 1;
+@@ -187,11 +188,16 @@ int main(int argc, char **argv)
+ 		case 'u':
+ 			run_as_user = 1;
+ 			break;
++		case 'h':
++			usage(argv[0]);
++			exit(0);
++			break;
+ 		case 'v':
+ 			r_opts.verbose++;
+ 			break;
+ 		case '?':
+ 			usage(argv[0]);
++			exit(-1);
+ 		}
+ 	}
+ 
+diff --git a/policycoreutils/restorecond/user.c b/policycoreutils/restorecond/user.c
+index 4257058..f3e431e 100644
+--- a/policycoreutils/restorecond/user.c
++++ b/policycoreutils/restorecond/user.c
+@@ -118,10 +118,10 @@ io_channel_callback
+ 
+   if (condition & G_IO_IN) {
+     /* Data is available. */
+-    g_io_channel_read
++    g_io_channel_read_chars
+       (source, buffer,
+        sizeof (buffer),
+-       &bytes_read);
++       &bytes_read, NULL);
+ 
+     if (! bytes_read) {
+ 	    /* Sesssion/Terminal Ended */
+@@ -152,7 +152,7 @@ io_channel_callback
+      file. */
+ 
+   if (condition & G_IO_HUP) {
+-    g_io_channel_close (source);
++	  g_io_channel_shutdown (source, 0, NULL);
+     exit(0);
+     return FALSE;
+   }
 diff --git a/policycoreutils/run_init/run_init.c b/policycoreutils/run_init/run_init.c
 index 9db766c..92034be 100644
 --- a/policycoreutils/run_init/run_init.c
diff --git a/policycoreutils.spec b/policycoreutils.spec
index 6b3c5de..24b94a1 100644
--- a/policycoreutils.spec
+++ b/policycoreutils.spec
@@ -7,7 +7,7 @@
 Summary: SELinux policy core utilities
 Name:	 policycoreutils
 Version: 2.1.10
-Release: 10%{?dist}
+Release: 11%{?dist}
 License: GPLv2
 Group:	 System Environment/Base
 # Based on git repository with tag 20101221
@@ -355,6 +355,12 @@ fi
 /bin/systemctl try-restart restorecond.service >/dev/null 2>&1 || :
 
 %changelog
+* Tue Jan 24 2012 Dan Walsh <dwalsh at redhat.com> - 2.1.10-11
+- restorecond fixes:
+  Stop using depracated g_io interfaces
+  Exit with non zero exit code if wrong options given
+  Add -h option
+
 * Thu Jan 19 2012 Dan Walsh <dwalsh at redhat.com> - 2.1.10-10
 - Eliminate not needed Requires
 


More information about the scm-commits mailing list