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

Subversion リポジトリの参照

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

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

revision 2213 by kumaneko, Mon Mar 2 07:25:21 2009 UTC revision 2562 by kumaneko, Tue May 19 01:11:55 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 1828  Fix 2009/02/26 Line 1824  Fix 2009/02/26
1824        Incorrect profiles were shown in /proc/ccs/profile        Incorrect profiles were shown in /proc/ccs/profile
1825        if either CONFIG_SAKURA or CONFIG_TOMOYO is disabled.        if either CONFIG_SAKURA or CONFIG_TOMOYO is disabled.
1826    
 Fix 2009/02/26  
   
     @ Fix profile read error.  
   
       Incorrect profiles were shown in /proc/ccs/profile  
       if either CONFIG_SAKURA or CONFIG_TOMOYO is disabled.  
   
1827  Fix 2009/03/02  Fix 2009/03/02
1828    
1829      @ Undelete CONFIG_TOMOYO_AUDIT option.      @ Undelete CONFIG_TOMOYO_AUDIT option.
# Line 1843  Fix 2009/03/02 Line 1832  Fix 2009/03/02
1832        MAX_REJECT_LOG=0 , I undeleted CONFIG_TOMOYO_AUDIT option for saving        MAX_REJECT_LOG=0 , I undeleted CONFIG_TOMOYO_AUDIT option for saving
1833        memory used for /proc/ccs/grant_log and /proc/ccs/reject_log interfaces.        memory used for /proc/ccs/grant_log and /proc/ccs/reject_log interfaces.
1834    
1835  Version 1.6.7 2009/??/??   Feature enhancement release.  Fix 2009/03/13
1836    
1837        @ Show only profile entry names ever specified.
1838    
1839          Even if an administrator specifies only COMMENT= and MAC_FOR_FILE=
1840          entries for /proc/ccs/profile , all available profile entries are shown.
1841          This was designed to help administrators to know what entries are
1842          available, but sometimes makes administrators feel noisy because of
1843          entries showing default values.
1844    
1845          Thus, I modified to show only profile entry names ever specified.
1846    
1847    Fix 2009/03/18
1848    
1849        @ Add MAC_FOR_IOCTL functionality.
1850    
1851          To be able to restrict ioctl() requests, I added MAC_FOR_IOCTL
1852          functionality.
1853    
1854          This functionality requires modification of ccs-patch-\*.diff .
1855    
1856        @ Use better name for socket's pathname.
1857    
1858          Until now, socket's pathname was represented as "socket:[\$]" format
1859          where \$ is inode's number. But inode's number is useless for name based
1860          access control. Therefore, I modified to represent socket's pathname as
1861          "socket:[family=\$:type=\$:protocol=\$]" format.
1862    
1863          This will help administrator to control ioctl() against sockets more
1864          precisely.
1865    
1866        @ Fix misplaced ccs_capable() call.  (only 2.6.8-\* and 2.6.9-\*)
1867    
1868          Location to insert ccs_capable(TOMOYO_SYS_IOCTL) in sys_ioctl() was
1869          wrong since version 1.1 .
1870    
1871        @ Insert ccs_check_ioctl_permission() call.
1872    
1873          To make MAC_FOR_IOCTL functionality working, I inserted
1874          ccs_check_ioctl_permission() call into ccs-patch-\*.diff .
1875    
1876    Fix 2009/03/23
1877    
1878        @ Move sysctl()'s check from ccs-patch-\*.diff to fs/tomoyo_file.c .
1879    
1880          Since try_parse_table() in kernel/sysctl.c is almost identical between
1881          all versions, I moved that function to fs/tomoyo_file.c .
1882    
1883        @ Relocate definitions and functions.
1884    
1885          To reduce exposed symbols, I relocated some definitions and functions.
1886    
1887    Fix 2009/03/24
1888    
1889        @ Add CONFIG_TOMOYO_BUILTIN_INITIALIZERS option.
1890    
1891          Some systems don't have /sbin/modprobe and /sbin/hotplug .
1892          Thus, I made these pathnames configurable.
1893    
1894    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/04/20
1926    
1927        @ Update recvmsg() hooks.
1928    
1929          Since 1.5.0, I was doing network access control for incoming UDP and RAW
1930          packets inside skb_recv_datagram(). But to synchronize with LSM version,
1931          I moved ccs_recv_datagram_permission() hook from skb_recv_datagram() to
1932          udp_recvmsg()/udpv6_recvmsg()/raw_recvmsg()/rawv6_recvmsg() with name
1933          change to ccs_recvmsg_permission().
1934    
1935    Fix 2009/05/08
1936    
1937        @ Add condition for symlink's target pathname.
1938    
1939          Until now, "allow_symlink" keyword allows creation of a symlink but does
1940          not check the symlink's target. Usually it is no problem because
1941          permission checks are done using dereferenced pathname. But in some
1942          cases, we should restrict the symlink's target. For example,
1943          "ln -s .htpasswd /var/www/html/readme.html" by CGI program should be
1944          blocked because we will allow Apache to read both
1945          /var/www/html/readme.html and /var/www/html/.htpasswd .
1946    
1947          Thus, I added new condition, "symlink.target".
1948    
1949            allow_symlink /var/www/html/\*.html if symlink.target="\*.html"
1950    
1951            allow_symlink /var/www/html/\*\-.\* if symlink.target="\*\-.\*"
1952    
1953        @ Don't return -EAGAIN at ccs_socket_recvmsg_permission().
1954    
1955          It turned out that it is not permitted for accept() and recvmsg() to
1956          return -EAGAIN if poll() said connections/datagrams are ready. However,
1957          recvmsg() may return -EAGAIN and potentially confuse some applications
1958          because ccs_socket_recvmsg_permission() is returning -EAGAIN.
1959    
1960          Thus, I modified ccs_socket_recvmsg_permission() to return -ENOMEM
1961          rather than -EAGAIN.
1962    
1963    Fix 2009/05/19
1964    
1965        @ Don't call get_fs_type() with a mutex held.
1966    
1967          Until now, when ccs_update_mount_acl() is called with unsupported
1968          filesystem, /sbin/modprobe is executed from get_fs_type() to load
1969          filesystem module. And get_fs_type() does not return until /sbin/modprobe
1970          finishes.
1971    
1972          This means that it will cause deadlock if /sbin/modprobe (which is
1973          executed via get_fs_type() in ccs_update_mount_acl()) calls
1974          ccs_update_mount_acl(); although it won't happen unless an administrator
1975          inserts execute_handler to call mount() requests in learning mode or to
1976          add "allow_mount" entries to /proc/ccs/system_policy .
1977    
1978          I modified to unlock the mutex before calling get_fs_type().
1979    
1980    Version 1.6.8 2009/05/??   Feature enhancement release.

Legend:
Removed from v.2213  
changed lines
  Added in v.2562

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