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

Subversion リポジトリの参照

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

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

revision 3963 by kumaneko, Tue Sep 7 05:44:14 2010 UTC revision 4334 by kumaneko, Tue Jan 11 07:45:54 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/09/01  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 2480  Fix 2010/09/01 Line 2503  Fix 2010/09/01
2503        when you have to disable access control for recv() operation due to        when you have to disable access control for recv() operation due to
2504        application breakage by discarding incoming datagram.        application breakage by discarding incoming datagram.
2505    
     @ Wait for next connection/datagram if current connection/datagram was  
       discarded.  
   
       Regarding "network inet stream accept", "network inet dgram recv",  
       "network inet raw recv" directives, I modified to wait for next  
       connection/datagram if current connection/datagram was discarded.  
       LSM hooks for these directives are currently missing because this  
       behavior may break applications. If you found applications broken by  
       this behavior, you can set CONFIG::network::inet_stream_accept and/or  
       CONFIG::network::inet_dgram_recv and/or CONFIG::network::inet_raw_recv  
       to mode=disabled in order to only disable filtering for incoming  
       connection/datagram.  
   
2506      @ Add Unix domain socket restriction support.      @ Add Unix domain socket restriction support.
2507    
2508        Until now, it was possible to restrict only inet domain sockets (i.e.        Until now, it was possible to restrict only inet domain sockets (i.e.
# Line 2577  Fix 2010/09/01 Line 2587  Fix 2010/09/01
2587    
2588          file read /etc/shadow task.uid=0          file read /etc/shadow task.uid=0
2589    
2590      @ Remove per-profile preference.      @ Remove "file_pattern" keyword.
2591    
2592          I removed "file_pattern" keyword because it is impossible to predefine
2593          all possible pathname patterns. Also, learning pathnames using incomplete
2594          patterns makes it difficult to later replace using "path_group" keyword.
2595    
2596        I removed per profile preference in order to make code simpler.      @ Replace verbose= parameter with statistic interface.
2597    
2598          Since it is noisy if a lot of policy violation messages are printed,
2599          I removed printk(). To be able to check whether policy violation occurred
2600          or not, I introduced /proc/ccs/stat interface which counts number of
2601          policy violations occurred. You can firstly check /proc/ccs/stat and then
2602          check /proc/ccs/reject_log .
2603    
2604        @ Remove global preference.
2605    
2606          I removed global preference in order to make code simpler.
2607    
2608      @ Allow controlling generation of access granted logs for per an entry      @ Allow controlling generation of access granted logs for per an entry
2609        basis.        basis.
# Line 2648  Fix 2010/09/01 Line 2672  Fix 2010/09/01
2672          task manual_domain_transition <kernel> //./non-root task.uid!=0          task manual_domain_transition <kernel> //./non-root task.uid!=0
2673    
2674        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
2675        not 0 and current process wrote "<kernel> //./non-root" + '\n' to        not 0 and current process wrote "<kernel> //./non-root" to
2676        /proc/ccs/.transition interface.        /proc/ccs/self_domain interface.
2677    
2678        If domain transition failed, current process will be killed by SIGKILL        If domain transition failed, current process will be killed by SIGKILL
2679        signal.        signal.
# Line 2658  Fix 2010/09/01 Line 2682  Fix 2010/09/01
2682    
2683        I merged similar code in order to reduce object's filesize.        I merged similar code in order to reduce object's filesize.
2684    
2685  Version 1.8.0 2010/XX/XX   Feature enhancement release.  Version 1.8.0 2010/11/11   Fifth anniversary release.
2686    
2687    Fix 2010/12/01
2688    
2689        @ Use same interface for audit logs.
2690    
2691          To be able to perform fine grained filtering by /usr/sbin/ccs-auditd ,
2692          I merged /proc/ccs/grant_log and /proc/ccs/reject_log as
2693          /proc/ccs/audit and added granted=yes or granted=no to audit logs.
2694    
2695    Fix 2010/12/17
2696    
2697        @ Split ccs_null_security into ccs_default_security and ccs_oom_security.
2698    
2699          ccs_null_security is used by preserve KABI compatibility option and is
2700          used for providing default values against threads which have not yet
2701          allocated memory for their security contexts.
2702    
2703          If current thread failed to allocate memory for current thread's security
2704          context, current thread uses ccs_null_security. Since current thread is
2705          allowed to modify current thread's security context, current thread might
2706          modify ccs_null_security which should not be modified for any reason.
2707    
2708          Therefore, I split ccs_null_security into ccs_default_security and
2709          ccs_oom_security and use ccs_oom_security when current thread failed to
2710          allocate memory for current thread's security context.
2711    
2712          Threads which do not share ccs_oom_security are not affected by threads
2713          which share ccs_oom_security. Threads which share ccs_oom_security will
2714          experience temporary inconsistency, but such threads are about to be
2715          killed by SIGKILL signal.
2716    
2717    Fix 2010/01/11
2718    
2719       @ Use filesystem name for unnamed devices when vfsmount is missing.
2720    
2721         "Change pathname for non-rename()able filesystems." changed to use
2722         "$fsname:" if the filesystem does not support rename() operation and
2723         "dev($major,$minor):" otherwise when vfsmount is missing. But it turned
2724         out that it is useless to use "dev($major,$minor):" for unnamed devices
2725         (filesystems with $major == 0). Thus, I changed to use "$fsname:" rather
2726         than "dev($major,$minor):" for filesystems with $major == 0 when vfsmount
2727         is missing.

Legend:
Removed from v.3963  
changed lines
  Added in v.4334

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