68 QString input = QString(),
bool readStdout =
true,
69 bool readStderr =
true);
80 const QString &dest,
bool force);
89 auto passName(
const QString &path,
bool stripGpg)
const -> QString;
100 [[nodiscard]]
auto insertWritten(
const QString &err)
const ->
bool override;
118 auto storeGit(
const QStringList &args, QString *out) ->
bool override;
137 const QString &except = QString()) -> bool;
159 QSet<QString> &verified,
const QString &within = QString(),
160 const QString &except = QString()) -> bool;
228 void Show(QString file)
override;
235 void Insert(QString file, QString newValue,
bool overwrite)
override;
247 void Remove(QString file,
bool isDir)
override;
253 void Init(QString path,
const QList<UserInfo> &users)
override;
264 void finished(
int id,
int exitCode,
const QString &out,
265 const QString &err)
override;
275 void Move(
const QString src,
const QString dest,
const bool force)
override;
282 void Copy(
const QString src,
const QString dest,
const bool force)
override;
293 void Grep(QString pattern,
bool caseInsensitive)
override;
The detached signature on a store's .gpg-id: whether the configured signing key is usable,...
Full-text search over a password store without pass grep: every .gpg file is decrypted with gpg on a ...
Enums::PROCESS PROCESS
Alias for Enums::PROCESS used throughout this class.
Pass()
Construct a Pass instance.
void finishLinkCommit(const LinkCommit &commit, const QString &out, const QString &err)
Judge a queued linked-folder removal commit by what is left staged in the store it ran in: pass git e...
void Remove(QString file, bool isDir) override
Remove an entry or folder with pass rm.
void Init(QString path, const QList< UserInfo > &users) override
Initialize password store.
void Copy(const QString src, const QString dest, const bool force) override
Copy password file or directory.
auto storeGit(const QStringList &args, QString *out) -> bool override
Run a git command in the store through pass git, blocking.
QQueue< InsertRecord > m_insertPending
auto refuseList(const QString &file, const GpgIdSigner &signer, QSet< QString > &verified, const QString &within=QString(), const QString &except=QString()) -> bool
The checks of refuseUnverifiedList() for file's nearest list, once per list.
void Insert(QString file, QString newValue, bool overwrite) override
Insert new password.
void Show(QString file) override
Show decrypted password.
InsertRecord m_insertDone
The insert whose completion is being handled.
void GitPull_b() override
Pull with rebase.
RealPass()
Construct a RealPass instance.
void onDequeuing(int id, bool completes)
The executor is about to run (or drop) its next item: for an insert, take its entry from m_insertQueu...
void passMoveOrCopy(PROCESS id, const QString &subcommand, const QString &src, const QString &dest, bool force)
Shared implementation of Move and Copy via pass mv/pass cp.
auto passName(const QString &path, bool stripGpg) const -> QString
path as pass names it: relative to the store, without the .gpg pass appends itself.
auto refuseUnverifiedList(const QString &file) -> bool
With signing on, refuse to have pass encrypt file when the signed list it would use is not one QtPass...
static auto entryFingerprint(const QString &path) -> QByteArray
A SHA-256 of the regular file path (opened without following a link or blocking on a FIFO).
void GitInit() override
Initialize Git repository in password store.
void GitPull() override
Pull changes from remote.
QQueue< LinkCommit > m_linkCommits
void Move(const QString src, const QString dest, const bool force) override
Move password file or directory.
void finished(int id, int exitCode, const QString &out, const QString &err) override
Finish a process; a linked-folder removal commit (GIT_COMMIT, which RealPass uses for nothing else) i...
void executePass(PROCESS id, const QStringList &args, QString input=QString(), bool readStdout=true, bool readStderr=true)
Execute pass command with arguments.
void GitPush() override
Push changes to remote.
auto insertWritten(const QString &err) const -> bool override
Whether the failed pass insert wrote its entry before its git step failed. pass does not say,...
void Grep(QString pattern, bool caseInsensitive) override
Search all password content by GPG-decrypting each real .gpg file, as ImitatePass does.
auto refuseUnverifiedTree(const QString &dir, bool onlyListsWithin, const QString &except=QString()) -> bool
For a folder pass is about to re-encrypt in a move or copy: refuse when the signed list of one of its...
auto listSigner() -> GpgIdSigner
The verifier for signed lists, gpg in the store's environment.
QQueue< QString > m_insertQueue
The entries of the queued inserts, oldest first.
NativeGrep, the content search that decrypts every entry on a worker thread instead of running pass g...
Pass, the abstract password-store backend that RealPass and ImitatePass implement,...
QString target
The entry's file.
QByteArray before
Its fingerprint when the insert started.
QString rel
The folder, relative to the store.
QProcessEnvironment environment