summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitignore4
-rw-r--r--docs/rfc.html10
-rw-r--r--docs/rfc.txt4
-rw-r--r--server/message.go3
-rw-r--r--server/remote.go3
5 files changed, 13 insertions, 11 deletions
diff --git a/.gitignore b/.gitignore
index 0cbf4fd..c1bccff 100644
--- a/.gitignore
+++ b/.gitignore
@@ -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()