Commit Graph

155 Commits

Author SHA1 Message Date
Rob Shearman c1707d8938 server: Add get_sd and set_sd object operations to allow the security descriptor to be stored somewhere other than server memory, such as on disk. 2007-10-04 12:30:52 +02:00
Alexandre Julliard aaf477f292 server: Change the timeout handling to use NT-style 64-bit timeouts everywhere. 2007-04-17 20:08:59 +02:00
Alexandre Julliard 7e71c1ddee server: Add an open_file() function to the object operations. 2007-03-22 11:44:29 +01:00
Andrew Talbot b1788c8462 server: Replace inline static with static inline. 2007-03-17 20:05:05 +01:00
Rob Shearman 221e01abd2 server: A general solution for handling MAXIMUM_ALLOWED access right has been implemented so remove the workarounds. 2007-03-06 22:17:39 +01:00
Michael Stefaniuc 5cecceccb2 server: Remove redundant NULL check before free() (found by Smatch). 2006-10-10 12:56:16 +02:00
Michael Stefaniuc 5664b8eeef server: Win64 printf format warning fixes. 2006-10-02 11:55:01 +02:00
Alexandre Julliard 753c8706f5 server: Only call gettimeofday once per poll loop. 2006-08-10 16:42:09 +02:00
Michael Stefaniuc a624977f21 server: Fix some comparisons between signed and unsigned. 2006-07-26 11:11:04 +02:00
Alexandre Julliard 0f273c17ff server: Added data_size_t type to represent sizes in the server protocol.
Make it an unsigned int to save some space on Win64, if we need to
transfer more than 4Gb over the server pipe something is seriously
wrong.
2006-07-26 11:11:03 +02:00
Alexandre Julliard dd77d1a997 server: Only accept 0 as registry handle in functions that take a parent key. 2006-07-10 11:53:23 +02:00
Mike McCormack 0a8b344f7b server: Fix a possible memory leak. 2006-06-08 10:40:03 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Mike McCormack 5fb6e0ef16 server: Avoid a crash if a registry notify event has been set already. 2006-05-15 11:04:22 +02:00
Mike McCormack 14278b4299 server: Avoid comparison of -1 with an unsigned variable. 2006-04-07 11:45:58 +02:00
Alexandre Julliard b00fb174f6 server: New scheme for cleaning up objects on server exit.
Objects stored in static variables can now be marked when they are
created and are automatically cleaned up on exit. This avoids having
to export a bunch of close_* functions.
2006-03-22 20:32:04 +01:00
Alexandre Julliard a510a7e117 server: Added access rights mapping to file objects. 2005-12-12 16:46:17 +01:00
Alexandre Julliard 32a93960ba server: Added access rights mapping to registry key objects. 2005-12-12 15:02:26 +01:00
Alexandre Julliard 28beba31d6 server: Added infrastructure for access rights mapping. 2005-12-12 14:57:40 +01:00
Alexandre Julliard 03b040c51d server: Added object attributes to a few more requests. 2005-12-09 14:52:04 +01:00
Alexandre Julliard e21a97da85 Fixed some compiler warnings on Darwin. 2005-12-01 12:36:05 +01:00
Ge van Geldorp 1a1583a364 Match PSDK STATUS_* definitions. 2005-11-28 17:32:54 +01:00
Vitaliy Margolen baffcb95d3 Add name_lookup function in object_ops. 2005-11-22 14:55:42 +00:00
Alexandre Julliard 7f9e281b72 Use struct unicode_str instead of null-terminated strings where
possible, and remove constraints on total key path length.
2005-11-22 12:05:36 +00:00
Mike McCormack e659f1e60c Fix some gcc 4.0 warnings. 2005-08-09 10:37:50 +00:00
Alexandre Julliard b0e091acbf The temp buffer always stores WCHARs, fixed its type and got rid of a
number of casts.
2005-08-09 10:36:45 +00:00
Robert Shearman 91eaea53ae - Change the default user SID to match what was previously returned by
NtQueryInformationToken.
- Implement TokenUser for NtQueryInformationToken.
- Add a function for getting the user's registry path from a SID.
2005-07-18 13:22:55 +00:00
Alexandre Julliard 6aa0cc5e3c Load the HKEY_CURRENT_USER branch at server startup too. 2005-07-11 20:44:59 +00:00
Alexandre Julliard 112228dfe3 Don't bother loading the config file anymore. 2005-07-01 19:26:07 +00:00
Mike McCormack 390bc5f52f Don't include winbase.h when it's not necessary. 2005-06-21 09:46:15 +00:00
Mike McCormack 66e5ce3066 Remove unnecessary includes. 2005-06-20 10:35:36 +00:00
Robert Shearman 8cb3f92e53 - All versions of Windows ignore the access rights of the passed in
parent handle to RegCreateKey(Ex).
- Add a test that shows this.
2005-06-16 20:34:34 +00:00
Robert Shearman 3795709344 Change code style of form "if( x )" to "if (x)" for consistency. 2005-06-10 19:54:46 +00:00
Alexandre Julliard 9b3b7caf2d Store the process along with the key handle in notifications. 2005-06-09 20:36:08 +00:00
Alexandre Julliard b9b1ea9c9f Added a close_handle method to the object operations, and use it to
implement registry notifications and the strange behavior of
CloseHandle on winstation/desktop handles.
2005-06-09 15:39:52 +00:00
Robert Shearman c516571481 - Use NULL instead of 0 for all non-handle pointers.
- Fix non-ANSI function declarations.
- Make a function static.
2005-05-25 18:41:09 +00:00
Rob Shearman b4b7f05dc3 Fix several memory leaks. 2005-05-23 09:53:06 +00:00
Robert Shearman b3957e3004 - Fix access rights for RegOpenKeyEx and RegCreateKeyEx calls.
- Add privilege checks for RegLoadKey, RegUnloadKey & RegSaveKey
  calls.
2005-05-05 16:57:55 +00:00
Mike McCormack f92fff66a2 Implemented NtSignalAndWaitForSingleObject. 2005-04-24 17:35:52 +00:00
Alexandre Julliard 27f0f8001e Load system.reg and userdef.reg at server init time. 2005-04-20 12:57:53 +00:00
James Hawkins 580ded65e7 - Implement NtLoadKey.
- Forward RegLoadKey to NtLoadKey.
2005-03-29 11:38:58 +00:00
Alexandre Julliard dcab706fa0 Get rid of the registry saving level hack.
Make periodic saving the default behavior.
2005-03-14 11:00:43 +00:00
Peter Berg Larsen 514f432031 Tmp was not freed in case of errors in save_branch(). 2005-03-10 11:18:31 +00:00
Alexandre Julliard 68abbc86e6 Convert the key notifications list to a standard list. 2005-02-24 19:43:53 +00:00
Eric Pouech 0a258964c2 Const correctness fixes. 2004-11-30 21:38:57 +00:00
Hans Leidekker 719a789792 Fix signed/unsigned comparison warnings. 2004-09-22 02:46:38 +00:00
Alexandre Julliard 5b23efc3a2 Make sure to save the registry files even if we failed to load them. 2004-05-14 00:45:11 +00:00
Alexandre Julliard c07ce0571e Moved loading of the home registry files to the server, there's no
real need to make these configurable.
2004-05-07 04:13:21 +00:00
Alexandre Julliard 7e9757c61d Removed handling of special root keys, this is done by the client now. 2004-05-06 23:42:04 +00:00
Alexandre Julliard 58447bcd09 Avoid autodetecting the prefix when loading the config file since the
first key may be named 'wine'.
2004-04-30 18:35:13 +00:00
Mike Hearn 43cb03be3a Implemented RegFlushKey and NtFlushKey. 2004-01-03 00:38:30 +00:00
Gerald Pfeifer 27005516a3 Cast time_t to long for printing. 2003-10-01 03:32:16 +00:00
Alexandre Julliard 62986a0107 Added a few missing stdarg.h includes. 2003-09-07 05:08:14 +00:00
Mike McCormack 5ac945c021 Implement registry key unloading. 2003-08-19 03:08:17 +00:00
Francois Gouget 9591836ffb 'sizeof type' is best avoided as it won't always compile (e.g. 'int
main() {return sizeof int;}'). Use 'sizeof(type)' instead.
2003-06-18 19:45:22 +00:00
Alexandre Julliard 4378d25bd2 Avoid some redundant calls to time(NULL).
touch_key() must not be called in create_key.
2003-02-25 04:04:18 +00:00
Alexandre Julliard e66207ebfc Moved all references to file descriptors out of the generic object
structure.
Changed the poll()-related routines to deal with file descriptors
instead of objects and integrated poll support into fd.c.
2003-02-19 00:33:32 +00:00
Alexandre Julliard cf27a7fa3b Changed fd operations to take a struct fd instead of a struct object.
Removed get_file_info function from object operations.
Added get_device_id request to avoid abusing get_file_info.
2003-02-14 20:27:09 +00:00
Alexandre Julliard 863637b158 Started moving functions that deal with Unix file descriptors to a
separate fd object. This will be needed for file locking.
2003-01-30 00:26:44 +00:00
Bill Medland 309566d925 If a .reg function is accessed through a symlink then write directly
to the file rather than replacing it with a temp file.  This preserves
ownership and permissions.
2002-12-18 05:03:51 +00:00
Alexandre Julliard 435e2e63f4 winnt.h should not be self-contained, it must depend on windef.h so
that STRICT works correctly; moved some definitions back to windef.h
where they belong, and removed a couple of definitions that don't
exist on Windows.
2002-12-10 22:56:43 +00:00
Mike McCormack 11f4b44451 Implemented registry change notifications. 2002-11-25 02:47:32 +00:00
Patrik Stridvall 9c1de6de30 Moved all the content of the DDK files ntdef.h and ntddk.h to
winternl.h.
2002-09-12 22:07:02 +00:00
Alexandre Julliard dba83c8bfc Added wine_get_user_name function and got rid of some of the getpwuid
portability stuff.
More portable printf formats for 64-bit types.
2002-08-27 18:30:53 +00:00
Alexandre Julliard 7375597fe2 Fixed some handle type mismatches and added a few casts in prevision
of void* handles.
2002-07-31 19:26:03 +00:00
Alexandre Julliard 88e4261903 Store dirty flag in each registry key and use it to save only modified
branches.
2002-06-20 23:18:56 +00:00
Vincent Béron 9a62491660 Removed trailing whitespace. 2002-05-31 23:06:46 +00:00
Alexandre Julliard 5188574984 Renamed handle_t to obj_handle_t to avoid conflict with rpcdce.h. 2002-05-30 20:12:58 +00:00
Alexandre Julliard 5769d1de00 Better support for configure detection of missing types, added check
for ssize_t.
Removed a couple of no longer used portability functions.
Various portability fixes in port.h.
2002-04-26 19:05:15 +00:00
Alexandre Julliard 0799c1a780 Added LGPL standard comment, and copyright notices where necessary.
Global replacement of debugtools.h by wine/debug.h.
2002-03-09 23:29:33 +00:00
Mike McCormack 6f011c0847 - move async activation into the server
- implement async queues
2001-12-20 00:07:05 +00:00
Alexandre Julliard 9caa71eef4 Redesign of the server communication protocol to allow arbitrary sized
data to be exchanged.
Split request and reply structures to make backwards compatibility
easier.
Moved many console functions to dlls/kernel, added code page support,
changed a few requests to behave properly with the new protocol.
2001-11-30 18:46:42 +00:00
Alexandre Julliard 21044c6319 Fixed handling of \\Registry prefix. 2001-04-10 21:18:17 +00:00
Alexandre Julliard 566a52ad8c Changed isolated for loops to while loops (based on a patch by Andreas
Mohr).
2001-03-05 19:34:17 +00:00
Alexandre Julliard 8081e5a1e5 Added handle_t type to server interface so that we can make handles
pointers later on.
Always use 0 to signal invalid handle in server requests.
2001-01-05 04:08:07 +00:00
Alexandre Julliard 63411dbde5 Avoid dup'ing file descriptors when not necessary.
Do not send fd to the client if ops->get_fd() fails.
2000-12-22 21:12:36 +00:00
Alexandre Julliard 1ab243bac1 Merged the get_read_fd and get_write_fd requests. 2000-12-19 02:12:45 +00:00
Alexandre Julliard 0b6a79c961 Converted enum_key_value request to the new request mechanism. 2000-12-15 20:57:00 +00:00
Martin Pilka 0c86432ea5 Changed the condition so it also works in case when sscanf returns EOF. 2000-12-12 00:34:44 +00:00
Joerg Mayer 959d73e8dd Reduce the number of warnings about missing initializers. 2000-10-22 23:56:32 +00:00
Alexandre Julliard 57f05e1913 Converted a few more server requests to the new mechanism. 2000-10-15 00:40:25 +00:00
Alexandre Julliard 454355ece1 Convert NtQueryKey and NtEnumerateKey to the new request mechanism.
Fixed a few bugs.
2000-10-02 03:46:58 +00:00
Alexandre Julliard bcf393a5e5 Converted some of the registry server requests to the new request
mechanism.
2000-10-01 01:44:50 +00:00
Albert den Haan 1c79bbb13d Fixed typo in HKEY_CURRENT_CONFIG name. 2000-08-28 19:30:43 +00:00
Alexandre Julliard 6c8d9171cd Added a real root key and simplified creation of the HKEY_* special root keys.
Do not prefix all keys with the name of the top key when saving to a file.
Try to load $WINEPREFIX/config into the Wine config branch at startup.
2000-08-26 04:40:07 +00:00
Alexandre Julliard 7e495e1d66 Make unicode.o into a separate ELF library so that we can use it from
the wineserver too.
2000-07-25 21:01:59 +00:00
Patrik Stridvall 17d1e9e5e2 Fixed issues found by winapi_check. 2000-05-23 23:38:32 +00:00
Alexandre Julliard a01004d828 Added support for registry values larger than the server buffer.
When loading a registry file, automatically determine overlap between
key name and file contents based on the first key name.
Removed v1 saving code.
Save USER\.Default separately into ~/.wine/userdef.reg.
2000-05-14 22:57:57 +00:00
Patrik Stridvall e29dbc5814 Fixed some warnings. 2000-04-24 18:04:24 +00:00
Alexandre Julliard 27d31a5d43 Removed permission checks in create_key and delete_key. It seems
Windows doesn't check anything.
2000-04-16 20:28:42 +00:00
Alexandre Julliard c970904c2c Save the registry on server exit without client intervention.
Removed "alt" registry files since we now have symlinks and
WINEPREFIX to replace them.
2000-04-16 17:21:13 +00:00
Alexandre Julliard ef88637f5b Made request tracing more robust against bogus lengths. 2000-04-04 19:33:27 +00:00
Andreas Mohr 32a5b63866 Moved some registry definitions to winnt.h. 2000-03-26 14:41:10 +00:00
Francois Gouget 6d77d3a1df Use min/max instead of MIN/MAX. 2000-03-25 21:44:35 +00:00
Huw D M Davies 361adc80b7 Ensure that non-NULL terminated stings are saved correctly. 2000-03-24 19:46:30 +00:00
Patrik Stridvall 7e9913f463 Fixed some warnings. 2000-03-08 18:25:22 +00:00
Juergen Schmied 788d8d554c Get HCU name from unix user name. 2000-01-27 05:37:54 +00:00
Alexandre Julliard cb1fc735f0 Changed the server to return STATUS_* error codes. 2000-01-24 21:58:06 +00:00
Juergen Schmied 5d0ae2dcd9 - removed copying of HKEY_USERS to HKEY_CURRENT_USER
- HKEY_CURRENT_USER is now subkey of HKEY_USERS
- changed query_key_info_request to return the key name too (NtQueryKey needs this)
- the rootkeys (MACHINE and USER) do have names
2000-01-09 21:07:01 +00:00
Alexandre Julliard 1dca5e24c7 Moved poll handling to the generic part of the server objects.
Fixed busy waiting on POLLERR events.
Merged struct client into struct thread.
2000-01-01 00:56:27 +00:00