Pragmatic Software
4b5d8aa535
pbot-vm: use %02X for escapes; do not escape \x03 (for IRC colors)
2022-04-08 13:12:37 -07:00
Pragmatic Software
acbebddacc
applets/ty.py: URL-encode form data
2022-04-08 09:10:07 -07:00
Pragmatic Software
3d311296eb
pbot-vm: output postprocessing: escape control characters/unprintable characters
2022-04-07 18:24:57 -07:00
Pragmatic Software
690c5f5c44
pbot-vm: Add newline to output only if output does not already have a newline
2022-04-07 18:21:54 -07:00
Pragmatic Software
3375580a2d
pbot-vm: fix parsing of quoted text within GDB/MI
2022-04-06 10:53:07 -07:00
Pragmatic Software
7b9971294a
Add Ty applet
2022-04-06 09:09:20 -07:00
Pragmatic Software
1c57e01fad
pbot-vm: escape malformed Unicode on STDOUT
2022-04-04 22:32:53 -07:00
Pragmatic Software
110912e85d
pbot-vm: use coderef to simplify escaping of malformed Unicode
2022-04-04 22:10:50 -07:00
Pragmatic Software
5bc47b61d9
pbot-vm: display escaped malformed Unicode in output instead of U+FFFD
2022-04-04 21:54:39 -07:00
Pragmatic Software
757088987d
pbot-vm: fix invalid character encountered in JSON string
2022-04-04 21:41:27 -07:00
Pragmatic Software
4535881898
pbot-vm: fix whitespace issue with "string"[n]
2022-04-04 17:17:57 -07:00
Pragmatic Software
8381fc7ad2
c99/c11 commands can now take -text
option to filter output
2022-04-04 10:42:42 -07:00
Pragmatic Software
03fb901291
pbot-vm: fix potential time-out when outputting 0
...
If the output from a code snippet is `0` without a newline,
Perl treats this as a false value. When Guest::process_command()
returns a false value, that signals to guest-server::serial_server()
that it is the parent returning and so it will not send the result back
to the host.
However, `0\n` is a true value. Solution: always append a final newline to
the guest output.
2022-03-31 19:52:46 -07:00
Pragmatic Software
1f3110075a
pbot-vm: fix clang2x
2022-03-19 21:50:43 -07:00
Pragmatic Software
02ca5e4435
pbot-vm: add C2X language files; default cc
to C2X
2022-03-19 21:31:58 -07:00
Pragmatic Software
fcb39511c3
pbot-vm: restore stdin for default languages
2022-03-16 12:18:11 -07:00
Pragmatic Software
01cefe462f
pbot-vm: fix occasional "illegal escape sequence" in guest-gdb
2022-03-15 13:53:34 -07:00
Pragmatic Software
46ccc1fb70
pbot-vm: prevent [Exit 1] output with compiler errors
2022-03-06 14:07:28 -08:00
Pragmatic Software
3e2204a6b0
pbot-vm: improve exit-code handling
2022-03-06 13:51:33 -08:00
Pragmatic Software
02cc7fc488
Refactor UrlTitles plugin
...
Moved logic from get_title.pl applet to plugin.
Removed get_title.pl applet.
ProcessManager::execute_process() can now take a reader subref.
2022-02-27 16:58:01 -08:00
Pragmatic Software
66856441e4
pbot-vm: do not decode non-printable characters
2022-02-24 12:55:27 -08:00
Pragmatic Software
76fd5f5fd7
pbot-vm: fix encoding issues; misc clean-ups
2022-02-24 10:39:15 -08:00
Pragmatic Software
55b203126c
Fix typo in comment
2022-02-18 12:46:33 -08:00
Pragmatic Software
8b5428f77b
pbot-vm: vm-exec -lang=?
once again lists languages without needing <code> argument
2022-02-18 12:45:28 -08:00
Pragmatic Software
3fdfb789df
pbot-vm: Fix add_option()
2022-02-15 11:40:06 -08:00
Pragmatic Software
951b771b9c
pbot-vm: vm-exec can now select VM; can be configured by vm-exec.json file
...
The vm-exec command now recognizes the following options:
-vm-serial -vm-heart -vm-cid -vm-vport -vm
The -vm option accepts a name and configures the serial,
heart, cid and vport appropriately.
The vm-exec command can be configured by /host/config/vm-exec.json.
2022-02-15 11:28:47 -08:00
Pragmatic Software
3cfedcf3b8
Rename compiler_vm to pbot-vm and other misc applet updates
2022-02-14 16:33:29 -08:00
Pragmatic Software
4316f26797
compiler_vm: begin refactoring lib/Languages
...
This initial refactor commit starts with Languages/_default.pm. It moves
several things to their own packages: Paste, InteractiveEdit, SplitLine.
All of these packages will soon be further refactored or rewritten.
2022-02-14 11:18:49 -08:00
Pragmatic Software
df625ef14e
compiler_vm: very minor edit to vm-exec header
2022-02-14 09:50:44 -08:00
Pragmatic Software
76eff85241
compiler_vm: refactor and clean-up vm_exec
2022-02-14 09:47:16 -08:00
Pragmatic Software
0f067ea577
compiler_vm: rename vm-host-watchdog -> vm-watchdog
2022-02-14 09:12:19 -08:00
Pragmatic Software
d609206be8
compiler_vm: refactor some things related to vm-exec
2022-02-13 22:01:06 -08:00
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
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
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
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
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
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
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
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
rlcamp
3e4d034c93
Added pick and roll. Fixed "nano[anything]" being parsed as nan. Backed off printed precision for large reals ( #66 )
...
- Added pick and roll
- Fixed "nano[anything]" being parsed as nan
- Backed off printed precision for large reals
2021-12-10 08:41:40 -08:00
Pragmatic Software
eef431af10
Fix path
2021-11-25 16:47:26 -08:00
Pragmatic Software
3d97dc2c33
Rename "modules" to "applets"
...
"Applet" is a much better name for the external command-line
scripts and programs that can be loaded as PBot commands. They
will no longer be confused with Perl modules.
https://en.wikipedia.org/wiki/Applet
2021-11-19 18:05:50 -08:00