Open-Source-Software-Entwicklung und Downloads

Browse Subversion Repository

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

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

revision 1606 by kumaneko, Fri Sep 19 05:02:59 2008 UTC revision 1705 by kumaneko, Wed Oct 15 04:18:19 2008 UTC
# Line 1603  Fix 2008/09/19 Line 1603  Fix 2008/09/19
1603        run as follows.        run as follows.
1604    
1605        # exec 100<>/proc/ccs/domain_policy        # exec 100<>/proc/ccs/domain_policy
1606        # echo select $$ >&100        # echo select pid=$$ >&100
1607        # while read -u 100; do echo $REPLY; done        # while read -u 100; do echo $REPLY; done
1608    
1609        If a domain is once selected by PID, reading /proc/ccs/domain_policy will        If a domain is once selected by PID, reading /proc/ccs/domain_policy will
# Line 1616  Fix 2008/09/19 Line 1616  Fix 2008/09/19
1616        But to implement "Allow selecting a domain by PID" feature, I disabled        But to implement "Allow selecting a domain by PID" feature, I disabled
1617        concurrent read()/write() because the feature need to modify read buffer        concurrent read()/write() because the feature need to modify read buffer
1618        while writing.        while writing.
1619    
1620    Fix 2008/10/01
1621    
1622        @ Add retry counter into /proc/ccs/query .
1623    
1624          To be able to handle some of queries from /proc/ccs/query without user's
1625          interaction, I added retry counter for avoiding infinite loop caused by
1626          "try again" response.
1627    
1628    Fix 2008/10/07
1629    
1630        @ Don't transit to new domain until do_execve() succeeds.
1631    
1632          Until now, a process's domain was updated to new domain which the process
1633          will belongs to before do_execve() succeeds so that the kernel can do
1634          permission checks for interpreters and environment variables based on
1635          new domain. But this caused a subtle problem when other process sends
1636          signals to the process, for the process returns to old domain if
1637          do_execve() failed.
1638    
1639          So, I modified to pass new domain to functions so that I can avoid
1640          modifying a process's domain before do_execve() succeeds.
1641    
1642        @ Use old task state for audit logs.
1643    
1644          Until now, audit logs were generated using the task state after
1645          processing "; set task.state" part. But to generate accurate logs,
1646          I modified to save the task state before processing "; set task.state"
1647          part and use the saved state for audit logs.
1648    
1649        @ Use a structure for passing parameters.
1650    
1651          As the number of parameters is increasing, I modified to use a structure
1652          for passing parameters.
1653    
1654        @ Always allow updating task state for signal operations.
1655    
1656          ccs_check_signal_acl() was skipping permission checks if signal is 0
1657          or sent to self or sent to same domain. To make it possible to update
1658          task state when current process is sending 0 signal or to self or
1659          to same domain, I modified to check ACL anyway. The result of access
1660          control will not change, but this modification will generate granted logs
1661          which were not generated until now.
1662    
1663    Fix 2008/10/11
1664    
1665        @ Remove domain_acl_lock mutex.
1666    
1667          I noticed that I don't need to keep all functions that modify an ACL of
1668          a domain mutually exclusive. Since each functions handles different type
1669          of ACL, locking is needed only when they append an ACL to a domain.
1670          So, I modified to use local locks.
1671    
1672    Fix 2008/10/14
1673    
1674        @ Fix ccs_check_condition() bug.
1675    
1676          Due to a bug in ccs_check_condition(), it was impossible to use
1677          task.state[0] task.state[1] task.state[2] inside condition part
1678          if the ACL does not treat a pathname. For example, an ACL like
1679    
1680            allow_network TCP connect @HTTP_SERVERS 80 if task.state[0]=100
1681    
1682          didn't work.
1683    
1684    Fix 2008/10/15
1685    
1686        @ Show process information in /proc/ccs/.process_status .
1687    
1688          To be able to determine a process's type, I added a command "info PID"
1689          which returns process information of the specified PID in
1690          "PID manager=\* execute_handler=\* state[0]=\$ state[1]=\$ state[2]=\$"
1691          format.

Legend:
Removed from v.1606  
changed lines
  Added in v.1705

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