summaryrefslogtreecommitdiff
path: root/server
diff options
context:
space:
mode:
authorcitrons <citrons@mondecitronne.com>2025-06-09 12:58:52 -0500
committercitrons <citrons@mondecitronne.com>2025-06-09 12:58:52 -0500
commitdc957f6bb77c9d89b52f22b605f79f7be110f546 (patch)
treed8956645e2926e4e649d1c8949b36c01158dfecf /server
parent51a671c2687b8f67768efd1de82acd33e0579e2b (diff)
replies
Diffstat (limited to 'server')
-rw-r--r--server/channel/command.go8
-rw-r--r--server/validate/validate.go2
2 files changed, 8 insertions, 2 deletions
diff --git a/server/channel/command.go b/server/channel/command.go
index e645055..05a1c7a 100644
--- a/server/channel/command.go
+++ b/server/channel/command.go
@@ -17,9 +17,15 @@ func (c *Channel) SendRequest(r session.Request) {
m := r.Cmd.Args[0]
switch m.Kind {
case "m":
- for k, _ := range m.Fields {
+ for k, v := range m.Fields {
switch k {
case "":
+ case "reply":
+ _, ok := c.byId[v]
+ if !ok {
+ r.Reply(proto.Fail{"bad-reply", "", nil}.Cmd())
+ return
+ }
default:
r.ReplyInvalid()
return
diff --git a/server/validate/validate.go b/server/validate/validate.go
index 9b3ff0d..7aa7db0 100644
--- a/server/validate/validate.go
+++ b/server/validate/validate.go
@@ -6,7 +6,7 @@ import (
)
func Name(name string) bool {
- if len(Fold(name)) == 0 || len(name) > 256 {
+ if len(Fold(name)) == 0 || len(name) > 64 {
return false
}
for _, r := range name {