http://bugs.winehq.org/show_bug.cgi?id=19767
Summary: Authenticated RPC client functionality is broken with the rpcrt4 changes from 1.1.25 Product: Wine Version: 1.1.25 Platform: PC OS/Version: Linux Status: UNCONFIRMED Severity: critical Priority: P2 Component: rpc AssignedTo: wine-bugs@winehq.org ReportedBy: winesku@googlemail.com CC: julliard@winehq.org
Since version 1.1.25, authenticated RPC clients do not work anymore. Each RPC call will always return an RPC_STATUS of 1728 (RPC protocol error). I will return with more information which change leads to the current behaviour and provide a test RPC client server app that allows to reproduce the bug.
http://bugs.winehq.org/show_bug.cgi?id=19767
--- Comment #1 from Stefan Kuhr winesku@googlemail.com 2009-08-17 12:42:42 --- Created an attachment (id=23146) --> (http://bugs.winehq.org/attachment.cgi?id=23146) test app to reproduce the bug
Find attached a project that can reproduce the behaviour. Start rpcsrv.exe with a port number as a command line parameter on a windows box, like this:
rpcsrv.exe 4711
Then start rpccln.exe on a Wine box, change protocol sequence to TCP/IP, provide the same port name (4711 in the above example), then provide a valid user name, domain name and password of a user on the windows box, type some text in the edit field "text to submit", then press the "Call RPC" button. On versions prior to 1.1.25, the RPC will be transmitted to the server which will show a message box. 1.1.25 and later will only show an error message box "1728: RPC protocol error".
http://bugs.winehq.org/show_bug.cgi?id=19767
--- Comment #2 from Stefan Kuhr winesku@googlemail.com 2009-08-17 13:25:08 --- Created an attachment (id=23147) --> (http://bugs.winehq.org/attachment.cgi?id=23147) Patch for this bug
This is the same patch I sent to the patch mailing list. I dunno what the proper way for submitting a patch is, so I hope one of the two alternatives is okay. This patch reverts the introduction of the new static variable LONG next_id and the assignment of an InterlockedIncrement on this variable to auth_hdr->auth_context_id and assigns auth_hdr->auth_context_id the old value (unsigned long)Connection. This change makes authenticated RPC calls work again for me.
http://bugs.winehq.org/show_bug.cgi?id=19767
--- Comment #3 from Alexandre Julliard julliard@winehq.org 2009-08-17 13:37:53 --- This was changed for a reason, you can't just revert it.
http://bugs.winehq.org/show_bug.cgi?id=19767
--- Comment #4 from Alexandre Julliard julliard@winehq.org 2009-08-17 13:38:56 --- Created an attachment (id=23148) --> (http://bugs.winehq.org/attachment.cgi?id=23148) Store auth id in the connection.
You could try something like this.
http://bugs.winehq.org/show_bug.cgi?id=19767
Juan Lang juan_lang@yahoo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Severity|critical |normal
--- Comment #5 from Juan Lang juan_lang@yahoo.com 2009-08-17 15:34:39 --- http://bugs.winehq.org/page.cgi?id=fields.html#importance
http://bugs.winehq.org/show_bug.cgi?id=19767
--- Comment #6 from Stefan Kuhr winesku@googlemail.com 2009-08-18 01:58:49 --- Alexandre, please excuse my ignorance, but the change that breaks the RPC client scenario was checked in into git with the comment "Replace long and unsigned long by more appropriate types.". So I naively assumed that part of it can be reverted easily, because the comment suggests like this was more or less a cosmetic change. Is there a way from the git web interface that I can find out which bug this checkin fixed?
Menawhile I will give your alternative patch a try during lunch break today or in the evening and let you know if it works.
http://bugs.winehq.org/show_bug.cgi?id=19767
Stefan Kuhr winesku@googlemail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |WORKSFORME
--- Comment #7 from Stefan Kuhr winesku@googlemail.com 2009-08-18 12:22:24 --- Hi Alexandre,
the patch you suggested in comment #4 works like a charm. I would love to see that in 1.1.28 and you can consider this bug as closed once this patch is in the git tree. Thanks a lot for the quick response. I changed this bug's status to "resolved" as "worksforme", I dunno if this is correct if I do that, let me know in case it is not.
http://bugs.winehq.org/show_bug.cgi?id=19767
Stefan Kuhr winesku@googlemail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|WORKSFORME |FIXED
--- Comment #8 from Stefan Kuhr winesku@googlemail.com 2009-08-18 12:26:42 --- hhm, maybe it is better to set it to fixed, in case "worksforme" means that nobody is ever going to look at it again... :-)
Are there any documents that describe the workflow that is supposed to happen between someone who reports a bug and successfully tests a proposed patch?
http://bugs.winehq.org/show_bug.cgi?id=19767
Alexander Scott-Johns alexander.scott.johns+winebug@googlemail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |alexander.scott.johns+wineb | |ug@googlemail.com
--- Comment #9 from Alexander Scott-Johns alexander.scott.johns+winebug@googlemail.com 2009-08-18 19:04:54 --- (In reply to comment #8)
hhm, maybe it is better to set it to fixed, in case "worksforme" means that nobody is ever going to look at it again... :-)
Are there any documents that describe the workflow that is supposed to happen between someone who reports a bug and successfully tests a proposed patch?
If the patch (or some other fix) is not in the Wine source, then the bug is still open.
http://bugs.winehq.org/show_bug.cgi?id=19767
Vincent Povirk madewokherd@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |UNCONFIRMED Resolution|FIXED |
--- Comment #10 from Vincent Povirk madewokherd@gmail.com 2009-08-18 21:51:40 --- (In reply to comment #9)
If the patch (or some other fix) is not in the Wine source, then the bug is still open.
Yep. Reopening.
http://bugs.winehq.org/show_bug.cgi?id=19767
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |FIXED
--- Comment #11 from Alexandre Julliard julliard@winehq.org 2009-08-20 13:13:11 --- Committed as e01420d72a11b11b8091d772711660586a061bbd.
http://bugs.winehq.org/show_bug.cgi?id=19767
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #12 from Alexandre Julliard julliard@winehq.org 2009-08-21 13:02:07 --- Closing bugs fixed in 1.1.28.