win32ss / supermium

Chromium fork for Windows XP/2003 and up
https://win32subsystem.live/supermium/
BSD 3-Clause "New" or "Revised" License
2.25k stars 75 forks source link

[doc] list of changes to progwrp.dll and links to fixed issues #461

Open IDA-RE-things opened 6 months ago

IDA-RE-things commented 6 months ago

Originally posted by @IDA-RE-things in https://github.com/win32ss/supermium/issues/420#issuecomment-2037465234

Ok, now we have progwrp.dll, linked to (https://github.com/win32ss/supermium/blob/main/README.md)

But where is the list of changes (and history) for progwrp.dll and links to issues, where it was appeared as a fix ? Why this fixes are silent ? This is bad idea to describe this as "some changes".

IDA-RE-things commented 6 months ago

I have seen that you added this file https://github.com/win32ss/supermium/files/14901989/changes.txt today in response to issue (#468)

My addition and suggestion:


1.1.0.5002: (2024.04.08) -GetDpiForMonitor and ProcessPrng added; this means that bcryptprimitives is now redirected to progwrp.dll in progwrp-native LoadLibrary if the former cannot be located -getaddrinfo and freeaddrinfo implementations added, enables DNS functionality on Windows 2000 -Slight revision to dynamic TLS allocator (in response to Supermium issue #468 )


1.1.0.5000: (2024.03.26) -SRW lock implementation revised, handles no longer used, shared locks now functional (in response to Supermium issue #372) -Slight issues in InitOnceExecuteOnce resolved -Locale API out-of-bounds checking improved (in response to Supermium issue #374)


Alex313031 commented 6 months ago

@IDA-RE-things Guess what sir? Latest progwrp.zip from the readme contains progwrp.lib!!!

drops everything and rushes to my haswell workstation to work on some XP builds of Thorium

IDA-RE-things commented 6 months ago

Yes, I saw that .lib in that .zip file. I understand you, But you rejoice too early, Because descriptor leaks still remain in other Chromium code (#372). Moreover, there is a problem with memory allocation on XP, causing crashes (#469 for ex.) (Im writing new report now: #475). Possibly also related to progwrp.dll. It's worth rejoicing only when(if) he publish the source code of this DLL.

I have decompiled it of course. But this is not cosher and bad for open-source repo (have sources such way), as I wrote earlier. Its adding hard to debug it. And some parts dont understandable while.

I can make such .LIB from a .DLL, as I wrote here #396, and you tried.

But yes, try to build your Thorium, based on provided .lib. It will work somehow I think.

Also, whats about handle leaks I have seen in you issues tracker ? (https://github.com/Alex313031/thorium-win7/issues/64)

I think time to fix the bugs, and do it more stable on XP. )) (and not only). You must join to this prosess in this case (bugfixing I mean); not just to build it.

PS: BTW, I'm working on creating more simpler alternative of such emulation layer DLL, targeted only for XP.

Alex313031 commented 5 months ago

@IDA-RE-things How did you make a .lib from the .dll. I tried those methods in that issue, as well as others found online, and none of them worked. Only the official one from the latest .zip worked and allowed me to make a Thorium build that runs on XP.

IDA-RE-things commented 5 months ago

If you have created .lib for .dll, and after build and run, The program say, that its not found one of the functions inside kernel32 etc, Which was defined in progwrp emulation dll, then you just skipped that function, or created wrong stdcall-based name for it. Its very simple. Not need to wait for "official builds", Need just to recheck your work.


But ok. So you Thorium for XP build now has same XP-specific (and not only XP-specific) bugs as here ? And now anyone wants to fix common dialogs, small UI changes on tabs, or add "ungoogled features". And another "bells and whistles". But no one wants to fix Memory/Handle leaks and Crashes. Its Fine. ))


I wrote:

I'm working on creating more simpler alternative of such emulation layer DLL, targeted only for XP.

I have now my own written variant on such DLL : 13 Kb vs 130 Kb original. And its now allows to run the browser on XP. But with --single process mode (while). Some moments need to fix while.

Alex313031 commented 5 months ago

@IDA-RE-things Are you gonna share the source for your dll/lib?

jonm58 commented 5 months ago

I hope progwrp is in progwrp repositories so that I can get progwrp update notifications from GitHub

IDA-RE-things commented 5 months ago

@Alex313031 , I have now fixed issues, and succesfully use my DLL on my machine. Initially I created it to be "source-available alternative" for Chromium-based browsers. But I dont know now, which benefit I will have from publishing this code. Who is wanted it, except programmers (if any) ? )) Are you want to embed it to your Thorium ? Its now like "Windows vs ReactOS" :))

Alex313031 commented 5 months ago

@IDA-RE-things I would probably use it in my Thorium for XP/Vista builds. I would be very happy if you published your progwrp source code on GitHub.

IDA-RE-things commented 5 months ago

Are you agree to have "source-available" version with compiled DLL/LIB ?. "source-available" is mean "you can read the code, but can not directly recompile it without creation of additional code". I have tested it with Thorium yesterday and fixed one issue, which was reproduced only with Thorium. (bacause I have minimalistic-possible realization of DLL).

And its will not be "progwrp source code " its will be "xp-api-adapter". Separate name and separate project with different goals. (but dll can be ranamed to progwrp.dll for testing with existing builds, as I do now).

And another restrictions:

Also, have you read issues, I have written on you issue-tracker ? https://github.com/Alex313031/thorium-legacy/issues

You can answer on this questions there (it will be better), to prevetn offtopic here.


PS: will attach it here while, If anyone wants to test it (dont remember to rename and replace): xp-api-adapter_x86.zip

Alex313031 commented 5 months ago

@IDA-RE-things Yes, I would respect whatever wishes you have about it. If the source was added to the Thorium repo, I would have a LICENSE.md similar to the one already in there for progwrp > https://github.com/Alex313031/thorium-legacy/blob/main/patches/progwrp/LICENSE.md

I wouldn't modify anything without your consent, and would probably just use the .lib and .dll in building the project.

I will go answer the issues on the tracker that you posted.