本文整理汇总了Golang中github.com/twstrike/coyim/config.ApplicationConfig.RawLogFile方法的典型用法代码示例。如果您正苦于以下问题:Golang ApplicationConfig.RawLogFile方法的具体用法?Golang ApplicationConfig.RawLogFile怎么用?Golang ApplicationConfig.RawLogFile使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/twstrike/coyim/config.ApplicationConfig
的用法示例。
在下文中一共展示了ApplicationConfig.RawLogFile方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: importFrom
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
}
示例2: importFrom
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
}
示例3: enroll
func (c *cliUI) enroll(conf *config.ApplicationConfig, currentConf *config.Account) bool {
var err error
c.warn("Enrolling new config file")
var domain string
for {
c.term.SetPrompt("Account (i.e. [email protected], enter to quit): ")
if currentConf.Account, err = c.term.ReadLine(); err != nil || len(currentConf.Account) == 0 {
return false
}
parts := strings.SplitN(currentConf.Account, "@", 2)
if len(parts) != 2 {
c.alert("invalid username (want [email protected]): " + currentConf.Account)
continue
}
domain = parts[1]
break
}
c.term.SetPrompt("Enable debug logging to /tmp/xmpp-client-debug.log? ")
if debugLog, err := c.term.ReadLine(); err != nil || !config.ParseYes(debugLog) {
c.info("Not enabling debug logging...")
} else {
c.info("Debug logging enabled...")
conf.RawLogFile = "/tmp/xmpp-client-debug.log"
}
c.term.SetPrompt("Use Tor?: ")
if useTorQuery, err := c.term.ReadLine(); err != nil || len(useTorQuery) == 0 || !config.ParseYes(useTorQuery) {
c.info("Not using Tor...")
currentConf.Proxies = []string{}
} else {
c.info("Using Tor...")
}
c.term.SetPrompt("File to import libotr private key from (enter to generate): ")
var pkeys []otr3.PrivateKey
for {
importFile, err := c.term.ReadLine()
if err != nil {
return false
}
if len(importFile) > 0 {
privKeyBytes, err := ioutil.ReadFile(importFile)
if err != nil {
c.alert("Failed to open private key file: " + err.Error())
continue
}
var priv otr3.DSAPrivateKey
if !priv.Import(privKeyBytes) {
c.alert("Failed to parse libotr private key file (the parser is pretty simple I'm afraid)")
continue
}
pkeys = append(pkeys, &priv)
break
} else {
c.info("Generating private key...")
pkeys, err = otr3.GenerateMissingKeys([][]byte{})
if err != nil {
c.alert("Failed to generate private key - this implies something is really bad with your system, so we bail out now")
return false
}
break
}
}
currentConf.PrivateKeys = config.SerializedKeys(pkeys)
currentConf.OTRAutoAppendTag = true
currentConf.OTRAutoStartSession = true
currentConf.OTRAutoTearDown = false
// Force Tor for servers with well known Tor hidden services.
if _, ok := servers.Get(domain); ok && currentConf.HasTorAuto() {
const torProxyURL = "socks5://127.0.0.1:9050"
c.info("It appears that you are using a well known server and we will use its Tor hidden service to connect.")
currentConf.Proxies = []string{torProxyURL}
c.term.SetPrompt("> ")
return true
}
var proxyStr string
proxyDefaultPrompt := ", enter for none"
if currentConf.HasTorAuto() {
proxyDefaultPrompt = ", which is the default"
}
c.term.SetPrompt("Proxy (i.e socks5://127.0.0.1:9050" + proxyDefaultPrompt + "): ")
for {
if proxyStr, err = c.term.ReadLine(); err != nil {
return false
}
if len(proxyStr) == 0 {
if !currentConf.HasTorAuto() {
break
} else {
proxyStr = "socks5://127.0.0.1:9050"
}
}
//.........这里部分代码省略.........