Significant enhancements to secure data handling (especially on iOS)

This commit is contained in:
2026-02-07 23:07:26 -05:00
parent 0e232a5fdd
commit bfc6d97773
9 changed files with 82 additions and 75 deletions
-58
View File
@@ -65,61 +65,3 @@ int main() {
FreeArray(result.r1);
}
```
# Progress
- [X] age
- [X] AllPasswordEntries(forceReage bool, rcwPassword []byte) error
- [X] Entry(vanityPath string, timestamp int64) error
- [X] TranslateAgeTimestamp(timestamp *int64) uint8
- [X] clip
- [X] ~~ClearArgument() error~~ (clipclear argument not supported)
- [X] ClearProcess(assignedContents string) error
- [X] CopyShortcut(realPath string, field int) error
- [X] CopyString(clearClipboardAutomatically bool, copySubject string) error
- [X] ~~LaunchClearProcess(copySubject string)~~ (clipclear argument not supported)
- [X] ~~TOTPCopier(secret string, errorChan chan<- error, done <-chan bool)~~ (not supported due to complexity)
- [X] config
- [X] Write(cfg *CfgT, appendMode bool) error
- [X] Load() (*CfgT, error)
- [X] core
- [X] EntryAddPrecheck(realPath string) (uint8, error)
- [X] EntryIsNotEmpty(entryData []string) bool
- [X] EntryRefresh(oldRCWPassword, newRCWPassword []byte, removeOldDir bool) error
- [X] GenTOTP(secret string, time time.Time) (string, error)
- [X] GetOldEntryData(realPath string, field int, rcwPassword []byte) ([]string, error)
- [X] ~~LibmuttonInit(inputCB func(prompt string) string, rcwPassword []byte, ...) error~~ (should be performed manually)
- [X] RCWSanityCheckGen(password []byte) error
- [X] VerifyEntries(rcwPassword []byte) error
- [X] WriteEntry(realPath string, decSlice []string, passwordIsNew bool, rcwPassword []byte) error
- [X] crypt
- [X] ~~VAR: RetryPassword bool~~ (RCWD not supported)
- [X] DecryptFileToSlice(realPath string) ([]string, error)
- [X] EncryptBytes(decBytes []byte) []byte
- [X] ~~RCWDArgument()~~ (RCWD not supported)
- [X] global
- [X] ~~VAR (CB func): GetPassword~~ (RCWD not supported)
- [X] VAR LibmuttonVersion (GetVersion())
- [X] DirInit(preserveOldCfgDir bool) (string, error)
- [X] ~~GenDeviceIDList() ([]fs.DirEntry, error)~~ (not for use outside of libmutton)
- [X] GetCurrentDeviceID() (string, error)
- [X] GetRealAgePath(vanityPath string) string
- [X] GetRealPath(vanityPath string) string
- [X] ~~GetSysProcAttr() *syscall.SysProcAttr~~ (not for use outside of libmutton)
- [X] GetVanityPath(realPath string) string
- [X] syncclient
- [X] AddFolderRemote(vanityPath string) error
- [X] GenDeviceID(oldDeviceID, prefix string) (string, string, bool, error)
- [X] ~~GetSSHClient() (*ssh.Client, bool, *bool, *string, *string, error)~~ (not for use outside of libmutton)
- [X] ~~GetSSHOutput(sshClient *ssh.Client, cmd, stdin string) ([]byte, error)~~ (not for use outside of libmutton)
- [X] RenameRemote(oldVanityPath, newVanityPath string) error
- [X] ShearRemote(vanityPath string, onlyShearAgeFile bool) error
- [X] RunJob() (*syncListsT, error)
- [X] synccommon
- [X] ~~AddFolderLocal(vanityPath string) error~~ (not for use outside of libmutton)
- [X] ~~RenameLocal(oldVanityPath, newVanityPath string) error~~ (not for use outside of libmutton)
- [X] ~~ShearAgeFileLocal(vanityPath string) error~~ (not for use outside of libmutton)
- [X] ~~ShearLocal(vanityPath, clientDeviceID string, onlyShearAgeFile bool) (string, bool, error)~~ (not for use outside of libmutton)
- [X] WalkEntryDir() ([]string, []string, error)
- [X] GetAllEntryData() (EntryMapT, error)
- [X] syncserver
- [X] ~~GetRemoteDataFromServer(clientDeviceID string)~~ (not for use outside of libmutton)