Commit Graph
100 Commits
Author SHA1 Message Date
RandyTheSilly 89b74cec1e Allow removing keys from config file 2025-01-16 13:47:30 -05:00
RandyTheSilly 0162b737c8 Fix crash for SSH dialing errors on interactive clients 2025-01-12 21:16:21 -05:00
RandyTheSilly 1c650d4751 Avoid hard closing/crashing interative clients on SSH dialing failures 2025-01-12 20:47:20 -05:00
RandyTheSilly 5028fb21b0 Add 3-second timeout for SSH connection attempts 2025-01-12 20:35:43 -05:00
RandyTheSilly 4ca97834f4 Fix formatting of copyright date in version info output 2025-01-11 18:11:27 -05:00
RandyTheSilly b37dfdb912 Bump copyright date 2025-01-11 17:58:46 -05:00
RandyTheSilly cdb2318dc1 Bump golang.org/x/crypto to v0.32.0; bump golang.org/x/sys to v0.29.0 2025-01-11 17:49:44 -05:00
RandyTheSilly 68e3108741 Allow returning lists of synchronized entries from sync.RunJob 2025-01-11 17:47:27 -05:00
RandyTheSilly b5dd8ec502 Specify that termux binaries should target Android 2024-12-29 19:49:41 -05:00
RandyTheSilly d2034b458b Export WriteToStdin for use by clients 2024-12-29 19:38:05 -05:00
RandyTheSilly fc2e77d8b8 Bump version constant to "0.D.0" to indicate development version of v0.3.0 2024-12-29 16:28:18 -05:00
RandyTheSilly c28d45c9da Allow forcing one-off functions in sync package to operate in offline mode 2024-12-29 16:25:13 -05:00
RandyTheSilly 2feeeb74d7 Return errors from ParseConfig (facilitates GUI development) 2024-12-29 16:23:08 -05:00
RandyTheSilly 1a1d4ed1e4 Fix typo in ParseConfig documentation 2024-12-28 19:53:14 -05:00
RandyTheSilly a4a39a3a99 Support passphrase-protected SSH identity files on non-CLI clients 2024-12-28 15:09:17 -05:00
RandyTheSilly 1b9237af0b Fix support for non-Linux/BSD platforms; rename file for clarity 2024-12-21 17:30:42 -05:00
RandyTheSilly 049af83390 Rename "returnOnExit" build tag to "interactive" 2024-12-21 16:07:45 -05:00
RandyTheSilly f9aa2fc374 Export LaunchClipClearProcess; use more reliable method to manipulate os.Args for GUI clients 2024-12-21 16:05:04 -05:00
RandyTheSilly 3b57d59ddc Allow clearing the clipboard instantly; improve code sharing between platforms; facilitate GUI/TUI client development regarding the clipboard 2024-12-21 15:31:14 -05:00
RandyTheSilly 9ed7b8ad9b Fix typo in README.md 2024-12-20 20:55:16 -05:00
RandyTheSilly a4864b6544 Specify "clipclear" now only needs to be accepted for non-interactive CLI implementations 2024-12-20 20:49:54 -05:00
RandyTheSilly 619e4220a6 Implement unique clipboard clearing behavior for interactive GUI/TUI implementations 2024-12-20 20:29:16 -05:00
RandyTheSilly f2f9c523f4 Do not declare outputSlice variable in DecryptGPG 2024-12-20 19:44:36 -05:00
RandyTheSilly 1cebb39546 Fix soft exit function not specifying a return value 2024-12-16 13:10:07 -05:00
RandyTheSilly 1db9467446 Prepare for release v0.2.4 2024-12-13 12:17:08 -05:00
RandyTheSilly 3e966ade11 Bump golang.org/x/crypto to v0.31.0 to address CVE-2024-45337 2024-12-13 12:00:55 -05:00
RandyTheSilly dd6bde5e4d Bump Go to v1.23.4; bump dependencies 2024-12-10 16:47:00 -05:00
RandyTheSilly 91fdeb53d5 Do not infer MIME type when copying data on UNIX-like systems 2024-12-10 16:28:42 -05:00
RandyTheSilly d613ace494 Remove commit.sh 2024-10-29 17:18:35 -04:00
RandyTheSilly 003c373cc8 Update roadmap 2024-10-19 17:05:10 -04:00
RandyTheSilly cdb58e9984 Add "1output" to .gitignore; add Go bump to patch notes 2024-10-19 16:27:28 -04:00
RandyTheSilly 4f923e7272 Prepare for release v0.2.3 2024-10-19 16:20:34 -04:00
RandyTheSilly fcde9689c8 Bump dependencies 2024-10-19 16:11:56 -04:00
RandyTheSilly ab3f6be41b Bump Go to v1.23.2 2024-10-19 16:07:39 -04:00
RandyTheSilly 1fb2834844 Fix renaming an entry/folder to an invalid path still attempting the rename on the server 2024-10-18 12:34:17 -04:00
RandyTheSilly 7b4241b2cd Prepare for release v0.2.2 2024-08-20 21:00:24 -04:00
RandyTheSilly de508d17f2 Fix edited entries (edited to have fewer lines than before) not being truncated during sync (regression from 88b7a6be6d) 2024-08-20 01:05:11 -04:00
RandyTheSilly f5a635004a Prepare for release v0.2.1 2024-08-13 21:30:46 -04:00
RandyTheSilly 4c54349b39 Assign error-specific exit codes to constants 2024-08-13 20:48:20 -04:00
RandyTheSilly a1c9827c04 Move FSSpace, FSPath, and FSMisc constants to core package to avoid import cycles 2024-08-13 20:28:33 -04:00
RandyTheSilly be46b0d6b2 Fix init if devices directory does not exist/is empty 2024-08-13 20:21:11 -04:00
RandyTheSilly b1fc8e3c4d Bump: golang.org/x/sys v0.23.0 => v0.24.0 2024-08-13 18:43:33 -04:00
RandyTheSilly 645bd964e6 Create and close sshClient instances in one-off sync functions (ShearRemoteFromClient, RenameRemoteFromClient, AddFolderRemoteFromClient) 2024-08-13 18:41:47 -04:00
RandyTheSilly 88b7a6be6d Create all config/entry files (both local and remote) with 0600 permissions 2024-08-13 17:20:15 -04:00
RandyTheSilly cbf9139713 Handle remaining errors in sync/client.go 2024-08-13 16:21:55 -04:00
RandyTheSilly d67114b9ba Simplify TOTP copy message 2024-08-13 15:54:59 -04:00
RandyTheSilly 7d51d12b55 Remove old device ID from server in DeviceIDGen 2024-08-12 15:53:40 -04:00
RandyTheSilly e861b2b6f3 Close sshClient at the end of RunJob 2024-08-12 14:22:58 -04:00
RandyTheSilly bb1ecc5bae Handle or explicitly ignore all remaining errors 2024-08-12 14:13:48 -04:00
RandyTheSilly ed9c4e91ff Implement error-specific exit codes 2024-08-11 20:21:01 -04:00
RandyTheSilly 06b9527a33 Properly format function documentation comments 2024-08-11 16:37:28 -04:00
RandyTheSilly 9f43337437 Call GetSSHClient once in a full sync procedure, reusing the client (fixes multiple keyfile passphrase prompts) 2024-08-11 15:01:24 -04:00
RandyTheSilly 102ef6955c Mention MUTN in README.md 2024-08-08 20:10:14 -04:00
RandyTheSilly 38f3896e99 [wiki] Add bug mentioned in developer guide to known bugs list 2024-08-08 20:04:29 -04:00
RandyTheSilly cf796c984d [wiki] Add server binary build info; link to developer guide from README.md 2024-08-08 20:00:04 -04:00
RandyTheSilly 49ec3d6c62 [wiki] Fix links to various wiki pages 2024-08-08 19:45:25 -04:00
RandyTheSilly baf4236162 Add roadmap to README.md 2024-08-08 19:43:00 -04:00
RandyTheSilly 13af0a97b5 Add gofmt targets 2024-08-08 19:16:26 -04:00
RandyTheSilly e31e451bf5 Update .gitignore 2024-08-08 18:44:06 -04:00
RandyTheSilly f5e5cd31bb Move libmuttonserver.go to this repo 2024-08-08 17:39:18 -04:00
RandyTheSilly d82188f566 [wiki] Remove extra subdirectory 2024-08-08 16:57:13 -04:00
RandyTheSilly ef2a3dbbb2 Add go.mod and go.sum 2024-08-08 16:53:29 -04:00
RandyTheSilly c83a3aa018 Rename "backend" package to "core" 2024-08-08 16:49:34 -04:00
RandyTheSilly ba4f7f2340 Move packages out of src/ 2024-08-08 16:35:03 -04:00
RandyTheSilly 57d7cdf8f9 Restore README.md and commit.sh (lost in migration) 2024-08-08 16:15:10 -04:00
RandyTheSilly a0d9318fe9 Prepare for release v0.2.0 2024-08-06 14:57:09 -04:00
RandyTheSilly 9df37b0890 Announce TOTP code has been copied only after the entry has already been decrypted 2024-07-30 18:32:14 -04:00
RandyTheSilly afaef3685b [wiki/MUTN] Add basic setup and usage instructions 2024-07-19 17:56:42 -04:00
RandyTheSilly a382d31997 Fail early if adding an entry to a directory that does not exist (or if the directory is a file) 2024-07-19 15:53:54 -04:00
RandyTheSilly af88c89b50 Fix rename prompting for new location before verifying old one exists 2024-07-19 13:48:14 -04:00
RandyTheSilly 0f4eff440e [wiki/libmutton] Update known bugs list and add a relevant bug to the developer guide 2024-07-18 17:51:05 -04:00
RandyTheSilly a76452d9bb Improve StringGen to allow creating file name-safe complex strings; remove in-code references to future additions 2024-07-18 17:04:48 -04:00
RandyTheSilly fa35469ca9 When server and client clocks are out of sync, warn the user that they should update mod times even if the pending upload operations appear correct 2024-07-18 16:16:50 -04:00
RandyTheSilly 6366800c84 Do not upload/download any entries if the client and server time are more than 30 seconds out of sync; appropriately warn the user 2024-07-18 15:55:50 -04:00
RandyTheSilly 7a48544932 Fix ANSI escapes (on Windows) not being interpreted after using GPG pinentry 2024-07-17 18:54:29 -04:00
RandyTheSilly d5e07bdeb6 Allow writing to different section headers in libmutton.ini 2024-07-17 15:49:45 -04:00
RandyTheSilly 3ae85adc18 Move text editor determination to cli package 2024-07-17 14:59:57 -04:00
RandyTheSilly 7ab0c91c0e Allow parsing different section headers in libmutton.ini 2024-07-17 14:44:18 -04:00
RandyTheSilly 93f8e1d867 [wiki/libmutton] Add config file info to developer guide 2024-07-15 14:54:47 -04:00
RandyTheSilly a2a92985af Replace use of ASCII control characters with unicode characters allowed in Windows filenames (fixes shearing with a Windows server) 2024-07-10 15:23:13 -04:00
RandyTheSilly 6b3a136c5e Fix "shear" throwing errors if no device ID is present (instead of running in offline mode) 2024-07-10 02:07:59 -04:00
RandyTheSilly d5146d7625 Split sync.Rename into separate functions for client and server to avoid compiling SSH into the server binary 2024-07-10 00:01:59 -04:00
RandyTheSilly cef8c47161 Implement synchronized renaming 2024-07-09 23:18:13 -04:00
RandyTheSilly f8d23489c0 Append UNIX timestamp to device ID to guarantee uniqueness 2024-07-09 16:42:47 -04:00
RandyTheSilly 6273485aea Do not always save executable name in memory in sync package 2024-07-09 16:04:03 -04:00
RandyTheSilly 9a8f2db78e Fix printing full executable path in error messages on Windows 2024-07-09 15:20:36 -04:00
RandyTheSilly 08af2a3761 [wiki/libmutton] Add developer guide (for third-party implementations) 2024-07-07 23:52:33 -04:00
RandyTheSilly 40c5db5940 [wiki/libmutton] Add guide for migrating from other password managers 2024-07-07 23:25:25 -04:00
RandyTheSilly 5691ff852d [wiki/libmutton] Add list of planned breaking changes 2024-07-07 22:23:21 -04:00
RandyTheSilly 8f68da4d28 [wiki/MUTN] Add list of Windows quirks 2024-07-06 00:18:32 -04:00
RandyTheSilly 6ab274b99f Implement initial markdown wiki w/copy of clipboard troubleshooting info from sshyp 2024-07-05 23:42:40 -04:00
RandyTheSilly eea4570a89 Replace most occurrences of os.Exit(0) in the backend and sync packages with a custom backend.Exit function that can allow "soft exit" in GUI/TUI environments to avoid killing the entire process; currently all major errors still result in killing the entire process 2024-07-05 22:18:17 -04:00
RandyTheSilly ec0587ba5b Remove mention of "mutn" in sync package error messages to account for third-party CLI clients 2024-07-05 21:55:56 -04:00
RandyTheSilly 349cd49e4d Handle error for failing to create local device ID file 2024-06-05 18:29:38 -04:00
RandyTheSilly 779d9d0c78 Improve error clarity in cli.editNote 2024-06-05 18:19:01 -04:00
RandyTheSilly dea4f56190 Handle error in writeToStdin; remove unused function removeFile 2024-06-05 18:05:26 -04:00
RandyTheSilly 321bfc5194 Handle error for GPG key generation failure 2024-06-05 17:53:30 -04:00
RandyTheSilly a804cf7cff Handle error for failing to read clipboard contents on all platforms 2024-06-05 17:45:49 -04:00
RandyTheSilly f7cc27f88d Improve generic UNIX clipboard clearing logic 2024-06-05 17:43:21 -04:00
RandyTheSilly 641648b815 Provide feedback after successful server directory initialization 2024-06-05 17:24:45 -04:00