Skip to content

Commit 00e57b0

Browse files
authored
Merge pull request #255 from github/mc-multi-user-auth-secret
Add management console argon2 secret to backup/restore settings
2 parents 9c03f28 + e018e4c commit 00e57b0

File tree

4 files changed

+23
-0
lines changed

4 files changed

+23
-0
lines changed

share/github-backup-utils/ghe-backup-settings

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ backup-secret() {
7575
}
7676

7777
backup-secret "management console password" "manage-password" "secrets.manage"
78+
backup-secret "management console argon2 secret" "manage-argon-secret" "secrets.manage-auth.argon-secret"
7879
backup-secret "password pepper" "password-pepper" "secrets.github.user-password-secrets"
7980
backup-secret "kredz.credz HMAC key" "kredz-credz-hmac" "secrets.kredz.credz-hmac-secret"
8081

share/github-backup-utils/ghe-restore-settings

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,9 @@ ghe-restore-packages "$GHE_HOSTNAME" 1>&3
4444
# Restore management console password hash if present.
4545
restore-secret "management console password" "manage-password" "secrets.manage"
4646

47+
# Restore management console argon2 secret if present.
48+
restore-secret "management console argon2 secret" "manage-argon-secret" "secrets.manage-auth.argon-secret"
49+
4750
# Restore kredz.credz HMAC key if present.
4851
restore-secret "kredz.credz HMAC key" "kredz-credz-hmac" "secrets.kredz.credz-hmac-secret"
4952

test/test-ghe-backup.sh

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,17 @@ begin_test "ghe-backup without password pepper"
132132
)
133133
end_test
134134

135+
begin_test "ghe-backup without management console argon2 secret"
136+
(
137+
set -e
138+
139+
git config -f "$GHE_REMOTE_DATA_USER_DIR/common/secrets.conf" secrets.manage-auth.argon-secret ""
140+
ghe-backup
141+
142+
[ ! -f "$GHE_DATA_DIR/current/manage-argon-secret" ]
143+
)
144+
end_test
145+
135146
begin_test "ghe-backup empty git-hooks directory"
136147
(
137148
set -e

test/testlib.sh

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,7 @@ setup_test_data () {
202202
# Create a fake manage password file§
203203
mkdir -p "$GHE_REMOTE_DATA_USER_DIR/common"
204204
git config -f "$GHE_REMOTE_DATA_USER_DIR/common/secrets.conf" secrets.manage "fake password hash data"
205+
git config -f "$GHE_REMOTE_DATA_USER_DIR/common/secrets.conf" secrets.manage-auth.argon-secret "fake argon2 secret"
205206

206207
# Create a fake password pepper file
207208
mkdir -p "$GHE_REMOTE_DATA_USER_DIR/common"
@@ -316,6 +317,7 @@ setup_test_data () {
316317
echo "fake ghe-export-ssl-ca-certificates data" > "$loc/ssl-ca-certificates.tar"
317318
echo "fake license data" > "$loc/enterprise.ghl"
318319
echo "fake password hash data" > "$loc/manage-password"
320+
echo "fake argon2 secret" > "$loc/manage-argon-secret"
319321
echo "fake password pepper data" > "$loc/password-pepper"
320322
echo "rsync" > "$loc/strategy"
321323
echo "$GHE_REMOTE_VERSION" > "$loc/version"
@@ -445,6 +447,9 @@ verify_all_backedup_data() {
445447
# verify manage-password file was backed up
446448
[ "$(cat "$GHE_DATA_DIR/current/manage-password")" = "fake password hash data" ]
447449

450+
# verify manage-argon-secret file was backed up
451+
[ "$(cat "$GHE_DATA_DIR/current/manage-argon-secret")" = "fake argon2 secret" ]
452+
448453
# verify password pepper file was backed up
449454
[ "$(cat "$GHE_DATA_DIR/current/password-pepper")" = "fake password pepper data" ]
450455

@@ -507,6 +512,9 @@ verify_all_restored_data() {
507512
# verify management console password was *not* restored
508513
! grep -q "fake password hash data" "$GHE_REMOTE_DATA_USER_DIR/common/secrets.conf"
509514

515+
# verify management console argon2 secret was *not* restored
516+
! grep -q "fake argon2 secret" "$GHE_REMOTE_DATA_USER_DIR/common/secrets.conf"
517+
510518
# verify common data
511519
verify_common_data
512520
}

0 commit comments

Comments
 (0)