Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

## Unreleased

- The privacy check no longer checks the email addresses on the last commit in CI. Merges made on GitHub, and the test merge GitHub builds for a pull request, carry the account's own email, so every pull request failed. Commit names and messages, every tracked file, and the identity of local commits (pre-commit hook) are still checked.
- Plain copy never copies DevDriveBackup's password and recovery key folders or key files, also when one of them is itself a selected folder or file. robocopy skips folders only below the one it copies, so such a selection used to be copied as it was, readable recovery keys included. The run now names it as not copied, and names an older copy of a private folder still in the plain copy so it can be deleted.
- A new source never gets the plain copy or versions folder of a removed source of the same drive. Removed sources keep their folders on the drive, but only connected drives were checked for names in use, so a folder with the same name added while the drive was unplugged wrote into the old copy, and with *Keep deleted* moved the old source's other files aside. A removed folder added again gets its own folders back, unless another source now uses its repository; then it starts with new ones.
- Before a drive check asks for administrator rights, the window checks whether other accounts can change what it runs (its scripts, `smartctl` and its folder) or rename a folder above them, names those accounts and asks first; a junction or link on the way counts too. The check runs the bundled `smartctl.exe` only when its SHA-256 matches the official 7.5 build and keeps it open, readable only, while it runs; **Install health tool** keeps the installer open in the same way from its checksum check until it has run.
Expand Down
4 changes: 3 additions & 1 deletion Test-PrivacyGuard.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,9 @@ if($MessageFile){
Test-Text $e.Path ([Text.UTF8Encoding]::new($false).GetString($bytes))
}
if($Staged){foreach($v in 'GIT_AUTHOR_IDENT','GIT_COMMITTER_IDENT'){Test-Text $v ((Invoke-Git var $v) -replace '\s+\d+\s+[+-]\d{4}$','')}}
else{& git -C $PSScriptRoot rev-parse --verify -q HEAD *>$null;if(-not $LASTEXITCODE){Test-Text 'last commit' ((Invoke-Git log -1 --format='%an <%ae>%n%cn <%ce>%n%B') -join "`n")}}
# The last commit's author and committer emails are not checked: merges on GitHub (and its pull request
# test merges) carry the account's own email, which the owner chose to show. Names and the message still are.
else{& git -C $PSScriptRoot rev-parse --verify -q HEAD *>$null;if(-not $LASTEXITCODE){Test-Text 'last commit' ((Invoke-Git log -1 --format='%an%n%cn%n%B') -join "`n")}}
}

if($findings.Count){
Expand Down