Ein Verzeichnis /tmp/enigmail und ein Unterverzeichnis oder eine Datei "keyring" gibt es nicht, läßt sich aber problemlos mit den Rechten des Benutzers (also auch denen von TB/Enigmail) erstellen:
Code:
phaseolus@beanbox:/tmp$ mkdir -p /tmp/enigmail_import/
phaseolus@beanbox:/tmp$ touch /tmp/enigmail_import/keyring
phaseolus@beanbox:/tmp$ ll /tmp/enigmail_import/keyring
6815863 0 -rw-r--r-- 1 phaseolus phaseolus 0 Dez 1 09:54 /tmp/enigmail_import/keyring
Daran kann es also auch nicht liegen. (Und überhaupt: auf einem anderen Rechner mit funktionierendem Thunderbird gibt es das /tmp/enigmail_import auch nicht, und es wird bei einem Import eines Schlüssels allenfalls temporär angelegt, zu Gesicht bekam ich es jedenfalls nicht.)
Ich habe mittlerweile den Verdacht, Enigmail (offenbar Javascript?) kann vielleicht keine Prozesse starten kann. Die nicht gestarteten Prozesse führen dann natürlich auch die gewünschten Dateioperationen "fehlerhaft" aus...?
Code:
getKeyListFromKeyBlock: function(keyBlockStr, errorMsgObj) {
var ret = [];
let keyTypeObj = this.getKeyFileType(keyBlockStr);
if (keyTypeObj.keyType === KEY_BLOCK_UNKNOWN) {
errorMsgObj.value = EnigmailLocale.getString("notFirstBlock");
return ret;
}
if (keyTypeObj.keyType === KEY_BLOCK_REVOCATION) {
this.importRevocationCert(keyBlockStr, keyTypeObj.packetStr);
errorMsgObj.value = "";
return ret;
}
const tempDir = EnigmailFiles.createTempSubDir("enigmail_import", true);
const tempPath = EnigmailFiles.getFilePath(tempDir);
const args = EnigmailGpg.getStandardArgs(true).concat([
"--import",
"--trustdb", tempPath + "/trustdb",
"--no-default-keyring", "--keyring", tempPath + "/keyring"
]);
const exitCodeObj = {};
const statusMsgObj = {};
EnigmailExecution.execCmd(EnigmailGpg.agentPath, args, keyBlockStr, exitCodeObj, {}, statusMsgObj, errorMsgObj);
Das scheint mir die kritische Stelle zu sein. Bin aber kein Entwickler und überfragt damit, (a) wie man das gezielt testen könnte und (b) welche Systembestandteile (libs) alles daran beteiligt sind, die vielleicht in einer unpassenden Versionskombination vorliegen. (Auch wenn das, schon klar, "eigentlich" dank Paketverwaltung nicht passieren dürfte. Der Unterschied zwischen Theorie und Praxis ist in der Praxis aber oftmals größer als in der Theorie ,-) )
Um erst mal pauschal sicherzustellen, keine beschädigte Anwendungs-, System- oder Bibliotheksdateien zu haben, lasse ich mal ein
Code:
apt-get install --reinstall $(dpkg --get-selections | grep install | grep -v deinstall | sed 's/\t.*//g')
laufen, um alle installierten Pakete abermals zu installieren...
Lesezeichen