Page MenuHomePhabricator

D10804.id25929.diff
No OneTemporary

D10804.id25929.diff

diff --git a/resources/sql/autopatches/20141107.phriction.popkeys.php b/resources/sql/autopatches/20141107.phriction.popkeys.php
new file mode 100644
--- /dev/null
+++ b/resources/sql/autopatches/20141107.phriction.popkeys.php
@@ -0,0 +1,29 @@
+<?php
+
+$table = new PhrictionDocument();
+$conn_w = $table->establishConnection('w');
+
+echo "Populating Phriction mailkeys.\n";
+
+foreach (new LiskMigrationIterator($table) as $doc) {
+ $id = $doc->getID();
+
+ $key = $doc->getMailKey();
+ if ((strlen($key) == 20) && (strpos($key, "\0") === false)) {
+ // To be valid, keys must have length 20 and not contain any null bytes.
+ // See T6487.
+ echo "Document has valid mailkey.\n";
+ continue;
+ } else {
+ echo "Populating mailkey for document {$id}...\n";
+ $mail_key = Filesystem::readRandomCharacters(20);
+ queryfx(
+ $conn_w,
+ 'UPDATE %T SET mailKey = %s WHERE id = %d',
+ $table->getTableName(),
+ $mail_key,
+ $id);
+ }
+}
+
+echo "Done.\n";

File Metadata

Mime Type
text/plain
Expires
Tue, Oct 29, 6:51 PM (2 w, 5 d ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
6717160
Default Alt Text
D10804.id25929.diff (1004 B)

Event Timeline