winrar 5 is out

Discuss and announce Total Commander plugins, addons and other useful tools here, both their usage and their development.

Moderators: Hacker, petermad, Stefan2, white

User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50463
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

2Eugene_Roshal
Nice to see you post here, good luck with the new version!

1. Is there a document which describes the changes to the RAR file headers? Currently Total Commander parses the headers by itself, and only calls unrar.dll for the actual unpacking process.
2. I guess that the Unicode names and UTC timestamps need to be considered, are there any flags set when they are used?
3. Any other things to consider when reading the headers?
Author of Total Commander
https://www.ghisler.com
User avatar
Lefteous
Power Member
Power Member
Posts: 9536
Joined: 2003-02-09, 01:18 UTC
Location: Germany
Contact:

Post by *Lefteous »

2Eugene_Roshal
Great to see you here. Are there any plans for a shareware DLL which incorporates all functions (not just unpacking)?
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50463
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

2Lefteous
That's a nice idea - it could be part of the full version of WinRAR, so TC could use the dll when the full version is installed instead of calling Winrar.exe.
Author of Total Commander
https://www.ghisler.com
Eugene_Roshal
Junior Member
Junior Member
Posts: 14
Joined: 2013-05-02, 09:58 UTC
Contact:

Post by *Eugene_Roshal »

ghisler(Author) wrote:2Eugene_Roshal
Nice to see you post here, good luck with the new version!
Thank you.
1. Is there a document which describes the changes to the RAR file headers?
Yes. Forum does not let me to post URL, so you need to open "RAR extras" on rarlab and open "RAR 5.0 archive format" link.
Currently Total Commander parses the headers by itself, and only calls unrar.dll for the actual unpacking process.
It might be simpler to let unrar.dll perform parsing.
2. I guess that the Unicode names and UTC timestamps need to be considered, are there any flags set when they are used?
Everything is changed in the new archive format, not just names and timestamps. Now names are always UTF-8 and timestamps are stored either as Windows FILETIME or as Unix time.
3. Any other things to consider when reading the headers?
Nothing special, but a lot of routine work to rewrite the entire format reading code according to new specification. Sorry for that, but it had to be done. Previous version of archive header format was developed in 1994 and a lot things needed to be updated.
User avatar
theosdikaios
Senior Member
Senior Member
Posts: 228
Joined: 2006-02-04, 13:02 UTC

Post by *theosdikaios »

you need to open "RAR extras" on rarlab and open "RAR 5.0 archive format" link.
Or just click here RAR 5.0 archive format
:mrgreen:
"Since there are many things which have never happened and never will happen,
and which nevertheless are clearly conceivable, and imply no contradiction,
how can one say they are absolutely impossible?" Leibniz
Eugene_Roshal
Junior Member
Junior Member
Posts: 14
Joined: 2013-05-02, 09:58 UTC
Contact:

Post by *Eugene_Roshal »

Lefteous wrote:2Eugene_Roshal
Great to see you here. Are there any plans for a shareware DLL which incorporates all functions (not just unpacking)?
We do not have enough resources to develop and maintain such library now. Good commercial compression library is a separate project requiring a lot of efforts: documentation, support, debugging, designing and improving APIs. Maybe sometimes in the future, but no such plans now.
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 50463
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Post by *ghisler(Author) »

OK, this VINT stuff makes parsing much harder and could cause errors, so it's probably better to rely on unrar dll. Is there a similar document for the changes in unrar dll functions?
Author of Total Commander
https://www.ghisler.com
Eugene_Roshal
Junior Member
Junior Member
Posts: 14
Joined: 2013-05-02, 09:58 UTC
Contact:

Post by *Eugene_Roshal »

ghisler(Author) wrote:OK, this VINT stuff makes parsing much harder and could cause errors, so it's probably better to rely on unrar dll. Is there a similar document for the changes in unrar dll functions?
If you will ever decide to parse headers with your own function, you can use vint processing code from rawread.cpp in UnRAR source code. But unrar.dll is much simpler and faster to implement solution. Changes in new version of this library are minimal and they are described in whatsnew.txt file in UnRARDLL.exe archive. In case of any unrar.dll bugs or problems, please feel free to contact me.
User avatar
Alextp
Power Member
Power Member
Posts: 2321
Joined: 2004-08-16, 22:35 UTC
Location: Russian Federation
Contact:

Post by *Alextp »

@Roshal
i didn't see WR5 yet. Do u use old extension 'rar' for RAR5 format. If yes, i suggest to use new extension for new format. to avoid complains from users "i can't unpack rar files i got from www"
Eugene_Roshal
Junior Member
Junior Member
Posts: 14
Joined: 2013-05-02, 09:58 UTC
Contact:

Post by *Eugene_Roshal »

Alextp wrote:@Roshal
i didn't see WR5 yet. Do u use old extension 'rar' for RAR5 format.
Yes.
If yes, i suggest to use new extension for new format. to avoid complains from users "i can't unpack rar files"
Then we'll have "i can't unpack rar5 files". Also we may decide to make RAR5 format default sometimes later and in this case changing the extension from .rar5 back to .rar would contribute to user confusion.
umbra
Power Member
Power Member
Posts: 876
Joined: 2012-01-14, 20:41 UTC

Post by *umbra »

2Alextp
For me the main advantage of using RAR is not its compression but the added value: recovery records and a nicely configurable SFX. The fact that it's a widely used format with a good compression is important too, but not the most important. And since RAR5 improves in those aspects significantly, I have one more reason to keep using it.

Of course, I use 7z on a day-to-day basis as my main archiver, but only for very simple archives or on files that are not so important to me (which makes 80% of them). WinRAR is a more mature project than 7z. Plus 7z is almost all the time marked as alpha/beta, which in companies isn't helping either.
Windows 10 Pro x64, Windows 11 Pro x64
Eugene_Roshal
Junior Member
Junior Member
Posts: 14
Joined: 2013-05-02, 09:58 UTC
Contact:

Post by *Eugene_Roshal »

Alextp wrote:WR5 looses!! to 7Zip. in all 3 tests. Hmm
Two first tests produced exactly the same result for RAR 4 and RAR 5. I think, actually they were RAR4 and RAR4. Either a wrong set of options or maybe files were added to existing RAR4 archive. In this case RAR will switch to format of existing archive regardless of options. It is hard to believe that RAR4 and RAR5 could produce exactly the same archive size in two tests.

Also if benchmark pretends to have any real life value, additionally to file sizes it needs to measure compression and decompression (or test) time. I did not want to create an archiver, which will have the highest position in all compression ratio benchmarks. My purpose was to create an archiver suitable for real life use and in this case we cannot just ignore speed.
Last edited by Eugene_Roshal on 2013-05-04, 07:29 UTC, edited 1 time in total.
Eugene_Roshal
Junior Member
Junior Member
Posts: 14
Joined: 2013-05-02, 09:58 UTC
Contact:

Post by *Eugene_Roshal »

Besides, I did not get any info from iana about those two archives supposedly damaged by beta 2. Perhaps he confused beta 2 and beta 1. We had a bug which could damage files in beta 1, but I do not have any reports about broken files in beta 2 except this iana forum post.
herman5
Junior Member
Junior Member
Posts: 43
Joined: 2012-08-20, 16:39 UTC

Post by *herman5 »

Alextp wrote:WR5 looses!! to 7Zip.
Compared to wich packer is more used 7z looses...
(apart from the fact that its a bad packer wich doesnt even has an unpack only library...)
Post Reply