オープンソース・ソフトウェアの開発とダウンロード

Subversion リポジトリの参照

Diff of /trunk/1.8.x/ccs-patch/README.ccs

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 4068 by kumaneko, Mon Oct 18 07:57:52 2010 UTC revision 4724 by kumaneko, Tue Mar 15 05:23:03 2011 UTC
# Line 1723  Fix 2008/11/07 Line 1723  Fix 2008/11/07
1723        to see process information. The content of /proc/ccs/.execute_handler is        to see process information. The content of /proc/ccs/.execute_handler is
1724        identical to /proc/ccs/.process_status .        identical to /proc/ccs/.process_status .
1725    
1726  Version 1.6.5   2008/11/11   Third anniversary release.  Version 1.6.5 2008/11/11   Third anniversary release.
1727    
1728  Fix 2008/12/01  Fix 2008/12/01
1729    
# Line 2243  Fix 2009/11/09 Line 2243  Fix 2009/11/09
2243        /proc/ccs/profile (which results in not protecting the system at all),        /proc/ccs/profile (which results in not protecting the system at all),
2244        I added a check for PROFILE_VERSION= .        I added a check for PROFILE_VERSION= .
2245    
2246  Version 1.7.1   2009/11/11   Fourth anniversary release.  Version 1.7.1 2009/11/11   Fourth anniversary release.
2247    
2248  Fix 2009/11/13  Fix 2009/11/13
2249    
# Line 2382  Fix 2010/03/26 Line 2382  Fix 2010/03/26
2382        Since 1.7.0 , ccs_lport_reserved() was by error checking wrong port        Since 1.7.0 , ccs_lport_reserved() was by error checking wrong port
2383        number. As a result, "deny_autobind" keyword was not working as expected.        number. As a result, "deny_autobind" keyword was not working as expected.
2384    
2385  Version 1.7.2   2010/04/01   Feature enhancement release.  Version 1.7.2 2010/04/01   Feature enhancement release.
2386    
2387  Fix 2010/04/10  Fix 2010/04/10
2388    
# Line 2441  Fix 2010/06/09 Line 2441  Fix 2010/06/09
2441        permissions (e.g. allow_env PATH if symlink.target="/"), it triggered        permissions (e.g. allow_env PATH if symlink.target="/"), it triggered
2442        NULL pointer dereference.        NULL pointer dereference.
2443    
2444  Fix 2010/10/05  Fix 2010/10/28
2445    
2446        @ Fix umount() pathname calculation.
2447    
2448          "mount --bind /path/to/file1 /path/to/file2" is legal.
2449          Therefore, "umount /path/to/file2" is also legal.
2450          Do not automatically append trailing '/' if pathname to be unmounted
2451          does not end with '/'.
2452    
2453        @ Add preserve KABI compatibility option. (2.6 kernels only)
2454    
2455          TOMOYO needs "struct ccs_domain_info *" and "u32" for each
2456          "struct task_struct". But embedding these variables into
2457          "struct task_struct" breaks KABI for prebuilt kernel modules (which
2458          means that you will need to rebuild prebuilt kernel modules).
2459    
2460          Since KABI is commonly used (compared to 5 years ago), asking users to
2461          rebuild kernel modules which are not included in kernel package is no
2462          longer preferable. Therefore, I added a new option that keeps
2463          "struct task_struct" unmodified in order to keep KABI.
2464    
2465          Note that you have to use ccs-patch-2.6.\*.diff which patches
2466          kernel/fork.c in order to use this option. Otherwise, TOMOYO will leak
2467          memory whenever "struct task_struct" is released.
2468    
2469      @ Change directives.      @ Change directives.
2470    
# Line 2636  Fix 2010/10/05 Line 2659  Fix 2010/10/05
2659    
2660        This change allows you to jump to arbitrary domain.        This change allows you to jump to arbitrary domain.
2661    
2662          Note that this change also reverts "Change /proc/ccs/info/self_domain ."
2663          made on 2006/10/24. Now, 'cat < /proc/ccs/info/self_domain' will act like
2664          'cat /proc/ccs/info/self_domain'. Programs depending on old assumption
2665          need to be updated.
2666    
2667      @ Add "task auto_domain_transition".      @ Add "task auto_domain_transition".
2668    
2669        This is similar to "task manual_domain_transition", but is automatically        This is similar to "task manual_domain_transition", but is automatically
# Line 2649  Fix 2010/10/05 Line 2677  Fix 2010/10/05
2677          task manual_domain_transition <kernel> //./non-root task.uid!=0          task manual_domain_transition <kernel> //./non-root task.uid!=0
2678    
2679        will jump to "<kernel> //./non-root" domain if current process's UID is        will jump to "<kernel> //./non-root" domain if current process's UID is
2680        not 0 and current process wrote "<kernel> //./non-root" + '\n' to        not 0 and current process wrote "<kernel> //./non-root" to
2681        /proc/ccs/.transition interface.        /proc/ccs/self_domain interface.
2682    
2683        If domain transition failed, current process will be killed by SIGKILL        If domain transition failed, current process will be killed by SIGKILL
2684        signal.        signal.
# Line 2659  Fix 2010/10/05 Line 2687  Fix 2010/10/05
2687    
2688        I merged similar code in order to reduce object's filesize.        I merged similar code in order to reduce object's filesize.
2689    
2690  Version 1.8.0 2010/XX/XX   Feature enhancement release.  Version 1.8.0 2010/11/11   Fifth anniversary release.
2691    
2692    Fix 2010/12/01
2693    
2694        @ Use same interface for audit logs.
2695    
2696          To be able to perform fine grained filtering by /usr/sbin/ccs-auditd ,
2697          I merged /proc/ccs/grant_log and /proc/ccs/reject_log as
2698          /proc/ccs/audit and added granted=yes or granted=no to audit logs.
2699    
2700    Fix 2010/12/17
2701    
2702        @ Split ccs_null_security into ccs_default_security and ccs_oom_security.
2703    
2704          ccs_null_security is used by preserve KABI compatibility option and is
2705          used for providing default values against threads which have not yet
2706          allocated memory for their security contexts.
2707    
2708          If current thread failed to allocate memory for current thread's security
2709          context, current thread uses ccs_null_security. Since current thread is
2710          allowed to modify current thread's security context, current thread might
2711          modify ccs_null_security which should not be modified for any reason.
2712    
2713          Therefore, I split ccs_null_security into ccs_default_security and
2714          ccs_oom_security and use ccs_oom_security when current thread failed to
2715          allocate memory for current thread's security context.
2716    
2717          Threads which do not share ccs_oom_security are not affected by threads
2718          which share ccs_oom_security. Threads which share ccs_oom_security will
2719          experience temporary inconsistency, but such threads are about to be
2720          killed by SIGKILL signal.
2721    
2722    Fix 2011/01/11
2723    
2724        @ Use filesystem name for unnamed devices when vfsmount is missing.
2725    
2726          "Change pathname for non-rename()able filesystems." changed to use
2727          "$fsname:" if the filesystem does not support rename() operation and
2728          "dev($major,$minor):" otherwise when vfsmount is missing. But it turned
2729          out that it is useless to use "dev($major,$minor):" for unnamed devices
2730          (filesystems with $major == 0). Thus, I changed to use "$fsname:" rather
2731          than "dev($major,$minor):" for filesystems with $major == 0 when vfsmount
2732          is missing.
2733    
2734    Fix 2011/02/07
2735    
2736        @ Fix infinite loop bug when reading /proc/ccs/audit or /proc/ccs/query .
2737    
2738          In ccs_flush(), head->r.w[0] holds pointer to string data to be printed.
2739          But head->r.w[0] was updated only when the string data was partially
2740          printed (because head->r.w[0] will be updated by head->r.w[1] later if
2741          completely printed). However, regarding /proc/ccs/audit and
2742          /proc/ccs/query , an additional '\0' is printed after the string data was
2743          completely printed. But if free space for read buffer became 0 before
2744          printing the additional '\0', ccs_flush() was returning without updating
2745          head->r.w[0]. As a result, ccs_flush() forever reprints already printed
2746          string data.
2747    
2748    Fix 2011/03/01
2749    
2750        @ Run garbage collector without waiting for /proc/ccs/ users.
2751    
2752          Currently TOMOYO holds SRCU lock upon open() and releases it upon close()
2753          because list elements stored in the "struct ccs_io_buffer" instances are
2754          accessed until close() is called. However, such SRCU usage causes lockdep
2755          to complain about leaving the kernel with SRCU lock held. Therefore,
2756          I changed to hold/release SRCU upon each read()/write() by selectively
2757          deferring kfree() by keeping track of the "struct ccs_io_buffer"
2758          instances.
2759    
2760    Fix 2011/03/05
2761    
2762        @ Support built-in policy configuration.
2763    
2764          To be able to start using enforcing mode from the early stage of boot
2765          sequence, I added support for built-in policy configuration and
2766          activating access control without calling external policy loader program.
2767    
2768          This will be useful for systems where operations which can lead to the
2769          hijacking of the boot sequence are needed before loading the policy.
2770          For example, you can activate immediately after loading the fixed part of
2771          policy which will allow only operations needed for mounting a partition
2772          which contains the variant part of policy and verifying (e.g. running GPG
2773          check) and loading the variant part of policy. Since you can start using
2774          enforcing mode from the beginning, you can reduce the possibility of
2775          hijacking the boot sequence.
2776    
2777    Fix 2011/03/10
2778    
2779        @ Remove /proc/ccs/meminfo interface.
2780    
2781          Please use /proc/ccs/stat interface instead.
2782    
2783    Fix 2011/03/15
2784    
2785        @ Pack policy when printing via /proc/ccs/ interface.
2786    
2787          The kernel side is ready for accepting packed input like
2788    
2789            file read/write/execute /path/to/file
2790    
2791          but was using unpacked output like
2792    
2793            file read /path/to/file
2794            file write /path/to/file
2795            file execute /path/to/file
2796    
2797          because most of userland tools were not ready for accepting packed input.
2798    
2799          The advantages of using packed policy are that it makes policy files
2800          smaller and it speeds up loading/saving policy files.
2801    
2802          Since most of userland tools are ready for accepting packed input by now,
2803          I changed to use packed policy for both input and output.

Legend:
Removed from v.4068  
changed lines
  Added in v.4724

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26