Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
naeon_2.2.tar.gz | 2023-11-01 | 52.2 kB | |
naeon | 2023-11-01 | 98.6 kB | |
naeon.yaml | 2023-11-01 | 3.0 kB | |
README.md | 2023-11-01 | 34.5 kB | |
LICENSE.txt | 2023-11-01 | 34.5 kB | |
MANIFEST.md | 2023-11-01 | 183 Bytes | |
FAQ.md | 2023-11-01 | 13.1 kB | |
KnownBugs.md | 2023-11-01 | 154 Bytes | |
Totals: 8 Items | 236.4 kB | 0 |
November 2023
v2.2 - 2023-11-01
Added
- Program startup message to display logging status and log directory if logging is enabled.
- Package pv (Pipe Viewer) to the environment prerequisites.
- Enhanced progress indicator using 'pv' to display a percentage-based progress bar along with an estimated time of arrival (ETA).
- Introducing the STATCMD variable, which dynamically sets the appropriate command for system-specific environment detection, ensuring seamless compatibility across different platforms.
- Improved readability of the display of extracted files during backup and restore by separating the files by a newline both before and after.
- ADD_DESCRIPTION_TO_LOG to naeon.conf configuration file. If set to yes, AND if logging is enabled, the backup description will be added to the log entry of the backup process.
- ISSUER and ISSUER_NOTES to metadata file in info directory (if enabled). Set to "(empty)" in case they have not been declared in the configuration file.
- Private chunk split count (>= 1) as well as the paper wallet option chosen (yes/no) to metadata file in info directory.
- In restore mode, when no private chunk tar balls are found in the private directory but a paper wallet is present, private chunk(s) are now automatically extracted from these (uue) files.
- Added optional CSV export functionality to record key backup information for easier tracking and analysis. Enabled when CSV directory is set in naeon.yaml (NAEON_CSV_DIR).
- In restore mode, input validation to ensure project ID starts with '2', being the first digit of any Naeon project ID.
Changed
- Enhanced passphrase generation method, transitioning from '< /dev/urandom' to 'openssl rand -base64 128’ for improved entropy hence security.
- File format of the Naeon configuration file from unstructured to YAML format.
- Name of the configuration file from "naeon.conf" to "naeon.yaml".
- Implemented a more efficient and concise method for initializing configuration variables with their default values, enhancing maintainability and readability.
- Function "read_config_file" to make it compatible with macOS when using the sed command for removing leading spaces in variables read from the YAML configuration file.
- "Less is more": Replaced 'more' command with 'less' to provide a more user-friendly and interactive text screen display, especially for help and information texts.
- Enhanced the clarity and consistency of comments within the configuration file.
- Reduced redundancy by consolidating the logic for creating paper wallets (uuencoded ASCII versions of Private Chunks).
- Optimized code for conditional description logging.
Fixed
- In case the project directory wasn't set in naeon.yaml, the default (current) directory wasn't set which resulted in an error. Now correctly falling back to the current directory.
- Improved the overall code structure and formatting of the metadata file generation code for a more efficient and organized codebase.
- On systems where the pv command is not available, the function 'dotted_timer' will be used to indicate the progress of time consuming processes.
- Error in the restore section of the help text. It previously stated that the project ID should be preceded by 'naeon-', whereas it should start with one or more digits of the project ID.
- Incorporated enhanced file checking logic to gracefully handle cases where a tar file is empty during backup, ergo when no files are present to be backed up.
- When backing up from an input text file using the -l or --list option, temporary files were not automatically cleared if the input file was invalid or included wildcards.
- In backup mode, addressed an argument parsing issue, preventing the passage of conflicting parameters.
- In backup mode, the project directory wasn't removed after exiting if the tar file didn't contain any files or if an error occurred during temporary directory creation.
- In restore mode, in case of a public chunk (hash) mismatch, temporary files were not deleted after program exit.
Removed
- Redundant, outdated code sections, that were replaced with more optimized solutions.
October 2023
v2.1 - 2023-10-01
Added
- Extra cyber security related quotes, which are displayed occasionally, at program completion.
- Error logging for all instances where an 'exit 1' error code is encountered.
- Error checking for the writability of the log directory.
- More extensive help texts where needed.
Changed
- In the event of an error while moving temporary files, Naeon will now provide a more informative error message, log the error, and invoke a proper exit routine.
Fixed
- Modified the 'dotted_timer' function to remove the usage of the '-p' parameter with the 'ps' command, ensuring compatibility with all 'ps' command implementations.
Removed
- Redundant code blocks.
February 2023
v2.0 - 2023-02-01
Added
- Package ncurses to the environment prerequisites.
- Naeon extension to metadata file in info directory.
- Expanded the installation instructions in the FAQ.md (Frequently Asked Questions) file.
- Basic logging. Only active when log directory is set in naeon.conf (NAEON_LOG_DIR). Log entries currently limited to start and successful end of both backup and restore processes.
- Error handling routine (function 'errorhandler').
- Function 'logger'.
- Function 'check_chunks_in_dir'.
- OS type is displayed under 'ENVIRONMENT' when Naeon is invoked with the option --info.
- In FAQ.md: a Q&A with ChatGPT about the level of security of Naeon today and in the foreseeable future.
- Additional checks on conflicting command line arguments in case both backup (either from file or list) and restore parameters were passed.
Changed
- Project extension no longer hardcoded (as .naeon) but now pulled from naeon.conf configuration file, defined as NAEON_EXTENSION (default is .naeon).
- Renamed variable NAEON_TEMP_DIR to NAEON_TMP_DIR.
- Function 'check_datestring' rewritten for readability & removed unnecessary variable assignments.
- Shortened the code block that checks the OS type support.
- Optimized code block that creates temporary directories.
- Optimized the declaration of defaults read from naeon.conf.
- All input arguments (both the short and the long ones) now start with a single dash.
- Rewrite of the argument parsing clode block in the main loop, optimized for speed, efficiency, and readability.
- Rewrite of the clode blocks in the restore loop that compare checksums in private and public directories, optimized for speed, efficiency, and readability.
- Rewrite of the clode block in the restore loop that does the integrity check on chunks based on their SHA512 checksums, optimized for speed, efficiency, and readability.
Fixed
- In restore mode, the private directory was not always cleaned up when encountering a fatal error.
- Proper exit routine when invoked with option --version.
- Directly jump to exit routine when started in backup or restore mode without any further arguments.
Removed
- Redundant code from the check of environment prerequisites in backup mode.
January 2023
v1.2.5 - 2023-01-01
Added
- Extra cyber security related quotes, which are displayed occasionally, at program completion.
- SHA512 checksums of (.uue) Paper Wallet files, if any, to the list of private chunks checksums in the info directory.
- STORE_METADATA_IN_INFODIR in naeon.conf.
- Textfile in info directory containing project's metadata. Only generated when STORE_METADATA_IN_INFODIR in naeon.conf is set to yes.
- Runtime statistics (total seconds runtime + bytes per second) of backup process. Value is displayed as well as added to the metadata file (if set).
Changed
- In backup mode, remove compressed inputfile immediately after the encryption process (instead of at the end of the program) in order to save space.
- In backup mode, remove encrypted inputfile immediately after splitting it up into private and public chunks (instead of at the end of the program) in order to save space.
- Create detailed file list directly after encryption process.
- Calculate compressed inputfile hash just before deletion of this file, instead of at the end when the Master Key XML is generated.
- Location of info directory: from under private directory under the name 'info', to project directory under the name <Project ID>-info.
- Moved the location of the Paper Wallet uuencoded versions of the private folder file(s) from the info directory to the private directory.
Fixed
- In backup mode, in case PAPER_WALLET was set to yes and SPLIT_PRIVATE_FOLDER_INTO_PARTS was set to >1, only one uuencoded file was generated, instead of the actual number of splits.
Removed
- List of public chunks in info directory (in order to enhance security).
- List of private chunks in info directory (in order to enhance security).
- STORE_PROJECTDESC_SEPARATELY in naeon.conf.
- Textfile in info directory containing the project's description (moved to a new metadata textfile).
- Textfile in info directory containing the project's Naeon version (moved to a new metadata textfile).
November 2022
v1.2.4 - 2022-11-01
Added
- Extra cyber security related quotes, which are displayed occasionally, at program completion.
Changed
- In case PAPER_WALLET is set to 'yes' in naeon.conf, now the private chunk tarball(s) will be uuencoded, instead of the private chunk itself and the Master Key XML.
Fixed
- No call to exit routine in case Naeon project directory was missing.
- No call to exit routine in case Naeon temporary directory was missing.
- In case PAPER_WALLET is set to 'yes' in naeon.conf, the wrong extension was passed into the generated uuencoded file.
August 2022
v1.2.3 - 2022-08-30
Added
- Silent backup option, in which individual files will not be shown during backup. See SILENT_BACKUP in naeon.conf.
- Silent restore option, in which individual files will not be shown during restore. See SILENT_RESTORE in naeon.conf.
- Progress indicator during data restore process in case silent mode is set.
Changed
- Naming convention of file list containing private chunks now in line with that of public chunks: naeon-<yyyyymmddhhmmss>-PrivateChunks.txt (info directory).
- Renamed private chunks from <Project ID>-private-<xxx>-of-<yyy> to <Project ID>-private-<xxx> thus removing information regarding the total nr of private chunks in the filenames.
Fixed
- Wrong mention of default embargo timestamp in naeon.conf. Old: "default is 20200101000000", new: "default is current time".
- Wrong mention of default temporary directory in naeon.conf. Old: "current directory", new: "/tmp".
Removed
- Path names from file list in info directory containing private chunks and their sha512 checksums. Now in line with that of public chunks: sha512sum + space + filename.
June 2022
v1.2.2 - 2022-06-01
Added
- When function check_datestring exits on error, it now mentions which date (as set in configuration file) caused the error.
- Check on the occurrence of non-numeric characters in embargo- and selfdestruct timestamps, and filtering them out when found.
- Function to check validity of variables in configuration file that should only be valid when set to either 'yes' or 'no'.
- Applied yes/no validity check on the following variables in naeon.conf: DELETE_ON_RETRIEVAL, SPLIT_PRIVATE_FOLDER_INTO_PARTS, PAPER_WALLET, STORE_PROJECTDESC_SEPARATELY.
- Random cyber security related quotes, displayed every now and then, at program completion.
- Validity check on Embargo Timestamp: should be future timestamp.
Changed
- Restructured and enhanced information displayed when option --info is used.
- Improved handling of default settings of values not set in configuration file.
- Several improvements to function check_datestring.
- Tidying up code that handles program termination, combining into one function 'wrapping_up'.
- Moved initialization of embargo and selfdestruct timestamp from backup- to main code block.
- Embargo Timestamp, when not set in naeon.conf, now defaults to the current timestamp instead of '20200101000000'.
Fixed
- Incompleteness in the error message in case the encryption key could not be generated.
- Check on existence of Naeon project and tmp directory didn't work as intended on macOS.
- When executed in attended restore mode, project wasn't immediately skipped in case of mismatch between number of public chunks in XML and in public (restore) directory.
- In case of a chunk-number of hash mismatch in restore mode, the restored .naeon and .XML files were not removed from the private directory before skipping to a next project ID, if any.
May 2022
v1.2.1 - 2022-05-01
Added
- Info directory 'info' under private directory, in which all private files will be stored that are not archives themselves.
- Naeon will now look for the naeon.conf configuration file in the $HOME/.config/naeon directory first, and (if not there) in the program directory.
- Some speed improvement by removing unnecessary lines of code.
- Preventing gpg from caching passphrase by adding the option --no-symkey-cache to the encryption command.
- In case errors are encountered, the notification of a generated error log file is now highlighted in red.
Changed
- The gpg command is now stored in a variable to allow for platform dependent commands and/or syntaxes.
- File list, list of public chunks, and textfile with SHA512 sums of splitfiles, now stored in the Info directory.
- Project ID description, uuencoded files, Naeon version, and error log file (if any) now stored in the Info directory.
- Minimum size of randomly generated prepend block from 1 to 1,000 bytes.
Fixed
- Compatibility issue with Cygwin on Windows platforms.
Removed
- Filesize limitation of 100,000 bytes (MINSIZE) for compressed archives: Naeon can now process even the smallest amounts of data per project.
April 2022
v1.2 - 2022-04-02
Added
- Option -d (or --description) to pass a project description as a command line argument. Convenient in case of execution in unattended mode.
- Option -i (or --info) to display relevant info on Naeon and its current settings.
- Option -q (or --query) to display all projects currently in the Naeon project directory.
- Option -v (or --version) to display current Naeon version.
- Extra parameter in naeon.conf, if set to yes the project description will also (apart from in XML) be stored in a text file in the private directory.
- Remove forward slash at the end of input parameter, so file completion will also work when used.
- SHA512SUMS of all project files.
- faq.md with Frequently Asked Questions.
- In restore mode, the name(s) of the selected Naeon project(s) are displayed.
- A temporary directory can now be set in naeon.conf (default = /tmp).
- At program start, check existence of temp directory and exit in case not existing.
- At program start, check if temp directory is writable. If not, exit the program.
- Additional checks on passing conflicting command line arguments in restore mode.
- Extra comments where needed to make the code better readable.
Changed
- Moved compressed restores to: project dir/project ID-restored/project ID-compressed
- Moved decompressed restores to: project dir/project ID-restored/project ID-decompressed
- Moved the creation of temporary directories from working directory to /tmp.
- Moved the creation of temporary files from working directory to /tmp.
- Changed name of temporary files from "_tempfilelist#.txt" to "naeon_tmp#".
- Added a 12-char random alphanumeric string to temp filenames in order to avoid being overwritten in case of multiple instances of Naeon.
- Removal of temporary files as soon as they are not needed anymore, instead of during the cleanup procedure at program end.
- Renamed "Working directory" to "Naeon directory".
- Moved initialization of configuration file to main code block.
- Moved help text (invoked by option -hor --help) from external text file "USAGE.md" to Naeon help function in program itself.
- Improved preliminary check on existence of submitted project id(s) (restore mode).
- Updated help text.
- Moved all functions to one codeblock (Main).
- Moved reading, sanatization and validation of configuration settings from backup to main codeblock.
- In case the number of parts the Private Chunk is to be split into, is invalid (as set in naeon.conf), now defaulting to "1" instead of exiting.
- Tidying up code.
- Replaced 'naeon' with 'Naeon'.
- Old program logo replaced by (a Unicode representation of) the official new logo as used on the website.
- In restore mode, it is no longer required to submit project IDs starting with "naeon-". With or without, it is both okay and will be handled correctly.
Fixed
- When help text was longer than one page, the per-page view skipped displaying the Naeon logo and version number.
- When a Naeon (working) directory was set in naeon.conf, Naeon didn't look there when in restore mode.
- Restore mode didn't accept more than one project ID as an argument.
- In restore mode, wildcard didn't work when executed from project directory (took first project only).
- In restore mode, in case of a private and/or public chunk (hash) mismatch, temporary directories were emptied but not deleted after program exit.
- 'awk: illegal option' on MacOS systems.
- 'split: illegal option' on MacOS systems.
- 'tr: Illegal byte sequence' on MacOS systems.
- When Naeon was started using unsupported option, program exited without cleaning up temporary files.
- When Naeon was started in restore mode but no project IDs were found, temporary files were not removed.
- When prerequisites were not met, temporary files were not removed.
Removed
- USAGE.md.
- Redundant code.
March 2022
v1.1 - 2022-03-12
Added
- In backup mode, a textfile is generated with a summary of all parts of the compressed private folder and their SHA512 checksums.
- In backup mode, a textfile is generated which displays the naeon version used.
- Help text displays current version number.
- Help text is displayed one page at a time.
Changed
- Names of splitted up tarballs in private directory, now ending with '.tar.gz' instead of their part numbers.
- Increased maximum number of parts the private folder could be split up into, from 100 to 999 (see 'SPLIT_PRIVATE_FOLDER_INTO_PARTS' in naeon.conf).
- Help text shortened.
Fixed
- When minimum file size isn't met and backup is cancelled, the project directory wasn't removed entirely.
- When executed with option -h temporary files weren't removed.
November 2021
v1.0.4 - 2021-11-28
Added
- Option in configuration file to split the private folder into n parts in order to be able to spread it over multiple locations.
- Option in configuration file to disable the creation of uuencoded versions of Master Key XML and private chunk (naeon's paper wallet).
Fixed
- When the restore path contained one or more spaces, this resulted in a warning. Solved by fixing the restore function.
July 2021
v1.0.3 - 2021-07-04
Changed
- Updated help text.
Fixed
April 2021
v1.0.2 - 2021-04-25
Added
- Function "dotted_timer" showing process indicator.
- Backup mode: now creating a list of Public Chunks, saved in the private directory under the name 'naeon-yyyymmddhhmmss-PublicChunks.txt'.
- Backup mode: gzip compression is now started as a background process.
- Backup mode: added a progress indicator "......." during gzip compression, with a dot interval of 2 seconds.
- Backup mode: added a progress indicator "......." during the creation of the Master Key XML: one dot per 100 lines.
Changed
- Moved cleanup function from backup- and restore code block to main code block.
- Some minor improvements in the layout of the console output.
March 2021
v1.0.1 - 2021-03-06
Added
- In backup mode, after adding append block, check if the size of prepend, data, and append block add up to the reported total size.
- Check if all public chunks are similar in size. If the unlikely case this happens (usually with very big archives), exit the program.
- Notification of successful decryption.
Changed
- Default self-destruct timestamp (when not set in naeon.conf) from 99990101010101 to 99991231235959.
February 2021
v1.0 - 2021-02-20
Added
- Check on the version of tar: this should be 'GNU tar' as bsdtar (standard on macOS nowadays) displays unwanted behaviour when used icw relative pathnames.
- GNU tar to the list of prerequisites.
- Extra information in the explanatory text describing the proceedings after a backup has been made.
- Better reporting in restore mode - now mentioning removing prepend and append block.
- Function check_datestring checks validity of Embargo Timestamp and Selfdestruct Timestamp in naeon.conf.
- If no Embargo Timestamp and Selfdestruct Timestamp are set in naeon.conf, they will be set to their defaults of 20200101000000 and 99990101000000 respectively.
- Check if Embargo Timestamp precedes Selfdestruct Timestamp and if not, exit.
Changed
- Text "Found:" into "Selected:" since it concerns submitted project IDs, which does not necessarily mean valid (read: found) ones.
- Tidied up code, changelog.
- Moved the tag <Naeon_version> to the top of the Master Key XML.
v0.9 - 2021-02-09
Added
- Restore mode: use of wildcards (f.e.: naeon --restore naeon-2021* or naeon --restore 20210202153948 20210202180839 20210202191220 -u -n).
- Backup mode: now reporting "Creating compressed archive" when the tarball is being built. Since this can take some time, user might otherwise wonder what's happening.
- Restore mode: clean exit with error message in case an invalid key was used for decryption (should normally never happen with the right, non-corrupted Master Key XML).
- Restore mode: now reporting "Processing naeon project .. of .." for each project (to be) restored.
- Clean exit with error message in case encryption of the input file failed.
- Option '--batch' added to the encryption command since gpg requires it when used in combination with the '--passphrase' option.
- All fatal errors now marked in red for better visual distinction between fatal errors and standard output.
- At the start of the program in restore mode, naeon now displays "Found: " followed by the selected project ID(s).
Changed
- Restore mode: better, more informative error message in case the hash of private and/or public chunks do not match those in the XML.
- Passphrase 128 characters alphameric.
- Renamed the tag <Key> in the Master Key XML to <Passphrase> which is what it in fact is: a passphrase used by the gpg command to generate the 256bit key.
- Due to the renaming of the <Key> tag in the Master Key XML, the restore mode in this version is not backwards compatible with prior versions.
- Moved major part of initializing block to before the preliminary checks.
- Moved the passphrase tag in the Master Key XML to just after the <Encryption_command> tag.
- The encryption key (passphrase) is no longer (temporarily) saved to disk, but (temporarily) kept in memory instead, and immediately cleared after use.
Fixed
- Restore mode: now skipping submitted non-existing project IDs, instead of exiting the program.
- Restore mode: when restoring more than one project ID, the naenon header is now shown only once.
- Restore mode: instead of crashing, naeon now skips to the next project ID in case a submitted project ID is missing directories and/or required files.
- Backup mode: "Creating compressed archive" was displayed one time too many.
- Created more consistency in the (position of) displayed messages in batch restore mode.
- Restore mode: improved error handling in cases where private and/or public chunks are missing, checksums do not match, or decryption was unsuccessful.
- Program exited unintentionally in restore mode when using the --unattended option.
Removed
- Command 'file' from prerequisites. On systems where it is not installed, the validity check on plaintext file lists is skipped when backing up with parameter '--list'.
v0.8 - 2021-02-02
Added
- Error log in backup mode, saved in the private directory under the name 'naeon-yyyymmddhhmmss-ErrorLog.txt'.
- Encryption program version to the Master Key XML.
- Restore mode now accepts input parameter, being the naeon project ID (yyyymmddhhmmss) with or without prefix 'neon-'. No parameter needed in case one project exists.
- libseccomp to requirements. In restore mode, the command 'file' (part of libseccomp) is needed in order to determine the file type of input file lists.
- Version numbers of required software packages.
Changed
- Renamed directories for compressed and decompressed (restored) data to their more logical names 'naeon-<yyyymmddhhmmss>-(de)compressed'.
- Variable name "NO_DECOMPRESS" into "DECOMPRESS".
- Options '--file' and '--dir' merged into '--backup'.
- Renamed folders to: naeon-<yyyymmddhhmmss>-decompressed, -compressed, -private, -public.
- In Error Log, ignore tar messages 'tar: Removing leading '/' from member names'.
- In restore mode, forward slashes removed from input parameter, so file completion will also work (when input parameter ends with a forward slash).
- In restore mode, the integrity check now displays a file counter instead of the hashes. Only in case of errors, the hash of the file in question will be displayed.
- 'tail -c' and 'head -c' replaced by 'tail --bytes' and 'head --bytes' for reasons of portability.
- In backup mode '--list', error message adjusted when input file doesn't pass the plaintext check.
- Moved the declaration of required software packages from backup and restore blocks to init block.
Fixed
- Removed rendundant message "Restored decompressed data are stored in" as this was already mentioned 3 lines before.
- Wildcards can now be used in all modes (Tim vd A).
- Some sort of non posix compliancy caused 'echo' icw the '-ne' parameter not to be working on macOS systems. Switched to printf in these instances.
January 2021
v0.7 - 2021-01-25
Added
- Support for wildcards on command line (options --file, --dir).
- Relative pathnames for files, directories, and file list now supported.
- Clean exit with status 1 when no input parameters are supplied.
- After backup, a list of files is now kept in the private directory, named 'naeon_filelist_<yyyymmddhhmmss>.txt'.
Changed
- In backup mode, creation of temporary directory moved from 'Generating encrytpion key' to 'Files & directories'.
- Files, directories and file lists should now be entered between double quotes.
- Moved private, public, and restored directory into a new 'project' directory, named 'naeon-<yyyymmddhhmmss>'.
- Naeon file list in public directory contains a detailed listing of all files in archive, with timestamp of files and their sizes.
Fixed
- Failed to backup a file which contains spaces in the name in 'backup from file' mode.
- Sending tar message 'Removing leading '/' from member names' to /dev/null since restores are done in a separate directory anyway.
- Temporary tar files were not stored in the temporary directory.
- Help texts updated.
- On macOS systems, the tar command doesn't allow to create a new tarball with the -uvf option.
- In backup mode, when minimum file size was reached, program exited without removing empty private and public directories.
- Now performing a check on empty private / public directories in restore mode.
- When option '--no_decompress' was chosen and therefore no restored directory was created, "Restored data are stored in ..." was displayed.
v0.6 - 2021-01-21
Added
- Check on unsupported input fags / arguments in parsing routine.
- All output goes to the working directory (by default this is the current directory).
- Working directory can be set in the configuration file.
- Error handling routine for non-successful creation of directories.
- New: '--list' for backup from plaintext file containing a file list: one file per line, with full pathname, no wildcards.
- Check on use of relative pathnames (tar doesn't like them when restoring, for security reasons).
Changed
- In restore mode, no creation of directory 'restored-##########' if it already exists.
- In restore mode, when option '--keep' is chosen, compressed archive is stored in the 'restored-##########' instead of current directory.
- Program directory and working directory can now be two different directories.
- Updated help text both in program and in README.md.
- Renamed some variables to more logical names.
- Creation of restore directory moved to preliminary checks.
- In attended restore mode, create temporary & restore directory only after user confirms the start of the process.
- Compacted output to the screen as much as possible, to improve readability and reduce clutter.
Fixed
- Wrong use of boolean in cleaning up compressed archive routine.
- Now checking on conflicting input parameters.
- Crashed when run from a pathname containing one or more spaces.
Removed
- Redundant check on zero input arguments, as the new parsing routine takes care of that as well.
v0.5 - 2021-01-18
Added
- Removal of compressed archive after successful backup, except when option -k is chosen.
- Removal of compressed archive after successful restore, except when option -k is chosen AND/OR DECOMPRESS_ON_RESTORE is set to no.
- Input argument '-k' or '--keep' to keep the compressed archive after backup or restore.
- Function 'show_usage' in init mode, called when no valid arguments were specified.
Changed
- Improved, less cryptic, error message on unsuccessful attempt to create compressed archive.
- Moved startup message 'Starting naeon in .. mode' to the end of intro text.
- After restore, setting the (UTC) timestamp of the backup instead of that of input file.
- Moved from configuration file to input argument: unattended mode, no decompress on restore.
- Argument parsing routine simplified.
Fixed
- Backup using wildcards.
- Suppress tar " Removing leading '/' " warnings in backup mode.
- Error message 'gpg: invalid option' when generated key started with '-'.
- On several occasions where the program exited with exit code 1, the compressed archive wasn't cleaned up.
- User input from configuration file sanitized in order to avoid non-alphanumeric characters pass through to the Master_Key.xml file.
Removed
- Inputfile timestamp variable, as the inputfile is no longer necessarily a single file but can also be a directory or group of files.
- Tag <Inputfile_timestamp> from Master_Key.XML.
- Input parameter check at the start of the backup mode, as it is done at a later moment.
- Redundant / commented out code blocks.
v0.4 - 2021-01-16
Added
- Explanatory texts in configuration file to clarify environment variables.
- MANIFEST.md.
- Argument parsing routine rewritten in order to support long options or mixing options and positional arguments together.
- Argument to display help text (-h, --help).
- Backup mode no more limited to one file. Instead, directories are now also valid as inputs. No wildcards yet.
- In backup mode, the input file(s) will be tarballed-gzipped before being encrypted.
- Option in configuration file to decompress the compressed archive after restore (no/yes, default no).
Changed
- Converted plaintext files to Markdown format.
- Backup mode is now invoked by using an input argument (-b or --backup) before the filename(s).
Removed
- Check on empty private & public directories, as they will be cleanly created with timestamp anyway.
- The obligation to have your inputfile in the current directory.
v0.3 - 2021-01-14
Added
- readme.txt.
- Warranty text in backup as well as restore mode.
- 'Haiku' (a BeOS clone) added to the list of supported platforms (linux, macOS, BSD).
- GNU Affero General Public License.
- This CHANGELOG file to hopefully serve as an evolving example of a standardized open source project NAEON.
Changed
- Text color yellow (tput setaf 226) changed into green (tput setaf 10) for better readability on white backgrounds.
Fixed
- Misspelling of 'macOS'.
- Error 'Argument list too long' when moving large numbers of Public Chunks to public directory on low memory systems.
- Missing requirements in backup mode.
- Variable 'unattended mode' was not set in restore mode.
v0.2 - 2021-01-10
Added
- Minimum size for inputfile (100,000 bytes) in order to prevent encryption key ending up in public chunk.
- Reporting on updates in size of encrypted file after: creation, insertion of prepend block, and adding append block.
- Handling the unlikely occurrence of a zero-size append block.
- Better, more structured reporting on the sizes of the chunks and their distribution.
- Tag in XML: 'Naeon_version' containing the current naeon version number.
Changed
- Replaced 'exit 0' by 'exit 1' when program is terminated unsuccessfully.
- Size of prepend block: from a random value between 1,000-500,000 bytes, to a random value between 1-10,000 bytes.
Fixed
- On BSD and macOS: when splitting the encrypted file into private and public chunks, 'bc' was not set to arithmetic mode.
- On BSD and macOS: splitting encrypted file into > 676 (26^2) parts ( x[a-z][a-z] ) resulted into error "split: too many files". Fixed: x[a-z][a-z][a-z] now maxes out on 17,576 (26^3) parts.
- Find command adjusted - now looking only for split-files x??? and no more for x?? and x?????.
v0.1 - 2021-01-08
Added
- Merged ecbu (backup program) and ecre (restore program) into 'naeon'.
- First integrated, fully functioning, encrypted backup & restore version of this program. Initial public beta version.
[PRE VERSION 0.1]
- ecre v0.8 - 2021-01-08
- ecre v0.7 - 2021-01-08
- ecbu v0.1h - 2021-01-08
- ecre v0.6 - 2021-01-07
- ecre v0.5 - 2021-01-07
- ecre v0.4 - 2021-01-07
- ecbu v0.1g - 2021-01-06
- ecre v0.3 - 2021-01-05
- ecre v0.2 - 2021-01-05
- ecre v0.1 - 2021-01-05
- ecre v0.0 - 2021-01-05
December 2020
- ecbu v0.1f - 2020-12-31
- ecbu v0.1e - 2020-12-30
- ecbu v0.1d - 2020-12-30
- ecbu v0.1c - 2020-12-29
- ecbu v0.1b - 2020-12-29
- ecbu v0.1a - 2020-12-29
- ecbu v0.0 - 2020-12-27 / 2020-12-29
- conceptualization - 2020-12-14 / 2020-12-26