Recent Releases

5.3028 Nov 2024 07:45 minor feature: crash if TerminalTextAlign has NULL for the Terminal. Added HttpGet and HttpPost functions. Improvements to httpserver authentication. Add 'extra' field to passwords file to allow storing data against a user.
5.2925 Nov 2024 17:25 minor feature: Much more seccomp work. Add 'data' option to pty config (PtyParseConfig) so if a pipe or pty is going to be used for raw data transfer, use FLUSH_ALWAYS not FLUSH_LINE. Support uuencoded data using either ' ' or '`' as 1st char of alphabet. Add support for yenc encoded data.
5.2824 Nov 2024 23:25 minor feature: Added seccomp support, and process security levels. Change SS_ stream state values to LU_SS_ to prevent clashes with linux defines like SS_CONNECTING. For rbase64 encoding. added name 'rbase64' and decoding this encoding now works.
5.2623 Nov 2024 13:25 minor feature: incorrect addition of 'progress' and 'remain' to options of non-progress-bar terminal widgets. Make sure all DataProcessorInit functions fit the new function prototype. TerminalChooser now honors the 'width' setting, and intelligently fits itself into that.
5.2522 Nov 2024 18:25 minor bugfix: Symmetric Encryption now supported for STREAMs. Handle situation where logfile is rotated under an app that has it open. Stop trying to rotate hardened logfiles. rotate is incompatible with append-only files.
5.2424 Oct 2024 09:25 minor feature: Move namespace/container code to Containers.c and make general improvments. Exit out of TerminalReadText if escape or ctrl-c entered. Added 'l' option (list files on remote server) to SSH streams. CHANGED ARGUMENTS TO SSHConnect AND SSHOpen. ssh streams can now accept config options bind= and config=. Rotate logfiles even if not open by app.
5.2322 Aug 2024 02:45 minor feature: Improve attribution of base64 and hashing functions. -net/nonet (flag meaning was inverted). ProcessNoNewPrivs now handles 'already set' and is no longer static. Call setsid before setting controlling tty in PtySpawnFunction. added CGIReadDocument. v5.22. clash of flags between PROC_NO_NEW_PRIV and PROC_NOSHELL. v5.21. replaced 'exit if can't chroot/chdir' with 'strict' option to ProcessApplyConfig. Added ERRFLAG_ABORT to error handling functions, aborts the process after reporting the error. Added ERRFLAG_SYSLOG to error handling functions, forces syslog even if library-wide syslog flag isn't set. MakeShellSafeStr now quotes/blanks out ' ' in addition to other dangerous characters. MakeShellSafeStr can now report unsafe characters via syslog if the SHELLSAFE_REPORT flag is passed. MakeShellSafeStr can now abort program if the SHELLSAFE_ABORT flag is passed and unsafe chars are found. FileMoveToDir will now copy the file if a simple rename fails. Negative values for width and height on TerminalMenu and TerminalProgress set width as 'terminal width minus that value'.
5.2003 Aug 2024 02:25 minor feature: Added TOTPAtTime and TOTPPrevCurrNext.
5.1911 Jul 2024 11:05 minor feature: Added 'nosu', 'noprivs' options to 'ProcessApplyConfig' that prevent a process escalating priviledges via su/sudo/setuid. check for prctl properly using './configure'. Eliminate use of 'fopen' in 'GetHostARP'. General cleanup of 'ProcessApplyConfig'. If chdir or chroot fail in 'ProcessApplyConfig' print "too dangerous to continue" and exit.
5.1805 Jul 2024 06:45 minor bugfix: FindFileInPath now returns a real file, rather than symlink, unless a symlink is all it can find (not it really does). Clean up some errors revealed by -Wall.
5.1701 Jul 2024 11:45 minor feature: FindFileInPath now returns a real file, rather than symlink, unless a symlink is all it can find. Added TerminalPrint function.
5.1627 Jun 2024 13:05 minor feature: Handle http digest authentication. Add 'AppendVar' function.
5.1522 Jun 2024 04:25 minor feature: Add/support for calling hmac functions via the Hash interface. Use of openssl hashing functions no longer experimental. Support sha384 hash. Added 'UnpackURL' function.
5.909 Feb 2024 00:05 minor feature: Build without openssl AGAIN. Support compile with -Wall, -Werror, FORTIFY_SOURCE, and -fstack-protector-strong.
5.131 Mar 2023 08:43 major feature: Turn all features on by default with 'configure'. Support hash functions from openssl. Bugfixes in STREAM functionality. HMAC functions added.
4.4613 Oct 2020 07:05 minor feature: Better handling of ssl connect timeouts and tcp fastopen.
4.4509 Oct 2020 20:05 minor feature: For SO_REUSEPORT.
4.4320 Sep 2020 07:05 minor feature: Added STREAMServerNew and IPServerNew functions.
4.4206 Sep 2020 22:05 minor feature: For http and terminal systems . Version bump.
4.4102 Sep 2020 12:45 minor feature: ListFindNamedItem can now Handle more than one item with the same nam .
4.4020 Aug 2020 05:25 minor feature: Unicode lookup cache. Add STREAMShutdown for use in garbage-colle . STREAMShutdown. Shutdown sshproxy processes on exit of their owner process.
4.3930 Jul 2020 14:45 minor feature: Added 'newpgroup' option to Spawn, fork and ProcessApplyConfig functions.
4.3826 Jul 2020 23:45 minor feature: Improvements to TerminalFormatStr . Documentation update.
4.3721 Jul 2020 20:05 minor feature: Minor for :unicode:
4.3617 Jul 2020 05:45 minor feature: Add stdin, stdout, and stdio to list of STREAM urls . Correction for stdin/stdout/stdio streams url parsing. . Added 'unicode-names' system and some xterm functions. . Version bump.
4.3510 Jul 2020 18:54 minor bugfix: Stop leaking ssh processes when using ssh tunnels
4.3405 Jul 2020 03:16 minor feature: Allow file: and cmd: urls to contain ' ' chars. misbehaving wildc .
4.3330 Jun 2020 06:25 minor feature: For with END and PAGEUP PAGEDOWN in terminal menus.
4.3215 Jun 2020 16:05 minor feature: FileSystemCopyDir now copies hidden 'dot' files . re-add deleted libUseful.h.
4.3102 Jun 2020 08:45 minor feature: Terminal widgets broken out of Terminal.c Horizontal Menu/MenuBar wid . TerminalMenuBar renamed TerminalChoice. Version bump.
4.3020 May 2020 03:17 minor feature: For 'STREAMSendFile' lockup when stream disconnected.
4.2904 May 2020 23:25 minor feature: For occassional missing character on the end of strings read with .
4.2830 Apr 2020 08:31 minor feature: Added 'r64' or 'rfc4648' encoding. Added OpenSSLAutoDetect function that detects if a just-accepted network stream is SSL/TLS encrypted.
4.2729 Apr 2020 08:45 minor feature: TerminalReadString and TerminalReadPrompt now return NULL only if esc .
4.2623 Mar 2020 13:45 minor feature: Added FileSystemCopyDir for recursive filesystem copies.
4.2516 Mar 2020 11:05 minor feature: More oauth. 'voldown' mismapping. . Added 'FindVarNamesInString' function. . Version bump.
4.2420 Feb 2020 06:05 minor feature: FileSystem: use __APPLE__, not _APPLE_ . FileSystem: add ifdef for extra getxattr call. . FileSystem: too many params to setxattr. . . . only check symlinks if file opened for write. . Added Timeout argument to STREAMExpectDialog. Improvements to DataPar . . correct some 'char *'/'const char *' typos. . 'implicit declaration'. . : RawData:ReadAt stores incorrect length. . More for RAWDATAReadAt. . added process.sfork() (fork with a stream to talk to forked process), . . Make SF_NONBLOCK apply to write. . handle blank lines in oauth.creds. . Re-add Quickstart.md. for ssh 'execute' mode. . crash in ssh execute mode when no command given. . version bump.
4.2309 Feb 2020 07:05 minor feature: Copy libUseful links as symbolic links, not files . Handle apple osx xattr oddities. . For building *without openssl. . Markdownify Quickstart.txt. . Version bump, apply correct '-P' flag to cp in 'make install'. . Autoclean old entries out of.oauth.creds file. . Rationalize file locking on.oauth.creds. . Demessages printing when not requested. . More keystrokes detected in Terminal.c.
4.2201 Feb 2020 03:15 minor feature: memory leaks when using SSL . Improvements to the libUseful RaiseError system. . Final changes for STREAM.
4.2126 Jan 2020 14:30 minor bugfix: Fix for bug introduced in v4.20 that can hang apps that read an entire document from an ssh stream, rather than more interactive line-by-line processing.
4.2026 Jan 2020 14:09 minor feature: Text files can now be opened for write on a remote ssh server using STREAMOpen("ssh://server/textfile.txt", "w") Any file, including binary data, can still be read with STREAMOpen("ssh://server/whatever", "r") And commands exectued with STREAMOpen("ssh://server/ps ax", "") or STREAMOpen("ssh://server/ps ax", "x")
4.1609 Dec 2019 20:43 major bugfix: Fix for linking against openssl for recent versions of openssl (libressl has been fine, but openssl has lost/renamed some functions). Many changes since last update on freshcode.club, including strlen caching for faster string operations, a new 'terminal menu' system, and internal support for using poll() rather than select().
3.2116 Jun 2018 13:58 major feature: Now builds under macosx. Various other bugfixes.
20 Nov 2017 11:53 major feature: This is the initial release.