Wed Feb 22 09:04:04 2012: Request 75193 was acted upon. Transaction: Correspondence added by steve...@planit.com Queue: PAR-Packer Subject: RE: [rt.cpan.org #75193] [PATCH] Fix build on Win32/VC++ Broken in: 1.012 Severity: Important Owner: RSCHUPP Requestors: s...@cpan.org Status: patched Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=75193 >
Roderich Schupp via RT wrote on 2012-02-21: > Tue Feb 21 10:10:31 2012: Request 75193 was acted upon. > Transaction: Correspondence added by RSCHUPP > Queue: PAR-Packer > Subject: [PATCH] Fix build on Win32/VC++ > Broken in: 1.012 > Severity: Important > Owner: RSCHUPP > Requestors: s...@cpan.org > Status: open > Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=75193 > > > On 2012-02-21 09:32:44, SHAY wrote: >> The current version (1.012) of PAR-Packer does not build on Win32 with >> VC++. There are two problems: myldr/boot.c attempts to include >> VC++unistd.h > > Thanks for the patch, these changes were already in trunk. > Oops, sorry. I should have checked there first. >> myldr\mktmpdir.c(45) : warning C4013: 'getuid' undefined; assuming >> extern returning int > > I wrapped the whole function calling getuid (isSafeDir) in #ifndef > WIN32 as it's only called on *nix anyway. > > OTOH if someone could implement isSafeDir for Windows, I surely would > appreciate that :) It's there to fix a CVE "PAR::Packer creates per- > user directory with unsafe permissions". > I'm not sure what it takes to create a "safe per-user directory" > on Windows, i.e. where only the user (and privileged accounts) can > create and modify files. > > If you want to test the current snapshot (esp. since you use the VC++ > toolchain), there were some recent changes in the resource handling for > Win32 executables > > http://svn.openfoundry.org/par/PAR-Packer/trunk > Works fine for me, except that 20-pp.t still fails test 32 as before. Is that supposed to be fixed now? Do I need a newer Win32-Exe than I've got? I'm using 0.17. (The error is different now: it now complains about not being a valid Win32 executable, rather than complaining that its side-by-side configuration is incorret.)