- Jan 15, 2019
-
-
rswindell authored
same name in uifc/filepick.c - specifically with regards to paths that begin with a / (or \ on Windows).
-
- Jan 14, 2019
-
-
rswindell authored
Make usage-printed option defaults to the actual defaults and not just the current values of the options (which could have changed).
-
rswindell authored
specification ("<prop>=<format>"). The "-fmt <format>" option syntax is still supported. Fixed a bunch of typos and update the "docs" in the comment header.
-
rswindell authored
lists (listing of areas/directories, not files within those directories), to export your file area configuration to various file formats (e.g. FILEGATE.ZXX, tab-delimited, CVS, etc.). This utility is much more flexible than the SCFG "Export Areas..." option. This module can also be load()'d to capture the listing output for use within other scripts or shells. See the comments at the top of the file for detailed documentation.
-
- Jan 13, 2019
-
-
rswindell authored
-
rswindell authored
fancy structure initalization syntax here.
-
rswindell authored
Removed TCP/IP services not supported by BBS clients (e.g. SyncTERM) from the list (e.g. ftp, nntp, smtp, binkp, irc) and added "modem".
-
rswindell authored
Removed TCP/IP services not supported by BBS clients (e.g. SyncTERM) from the list (e.g. ftp, nntp, smtp, binkp, irc) and added "modem". This list is now used by the syncterm_list() function to filter which entries will be written to the exported syncterm.lst file. Also added duplicate section name detection and better names for multiple services per BBS (using service description and port as well as protocol) to syncterm_list(). Added support to imsg_capable_system() for an over-ride (imsg_capable). Changed several info-level log messages to debug-level (e.g. for every list open/read/write).
-
rswindell authored
- separate sections with a blank line (when adding a section) - place spaces around '=' in value assignments ("key = value").
-
rswindell authored
Mostly just white-space changes (beautification). Added some comments.
-
rswindell authored
-
rswindell authored
-
rswindell authored
this idea (web-server parsed html files with embedded JS) was never implemented and made obsolete by web handlers (e.g. xjs).
-
- Jan 12, 2019
-
-
rswindell authored
-
rswindell authored
anyway (here) and never implemented in the web server.
-
rswindell authored
Oddly, the Identity Lookup checkbox was obscurring (hiding) the Hostname Lookup checkbox, so that becomes visible/available again.
-
rswindell authored
(not practical to disable JavaScript for the terminal server any longer) and added the NO_SPY_SOCKETS option.
-
rswindell authored
-
rswindell authored
section of the sockopts.ini (if there is one) rather than the [tcp] or [udp] sections. This resolves the errors: term xxxx !ERROR 95 setting socket option (TCP_NODELAY, 1) to 1 which started appearing after the TCP_NODELAY option was added to the [tcp] section.
-
rswindell authored
a target port number. The port and hostname arguments can now be supplied in any order. Added debug-level log output with the host/port we're trying to connect to. Include the socket error value in the failure to connect log message.
-
rswindell authored
TCP connection actually failed. This bug only appeared to affect *nix systems. This bug appears to be very old, introduced in rev 1.74 of this file (Mar-2003) by yours truly. From the Linux 'connect' man page: EINPROGRESS The socket is nonblocking and the connection cannot be i completed immediately. It is possible to select(2) or poll(2) for completion by selecting the socket for writing. After select(2) indicates writability, use getsockopt(2) to read the SO_ERROR option at level SOL_SOCKET to determine whether connect() completed successfully (SO_ERROR is zero) or unsuccessfully (SO_ERROR is one of the usual error codes listed here, explaining the reason for the failure). We weren't doing the 'getsockopt(SO_ERROR)' part.
-
rswindell authored
Wrap all read_*_cfg() and write_*_cfg() calls with simple functions that display popup messages that the Reading or Writing is being performed. There was already copy/pasta everywhere for the Reading ... cnf files, but nothing for writing.
-
rswindell authored
pathname (directories must end in a '/'). Unlike getfname() which returns an empty string if passed a path ending in a '/'. Useful with glob(.., GLOB_MARK).
-
rswindell authored
getfname() on a path that ends in a slash, returns an empty string pointer. Fixed-up some logging output around listing creations.
-
rswindell authored
- use GLOB_MARK to eliminate calls to isdir() in loops - use stat() rather than calls to flength() and fdate() - don't call getfiledat() if getfileixb() failed - profiling info-level log msgs added for index/listing generation, e.g. "detailed listing (3459 bytes) of /main/SBBS (45 files) created in 2 seconds" Fixed bug with indexes generated for directories with the "Access Files Not In Database" option enabled, files not in database were excluded from the generated index (e.g. 00index, 00index.html).
-
rswindell authored
rather than calling both flength() and fdate() (which both call stat()), just call stat() once and use the result for both file size and date/time.
-
rswindell authored
There's no reason to call access() before stat() since stat() will fail (return -1) if the file does not exist.
-
rswindell authored
Loads child scripts (finger.js, sbbsimsg.js) quicker. Note: irc.js can't be load()ed from here because it calls exit(). Now using appropriate strings from text.dat (R_Chat, ON, OFF). Added modopts.ini [chat_sec] irc option (disable IRC access by setting to false).
-
rswindell authored
console.ctrlkey_passthru state. As it was, if the irc.js abended, many ctrl-keys (e.g. ^C) would not work after exiting. A lot of scripts that much with the console.ctrlkey_passthru have this/similar issue and this is a simple but very reliable fix.
-
rswindell authored
-
rswindell authored
(mostly migrated from exec/finger.js).
-
rswindell authored
tickit.js version pulled from $ID string in .js file. tickit version used in Created by line. tickit version used in Path line. utc time stamp of processing used in Path line per FTS-5006.001. per area uploader. address selection: per area aka matching in From and Path lines. per area source address in From and Path lines. global aka matching in From and Path lines (original addressing method). global source address in From and Path lines. main FTN address from system.fido_addr_list (preferred but last in line with the above overrides). can use domains on linked systems' addresses in sbbsecho.ini again. can use domains on any address in tickit.ini. domains are NOT currently written to the generated TIC files to avoid creating possible problems for other TIC processors. force replace is available globally and per area in the ini and not only the command line.
-
- Jan 11, 2019
-
-
rswindell authored
the beginning of a SAUCE record and the end of very old MS-DOS text files. Added support for ESC[1;1f/H (home cursor) and ESC[0J (clear to EOS) sequences (converted to the equivalent in Ctrl-A codes). Output Ctrl-A characters in uppercase, as they were documented and as is common practice. Covert ESC[xB and ESC[xD to the appropriate Ctrl-A sequences rather than converting to ASCII ctrl chars (CR, LF, BS).
-
rswindell authored
Ctrl-AJ (clear to EOS) Ctrl-A` (home cursor)
-
rswindell authored
Oct-14-2018: It turns out, PabloDraw actually inserts a Ctrl-AZ sequence at the end of .msg (and presumably Synchronet .asc) files it edits - before the SAUCE record. This resulted in a printed Ctrl-Z character (arrow pointing right) in most terminals when viewing text/menu files created or edited with PabloDraw. :-( So, now Ctrl-AZ (uppercase) will revert to the previous definition: premature end-of-file (EOF) and a Ctrl-Az (lowercase) will output a Ctrl-Z (substitute) character. I'm not a big fan of case-sensitive Ctrl-A codes, but frankly, running out of chars and I already started this pattern with the Ctrl-AF/f sequences. Hopefully there's no existing software that is/was putting Ctrl-Az (lowercase) in files, expecting that to trigger a premature EOF. I certainly was not.
-
rswindell authored
-
rswindell authored
- this change is dependant on the updated load/modopts.js. Cache the presence_lib and nodelist options in the bbs.mods object to speed up the re-loading of this script from the BBS. This means that changes to the presence_lib or modopts.ini will require the user log-off/back-on to experience the changes (only for the nodelist module).
-
rswindell authored
of the user_age_and_gender() method. Changed options.web_inactivity_timeout to just options.web_inactivity to be more consistent with the existing modopts.ini [web] option naming.
-
rswindell authored
You may now request the value of a single modopts.ini key value (optionally specifying a default option value), via: optval = load({}, 'modopts.js', 'modname', 'optname'); or: optval = load({}, 'modopts.js', 'modname', 'optname', default_optval); This usage will return just a single option value rather than an object containing properties reflecting all the options in the [modname] section. The pre-existing usage is still supported (and preferred in most cases).
-
rswindell authored
(default: 'browsing' - to match web UI verbiage).
-