Page Menu
Home
GnuPG
Search
Configure Global Search
Log In
Files
F20064466
passwords.jsm
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Size
2 KB
Subscribers
None
passwords.jsm
View Options
/*global Components: false */
/*jshint -W097 */
/*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
"use strict";
var EXPORTED_SYMBOLS = ["EnigmailPassword"];
const Cu = Components.utils;
Cu.import("resource://enigmail/lazy.jsm"); /*global EnigmailLazy: false */
Cu.import("resource://enigmail/prefs.jsm"); /*global EnigmailPrefs: false */
Cu.import("resource://enigmail/core.jsm"); /*global EnigmailCore: false */
Cu.import("resource://enigmail/subprocess.jsm"); /*global subprocess: false */
const gpgAgent = EnigmailLazy.loader("enigmail/gpgAgent.jsm", "EnigmailGpgAgent");
const getDialog = EnigmailLazy.loader("enigmail/dialog.jsm", "EnigmailDialog");
const getLocale = EnigmailLazy.loader("enigmail/locale.jsm", "EnigmailLocale");
const EnigmailPassword = {
/*
* Get GnuPG command line options for receiving the password depending
* on the various user and system settings (gpg-agent/no passphrase)
*
* @return: Array the GnuPG command line options
*/
command: function() {
return ["--use-agent"];
},
getMaxIdleMinutes: function() {
try {
return EnigmailPrefs.getPref("maxIdleMinutes");
}
catch (ex) {}
return 5;
},
clearPassphrase: function(win) {
// clear all passphrases from gpg-agent by reloading the config
if (!EnigmailCore.getService()) return;
let exitCode = -1;
let isError = 0;
const proc = {
command: gpgAgent().connGpgAgentPath,
arguments: [],
charset: null,
environment: EnigmailCore.getEnvList(),
stdin: function(pipe) {
pipe.write("RELOADAGENT\n");
pipe.write("/bye\n");
pipe.close();
},
stdout: function(data) {
if (data.search(/^ERR/m) >= 0) {
++isError;
}
}
};
try {
exitCode = subprocess.call(proc).wait();
}
catch (ex) {}
if (isError === 0) {
getDialog().alert(win, getLocale().getString("passphraseCleared"));
}
else {
getDialog().alert(win, getLocale().getString("cannotClearPassphrase"));
}
}
};
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sun, Feb 23, 7:15 PM (5 h, 31 m)
Storage Engine
local-disk
Storage Format
Raw Data
Storage Handle
97/39/6fc2dfb4030dd7ae35ffc5a984fe
Attached To
rENIG Enigmail
Event Timeline
Log In to Comment