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

Subversion リポジトリの参照

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

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

revision 4782 by kumaneko, Thu Mar 31 02:27:31 2011 UTC revision 5498 by kumaneko, Wed Sep 28 13:32:18 2011 UTC
# Line 797  Fix 2007/01/26 Line 797  Fix 2007/01/26
797        I was using PAGE_SIZE (4096 in many environments)        I was using PAGE_SIZE (4096 in many environments)
798        as the max length of any string data.        as the max length of any string data.
799        But for environments that have larger PAGE_SIZE,        But for environments that have larger PAGE_SIZE,
800        doing memset(ptr, 0, PAGE_SIZE) everytime is too wasteful.        doing memset(ptr, 0, PAGE_SIZE) every time is too wasteful.
801    
802  Fix 2007/01/29  Fix 2007/01/29
803    
# Line 2812  Fix 2011/03/31 Line 2812  Fix 2011/03/31
2812      @ Serialize updating profile's comment line.      @ Serialize updating profile's comment line.
2813    
2814        We need to serialize when updating COMMENT= line in /proc/ccs/profile .        We need to serialize when updating COMMENT= line in /proc/ccs/profile .
2815    
2816    Version 1.8.1   2011/04/01   Usability enhancement with "Zettai, Daijoubudayo" release!
2817    
2818    Fix 2011/04/03
2819    
2820        @ Fix fcntl(F_SETFL, O_APPEND) handling.
2821    
2822          Since 1.8.0, TOMOYO was by error checking "file write" permission rather
2823          than "file append" permission when changing file's writing mode from
2824          "overwriting" to "append".
2825    
2826          This error should impact little (except CentOS 6.0 kernels) because once
2827          a file was opened for "overwriting" mode, changing that file to "append"
2828          mode cannot undo overwriting the file. Regarding CentOS 6.0 kernels,
2829          due to different ACC_MODE definition, TOMOYO was by error needlessly
2830          checking "file read" permission when fcntl() was requested.
2831    
2832    Fix 2011/04/20
2833    
2834        @ Remove unused "struct inode *" parameter from hooks.
2835    
2836          Since pre-vfs functions were removed on 2010/09/18, "struct inode *"
2837          parameter which was used for checking parent directory's DAC permission
2838          is no longer used.
2839    
2840          Note that "struct ccsecurity_operations ccsecurity_ops" has changed.
2841          Loadable kernel modules that depends on it need to be rebuilt.
2842    
2843    Fix 2011/05/05
2844    
2845        @ Fix wrong profile number in audit logs for "misc env" permission.
2846    
2847          Profile number used for "file execute" permission was by error reused
2848          when generating audit logs for "misc env" permission.
2849    
2850    Fix 2011/05/11
2851    
2852        @ Fix wrong domainname validation.
2853    
2854          "<kernel>" + "/foo/\" + "/bar" was by error checked when
2855          "<kernel> /foo/\* /bar" was given. As a result, legal domainnames like
2856          "<kernel> /foo/\* /bar" are rejected.
2857    
2858    Fix 2011/06/06
2859    
2860        @ Add policy namespace support.
2861    
2862          To be able to use TOMOYO in LXC environments, I introduced policy
2863          namespace. Each policy namespace has its own set of domain policy,
2864          exception policy and profiles, which are all independent of other
2865          namespaces.
2866    
2867        @ Remove CONFIG_CCSECURITY_BUILTIN_INITIALIZERS option.
2868    
2869          From now on, exception policy and manager need to be able to handle
2870          policy namespace (which is a <$namespace> prefix added to each line).
2871          Thus, space-separated list for CONFIG_CCSECURITY_BUILTIN_INITIALIZERS is
2872          no longer suitable for handling policy namespace.
2873    
2874    Fix 2011/06/10
2875    
2876        @ Allow specifying trigger for activation.
2877    
2878          To be able to use TOMOYO under systemd environments where init= parameter
2879          is used, I changed to allow overriding the trigger for calling external
2880          policy loader and activating MAC via kernel command line options.
2881    
2882    Fix 2011/06/14
2883    
2884        @ Remove unused "struct inode *" parameter from ccs-patch-\*.diff .
2885    
2886          To follow changes I made on 2011/04/20, I removed "struct inode *" from
2887          ccs_mknod_permission(), ccs_mkdir_permission(), ccs_rmdir_permission(),
2888          ccs_unlink_permission(), ccs_symlink_permission(), ccs_link_permission(),
2889          ccs_rename_permission() that are called from fs/namei.c
2890          net/unix/af_unix.c include/linux/security.c security/security.c .
2891          If you have your own ccs-patch-*.diff , please update accordingly.
2892    
2893    Version 1.8.2   2011/06/20   Usability enhancement release.
2894    
2895    Fix 2011/07/07
2896    
2897        @ Remove /proc/ccs/.domain_status interface.
2898    
2899          Writing to /proc/ccs/.domain_status can be emulated by
2900    
2901            ( echo "select " $domainname; echo "use_profile " $profile ) |
2902            /usr/sbin/ccs-loadpolicy -d
2903    
2904          and reading from /proc/ccs/.domain_status can be emulated by
2905    
2906            grep -A 1 '^<' /proc/ccs/domain_policy |
2907            awk ' { if ( domainname == "" ) { if ( substr($1, 1, 1) == "<" )
2908            domainname = $0; } else if ( $1 == "use_profile" ) {
2909            print $2 " " domainname; domainname = ""; } } ; '
2910    
2911          . Since this interface is used by only /usr/sbin/ccs-setprofile ,
2912          remove this interface by updating /usr/sbin/ccs-setprofile .
2913    
2914    Fix 2011/07/09
2915    
2916        @ Fix /proc/ccs/stat parser.
2917    
2918          For optimization, I changed to use simple_strtoul() rather than sscanf()
2919          in ccs_write_stat(). But it caused parsing failure if space is inserted
2920          before value (e.g. "Memory used by policy: $value").
2921    
2922    Fix 2011/07/13
2923    
2924        @ Accept "::" notation for IPv6 address.
2925    
2926          In order to add network access restriction to TOMOYO 2.4, I backported
2927          routines for parsing/printing IPv4/IPv6 address from kernel 3.0 into
2928          TOMOYO 1.8.2.
2929          Now, IPv6 address accepts "::1" instead of "0:0:0:0:0:0:0:1".
2930    
2931    Fix 2011/09/03
2932    
2933        @ Avoid race when retrying "file execute" permission check.
2934    
2935          There was a race window that the pathname which is subjected to
2936          "file execute" permission check when retrying via supervisor's decision
2937          because the pathname was recalculated upon retry. Though, there is an
2938          inevitable race window even without supervisor, for we have to calculate
2939          the symbolic link's pathname from "struct linux_binprm"->filename rather
2940          than from "struct linux_binprm"->file because we cannot back calculate
2941          the symbolic link's pathname from the dereferenced pathname.
2942    
2943        @ Remove unneeded daemonize().
2944    
2945          Garbage collector thread is created using kthread_create() since 2.6.7.
2946          Kernel threads created by kthread_create() does not need to call
2947          daemonize().
2948    
2949    Fix 2011/09/16
2950    
2951        @ Allow specifying domain transition preference.
2952    
2953          I got an opinion that it is difficult to use exception policy's domain
2954          transition control directives because they need to match the pathname
2955          specified to "file execute" directives. For example, if "file execute
2956          /bin/\*\-ls\-cat" is given, corresponding domain transition control
2957          directive needs to be like "no_keep_domain /bin/\*\-ls\-cat from any".
2958    
2959          To solve this difficulty, I introduced optional argument that supersedes
2960          exception policy's domain transition control directives.
2961    
2962            file execute /bin/ls keep exec.realpath="/bin/ls" exec.argv[0]="ls"
2963            file execute /bin/cat keep exec.realpath="/bin/cat" exec.argv[0]="cat"
2964            file execute /bin/\*\-ls\-cat child
2965            file execute /usr/sbin/httpd <apache> exec.realpath="/usr/sbin/httpd" exec.argv[0]="/usr/sbin/httpd"
2966    
2967          This argument allows transition to different domains based on conditions.
2968    
2969            <kernel> /usr/sbin/sshd
2970            file execute /bin/bash <kernel> /usr/sbin/sshd //batch-session exec.argc=2 exec.argv[1]="-c"
2971            file execute /bin/bash <kernel> /usr/sbin/sshd //root-session task.uid=0
2972            file execute /bin/bash <kernel> /usr/sbin/sshd //nonroot-session task.uid!=0
2973    
2974    Fix 2011/09/25
2975    
2976        @ Simplify garbage collector.
2977    
2978          It turned out that use of batched processing tends to choke garbage
2979          collector when certain pattern of entries are queued. Thus, I replaced it
2980          with sequential processing.
2981    
2982    Version 1.8.3   2011/XX/XX   Usability enhancement release.

Legend:
Removed from v.4782  
changed lines
  Added in v.5498

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