Commit graph

18 commits

Author SHA1 Message Date
Daniel Eklöf
e751227dc6
client: allocate current working directory buffer dynamically 2020-02-20 18:45:42 +01:00
Daniel Eklöf
b5efe984bb
slave: prefix argv[0] with a '-' when spawning a login-shell 2020-02-20 18:36:09 +01:00
Daniel Eklöf
8dee9bf942
client: add --login-shell command line option 2020-02-20 18:34:51 +01:00
Daniel Eklöf
82b8853f17
main: add --print-pid=FILE|FD
When specified, our PID is written to the specified file (or FD),
after we've successfully started up.
2020-02-05 19:54:16 +01:00
Daniel Eklöf
277735db65
client/server: client sends its CWD to server 2019-12-21 19:56:37 +01:00
Daniel Eklöf
a0fcec3a3d
log: caller can control syslog level 2019-12-17 19:07:28 +01:00
Daniel Eklöf
c186f3dc0e
client: strncpy() size limit must be less than destination size 2019-12-14 13:14:24 +01:00
Daniel Eklöf
b2f72d470a
client: add missing break after handling -t,--term 2019-12-14 13:07:33 +01:00
Daniel Eklöf
4102f9d478
client: add 's:' to the list of recognized short options 2019-12-14 13:07:19 +01:00
Daniel Eklöf
c0a9cf7767
client: initialize/deinitialize the logging system 2019-12-14 13:01:21 +01:00
Daniel Eklöf
c5875bf97c
client: add -s,--server-socket command line option
This allows the user to override the default
path (XDG_RUNTIME_DIR/foot.sock) we try to connect to.
2019-12-14 13:00:48 +01:00
Daniel Eklöf
9abc5ca971
server/client: harden reading of initialization data, and make async
* Client terminal initialization data is now received
  asynchronously. To facilitate this, a couple of minor changes to the
  protocol was made:
    - The client now starts with sending a 4-byte unsigned integer
      with the *total* size of the initialization data (*not*
      including the size field itself.
    - Strings (TERM variable + argv) are now sent NULL-terminated

* The server allocates a single buffer, and fills it
  asynchronously. When full (as indicated by the initial 'total size'
  integer), we parse it (taking care not to read outside boundaries
  etc, and verifies the lengths (of the TERM variable and argv array)
  indicated by the client matches the actual lengths of the strings
  received.

* The server now ignores 'unexpected' data received from the client,
  after the terminal has been instantiated.
2019-11-05 10:08:30 +01:00
Daniel Eklöf
17024b4431
client: bug: verify argv was sent correctly
We checked we had written 2 bytes (sizeof(len)), not <len> bytes.
2019-11-02 00:01:16 +01:00
Daniel Eklöf
570b3ac25a
client: add debug logging of argc/argv 2019-11-02 00:01:08 +01:00
Daniel Eklöf
2544e93c0e
client: register signal handler for SIGTERM too 2019-11-01 21:13:37 +01:00
Daniel Eklöf
438d6eaff0
client/server: add -t,--term to footclient 2019-11-01 21:10:47 +01:00
Daniel Eklöf
77ea7fc61c
client: add long options for --verbose and --help 2019-11-01 20:50:00 +01:00
Daniel Eklöf
6637c8aeda
client: a standalone binary that connects to a foot --server 2019-11-01 20:39:34 +01:00