I have written a socket based BBS package. If I run the binary from the command line: /usr/local/bin/coderunner then client sessions see highbit characters correctly. However, if I run systemctl start coderunner, all highbit characters come out as '?' question marks.
I have spoke with the authors of the compiler, the only suggestions that make sense if somehow systemctl is effecting the string library. I have tried to display the $LOCALE, $LANG ... I do not see any difference.
I have ran wireshark/tcpdump - again, running manually from the CLI, I see the CP437 graphic characters, and when running under systemctl, I see '?' in the output stream.
- The other odd side effect is, this just started about 2 weeks ago - prior to that, I have been running under systemctl without issue. I have not changed the compiler.
Any suggestions of how to resolve this?
[Unit]
Description=The Modern Pascal Code Running Socket Server
After=network.target
[Service]
Type=simple
PIDFile=/run/coderunner2.pid
EnvironmentFile=-/etc/coderunner2.conf
ExecStartPre=/usr/bin/rm -f /run/coderunner2.pid
ExecStart=/usr/local/bin/coderunner2
##ExecStart=/usr/local/bin/coderunner2.sh
ExecReload=/bin/kill -s HUP $MAINPID
KillSignal=SIGQUIT
TimeoutStopSec=5
KillMode=process
PrivateTmp=true
Restart=on-failure
RestartSec=42s
StandardOutput=null
[Install]
WantedBy=multi-user.target
Socket.Write(#176) ... but I see on the tcpdump '?' instead of character #176.
– Ozz Nixon Jan 31 '20 at 22:06