Browse Source

fix #802

tags/v2.2.0-rc1
Shivaram Lingamneni 4 years ago
parent
commit
f73b389ceb
1 changed files with 15 additions and 9 deletions
  1. 15
    9
      irc/server.go

+ 15
- 9
irc/server.go View File

41
 
41
 
42
 	// whitelist of caps to serve on the STS-only listener. In particular,
42
 	// whitelist of caps to serve on the STS-only listener. In particular,
43
 	// never advertise SASL, to discourage people from sending their passwords:
43
 	// never advertise SASL, to discourage people from sending their passwords:
44
-	stsOnlyCaps = caps.NewSet(caps.STS, caps.MessageTags, caps.ServerTime, caps.LabeledResponse, caps.Nope)
44
+	stsOnlyCaps = caps.NewSet(caps.STS, caps.MessageTags, caps.ServerTime, caps.Batch, caps.LabeledResponse, caps.EchoMessage, caps.Nope)
45
 
45
 
46
 	// we only have standard channels for now. TODO: any updates to this
46
 	// we only have standard channels for now. TODO: any updates to this
47
 	// will also need to be reflected in CasefoldChannel
47
 	// will also need to be reflected in CasefoldChannel
214
 	}
214
 	}
215
 
215
 
216
 	if c.isSTSOnly {
216
 	if c.isSTSOnly {
217
-		server.playRegistrationBurst(session)
217
+		server.playSTSBurst(session)
218
 		return true
218
 		return true
219
 	}
219
 	}
220
 
220
 
285
 	return false
285
 	return false
286
 }
286
 }
287
 
287
 
288
+func (server *Server) playSTSBurst(session *Session) {
289
+	nick := utils.SafeErrorParam(session.client.preregNick)
290
+	session.Send(nil, server.name, RPL_WELCOME, nick, fmt.Sprintf("Welcome to the Internet Relay Network %s", nick))
291
+	session.Send(nil, server.name, RPL_YOURHOST, nick, fmt.Sprintf("Your host is %[1]s, running version %[2]s", server.name, "oragono"))
292
+	session.Send(nil, server.name, RPL_CREATED, nick, fmt.Sprintf("This server was created %s", time.Time{}.Format(time.RFC1123)))
293
+	session.Send(nil, server.name, RPL_MYINFO, nick, server.name, "oragono", "o", "o", "o")
294
+	session.Send(nil, server.name, RPL_ISUPPORT, nick, "CASEMAPPING=ascii")
295
+	session.Send(nil, server.name, ERR_NOMOTD, nick, "MOTD is unavailable")
296
+	for _, line := range server.Config().Server.STS.bannerLines {
297
+		session.Send(nil, server.name, "NOTICE", nick, line)
298
+	}
299
+}
300
+
288
 func (server *Server) playRegistrationBurst(session *Session) {
301
 func (server *Server) playRegistrationBurst(session *Session) {
289
 	c := session.client
302
 	c := session.client
290
 	// continue registration
303
 	// continue registration
300
 	session.Send(nil, server.name, RPL_CREATED, d.nick, fmt.Sprintf(c.t("This server was created %s"), server.ctime.Format(time.RFC1123)))
313
 	session.Send(nil, server.name, RPL_CREATED, d.nick, fmt.Sprintf(c.t("This server was created %s"), server.ctime.Format(time.RFC1123)))
301
 	session.Send(nil, server.name, RPL_MYINFO, d.nick, server.name, Ver, rplMyInfo1, rplMyInfo2, rplMyInfo3)
314
 	session.Send(nil, server.name, RPL_MYINFO, d.nick, server.name, Ver, rplMyInfo1, rplMyInfo2, rplMyInfo3)
302
 
315
 
303
-	if c.isSTSOnly {
304
-		for _, line := range server.Config().Server.STS.bannerLines {
305
-			c.Notice(line)
306
-		}
307
-		return
308
-	}
309
-
310
 	rb := NewResponseBuffer(session)
316
 	rb := NewResponseBuffer(session)
311
 	server.RplISupport(c, rb)
317
 	server.RplISupport(c, rb)
312
 	server.Lusers(c, rb)
318
 	server.Lusers(c, rb)

Loading…
Cancel
Save