func (x *xmppClientImporter) importFrom(f string) (*config.ApplicationConfig, bool) { contents, err := ioutil.ReadFile(f) if err != nil { return nil, false } c := new(xmppClientConfig) err = json.Unmarshal(contents, c) if err != nil { return nil, false } a := new(config.ApplicationConfig) ac, err := a.AddNewAccount() if err != nil { return nil, false } ac.Account = c.Account ac.Server = c.Server ac.Proxies = c.Proxies ac.Password = c.Password ac.Port = c.Port ac.HideStatusUpdates = c.HideStatusUpdates ac.OTRAutoStartSession = c.OTRAutoStartSession ac.OTRAutoTearDown = c.OTRAutoTearDown ac.OTRAutoAppendTag = c.OTRAutoAppendTag ac.ServerCertificateSHA256 = c.ServerCertificateSHA256 ac.PrivateKeys = [][]byte{c.PrivateKey} ac.AlwaysEncryptWith = c.AlwaysEncryptWith ac.KnownFingerprints = make([]config.KnownFingerprint, len(c.KnownFingerprints)) for ix, kf := range c.KnownFingerprints { fp, err := hex.DecodeString(kf.FingerprintHex) if err != nil { continue } ac.KnownFingerprints[ix] = config.KnownFingerprint{ UserID: kf.UserID, Fingerprint: fp, Untrusted: false, } } ac.RequireTor = len(c.Proxies) > 0 a.NotifyCommand = c.NotifyCommand a.Bell = c.Bell a.RawLogFile = c.RawLogFile a.IdleSecondsBeforeNotification = c.IdleSecondsBeforeNotification return a, true }
func (x *xmppClientImporter) importFrom(f string) (*config.ApplicationConfig, bool) { contents, err := ioutil.ReadFile(f) if err != nil { return nil, false } c := new(xmppClientConfig) err = json.Unmarshal(contents, c) if err != nil { return nil, false } a := new(config.ApplicationConfig) ac, err := a.AddNewAccount() if err != nil { return nil, false } ac.Account = c.Account ac.Server = c.Server ac.Proxies = c.Proxies ac.Password = c.Password ac.Port = c.Port ac.HideStatusUpdates = c.HideStatusUpdates ac.OTRAutoStartSession = c.OTRAutoStartSession ac.OTRAutoTearDown = c.OTRAutoTearDown ac.OTRAutoAppendTag = c.OTRAutoAppendTag ac.LegacyServerCertificateSHA256 = c.ServerCertificateSHA256 ac.PrivateKeys = [][]byte{c.PrivateKey} ac.AlwaysEncryptWith = c.AlwaysEncryptWith ac.Peers = nil for _, kfpr := range c.KnownFingerprints { fp, _ := hex.DecodeString(kfpr.FingerprintHex) fpr, _ := ac.EnsurePeer(kfpr.UserID).EnsureHasFingerprint(fp) fpr.Trusted = true } a.NotifyCommand = c.NotifyCommand a.Bell = c.Bell a.RawLogFile = c.RawLogFile a.IdleSecondsBeforeNotification = c.IdleSecondsBeforeNotification return a, true }