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

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 2311 by kumaneko, Wed Mar 25 03:11:22 2009 UTC trunk/1.7.x/ccs-patch/README.ccs revision 2974 by kumaneko, Tue Sep 1 03:33:37 2009 UTC
# Line 1804  Fix 2009/01/05 Line 1804  Fix 2009/01/05
1804        As remove_arg_zero() uses kmap_atomic(KM_USER0), I modified to use        As remove_arg_zero() uses kmap_atomic(KM_USER0), I modified to use
1805        kmap_atomic(KM_USER0) rather than kmap().        kmap_atomic(KM_USER0) rather than kmap().
1806    
     @ Relocate definitions and functions.  
   
       To reduce exposed symbols, I relocated some definitions and functions.  
   
1807  Fix 2009/01/28  Fix 2009/01/28
1808    
1809      @ Fix "allow_read" + "allow_write" != "allow_read/write" problem.      @ Fix "allow_read" + "allow_write" != "allow_read/write" problem.
# Line 1874  Fix 2009/03/18 Line 1870  Fix 2009/03/18
1870    
1871      @ Insert ccs_check_ioctl_permission() call.      @ Insert ccs_check_ioctl_permission() call.
1872    
1873        To enable MAC_FOR_IOCTL functionality work, I inserted        To make MAC_FOR_IOCTL functionality working, I inserted
1874        ccs_check_ioctl_permission() call into ccs-patch-\*.diff .        ccs_check_ioctl_permission() call into ccs-patch-\*.diff .
1875    
1876  Fix 2009/03/23  Fix 2009/03/23
# Line 1896  Fix 2009/03/24 Line 1892  Fix 2009/03/24
1892        Thus, I made these pathnames configurable.        Thus, I made these pathnames configurable.
1893    
1894  Version 1.6.7 2009/04/01   Feature enhancement release.  Version 1.6.7 2009/04/01   Feature enhancement release.
1895    
1896    Fix 2009/04/06
1897    
1898        @ Drop "undelete domain" command.
1899    
1900          I added "undelete domain" command on 2007/01/19, but never used by policy
1901          management tools. The garbage collector I added on 2007/01/29 will
1902          automatically reuse memory and allow administrators switch domain policy
1903          periodically, provided that the administrator kills processes in old
1904          domains before recreating new domains with the same domainnames.
1905    
1906          Thus, I dropped "undelete domain" command.
1907    
1908        @ Escape invalid characters in ccs_check_mount_permission2().
1909    
1910          ccs_check_mount_permission2() was passing unencoded strings to printk()
1911          and ccs_update_mount_acl() and ccs_check_supervisor(). This may cause
1912          /proc/ccs/system_policy and /proc/ccs/query to contain invalid
1913          characters within a string.
1914    
1915    Fix 2009/04/07
1916    
1917        @ Fix IPv4's "address_group" handling error.
1918    
1919          Since 1.6.5 , due to lack of ntohl() (byte order conversion) in
1920          ccs_update_address_group_entry(), "address_group" with IPv4 address was
1921          not working.
1922    
1923          This problem happens on little endian platforms (e.g. x86).
1924    
1925    Fix 2009/05/08
1926    
1927        @ Add condition for symlink's target pathname.
1928    
1929          Until now, "allow_symlink" keyword allows creation of a symlink but does
1930          not check the symlink's target. Usually it is no problem because
1931          permission checks are done using dereferenced pathname. But in some
1932          cases, we should restrict the symlink's target. For example,
1933          "ln -s .htpasswd /var/www/html/readme.html" by CGI program should be
1934          blocked because we will allow Apache to read both
1935          /var/www/html/readme.html and /var/www/html/.htpasswd .
1936    
1937          Thus, I added new condition, "symlink.target".
1938    
1939            allow_symlink /var/www/html/\*.html if symlink.target="\*.html"
1940    
1941            allow_symlink /var/www/html/\*\-.\* if symlink.target="\*\-.\*"
1942    
1943        @ Don't return -EAGAIN at ccs_socket_recvmsg_permission().
1944    
1945          It turned out that it is not permitted for accept() and recvmsg() to
1946          return -EAGAIN if poll() said connections/datagrams are ready. However,
1947          recvmsg() may return -EAGAIN and potentially confuse some applications
1948          because ccs_socket_recvmsg_permission() is returning -EAGAIN.
1949    
1950          Thus, I modified ccs_socket_recvmsg_permission() to return -ENOMEM
1951          rather than -EAGAIN.
1952    
1953    Fix 2009/05/19
1954    
1955        @ Don't call get_fs_type() with a mutex held.
1956    
1957          Until now, when ccs_update_mount_acl() is called with unsupported
1958          filesystem, /sbin/modprobe is executed from get_fs_type() to load
1959          filesystem module. And get_fs_type() does not return until /sbin/modprobe
1960          finishes.
1961    
1962          This means that it will cause deadlock if /sbin/modprobe (which is
1963          executed via get_fs_type() in ccs_update_mount_acl()) calls
1964          ccs_update_mount_acl(); although it won't happen unless an administrator
1965          inserts execute_handler to call mount() requests in learning mode or to
1966          add "allow_mount" entries to /proc/ccs/system_policy .
1967    
1968          I modified to unlock the mutex before calling get_fs_type().
1969    
1970    Fix 2009/05/20
1971    
1972        @ Update recvmsg() hooks.
1973    
1974          Since 1.5.0, I was doing network access control for incoming UDP and RAW
1975          packets inside skb_recv_datagram(). But to synchronize with LSM version,
1976          I moved ccs_recv_datagram_permission() hook from skb_recv_datagram() to
1977          udp_recvmsg()/udpv6_recvmsg()/raw_recvmsg()/rawv6_recvmsg() with name
1978          change to ccs_recvmsg_permission().
1979    
1980    Version 1.6.8 2009/05/28   Feature enhancement release.
1981    
1982    Fix 2009/07/03
1983    
1984        @ Fix buffer overrun when used with CONFIG_SLOB=y .
1985    
1986          Since 1.6.7 , ccs_allocate_execve_entry() was requesting for only 4000
1987          bytes while the comment says it is 4096 bytes. This may lead to buffer
1988          overrun when slob allocator is used, for slob allocator allocates exactly
1989          4000 bytes whereas slab and slub allocators allocate 4096 bytes.

Legend:
Removed from v.2311  
changed lines
  Added in v.2974

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