OK. I've finished building TOMOYO 1.8.2 binary kernel packages for i686.
It turned out that ccs-patch-1.8.2-20110620.tar.gz fails to build if
srcdir != objdir. This problem can be fixed with below patch.

--- a/security/ccsecurity/Makefile
+++ b/security/ccsecurity/Makefile
@@ -16,38 +16,50 @@
 endif
 include $(TOPDIR)/Rules.make
 
-tomoyo2c: tomoyo2c.c
-       @echo Compiling built-in policy generator for TOMOYO 1.8.x.
-       @$(HOSTCC) $(HOSTCFLAGS) -o ./tomoyo2c tomoyo2c.c
-
 policy/profile.conf:
+       @mkdir -p policy/
        @echo Creating an empty policy/profile.conf
        @touch $@
 
 policy/exception_policy.conf:
+       @mkdir -p policy/
        @echo Creating a default policy/exception_policy.conf
        @echo initialize_domain /sbin/modprobe from any >> $@
        @echo initialize_domain /sbin/hotplug from any >> $@
 
 policy/domain_policy.conf:
+       @mkdir -p policy/
        @echo Creating an empty policy/domain_policy.conf
        @touch $@
 
 policy/manager.conf:
+       @mkdir -p policy/
        @echo Creating an empty policy/manager.conf
        @touch $@
 
 policy/stat.conf:
+       @mkdir -p policy/
        @echo Creating an empty policy/stat.conf
        @touch $@
 
-builtin-policy.h: policy/profile.conf policy/exception_policy.conf 
policy/domain_policy.conf policy/manager.conf policy/stat.conf tomoyo2c
+builtin-policy.h: policy/profile.conf policy/exception_policy.conf 
policy/domain_policy.conf policy/manager.conf policy/stat.conf
        @echo Generating built-in policy for TOMOYO 1.8.x.
-       @./tomoyo2c profile < policy/profile.conf > $@
-       @./tomoyo2c exception_policy < policy/exception_policy.conf >> $@
-       @./tomoyo2c domain_policy < policy/domain_policy.conf >> $@
-       @./tomoyo2c manager < policy/manager.conf >> $@
-       @./tomoyo2c stat < policy/stat.conf >> $@
+       @echo "static char ccs_builtin_profile[] __initdata =" > [email protected]
+       @sed -e 's/\\/\\\\/g' -e 's/\"/\\"/g' -e 's/\(.*\)/"\1\\n"/' < 
policy/profile.conf >> [email protected]
+       @echo "\"\";" >> [email protected]
+       @echo "static char ccs_builtin_exception_policy[] __initdata =" >> 
[email protected]
+       @sed -e 's/\\/\\\\/g' -e 's/\"/\\"/g' -e 's/\(.*\)/"\1\\n"/' < 
policy/exception_policy.conf >> [email protected]
+       @echo "\"\";" >> [email protected]
+       @echo "static char ccs_builtin_domain_policy[] __initdata =" >> [email protected]
+       @sed -e 's/\\/\\\\/g' -e 's/\"/\\"/g' -e 's/\(.*\)/"\1\\n"/' < 
policy/domain_policy.conf >> [email protected]
+       @echo "\"\";" >> [email protected]
+       @echo "static char ccs_builtin_manager[] __initdata =" >> [email protected]
+       @sed -e 's/\\/\\\\/g' -e 's/\"/\\"/g' -e 's/\(.*\)/"\1\\n"/' < 
policy/manager.conf >> [email protected]
+       @echo "\"\";" >> [email protected]
+       @echo "static char ccs_builtin_stat[] __initdata =" >> [email protected]
+       @sed -e 's/\\/\\\\/g' -e 's/\"/\\"/g' -e 's/\(.*\)/"\1\\n"/' < 
policy/stat.conf >> [email protected]
+       @echo "\"\";" >> [email protected]
+       @mv [email protected] $@
 
 policy_io.o: builtin-policy.h
 
@@ -60,38 +72,50 @@
 obj-y += ccsecurity.o
 endif
 
-$(obj)/tomoyo2c: $(obj)/tomoyo2c.c
-       @echo Compiling built-in policy generator for TOMOYO 1.8.x.
-       @$(HOSTCC) $(HOSTCFLAGS) -o $(obj)/tomoyo2c $(obj)/tomoyo2c.c
-
 $(obj)/policy/profile.conf:
+       @mkdir -p $(obj)/policy/
        @echo Creating an empty policy/profile.conf
        @touch $@
 
 $(obj)/policy/exception_policy.conf:
+       @mkdir -p $(obj)/policy/
        @echo Creating a default policy/exception_policy.conf
        @echo initialize_domain /sbin/modprobe from any >> $@
        @echo initialize_domain /sbin/hotplug from any >> $@
 
 $(obj)/policy/domain_policy.conf:
+       @mkdir -p $(obj)/policy/
        @echo Creating an empty policy/domain_policy.conf
        @touch $@
 
 $(obj)/policy/manager.conf:
+       @mkdir -p $(obj)/policy/
        @echo Creating an empty policy/manager.conf
        @touch $@
 
 $(obj)/policy/stat.conf:
+       @mkdir -p $(obj)/policy/
        @echo Creating an empty policy/stat.conf
        @touch $@
 
-$(obj)/builtin-policy.h: $(obj)/policy/profile.conf 
$(obj)/policy/exception_policy.conf $(obj)/policy/domain_policy.conf 
$(obj)/policy/manager.conf $(obj)/policy/stat.conf $(obj)/tomoyo2c
+$(obj)/builtin-policy.h: $(obj)/policy/profile.conf 
$(obj)/policy/exception_policy.conf $(obj)/policy/domain_policy.conf 
$(obj)/policy/manager.conf $(obj)/policy/stat.conf
        @echo Generating built-in policy for TOMOYO 1.8.x.
-       @$(obj)/tomoyo2c profile < $(obj)/policy/profile.conf > $@
-       @$(obj)/tomoyo2c exception_policy < $(obj)/policy/exception_policy.conf 
>> $@
-       @$(obj)/tomoyo2c domain_policy < $(obj)/policy/domain_policy.conf >> $@
-       @$(obj)/tomoyo2c manager < $(obj)/policy/manager.conf >> $@
-       @$(obj)/tomoyo2c stat < $(obj)/policy/stat.conf >> $@
+       @echo "static char ccs_builtin_profile[] __initdata =" > [email protected]
+       @sed -e 's/\\/\\\\/g' -e 's/\"/\\"/g' -e 's/\(.*\)/"\1\\n"/' < 
$(obj)/policy/profile.conf >> [email protected]
+       @echo "\"\";" >> [email protected]
+       @echo "static char ccs_builtin_exception_policy[] __initdata =" >> 
[email protected]
+       @sed -e 's/\\/\\\\/g' -e 's/\"/\\"/g' -e 's/\(.*\)/"\1\\n"/' < 
$(obj)/policy/exception_policy.conf >> [email protected]
+       @echo "\"\";" >> [email protected]
+       @echo "static char ccs_builtin_domain_policy[] __initdata =" >> [email protected]
+       @sed -e 's/\\/\\\\/g' -e 's/\"/\\"/g' -e 's/\(.*\)/"\1\\n"/' < 
$(obj)/policy/domain_policy.conf >> [email protected]
+       @echo "\"\";" >> [email protected]
+       @echo "static char ccs_builtin_manager[] __initdata =" >> [email protected]
+       @sed -e 's/\\/\\\\/g' -e 's/\"/\\"/g' -e 's/\(.*\)/"\1\\n"/' < 
$(obj)/policy/manager.conf >> [email protected]
+       @echo "\"\";" >> [email protected]
+       @echo "static char ccs_builtin_stat[] __initdata =" >> [email protected]
+       @sed -e 's/\\/\\\\/g' -e 's/\"/\\"/g' -e 's/\(.*\)/"\1\\n"/' < 
$(obj)/policy/stat.conf >> [email protected]
+       @echo "\"\";" >> [email protected]
+       @mv [email protected] $@
 
 $(obj)/policy_io.o: $(obj)/builtin-policy.h
 


Also, ccs-tools-1.8.2-20110620.tar.gz has a bug that "ccs-editpolicy /etc/ccs/"
forgot to kill the offline daemon (which will cause unable to logout terminal
after finishing "ccs-editpolicy /etc/ccs/"). This problem can be fixed with
below patch.

--- a/ccstools/usr_sbin/editpolicy.c
+++ b/ccstools/usr_sbin/editpolicy.c
@@ -3107,6 +3107,8 @@
        ccs_current_ns_len = strlen(ccs_current_ns);
 }
 
+static pid_t daemon_pid = 0;
+
 /**
  * ccs_load_offline - Load policy for offline mode.
  *
@@ -3132,7 +3134,8 @@
        ccs_network_ip = addr.sin_addr.s_addr;
        ccs_network_port = addr.sin_port;
        ccs_network_mode = true;
-       switch (fork()) {
+       daemon_pid = fork();
+       switch (daemon_pid) {
        case 0:
                ccs_editpolicy_offline_daemon(fd);
                _exit(0);
@@ -3263,6 +3266,8 @@
        endwin();
        if (ccs_offline_mode && !ccs_readonly_mode)
                ccs_save_offline();
+       if (daemon_pid)
+               kill(daemon_pid, SIGHUP);
        ccs_clear_domain_policy(&ccs_dp);
        return 0;
 }

Also, it turned out that domain transition jump information on
<<< Domain Transition Editor >>> screen was not accurate nor sufficient.
For example, users might specify multiple "task manual_domain_transition"
entries that have same program name. Also, information for jumping to which
namespace should be printed. I'm correcting them now.

Domain policy file for below views:
http://sourceforge.jp/projects/tomoyo/svn/view/branches/example-domain-policy.conf?view=markup&root=tomoyo&pathrev=5176

Current view:
http://sourceforge.jp/projects/tomoyo/svn/view/branches/old.png?view=markup&root=tomoyo&pathrev=5176

Proposed view:
http://sourceforge.jp/projects/tomoyo/svn/view/branches/new.png?view=markup&root=tomoyo&pathrev=5176

_______________________________________________
tomoyo-users-en mailing list
[email protected]
http://lists.sourceforge.jp/mailman/listinfo/tomoyo-users-en

Reply via email to