3
0
mirror of https://github.com/pragma-/pbot.git synced 2024-12-23 19:22:40 +01:00
Commit Graph

4739 Commits

Author SHA1 Message Date
Pragmatic Software
1326b0ac5f compiler_vm: major refactor to support VM sockets (AF_VSOCK)
VM socket communication is superior to VM serial communication in
every way. Unfortunately at this time only Linux supports them.
Fortunately, that's 99% of PBot's userbase.

If you're not using Linux or if you're using an older Linux that
does not support VM sockets, the PBot VM scripts will gracefully
fallback to using the serial connection. You may explicitly
disable VM socket connection attempts by setting PBOTVM_CID=0.
2022-02-12 16:06:04 -08:00
Pragmatic Software
563dc8c70a compiler_vm: add-serials now uses HEREDOC for templating 2022-02-10 19:12:23 -08:00
Pragmatic Software
e217fb15d5 doc/VirtualMachine.md: simplify reboot procedure 2022-02-10 16:54:55 -08:00
Pragmatic Software
64c1863f05 doc/VirtualMachine.md: document env overrides for add-serial 2022-02-10 16:37:39 -08:00
Pragmatic Software
df5e288aef compiler_vm: add-serials can be configured with env 2022-02-10 16:30:11 -08:00
Pragmatic Software
d2269a3ca6 compiler_vm: more refactoring to prepare to handle multiple connections 2022-02-10 10:58:56 -08:00
Pragmatic Software
5fc4b9a6dd doc/VirtualMachine.md: remove io=native from disk to speed up snapshots 2022-02-08 12:16:09 -08:00
Pragmatic Software
1c010fe223 compiler_vm: guest-gdb no longer attempts to print undefined functions 2022-02-08 12:12:32 -08:00
Pragmatic Software
871327efb2 compiler_vm: update comments 2022-02-08 10:44:50 -08:00
Pragmatic Software
31aa1d5869 compiler_vm: simplify vm-client; move -lang option to vm-exec 2022-02-08 09:55:00 -08:00
Pragmatic Software
85b9aaddf8 compiler_vm: refactor vm_server 2022-02-07 20:33:24 -08:00
Pragmatic Software
c488b912d2 compiler_vm: update PBOTVM_SERIAL comment 2022-02-06 20:16:37 -08:00
Pragmatic Software
f4a665ef5d compiler_vm: restore default serial TCP port 2022-02-06 20:13:13 -08:00
Pragmatic Software
f9afda0580 doc/VirtualMachine.md: fix env table 2022-02-06 20:08:14 -08:00
Pragmatic Software
0a856e2c18 doc/VirtualMachine.md: remove cache=none 2022-02-06 20:05:33 -08:00
Pragmatic Software
7916930816 compiler_vm: various host improvements
* VM scripts can now be configured via environment variables:

  PBOTVM_DOMAIN, PBOTVM_TIMEOUT, PBOTVM_SERVER, PBOTVM_SERIAL,
  PBOTVM_HEART, PBOTVM_NOREVERT
2022-02-06 20:01:56 -08:00
Pragmatic Software
6b93005808 Increase indentation size 2022-02-06 19:32:34 -08:00
Pragmatic Software
46fdd01ccd compiler_vm: make guest debugging output less verbose 2022-02-06 11:33:21 -08:00
Pragmatic Software
f0dbf8c33a compiler_vm: add ulimits; fix print_last_statement() 2022-02-06 00:24:04 -08:00
Pragmatic Software
0626397dbf Replace -ggdb with -gdwarf-2 so gdb works better
Some recent changes in the default `gdb` debugging format has broken
some gdb functionality, notably the `info macro` command.

Specifying the `dwarf-2` format restores this functionality.
2022-02-04 13:57:09 -08:00
Pragmatic Software
5f3459ba96 doc/VirtualMachine.md: remove external snapshots due to lack of support 2022-02-04 12:25:32 -08:00
Pragmatic Software
41359b0c84 Minor clean-up 2022-01-31 09:12:11 -08:00
Pragmatic Software
a5e5dd5533 compiler_vm: update vm-client 2022-01-29 19:23:36 -08:00
Pragmatic Software
fbb74bbca3 Update doc/VirtualMachine.md 2022-01-29 19:19:32 -08:00
Pragmatic Software
41c2203038 Update doc/VirtualMachine.md 2022-01-29 19:17:30 -08:00
Pragmatic Software
5da8af425a doc/VirtualMachine.md: fix a formatting issue 2022-01-29 19:13:33 -08:00
Pragmatic Software
4b495fa6d3 doc/VirtualMachine.md: fix a formatting issue 2022-01-29 19:12:36 -08:00
Pragmatic Software
804103f34b doc/VirtualMachine.md: fix a formatting issue 2022-01-29 19:11:07 -08:00
Pragmatic Software
de8e261276 Update doc/VirtualMachine.md 2022-01-29 19:09:35 -08:00
Pragmatic Software
e38aa378e9 compiler_vm: add README linking to documentation 2022-01-29 19:02:55 -08:00
Pragmatic Software
b55f675afe compiler_vm: setup-guest now disables networking 2022-01-29 17:44:03 -08:00
Pragmatic Software
575d82dd0e compiler_vm: add polkit rule to require admin password for all actions 2022-01-29 17:29:55 -08:00
Pragmatic Software
4d0e06e111 Fix vm-server 2022-01-29 15:51:39 -08:00
Pragmatic Software
917d9b7c50 Remove extraneous blank lines 2022-01-29 12:30:29 -08:00
Pragmatic Software
fd93ecd6f9 vm-exec: remove redundant PBOT_VM_PORT assignment 2022-01-29 12:24:56 -08:00
Pragmatic Software
f460088331 Refactoring virtual machine (2/3) 2022-01-29 12:22:48 -08:00
Pragmatic Software
07dff29d4a guest-gdb: remove redundant error-checking 2022-01-29 09:50:15 -08:00
Pragmatic Software
55b4ae0c57 Rewrite guest-gdb to use GDB/MI 2022-01-28 20:21:10 -08:00
Pragmatic Software
73700661d0 Rename constants 2022-01-24 18:12:59 -08:00
Pragmatic Software
bca07da986 doc/VirtualMachine.md: remove ToC, minor tweaks 2022-01-23 21:47:33 -08:00
Pragmatic Software
ee41ae5b36 doc/VirtualMachine.md: minor touch-ups 2022-01-23 11:03:03 -08:00
Pragmatic Software
9dff3bed47 Polish doc/VirtualMachine.md a bit 2022-01-23 08:40:19 -08:00
Pragmatic Software
33e13fd993 Start refactoring virtual machine (1/3)
This is expected to take three commits to complete. This first initial
commit does the following:

- Begin initial rough-draft of doc/VirtualMachine.md
- Begin initial refactoring of scripts

The next commit will polish up the initial rough-draft and refactoring.

The final commit will quality-check everything and fix anything overlooked.
2022-01-23 07:49:23 -08:00
Pragmatic Software
550544a0be Update Plang submodule 2022-01-19 14:24:09 -08:00
Pragmatic Software
6810ce7d56 Update Plang submodule 2022-01-18 13:45:17 -08:00
Pragmatic Software
3f5a11e608 Plugin/Plang: fix run-time unhandled exception error reporting 2022-01-18 13:42:06 -08:00
Pragmatic Software
02a600fa32 Plugin/Plang: improve error message of unhandled exceptions 2022-01-18 10:59:56 -08:00
Pragmatic Software
e421f9b6bc Replace U+200b (zwsp) with U+feff (zwnbsp)
U+feff is now used instead of U+200b for nick-dehighlighting.

U+feff is non-breaking; it will not break-up the word when wrapping. It also
appears to be much more widely supported. In fact, some terminals will simply
strip the bytes -- this allows copying the text as-is, etc.

Additionally, an exclude-list was added to prevent dehighlighting of specific
nicknames. This is because several terminals do not fully support Unicode's
zero-width spaces -- they show up as plain spaces. Certain words for the #c
channel have been added to this exclude list since they are also somewhat
popular as nicknames there.
2022-01-18 10:32:21 -08:00
Pragmatic Software
ef04c3eb12 Update Plang submodule 2022-01-16 21:22:16 -08:00
Pragmatic Software
e213656053 Update Plang submodule 2022-01-12 22:41:38 -08:00