The exact version of the "good" par2 is 0.4-11 ( the one on
wheezy/oldstable)

I attach 4 files corresponding to some tests I made with this bug.
I generated a random file of 20MB, then created some par2 with the 0.6
version :
"par2 c testdatafile"
Then I have applied 2 different types of modification with a hex editor :
1 - a modification of one byte at the beginning of the test file,
resulting in the corruption of one data block. That's the attachments
named "corrupted". And both version behave correctly.
2- a deletion of one byte (the attachments named "deleted"), and here
the behavior is different for the 2 versions. On the 0.4, it detect just
one bad block. With the 0.6 version all the blocks after the corruption
are wrongfully detected corrupted.
$ par2 v testdatafile.par2
par2cmdline version 0.4, Copyright (C) 2003 Peter Brian Clements.

par2cmdline comes with ABSOLUTELY NO WARRANTY.

This is free software, and you are welcome to redistribute it and/or modify
it under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version. See COPYING for details.

Loading "testdatafile.par2".
Loaded 4 new packets
Loading "testdatafile.vol063+37.par2".
Loaded 37 new packets including 37 recovery blocks
Loading "testdatafile.vol003+04.par2".
Loaded 4 new packets including 4 recovery blocks
Loading "testdatafile.vol031+32.par2".
Loaded 32 new packets including 32 recovery blocks
Loading "testdatafile.vol000+01.par2".
Loaded 1 new packets including 1 recovery blocks
Loading "testdatafile.vol007+08.par2".
Loaded 8 new packets including 8 recovery blocks
Loading "testdatafile.vol015+16.par2".
Loaded 16 new packets including 16 recovery blocks
Loading "testdatafile.vol001+02.par2".
Loaded 2 new packets including 2 recovery blocks

There are 1 recoverable files and 0 other files.
The block size used was 10488 bytes.
There are a total of 2000 data blocks.
The total size of the data files is 20971520 bytes.

Verifying source files:

Target: "testdatafile" - damaged. Found 1999 of 2000 data blocks.

Scanning extra files:


Repair is required.
1 file(s) exist but are damaged.
You have 1999 out of 2000 data blocks available.
You have 100 recovery blocks available.
Repair is possible.
You have an excess of 99 recovery blocks.
1 recovery blocks will be used to repair.
$ par2 v testdatafile.par2 
par2cmdline version 0.4, Copyright (C) 2003 Peter Brian Clements.

par2cmdline comes with ABSOLUTELY NO WARRANTY.

This is free software, and you are welcome to redistribute it and/or modify
it under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version. See COPYING for details.

Loading "testdatafile.par2".
Loaded 4 new packets
Loading "testdatafile.vol063+37.par2".
Loaded 37 new packets including 37 recovery blocks
Loading "testdatafile.vol003+04.par2".
Loaded 4 new packets including 4 recovery blocks
Loading "testdatafile.vol031+32.par2".
Loaded 32 new packets including 32 recovery blocks
Loading "testdatafile.vol000+01.par2".
Loaded 1 new packets including 1 recovery blocks
Loading "testdatafile.vol007+08.par2".
Loaded 8 new packets including 8 recovery blocks
Loading "testdatafile.vol015+16.par2".
Loaded 16 new packets including 16 recovery blocks
Loading "testdatafile.vol001+02.par2".
Loaded 2 new packets including 2 recovery blocks

There are 1 recoverable files and 0 other files.
The block size used was 10488 bytes.
There are a total of 2000 data blocks.
The total size of the data files is 20971520 bytes.

Verifying source files:

Target: "testdatafile" - damaged. Found 1999 of 2000 data blocks.

Scanning extra files:


Repair is required.
1 file(s) exist but are damaged.
You have 1999 out of 2000 data blocks available.
You have 100 recovery blocks available.
Repair is possible.
You have an excess of 99 recovery blocks.
1 recovery blocks will be used to repair.
$ par2 v testdatafile.par2
Loading "testdatafile.par2".
Loaded 4 new packets
Loading "testdatafile.vol063+37.par2".
Loaded 37 new packets including 37 recovery blocks
Loading "testdatafile.vol003+04.par2".
Loaded 4 new packets including 4 recovery blocks
Loading "testdatafile.vol031+32.par2".
Loaded 32 new packets including 32 recovery blocks
Loading "testdatafile.vol000+01.par2".
Loaded 1 new packets including 1 recovery blocks
Loading "testdatafile.vol007+08.par2".
Loaded 8 new packets including 8 recovery blocks
Loading "testdatafile.vol015+16.par2".
Loaded 16 new packets including 16 recovery blocks
Loading "testdatafile.vol001+02.par2".
Loaded 2 new packets including 2 recovery blocks
Loading "testdatafile.par2".
No new packets found

There are 1 recoverable files and 0 other files.
The block size used was 10488 bytes.
There are a total of 2000 data blocks.
The total size of the data files is 20971520 bytes.

Verifying source files:

Target: "testdatafile" - damaged. Found 1999 of 2000 data blocks.

Scanning extra files:


Repair is required.
1 file(s) exist but are damaged.
You have 1999 out of 2000 data blocks available.
You have 100 recovery blocks available.
Repair is possible.
You have an excess of 99 recovery blocks.
1 recovery blocks will be used to repair.
$ par2 v testdatafile.par2
Loading "testdatafile.par2".
Loaded 4 new packets
Loading "testdatafile.vol063+37.par2".
Loaded 37 new packets including 37 recovery blocks
Loading "testdatafile.vol003+04.par2".
Loaded 4 new packets including 4 recovery blocks
Loading "testdatafile.vol031+32.par2".
Loaded 32 new packets including 32 recovery blocks
Loading "testdatafile.vol000+01.par2".
Loaded 1 new packets including 1 recovery blocks
Loading "testdatafile.vol007+08.par2".
Loaded 8 new packets including 8 recovery blocks
Loading "testdatafile.vol015+16.par2".
Loaded 16 new packets including 16 recovery blocks
Loading "testdatafile.vol001+02.par2".
Loaded 2 new packets including 2 recovery blocks
Loading "testdatafile.par2".
No new packets found

There are 1 recoverable files and 0 other files.
The block size used was 10488 bytes.
There are a total of 2000 data blocks.
The total size of the data files is 20971520 bytes.

Verifying source files:

File: "testdatafile" - no data found.

Scanning extra files:


Repair is required.
1 file(s) exist but are damaged.
You have 0 out of 2000 data blocks available.
You have 100 recovery blocks available.
Repair is not possible.
You need 1900 more recovery blocks to be able to repair.

Reply via email to