- Feb 25, 2023
-
-
DDMsgReader: Ctrl-C can now cancel message scans, and message scan status text is word-wrapped for the terminal width
-
- Feb 24, 2023
-
-
echicken authored
-
echicken authored
-
echicken authored
-
echicken authored
-
echicken authored
Parameter names are -- prefixed, with a space between name and value. Quotes etc. around values are not handled; use escapes. We can get fancier with this later if it's necessary. Example: ?wttr.js --fallback_location Toronto --cache_ttl 0
-
echicken authored
-
echicken authored
-
echicken authored
-
echicken authored
-
echicken authored
See readme.txt for details on modopts.d/wttr.ini.
-
echicken authored
-
echicken authored
-
echicken authored
Changed scope of ipFile variable so we can access it in the finally{} block. Should prevent stale files hanging around if the service encounters an error.
-
echicken authored
-
echicken authored
Ditch TTYLOC method; no longer needed. (Note: websocketservice's UTF-8 handling rendered this unusable anyway.) Remove rlogin/webv4 specific lookup method; no longer needed.
-
echicken authored
Scripts running on upstream (terminal) server can find actual client IP in: system.temp_path + 'sbbs-ws-' + client.socket.remote_port + '.ip'
-
- Feb 23, 2023
-
-
Rob Swindell authored
-
- Feb 22, 2023
-
-
echicken authored
-
echicken authored
-
echicken authored
Therefore, be it resolved: Whereas more information is required, Whereas such information cometh from log files, Whereas this script should spew many messages into the logs, The script shalt not cache any data for the time being, nor load any cached data, The script shall barf much data into the logs for purposes of troubleshooting. - King James III on the eve of his coronation, hand on bibble
-
Rob Swindell authored
from sysop input, automatically.
-
Rob Swindell authored
e.g. this a way to set the K_TRIM mode globally for all keyboard input
-
Rob Swindell authored
K_TRIM causes leading and trailing whitespace to be trimmed. K_NOSPACE disallows any whitespace characters to be added to the string. Previously, trailing whitespace was always trimmed. Now, only do that if/when K_TRIM is specified.
-
Rob Swindell authored
The details (dates, author, revision numbers) are often stale and misleading, so start removing them. Where the Revision tag was used for a version/revision, just bump it by one and use a string constant instead (Git doesn't provide any similar facility for auto-incrementing revision numbers). More remains. Perhaps a commit hook to alert me when committing that I should clean up as I go rather than try to do this in bulk. <shrug>
-
Rob Swindell authored
When sending an SMB message header via SMTP or POP3, some header fields (lines) could potentially be longer than 1024 and yet sockprintf() was limited to sending 1024 bytes (actually 1022 plus CRLF). This could result in some messages not being sent correctly: header field truncated, not CRLR-terminated, and notably resulting in MIME message contents not being decoded properly in a message viewer/reader. Example (Content-Type is part of the previous header field/line): x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?cm9T1Q9G65VC/lKTTqhODKhy5lHT2y6WWMb/WyvJ+EeGEwYmY7ILhzE3yfNM?= =?us-ascii?Q?KeFWN9T/PqHBya1plKf/sHgaw0iRmI7Hq+u9Dp4bG8OqdniKQlK+Aa27oXMd?= =?us-ascii?Q?Hly6OEYaSu7jbhGGY89LF0gyRVqquqxkaMfpKvG+h4cQnnu4Tl8YAKeE39a2?= =?us-ascii?Q?lHW3372ulmb9jvvZU72J2RtZYkuoIr+Wsqhfyuj39wTZ/+C4qKCsYrmTxrki?= =?us-ascii?Q?fBZ4gMPzWkrcWAr7zPcXBg8bphJJB8VJFUjQyksA3EG4dtH8+TZeEcNNBmHf?= =?us-ascii?Q?oCGnV9wHr9HszzrSkkZ2GGyh3QZLHAVDNe7wDXSy7HJttZugf9kNqKGeaYQL?= =?us-ascii?Q?TpljH1aHPe7MiSP9Dmp/xHQ/DWQOZDx5guNS+iMciMt5p5ad+SkQye0hWRhd?= =?us-ascii?Q?usHvpllclzIee6lxJ0VSPAzHGlAOhtOolrHdDB2ODjvkEzU7L2Fj2f5x7p9q?= =?us-ascii?Q?9d6sUgSz7vZVx8yyR3KPq3jIX0QUnl0xr2Mix9xcmMNcg0yFLPcznqBdLVa8?= =?us-ascii?Q?IC7j0+8oy4BjYxr8Z3elxMC2JKq13gPYgR95cwm6hMDiZbMB4EW/J1uJhD/I?= =?us-ascii?Q?RIIqTZ+Ywt8nKOfXj6/a9Aauf0wN71QKKA+in7KY9oksIhkUGvWOrtJwkVDL?= =?us-ascii?Q?Q2UFrBBJyQHJgumj5Y+bG8FDk/55IfyV9XYEcsdLL4bCF+HX4QPHZCw4P+li?= =?us-ascii?Q?bRvN+UxOO8hgXVkgB1q8mNJ62yQuaj0AContent-Type: multipart/alternative; boundary="_000_SN6PR07MB454477F4C32C66D48BA0B02187A09SN6PR07MB4544namp_" Solved by using asprintf() instead of snprintf() for dynamic string formatting and allocation in one go. Using realloc() to expand the buffer for the appended/required CRLF.
-
- Feb 21, 2023
-
-
echicken authored
-
echicken authored
-
echicken authored
This allows for greater flexibility with the options, and the possibility of querying your own (or some other) wttr server.
-
echicken authored
-
Rob Swindell authored
Yes, finally, you can write a command shell in JS without needing a .bin "stub" Baja module to execute it. Fixes issue #504.
-
Rob Swindell authored
User list is more similar to logonlistl and nodelist is more similar to 'who's online'.
-
Rob Swindell authored
Include some other new key values (migrated from node.ini)
-
Rob Swindell authored
DDMsgReader: Updated the readme for installation as a loadable module for Synchronet 3.20+ as of 2023-02-20 See merge request !257
-
Eric Oulashin authored
DDMsgReader: Updated the readme for installation as a loadable module for Synchronet 3.20+ as of 2023-02-20
-
Rob Swindell authored
Also modifying the existing (sample) userlist.js to mimic the hard-coded sbbs_t::userlist() function (from str.cpp), suitable as a user list module. Also added sort-by-laston-date functionality to this module, thus fixing issue #518.
-
- Feb 20, 2023
-
-
Rob Swindell authored
Previously, many/most loadable modules were limited to just 8 chars, so while technically you could include a command-line option with a very short module name, now all modules can be configured with full (up to 63 char) command-lines.
-
Rob Swindell authored
-
Rob Swindell authored
using gcc version 12.2.0 (Debian 12.2.0-14), e.g. js_console.cpp: In function ‘JSBool js_handle_ctrlkey(JSContext*, uintN, jsval*)’: sbbs.h:230:56: warning: writing 8 bytes into a region of size 2 [-Wstringop-overflow=] 230 | (ret)[JSSTSpos]=(char)JSSTSstrval[JSSTSpos]; \ | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ sbbs.h:242:9: note: in expansion of macro ‘JSSTRING_TO_ASTRING’ 242 | JSSTRING_TO_ASTRING((cx), JSVTSstr, (ret), (maxsize), (lenptr)); \ | ^~~~~~~~~~~~~~~~~~~ js_console.cpp:670:17: note: in expansion of macro ‘JSVALUE_TO_ASTRING’ 670 | JSVALUE_TO_ASTRING(cx, argv[0], keystr, 2, NULL); | ^~~~~~~~~~~~~~~~~~ In file included from sbbs.h:255: /home/rswindell/sbbs/src/sbbs3/../xpdev/genwrap.h:77:36: note: destination object of size 2 allocated by ‘__builtin_alloca’ 77 | #define alloca(sz) __builtin_alloca(sz) | ~~~~~~~~~~~~~~~~^~~~ sbbs.h:228:43: note: in expansion of macro ‘alloca’ 228 | if(((ret)=(char *)alloca((*JSSTSlenptr)+1))) { \ | ^~~~~~ sbbs.h:242:9: note: in expansion of macro ‘JSSTRING_TO_ASTRING’ 242 | JSSTRING_TO_ASTRING((cx), JSVTSstr, (ret), (maxsize), (lenptr)); \ | ^~~~~~~~~~~~~~~~~~~ js_console.cpp:670:17: note: in expansion of macro ‘JSVALUE_TO_ASTRING’ 670 | JSVALUE_TO_ASTRING(cx, argv[0], keystr, 2, NULL); | ^~~~~~~~~~~~~~~~~~ sbbs.h:230:56: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 230 | (ret)[JSSTSpos]=(char)JSSTSstrval[JSSTSpos]; \ | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ sbbs.h:242:9: note: in expansion of macro ‘JSSTRING_TO_ASTRING’ 242 | JSSTRING_TO_ASTRING((cx), JSVTSstr, (ret), (maxsize), (lenptr)); \ | ^~~~~~~~~~~~~~~~~~~ js_console.cpp:670:17: note: in expansion of macro ‘JSVALUE_TO_ASTRING’ 670 | JSVALUE_TO_ASTRING(cx, argv[0], keystr, 2, NULL); | ^~~~~~~~~~~~~~~~~~ /home/rswindell/sbbs/src/sbbs3/../xpdev/genwrap.h:77:36: note: at offset 2 into destination object of size 2 allocated by ‘__builtin_alloca’ 77 | #define alloca(sz) __builtin_alloca(sz) | ~~~~~~~~~~~~~~~~^~~~ sbbs.h:228:43: note: in expansion of macro ‘alloca’ 228 | if(((ret)=(char *)alloca((*JSSTSlenptr)+1))) { \ | ^~~~~~ sbbs.h:242:9: note: in expansion of macro ‘JSSTRING_TO_ASTRING’ 242 | JSSTRING_TO_ASTRING((cx), JSVTSstr, (ret), (maxsize), (lenptr)); \ | ^~~~~~~~~~~~~~~~~~~ js_console.cpp:670:17: note: in expansion of macro ‘JSVALUE_TO_ASTRING’ 670 | JSVALUE_TO_ASTRING(cx, argv[0], keystr, 2, NULL); | ^~~~~~~~~~~~~~~~~~ /home/rswindell/sbbs/src/sbbs3/../xpdev/genwrap.h:77:36: note: at offset 2 into destination object of size 2 allocated by ‘__builtin_alloca’ 77 | #define alloca(sz) __builtin_alloca(sz) | ~~~~~~~~~~~~~~~~^~~~ sbbs.h:228:43: note: in expansion of macro ‘alloca’ 228 | if(((ret)=(char *)alloca((*JSSTSlenptr)+1))) { \ | ^~~~~~ sbbs.h:242:9: note: in expansion of macro ‘JSSTRING_TO_ASTRING’ 242 | JSSTRING_TO_ASTRING((cx), JSVTSstr, (ret), (maxsize), (lenptr)); \ | ^~~~~~~~~~~~~~~~~~~ js_console.cpp:670:17: note: in expansion of macro ‘JSVALUE_TO_ASTRING’ 670 | JSVALUE_TO_ASTRING(cx, argv[0], keystr, 2, NULL); | ^~~~~~~~~~~~~~~~~~ /home/rswindell/sbbs/src/sbbs3/../xpdev/genwrap.h:77:36: note: at offset 2 into destination object of size [1, 2] allocated by ‘__builtin_alloca’ 77 | #define alloca(sz) __builtin_alloca(sz) | ~~~~~~~~~~~~~~~~^~~~ sbbs.h:228:43: note: in expansion of macro ‘alloca’ 228 | if(((ret)=(char *)alloca((*JSSTSlenptr)+1))) { \ | ^~~~~~ sbbs.h:242:9: note: in expansion of macro ‘JSSTRING_TO_ASTRING’ 242 | JSSTRING_TO_ASTRING((cx), JSVTSstr, (ret), (maxsize), (lenptr)); \ | ^~~~~~~~~~~~~~~~~~~ js_console.cpp:670:17: note: in expansion of macro ‘JSVALUE_TO_ASTRING’ 670 | JSVALUE_TO_ASTRING(cx, argv[0], keystr, 2, NULL); | ^~~~~~~~~~~~~~~~~~ sbbs.h:230:56: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=] 230 | (ret)[JSSTSpos]=(char)JSSTSstrval[JSSTSpos]; \ | ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~ sbbs.h:242:9: note: in expansion of macro ‘JSSTRING_TO_ASTRING’ 242 | JSSTRING_TO_ASTRING((cx), JSVTSstr, (ret), (maxsize), (lenptr)); \ | ^~~~~~~~~~~~~~~~~~~
-