From 32f3c69a08385ae084a41e6cbb949c0ed30042f0 Mon Sep 17 00:00:00 2001 From: Shivaram Lingamneni Date: Fri, 4 Dec 2020 04:37:24 -0500 Subject: [PATCH] support certfp import --- irc/import.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/irc/import.go b/irc/import.go index 3f405eb2..98f00f19 100644 --- a/irc/import.go +++ b/irc/import.go @@ -30,6 +30,7 @@ type userImport struct { RegisteredAt int64 `json:"registeredAt"` Vhost string AdditionalNicks []string `json:"additionalNicks"` + Certfps []string } type channelImport struct { @@ -83,9 +84,19 @@ func doImportDBGeneric(config *Config, dbImport databaseImport, credsType Creden log.Printf("invalid username %s: %v", username, err) continue } + var certfps []string + for _, certfp := range userInfo.Certfps { + normalizedCertfp, err := utils.NormalizeCertfp(certfp) + if err == nil { + certfps = append(certfps, normalizedCertfp) + } else { + log.Printf("invalid certfp %s for %s\n", username, certfp) + } + } credentials := AccountCredentials{ Version: credsType, PassphraseHash: []byte(userInfo.Hash), + Certfps: certfps, } marshaledCredentials, err := json.Marshal(&credentials) if err != nil { @@ -104,6 +115,9 @@ func doImportDBGeneric(config *Config, dbImport databaseImport, credsType Creden if len(userInfo.AdditionalNicks) != 0 { tx.Set(fmt.Sprintf(keyAccountAdditionalNicks, cfUsername), marshalReservedNicks(userInfo.AdditionalNicks), nil) } + for _, certfp := range certfps { + tx.Set(fmt.Sprintf(keyCertToAccount, certfp), cfUsername, nil) + } } for chname, chInfo := range dbImport.Channels {