http://bugs.winehq.org/show_bug.cgi?id=28995
Bug #: 28995 Summary: Unable to use named pipes with ">" character in the name Product: Wine Version: 1.3.32 Platform: x86-64 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: kernel32 AssignedTo: wine-bugs@winehq.org ReportedBy: valentyn.pavliuchenko@gmail.com Classification: Unclassified
I have an app (Avid VENUE software) that uses pipes to work. The app fails to launch because of pipe name contains a character ">".
MSDN says:
The pipename part of the name can include any character other than a backslash, including numbers and special characters. The entire pipe name string can be up to 256 characters long. Pipe names are not case sensitive.
App logs show the following:
23.957 CreateFile error '\.\PIPE\D-Show Pipe GUI->DM': Invalid name.
Changing ">" to "_" by direct editing executable files makes problem disappear.
http://bugs.winehq.org/show_bug.cgi?id=28995
Vitaliy Margolen vitaliy-bugzilla@kievinfo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|kernel32 |ntdll
http://bugs.winehq.org/show_bug.cgi?id=28995
--- Comment #1 from Valentyn Pavliuchenko valentyn.pavliuchenko@gmail.com 2011-11-08 16:18:31 CST --- Created attachment 37387 --> http://bugs.winehq.org/attachment.cgi?id=37387 Don't check pipe name for illegal characters
This patch:
1. modifies kernel32 pipe test to use ">" character in the file name, so the case of special characters in the name will be checked.
2. modifies wine_nt_to_unix_file_name() in ntdll to not check pipes for special characters since pipes aren't usual files.
http://bugs.winehq.org/show_bug.cgi?id=28995
Valentyn Pavliuchenko valentyn.pavliuchenko@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |patch
http://bugs.winehq.org/show_bug.cgi?id=28995
--- Comment #2 from Valentyn Pavliuchenko valentyn.pavliuchenko@gmail.com 2011-11-09 04:05:24 CST --- Some additional explanation:
CreateNamedPipe is not affected by this bug and works fine if such name is passed to it. But CreateFile fails because its name checking should handle different types of objects, not only pipes. The checking itself is done in wine_nt_to_unix_file_name(). Call path is CreateFile->NtCreateFile->FILE_CreateFile->nt_to_unix_file_name_attr->wine_nt_to_unix_file_name.
wine_nt_to_unix_file_name() should return STATUS_BAD_DEVICE_TYPE, which is then returned by nt_to_unix_file_name_attr(). This return status causes FILE_CreateFile to perform an "open_file_object" server request, that opens pipe object.
Previously, because of checking for illegal characters performed by wine_nt_to_unix_file_name(), wine_nt_to_unix_file_name() returned STATUS_OBJECT_NAME_INVALID, that caused error while opening pipe.
This patch modifies wine_nt_to_unix_file_name() to not check pipe name for special characters and doesn't affect any objects except pipes.
http://bugs.winehq.org/show_bug.cgi?id=28995
--- Comment #3 from lahmbi5675@gmx.de 2012-11-21 05:19:29 CST --- I'm not a wine dev, but you should sent your patch to the wine-patches mailing list. Patches won't automatically get picked up from here. They probably will ask for some test case, i.e. a unit test fitting into wine's test framework.
http://bugs.winehq.org/show_bug.cgi?id=28995
--- Comment #4 from Valentyn Pavliuchenko valentyn.pavliuchenko@gmail.com 2012-11-21 05:23:23 CST --- Patch was sent (including pipe unit test modification to handle this case). Patch was not reviewed for more than a month and so was removed from patch queue.
https://bugs.winehq.org/show_bug.cgi?id=28995
--- Comment #5 from Austin English austinenglish@gmail.com --- Is this still an issue in current (1.7.35 or newer) wine? If so, please attach terminal output.
https://bugs.winehq.org/show_bug.cgi?id=28995
--- Comment #6 from Valentyn Pavliuchenko valentyn.pavliuchenko@gmail.com --- Austin, unfortunately I'm not able to check. If you have wine codebase, you can test that by applying 1-line change to unit test from the patch attached to this issue and running the unit test.
https://bugs.winehq.org/show_bug.cgi?id=28995
Sebastian Lackner sebastian@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |sebastian@fds-team.de
--- Comment #7 from Sebastian Lackner sebastian@fds-team.de --- It is still present in 1.7.35, we have included a patch for that in Wine-Staging:
https://github.com/wine-compholio/wine-staging/tree/master/patches/ntdll-Pip...
https://bugs.winehq.org/show_bug.cgi?id=28995
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download, testcase
https://bugs.winehq.org/show_bug.cgi?id=28995
Michael Müller michael@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |STAGED CC| |michael@fds-team.de Ever confirmed|0 |1 Staged patchset| |https://github.com/wine-com | |pholio/wine-staging/tree/ma | |ster/patches/ntdll-Pipe_Spe | |cialCharacters
https://bugs.winehq.org/show_bug.cgi?id=28995
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net Summary|Unable to use named pipes |Avid VENUE software fails |with ">" character in the |to start (unable to use |name |named pipes with ">" | |character in the name)
https://bugs.winehq.org/show_bug.cgi?id=28995
André H. nerv@dawncrow.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Staged patchset|https://github.com/wine-com |https://github.com/wine-sta |pholio/wine-staging/tree/ma |ging/wine-staging/tree/mast |ster/patches/ntdll-Pipe_Spe |er/patches/ntdll-Pipe_Speci |cialCharacters |alCharacters CC| |nerv@dawncrow.de
https://bugs.winehq.org/show_bug.cgi?id=28995
Vijay Kamuju infyquest@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |infyquest@gmail.com
--- Comment #8 from Vijay Kamuju infyquest@gmail.com --- The test is working fine in latest wine (4.1.0) without the fix, I think that we dont need this patch. And we can close this issue
https://bugs.winehq.org/show_bug.cgi?id=28995
--- Comment #9 from Valentyn Pavliuchenko valentyn.pavliuchenko@gmail.com --- We have patched VENUE to NOT use named pipes with ">" in names, so it works. But the bug in Wine remains and the patch is still required.
https://bugs.winehq.org/show_bug.cgi?id=28995
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |405666b736f7e471e301f051cfb | |e68bcbef7e0f6 CC| |z.figura12@gmail.com Resolution|--- |FIXED Status|STAGED |RESOLVED
--- Comment #10 from Zebediah Figura z.figura12@gmail.com --- Judging from the test case, seems to have been (inadvertently?) fixed by https://source.winehq.org/git/wine.git/commitdiff/405666b736f7e471e301f051cfbe68bcbef7e0f6.
https://bugs.winehq.org/show_bug.cgi?id=28995
Julian Rüger jr98@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jr98@gmx.net
https://bugs.winehq.org/show_bug.cgi?id=28995
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #11 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 6.7.