0

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
  • Aren't you yourself the author of the compiler? Your profile claims you to be. – JdeBP Jan 31 '20 at 16:26
  • Amend question to clarify -- Is this (a server) communicating over the network (i.e. not terminal)? What language? It it telnet protocol, or some other simple protocol? Can you show minimal code: e.g. listen, accept, write. – ctrl-alt-delor Jan 31 '20 at 17:30
  • I am the author of the compiler - that was compiled via another compiler @JbeBP – Ozz Nixon Jan 31 '20 at 22:03
  • This is a daemon, which can be launched at command line (Windows, Linux or Mac). Or as a Daemon/Service. CentOS 7 started using systemctl as its replacement to init.d services. I migrated to the a year ago... 2 weeks ago this started happening. @ctrl-alt-delor – Ozz Nixon Jan 31 '20 at 22:04
  • It is a BBS - which uses basic Telnet IAC and ANSI negotiation. Code is simple:

    Socket.Write(#176) ... but I see on the tcpdump '?' instead of character #176.

    – Ozz Nixon Jan 31 '20 at 22:06

0 Answers0