diff options
| -rw-r--r-- | .gitignore | 4 | ||||
| -rw-r--r-- | docs/rfc.html | 10 | ||||
| -rw-r--r-- | docs/rfc.txt | 4 | ||||
| -rw-r--r-- | server/message.go | 3 | ||||
| -rw-r--r-- | server/remote.go | 3 |
5 files changed, 13 insertions, 11 deletions
@@ -1,3 +1,3 @@ -test.db -test.db-journal +*.db +*.db-journal *.pem
\ No newline at end of file diff --git a/docs/rfc.html b/docs/rfc.html index 03c7a96..8d412d0 100644 --- a/docs/rfc.html +++ b/docs/rfc.html @@ -1220,7 +1220,7 @@ li > p:last-of-type:only-child { </tr></thead> <tfoot><tr> <td class="left">bt</td> -<td class="center">Expires 17 November 2026</td> +<td class="center">Expires 27 November 2026</td> <td class="right">[Page]</td> </tr></tfoot> </table> @@ -1233,12 +1233,12 @@ li > p:last-of-type:only-child { <dd class="internet-draft">SOLEC</dd> <dt class="label-published">Published:</dt> <dd class="published"> -<time datetime="2026-05-16" class="published">16 May 2026</time> +<time datetime="2026-05-26" class="published">26 May 2026</time> </dd> <dt class="label-intended-status">Intended Status:</dt> <dd class="intended-status">Experimental</dd> <dt class="label-expires">Expires:</dt> -<dd class="expires"><time datetime="2026-11-17">17 November 2026</time></dd> +<dd class="expires"><time datetime="2026-11-27">27 November 2026</time></dd> <dt class="label-authors">Author:</dt> <dd class="authors"> <div class="author"> @@ -1274,7 +1274,7 @@ SOLEC system.<a href="#section-abstract-1" class="pilcrow">¶</a></p> time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."<a href="#section-boilerplate.1-3" class="pilcrow">¶</a></p> <p id="section-boilerplate.1-4"> - This Internet-Draft will expire on 17 November 2026.<a href="#section-boilerplate.1-4" class="pilcrow">¶</a></p> + This Internet-Draft will expire on 27 November 2026.<a href="#section-boilerplate.1-4" class="pilcrow">¶</a></p> </section> </div> <div id="copyright"> @@ -1769,7 +1769,7 @@ different auth method will be used.<a href="#section-2.4.3.1-1" class="pilcrow"> <tbody> <tr> <td class="text-left" rowspan="1" colspan="1">string</td> - <td class="text-left" rowspan="1" colspan="1">username</td> + <td class="text-left" rowspan="1" colspan="1">user_address</td> </tr> <tr> <td class="text-left" rowspan="1" colspan="1">string</td> diff --git a/docs/rfc.txt b/docs/rfc.txt index 394b4c2..d617ed7 100644 --- a/docs/rfc.txt +++ b/docs/rfc.txt @@ -1,7 +1,7 @@ SOLEC Working Group bt, Ed. Internet-Draft RCTT.net -Intended status: Experimental 24 May 2026 -Expires: 25 November 2026 +Intended status: Experimental 26 May 2026 +Expires: 27 November 2026 System of Lightweight Electronic Communication diff --git a/server/message.go b/server/message.go index 801a4cf..a529025 100644 --- a/server/message.go +++ b/server/message.go @@ -111,12 +111,13 @@ func (s *Server) handleOutboundMessage(addr core.Addr, msg core.Message) error { func (s *Server) handleUserMessage(addr core.Addr, sender net.Conn, msg core.Message) error { s.usersMu.RLock() + defer s.usersMu.RUnlock() + user, ok := s.users[addr.String()] if !ok { log.Println("user not found") return core.Send(sender, core.Error{core.ErrorNotFound}) } - s.usersMu.RUnlock() return user.Send(sender, msg) } diff --git a/server/remote.go b/server/remote.go index 70e4734..0a782e3 100644 --- a/server/remote.go +++ b/server/remote.go @@ -26,11 +26,12 @@ func (s *Server) handleServerConn(conn net.Conn) { } s.serversMu.RLock() + defer s.serversMu.RUnlock() + if _, ok := s.servers[name]; ok { log.Println("server already connected") return } - s.serversMu.RUnlock() rs := NewRemoteServer(name, conn) s.serversMu.Lock() |
