Patch for /proc/registry and other /proc stuff
Chris January
chris@atomice.net
Mon Jul 1 17:56:00 GMT 2002
* fixed bug where EISDIR was not set when trying to open a registry key.
* lseek now refreshes the file contents buffer for registry values.
* typo fixed (s/<defunct/<defunct>).
* fixed bug where contents of /proc/<pid>/<file> where not updated when
lseek was called.
* fstat now returns useful information about registry keys.
* cleaned up handling of access permissions on registry keys.
* new function in security.cc returns security information for NT objects.
Chris
---
2002-07-02 Christopher January <chris@atomice.net>
* autoload.cc (GetSecurityInfo): Define new autoload function.
(RegQueryInfoKeyA): Ditto.
* fhandler.h (fhandler_virtual::fill_filebuf): Change return type to bool.
(fhandler_proc::fill_filebuf): Ditto.
(fhandler_registry::fill_filebuf): Ditto.
(fhandler_process::fill_filebuf): Ditto.
(fhandler_registry::value_name): Add new member.
(fhandler_registry::close): Add new method.
(fhandler_process::p): Remove member.
* fhandler_proc.cc (fhandler_proc::open): Add set_nohandle after calling
superclass method. Check return value of fill_filebuf.
(fhandler_proc::fill_filebuf): Change return type to bool. Add return
statement.
* fhandler_process.cc (fhandler_process::open): Add set_nohandle after
calling superclass method. Remove references to p. Check return value of
fill_filebuf.
(fhandler_process::fill_filebuf): Change return type to bool. Don't use
dereference operator on p. Add return statement.
(fhandler_process::format_process_stat): Fix typo.
* fhandler_registry.cc: Add static open_key declaration.
(fhandler_registry::exists): Assume path is already normalised. Try
opening the path as a key in its own right first, before reverting to
enumerating subkeys and values of the parent key.
(fhandler_registry::fstat): Add additional code to return more relevant
information about the registry key/value.
(fhandler_registry::readdir): Explicitly set desired access when opening
registry key. Remove output of buf from debug_printf format string.
(fhandler_registry::open): Use set_io_handle to store registry key handle.
Set value_name member. Move code to read a value from the registry to
fill_filebuf. Add call to fill_filebuf.
(fhandler_registry::close): New method.
(fhandler_registry::fill_filebuf): Change return type to bool. Add code
to read a value from registry.
(fhandler_registry::open_key): Make function static. Use KEY_READ as
desired access unless this is the last path component. Check the return
value of RegOpenKeyEx for an error instead of hKey.
* fhandler_virtual.cc (fhandler_virtual::lseek): Check the return value of
fill_filebuf.
(fhandler_virtual::open): Remove call to set_nohandle.
(fhandler_virtual::fill_filebuf): Change return type to bool. Add return
statement.
* security.cc (get_nt_object_attribute): New function.
(get_object_attribute): New function.
* security.h: Only include definitions of SE_OBJECT_TYPE and INHERITY_ONLY
if the _ACCCTRL_H macro is not defined.
(get_object_attribute): New function declaration.
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: ChangeLog.6.txt
URL: <http://cygwin.com/pipermail/cygwin-patches/attachments/20020701/e1f5bca2/attachment.txt>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: proc.patch.6
Type: application/octet-stream
Size: 27383 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin-patches/attachments/20020701/e1f5bca2/attachment.obj>
More information about the Cygwin-patches
mailing list