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

Subversion リポジトリの参照

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

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

revision 2408 by kumaneko, Thu Apr 9 09:02:24 2009 UTC revision 2562 by kumaneko, Tue May 19 01:11:55 2009 UTC
# Line 1921  Fix 2009/04/07 Line 1921  Fix 2009/04/07
1921        not working.        not working.
1922    
1923        This problem happens on little endian platforms (e.g. x86).        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.2408  
changed lines
  Added in v.2562

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