Pragmatic Software
6722fd7f8d
Store user passwords as salted hash digests
...
This was way overdue. User passwords are no longer stored as cleartext.
When PBot is restarted after applying this commit, all stored passwords will
be converted to salted hash digests.
The `useradd`, `userset` and `my` commands will now hash passwords.
Why did it take me so long to finally get around to hashing passwords
properly, you might ask. The reason why this wasn't done sooner is because
all of my users used hostmask-based `autologin`. The passwords that PBot
randomly generated were ignored and never used.
I do regret that it took me so long to get around to this, for those of you
who might be using custom passwords instead of hostmask-based `autologin`.
2024-06-22 22:38:15 -07:00
Pragmatic Software
784c2508e5
c2english/CGrammar: fix translation of [static n]
in array parameters
2024-06-12 14:22:26 -07:00
Pragmatic Software
0786ee03a3
applets/wiktionary.pl: show disambiguation when word is not found
...
Requires latest version of https://github.com/pragma-/WiktionaryParser
2024-06-08 14:24:20 -07:00
Pragmatic Software
da75397b51
applets/wiktionary.pl: show list of languages when entry is not found
...
Requires latest version of https://github.com/pragma-/WiktionaryParser
2024-06-08 09:12:20 -07:00
Pragmatic Software
9b1687d46c
applets/wiktionary.pl: add error-checking
2024-06-08 07:24:50 -07:00
Pragmatic Software
04209e4b7e
Interpreter: restore preserve_escapes in make_args() to fix sed
...
Update factoids
2024-06-03 09:07:53 -07:00
Pragmatic Software
80f9ea1acd
Interpreter: escaped spaces behave better
2024-05-26 17:44:59 -07:00
Pragmatic Software
c6e1da1706
Plugin/Wordle: preserve correct letters in list; add american-uncommon
2024-05-16 13:33:10 -07:00
Pragmatic Software
c62b6b9a75
Functions: fix help
function signature
2024-05-09 16:10:06 -07:00
Pragmatic Software
40aa37bc7c
Plugin/Wordle: Wordle improvements
...
- refactor `wordlists` into structure with more details
- added `name` field for language names
- added `prompt` field for localized "Guess the word!" prompt
- added `supp` field for supplemental wordlists
(used to add words to list for guessing, e.g. urban with insane supplement
allows initial word selection from urban list and then adds words from
insane list for more options for guessing)
- moved accents into added `accents` field
- added `min_length` and `max_length` fields for lists that are different
from default lengths
- misc minor adjustments
2024-04-29 03:15:05 -07:00
Pragmatic Software
8e3652bc8e
pbot-vm: gdb() needs __asm__() instead of asm()
2024-04-17 00:37:36 -07:00
Pragmatic Software
ddeeb5da0f
pbot-vm: update de-optimization for gdb() function
2024-04-16 23:41:37 -07:00
Pragmatic Software
e4cb6ceff6
pbot-vm: simplify network
script slightly
2024-04-12 13:12:41 -07:00
Pragmatic Software
111f3bd2e7
pbot-vm: consolidate network enable/disable into one script
2024-04-12 13:07:27 -07:00
Pragmatic Software
cc1445be90
Update applets/cdecl.pl command and add cdecl to Dockerfile
2024-04-10 13:32:16 -07:00
Pragmatic Software
e25bde159f
pbot-vm: ignore -health and -revert used simultaneously to prevent double-revert
2024-04-10 12:53:37 -07:00
Pragmatic Software
17b69f04ff
pbot-vm: massive refactor
...
* replace heartbeat with health-check
* instead of steady stream of newlines every 5s, now awaits input
and responds with `vmstat` output
* more reliably use host/config/vm-exec.json to get libvirt domain name
for snapshot-revert, server address, serial ports, vagrant setting, etc
* use iptables/nftables to disable networking
* added guest/bin/disable-network-[iptables,nftables]
* added guest/bin/enable-network-[iptables,nftables]
* replace ugly ___OUTPUT___ texts in sh, bash, ksh, zsh languages
* documentation updates and tweaks
2024-04-10 01:21:18 -07:00
Pragmatic Software
5d3f188a09
Multiple bugfixes
...
* obtain bot nick from connection details instead of registry where appropriate
* irc.random_nick works again
* record own hostmask when connecting
* fix web-paste truncation by subtracting length of own hostmask from message length
* set irc.max_msg_len back to 510
* updated IRC numeric 378 to whoishost
* add sprunge.us to WebPaste
2024-04-07 20:55:04 -07:00
Pragmatic Software
94b7706358
Plugin/Wordle: add Urban Dictionary words (filtered to >100 thumbs-up, no excessive consecutive letters, etc)
2024-04-07 17:20:59 -07:00
Pragmatic Software
2547f035a1
pbot-vm: add experimental Vagrant provisioning
2024-04-04 03:41:58 -07:00
Pragmatic Software
09aed30893
pbot-vm: add PBOTVM_ADDR env var to set address of vm-server
2024-03-31 17:36:36 -07:00
Pragmatic Software
4df50dc340
Docker/README.md: add section headers
2024-03-31 15:23:30 -07:00
Pragmatic Software
446857ffbf
pbot-vm: provision non-interactively
2024-03-30 20:48:45 -07:00
Pragmatic Software
0829265ef8
pbot-vm: setup-guest
auto-detects OS/distro and runs provisioning scripts
2024-03-30 19:41:50 -07:00
Pragmatic Software
91f8547aed
pbot-vm: add Tumbleweed orchestration script
...
Fix Java language missing `/bin/sh` in execute()
Update brainfck language to use `bff`
2024-03-30 16:49:09 -07:00
Pragmatic Software
f8a739a688
doc/VirtualMachine.md: fix typo
2024-03-27 14:35:21 -07:00
Pragmatic Software
59090b39e7
pbot-vm: update VirtualMachine.md with improved PTY console install instructions and misc tweaks
2024-03-27 14:21:32 -07:00
Pragmatic Software
5c185486e8
Plugin/Wordle: removed unidecode normalization; added Finnish
2024-03-17 21:08:50 -07:00
Pragmatic Software
51fb92bc39
Plugin/Wordle: add Polish wordlist
2024-03-17 18:39:09 -07:00
Pragmatic Software
8970978444
data/wordle: update German words to modern dialect
2024-03-16 19:43:50 -07:00
Pragmatic Software
a67a4078e4
Update cpanfile
2024-03-16 17:32:37 -07:00
Pragmatic Software
753773f06b
Plugin/Wordle: add accented words and German nouns
...
Accented words will be unidecoded to Latin letters so letter list remains A-Z.
German words will include proper nouns since I had no easy way to distinguish
them from regular nouns.
2024-03-16 17:29:09 -07:00
Pragmatic Software
348465b034
data/commands: add preserve_whitespace to wordle
...
Plugin/Wordle: remove debug message
2024-03-16 16:31:29 -07:00
Pragmatic Software
bde06990fe
Plugin/Wordle: colorize ouput and add wordlists
2024-03-16 16:14:07 -07:00
Pragmatic Software
c62b4d1c35
Imports: disable deprecation warnings
...
I will be monitoring deprecations and will update PBot as necessary.
2024-03-15 02:48:17 -07:00
Pragmatic Software
19f53cde10
applets/lookupbot.pl: remove -T taint mode (breaks local::lib)
2024-03-10 12:34:42 -07:00
Pragmatic Software
5d3507421e
Plugin/Wordle: fix not detecting duplicate letters
2024-03-09 20:29:25 -08:00
Pragmatic Software
26a2b36122
Plugin/UrlTitles: improve logic of show_url_titles
2024-03-09 19:37:17 -08:00
Pragmatic Software
ca7670da3d
Plugin/Wordle: add letters
subcommand to display good/unknown letters
2024-03-09 15:42:59 -08:00
Pragmatic Software
fa29212bc3
Plugin/Wordle: add ability to start custom Wordles
2024-03-07 15:59:46 -08:00
Pragmatic Software
e251ccb7a1
Plugin/Wordle: misc improvements:
...
* remove initial "? ? ? ? ?" text after first guess
* show count of guesses when solved
* remove "Wordle: " text
2024-03-07 10:20:53 -08:00
Pragmatic Software
d8a67ae0c5
Plugin/Wordle: silence uninitialized warning
2024-03-07 09:09:59 -08:00
Pragmatic Software
440a72c71e
Plugin/Wordle: minor refactor
2024-03-07 08:59:41 -08:00
Pragmatic Software
435faaa18c
Add Wordle plugin; update games section of README
2024-03-07 03:17:07 -08:00
Pragmatic Software
7d3cd3f215
Plugin/Spinach: fix subroutine signatures
2024-03-06 15:07:09 -08:00
Pragmatic Software
1cb6a114b8
Plugin/Battleship: fix bomb input constraints
...
Players who have been removed or have lost can no longer attack.
Fix attack range checks.
2024-03-05 22:00:55 -08:00
Pragmatic Software
4b5e3d0d41
Plugin/Battleship: fix show_battlefield() sub signature
2024-03-05 21:01:32 -08:00
Pragmatic Software
d4880854db
Plugin/WordMorph: add search subcommand to find words by regex
2024-02-22 18:56:52 -08:00
Pragmatic Software
eb5b1540d5
Plugins/WordMorph: custom
optionally accepts number of steps instead of second word
2024-01-26 19:01:42 -08:00
Pragmatic Software
7347fef521
EventQueue: minor whitespace correction
2023-11-14 10:44:43 -08:00
Pragmatic Software
afa124e0d3
Commands/ChanOp: Group multiple unbans/unmutes together into one command
2023-11-14 10:42:16 -08:00
Pragmatic Software
7b69980eff
Plugin/Plang: update output_value() to accept scope argument
2023-11-09 20:42:20 -08:00
Pragmatic Software
451c6ace2e
Plugin/Connect4: make send_message() delay argument optional
2023-09-28 13:28:23 -07:00
Pragmatic Software
2096df16d6
Factoids: process regex factoids when implicitly invoked
2023-09-24 11:24:20 -07:00
Pragmatic Software
5ffde32d46
Factoids: disregard error messages when not explicitly invoked
2023-09-23 13:52:10 -07:00
Pragmatic Software
53e990bd32
applets/c2english: correct order of pointers in direct abstract declarators
2023-09-21 17:33:33 -07:00
Pragmatic Software
eb301ea948
applets/c2english: fix switch case labels
2023-09-21 16:53:21 -07:00
Pragmatic Software
fe3e7c80cb
Interpreter: disallow /msg from vm-client
2023-08-19 16:36:26 -07:00
Pragmatic Software
64b4d8a53c
Handlers/Server: fix constant look-up (was previously moved from hash to constant)
2023-07-30 16:46:04 -07:00
Pragmatic Software
d4cc3bf7f2
Plugin/ActionTrigger: handle QUIT triggers per-channel
2023-07-19 00:23:54 -07:00
Pragmatic Software
58ac29c4db
Plugin/UrlTitles: add title to "ignored title" log message
2023-06-13 23:22:43 -07:00
Pragmatic Software
bfa08ee8d6
Plugin/UrlTitles: add logging to reveal why some URLs are disregarded
2023-06-13 23:19:21 -07:00
Pragmatic Software
f3ad345340
Core/Interpreter: require whitespace in front of bot name for suffix-trigger
2023-05-21 16:16:06 -07:00
Pragmatic Software
8934936658
Perform anti-flood checking on NOTICEs to channels
2023-05-14 15:56:17 -07:00
Pragmatic Software
48daaa91ca
Core/Handlers: Do not auto-reply to NOTICEs
2023-05-14 15:38:51 -07:00
Pragmatic Software
2b36286c22
Interpreter: extract_bracketed: missed a state change
2023-05-11 11:02:16 -07:00
Pragmatic Software
bc05915905
Interpreter: improve parsing of embedded commands
2023-05-11 08:08:38 -07:00
Pragmatic Software
bd6af472e8
Interpreter: remove left-over malformed section
2023-05-11 06:08:26 -07:00
Pragmatic Software
329c8db33c
Factoids: fix factrem
/forget
...
Somehow I missed the `remove()` subroutine when converting
to subroutine signatures...
2023-05-07 13:47:25 -07:00
Pragmatic Software
097c657f0c
Commands/ChanOp: minor code-formatting clean-up
2023-05-05 18:59:35 -07:00
Pragmatic Software
15d7abf5ec
Plugin/RunCommand: fix subroutine argument
2023-05-05 12:28:36 -07:00
Pragmatic Software
1bb5fe031d
Use quietlist when setting mutes
2023-05-04 16:30:35 -07:00
Pragmatic Software
b04c06f396
Refactor ban/unmute commands
2023-05-04 16:03:24 -07:00
Pragmatic Software
c9112ac809
applets/date.sh: posix directory no longer exists on current distro
2023-05-04 12:19:22 -07:00
Pragmatic Software
06650963a3
applets/pbot-vm: increase length to trigger "Same output"
2023-04-28 00:48:37 -07:00
Pragmatic Software
8555e8f00e
Core/BanList: correct ban_user() arguments
2023-04-28 00:46:22 -07:00
Pragmatic Software
2c3f8fb9fe
Fix some inconsistent arguments
2023-04-21 15:56:43 -07:00
Pragmatic Software
cfaa5cfd4e
Fix inconsistent argument
2023-04-17 13:04:10 -07:00
Pragmatic Software
860a6be156
Fix some inconsistent arguments
2023-04-17 10:33:02 -07:00
Pragmatic Software
208df255a1
Update comment
2023-04-13 23:42:46 -07:00
Pragmatic Software
7ddb32ea16
Update core to use subroutine signatures
2023-04-13 21:04:12 -07:00
Pragmatic Software
c6db4b1e6b
Update plugins to use subroutine signatures
2023-04-13 17:08:27 -07:00
Pragmatic Software
cd60ac9fc7
Update plugins to use subroutine signatures
2023-04-13 17:01:23 -07:00
Pragmatic Software
afd07bcd57
Bump minimum Perl version to 5.20 for signatures feature
2023-04-13 11:37:39 -07:00
Pragmatic Software
3180d11303
Plugin/Quotegrabs: polish Storage/SQLite.pm a bit
2023-04-13 11:21:30 -07:00
Pragmatic Software
cdbbf9c183
Plugin/Quotegrabs: minor clean-up of previous commit
2023-04-10 10:46:43 -07:00
Pragmatic Software
8bf243a9fd
Plugin/Quotegrabs: rq
now "shuffles" through quotes without repeats
2023-04-10 08:06:35 -07:00
Pragmatic Software
d8b19eff68
Plugin/Quotegrabs: rq
now properly searches multi-grabs
2023-03-30 06:33:33 -07:00
Pragmatic Software
640f866829
applets/unicode.pl: limit U+XXXX..U+XXXX
range to 100 characters
2023-03-23 18:20:22 -07:00
Pragmatic Software
3340589207
applets/unicode.pl: keep newlines for pasting; increase search limit
2023-03-23 17:56:40 -07:00
Pragmatic Software
0236043fe9
applets/unicode.pl: more concise output; require -s for search
2023-03-23 17:40:06 -07:00
Pragmatic Software
d6b6e1ac50
applets/unicode.pl: improve usage message
2023-03-23 17:22:34 -07:00
Pragmatic Software
bfabf3e308
Add applets/unicode.pl
...
A quick-and-dirty simplified interface to https://github.com/garabik/unicode
with support for searching by name/description and querying by character
or U+XXXX code-point.
2023-03-23 17:15:19 -07:00
Pragmatic Software
05cf63e00c
Interpreter: fix $0 in commands that use &{subs}
2023-03-23 08:56:58 -07:00
Pragmatic Software
ca21999d5d
applets/wiktionary: fix UTF-8 issue
2023-03-19 14:50:52 -07:00
Pragmatic Software
00077e0eef
applets/urban: fix yet another UTF-8 issue
2023-03-19 14:23:27 -07:00
Pragmatic Software
0cd4ce5220
pbot-vm: guest-server: update serial ports
2023-03-13 13:33:10 -07:00
Pragmatic Software
3ada433527
Refactor UTF-8 fix
2023-03-12 18:28:50 -07:00
Pragmatic Software
b9a89e10d6
Fix UTF-8 encoding
2023-03-12 18:10:44 -07:00
Pragmatic Software
6565c516e9
pbot-vm: remove "command:" text from -paste output
2023-03-12 16:12:58 -07:00