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

Subversion リポジトリの参照

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

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

trunk/1.6.x/ccs-patch/README.ccs revision 2394 by kumaneko, Mon Apr 6 05:25:10 2009 UTC trunk/1.7.x/ccs-patch/README.ccs revision 2975 by kumaneko, Tue Sep 1 05:34:46 2009 UTC
# Line 16  and you enjoy the life with Linux. Line 16  and you enjoy the life with Linux.
16    
17  This project was very inspired by the comic "Card Captor SAKURA",  This project was very inspired by the comic "Card Captor SAKURA",
18  one of the CLAMP's masterworks.  one of the CLAMP's masterworks.
 The names SAKURA and TOMOYO and SYAORAN were borrowed from the comic  
 with the heartfelt thanks to CLAMP.  
   
   
19    
20  ChangeLog:  ChangeLog:
21    
# Line 1911  Fix 2009/04/06 Line 1907  Fix 2009/04/06
1907        and ccs_update_mount_acl() and ccs_check_supervisor(). This may cause        and ccs_update_mount_acl() and ccs_check_supervisor(). This may cause
1908        /proc/ccs/system_policy and /proc/ccs/query to contain invalid        /proc/ccs/system_policy and /proc/ccs/query to contain invalid
1909        characters within a string.        characters within a string.
1910    
1911    Fix 2009/04/07
1912    
1913        @ Fix IPv4's "address_group" handling error.
1914    
1915          Since 1.6.5 , due to lack of ntohl() (byte order conversion) in
1916          ccs_update_address_group_entry(), "address_group" with IPv4 address was
1917          not working.
1918    
1919          This problem happens on little endian platforms (e.g. x86).
1920    
1921    Fix 2009/05/08
1922    
1923        @ Add condition for symlink's target pathname.
1924    
1925          Until now, "allow_symlink" keyword allows creation of a symlink but does
1926          not check the symlink's target. Usually it is no problem because
1927          permission checks are done using dereferenced pathname. But in some
1928          cases, we should restrict the symlink's target. For example,
1929          "ln -s .htpasswd /var/www/html/readme.html" by CGI program should be
1930          blocked because we will allow Apache to read both
1931          /var/www/html/readme.html and /var/www/html/.htpasswd .
1932    
1933          Thus, I added new condition, "symlink.target".
1934    
1935            allow_symlink /var/www/html/\*.html if symlink.target="\*.html"
1936    
1937            allow_symlink /var/www/html/\*\-.\* if symlink.target="\*\-.\*"
1938    
1939        @ Don't return -EAGAIN at ccs_socket_recvmsg_permission().
1940    
1941          It turned out that it is not permitted for accept() and recvmsg() to
1942          return -EAGAIN if poll() said connections/datagrams are ready. However,
1943          recvmsg() may return -EAGAIN and potentially confuse some applications
1944          because ccs_socket_recvmsg_permission() is returning -EAGAIN.
1945    
1946          Thus, I modified ccs_socket_recvmsg_permission() to return -ENOMEM
1947          rather than -EAGAIN.
1948    
1949    Fix 2009/05/19
1950    
1951        @ Don't call get_fs_type() with a mutex held.
1952    
1953          Until now, when ccs_update_mount_acl() is called with unsupported
1954          filesystem, /sbin/modprobe is executed from get_fs_type() to load
1955          filesystem module. And get_fs_type() does not return until /sbin/modprobe
1956          finishes.
1957    
1958          This means that it will cause deadlock if /sbin/modprobe (which is
1959          executed via get_fs_type() in ccs_update_mount_acl()) calls
1960          ccs_update_mount_acl(); although it won't happen unless an administrator
1961          inserts execute_handler to call mount() requests in learning mode or to
1962          add "allow_mount" entries to /proc/ccs/system_policy .
1963    
1964          I modified to unlock the mutex before calling get_fs_type().
1965    
1966    Fix 2009/05/20
1967    
1968        @ Update recvmsg() hooks.
1969    
1970          Since 1.5.0, I was doing network access control for incoming UDP and RAW
1971          packets inside skb_recv_datagram(). But to synchronize with LSM version,
1972          I moved ccs_recv_datagram_permission() hook from skb_recv_datagram() to
1973          udp_recvmsg()/udpv6_recvmsg()/raw_recvmsg()/rawv6_recvmsg() with name
1974          change to ccs_recvmsg_permission().
1975    
1976    Version 1.6.8 2009/05/28   Feature enhancement release.
1977    
1978    Fix 2009/07/03
1979    
1980        @ Fix buffer overrun when used with CONFIG_SLOB=y .
1981    
1982          Since 1.6.7 , ccs_allocate_execve_entry() was requesting for only 4000
1983          bytes while the comment says it is 4096 bytes. This may lead to buffer
1984          overrun when slob allocator is used, for slob allocator allocates exactly
1985          4000 bytes whereas slab and slub allocators allocate 4096 bytes.
1986    
1987    Fix 2008/09/01
1988    
1989        @ Add garbage collector support.
1990    
1991          Until now, it was impossible to release memory used by deleted policy.
1992          I added SRCU based garbage collector so that memory used by deleted
1993          policy will be automatically released.
1994    
1995        @ Remove word length limitation and line length limitation.
1996    
1997          Until now, the max length of a word is 4000 and the max length of a line
1998          is 8192. To be able to handle longer pathnames, I removed these
1999          limitations. Now, the max length (except the domainname and the strings
2000          used in "if" clause) is 128K (which is the max amount of memory kmalloc()
2001          can allocate in most environments).
2002    
2003        @ Support more fine grained profile configuration.
2004    
2005          Profile was reconstructed.
2006    
2007        @ Support more fine grained parameters restrictions.
2008    
2009          "allow_create", "allow_mkdir", "allow_mkfifo", "allow_mksock" check
2010          create mode. "allow_mkblock" and "allow_mkchar" check create mode,
2011          major device number, minor device number. "allow_chmod" check new mode.
2012          "allow_chown" checks new owner. "allow_chgrp" checks new group.
2013    
2014        @ Allow number grouping.
2015    
2016          To help specifying numeric values, a new keyword "number_group" is
2017          introduced.
2018    
2019        @ Remove "alias" directive and "allow_argv0" directive.
2020    
2021          Until now, "allow_execute" used dereferenced pathname if it is a symlink
2022          unless explicitly specified by "alias" directive.
2023    
2024          Now, "allow_execute" uses symlink's pathname if it is a symlink.
2025          "exec.realpath" in "if" clause checks the dereferenced pathname.
2026          "exec.argv[0]" in "if" clause checks the invocation name.
2027    
2028        @ Remove /proc/ccs/system_policy and /etc/ccs/system_policy.conf .
2029    
2030          "deny_autobind" was moved to /proc/ccs/exception_policy and
2031          /etc/ccs/exception_policy.conf . Other directives were moved to
2032          /proc/ccs/domain_policy and /etc/ccs/domain_policy.conf .
2033    
2034        @ Remove syaoran filesystem.
2035    
2036          Since "allow_create"/"allow_mkdir"/"allow_mkfifo"/"allow_mksock"/
2037          "allow_mkblock"/"allow_mkchar"/"allow_chmod"/"allow_chown"/"allow_chgrp"
2038          can restrict mode changes and owner/group changes, there is no need to
2039          restrict these changes at filesystem level.
2040    
2041          Thus, I removed syaoran filesystem.
2042    
2043        @ Reduce spinlocks.
2044    
2045          Until now, TOMOYO was using own list for detecting memory leak. But as
2046          kernel 2.6.31 introduced memory leak detection mechanism
2047          ( CONFIG_DEBUG_KMEMLEAK ), TOMOYO no longer needs to use own list.
2048    
2049          I removed the list to ruduce use of spinlocks.
2050    
2051        @ Rewrite ccs-patch-2.\*.diff .
2052    
2053          ccs-patch-2.\*.diff was rewriteen like LSM hooks.
2054    
2055        @ Don't check "allow_read/write" for open-for-ioctl-only.
2056    
2057          open(pathname, 3) means open for ioctl() only.
2058          Until now, TOMOYO was checking "allow_read/write" for open(pathname, 3).
2059          But since TOMOYO checks "allow_ioctl" for ioctl(), I modified not to
2060          require "allow_read/write" for open(pathname, 3).
2061    
2062        @ Add missing sigqueue() and tgsigqueue() hooks.
2063    
2064          Until now, kill(), tkill(), tgkill() had hooks but sigqueue() and
2065          tgsigqueue() didn't.
2066    
2067        @ Move files from fs/ to security/ccsecurity.
2068    
2069          Config menu section changed from "File systems" to "Security options".
2070    
2071          Kernel config symbols changed from CONFIG_SAKURA CONFIG_TOMOYO
2072          CONFIG_SYAORAN to CONFIG_CCSECURITY .
2073    
2074        @ Add global PID to audit logs.
2075    
2076          ccs-queryd was using domainname for reaching the domain which the process
2077          belongs to, but the domain could be deleted while ccs-queryd is handling
2078          policy violation. If the domain is deleted, ccs-queryd no longer can
2079          reach the domain by domainname. Thus, ccs-queryd now uses PID for
2080          reaching the domain which the process belongs to.
2081    
2082          Kernel 2.6.24 introduced PID namespace. The PID in access logs generated
2083          by a process inside a container is useless for ccs-queryd for reaching
2084          the domain which the process belongs to.
2085    
2086          Thus, I added global PID in audit logs.
2087          
2088        @ Transit to new domain before do_execve() suceeds.
2089    
2090          Permission checks for interpreters and environment variables are
2091          done using new domain. In order to be allow ccs-queryd to reach the new
2092          domain via global PID, I reverted "Don't transit to new domain until
2093          do_execve() succeeds." made on 2008/10/07.
2094    
2095    Version 1.7.0 2008/09/03   Feature enhancement release.

Legend:
Removed from v.2394  
changed lines
  Added in v.2975

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