defer udp.credLock.Unlock()
if c := udp.credentials; c != nil {
- logRequest(paramSet{cmd: "AUTH", params: paramMap{"user": decrypt(c.username)}})
+ udp.logRequest(paramSet{cmd: "AUTH", params: paramMap{"user": decrypt(c.username)}})
r := udp.AniDBUDP.Auth(
decrypt(c.username),
decrypt(c.password),
decrypt(c.udpKey))
- logReply(r)
+ udp.logReply(r)
err := r.Error()
udp.connected = err == nil
if udp.connected {
- // We can't use SendRecv here as it would deadlock
- ch := make(chan udpapi.APIReply, 1)
- udp.sendQueueCh <- paramSet{
- cmd: "USER",
- params: paramMap{"user": decrypt(c.username)},
- ch: ch,
- }
- reply := <-ch
-
- if reply != nil {
- uid, _ := parseUserReply(reply)
- udp.user = uid.User()
+ if user := UserByName(decrypt(c.username)); user != nil {
+ udp.user = user
+ } else {
+ // We can't use SendRecv here as it would deadlock
+ ch := make(chan udpapi.APIReply, 1)
+ udp.sendQueueCh <- paramSet{
+ cmd: "USER",
+ params: paramMap{"user": decrypt(c.username)},
+ ch: ch,
+ }
+ reply := <-ch
+
+ if reply != nil {
+ uid, _ := parseUserReply(reply)
+ udp.user = uid.User()
+ }
}
}
if adb.udp.connected {
adb.udp.connected = false
- logRequest(paramSet{cmd: "LOGOUT"})
+ adb.udp.logRequest(paramSet{cmd: "LOGOUT"})
return adb.udp.Logout()
}
return nil