nixpkgs/pkgs/tools/backup/store-backup/CVE-2020-7040.patch
Thomas Gerbet d10d3fe5d6 storeBackup: 3.5 -> 3.5.2, apply patch for CVE-2020-7040
Changelog:
```
version 3.5.1
	storeBackup.pl
	- linkToRecent didn't work when used for the very first time
	  in a series
	- added option suppressInfo with key readCheckSums
	- changed the order of execution:
	  write backup -> sync -> write 'finished' -> write linkToRecent
	  -> delete old backups -> start postcommand

	storeBackupMergeIsolatedBackup.pl
	- added option --move

	storeBackupSearch.pl
	- option 'backupDir' didn't work (normally not needed)

	lib/fileDir.pl
	- more detailed error messages when copying of a file does
	  not succeed

	lib/checkParam2.pl
	- overwriting settings from config file via commandline didn't
	  work for options with parameters

	storeBackup.pl, storeBackupUpdateBackup.pl, linkToDirs.pl
	- added option --maxHardLinks

----------------------------
version 3.5.2
	storeBackup.pl
	- option --maxHardLinks was not configurable in the
	  configuration file
	- pipe buffering was changed to new needs since
	  about kernel 5.13 (relevant only if you backup devices)

	storeBackupRecover.pl
	- restoring of devices (eg. sda) didn't work because of
	  bug in option checkDevicesDir0 in storeBackup.pl when
	  using more than one directory level like "Devs/Sticks"

	storeBackupUpdateBackup.pl
	- added log file entry about number of WARNINGs and
	  ERRORs happend (like at storeBackup.pl)
```
2024-02-02 22:18:47 +01:00

24 lines
708 B
Diff

Index: storeBackup/lib/fileDir.pl
===================================================================
--- storeBackup.orig/lib/fileDir.pl
+++ storeBackup/lib/fileDir.pl
@@ -21,7 +21,7 @@
use Digest::MD5 qw(md5_hex);
-use Fcntl qw(O_RDWR O_CREAT);
+use Fcntl qw(O_RDWR O_CREAT O_WRONLY O_EXCL);
use Fcntl ':mode';
use POSIX;
use Cwd 'abs_path';
@@ -482,7 +482,7 @@ sub checkLockFile
'-str' => ["creating lock file <$lockFile>"]);
&::checkDelSymLink($lockFile, $prLog, 0x01);
- open(FILE, '>', $lockFile) or
+ sysopen(FILE, $lockFile, O_WRONLY | O_CREAT | O_EXCL) or
$prLog->print('-kind' => 'E',
'-str' => ["cannot create lock file <$lockFile>"],
'-exit' => 1);