mirror of
https://github.com/ergochat/ergo.git
synced 2024-11-11 06:29:29 +01:00
support certfp import
This commit is contained in:
parent
3aeac42978
commit
32f3c69a08
@ -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 {
|
||||
|
Loading…
Reference in New Issue
Block a user