advapi32: Fix one byte array overflow during DES unhash.
[wine] / ANNOUNCE
1 This is release 0.9.35 of Wine, a free implementation of Windows on Unix.
2
3 What's new in this release:
4   - Broken aRts sound driver now removed for good.
5   - Many fixes to the Quartz DLL sound support.
6   - File I/O performance improvements.
7   - The usual assortment of Direct3D fixes.
8   - Lots of bug fixes.
9
10 Because of lags created by using mirrors, this message may reach you
11 before the release is available at the public sites. The sources will
12 be available from the following locations:
13
14   http://ibiblio.org/pub/linux/system/emulators/wine/wine-0.9.35.tar.bz2
15   http://prdownloads.sourceforge.net/wine/wine-0.9.35.tar.bz2
16
17 Binary packages for various distributions will be available from:
18
19   http://www.winehq.org/site/download
20
21 You will find documentation on
22
23   http://www.winehq.org/site/documentation
24
25 You can also get the current source directly from the git or CVS
26 repositories. Check respectively http://www.winehq.org/site/git or
27 http://www.winehq.org/site/cvs for details.
28
29 If you fix something, please submit a patch; instructions on how to do
30 this can be found at http://www.winehq.org/site/sending_patches
31
32 Wine is available thanks to the work of many people. See the file
33 AUTHORS in the distribution for the complete list.
34
35 ----------------------------------------------------------------
36
37 Changes since 0.9.34:
38
39 Alessandro Pignotti (1):
40       dplayx: Implement proper interface locking for DP_EnumSession.
41
42 Alexandre Julliard (39):
43       make_makefiles: Add the .INIT/.BEGIN rules for the main makefile.
44       server: Add a generic wait queue to the file descriptor object.
45       server: Avoid redundant polling in fd_queue_async_timeout.
46       server: Take advantage of the fd generic wait queue to remove a lot of serial code.
47       server: Use the fd generic wait queue for directory change I/O operations.
48       server: Make async I/O queues into real objects.
49       server: Check file access in register_async before calling the object method.
50       kernel32: Added some last error tests for mailslots.
51       server: Add a separate function to set the timeout of an async I/O operation.
52       server: Make timeout status for async I/O specifiable. Fix mailslots timeout handling.
53       server: Hold a pointer to the queue from the async operations.
54       make_requests: More aggressive grepping for status values.
55       server: Add support for associating a file descriptor to a message queue.
56       winex11.drv: Store the display file descriptor directly in the server message queue.
57       server: Fix the handling of the signaled status for file descriptors.
58       server: Use the standard file descriptor signal mechanism for directory changes.
59       ntdll: Avoid setting status in IO_STATUS_BLOCK until the I/O operation is done.
60       ntdll: Avoid relying on the IO_STATUS_BLOCK for storing the current transfer count.
61       ws2_32: Don't access the IO_STATUS_BLOCK until the I/O operation is finished.
62       ntdll: Make test for heap boundaries more strict in HEAP_FindSubHeap.
63       kernel32: Add a bit of slack to the mailslot timeout test.
64       ntdll: Reimplement NtReadFile.
65       ntdll: Reimplement NtWriteFile.
66       ntdll: Rely on the server to queue the final APC for asynchronous read/write.
67       ntdll: Use send(2) instead of write(2) for zero-byte writes to sockets.
68       ntdll: Add some test cases for asynchronous I/O.
69       setupapi: Avoid using sizeof in traces.
70       server: Add support for restarting an async I/O when the client side couldn't finish it right away.
71       ntdll: Simplify the async read/write code now that most of the work is done in the server.
72       ntdll: Determine the async read avail_mode flag from the client side.
73       server: Explicitly shutdown closed pipes to prevent access from file descriptors cached in the client.
74       kernel32: Add SYNCHRONIZE access to mailslot handles.
75       server: Store the opening options in the file descriptor instead of in the individual objects.
76       server: Rename the get_file_info function to get_fd_type and get rid of the flags.
77       ntdll: Store the file access and options in the fd cache, and get rid of the dynamic flags.
78       shell32: Have _ILCreateFromFindDataW also create a FileStructW type of pidl.
79       server: Create a separate fd object for each mailslot writer. Make them first-class file handles.
80       server: Don't bother with default entry points for objects that don't even return an fd.
81       winex11.drv: Hack to disable XInitThreads when an XIM is used.
82
83 Andrew Talbot (35):
84       comctl32: Constify some variables.
85       comctl32: Constify some variables.
86       comctl32: Constify some variables.
87       comctl32: Constify some variables.
88       comctl32: Constify some variables.
89       comctl32: Constify some variables.
90       comctl32: Constify some variables.
91       comctl32: Constify some variables.
92       comctl32: Constify some variables.
93       comctl32: Constify some variables.
94       comctl32: Constify some variables.
95       advapi32: Constify some variables.
96       atl: Constify some variables.
97       advpack: Constify some variables.
98       comcat: Constify some variables.
99       avifil32: Constify some variables.
100       comdlg32: Constify some variables.
101       comdlg32: Constify some variables.
102       comdlg32: Constify some variables.
103       comdlg32: Constify some variables.
104       comdlg32: Constify some variables.
105       comdlg32: Constify some variables.
106       comdlg32: Remove inappropriate const qualifier.
107       include: Remove superfluous semicolons.
108       d3d8: Void functions should not return a value.
109       d3d9: Void functions should not return a value.
110       kernel32: Remove superfluous semicolons.
111       mapi32: Void functions should not return a value.
112       crypt32: Constify some variables.
113       mshtml: Void functions should not return a value.
114       msvcrt: Remove superfluous semicolons.
115       ntdll: Void functions should not return a value.
116       ntdll: Remove superfluous semicolons.
117       ole32: Void functions should not return a value.
118       oleaut32: Remove superfluous semicolons.
119
120 András Kovács (2):
121       ntdll: Add Vista version option.
122       winecfg: Add Windows Vista version option.
123
124 Aric Stewart (8):
125       comctl32: Unset active page while setting a new active page for a propsheet.
126       comctl32: Propsheet exception fix.
127       ole32: Storage optimization.
128       msi: Register fonts with full target paths as applications can and will install fonts to places other than the windows/fonts directory.
129       shell32: Avoid unneeded A->W conversions in _ILSimpleGetTextW.
130       shell32: Update the debug functions to handle Unicode value pidl.
131       shell32: Use _ILSimpleGetTextW instead of using _ILGetTextPointer
132       msi: Do not crash in MsiGetUserInfo if org, user or serial are not present, instead return USERINFOSTATE_ABSENT.
133
134 Byeong-Sik Jeon (2):
135       regedit: Support REG_MULTI_SZ creation and editing.
136       regedit: Update Korean resource.
137
138 Chris Robinson (23):
139       quartz: Don't fill the dsound buffer with small amounts.
140       quartz: Remove errant parser output pins on input connection failure.
141       quartz: Set the sample time based on the number of bytes read before sending it downstream.
142       quartz: Use a safe APC to kill the PullPin thread when the PullPin is being released.
143       quartz: Use a second-long DSound buffer for playback.
144       quartz: Hold a reference on the PullPin's filter while the processing thread is alive.
145       quartz: Connect input when the pins connect, not when querying.
146       quartz: Add a QueryConnect method for transform filters.
147       quartz: Break loop on error in ACMWrapper.
148       quartz: Implement Get/SetSyncSource for the FilterGraph's IMediaFilter interface.
149       quartz: Don't call ReleaseSemaphore on NULL semaphore handles.
150       quartz: Tell filters to stop sending data when the chain is broken.
151       quartz: Avoid releasing NULL objects.
152       quartz: Send a notification when the filter graph clock changes.
153       quartz: Use more precise positioning information for the DSound filter's reference clock.
154       quartz: Add partial implementation of IReferenceClock for DSoundRenderer.
155       quartz: Add a cleanup callback for parser filters to call on release.
156       quartz: Make sure cached media samples are released for parser filters.
157       quartz: Fix ALIGN macros.
158       quartz: Fix error with operator precedence.
159       quartz: Pass the media sample to the individual transform filter callbacks.
160       winedbg: Align module addresses to 8 characters.
161       quartz: Implement IAMFilterData interface for IFilterMapper.
162
163 Dan Hipschman (1):
164       rpcrt4: Add tests for RpcServerListen and friends.
165
166 Dan Kegel (2):
167       imagehlp: BindImageEx stub should report success.
168       winex11.drv: GetAsyncKeyState must check mouse buttons, too.
169
170 Detlef Riekenberg (4):
171       localui: Add localui.dll with stubs.
172       localui/tests: Add initial test.
173       localspl/tests: Remove duplicate tests.
174       localui: Add version resource.
175
176 Dmitry Timoshkov (8):
177       kernel32: Add GetCPInfo test.
178       gdi32: Make GetKerningPairsA not fail for fonts with SYMBOL charset.
179       winspool: Add a test for DeviceCapabilities, fix some bugs found.
180       shlwapi: Fix a forward to user32.PrivateExtractIconExW.
181       user32: Windows uses ptMaxTrackSize to set an initial window size not ptMaxSize.
182       winebuild: Check if a given forward does exist in one of the imported dlls, fix a couple of problems detected.
183       gdi32: Fix a couple of problems with negative lfWidth test.
184       ntdll: Fix a compiler warning.
185
186 Eric Pouech (3):
187       winedbg: When reloading real PE modules from a minidump, also look in the search path (as we do for ELF modules).
188       winedbg, winedump: Extended some info printed from system info directory in minidump about the CPU.
189       taskmgr: Let the debug channels work again.
190
191 Fabian Bieler (7):
192       wined3d: Fix GLSL cmp instruction for INF and NAN arguments.
193       wined3d: Fix GLSL cnd instruction for INF and NAN arguments.
194       wined3d: Add support for float texture formats back in.
195       wined3d: Fix UpdateSurface for sourceRect != sourceWidth.
196       wined3d: Fix GLSL cnd instruction.
197       wined3d: Add GL_EXT_framebuffer_blit to extension handler.
198       wined3d: Mark vertex shader 3.0 as foggy shaders if they write out the fog coord.
199
200 Felix Nawothnig (13):
201       gdi32: Properly handle negative font widths.
202       wined3d: Make CreateCubeTexture fail when not supported.
203       wined3d: Downgrade some ERRs to FIXMEs.
204       wined3d: Only issue state_patchsegments FIXME once.
205       comctl32: Fix item rect calculation.
206       comctl32: Use appropriate font for header drag image.
207       taskmgr: Use default font for proc listview.
208       comctl32: Allow destruction of toolbar in BN_CLICKED handler.
209       comctl32: Allow enabling TVS_CHECKBOXES on the fly.
210       d3d8: Add missing relay trace.
211       wined3d: Allow np2 textures to be loaded for SFLAG_INDRAWABLE.
212       wined3d: Preload target in ActivateContext() for ORM_BACKBUFFER/ORM_PBUFFER.
213       wined3d: Issue an error when the render target is read back without SFLAG_INDRAWABLE being set.
214
215 Francois Gouget (8):
216       ole32/tests: Spelling fix.
217       ole32/tests: Spelling fix.
218       Assorted spelling and English fixes.
219       shell32/tests: Fix some expected FindExecutable() error codes.
220       shell32/tests: End the lines with CR+LF otherwise the profile APIs are unable to read them back on Win >= 2000.
221       shell32/tests: On Windows 98 FindExecutable() does not '\0' terminate the returned command which caused many tests to fail.
222       shell32/tests: On NT4 FindExecutable() returns an extra backspace character in some tests.
223       oleaut32/tests: Fix compilation on systems that don't support nameless structs or unions.
224
225 H. Verbeet (16):
226       wined3d: Handle FBO attachments slightly more efficiently.
227       wined3d: Fixup FBO depth attachments when the depth attachment is larger than the render target.
228       wined3d: Add a function to dump WINED3DTEXTUREFILTERTYPE values.
229       wined3d: Make bind_fbo a bit more generic.
230       wined3d: Separate attaching a surface to an FBO from set_render_target_fbo.
231       wined3d: Use the framebuffer blit extension to implement StretchRect.
232       wined3d: Add some StretchRectFilterCaps.
233       wined3d: Don't report render target formats we don't support as supported.
234       wined3d: Display the stream offset in GetStreamSource/SetStreamSource traces.
235       wined3d: Set the stream offset to 0 in DrawPrimitiveUP/DrawIndexedPrimitiveUP.
236       wined3d: Add some traces to stretch_rect_fbo.
237       wined3d: Remove some redundant IWineD3DSurface_PreLoad calls from stretch_rect_fbo.
238       wined3d: Disable the scissor test in stretch_rect_fbo.
239       wined3d: Disable the scissor test for depth blits.
240       wined3d: Dirtify the sampler used by IWineD3DSurface_PreLoad in IWineD3DSurfaceImpl_BltOverride.
241       wined3d: Fix some swizzles on scalars.
242
243 Hans Leidekker (8):
244       wintrust: Improve a number of stubs.
245       setupapi: Implement SetupGetFileCompressionInfoEx{A, W}.
246       setupapi: Add tests for SetupGetFileCompressionInfoEx.
247       setupapi: Implement SetupDecompressOrCopyFile{A, W}.
248       setupapi: Add tests for SetupDecompressOrCopyFile.
249       setupapi: Remove debug traces from allocation routines.
250       setupapi: Implement SetupGetFileCompressionInfo on top of SetupGetFileCompressionInfoEx.
251       kernel32: Allow any amount of whitespace between the words ANSI and SCSI in /proc/scsi/scsi.
252
253 Huw Davies (3):
254       wineps.drv: Add a heuristic to cope with resolution strings of the form "nnnmmmdpi" (ie without the 'x' separator).
255       winspool.drv: Implement level 1 support for EnumPrinters.
256       imagehlp: Add support for the indices array passed to ImageEnumerateCertificates.
257
258 Ivan Gyurdiev (2):
259       d3d9: Break out two helper functions from test_fvf_to_decl.
260       d3d9: Add a test for the converted vertex decl.
261
262 Jacek Caban (5):
263       mshtml: Change TRACE to FIXME in stubs.
264       mshtml: Added IHTMLBodyElement::get_background implementation.
265       mshtml: Correctly handle utf-16 encoded pages.
266       mshtml: Added IPersistFile::Save implementation.
267       mshtml: Added IDM_COMPOSESETTINGS and IDM_HTMLEDITMODE stub implementation.
268
269 James Hawkins (1):
270       msi: Reset the is_extracted flag when every cabinet is loaded.
271
272 Jason Edmeades (20):
273       xcopy: Add support for /EXCLUDELIST:file1+file2 etc.
274       xcopy: Add support for /D and /D:m-d-y.
275       xcopy: Rearrange code to closely match windows ordering.
276       xcopy: Move all messages into an English resource file.
277       xcopy: Update comments with unsupported operations and current status.
278       xcopy: Add help.
279       xcopy: Make displayed names mirror windows.
280       xcopy: /E implies recursive (fixes ActiveState Perl installer).
281       xcopy: Hack/workaround for filenames starting with a '.'.
282       oleaut32: Convert to VT_DECIMAL fails with overflow (with test).
283       cmd.exe: Only search for supplied command as-is if it includes an extension.
284       cmd.exe: Attempt to launch pgm even if fails to locate it.
285       cmd.exe: Fix dir filename /s and resolve many output differences.
286       cmd.exe: Make dir support multiple parameters.
287       cmd.exe: Make dir a* b* or dir a* b* /s mirror windows.
288       cmd.exe: Partially fix 'dir *.' (ie files with no extension).
289       cmd.exe: Add support for move with simple wildcards.
290       cmd.exe: Add move support for wildcards and directories.
291       cmd.exe: Add prompting and COPYCMD plus /Y support to move.
292       cmd.exe: Fix regression when launching a fully qualified program.
293
294 Kai Blin (1):
295       ntdll: Don't use settimeofday() to attempt to set the timezone.
296
297 Laurent Vromman (3):
298       gdi32: Add two basic tests to check what WidenPath does.
299       gdi32: Correction of WidenPath behaviour when pen width is 1.
300       gdi32: Correct WidenPath behaviour when working on an open path.
301
302 Lei Zhang (5):
303       advapi32: Spelling fixes.
304       comctl32: Fix first day of the week in monthcal.
305       comctl32: More monthcal hit tests.
306       user32: WM_ACTIVATEAPP on minimize message test.
307       comctl32: monthcal: GetMonthRange Tests.
308
309 Louis Lenders (1):
310       user32: Add RealChildWindowFromPoint.
311
312 Maarten Lankhorst (2):
313       winearts.drv: Kill off winearts.
314       winecfg: Close audio driver when not needed any more.
315
316 Marcus Meissner (2):
317       ntdll: Remove superflous NULL checks.
318       configure: Include <sys/types.h> before including <linux/joystick.h>.
319
320 Michael Ploujnikov (1):
321       wined3d: Remove DDBLT_WAIT fixme.
322
323 Michael Stefaniuc (3):
324       msvcrt: Move the code to demangle a name with its template argument list out of get_class() and into a separate function.
325       msvcrt: Demangle a C++ mangled string that is only a name with it's template argument list.
326       ws2_32/tests: Remove redundant NULL check before HeapFree().
327
328 Paul Vriens (11):
329       advapi32/tests: Reopen the main handle if needed.
330       advapi32/tests: Some cleanup.
331       ole32/stg_bigblockfile: Check page before use (Coverity).
332       odbccp32: Don't print *pcbPathOut as it can be NULL (Coverity).
333       ntdll/tests: Use GetModuleHandle and skip.
334       user32/tests: Don't run unicode tests if not supported.
335       advapi32/tests: Make sure NT4 and W2K tests don't fail.
336       setupapi/tests: Run tests on win98 again.
337       advapi32/tests: Use skip when OpenSCManagerA is not implemented.
338       advapi32/tests: Fix RegQueryValueExA test for win9x and ME.
339       advpack/tests: Don't hardcode the windows directory.
340
341 Peter Beutner (2):
342       dinput: Add missing definition to public header.
343       ntdll: Remove one exception test.
344
345 Rob Shearman (21):
346       urlmon: Fix a reference count leak that would keep the module alive when it shouldn't.
347       advpack: Call OleInitialize before registering OCXs, like native does.
348       advpack: Stop processing if there was an error registering an OCX.
349       ntdll: Pass the correct value to NtClose in the tests.
350       msi: Don't wait on closed handles in ACTION_FinishCustomActions.
351       atl: AddRef the object being returned in AtlInternalQueryInterface,  not "this".
352       ole32: Convert the OpenDll list to a standard Wine list.
353       ole32: Move the in-process module loading to COMPOBJ_DllList_Add.
354       ole32: Move the handling of loading a dll and getting an in-process object from it to an apartment-specific function.
355       ole32: Add a test that shows CoFreeUnusedLibraries only frees unused libraries from the current apartment.
356       ole32: Cache the address for the library's DllGetClassObject and DllCanUnloadNow in the OpenDll list entry.
357       ole32: Keep a list of the loaded dlls for each apartment.
358       ole32: In 16-bit OLE, LPOLESTR uses multibyte, not Unicode characters so make LoadTypeLib16 take an LPSTR instead of LPOLESTR.
359       ole32: Add tests for drag and drop functions.
360       ole32: Check for COM not being initialised and an invalid window handle being input to RegisterDragDrop.
361       ole32: Check the input hwnd is valid in RevokeDragDrop.
362       ole32: Don't release the registered drop targets in OleUninitialize.
363       ole32: Move declaration for FileMonikerImpl_DecomposePath from compobj_private.h to moniker.h.
364       ole32: Fix a hack which depended on the IID of the interface being marshaled
365       shell32: Return Unicode strings from all of the IShellFolder::GetDisplayNameOf functions in not running in Win9x mode.
366       msi: Provide UI action data for uncompressed files, not just compressed ones.
367
368 Rolf Kalbermatter (4):
369       notepad: Implement handling of page setup dialog parameters.
370       notepad: Fix a possible rounding error when storing the font point size to the registry.
371       notepad: Fix text label.
372       notepad: Improve printing considerably.
373
374 Stefan Dösinger (10):
375       wined3d: Add GL_APPLE_client_storage to our extension list.
376       wined3d: Use GL_APPLE_client_storage if available.
377       wined3d: Add D3DDEVCAPS3_* to the wined3d caps header.
378       wined3d: Add Filtering to IWineD3DSurface::Blt and handle it.
379       wined3d: Set WINED3DCAPS3_ALPHA_FULLSCREEN_FLIP_OR_DISCARD caps3 cap.
380       wined3d: Index buffer data is unsigned.
381       wined3d: Dirtify the shader and declaration states if the bound interface is destroyed.
382       d3d9: AddRef the device in IDirect3DVertexDeclaration9::AddRef.
383       d3d9: Fix the circular converted vertex declaration reference.
384       d3d9: Fix vertex decl test.
385
386 Stefan Leichter (1):
387       advapi32: Add some tests for RegDeleteTreeA.
388
389 Steven Edwards (1):
390       winecfg: Add a button for audio test.
391
392 Vit Hrachovy (1):
393       winecfg: Fix outdated Czech localization.
394
395 Vitaliy Margolen (2):
396       dinput: Set the event regardless of the queue state.
397       ntdll: Take size of the arena from the current pointer before advancing.
398
399 --
400 Alexandre Julliard
401 julliard@winehq.org