Archived
1
0

tell about banned articles when handling ARTICLE

This commit is contained in:
Jeff 2018-10-27 06:59:23 -04:00
parent 0ae8107138
commit 9cecd94fc2

View File

@ -759,18 +759,23 @@ func (self *nntpConnection) handleLine(daemon *NNTPDaemon, code int, line string
}
}
}
if ValidMessageID(msgid) && daemon.store.HasArticle(msgid) {
// we have it yeh
f, err := daemon.store.OpenMessage(msgid)
if err == nil {
conn.PrintfLine("220 %s", msgid)
dw := conn.DotWriter()
_, err = io.Copy(dw, f)
dw.Close()
f.Close()
} else {
// wtf?!
conn.PrintfLine("503 idkwtf happened: %s", err.Error())
if ValidMessageID(msgid) {
if daemon.database.IsBanned(msgid) {
// article banned
conn.PrintfLine("439 %s article banned from server", msgid)
} else if daemon.store.HasArticle(msgid) {
// we have it yeh
f, err := daemon.store.OpenMessage(msgid)
if err == nil {
conn.PrintfLine("220 %s", msgid)
dw := conn.DotWriter()
_, err = io.Copy(dw, f)
dw.Close()
f.Close()
} else {
// wtf?!
conn.PrintfLine("503 idkwtf happened: %s", err.Error())
}
}
} else {
// we dont got it