Commit Graph
100 Commits
Author SHA1 Message Date
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
RandyTheSilly 05371866ce Write and append to config file using ini package 2024-06-05 14:56:17 -04:00
RandyTheSilly 9693d2608b Enforce more consistent meanings for the various field separator characters 2024-06-04 21:51:58 -04:00
RandyTheSilly 3c5f508835 Server stdin migration: register 2024-06-04 20:05:12 -04:00
RandyTheSilly b62eb70036 Server stdin migration: shear 2024-06-04 15:57:00 -04:00
RandyTheSilly bdbf2af091 Server stdin migration: fetch 2024-06-04 15:38:46 -04:00
RandyTheSilly da5a435ed6 Server stdin migration: addfolder 2024-06-04 15:33:50 -04:00
RandyTheSilly 0b7ce10a78 Add initial support for reading stdin from the server binary 2024-06-04 15:09:57 -04:00
RandyTheSilly 2d77a294bd Fix Windows sync (WalkEntryDir now returns only UNIX-style separators); fix setting remote mod time on remote files when downloading; fix server binary compilation; fix init failing silently during SSH configuration 2024-05-31 01:23:50 -04:00
RandyTheSilly 55a8f0e9ca Fix init deleting device ID immediately after generating it; fix sync failure for non-manual syncs 2024-05-30 23:25:08 -04:00
RandyTheSilly c3dd0ae737 Save server EntryRoot and OS type during init, use to progress toward Windows server support 2024-05-30 22:57:05 -04:00
RandyTheSilly 1571e0a53b Simplify clipboard build constraints 2024-05-30 22:21:39 -04:00
RandyTheSilly b71aaf6568 No longer unnecessarily send client OS type to server 2024-05-30 22:15:51 -04:00
RandyTheSilly 5d4232637b Lay groundwork for NT/UNIX-like sync interoperability 2024-05-30 22:12:29 -04:00
RandyTheSilly 64001fa76a Add "wsl_clipboard" build tag for creating Linux binaries that use the Windows clipboard 2024-05-29 15:42:15 -04:00
RandyTheSilly 971556aabc Reorganize function parameters to not specify repeat types 2024-05-29 13:23:08 -04:00
RandyTheSilly 53f88e8739 Fix error when shearing without a device ID (offline mode) 2024-05-29 13:07:26 -04:00
RandyTheSilly c2f6023cbe Move TOTP secrets to a dedicated entry field (breaks sshyp entry format compatibility) 2024-05-21 19:21:42 -04:00
RandyTheSilly ca7633d791 When syncing deletions, specify that a target is only sheared if it exists 2024-05-19 21:20:22 -04:00
RandyTheSilly cfa61c4170 Format deletions messages to match new upload/download messages 2024-05-19 21:14:23 -04:00
RandyTheSilly 188e118a0c Set modification times during syncs - sync support is now usably functional 2024-05-19 21:04:07 -04:00
RandyTheSilly c5b7e76b88 Do not call sftpSync if no entries need to be uploaded/downloaded 2024-05-19 20:24:42 -04:00
RandyTheSilly bc9f8ed971 Only call sftpSync once, as it now iterates over provided lists without the need to create a new sftp client for each entry 2024-05-19 20:20:02 -04:00
RandyTheSilly f320c7887f Reduce size of server binary by not compiling SSH 2024-05-19 19:34:28 -04:00
RandyTheSilly 2525eca904 Switch from SCP to SFTP for sync 2024-05-19 17:30:39 -04:00
RandyTheSilly 0e4a796ed5 Promote native sync to replace sshyp-based sync on all platforms 2024-05-17 19:49:49 -04:00
RandyTheSilly ecce45cfeb Make server respond to "fetch" with output formatted for the client's OS family 2024-05-17 19:36:23 -04:00
RandyTheSilly 332a932d80 Fix building for Windows 2024-05-17 18:08:44 -04:00
RandyTheSilly 2a9c68e353 Implement initial SCP functionality (not yet usable due to mod times not being preserved) 2024-05-17 15:44:15 -04:00
RandyTheSilly f448d914d6 Ensure a device ID exists when sending a "fetch" command to libmuttonserver 2024-05-17 12:32:05 -04:00
RandyTheSilly 224289d404 Fix import cycle (over SSH keyfile passphrase input) 2024-05-17 12:25:10 -04:00