CVSROOT:        /cvs/src
Module name:    src
Changes by:     [email protected]  2010-04-19 19:52:45

Modified files:
        winsup/cygwin  : ChangeLog autoload.cc fhandler.h 
                         fhandler_termios.cc fhandler_tty.cc security.cc 
                         security.h tty.cc tty.h 

Log message:
        * autoload.cc (GetNamedPipeClientProcessId): Define.
        * fhandler.h (fhandler_tty_slave::fch_open_handles): Declare private.
        (fhandler_tty_slave::fch_close_handles): Ditto.
        (fhandler_tty_slave::cygserver_attach_tty): Drop declaration.
        (fhandler_tty_slave::fstat): Declare public.
        (fhandler_tty_slave::fchmod): Declare public.
        (fhandler_tty_slave::fchown): Declare public.
        (class fhandler_pty_master): Add master_ctl handle.
        (fhandler_pty_master::pty_master_thread): Declare public.
        * fhandler_termios.cc (fhandler_termios::tcinit): If the process
        is started from a non-Cygwin process, make it tty process group
        leader.
        * fhandler_tty.cc: Throughout accommodate additional security related
        arguments in calls to functions creating or opening objects.
        (close_maybe): Move to start of file to reuse it
        in other methods.
        (struct pipe_request): Define.
        (struct pipe_reply): Define.
        (fhandler_tty_slave::open): Throughout, try to open synchronization
        objects with MAXIMUM_ALLOWED permissions.  Drop call to cygserver.
        Try to duplicate pipe handles via master_ctl pipe if duplicating
        directly doesn't work.
        (fhandler_tty_slave::cygserver_attach_tty): Remove.
        (fhandler_tty_slave::init): Close unused incoming pipe handle.
        (fhandler_pty_master::close): Send exit message to master control
        thread and close master_ctl handle.
        (fhandler_pty_master::pty_master_thread): New method, implementing the
        master control thread.
        (pty_master_thread): Static helper to start master control thread.
        (fhandler_pty_master::setup): Simplify creating pipe inheritance.
        Make sure we're the one creating the input_available_event.  Add
        comment to explain why.  Create master_ctl pipe and start master
        control thread.  Close master_ctl handle in case of error.
        * security.cc (alloc_sd): Add code to handle tty objects.  Add comments
        to explain what exactly is required.
        (get_object_sd): New function.
        (get_object_attribute): New function.
        (create_object_sd_from_attribute): New function.
        (set_object_sd): New function.
        (set_object_attribute): New function.
        (set_file_attribute): Change attribute type to mode_t.
        * security.h (set_file_attribute): Change attribute type to mode_t.
        (get_object_sd): Declare.
        (get_object_attribute): Declare.
        (create_object_sd_from_attribute): Declare.
        (set_object_sd): Declare.
        (set_object_attribute): Declare.
        * tty.cc (tty::slave_alive): Implement directly instead of via alive.
        (tty::exists): Open mutex handle with READ_CONTROL access.
        (tty::alive): Remove.
        (tty::open_output_mutex): Convert to inline method.
        (tty::open_input_mutex): Ditto.
        (tty::open_mutex): Take additional ACCESS_MASK parameter for the
        mutex open access mask.
        (tty::open_inuse): New method.
        (tty::create_inuse): Take PSECURITY_ATTRIBUTES parameter.  Drop fmt
        name parameter.  Always create TTY_SLAVE_ALIVE event.
        (tty::get_event): Take additional PSECURITY_ATTRIBUTES parameter for
        CreateEvent.
        * tty.h (class tty): Change declarations according to aforementioned
        changes.
        (tty::open_output_mutex): Implement as inline method.
        (tty::open_input_mutex): Ditto.

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/src/winsup/cygwin/ChangeLog.diff?cvsroot=src&r1=1.4916&r2=1.4917
http://sourceware.org/cgi-bin/cvsweb.cgi/src/winsup/cygwin/autoload.cc.diff?cvsroot=src&r1=1.168&r2=1.169
http://sourceware.org/cgi-bin/cvsweb.cgi/src/winsup/cygwin/fhandler.h.diff?cvsroot=src&r1=1.399&r2=1.400
http://sourceware.org/cgi-bin/cvsweb.cgi/src/winsup/cygwin/fhandler_termios.cc.diff?cvsroot=src&r1=1.75&r2=1.76
http://sourceware.org/cgi-bin/cvsweb.cgi/src/winsup/cygwin/fhandler_tty.cc.diff?cvsroot=src&r1=1.197&r2=1.198
http://sourceware.org/cgi-bin/cvsweb.cgi/src/winsup/cygwin/security.cc.diff?cvsroot=src&r1=1.240&r2=1.241
http://sourceware.org/cgi-bin/cvsweb.cgi/src/winsup/cygwin/security.h.diff?cvsroot=src&r1=1.111&r2=1.112
http://sourceware.org/cgi-bin/cvsweb.cgi/src/winsup/cygwin/tty.cc.diff?cvsroot=src&r1=1.83&r2=1.84
http://sourceware.org/cgi-bin/cvsweb.cgi/src/winsup/cygwin/tty.h.diff?cvsroot=src&r1=1.25&r2=1.26

Reply via email to