rebel-readline-nrepl is sending wrong first byte
I have a nREPL server with TLS on port 9301. I'm trying to connect to it from the same machine using rebel-readline-nrepl. Here's my `.clojure/deps.edn`:
```edn
{
:aliases {
:nrebel {
:extra-deps {com.bhauman/rebel-readline-nrepl {:mvn/version "0.1.5"}}
:exec-fn rebel-readline.nrepl/connect
:exec-args {:key-map :viins
:port 9301
:tls-keys-file "/home/appdev/client.keys"}
:main-opts ["-m" "rebel-readline.nrepl.main"]
}
}
}
```
After I run `clojure -T:nrebel` it fails with this error:
```
Execution error (SocketException) at sun.security.ssl.SSLSocketImpl$AppOutputStream/write (SSLSocketImpl.java:1297).
Connection or outbound has closed
```
On the server, I get this error:
```
ERROR:
clojure.lang.ExceptionInfo: nREPL message must be a map.
Wrong first byte: 22 (must be 100). {}
at nrepl.bencode$read_nrepl_message.invokeStatic(bencode.clj:278)
at nrepl.bencode$read_nrepl_message.invoke(bencode.clj:271)
at nrepl.transport$bencode$fn__12450$fn__12451.invoke(transport.clj:130)
at nrepl.transport$bencode$fn__12450.invoke(transport.clj:130)
at nrepl.transport$fn_transport$reify__12402$fn__12403.invoke(transport.clj:51)
at nrepl.transport$fn_transport$reify__12402.run(transport.clj:50)
```
If I use a different nREPL client there are no issues. Example:
```
clj -Sdeps '{:deps {nrepl/nrepl {:mvn/version "1.3.1"}}}' -M -m nrepl.cmdline --connect --port 9301 --tls-key-file /home/appdev/client.keys
nREPL 1.3.1
Clojure 1.12.0
Eclipse OpenJ9 VM 21.0.6+7-LTS
Interrupt: Control+C
Exit: Control+D or (exit) or (quit)
user=>
```
关闭于 2025-04-30 1 条评论