|
|
void | startReencryptPath () |
| | Emitted before starting re-encryption.
|
|
void | endReencryptPath () |
| | Emitted after finishing re-encryption.
|
|
void | error (QProcess::ProcessError) |
| | Emitted when a process error occurs.
|
|
void | startingExecuteWrapper () |
| | Emitted before executing a command.
|
| void | statusMsg (const QString &msg, int timeout) |
| | Emit status message.
|
| void | critical (const QString &title, const QString &message) |
| | Emit critical error.
|
| void | processErrorExit (int exitCode, const QString &err) |
| | Emitted on process error exit.
|
| void | finishedAny (const QString &out, const QString &err) |
| | Emitted when any operation finishes.
|
| void | finishedGitInit (const QString &out, const QString &err) |
| | Emitted when Git init finishes.
|
| void | finishedGitPull (const QString &out, const QString &err) |
| | Emitted when Git pull finishes.
|
| void | finishedGitPush (const QString &out, const QString &err) |
| | Emitted when Git push finishes.
|
| void | finishedShow (const QString &out) |
| | Emitted when show finishes.
|
| void | finishedOtpGenerate (const QString &out) |
| | Emitted when OTP generation finishes.
|
| void | finishedInsert (const QString &out, const QString &err) |
| | Emitted when insert finishes.
|
| void | finishedRemove (const QString &out, const QString &err) |
| | Emitted when remove finishes.
|
| void | finishedInit (const QString &out, const QString &err) |
| | Emitted when init finishes.
|
| void | finishedMove (const QString &out, const QString &err) |
| | Emitted when move finishes.
|
| void | finishedCopy (const QString &out, const QString &err) |
| | Emitted when copy finishes.
|
| void | finishedGenerate (const QString &out, const QString &err) |
| | Emitted when generate finishes.
|
| void | finishedGenerateGPGKeys (const QString &out, const QString &err) |
| | Emitted when GPG key generation finishes.
|
| void | finishedGrep (const QList< QPair< QString, QStringList > > &results) |
| | Emitted when grep finishes with matching results.
|
|
| void | executeMoveGit (const QString &src, const QString &destFile, bool force) |
| | Execute git move operation.
|
| void | gitCommit (const QString &file, const QString &msg) |
| | Commit changes to git.
|
| void | executeGit (PROCESS id, const QStringList &args, QString input=QString(), bool readStdout=true, bool readStderr=true) |
| | Execute git command.
|
| void | executeGpg (PROCESS id, const QStringList &args, QString input=QString(), bool readStdout=true, bool readStderr=true) |
| | Execute GPG command.
|
|
| ImitatePass () |
| | Construct ImitatePass instance.
|
|
| ~ImitatePass () override |
| | Destructor.
|
| void | GitInit () override |
| | Initialize Git repository.
|
| void | GitPull () override |
| | Pull from remote.
|
| void | GitPull_b () override |
| | Pull with rebase.
|
| void | GitPush () override |
| | Push to remote.
|
| void | Show (QString file) override |
| | Show decrypted password.
|
| void | OtpGenerate (QString file) override |
| | Generate OTP.
|
| void | Insert (QString file, QString newValue, bool overwrite=false) override |
| | Insert new password.
|
| void | Remove (QString file, bool isDir=false) override |
| | Remove password.
|
| void | Init (QString path, const QList< UserInfo > &users) override |
| | Initialize store.
|
| void | reencryptPath (const QString &dir) |
| | Re-encrypt entire directory.
|
| void | Move (const QString src, const QString dest, const bool force=false) override |
| | Move password file.
|
| void | Copy (const QString src, const QString dest, const bool force=false) override |
| | Copy password file.
|
| void | Grep (QString pattern, bool caseInsensitive=false) override |
| | Search all password content by GPG-decrypting each .gpg file.
|
|
| Pass () |
| | Construct a Pass instance.
|
|
void | init () |
| | Initialize the Pass instance.
|
| virtual auto | generatePassword (unsigned int length, const QString &charset) -> QString |
| | Generate random password.
|
| void | GenerateGPGKeys (QString batch) |
| | Generate GPG keys using batch script.
|
| auto | listKeys (QStringList keystrings, bool secret=false) -> QList< UserInfo > |
| | List GPG keys matching patterns.
|
| auto | listKeys (const QString &keystring="", bool secret=false) -> QList< UserInfo > |
| | List GPG keys.
|
|
void | updateEnv () |
| | Update environment for subprocesses.
|
|
| auto | verifyGpgIdFile (const QString &file) -> bool |
| | Verify .gpg-id file exists and is valid.
|
| auto | removeDir (const QString &dirName) -> bool |
| | Remove directory recursively.
|
| auto | checkSigningKeys (const QStringList &signingKeys) -> bool |
| | Check if signing keys are valid.
|
| void | writeGpgIdFile (const QString &gpgIdFile, const QList< UserInfo > &users) |
| | Write recipients to .gpg-id file.
|
| auto | signGpgIdFile (const QString &gpgIdFile, const QStringList &signingKeys) -> bool |
| | Sign .gpg-id file with signing keys.
|
| void | gitAddGpgId (const QString &gpgIdFile, const QString &gpgIdSigFile, bool addFile, bool addSigFile) |
| | Add .gpg-id to git staging.
|
| auto | verifyGpgIdForDir (const QString &file, QStringList &gpgIdFilesVerified, QStringList &gpgId) -> bool |
| | Verify .gpg-id file for a directory.
|
| auto | createBackupCommit () -> bool |
| | Create git backup commit before re-encryption.
|
| auto | getKeysFromFile (const QString &fileName) -> QStringList |
| | Read recipients from file.
|
| auto | reencryptSingleFile (const QString &fileName, const QStringList &recipients) -> bool |
| | Re-encrypt single file with new recipients.
|
| auto | resolveMoveDestination (const QString &src, const QString &dest, bool force) -> QString |
| | Resolve destination for move operation.
|
| void | finished (int id, int exitCode, const QString &out, const QString &err) override |
| | Handle process completion.
|
| void | executeWrapper (PROCESS id, const QString &app, const QStringList &args, QString input, bool readStdout=true, bool readStderr=true) override |
| | Execute command wrapper.
|
| void | executeWrapper (PROCESS id, const QString &app, const QStringList &args, bool readStdout=true, bool readStderr=true) |
| | Execute external wrapper command.
|
| auto | generateRandomPassword (const QString &charset, unsigned int length) -> QString |
| | Generate random password from charset.
|
| auto | boundedRandom (quint32 bound) -> quint32 |
| | Generate random number in range.
|
| void | setEnvVar (const QString &key, const QString &value) |
| | Set or remove an environment variable.
|
Implementation that imitates 'pass' when the real tool is unavailable.
ImitatePass provides a complete password store implementation using direct GPG operations when 'pass' is not installed or not enabled. It handles:
- Direct GPG encryption/decryption
- Git operations via direct subprocess calls
- GPG key management and recipient lists
- File-based password storage (.gpg files)
- Re-encryption when recipients change
This is used as a fallback when RealPass cannot be initialized.
Definition at line 26 of file imitatepass.h.