Pārlūkot izejas kodu

fix #1576

List IRCv3 CAPs in `NS CLIENTS LIST` output
tags/v2.6.0-rc1
Shivaram Lingamneni 3 gadus atpakaļ
vecāks
revīzija
ab870c2ffe
2 mainītis faili ar 8 papildinājumiem un 0 dzēšanām
  1. 3
    0
      irc/getters.go
  2. 5
    0
      irc/nickserv.go

+ 3
- 0
irc/getters.go Parādīt failu

@@ -9,6 +9,7 @@ import (
9 9
 	"time"
10 10
 	"unsafe"
11 11
 
12
+	"github.com/oragono/oragono/irc/caps"
12 13
 	"github.com/oragono/oragono/irc/languages"
13 14
 	"github.com/oragono/oragono/irc/modes"
14 15
 	"github.com/oragono/oragono/irc/utils"
@@ -74,6 +75,7 @@ type SessionData struct {
74 75
 	deviceID  string
75 76
 	connInfo  string
76 77
 	sessionID int64
78
+	caps      []string
77 79
 }
78 80
 
79 81
 func (client *Client) AllSessionData(currentSession *Session, hasPrivs bool) (data []SessionData, currentIndex int) {
@@ -102,6 +104,7 @@ func (client *Client) AllSessionData(currentSession *Session, hasPrivs bool) (da
102 104
 		if hasPrivs {
103 105
 			data[i].connInfo = utils.DescribeConn(session.socket.conn.UnderlyingConn().Conn)
104 106
 		}
107
+		data[i].caps = session.capabilities.Strings(caps.Cap302, nil, 300)
105 108
 	}
106 109
 	return
107 110
 }

+ 5
- 0
irc/nickserv.go Parādīt failu

@@ -1140,6 +1140,11 @@ func nsClientsListHandler(service *ircService, server *Server, client *Client, p
1140 1140
 		if session.certfp != "" {
1141 1141
 			service.Notice(rb, fmt.Sprintf(client.t("Certfp:      %s"), session.certfp))
1142 1142
 		}
1143
+		for _, capStr := range session.caps {
1144
+			if capStr != "" {
1145
+				service.Notice(rb, fmt.Sprintf(client.t("IRCv3 CAPs:  %s"), capStr))
1146
+			}
1147
+		}
1143 1148
 	}
1144 1149
 }
1145 1150
 

Notiek ielāde…
Atcelt
Saglabāt