Two .write() calls means this decoded to sendto("250 OK"); sendto("\r\n"),
and the same happened to all the other responses

We don't have writev here but we can just expand line, which works perfectly

Downstream: https://github.com/Whonix/onion-grater/pull/14
---
 config/chroot_local-includes/usr/local/lib/onion-grater | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/config/chroot_local-includes/usr/local/lib/onion-grater 
b/config/chroot_local-includes/usr/local/lib/onion-grater
index 7b57d23..0165aea 100755
--- a/config/chroot_local-includes/usr/local/lib/onion-grater
+++ b/config/chroot_local-includes/usr/local/lib/onion-grater
@@ -313,9 +313,9 @@ class FilteredControlPortProxySession:
         if line.isspace():
             return
         self.debug_log_send(line)
-        self.wfile.write(bytes(line, 'ascii'))
         if not raw:
-            self.wfile.write(bytes("\r\n", 'ascii'))
+            line += "\r\n"
+        self.wfile.write(bytes(line, 'ascii'))
         self.wfile.flush()
 
     def get_rule(self, cmd, arg_str):
-- 
2.39.5

Attachment: signature.asc
Description: PGP signature

_______________________________________________
Tails-dev mailing list
[email protected]
https://www.autistici.org/mailman/listinfo/tails-dev
To unsubscribe from this list, send an empty email to 
[email protected].

Reply via email to