pax_global_header 0000666 0000000 0000000 00000000064 13213001347 0014504 g ustar 00root root 0000000 0000000 52 comment=913ed1f17c413eb04052167cc6a3094285cfdc81
enigmail/ 0000775 0000000 0000000 00000000000 13213001347 0012635 5 ustar 00root root 0000000 0000000 enigmail/.eslintrc.js 0000664 0000000 0000000 00000002644 13213001347 0015102 0 ustar 00root root 0000000 0000000 module.exports = {
"rules": {
"linebreak-style": [
2,
"unix"
],
"semi": [
2,
"always"
],
"strict": [2, "global"],
"no-unused-vars": 0,
"no-empty": 0,
"comma-dangle": 0,
"consistent-return": 0,
"block-scoped-var": 2,
"dot-notation": 2,
"no-alert": 2,
"no-caller": 2,
"no-case-declarations": 2,
"no-div-regex": 2,
"no-labels": 2,
"no-empty-pattern": 2,
"no-eq-null": 2,
"no-eval": 2,
"no-extend-native": 2,
"no-extra-bind": 2,
"no-fallthrough": 2,
"no-floating-decimal": 2,
"no-implicit-coercion": 2,
"no-implied-eval": 2,
"no-invalid-this": 2,
"no-iterator": 2,
"no-labels": 2,
"no-lone-blocks": 2,
"no-loop-func": 2,
"no-multi-str": 2,
"no-native-reassign": 2,
"no-new-func": 2,
"no-new-wrappers": 2,
"no-new": 2,
"no-octal-escape": 2,
"no-process-env": 2,
"no-proto": 2,
"no-redeclare": [2, {
"builtinGlobals": true
}],
"no-return-assign": 2,
"no-script-url": 2,
"no-self-compare": 2,
"no-sequences": 2,
"no-unused-expressions": 2,
"no-useless-call": 2,
"no-useless-concat": 2,
"no-void": 2,
"no-with": 2,
"radix": 2,
"wrap-iife": [2, "inside"],
"yoda": 2,
// TODO:
//"eqeqeq": 2,
},
"env": {
"es6": true,
"browser": true,
"node": true,
},
"extends": "eslint:recommended"
};
enigmail/.gitattributes 0000664 0000000 0000000 00000000053 13213001347 0015526 0 ustar 00root root 0000000 0000000 *.xul text
*.rdf text
*.js text
*.jsm text
enigmail/.gitignore 0000664 0000000 0000000 00000000702 13213001347 0014624 0 ustar 00root root 0000000 0000000 # generated files:
*.pyc
*.dtd.gen
*.properties.gen
/config.log
/config.status
/config/autoconf.mk
/build
/ui/content/enigmailBuildDate.js
/ipc/src/subprocess.o
/public/_xpidlgen
ipc/src/libsubprocess-*.dylib
ipc/src/libsubprocess-*.so
/test_output.log
/ipc/tests/ipc-data.txt
# vi tmp files:
*.swp
*.swo
# emacs tmp files:
\#*\#
.dir-locals.el
# backup files:
*~
# vagrant files:
provisioning/.vagrant
# other local configuration files:
.ackrc
enigmail/.jsbeautifyrc 0000664 0000000 0000000 00000001150 13213001347 0015325 0 ustar 00root root 0000000 0000000 {
"indent_size": 2,
"indent_char": " ",
"eol": "\n",
"indent_level": 0,
"indent_with_tabs": false,
"preserve_newlines": true,
"max_preserve_newlines": 10,
"jslint_happy": false,
"space_after_anon_function": false,
"brace_style": "end-expand",
"keep_array_indentation": false,
"keep_function_indentation": false,
"space_before_conditional": true,
"break_chained_methods": false,
"eval_code": false,
"unescape_strings": false,
"wrap_line_length": 0,
"wrap_attributes": "auto",
"wrap_attributes_indent_size": 4,
"end_with_newline": true
}
enigmail/.travis.yml 0000664 0000000 0000000 00000000521 13213001347 0014744 0 ustar 00root root 0000000 0000000 language: c
sudo: required
compiler:
- gcc
install:
provisioning/provision-travis.sh
script:
- ./configure
- make > /dev/null 2>&1
- Xvfb :99 >/dev/null 2>&1 &
- export DISPLAY=:99
- ./configure --enable-tests --with-tb-path=$(which thunderbird)
- make
- ./build.sh
- ./test.sh
after_failure:
- cat test_output.log
enigmail/COMPILING 0000664 0000000 0000000 00000001014 13213001347 0014075 0 ustar 00root root 0000000 0000000 Instructions for compiling and packaging Enigmail
=================================================
Prerequisites
-------------
In order to build Enigmail you will need the following helper tools:
- GNU make 3.81 or newer
- zip
- python 2.7 or newer
- perl 5 or newer
If you want to execute unit tests, you will also need:
- eslint (installable via node.js / npm, see http://eslint.org)
Building
--------
Execute the following commands:
./configure
make
The resulting XPI file can be found in the "build" directory.
enigmail/Makefile 0000664 0000000 0000000 00000001772 13213001347 0014304 0 ustar 00root root 0000000 0000000 # 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/.
XPI_MODULE = enigmail
XPI_MODULE_VERS = 1.9.9
DEPTH = .
include $(DEPTH)/config/autoconf.mk
DIRS = ipc public
DIRS += ui package lang
ALL = dirs xpi
ifeq ($(TESTS),yes)
ALL += test
endif
XPIFILE = $(XPI_MODULE)-$(XPI_MODULE_VERS).xpi
.PHONY: dirs $(DIRS) test
all: $(ALL)
dirs: $(DIRS)
$(DIRS):
$(MAKE) -C $@
xpi:
$(srcdir)/util/genxpi $(XPIFILE) $(XPI_MODULE_VERS) $(DIST) $(srcdir) $(XPI_MODULE) $(ENABLE_LANG)
check:
util/checkFiles.py
eslint:
static_analysis/eslint ipc
static_analysis/eslint package
unit:
make -C package/tests
make -C ui/tests
test: eslint check unit
clean:
rm -f build/$(XPIFILE)
for dir in $(DIRS); do \
if [ "$${dir}x" != "checkx" ]; then \
$(MAKE) -C $$dir clean; fi; \
done
distclean: clean
rm -rf build/*
rm -f config/autoconf.mk config.log config.status
enigmail/build.sh 0000775 0000000 0000000 00000000503 13213001347 0014271 0 ustar 00root root 0000000 0000000 #!/usr/bin/env bash
#
# 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/.
#
export TB_PATH=${TB_PATH:-`which thunderbird`}
make clean
./configure --with-tb-path=$TB_PATH
make
enigmail/config.guess 0000775 0000000 0000000 00000127166 13213001347 0015172 0 ustar 00root root 0000000 0000000 #! /bin/sh
# Attempt to guess a canonical system name.
# Copyright 1992-2013 Free Software Foundation, Inc.
timestamp='2013-02-12'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, see .
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that
# program. This Exception is an additional permission under section 7
# of the GNU General Public License, version 3 ("GPLv3").
#
# Originally written by Per Bothner.
#
# You can get the latest version of this script from:
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
#
# Please send patches with a ChangeLog entry to config-patches@gnu.org.
me=`echo "$0" | sed -e 's,.*/,,'`
usage="\
Usage: $0 [OPTION]
Output the configuration name of the system \`$me' is run on.
Operation modes:
-h, --help print this help, then exit
-t, --time-stamp print date of last modification, then exit
-v, --version print version number, then exit
Report bugs and patches to ."
version="\
GNU config.guess ($timestamp)
Originally written by Per Bothner.
Copyright 1992-2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
help="
Try \`$me --help' for more information."
# Parse command line
while test $# -gt 0 ; do
case $1 in
--time-stamp | --time* | -t )
echo "$timestamp" ; exit ;;
--version | -v )
echo "$version" ; exit ;;
--help | --h* | -h )
echo "$usage"; exit ;;
-- ) # Stop option processing
shift; break ;;
- ) # Use stdin as input.
break ;;
-* )
echo "$me: invalid option $1$help" >&2
exit 1 ;;
* )
break ;;
esac
done
if test $# != 0; then
echo "$me: too many arguments$help" >&2
exit 1
fi
trap 'exit 1' 1 2 15
# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
# compiler to aid in system detection is discouraged as it requires
# temporary files to be created and, as you can see below, it is a
# headache to deal with in a portable fashion.
# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
# use `HOST_CC' if defined, but it is deprecated.
# Portable tmp directory creation inspired by the Autoconf team.
set_cc_for_build='
trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
: ${TMPDIR=/tmp} ;
{ tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
{ test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
{ tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
{ echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
dummy=$tmp/dummy ;
tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
case $CC_FOR_BUILD,$HOST_CC,$CC in
,,) echo "int x;" > $dummy.c ;
for c in cc gcc c89 c99 ; do
if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
CC_FOR_BUILD="$c"; break ;
fi ;
done ;
if test x"$CC_FOR_BUILD" = x ; then
CC_FOR_BUILD=no_compiler_found ;
fi
;;
,,*) CC_FOR_BUILD=$CC ;;
,*,*) CC_FOR_BUILD=$HOST_CC ;;
esac ; set_cc_for_build= ;'
# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
# (ghazi@noc.rutgers.edu 1994-08-24)
if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
PATH=$PATH:/.attbin ; export PATH
fi
UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
# Note: order is significant - the case branches are not exclusive.
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
*:NetBSD:*:*)
# NetBSD (nbsd) targets should (where applicable) match one or
# more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
# *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
# switched to ELF, *-*-netbsd* would select the old
# object file format. This provides both forward
# compatibility and a consistent mechanism for selecting the
# object file format.
#
# Note: NetBSD doesn't particularly care about the vendor
# portion of the name. We always set it to "unknown".
sysctl="sysctl -n hw.machine_arch"
UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
/usr/sbin/$sysctl 2>/dev/null || echo unknown)`
case "${UNAME_MACHINE_ARCH}" in
armeb) machine=armeb-unknown ;;
arm*) machine=arm-unknown ;;
sh3el) machine=shl-unknown ;;
sh3eb) machine=sh-unknown ;;
sh5el) machine=sh5le-unknown ;;
*) machine=${UNAME_MACHINE_ARCH}-unknown ;;
esac
# The Operating System including object format, if it has switched
# to ELF recently, or will in the future.
case "${UNAME_MACHINE_ARCH}" in
arm*|i386|m68k|ns32k|sh3*|sparc|vax)
eval $set_cc_for_build
if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ELF__
then
# Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
# Return netbsd for either. FIX?
os=netbsd
else
os=netbsdelf
fi
;;
*)
os=netbsd
;;
esac
# The OS release
# Debian GNU/NetBSD machines have a different userland, and
# thus, need a distinct triplet. However, they do not need
# kernel version information, so it can be replaced with a
# suitable tag, in the style of linux-gnu.
case "${UNAME_VERSION}" in
Debian*)
release='-gnu'
;;
*)
release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
;;
esac
# Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
# contains redundant information, the shorter form:
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
echo "${machine}-${os}${release}"
exit ;;
*:Bitrig:*:*)
UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
exit ;;
*:OpenBSD:*:*)
UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
exit ;;
*:ekkoBSD:*:*)
echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
exit ;;
*:SolidBSD:*:*)
echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
exit ;;
macppc:MirBSD:*:*)
echo powerpc-unknown-mirbsd${UNAME_RELEASE}
exit ;;
*:MirBSD:*:*)
echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
exit ;;
alpha:OSF1:*:*)
case $UNAME_RELEASE in
*4.0)
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
;;
*5.*)
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
;;
esac
# According to Compaq, /usr/sbin/psrinfo has been available on
# OSF/1 and Tru64 systems produced since 1995. I hope that
# covers most systems running today. This code pipes the CPU
# types through head -n 1, so we only detect the type of CPU 0.
ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
case "$ALPHA_CPU_TYPE" in
"EV4 (21064)")
UNAME_MACHINE="alpha" ;;
"EV4.5 (21064)")
UNAME_MACHINE="alpha" ;;
"LCA4 (21066/21068)")
UNAME_MACHINE="alpha" ;;
"EV5 (21164)")
UNAME_MACHINE="alphaev5" ;;
"EV5.6 (21164A)")
UNAME_MACHINE="alphaev56" ;;
"EV5.6 (21164PC)")
UNAME_MACHINE="alphapca56" ;;
"EV5.7 (21164PC)")
UNAME_MACHINE="alphapca57" ;;
"EV6 (21264)")
UNAME_MACHINE="alphaev6" ;;
"EV6.7 (21264A)")
UNAME_MACHINE="alphaev67" ;;
"EV6.8CB (21264C)")
UNAME_MACHINE="alphaev68" ;;
"EV6.8AL (21264B)")
UNAME_MACHINE="alphaev68" ;;
"EV6.8CX (21264D)")
UNAME_MACHINE="alphaev68" ;;
"EV6.9A (21264/EV69A)")
UNAME_MACHINE="alphaev69" ;;
"EV7 (21364)")
UNAME_MACHINE="alphaev7" ;;
"EV7.9 (21364A)")
UNAME_MACHINE="alphaev79" ;;
esac
# A Pn.n version is a patched version.
# A Vn.n version is a released version.
# A Tn.n version is a released field test version.
# A Xn.n version is an unreleased experimental baselevel.
# 1.2 uses "1.2" for uname -r.
echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
exitcode=$?
trap '' 0
exit $exitcode ;;
Alpha\ *:Windows_NT*:*)
# How do we know it's Interix rather than the generic POSIX subsystem?
# Should we change UNAME_MACHINE based on the output of uname instead
# of the specific Alpha model?
echo alpha-pc-interix
exit ;;
21064:Windows_NT:50:3)
echo alpha-dec-winnt3.5
exit ;;
Amiga*:UNIX_System_V:4.0:*)
echo m68k-unknown-sysv4
exit ;;
*:[Aa]miga[Oo][Ss]:*:*)
echo ${UNAME_MACHINE}-unknown-amigaos
exit ;;
*:[Mm]orph[Oo][Ss]:*:*)
echo ${UNAME_MACHINE}-unknown-morphos
exit ;;
*:OS/390:*:*)
echo i370-ibm-openedition
exit ;;
*:z/VM:*:*)
echo s390-ibm-zvmoe
exit ;;
*:OS400:*:*)
echo powerpc-ibm-os400
exit ;;
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
echo arm-acorn-riscix${UNAME_RELEASE}
exit ;;
arm*:riscos:*:*|arm*:RISCOS:*:*)
echo arm-unknown-riscos
exit ;;
SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
echo hppa1.1-hitachi-hiuxmpp
exit ;;
Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
# akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
if test "`(/bin/universe) 2>/dev/null`" = att ; then
echo pyramid-pyramid-sysv3
else
echo pyramid-pyramid-bsd
fi
exit ;;
NILE*:*:*:dcosx)
echo pyramid-pyramid-svr4
exit ;;
DRS?6000:unix:4.0:6*)
echo sparc-icl-nx6
exit ;;
DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
case `/usr/bin/uname -p` in
sparc) echo sparc-icl-nx7; exit ;;
esac ;;
s390x:SunOS:*:*)
echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit ;;
sun4H:SunOS:5.*:*)
echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit ;;
sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit ;;
i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
echo i386-pc-auroraux${UNAME_RELEASE}
exit ;;
i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
eval $set_cc_for_build
SUN_ARCH="i386"
# If there is a compiler, see if it is configured for 64-bit objects.
# Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
# This test works for both compilers.
if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
grep IS_64BIT_ARCH >/dev/null
then
SUN_ARCH="x86_64"
fi
fi
echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit ;;
sun4*:SunOS:6*:*)
# According to config.sub, this is the proper way to canonicalize
# SunOS6. Hard to guess exactly what SunOS6 will be like, but
# it's likely to be more like Solaris than SunOS4.
echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit ;;
sun4*:SunOS:*:*)
case "`/usr/bin/arch -k`" in
Series*|S4*)
UNAME_RELEASE=`uname -v`
;;
esac
# Japanese Language versions have a version number like `4.1.3-JL'.
echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
exit ;;
sun3*:SunOS:*:*)
echo m68k-sun-sunos${UNAME_RELEASE}
exit ;;
sun*:*:4.2BSD:*)
UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
case "`/bin/arch`" in
sun3)
echo m68k-sun-sunos${UNAME_RELEASE}
;;
sun4)
echo sparc-sun-sunos${UNAME_RELEASE}
;;
esac
exit ;;
aushp:SunOS:*:*)
echo sparc-auspex-sunos${UNAME_RELEASE}
exit ;;
# The situation for MiNT is a little confusing. The machine name
# can be virtually everything (everything which is not
# "atarist" or "atariste" at least should have a processor
# > m68000). The system name ranges from "MiNT" over "FreeMiNT"
# to the lowercase version "mint" (or "freemint"). Finally
# the system name "TOS" denotes a system which is actually not
# MiNT. But MiNT is downward compatible to TOS, so this should
# be no problem.
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
echo m68k-atari-mint${UNAME_RELEASE}
exit ;;
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
echo m68k-atari-mint${UNAME_RELEASE}
exit ;;
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
echo m68k-atari-mint${UNAME_RELEASE}
exit ;;
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
echo m68k-milan-mint${UNAME_RELEASE}
exit ;;
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
echo m68k-hades-mint${UNAME_RELEASE}
exit ;;
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
echo m68k-unknown-mint${UNAME_RELEASE}
exit ;;
m68k:machten:*:*)
echo m68k-apple-machten${UNAME_RELEASE}
exit ;;
powerpc:machten:*:*)
echo powerpc-apple-machten${UNAME_RELEASE}
exit ;;
RISC*:Mach:*:*)
echo mips-dec-mach_bsd4.3
exit ;;
RISC*:ULTRIX:*:*)
echo mips-dec-ultrix${UNAME_RELEASE}
exit ;;
VAX*:ULTRIX*:*:*)
echo vax-dec-ultrix${UNAME_RELEASE}
exit ;;
2020:CLIX:*:* | 2430:CLIX:*:*)
echo clipper-intergraph-clix${UNAME_RELEASE}
exit ;;
mips:*:*:UMIPS | mips:*:*:RISCos)
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#ifdef __cplusplus
#include /* for printf() prototype */
int main (int argc, char *argv[]) {
#else
int main (argc, argv) int argc; char *argv[]; {
#endif
#if defined (host_mips) && defined (MIPSEB)
#if defined (SYSTYPE_SYSV)
printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
#endif
#if defined (SYSTYPE_SVR4)
printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
#endif
#if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
#endif
#endif
exit (-1);
}
EOF
$CC_FOR_BUILD -o $dummy $dummy.c &&
dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
SYSTEM_NAME=`$dummy $dummyarg` &&
{ echo "$SYSTEM_NAME"; exit; }
echo mips-mips-riscos${UNAME_RELEASE}
exit ;;
Motorola:PowerMAX_OS:*:*)
echo powerpc-motorola-powermax
exit ;;
Motorola:*:4.3:PL8-*)
echo powerpc-harris-powermax
exit ;;
Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
echo powerpc-harris-powermax
exit ;;
Night_Hawk:Power_UNIX:*:*)
echo powerpc-harris-powerunix
exit ;;
m88k:CX/UX:7*:*)
echo m88k-harris-cxux7
exit ;;
m88k:*:4*:R4*)
echo m88k-motorola-sysv4
exit ;;
m88k:*:3*:R3*)
echo m88k-motorola-sysv3
exit ;;
AViiON:dgux:*:*)
# DG/UX returns AViiON for all architectures
UNAME_PROCESSOR=`/usr/bin/uname -p`
if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
then
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
[ ${TARGET_BINARY_INTERFACE}x = x ]
then
echo m88k-dg-dgux${UNAME_RELEASE}
else
echo m88k-dg-dguxbcs${UNAME_RELEASE}
fi
else
echo i586-dg-dgux${UNAME_RELEASE}
fi
exit ;;
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
echo m88k-dolphin-sysv3
exit ;;
M88*:*:R3*:*)
# Delta 88k system running SVR3
echo m88k-motorola-sysv3
exit ;;
XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
echo m88k-tektronix-sysv3
exit ;;
Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
echo m68k-tektronix-bsd
exit ;;
*:IRIX*:*:*)
echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
exit ;;
????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
i*86:AIX:*:*)
echo i386-ibm-aix
exit ;;
ia64:AIX:*:*)
if [ -x /usr/bin/oslevel ] ; then
IBM_REV=`/usr/bin/oslevel`
else
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
fi
echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
exit ;;
*:AIX:2:3)
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#include
main()
{
if (!__power_pc())
exit(1);
puts("powerpc-ibm-aix3.2.5");
exit(0);
}
EOF
if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
then
echo "$SYSTEM_NAME"
else
echo rs6000-ibm-aix3.2.5
fi
elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
echo rs6000-ibm-aix3.2.4
else
echo rs6000-ibm-aix3.2
fi
exit ;;
*:AIX:*:[4567])
IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
IBM_ARCH=rs6000
else
IBM_ARCH=powerpc
fi
if [ -x /usr/bin/oslevel ] ; then
IBM_REV=`/usr/bin/oslevel`
else
IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
fi
echo ${IBM_ARCH}-ibm-aix${IBM_REV}
exit ;;
*:AIX:*:*)
echo rs6000-ibm-aix
exit ;;
ibmrt:4.4BSD:*|romp-ibm:BSD:*)
echo romp-ibm-bsd4.4
exit ;;
ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
exit ;; # report: romp-ibm BSD 4.3
*:BOSX:*:*)
echo rs6000-bull-bosx
exit ;;
DPX/2?00:B.O.S.:*:*)
echo m68k-bull-sysv3
exit ;;
9000/[34]??:4.3bsd:1.*:*)
echo m68k-hp-bsd
exit ;;
hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
echo m68k-hp-bsd4.4
exit ;;
9000/[34678]??:HP-UX:*:*)
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
case "${UNAME_MACHINE}" in
9000/31? ) HP_ARCH=m68000 ;;
9000/[34]?? ) HP_ARCH=m68k ;;
9000/[678][0-9][0-9])
if [ -x /usr/bin/getconf ]; then
sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
case "${sc_cpu_version}" in
523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
532) # CPU_PA_RISC2_0
case "${sc_kernel_bits}" in
32) HP_ARCH="hppa2.0n" ;;
64) HP_ARCH="hppa2.0w" ;;
'') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
esac ;;
esac
fi
if [ "${HP_ARCH}" = "" ]; then
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#define _HPUX_SOURCE
#include
#include
int main ()
{
#if defined(_SC_KERNEL_BITS)
long bits = sysconf(_SC_KERNEL_BITS);
#endif
long cpu = sysconf (_SC_CPU_VERSION);
switch (cpu)
{
case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
case CPU_PA_RISC2_0:
#if defined(_SC_KERNEL_BITS)
switch (bits)
{
case 64: puts ("hppa2.0w"); break;
case 32: puts ("hppa2.0n"); break;
default: puts ("hppa2.0"); break;
} break;
#else /* !defined(_SC_KERNEL_BITS) */
puts ("hppa2.0"); break;
#endif
default: puts ("hppa1.0"); break;
}
exit (0);
}
EOF
(CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
test -z "$HP_ARCH" && HP_ARCH=hppa
fi ;;
esac
if [ ${HP_ARCH} = "hppa2.0w" ]
then
eval $set_cc_for_build
# hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
# 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
# generating 64-bit code. GNU and HP use different nomenclature:
#
# $ CC_FOR_BUILD=cc ./config.guess
# => hppa2.0w-hp-hpux11.23
# $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
# => hppa64-hp-hpux11.23
if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) |
grep -q __LP64__
then
HP_ARCH="hppa2.0w"
else
HP_ARCH="hppa64"
fi
fi
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
exit ;;
ia64:HP-UX:*:*)
HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
echo ia64-hp-hpux${HPUX_REV}
exit ;;
3050*:HI-UX:*:*)
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#include
int
main ()
{
long cpu = sysconf (_SC_CPU_VERSION);
/* The order matters, because CPU_IS_HP_MC68K erroneously returns
true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
results, however. */
if (CPU_IS_PA_RISC (cpu))
{
switch (cpu)
{
case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
default: puts ("hppa-hitachi-hiuxwe2"); break;
}
}
else if (CPU_IS_HP_MC68K (cpu))
puts ("m68k-hitachi-hiuxwe2");
else puts ("unknown-hitachi-hiuxwe2");
exit (0);
}
EOF
$CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
{ echo "$SYSTEM_NAME"; exit; }
echo unknown-hitachi-hiuxwe2
exit ;;
9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
echo hppa1.1-hp-bsd
exit ;;
9000/8??:4.3bsd:*:*)
echo hppa1.0-hp-bsd
exit ;;
*9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
echo hppa1.0-hp-mpeix
exit ;;
hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
echo hppa1.1-hp-osf
exit ;;
hp8??:OSF1:*:*)
echo hppa1.0-hp-osf
exit ;;
i*86:OSF1:*:*)
if [ -x /usr/sbin/sysversion ] ; then
echo ${UNAME_MACHINE}-unknown-osf1mk
else
echo ${UNAME_MACHINE}-unknown-osf1
fi
exit ;;
parisc*:Lites*:*:*)
echo hppa1.1-hp-lites
exit ;;
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
echo c1-convex-bsd
exit ;;
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
if getsysinfo -f scalar_acc
then echo c32-convex-bsd
else echo c2-convex-bsd
fi
exit ;;
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
echo c34-convex-bsd
exit ;;
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
echo c38-convex-bsd
exit ;;
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
echo c4-convex-bsd
exit ;;
CRAY*Y-MP:*:*:*)
echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit ;;
CRAY*[A-Z]90:*:*:*)
echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
| sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
-e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
-e 's/\.[^.]*$/.X/'
exit ;;
CRAY*TS:*:*:*)
echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit ;;
CRAY*T3E:*:*:*)
echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit ;;
CRAY*SV1:*:*:*)
echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit ;;
*:UNICOS/mp:*:*)
echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
exit ;;
F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit ;;
5000:UNIX_System_V:4.*:*)
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
exit ;;
i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
exit ;;
sparc*:BSD/OS:*:*)
echo sparc-unknown-bsdi${UNAME_RELEASE}
exit ;;
*:BSD/OS:*:*)
echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
exit ;;
*:FreeBSD:*:*)
UNAME_PROCESSOR=`/usr/bin/uname -p`
case ${UNAME_PROCESSOR} in
amd64)
echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
*)
echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;;
esac
exit ;;
i*:CYGWIN*:*)
echo ${UNAME_MACHINE}-pc-cygwin
exit ;;
*:MINGW64*:*)
echo ${UNAME_MACHINE}-pc-mingw64
exit ;;
*:MINGW*:*)
echo ${UNAME_MACHINE}-pc-mingw32
exit ;;
i*:MSYS*:*)
echo ${UNAME_MACHINE}-pc-msys
exit ;;
i*:windows32*:*)
# uname -m includes "-pc" on this system.
echo ${UNAME_MACHINE}-mingw32
exit ;;
i*:PW*:*)
echo ${UNAME_MACHINE}-pc-pw32
exit ;;
*:Interix*:*)
case ${UNAME_MACHINE} in
x86)
echo i586-pc-interix${UNAME_RELEASE}
exit ;;
authenticamd | genuineintel | EM64T)
echo x86_64-unknown-interix${UNAME_RELEASE}
exit ;;
IA64)
echo ia64-unknown-interix${UNAME_RELEASE}
exit ;;
esac ;;
[345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
echo i${UNAME_MACHINE}-pc-mks
exit ;;
8664:Windows_NT:*)
echo x86_64-pc-mks
exit ;;
i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
# How do we know it's Interix rather than the generic POSIX subsystem?
# It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
# UNAME_MACHINE based on the output of uname instead of i386?
echo i586-pc-interix
exit ;;
i*:UWIN*:*)
echo ${UNAME_MACHINE}-pc-uwin
exit ;;
amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
echo x86_64-unknown-cygwin
exit ;;
p*:CYGWIN*:*)
echo powerpcle-unknown-cygwin
exit ;;
prep*:SunOS:5.*:*)
echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
exit ;;
*:GNU:*:*)
# the GNU system
echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
exit ;;
*:GNU/*:*:*)
# other systems with GNU libc and userland
echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
exit ;;
i*86:Minix:*:*)
echo ${UNAME_MACHINE}-pc-minix
exit ;;
aarch64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
aarch64_be:Linux:*:*)
UNAME_MACHINE=aarch64_be
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
alpha:Linux:*:*)
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
EV5) UNAME_MACHINE=alphaev5 ;;
EV56) UNAME_MACHINE=alphaev56 ;;
PCA56) UNAME_MACHINE=alphapca56 ;;
PCA57) UNAME_MACHINE=alphapca56 ;;
EV6) UNAME_MACHINE=alphaev6 ;;
EV67) UNAME_MACHINE=alphaev67 ;;
EV68*) UNAME_MACHINE=alphaev68 ;;
esac
objdump --private-headers /bin/sh | grep -q ld.so.1
if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
exit ;;
arm*:Linux:*:*)
eval $set_cc_for_build
if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ARM_EABI__
then
echo ${UNAME_MACHINE}-unknown-linux-gnu
else
if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ARM_PCS_VFP
then
echo ${UNAME_MACHINE}-unknown-linux-gnueabi
else
echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
fi
fi
exit ;;
avr32*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
cris:Linux:*:*)
echo ${UNAME_MACHINE}-axis-linux-gnu
exit ;;
crisv32:Linux:*:*)
echo ${UNAME_MACHINE}-axis-linux-gnu
exit ;;
frv:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
hexagon:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
i*86:Linux:*:*)
LIBC=gnu
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#ifdef __dietlibc__
LIBC=dietlibc
#endif
EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
exit ;;
ia64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
m32r*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
m68*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
mips:Linux:*:* | mips64:Linux:*:*)
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#undef CPU
#undef ${UNAME_MACHINE}
#undef ${UNAME_MACHINE}el
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
CPU=${UNAME_MACHINE}el
#else
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
CPU=${UNAME_MACHINE}
#else
CPU=
#endif
#endif
EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
;;
or1k:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
or32:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
padre:Linux:*:*)
echo sparc-unknown-linux-gnu
exit ;;
parisc64:Linux:*:* | hppa64:Linux:*:*)
echo hppa64-unknown-linux-gnu
exit ;;
parisc:Linux:*:* | hppa:Linux:*:*)
# Look for CPU level
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
PA7*) echo hppa1.1-unknown-linux-gnu ;;
PA8*) echo hppa2.0-unknown-linux-gnu ;;
*) echo hppa-unknown-linux-gnu ;;
esac
exit ;;
ppc64:Linux:*:*)
echo powerpc64-unknown-linux-gnu
exit ;;
ppc:Linux:*:*)
echo powerpc-unknown-linux-gnu
exit ;;
s390:Linux:*:* | s390x:Linux:*:*)
echo ${UNAME_MACHINE}-ibm-linux
exit ;;
sh64*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
sh*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
sparc:Linux:*:* | sparc64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
tile*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
vax:Linux:*:*)
echo ${UNAME_MACHINE}-dec-linux-gnu
exit ;;
x86_64:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
xtensa*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit ;;
i*86:DYNIX/ptx:4*:*)
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
# earlier versions are messed up and put the nodename in both
# sysname and nodename.
echo i386-sequent-sysv4
exit ;;
i*86:UNIX_SV:4.2MP:2.*)
# Unixware is an offshoot of SVR4, but it has its own version
# number series starting with 2...
# I am not positive that other SVR4 systems won't match this,
# I just have to hope. -- rms.
# Use sysv4.2uw... so that sysv4* matches it.
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
exit ;;
i*86:OS/2:*:*)
# If we were able to find `uname', then EMX Unix compatibility
# is probably installed.
echo ${UNAME_MACHINE}-pc-os2-emx
exit ;;
i*86:XTS-300:*:STOP)
echo ${UNAME_MACHINE}-unknown-stop
exit ;;
i*86:atheos:*:*)
echo ${UNAME_MACHINE}-unknown-atheos
exit ;;
i*86:syllable:*:*)
echo ${UNAME_MACHINE}-pc-syllable
exit ;;
i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
echo i386-unknown-lynxos${UNAME_RELEASE}
exit ;;
i*86:*DOS:*:*)
echo ${UNAME_MACHINE}-pc-msdosdjgpp
exit ;;
i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
else
echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
fi
exit ;;
i*86:*:5:[678]*)
# UnixWare 7.x, OpenUNIX and OpenServer 6.
case `/bin/uname -X | grep "^Machine"` in
*486*) UNAME_MACHINE=i486 ;;
*Pentium) UNAME_MACHINE=i586 ;;
*Pent*|*Celeron) UNAME_MACHINE=i686 ;;
esac
echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
exit ;;
i*86:*:3.2:*)
if test -f /usr/options/cb.name; then
UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then
UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
(/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
(/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
&& UNAME_MACHINE=i586
(/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
&& UNAME_MACHINE=i686
(/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
&& UNAME_MACHINE=i686
echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
else
echo ${UNAME_MACHINE}-pc-sysv32
fi
exit ;;
pc:*:*:*)
# Left here for compatibility:
# uname -m prints for DJGPP always 'pc', but it prints nothing about
# the processor, so we play safe by assuming i586.
# Note: whatever this is, it MUST be the same as what config.sub
# prints for the "djgpp" host, or else GDB configury will decide that
# this is a cross-build.
echo i586-pc-msdosdjgpp
exit ;;
Intel:Mach:3*:*)
echo i386-pc-mach3
exit ;;
paragon:*:*:*)
echo i860-intel-osf1
exit ;;
i860:*:4.*:*) # i860-SVR4
if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
else # Add other i860-SVR4 vendors below as they are discovered.
echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
fi
exit ;;
mini*:CTIX:SYS*5:*)
# "miniframe"
echo m68010-convergent-sysv
exit ;;
mc68k:UNIX:SYSTEM5:3.51m)
echo m68k-convergent-sysv
exit ;;
M680?0:D-NIX:5.3:*)
echo m68k-diab-dnix
exit ;;
M68*:*:R3V[5678]*:*)
test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
OS_REL=''
test -r /etc/.relid \
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
&& { echo i486-ncr-sysv4.3${OS_REL}; exit; }
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
&& { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
&& { echo i486-ncr-sysv4; exit; } ;;
NCR*:*:4.2:* | MPRAS*:*:4.2:*)
OS_REL='.3'
test -r /etc/.relid \
&& OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
&& { echo i486-ncr-sysv4.3${OS_REL}; exit; }
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
&& { echo i586-ncr-sysv4.3${OS_REL}; exit; }
/bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
&& { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
echo m68k-unknown-lynxos${UNAME_RELEASE}
exit ;;
mc68030:UNIX_System_V:4.*:*)
echo m68k-atari-sysv4
exit ;;
TSUNAMI:LynxOS:2.*:*)
echo sparc-unknown-lynxos${UNAME_RELEASE}
exit ;;
rs6000:LynxOS:2.*:*)
echo rs6000-unknown-lynxos${UNAME_RELEASE}
exit ;;
PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
echo powerpc-unknown-lynxos${UNAME_RELEASE}
exit ;;
SM[BE]S:UNIX_SV:*:*)
echo mips-dde-sysv${UNAME_RELEASE}
exit ;;
RM*:ReliantUNIX-*:*:*)
echo mips-sni-sysv4
exit ;;
RM*:SINIX-*:*:*)
echo mips-sni-sysv4
exit ;;
*:SINIX-*:*:*)
if uname -p 2>/dev/null >/dev/null ; then
UNAME_MACHINE=`(uname -p) 2>/dev/null`
echo ${UNAME_MACHINE}-sni-sysv4
else
echo ns32k-sni-sysv
fi
exit ;;
PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
# says
echo i586-unisys-sysv4
exit ;;
*:UNIX_System_V:4*:FTX*)
# From Gerald Hewes .
# How about differentiating between stratus architectures? -djm
echo hppa1.1-stratus-sysv4
exit ;;
*:*:*:FTX*)
# From seanf@swdc.stratus.com.
echo i860-stratus-sysv4
exit ;;
i*86:VOS:*:*)
# From Paul.Green@stratus.com.
echo ${UNAME_MACHINE}-stratus-vos
exit ;;
*:VOS:*:*)
# From Paul.Green@stratus.com.
echo hppa1.1-stratus-vos
exit ;;
mc68*:A/UX:*:*)
echo m68k-apple-aux${UNAME_RELEASE}
exit ;;
news*:NEWS-OS:6*:*)
echo mips-sony-newsos6
exit ;;
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
if [ -d /usr/nec ]; then
echo mips-nec-sysv${UNAME_RELEASE}
else
echo mips-unknown-sysv${UNAME_RELEASE}
fi
exit ;;
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
echo powerpc-be-beos
exit ;;
BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
echo powerpc-apple-beos
exit ;;
BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
echo i586-pc-beos
exit ;;
BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
echo i586-pc-haiku
exit ;;
x86_64:Haiku:*:*)
echo x86_64-unknown-haiku
exit ;;
SX-4:SUPER-UX:*:*)
echo sx4-nec-superux${UNAME_RELEASE}
exit ;;
SX-5:SUPER-UX:*:*)
echo sx5-nec-superux${UNAME_RELEASE}
exit ;;
SX-6:SUPER-UX:*:*)
echo sx6-nec-superux${UNAME_RELEASE}
exit ;;
SX-7:SUPER-UX:*:*)
echo sx7-nec-superux${UNAME_RELEASE}
exit ;;
SX-8:SUPER-UX:*:*)
echo sx8-nec-superux${UNAME_RELEASE}
exit ;;
SX-8R:SUPER-UX:*:*)
echo sx8r-nec-superux${UNAME_RELEASE}
exit ;;
Power*:Rhapsody:*:*)
echo powerpc-apple-rhapsody${UNAME_RELEASE}
exit ;;
*:Rhapsody:*:*)
echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
exit ;;
*:Darwin:*:*)
UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
case $UNAME_PROCESSOR in
i386)
eval $set_cc_for_build
if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
(CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
grep IS_64BIT_ARCH >/dev/null
then
UNAME_PROCESSOR="x86_64"
fi
fi ;;
unknown) UNAME_PROCESSOR=powerpc ;;
esac
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
exit ;;
*:procnto*:*:* | *:QNX:[0123456789]*:*)
UNAME_PROCESSOR=`uname -p`
if test "$UNAME_PROCESSOR" = "x86"; then
UNAME_PROCESSOR=i386
UNAME_MACHINE=pc
fi
echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
exit ;;
*:QNX:*:4*)
echo i386-pc-qnx
exit ;;
NEO-?:NONSTOP_KERNEL:*:*)
echo neo-tandem-nsk${UNAME_RELEASE}
exit ;;
NSE-*:NONSTOP_KERNEL:*:*)
echo nse-tandem-nsk${UNAME_RELEASE}
exit ;;
NSR-?:NONSTOP_KERNEL:*:*)
echo nsr-tandem-nsk${UNAME_RELEASE}
exit ;;
*:NonStop-UX:*:*)
echo mips-compaq-nonstopux
exit ;;
BS2000:POSIX*:*:*)
echo bs2000-siemens-sysv
exit ;;
DS/*:UNIX_System_V:*:*)
echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
exit ;;
*:Plan9:*:*)
# "uname -m" is not consistent, so use $cputype instead. 386
# is converted to i386 for consistency with other x86
# operating systems.
if test "$cputype" = "386"; then
UNAME_MACHINE=i386
else
UNAME_MACHINE="$cputype"
fi
echo ${UNAME_MACHINE}-unknown-plan9
exit ;;
*:TOPS-10:*:*)
echo pdp10-unknown-tops10
exit ;;
*:TENEX:*:*)
echo pdp10-unknown-tenex
exit ;;
KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
echo pdp10-dec-tops20
exit ;;
XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
echo pdp10-xkl-tops20
exit ;;
*:TOPS-20:*:*)
echo pdp10-unknown-tops20
exit ;;
*:ITS:*:*)
echo pdp10-unknown-its
exit ;;
SEI:*:*:SEIUX)
echo mips-sei-seiux${UNAME_RELEASE}
exit ;;
*:DragonFly:*:*)
echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
exit ;;
*:*VMS:*:*)
UNAME_MACHINE=`(uname -p) 2>/dev/null`
case "${UNAME_MACHINE}" in
A*) echo alpha-dec-vms ; exit ;;
I*) echo ia64-dec-vms ; exit ;;
V*) echo vax-dec-vms ; exit ;;
esac ;;
*:XENIX:*:SysV)
echo i386-pc-xenix
exit ;;
i*86:skyos:*:*)
echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//'
exit ;;
i*86:rdos:*:*)
echo ${UNAME_MACHINE}-pc-rdos
exit ;;
i*86:AROS:*:*)
echo ${UNAME_MACHINE}-pc-aros
exit ;;
x86_64:VMkernel:*:*)
echo ${UNAME_MACHINE}-unknown-esx
exit ;;
esac
eval $set_cc_for_build
cat >$dummy.c <
# include
#endif
main ()
{
#if defined (sony)
#if defined (MIPSEB)
/* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
I don't know.... */
printf ("mips-sony-bsd\n"); exit (0);
#else
#include
printf ("m68k-sony-newsos%s\n",
#ifdef NEWSOS4
"4"
#else
""
#endif
); exit (0);
#endif
#endif
#if defined (__arm) && defined (__acorn) && defined (__unix)
printf ("arm-acorn-riscix\n"); exit (0);
#endif
#if defined (hp300) && !defined (hpux)
printf ("m68k-hp-bsd\n"); exit (0);
#endif
#if defined (NeXT)
#if !defined (__ARCHITECTURE__)
#define __ARCHITECTURE__ "m68k"
#endif
int version;
version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
if (version < 4)
printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
else
printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
exit (0);
#endif
#if defined (MULTIMAX) || defined (n16)
#if defined (UMAXV)
printf ("ns32k-encore-sysv\n"); exit (0);
#else
#if defined (CMU)
printf ("ns32k-encore-mach\n"); exit (0);
#else
printf ("ns32k-encore-bsd\n"); exit (0);
#endif
#endif
#endif
#if defined (__386BSD__)
printf ("i386-pc-bsd\n"); exit (0);
#endif
#if defined (sequent)
#if defined (i386)
printf ("i386-sequent-dynix\n"); exit (0);
#endif
#if defined (ns32000)
printf ("ns32k-sequent-dynix\n"); exit (0);
#endif
#endif
#if defined (_SEQUENT_)
struct utsname un;
uname(&un);
if (strncmp(un.version, "V2", 2) == 0) {
printf ("i386-sequent-ptx2\n"); exit (0);
}
if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
printf ("i386-sequent-ptx1\n"); exit (0);
}
printf ("i386-sequent-ptx\n"); exit (0);
#endif
#if defined (vax)
# if !defined (ultrix)
# include
# if defined (BSD)
# if BSD == 43
printf ("vax-dec-bsd4.3\n"); exit (0);
# else
# if BSD == 199006
printf ("vax-dec-bsd4.3reno\n"); exit (0);
# else
printf ("vax-dec-bsd\n"); exit (0);
# endif
# endif
# else
printf ("vax-dec-bsd\n"); exit (0);
# endif
# else
printf ("vax-dec-ultrix\n"); exit (0);
# endif
#endif
#if defined (alliant) && defined (i860)
printf ("i860-alliant-bsd\n"); exit (0);
#endif
exit (1);
}
EOF
$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` &&
{ echo "$SYSTEM_NAME"; exit; }
# Apollos put the system type in the environment.
test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; }
# Convex versions that predate uname can use getsysinfo(1)
if [ -x /usr/convex/getsysinfo ]
then
case `getsysinfo -f cpu_type` in
c1*)
echo c1-convex-bsd
exit ;;
c2*)
if getsysinfo -f scalar_acc
then echo c32-convex-bsd
else echo c2-convex-bsd
fi
exit ;;
c34*)
echo c34-convex-bsd
exit ;;
c38*)
echo c38-convex-bsd
exit ;;
c4*)
echo c4-convex-bsd
exit ;;
esac
fi
cat >&2 < in order to provide the needed
information to handle your system.
config.guess timestamp = $timestamp
uname -m = `(uname -m) 2>/dev/null || echo unknown`
uname -r = `(uname -r) 2>/dev/null || echo unknown`
uname -s = `(uname -s) 2>/dev/null || echo unknown`
uname -v = `(uname -v) 2>/dev/null || echo unknown`
/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
hostinfo = `(hostinfo) 2>/dev/null`
/bin/universe = `(/bin/universe) 2>/dev/null`
/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
/bin/arch = `(/bin/arch) 2>/dev/null`
/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
UNAME_MACHINE = ${UNAME_MACHINE}
UNAME_RELEASE = ${UNAME_RELEASE}
UNAME_SYSTEM = ${UNAME_SYSTEM}
UNAME_VERSION = ${UNAME_VERSION}
EOF
exit 1
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "timestamp='"
# time-stamp-format: "%:y-%02m-%02d"
# time-stamp-end: "'"
# End:
enigmail/config.sub 0000775 0000000 0000000 00000105257 13213001347 0014632 0 ustar 00root root 0000000 0000000 #! /bin/sh
# Configuration validation subroutine script.
# Copyright 1992-2013 Free Software Foundation, Inc.
timestamp='2013-02-12'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, see .
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that
# program. This Exception is an additional permission under section 7
# of the GNU General Public License, version 3 ("GPLv3").
# Please send patches with a ChangeLog entry to config-patches@gnu.org.
#
# Configuration subroutine to validate and canonicalize a configuration type.
# Supply the specified configuration type as an argument.
# If it is invalid, we print an error message on stderr and exit with code 1.
# Otherwise, we print the canonical config type on stdout and succeed.
# You can get the latest version of this script from:
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD
# This file is supposed to be the same for all GNU packages
# and recognize all the CPU types, system types and aliases
# that are meaningful with *any* GNU software.
# Each package is responsible for reporting which valid configurations
# it does not support. The user should be able to distinguish
# a failure to support a valid configuration from a meaningless
# configuration.
# The goal of this file is to map all the various variations of a given
# machine specification into a single specification in the form:
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
# or in some cases, the newer four-part form:
# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
# It is wrong to echo any other type of specification.
me=`echo "$0" | sed -e 's,.*/,,'`
usage="\
Usage: $0 [OPTION] CPU-MFR-OPSYS
$0 [OPTION] ALIAS
Canonicalize a configuration name.
Operation modes:
-h, --help print this help, then exit
-t, --time-stamp print date of last modification, then exit
-v, --version print version number, then exit
Report bugs and patches to ."
version="\
GNU config.sub ($timestamp)
Copyright 1992-2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
help="
Try \`$me --help' for more information."
# Parse command line
while test $# -gt 0 ; do
case $1 in
--time-stamp | --time* | -t )
echo "$timestamp" ; exit ;;
--version | -v )
echo "$version" ; exit ;;
--help | --h* | -h )
echo "$usage"; exit ;;
-- ) # Stop option processing
shift; break ;;
- ) # Use stdin as input.
break ;;
-* )
echo "$me: invalid option $1$help"
exit 1 ;;
*local*)
# First pass through any local machine types.
echo $1
exit ;;
* )
break ;;
esac
done
case $# in
0) echo "$me: missing argument$help" >&2
exit 1;;
1) ;;
*) echo "$me: too many arguments$help" >&2
exit 1;;
esac
# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
# Here we must recognize all the valid KERNEL-OS combinations.
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
knetbsd*-gnu* | netbsd*-gnu* | \
kopensolaris*-gnu* | \
storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;;
android-linux)
os=-linux-android
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
;;
*)
basic_machine=`echo $1 | sed 's/-[^-]*$//'`
if [ $basic_machine != $1 ]
then os=`echo $1 | sed 's/.*-/-/'`
else os=; fi
;;
esac
### Let's recognize common machines as not being operating systems so
### that things like config.sub decstation-3100 work. We also
### recognize some manufacturers as not being operating systems, so we
### can provide default operating systems below.
case $os in
-sun*os*)
# Prevent following clause from handling this invalid input.
;;
-dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
-att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
-unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
-apple | -axis | -knuth | -cray | -microblaze*)
os=
basic_machine=$1
;;
-bluegene*)
os=-cnk
;;
-sim | -cisco | -oki | -wec | -winbond)
os=
basic_machine=$1
;;
-scout)
;;
-wrs)
os=-vxworks
basic_machine=$1
;;
-chorusos*)
os=-chorusos
basic_machine=$1
;;
-chorusrdb)
os=-chorusrdb
basic_machine=$1
;;
-hiux*)
os=-hiuxwe2
;;
-sco6)
os=-sco5v6
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco5)
os=-sco3.2v5
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco4)
os=-sco3.2v4
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco3.2.[4-9]*)
os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco3.2v[4-9]*)
# Don't forget version if it is 3.2v4 or newer.
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco5v6*)
# Don't forget version if it is 3.2v4 or newer.
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-sco*)
os=-sco3.2v2
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-udk*)
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-isc)
os=-isc2.2
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-clix*)
basic_machine=clipper-intergraph
;;
-isc*)
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
-lynx*178)
os=-lynxos178
;;
-lynx*5)
os=-lynxos5
;;
-lynx*)
os=-lynxos
;;
-ptx*)
basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
;;
-windowsnt*)
os=`echo $os | sed -e 's/windowsnt/winnt/'`
;;
-psos*)
os=-psos
;;
-mint | -mint[0-9]*)
basic_machine=m68k-atari
os=-mint
;;
esac
# Decode aliases for certain CPU-COMPANY combinations.
case $basic_machine in
# Recognize the basic CPU types without company name.
# Some are omitted here because they have special meanings below.
1750a | 580 \
| a29k \
| aarch64 | aarch64_be \
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
| am33_2.0 \
| arc \
| arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
| avr | avr32 \
| be32 | be64 \
| bfin \
| c4x | clipper \
| d10v | d30v | dlx | dsp16xx \
| epiphany \
| fido | fr30 | frv \
| h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
| hexagon \
| i370 | i860 | i960 | ia64 \
| ip2k | iq2000 \
| le32 | le64 \
| lm32 \
| m32c | m32r | m32rle | m68000 | m68k | m88k \
| maxq | mb | microblaze | microblazeel | mcore | mep | metag \
| mips | mipsbe | mipseb | mipsel | mipsle \
| mips16 \
| mips64 | mips64el \
| mips64octeon | mips64octeonel \
| mips64orion | mips64orionel \
| mips64r5900 | mips64r5900el \
| mips64vr | mips64vrel \
| mips64vr4100 | mips64vr4100el \
| mips64vr4300 | mips64vr4300el \
| mips64vr5000 | mips64vr5000el \
| mips64vr5900 | mips64vr5900el \
| mipsisa32 | mipsisa32el \
| mipsisa32r2 | mipsisa32r2el \
| mipsisa64 | mipsisa64el \
| mipsisa64r2 | mipsisa64r2el \
| mipsisa64sb1 | mipsisa64sb1el \
| mipsisa64sr71k | mipsisa64sr71kel \
| mipsr5900 | mipsr5900el \
| mipstx39 | mipstx39el \
| mn10200 | mn10300 \
| moxie \
| mt \
| msp430 \
| nds32 | nds32le | nds32be \
| nios | nios2 | nios2eb | nios2el \
| ns16k | ns32k \
| open8 \
| or1k | or32 \
| pdp10 | pdp11 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle \
| pyramid \
| rl78 | rx \
| score \
| sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
| sh64 | sh64le \
| sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
| sparcv8 | sparcv9 | sparcv9b | sparcv9v \
| spu \
| tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
| ubicom32 \
| v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
| we32k \
| x86 | xc16x | xstormy16 | xtensa \
| z8k | z80)
basic_machine=$basic_machine-unknown
;;
c54x)
basic_machine=tic54x-unknown
;;
c55x)
basic_machine=tic55x-unknown
;;
c6x)
basic_machine=tic6x-unknown
;;
m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
basic_machine=$basic_machine-unknown
os=-none
;;
m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
;;
ms1)
basic_machine=mt-unknown
;;
strongarm | thumb | xscale)
basic_machine=arm-unknown
;;
xgate)
basic_machine=$basic_machine-unknown
os=-none
;;
xscaleeb)
basic_machine=armeb-unknown
;;
xscaleel)
basic_machine=armel-unknown
;;
# We use `pc' rather than `unknown'
# because (1) that's what they normally are, and
# (2) the word "unknown" tends to confuse beginning users.
i*86 | x86_64)
basic_machine=$basic_machine-pc
;;
# Object if more than one company name word.
*-*-*)
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
exit 1
;;
# Recognize the basic CPU types with company name.
580-* \
| a29k-* \
| aarch64-* | aarch64_be-* \
| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
| alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
| avr-* | avr32-* \
| be32-* | be64-* \
| bfin-* | bs2000-* \
| c[123]* | c30-* | [cjt]90-* | c4x-* \
| clipper-* | craynv-* | cydra-* \
| d10v-* | d30v-* | dlx-* \
| elxsi-* \
| f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
| h8300-* | h8500-* \
| hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
| hexagon-* \
| i*86-* | i860-* | i960-* | ia64-* \
| ip2k-* | iq2000-* \
| le32-* | le64-* \
| lm32-* \
| m32c-* | m32r-* | m32rle-* \
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
| m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
| microblaze-* | microblazeel-* \
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
| mips16-* \
| mips64-* | mips64el-* \
| mips64octeon-* | mips64octeonel-* \
| mips64orion-* | mips64orionel-* \
| mips64r5900-* | mips64r5900el-* \
| mips64vr-* | mips64vrel-* \
| mips64vr4100-* | mips64vr4100el-* \
| mips64vr4300-* | mips64vr4300el-* \
| mips64vr5000-* | mips64vr5000el-* \
| mips64vr5900-* | mips64vr5900el-* \
| mipsisa32-* | mipsisa32el-* \
| mipsisa32r2-* | mipsisa32r2el-* \
| mipsisa64-* | mipsisa64el-* \
| mipsisa64r2-* | mipsisa64r2el-* \
| mipsisa64sb1-* | mipsisa64sb1el-* \
| mipsisa64sr71k-* | mipsisa64sr71kel-* \
| mipsr5900-* | mipsr5900el-* \
| mipstx39-* | mipstx39el-* \
| mmix-* \
| mt-* \
| msp430-* \
| nds32-* | nds32le-* | nds32be-* \
| nios-* | nios2-* | nios2eb-* | nios2el-* \
| none-* | np1-* | ns16k-* | ns32k-* \
| open8-* \
| orion-* \
| pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
| powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
| pyramid-* \
| rl78-* | romp-* | rs6000-* | rx-* \
| sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
| shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
| sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
| sparclite-* \
| sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx?-* \
| tahoe-* \
| tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
| tile*-* \
| tron-* \
| ubicom32-* \
| v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
| vax-* \
| we32k-* \
| x86-* | x86_64-* | xc16x-* | xps100-* \
| xstormy16-* | xtensa*-* \
| ymp-* \
| z8k-* | z80-*)
;;
# Recognize the basic CPU types without company name, with glob match.
xtensa*)
basic_machine=$basic_machine-unknown
;;
# Recognize the various machine names and aliases which stand
# for a CPU type and a company and sometimes even an OS.
386bsd)
basic_machine=i386-unknown
os=-bsd
;;
3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
basic_machine=m68000-att
;;
3b*)
basic_machine=we32k-att
;;
a29khif)
basic_machine=a29k-amd
os=-udi
;;
abacus)
basic_machine=abacus-unknown
;;
adobe68k)
basic_machine=m68010-adobe
os=-scout
;;
alliant | fx80)
basic_machine=fx80-alliant
;;
altos | altos3068)
basic_machine=m68k-altos
;;
am29k)
basic_machine=a29k-none
os=-bsd
;;
amd64)
basic_machine=x86_64-pc
;;
amd64-*)
basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
amdahl)
basic_machine=580-amdahl
os=-sysv
;;
amiga | amiga-*)
basic_machine=m68k-unknown
;;
amigaos | amigados)
basic_machine=m68k-unknown
os=-amigaos
;;
amigaunix | amix)
basic_machine=m68k-unknown
os=-sysv4
;;
apollo68)
basic_machine=m68k-apollo
os=-sysv
;;
apollo68bsd)
basic_machine=m68k-apollo
os=-bsd
;;
aros)
basic_machine=i386-pc
os=-aros
;;
aux)
basic_machine=m68k-apple
os=-aux
;;
balance)
basic_machine=ns32k-sequent
os=-dynix
;;
blackfin)
basic_machine=bfin-unknown
os=-linux
;;
blackfin-*)
basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
os=-linux
;;
bluegene*)
basic_machine=powerpc-ibm
os=-cnk
;;
c54x-*)
basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
c55x-*)
basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
c6x-*)
basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
c90)
basic_machine=c90-cray
os=-unicos
;;
cegcc)
basic_machine=arm-unknown
os=-cegcc
;;
convex-c1)
basic_machine=c1-convex
os=-bsd
;;
convex-c2)
basic_machine=c2-convex
os=-bsd
;;
convex-c32)
basic_machine=c32-convex
os=-bsd
;;
convex-c34)
basic_machine=c34-convex
os=-bsd
;;
convex-c38)
basic_machine=c38-convex
os=-bsd
;;
cray | j90)
basic_machine=j90-cray
os=-unicos
;;
craynv)
basic_machine=craynv-cray
os=-unicosmp
;;
cr16 | cr16-*)
basic_machine=cr16-unknown
os=-elf
;;
crds | unos)
basic_machine=m68k-crds
;;
crisv32 | crisv32-* | etraxfs*)
basic_machine=crisv32-axis
;;
cris | cris-* | etrax*)
basic_machine=cris-axis
;;
crx)
basic_machine=crx-unknown
os=-elf
;;
da30 | da30-*)
basic_machine=m68k-da30
;;
decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
basic_machine=mips-dec
;;
decsystem10* | dec10*)
basic_machine=pdp10-dec
os=-tops10
;;
decsystem20* | dec20*)
basic_machine=pdp10-dec
os=-tops20
;;
delta | 3300 | motorola-3300 | motorola-delta \
| 3300-motorola | delta-motorola)
basic_machine=m68k-motorola
;;
delta88)
basic_machine=m88k-motorola
os=-sysv3
;;
dicos)
basic_machine=i686-pc
os=-dicos
;;
djgpp)
basic_machine=i586-pc
os=-msdosdjgpp
;;
dpx20 | dpx20-*)
basic_machine=rs6000-bull
os=-bosx
;;
dpx2* | dpx2*-bull)
basic_machine=m68k-bull
os=-sysv3
;;
ebmon29k)
basic_machine=a29k-amd
os=-ebmon
;;
elxsi)
basic_machine=elxsi-elxsi
os=-bsd
;;
encore | umax | mmax)
basic_machine=ns32k-encore
;;
es1800 | OSE68k | ose68k | ose | OSE)
basic_machine=m68k-ericsson
os=-ose
;;
fx2800)
basic_machine=i860-alliant
;;
genix)
basic_machine=ns32k-ns
;;
gmicro)
basic_machine=tron-gmicro
os=-sysv
;;
go32)
basic_machine=i386-pc
os=-go32
;;
h3050r* | hiux*)
basic_machine=hppa1.1-hitachi
os=-hiuxwe2
;;
h8300hms)
basic_machine=h8300-hitachi
os=-hms
;;
h8300xray)
basic_machine=h8300-hitachi
os=-xray
;;
h8500hms)
basic_machine=h8500-hitachi
os=-hms
;;
harris)
basic_machine=m88k-harris
os=-sysv3
;;
hp300-*)
basic_machine=m68k-hp
;;
hp300bsd)
basic_machine=m68k-hp
os=-bsd
;;
hp300hpux)
basic_machine=m68k-hp
os=-hpux
;;
hp3k9[0-9][0-9] | hp9[0-9][0-9])
basic_machine=hppa1.0-hp
;;
hp9k2[0-9][0-9] | hp9k31[0-9])
basic_machine=m68000-hp
;;
hp9k3[2-9][0-9])
basic_machine=m68k-hp
;;
hp9k6[0-9][0-9] | hp6[0-9][0-9])
basic_machine=hppa1.0-hp
;;
hp9k7[0-79][0-9] | hp7[0-79][0-9])
basic_machine=hppa1.1-hp
;;
hp9k78[0-9] | hp78[0-9])
# FIXME: really hppa2.0-hp
basic_machine=hppa1.1-hp
;;
hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
# FIXME: really hppa2.0-hp
basic_machine=hppa1.1-hp
;;
hp9k8[0-9][13679] | hp8[0-9][13679])
basic_machine=hppa1.1-hp
;;
hp9k8[0-9][0-9] | hp8[0-9][0-9])
basic_machine=hppa1.0-hp
;;
hppa-next)
os=-nextstep3
;;
hppaosf)
basic_machine=hppa1.1-hp
os=-osf
;;
hppro)
basic_machine=hppa1.1-hp
os=-proelf
;;
i370-ibm* | ibm*)
basic_machine=i370-ibm
;;
i*86v32)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv32
;;
i*86v4*)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv4
;;
i*86v)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv
;;
i*86sol2)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-solaris2
;;
i386mach)
basic_machine=i386-mach
os=-mach
;;
i386-vsta | vsta)
basic_machine=i386-unknown
os=-vsta
;;
iris | iris4d)
basic_machine=mips-sgi
case $os in
-irix*)
;;
*)
os=-irix4
;;
esac
;;
isi68 | isi)
basic_machine=m68k-isi
os=-sysv
;;
m68knommu)
basic_machine=m68k-unknown
os=-linux
;;
m68knommu-*)
basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
os=-linux
;;
m88k-omron*)
basic_machine=m88k-omron
;;
magnum | m3230)
basic_machine=mips-mips
os=-sysv
;;
merlin)
basic_machine=ns32k-utek
os=-sysv
;;
microblaze*)
basic_machine=microblaze-xilinx
;;
mingw64)
basic_machine=x86_64-pc
os=-mingw64
;;
mingw32)
basic_machine=i386-pc
os=-mingw32
;;
mingw32ce)
basic_machine=arm-unknown
os=-mingw32ce
;;
miniframe)
basic_machine=m68000-convergent
;;
*mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
basic_machine=m68k-atari
os=-mint
;;
mips3*-*)
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
;;
mips3*)
basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
;;
monitor)
basic_machine=m68k-rom68k
os=-coff
;;
morphos)
basic_machine=powerpc-unknown
os=-morphos
;;
msdos)
basic_machine=i386-pc
os=-msdos
;;
ms1-*)
basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
;;
msys)
basic_machine=i386-pc
os=-msys
;;
mvs)
basic_machine=i370-ibm
os=-mvs
;;
nacl)
basic_machine=le32-unknown
os=-nacl
;;
ncr3000)
basic_machine=i486-ncr
os=-sysv4
;;
netbsd386)
basic_machine=i386-unknown
os=-netbsd
;;
netwinder)
basic_machine=armv4l-rebel
os=-linux
;;
news | news700 | news800 | news900)
basic_machine=m68k-sony
os=-newsos
;;
news1000)
basic_machine=m68030-sony
os=-newsos
;;
news-3600 | risc-news)
basic_machine=mips-sony
os=-newsos
;;
necv70)
basic_machine=v70-nec
os=-sysv
;;
next | m*-next )
basic_machine=m68k-next
case $os in
-nextstep* )
;;
-ns2*)
os=-nextstep2
;;
*)
os=-nextstep3
;;
esac
;;
nh3000)
basic_machine=m68k-harris
os=-cxux
;;
nh[45]000)
basic_machine=m88k-harris
os=-cxux
;;
nindy960)
basic_machine=i960-intel
os=-nindy
;;
mon960)
basic_machine=i960-intel
os=-mon960
;;
nonstopux)
basic_machine=mips-compaq
os=-nonstopux
;;
np1)
basic_machine=np1-gould
;;
neo-tandem)
basic_machine=neo-tandem
;;
nse-tandem)
basic_machine=nse-tandem
;;
nsr-tandem)
basic_machine=nsr-tandem
;;
op50n-* | op60c-*)
basic_machine=hppa1.1-oki
os=-proelf
;;
openrisc | openrisc-*)
basic_machine=or32-unknown
;;
os400)
basic_machine=powerpc-ibm
os=-os400
;;
OSE68000 | ose68000)
basic_machine=m68000-ericsson
os=-ose
;;
os68k)
basic_machine=m68k-none
os=-os68k
;;
pa-hitachi)
basic_machine=hppa1.1-hitachi
os=-hiuxwe2
;;
paragon)
basic_machine=i860-intel
os=-osf
;;
parisc)
basic_machine=hppa-unknown
os=-linux
;;
parisc-*)
basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
os=-linux
;;
pbd)
basic_machine=sparc-tti
;;
pbb)
basic_machine=m68k-tti
;;
pc532 | pc532-*)
basic_machine=ns32k-pc532
;;
pc98)
basic_machine=i386-pc
;;
pc98-*)
basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pentium | p5 | k5 | k6 | nexgen | viac3)
basic_machine=i586-pc
;;
pentiumpro | p6 | 6x86 | athlon | athlon_*)
basic_machine=i686-pc
;;
pentiumii | pentium2 | pentiumiii | pentium3)
basic_machine=i686-pc
;;
pentium4)
basic_machine=i786-pc
;;
pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pentiumpro-* | p6-* | 6x86-* | athlon-*)
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pentium4-*)
basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
pn)
basic_machine=pn-gould
;;
power) basic_machine=power-ibm
;;
ppc | ppcbe) basic_machine=powerpc-unknown
;;
ppc-* | ppcbe-*)
basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
ppcle | powerpclittle | ppc-le | powerpc-little)
basic_machine=powerpcle-unknown
;;
ppcle-* | powerpclittle-*)
basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
ppc64) basic_machine=powerpc64-unknown
;;
ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
ppc64le | powerpc64little | ppc64-le | powerpc64-little)
basic_machine=powerpc64le-unknown
;;
ppc64le-* | powerpc64little-*)
basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
ps2)
basic_machine=i386-ibm
;;
pw32)
basic_machine=i586-unknown
os=-pw32
;;
rdos | rdos64)
basic_machine=x86_64-pc
os=-rdos
;;
rdos32)
basic_machine=i386-pc
os=-rdos
;;
rom68k)
basic_machine=m68k-rom68k
os=-coff
;;
rm[46]00)
basic_machine=mips-siemens
;;
rtpc | rtpc-*)
basic_machine=romp-ibm
;;
s390 | s390-*)
basic_machine=s390-ibm
;;
s390x | s390x-*)
basic_machine=s390x-ibm
;;
sa29200)
basic_machine=a29k-amd
os=-udi
;;
sb1)
basic_machine=mipsisa64sb1-unknown
;;
sb1el)
basic_machine=mipsisa64sb1el-unknown
;;
sde)
basic_machine=mipsisa32-sde
os=-elf
;;
sei)
basic_machine=mips-sei
os=-seiux
;;
sequent)
basic_machine=i386-sequent
;;
sh)
basic_machine=sh-hitachi
os=-hms
;;
sh5el)
basic_machine=sh5le-unknown
;;
sh64)
basic_machine=sh64-unknown
;;
sparclite-wrs | simso-wrs)
basic_machine=sparclite-wrs
os=-vxworks
;;
sps7)
basic_machine=m68k-bull
os=-sysv2
;;
spur)
basic_machine=spur-unknown
;;
st2000)
basic_machine=m68k-tandem
;;
stratus)
basic_machine=i860-stratus
os=-sysv4
;;
strongarm-* | thumb-*)
basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
sun2)
basic_machine=m68000-sun
;;
sun2os3)
basic_machine=m68000-sun
os=-sunos3
;;
sun2os4)
basic_machine=m68000-sun
os=-sunos4
;;
sun3os3)
basic_machine=m68k-sun
os=-sunos3
;;
sun3os4)
basic_machine=m68k-sun
os=-sunos4
;;
sun4os3)
basic_machine=sparc-sun
os=-sunos3
;;
sun4os4)
basic_machine=sparc-sun
os=-sunos4
;;
sun4sol2)
basic_machine=sparc-sun
os=-solaris2
;;
sun3 | sun3-*)
basic_machine=m68k-sun
;;
sun4)
basic_machine=sparc-sun
;;
sun386 | sun386i | roadrunner)
basic_machine=i386-sun
;;
sv1)
basic_machine=sv1-cray
os=-unicos
;;
symmetry)
basic_machine=i386-sequent
os=-dynix
;;
t3e)
basic_machine=alphaev5-cray
os=-unicos
;;
t90)
basic_machine=t90-cray
os=-unicos
;;
tile*)
basic_machine=$basic_machine-unknown
os=-linux-gnu
;;
tx39)
basic_machine=mipstx39-unknown
;;
tx39el)
basic_machine=mipstx39el-unknown
;;
toad1)
basic_machine=pdp10-xkl
os=-tops20
;;
tower | tower-32)
basic_machine=m68k-ncr
;;
tpf)
basic_machine=s390x-ibm
os=-tpf
;;
udi29k)
basic_machine=a29k-amd
os=-udi
;;
ultra3)
basic_machine=a29k-nyu
os=-sym1
;;
v810 | necv810)
basic_machine=v810-nec
os=-none
;;
vaxv)
basic_machine=vax-dec
os=-sysv
;;
vms)
basic_machine=vax-dec
os=-vms
;;
vpp*|vx|vx-*)
basic_machine=f301-fujitsu
;;
vxworks960)
basic_machine=i960-wrs
os=-vxworks
;;
vxworks68)
basic_machine=m68k-wrs
os=-vxworks
;;
vxworks29k)
basic_machine=a29k-wrs
os=-vxworks
;;
w65*)
basic_machine=w65-wdc
os=-none
;;
w89k-*)
basic_machine=hppa1.1-winbond
os=-proelf
;;
xbox)
basic_machine=i686-pc
os=-mingw32
;;
xps | xps100)
basic_machine=xps100-honeywell
;;
xscale-* | xscalee[bl]-*)
basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
;;
ymp)
basic_machine=ymp-cray
os=-unicos
;;
z8k-*-coff)
basic_machine=z8k-unknown
os=-sim
;;
z80-*-coff)
basic_machine=z80-unknown
os=-sim
;;
none)
basic_machine=none-none
os=-none
;;
# Here we handle the default manufacturer of certain CPU types. It is in
# some cases the only manufacturer, in others, it is the most popular.
w89k)
basic_machine=hppa1.1-winbond
;;
op50n)
basic_machine=hppa1.1-oki
;;
op60c)
basic_machine=hppa1.1-oki
;;
romp)
basic_machine=romp-ibm
;;
mmix)
basic_machine=mmix-knuth
;;
rs6000)
basic_machine=rs6000-ibm
;;
vax)
basic_machine=vax-dec
;;
pdp10)
# there are many clones, so DEC is not a safe bet
basic_machine=pdp10-unknown
;;
pdp11)
basic_machine=pdp11-dec
;;
we32k)
basic_machine=we32k-att
;;
sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
basic_machine=sh-unknown
;;
sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
basic_machine=sparc-sun
;;
cydra)
basic_machine=cydra-cydrome
;;
orion)
basic_machine=orion-highlevel
;;
orion105)
basic_machine=clipper-highlevel
;;
mac | mpw | mac-mpw)
basic_machine=m68k-apple
;;
pmac | pmac-mpw)
basic_machine=powerpc-apple
;;
*-unknown)
# Make sure to match an already-canonicalized machine name.
;;
*)
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
exit 1
;;
esac
# Here we canonicalize certain aliases for manufacturers.
case $basic_machine in
*-digital*)
basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
;;
*-commodore*)
basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
;;
*)
;;
esac
# Decode manufacturer-specific aliases for certain operating systems.
if [ x"$os" != x"" ]
then
case $os in
# First match some system type aliases
# that might get confused with valid system types.
# -solaris* is a basic system type, with this one exception.
-auroraux)
os=-auroraux
;;
-solaris1 | -solaris1.*)
os=`echo $os | sed -e 's|solaris1|sunos4|'`
;;
-solaris)
os=-solaris2
;;
-svr4*)
os=-sysv4
;;
-unixware*)
os=-sysv4.2uw
;;
-gnu/linux*)
os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
;;
# First accept the basic system types.
# The portable systems comes first.
# Each alternative MUST END IN A *, to match a version number.
# -sysv* is not here because it comes later, after sysvr4.
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
| -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
| -sym* | -kopensolaris* | -plan9* \
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
| -aos* | -aros* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
| -bitrig* | -openbsd* | -solidbsd* \
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -chorusos* | -chorusrdb* | -cegcc* \
| -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
| -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
| -linux-newlib* | -linux-musl* | -linux-uclibc* \
| -uxpv* | -beos* | -mpeix* | -udk* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
| -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
| -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
| -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
| -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
| -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*)
# Remember, each alternative MUST END IN *, to match a version number.
;;
-qnx*)
case $basic_machine in
x86-* | i*86-*)
;;
*)
os=-nto$os
;;
esac
;;
-nto-qnx*)
;;
-nto*)
os=`echo $os | sed -e 's|nto|nto-qnx|'`
;;
-sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
| -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
| -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
;;
-mac*)
os=`echo $os | sed -e 's|mac|macos|'`
;;
-linux-dietlibc)
os=-linux-dietlibc
;;
-linux*)
os=`echo $os | sed -e 's|linux|linux-gnu|'`
;;
-sunos5*)
os=`echo $os | sed -e 's|sunos5|solaris2|'`
;;
-sunos6*)
os=`echo $os | sed -e 's|sunos6|solaris3|'`
;;
-opened*)
os=-openedition
;;
-os400*)
os=-os400
;;
-wince*)
os=-wince
;;
-osfrose*)
os=-osfrose
;;
-osf*)
os=-osf
;;
-utek*)
os=-bsd
;;
-dynix*)
os=-bsd
;;
-acis*)
os=-aos
;;
-atheos*)
os=-atheos
;;
-syllable*)
os=-syllable
;;
-386bsd)
os=-bsd
;;
-ctix* | -uts*)
os=-sysv
;;
-nova*)
os=-rtmk-nova
;;
-ns2 )
os=-nextstep2
;;
-nsk*)
os=-nsk
;;
# Preserve the version number of sinix5.
-sinix5.*)
os=`echo $os | sed -e 's|sinix|sysv|'`
;;
-sinix*)
os=-sysv4
;;
-tpf*)
os=-tpf
;;
-triton*)
os=-sysv3
;;
-oss*)
os=-sysv3
;;
-svr4)
os=-sysv4
;;
-svr3)
os=-sysv3
;;
-sysvr4)
os=-sysv4
;;
# This must come after -sysvr4.
-sysv*)
;;
-ose*)
os=-ose
;;
-es1800*)
os=-ose
;;
-xenix)
os=-xenix
;;
-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
os=-mint
;;
-aros*)
os=-aros
;;
-zvmoe)
os=-zvmoe
;;
-dicos*)
os=-dicos
;;
-nacl*)
;;
-none)
;;
*)
# Get rid of the `-' at the beginning of $os.
os=`echo $os | sed 's/[^-]*-//'`
echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
exit 1
;;
esac
else
# Here we handle the default operating systems that come with various machines.
# The value should be what the vendor currently ships out the door with their
# machine or put another way, the most popular os provided with the machine.
# Note that if you're going to try to match "-MANUFACTURER" here (say,
# "-sun"), then you have to tell the case statement up towards the top
# that MANUFACTURER isn't an operating system. Otherwise, code above
# will signal an error saying that MANUFACTURER isn't an operating
# system, and we'll never get to this point.
case $basic_machine in
score-*)
os=-elf
;;
spu-*)
os=-elf
;;
*-acorn)
os=-riscix1.2
;;
arm*-rebel)
os=-linux
;;
arm*-semi)
os=-aout
;;
c4x-* | tic4x-*)
os=-coff
;;
hexagon-*)
os=-elf
;;
tic54x-*)
os=-coff
;;
tic55x-*)
os=-coff
;;
tic6x-*)
os=-coff
;;
# This must come before the *-dec entry.
pdp10-*)
os=-tops20
;;
pdp11-*)
os=-none
;;
*-dec | vax-*)
os=-ultrix4.2
;;
m68*-apollo)
os=-domain
;;
i386-sun)
os=-sunos4.0.2
;;
m68000-sun)
os=-sunos3
;;
m68*-cisco)
os=-aout
;;
mep-*)
os=-elf
;;
mips*-cisco)
os=-elf
;;
mips*-*)
os=-elf
;;
or1k-*)
os=-elf
;;
or32-*)
os=-coff
;;
*-tti) # must be before sparc entry or we get the wrong os.
os=-sysv3
;;
sparc-* | *-sun)
os=-sunos4.1.1
;;
*-be)
os=-beos
;;
*-haiku)
os=-haiku
;;
*-ibm)
os=-aix
;;
*-knuth)
os=-mmixware
;;
*-wec)
os=-proelf
;;
*-winbond)
os=-proelf
;;
*-oki)
os=-proelf
;;
*-hp)
os=-hpux
;;
*-hitachi)
os=-hiux
;;
i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
os=-sysv
;;
*-cbm)
os=-amigaos
;;
*-dg)
os=-dgux
;;
*-dolphin)
os=-sysv3
;;
m68k-ccur)
os=-rtu
;;
m88k-omron*)
os=-luna
;;
*-next )
os=-nextstep
;;
*-sequent)
os=-ptx
;;
*-crds)
os=-unos
;;
*-ns)
os=-genix
;;
i370-*)
os=-mvs
;;
*-next)
os=-nextstep3
;;
*-gould)
os=-sysv
;;
*-highlevel)
os=-bsd
;;
*-encore)
os=-bsd
;;
*-sgi)
os=-irix
;;
*-siemens)
os=-sysv4
;;
*-masscomp)
os=-rtu
;;
f30[01]-fujitsu | f700-fujitsu)
os=-uxpv
;;
*-rom68k)
os=-coff
;;
*-*bug)
os=-coff
;;
*-apple)
os=-macos
;;
*-atari*)
os=-mint
;;
*)
os=-none
;;
esac
fi
# Here we handle the case where we know the os, and the CPU type, but not the
# manufacturer. We pick the logical manufacturer.
vendor=unknown
case $basic_machine in
*-unknown)
case $os in
-riscix*)
vendor=acorn
;;
-sunos*)
vendor=sun
;;
-cnk*|-aix*)
vendor=ibm
;;
-beos*)
vendor=be
;;
-hpux*)
vendor=hp
;;
-mpeix*)
vendor=hp
;;
-hiux*)
vendor=hitachi
;;
-unos*)
vendor=crds
;;
-dgux*)
vendor=dg
;;
-luna*)
vendor=omron
;;
-genix*)
vendor=ns
;;
-mvs* | -opened*)
vendor=ibm
;;
-os400*)
vendor=ibm
;;
-ptx*)
vendor=sequent
;;
-tpf*)
vendor=ibm
;;
-vxsim* | -vxworks* | -windiss*)
vendor=wrs
;;
-aux*)
vendor=apple
;;
-hms*)
vendor=hitachi
;;
-mpw* | -macos*)
vendor=apple
;;
-*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
vendor=atari
;;
-vos*)
vendor=stratus
;;
esac
basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
;;
esac
echo $basic_machine$os
exit
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "timestamp='"
# time-stamp-format: "%:y-%02m-%02d"
# time-stamp-end: "'"
# End:
enigmail/config/ 0000775 0000000 0000000 00000000000 13213001347 0014102 5 ustar 00root root 0000000 0000000 enigmail/config/autoconf.mk.in 0000664 0000000 0000000 00000000505 13213001347 0016656 0 ustar 00root root 0000000 0000000 # @configure_input@
PERL = @PERL@
PYTHON = @PYTHON@
TB_PATH = "@TB_PATH@"
TB_ARGS = @TB_ARGS@
TESTS = @enable_tests@
FIX_LANGUAGES = @enable_fix_lang@
ENABLE_LANG = @enable_lang@
srcdir = @srcdir@
DIST = $(DEPTH)/build/dist
BUILD = $(DEPTH)/build
JSUNIT = $(DEPTH)/util/run-jsunit $(PERL) $(TB_PATH) $(TB_ARGS) -jsunit
enigmail/configure 0000775 0000000 0000000 00000267060 13213001347 0014557 0 ustar 00root root 0000000 0000000 #! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.69 for enigmail 1.9.9
#
# Report bugs to .
#
#
# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
#
#
# This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it.
## -------------------- ##
## M4sh Initialization. ##
## -------------------- ##
# Be more Bourne compatible
DUALCASE=1; export DUALCASE # for MKS sh
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
emulate sh
NULLCMD=:
# Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
else
case `(set -o) 2>/dev/null` in #(
*posix*) :
set -o posix ;; #(
*) :
;;
esac
fi
as_nl='
'
export as_nl
# Printing a long string crashes Solaris 7 /usr/bin/printf.
as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
# Prefer a ksh shell builtin over an external printf program on Solaris,
# but without wasting forks for bash or zsh.
if test -z "$BASH_VERSION$ZSH_VERSION" \
&& (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
as_echo='print -r --'
as_echo_n='print -rn --'
elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
as_echo='printf %s\n'
as_echo_n='printf %s'
else
if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
as_echo_n='/usr/ucb/echo -n'
else
as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
as_echo_n_body='eval
arg=$1;
case $arg in #(
*"$as_nl"*)
expr "X$arg" : "X\\(.*\\)$as_nl";
arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
esac;
expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
'
export as_echo_n_body
as_echo_n='sh -c $as_echo_n_body as_echo'
fi
export as_echo_body
as_echo='sh -c $as_echo_body as_echo'
fi
# The user is always right.
if test "${PATH_SEPARATOR+set}" != set; then
PATH_SEPARATOR=:
(PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
(PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
PATH_SEPARATOR=';'
}
fi
# IFS
# We need space, tab and new line, in precisely that order. Quoting is
# there to prevent editors from complaining about space-tab.
# (If _AS_PATH_WALK were called with IFS unset, it would disable word
# splitting by setting IFS to empty value.)
IFS=" "" $as_nl"
# Find who we are. Look in the path if we contain no directory separator.
as_myself=
case $0 in #((
*[\\/]* ) as_myself=$0 ;;
*) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
done
IFS=$as_save_IFS
;;
esac
# We did not find ourselves, most probably we were run as `sh COMMAND'
# in which case we are not to be found in the path.
if test "x$as_myself" = x; then
as_myself=$0
fi
if test ! -f "$as_myself"; then
$as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
exit 1
fi
# Unset variables that we do not need and which cause bugs (e.g. in
# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
# suppresses any "Segmentation fault" message there. '((' could
# trigger a bug in pdksh 5.2.14.
for as_var in BASH_ENV ENV MAIL MAILPATH
do eval test x\${$as_var+set} = xset \
&& ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
done
PS1='$ '
PS2='> '
PS4='+ '
# NLS nuisances.
LC_ALL=C
export LC_ALL
LANGUAGE=C
export LANGUAGE
# CDPATH.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
# Use a proper internal environment variable to ensure we don't fall
# into an infinite loop, continuously re-executing ourselves.
if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
_as_can_reexec=no; export _as_can_reexec;
# We cannot yet assume a decent shell, so we have to provide a
# neutralization value for shells without unset; and this also
# works around shells that cannot unset nonexistent variables.
# Preserve -v and -x to the replacement shell.
BASH_ENV=/dev/null
ENV=/dev/null
(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
case $- in # ((((
*v*x* | *x*v* ) as_opts=-vx ;;
*v* ) as_opts=-v ;;
*x* ) as_opts=-x ;;
* ) as_opts= ;;
esac
exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
# Admittedly, this is quite paranoid, since all the known shells bail
# out after a failed `exec'.
$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
as_fn_exit 255
fi
# We don't want this to propagate to other subprocesses.
{ _as_can_reexec=; unset _as_can_reexec;}
if test "x$CONFIG_SHELL" = x; then
as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
emulate sh
NULLCMD=:
# Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
# is contrary to our usage. Disable this feature.
alias -g '\${1+\"\$@\"}'='\"\$@\"'
setopt NO_GLOB_SUBST
else
case \`(set -o) 2>/dev/null\` in #(
*posix*) :
set -o posix ;; #(
*) :
;;
esac
fi
"
as_required="as_fn_return () { (exit \$1); }
as_fn_success () { as_fn_return 0; }
as_fn_failure () { as_fn_return 1; }
as_fn_ret_success () { return 0; }
as_fn_ret_failure () { return 1; }
exitcode=0
as_fn_success || { exitcode=1; echo as_fn_success failed.; }
as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
else
exitcode=1; echo positional parameters were not saved.
fi
test x\$exitcode = x0 || exit 1
test -x / || exit 1"
as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1"
if (eval "$as_required") 2>/dev/null; then :
as_have_required=yes
else
as_have_required=no
fi
if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
else
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
as_found=false
for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
as_found=:
case $as_dir in #(
/*)
for as_base in sh bash ksh sh5; do
# Try only shells that exist, to save several forks.
as_shell=$as_dir/$as_base
if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
{ $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
CONFIG_SHELL=$as_shell as_have_required=yes
if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
break 2
fi
fi
done;;
esac
as_found=false
done
$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
{ $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
CONFIG_SHELL=$SHELL as_have_required=yes
fi; }
IFS=$as_save_IFS
if test "x$CONFIG_SHELL" != x; then :
export CONFIG_SHELL
# We cannot yet assume a decent shell, so we have to provide a
# neutralization value for shells without unset; and this also
# works around shells that cannot unset nonexistent variables.
# Preserve -v and -x to the replacement shell.
BASH_ENV=/dev/null
ENV=/dev/null
(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
case $- in # ((((
*v*x* | *x*v* ) as_opts=-vx ;;
*v* ) as_opts=-v ;;
*x* ) as_opts=-x ;;
* ) as_opts= ;;
esac
exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
# Admittedly, this is quite paranoid, since all the known shells bail
# out after a failed `exec'.
$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
exit 255
fi
if test x$as_have_required = xno; then :
$as_echo "$0: This script requires a shell more modern than all"
$as_echo "$0: the shells that I found on your system."
if test x${ZSH_VERSION+set} = xset ; then
$as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
$as_echo "$0: be upgraded to zsh 4.3.4 or later."
else
$as_echo "$0: Please tell bug-autoconf@gnu.org and
$0: https://www.enigmail.net about your system, including
$0: any error possibly output before this message. Then
$0: install a modern shell, or manually run the script
$0: under such a shell if you do have one."
fi
exit 1
fi
fi
fi
SHELL=${CONFIG_SHELL-/bin/sh}
export SHELL
# Unset more variables known to interfere with behavior of common tools.
CLICOLOR_FORCE= GREP_OPTIONS=
unset CLICOLOR_FORCE GREP_OPTIONS
## --------------------- ##
## M4sh Shell Functions. ##
## --------------------- ##
# as_fn_unset VAR
# ---------------
# Portably unset VAR.
as_fn_unset ()
{
{ eval $1=; unset $1;}
}
as_unset=as_fn_unset
# as_fn_set_status STATUS
# -----------------------
# Set $? to STATUS, without forking.
as_fn_set_status ()
{
return $1
} # as_fn_set_status
# as_fn_exit STATUS
# -----------------
# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
as_fn_exit ()
{
set +e
as_fn_set_status $1
exit $1
} # as_fn_exit
# as_fn_mkdir_p
# -------------
# Create "$as_dir" as a directory, including parents if necessary.
as_fn_mkdir_p ()
{
case $as_dir in #(
-*) as_dir=./$as_dir;;
esac
test -d "$as_dir" || eval $as_mkdir_p || {
as_dirs=
while :; do
case $as_dir in #(
*\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
*) as_qdir=$as_dir;;
esac
as_dirs="'$as_qdir' $as_dirs"
as_dir=`$as_dirname -- "$as_dir" ||
$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$as_dir" : 'X\(//\)[^/]' \| \
X"$as_dir" : 'X\(//\)$' \| \
X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X"$as_dir" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
}
/^X\(\/\/\)[^/].*/{
s//\1/
q
}
/^X\(\/\/\)$/{
s//\1/
q
}
/^X\(\/\).*/{
s//\1/
q
}
s/.*/./; q'`
test -d "$as_dir" && break
done
test -z "$as_dirs" || eval "mkdir $as_dirs"
} || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
} # as_fn_mkdir_p
# as_fn_executable_p FILE
# -----------------------
# Test if FILE is an executable regular file.
as_fn_executable_p ()
{
test -f "$1" && test -x "$1"
} # as_fn_executable_p
# as_fn_append VAR VALUE
# ----------------------
# Append the text in VALUE to the end of the definition contained in VAR. Take
# advantage of any shell optimizations that allow amortized linear growth over
# repeated appends, instead of the typical quadratic growth present in naive
# implementations.
if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
eval 'as_fn_append ()
{
eval $1+=\$2
}'
else
as_fn_append ()
{
eval $1=\$$1\$2
}
fi # as_fn_append
# as_fn_arith ARG...
# ------------------
# Perform arithmetic evaluation on the ARGs, and store the result in the
# global $as_val. Take advantage of shells that can avoid forks. The arguments
# must be portable across $(()) and expr.
if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
eval 'as_fn_arith ()
{
as_val=$(( $* ))
}'
else
as_fn_arith ()
{
as_val=`expr "$@" || test $? -eq 1`
}
fi # as_fn_arith
# as_fn_error STATUS ERROR [LINENO LOG_FD]
# ----------------------------------------
# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
# script with STATUS, using 1 if that was 0.
as_fn_error ()
{
as_status=$1; test $as_status -eq 0 && as_status=1
if test "$4"; then
as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
$as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
fi
$as_echo "$as_me: error: $2" >&2
as_fn_exit $as_status
} # as_fn_error
if expr a : '\(a\)' >/dev/null 2>&1 &&
test "X`expr 00001 : '.*\(...\)'`" = X001; then
as_expr=expr
else
as_expr=false
fi
if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
as_basename=basename
else
as_basename=false
fi
if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
as_dirname=dirname
else
as_dirname=false
fi
as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
X"$0" : 'X\(//\)$' \| \
X"$0" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X/"$0" |
sed '/^.*\/\([^/][^/]*\)\/*$/{
s//\1/
q
}
/^X\/\(\/\/\)$/{
s//\1/
q
}
/^X\/\(\/\).*/{
s//\1/
q
}
s/.*/./; q'`
# Avoid depending upon Character Ranges.
as_cr_letters='abcdefghijklmnopqrstuvwxyz'
as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
as_cr_Letters=$as_cr_letters$as_cr_LETTERS
as_cr_digits='0123456789'
as_cr_alnum=$as_cr_Letters$as_cr_digits
as_lineno_1=$LINENO as_lineno_1a=$LINENO
as_lineno_2=$LINENO as_lineno_2a=$LINENO
eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
# Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
sed -n '
p
/[$]LINENO/=
' <$as_myself |
sed '
s/[$]LINENO.*/&-/
t lineno
b
:lineno
N
:loop
s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
t loop
s/-\n.*//
' >$as_me.lineno &&
chmod +x "$as_me.lineno" ||
{ $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
# If we had to re-execute with $CONFIG_SHELL, we're ensured to have
# already done that, so ensure we don't try to do so again and fall
# in an infinite loop. This has already happened in practice.
_as_can_reexec=no; export _as_can_reexec
# Don't try to exec as it changes $[0], causing all sort of problems
# (the dirname of $[0] is not the place where we might find the
# original and so on. Autoconf is especially sensitive to this).
. "./$as_me.lineno"
# Exit status is that of the last command.
exit
}
ECHO_C= ECHO_N= ECHO_T=
case `echo -n x` in #(((((
-n*)
case `echo 'xy\c'` in
*c*) ECHO_T=' ';; # ECHO_T is single tab character.
xy) ECHO_C='\c';;
*) echo `echo ksh88 bug on AIX 6.1` > /dev/null
ECHO_T=' ';;
esac;;
*)
ECHO_N='-n';;
esac
rm -f conf$$ conf$$.exe conf$$.file
if test -d conf$$.dir; then
rm -f conf$$.dir/conf$$.file
else
rm -f conf$$.dir
mkdir conf$$.dir 2>/dev/null
fi
if (echo >conf$$.file) 2>/dev/null; then
if ln -s conf$$.file conf$$ 2>/dev/null; then
as_ln_s='ln -s'
# ... but there are two gotchas:
# 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
# 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
# In both cases, we have to default to `cp -pR'.
ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
as_ln_s='cp -pR'
elif ln conf$$.file conf$$ 2>/dev/null; then
as_ln_s=ln
else
as_ln_s='cp -pR'
fi
else
as_ln_s='cp -pR'
fi
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null
if mkdir -p . 2>/dev/null; then
as_mkdir_p='mkdir -p "$as_dir"'
else
test -d ./-p && rmdir ./-p
as_mkdir_p=false
fi
as_test_x='test -x'
as_executable_p=as_fn_executable_p
# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
# Sed expression to map a string onto a valid variable name.
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
test -n "$DJDIR" || exec 7<&0 &1
# Name of the host.
# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
# so uname gets run too.
ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
#
# Initializations.
#
ac_default_prefix=/usr/local
ac_clean_files=
ac_config_libobj_dir=.
LIBOBJS=
cross_compiling=no
subdirs=
MFLAGS=
MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='enigmail'
PACKAGE_TARNAME='enigmail'
PACKAGE_VERSION='1.9.9'
PACKAGE_STRING='enigmail 1.9.9'
PACKAGE_BUGREPORT='https://www.enigmail.net'
PACKAGE_URL=''
ac_subst_vars='LTLIBOBJS
LIBOBJS
enable_fix_lang
TB_ARGS
TB_PATH
enable_lang
enable_tests
target_os
target_vendor
target_cpu
target
host_os
host_vendor
host_cpu
host
build_os
build_vendor
build_cpu
build
PERL
PYTHON
target_alias
host_alias
build_alias
LIBS
ECHO_T
ECHO_N
ECHO_C
DEFS
mandir
localedir
libdir
psdir
pdfdir
dvidir
htmldir
infodir
docdir
oldincludedir
includedir
localstatedir
sharedstatedir
sysconfdir
datadir
datarootdir
libexecdir
sbindir
bindir
program_transform_name
prefix
exec_prefix
PACKAGE_URL
PACKAGE_BUGREPORT
PACKAGE_STRING
PACKAGE_VERSION
PACKAGE_TARNAME
PACKAGE_NAME
PATH_SEPARATOR
SHELL'
ac_subst_files=''
ac_user_opts='
enable_option_checking
enable_tests
enable_lang
with_tb_path
with_tb_args
enable_fix_lang
'
ac_precious_vars='build_alias
host_alias
target_alias'
# Initialize some variables set by options.
ac_init_help=
ac_init_version=false
ac_unrecognized_opts=
ac_unrecognized_sep=
# The variables have the same names as the options, with
# dashes changed to underlines.
cache_file=/dev/null
exec_prefix=NONE
no_create=
no_recursion=
prefix=NONE
program_prefix=NONE
program_suffix=NONE
program_transform_name=s,x,x,
silent=
site=
srcdir=
verbose=
x_includes=NONE
x_libraries=NONE
# Installation directory options.
# These are left unexpanded so users can "make install exec_prefix=/foo"
# and all the variables that are supposed to be based on exec_prefix
# by default will actually change.
# Use braces instead of parens because sh, perl, etc. also accept them.
# (The list follows the same order as the GNU Coding Standards.)
bindir='${exec_prefix}/bin'
sbindir='${exec_prefix}/sbin'
libexecdir='${exec_prefix}/libexec'
datarootdir='${prefix}/share'
datadir='${datarootdir}'
sysconfdir='${prefix}/etc'
sharedstatedir='${prefix}/com'
localstatedir='${prefix}/var'
includedir='${prefix}/include'
oldincludedir='/usr/include'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
infodir='${datarootdir}/info'
htmldir='${docdir}'
dvidir='${docdir}'
pdfdir='${docdir}'
psdir='${docdir}'
libdir='${exec_prefix}/lib'
localedir='${datarootdir}/locale'
mandir='${datarootdir}/man'
ac_prev=
ac_dashdash=
for ac_option
do
# If the previous option needs an argument, assign it.
if test -n "$ac_prev"; then
eval $ac_prev=\$ac_option
ac_prev=
continue
fi
case $ac_option in
*=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
*=) ac_optarg= ;;
*) ac_optarg=yes ;;
esac
# Accept the important Cygnus configure options, so we can diagnose typos.
case $ac_dashdash$ac_option in
--)
ac_dashdash=yes ;;
-bindir | --bindir | --bindi | --bind | --bin | --bi)
ac_prev=bindir ;;
-bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
bindir=$ac_optarg ;;
-build | --build | --buil | --bui | --bu)
ac_prev=build_alias ;;
-build=* | --build=* | --buil=* | --bui=* | --bu=*)
build_alias=$ac_optarg ;;
-cache-file | --cache-file | --cache-fil | --cache-fi \
| --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
ac_prev=cache_file ;;
-cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
| --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
cache_file=$ac_optarg ;;
--config-cache | -C)
cache_file=config.cache ;;
-datadir | --datadir | --datadi | --datad)
ac_prev=datadir ;;
-datadir=* | --datadir=* | --datadi=* | --datad=*)
datadir=$ac_optarg ;;
-datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
| --dataroo | --dataro | --datar)
ac_prev=datarootdir ;;
-datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
| --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
datarootdir=$ac_optarg ;;
-disable-* | --disable-*)
ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
as_fn_error $? "invalid feature name: $ac_useropt"
ac_useropt_orig=$ac_useropt
ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
*"
"enable_$ac_useropt"
"*) ;;
*) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
ac_unrecognized_sep=', ';;
esac
eval enable_$ac_useropt=no ;;
-docdir | --docdir | --docdi | --doc | --do)
ac_prev=docdir ;;
-docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
docdir=$ac_optarg ;;
-dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
ac_prev=dvidir ;;
-dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
dvidir=$ac_optarg ;;
-enable-* | --enable-*)
ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
as_fn_error $? "invalid feature name: $ac_useropt"
ac_useropt_orig=$ac_useropt
ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
*"
"enable_$ac_useropt"
"*) ;;
*) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
ac_unrecognized_sep=', ';;
esac
eval enable_$ac_useropt=\$ac_optarg ;;
-exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
| --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
| --exec | --exe | --ex)
ac_prev=exec_prefix ;;
-exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
| --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
| --exec=* | --exe=* | --ex=*)
exec_prefix=$ac_optarg ;;
-gas | --gas | --ga | --g)
# Obsolete; use --with-gas.
with_gas=yes ;;
-help | --help | --hel | --he | -h)
ac_init_help=long ;;
-help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
ac_init_help=recursive ;;
-help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
ac_init_help=short ;;
-host | --host | --hos | --ho)
ac_prev=host_alias ;;
-host=* | --host=* | --hos=* | --ho=*)
host_alias=$ac_optarg ;;
-htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
ac_prev=htmldir ;;
-htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
| --ht=*)
htmldir=$ac_optarg ;;
-includedir | --includedir | --includedi | --included | --include \
| --includ | --inclu | --incl | --inc)
ac_prev=includedir ;;
-includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
| --includ=* | --inclu=* | --incl=* | --inc=*)
includedir=$ac_optarg ;;
-infodir | --infodir | --infodi | --infod | --info | --inf)
ac_prev=infodir ;;
-infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
infodir=$ac_optarg ;;
-libdir | --libdir | --libdi | --libd)
ac_prev=libdir ;;
-libdir=* | --libdir=* | --libdi=* | --libd=*)
libdir=$ac_optarg ;;
-libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
| --libexe | --libex | --libe)
ac_prev=libexecdir ;;
-libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
| --libexe=* | --libex=* | --libe=*)
libexecdir=$ac_optarg ;;
-localedir | --localedir | --localedi | --localed | --locale)
ac_prev=localedir ;;
-localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
localedir=$ac_optarg ;;
-localstatedir | --localstatedir | --localstatedi | --localstated \
| --localstate | --localstat | --localsta | --localst | --locals)
ac_prev=localstatedir ;;
-localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
| --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
localstatedir=$ac_optarg ;;
-mandir | --mandir | --mandi | --mand | --man | --ma | --m)
ac_prev=mandir ;;
-mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
mandir=$ac_optarg ;;
-nfp | --nfp | --nf)
# Obsolete; use --without-fp.
with_fp=no ;;
-no-create | --no-create | --no-creat | --no-crea | --no-cre \
| --no-cr | --no-c | -n)
no_create=yes ;;
-no-recursion | --no-recursion | --no-recursio | --no-recursi \
| --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
no_recursion=yes ;;
-oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
| --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
| --oldin | --oldi | --old | --ol | --o)
ac_prev=oldincludedir ;;
-oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
| --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
| --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
oldincludedir=$ac_optarg ;;
-prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
ac_prev=prefix ;;
-prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
prefix=$ac_optarg ;;
-program-prefix | --program-prefix | --program-prefi | --program-pref \
| --program-pre | --program-pr | --program-p)
ac_prev=program_prefix ;;
-program-prefix=* | --program-prefix=* | --program-prefi=* \
| --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
program_prefix=$ac_optarg ;;
-program-suffix | --program-suffix | --program-suffi | --program-suff \
| --program-suf | --program-su | --program-s)
ac_prev=program_suffix ;;
-program-suffix=* | --program-suffix=* | --program-suffi=* \
| --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
program_suffix=$ac_optarg ;;
-program-transform-name | --program-transform-name \
| --program-transform-nam | --program-transform-na \
| --program-transform-n | --program-transform- \
| --program-transform | --program-transfor \
| --program-transfo | --program-transf \
| --program-trans | --program-tran \
| --progr-tra | --program-tr | --program-t)
ac_prev=program_transform_name ;;
-program-transform-name=* | --program-transform-name=* \
| --program-transform-nam=* | --program-transform-na=* \
| --program-transform-n=* | --program-transform-=* \
| --program-transform=* | --program-transfor=* \
| --program-transfo=* | --program-transf=* \
| --program-trans=* | --program-tran=* \
| --progr-tra=* | --program-tr=* | --program-t=*)
program_transform_name=$ac_optarg ;;
-pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
ac_prev=pdfdir ;;
-pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
pdfdir=$ac_optarg ;;
-psdir | --psdir | --psdi | --psd | --ps)
ac_prev=psdir ;;
-psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
psdir=$ac_optarg ;;
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil)
silent=yes ;;
-sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
ac_prev=sbindir ;;
-sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
| --sbi=* | --sb=*)
sbindir=$ac_optarg ;;
-sharedstatedir | --sharedstatedir | --sharedstatedi \
| --sharedstated | --sharedstate | --sharedstat | --sharedsta \
| --sharedst | --shareds | --shared | --share | --shar \
| --sha | --sh)
ac_prev=sharedstatedir ;;
-sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
| --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
| --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
| --sha=* | --sh=*)
sharedstatedir=$ac_optarg ;;
-site | --site | --sit)
ac_prev=site ;;
-site=* | --site=* | --sit=*)
site=$ac_optarg ;;
-srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
ac_prev=srcdir ;;
-srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
srcdir=$ac_optarg ;;
-sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
| --syscon | --sysco | --sysc | --sys | --sy)
ac_prev=sysconfdir ;;
-sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
| --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
sysconfdir=$ac_optarg ;;
-target | --target | --targe | --targ | --tar | --ta | --t)
ac_prev=target_alias ;;
-target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
target_alias=$ac_optarg ;;
-v | -verbose | --verbose | --verbos | --verbo | --verb)
verbose=yes ;;
-version | --version | --versio | --versi | --vers | -V)
ac_init_version=: ;;
-with-* | --with-*)
ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
as_fn_error $? "invalid package name: $ac_useropt"
ac_useropt_orig=$ac_useropt
ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
*"
"with_$ac_useropt"
"*) ;;
*) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
ac_unrecognized_sep=', ';;
esac
eval with_$ac_useropt=\$ac_optarg ;;
-without-* | --without-*)
ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
# Reject names that are not valid shell variable names.
expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
as_fn_error $? "invalid package name: $ac_useropt"
ac_useropt_orig=$ac_useropt
ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
case $ac_user_opts in
*"
"with_$ac_useropt"
"*) ;;
*) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
ac_unrecognized_sep=', ';;
esac
eval with_$ac_useropt=no ;;
--x)
# Obsolete; use --with-x.
with_x=yes ;;
-x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
| --x-incl | --x-inc | --x-in | --x-i)
ac_prev=x_includes ;;
-x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
| --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
x_includes=$ac_optarg ;;
-x-libraries | --x-libraries | --x-librarie | --x-librari \
| --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
ac_prev=x_libraries ;;
-x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
| --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
x_libraries=$ac_optarg ;;
-*) as_fn_error $? "unrecognized option: \`$ac_option'
Try \`$0 --help' for more information"
;;
*=*)
ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
# Reject names that are not valid shell variable names.
case $ac_envvar in #(
'' | [0-9]* | *[!_$as_cr_alnum]* )
as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
esac
eval $ac_envvar=\$ac_optarg
export $ac_envvar ;;
*)
# FIXME: should be removed in autoconf 3.0.
$as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
$as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
: "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
;;
esac
done
if test -n "$ac_prev"; then
ac_option=--`echo $ac_prev | sed 's/_/-/g'`
as_fn_error $? "missing argument to $ac_option"
fi
if test -n "$ac_unrecognized_opts"; then
case $enable_option_checking in
no) ;;
fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
*) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
esac
fi
# Check all directory arguments for consistency.
for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
datadir sysconfdir sharedstatedir localstatedir includedir \
oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
libdir localedir mandir
do
eval ac_val=\$$ac_var
# Remove trailing slashes.
case $ac_val in
*/ )
ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
eval $ac_var=\$ac_val;;
esac
# Be sure to have absolute directory names.
case $ac_val in
[\\/$]* | ?:[\\/]* ) continue;;
NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
esac
as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
done
# There might be people who depend on the old broken behavior: `$host'
# used to hold the argument of --host etc.
# FIXME: To remove some day.
build=$build_alias
host=$host_alias
target=$target_alias
# FIXME: To remove some day.
if test "x$host_alias" != x; then
if test "x$build_alias" = x; then
cross_compiling=maybe
elif test "x$build_alias" != "x$host_alias"; then
cross_compiling=yes
fi
fi
ac_tool_prefix=
test -n "$host_alias" && ac_tool_prefix=$host_alias-
test "$silent" = yes && exec 6>/dev/null
ac_pwd=`pwd` && test -n "$ac_pwd" &&
ac_ls_di=`ls -di .` &&
ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
as_fn_error $? "working directory cannot be determined"
test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
as_fn_error $? "pwd does not report name of working directory"
# Find the source files, if location was not specified.
if test -z "$srcdir"; then
ac_srcdir_defaulted=yes
# Try the directory containing this script, then the parent directory.
ac_confdir=`$as_dirname -- "$as_myself" ||
$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$as_myself" : 'X\(//\)[^/]' \| \
X"$as_myself" : 'X\(//\)$' \| \
X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X"$as_myself" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
}
/^X\(\/\/\)[^/].*/{
s//\1/
q
}
/^X\(\/\/\)$/{
s//\1/
q
}
/^X\(\/\).*/{
s//\1/
q
}
s/.*/./; q'`
srcdir=$ac_confdir
if test ! -r "$srcdir/$ac_unique_file"; then
srcdir=..
fi
else
ac_srcdir_defaulted=no
fi
if test ! -r "$srcdir/$ac_unique_file"; then
test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
fi
ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
ac_abs_confdir=`(
cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
pwd)`
# When building in place, set srcdir=.
if test "$ac_abs_confdir" = "$ac_pwd"; then
srcdir=.
fi
# Remove unnecessary trailing slashes from srcdir.
# Double slashes in file names in object file debugging info
# mess up M-x gdb in Emacs.
case $srcdir in
*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
esac
for ac_var in $ac_precious_vars; do
eval ac_env_${ac_var}_set=\${${ac_var}+set}
eval ac_env_${ac_var}_value=\$${ac_var}
eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
eval ac_cv_env_${ac_var}_value=\$${ac_var}
done
#
# Report the --help message.
#
if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures enigmail 1.9.9 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE. See below for descriptions of some of the useful variables.
Defaults for the options are specified in brackets.
Configuration:
-h, --help display this help and exit
--help=short display options specific to this package
--help=recursive display the short help of all the included packages
-V, --version display version information and exit
-q, --quiet, --silent do not print \`checking ...' messages
--cache-file=FILE cache test results in FILE [disabled]
-C, --config-cache alias for \`--cache-file=config.cache'
-n, --no-create do not create output files
--srcdir=DIR find the sources in DIR [configure dir or \`..']
Installation directories:
--prefix=PREFIX install architecture-independent files in PREFIX
[$ac_default_prefix]
--exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
[PREFIX]
By default, \`make install' will install all the files in
\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
an installation prefix other than \`$ac_default_prefix' using \`--prefix',
for instance \`--prefix=\$HOME'.
For better control, use the options below.
Fine tuning of the installation directories:
--bindir=DIR user executables [EPREFIX/bin]
--sbindir=DIR system admin executables [EPREFIX/sbin]
--libexecdir=DIR program executables [EPREFIX/libexec]
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
--datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
--datadir=DIR read-only architecture-independent data [DATAROOTDIR]
--infodir=DIR info documentation [DATAROOTDIR/info]
--localedir=DIR locale-dependent data [DATAROOTDIR/locale]
--mandir=DIR man documentation [DATAROOTDIR/man]
--docdir=DIR documentation root [DATAROOTDIR/doc/enigmail]
--htmldir=DIR html documentation [DOCDIR]
--dvidir=DIR dvi documentation [DOCDIR]
--pdfdir=DIR pdf documentation [DOCDIR]
--psdir=DIR ps documentation [DOCDIR]
_ACEOF
cat <<\_ACEOF
System types:
--build=BUILD configure for building on BUILD [guessed]
--host=HOST cross-compile to build programs to run on HOST [BUILD]
--target=TARGET configure for building compilers for TARGET [HOST]
_ACEOF
fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of enigmail 1.9.9:";;
esac
cat <<\_ACEOF
Optional Features:
--disable-option-checking ignore unrecognized --enable/--with options
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--enable-tests run unit tests during build process
--disable-lang disable creation of locales other than en-US
--disable-fix-lang disable replacing of missing strings in
localizations with en-US
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
--without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
--with-tb-path=/path/to/thunderbird set the path to an installed Thunderbird
--with-tb-args="-P profilename" set additional arguments for Thunderbird
Report bugs to .
_ACEOF
ac_status=$?
fi
if test "$ac_init_help" = "recursive"; then
# If there are subdirs, report their specific --help.
for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
test -d "$ac_dir" ||
{ cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
continue
ac_builddir=.
case "$ac_dir" in
.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
*)
ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
# A ".." for each directory in $ac_dir_suffix.
ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
case $ac_top_builddir_sub in
"") ac_top_builddir_sub=. ac_top_build_prefix= ;;
*) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
esac ;;
esac
ac_abs_top_builddir=$ac_pwd
ac_abs_builddir=$ac_pwd$ac_dir_suffix
# for backward compatibility:
ac_top_builddir=$ac_top_build_prefix
case $srcdir in
.) # We are building in place.
ac_srcdir=.
ac_top_srcdir=$ac_top_builddir_sub
ac_abs_top_srcdir=$ac_pwd ;;
[\\/]* | ?:[\\/]* ) # Absolute name.
ac_srcdir=$srcdir$ac_dir_suffix;
ac_top_srcdir=$srcdir
ac_abs_top_srcdir=$srcdir ;;
*) # Relative name.
ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
ac_top_srcdir=$ac_top_build_prefix$srcdir
ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
esac
ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
cd "$ac_dir" || { ac_status=$?; continue; }
# Check for guested configure.
if test -f "$ac_srcdir/configure.gnu"; then
echo &&
$SHELL "$ac_srcdir/configure.gnu" --help=recursive
elif test -f "$ac_srcdir/configure"; then
echo &&
$SHELL "$ac_srcdir/configure" --help=recursive
else
$as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
fi || ac_status=$?
cd "$ac_pwd" || { ac_status=$?; break; }
done
fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
enigmail configure 1.9.9
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it.
_ACEOF
exit
fi
## ------------------------ ##
## Autoconf initialization. ##
## ------------------------ ##
cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by enigmail $as_me 1.9.9, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
_ACEOF
exec 5>>config.log
{
cat <<_ASUNAME
## --------- ##
## Platform. ##
## --------- ##
hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
uname -m = `(uname -m) 2>/dev/null || echo unknown`
uname -r = `(uname -r) 2>/dev/null || echo unknown`
uname -s = `(uname -s) 2>/dev/null || echo unknown`
uname -v = `(uname -v) 2>/dev/null || echo unknown`
/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
_ASUNAME
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
$as_echo "PATH: $as_dir"
done
IFS=$as_save_IFS
} >&5
cat >&5 <<_ACEOF
## ----------- ##
## Core tests. ##
## ----------- ##
_ACEOF
# Keep a trace of the command line.
# Strip out --no-create and --no-recursion so they do not pile up.
# Strip out --silent because we don't want to record it for future runs.
# Also quote any args containing shell meta-characters.
# Make two passes to allow for proper duplicate-argument suppression.
ac_configure_args=
ac_configure_args0=
ac_configure_args1=
ac_must_keep_next=false
for ac_pass in 1 2
do
for ac_arg
do
case $ac_arg in
-no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil)
continue ;;
*\'*)
ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
esac
case $ac_pass in
1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
2)
as_fn_append ac_configure_args1 " '$ac_arg'"
if test $ac_must_keep_next = true; then
ac_must_keep_next=false # Got value, back to normal.
else
case $ac_arg in
*=* | --config-cache | -C | -disable-* | --disable-* \
| -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
| -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
| -with-* | --with-* | -without-* | --without-* | --x)
case "$ac_configure_args0 " in
"$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
esac
;;
-* ) ac_must_keep_next=true ;;
esac
fi
as_fn_append ac_configure_args " '$ac_arg'"
;;
esac
done
done
{ ac_configure_args0=; unset ac_configure_args0;}
{ ac_configure_args1=; unset ac_configure_args1;}
# When interrupted or exit'd, cleanup temporary files, and complete
# config.log. We remove comments because anyway the quotes in there
# would cause problems or look ugly.
# WARNING: Use '\'' to represent an apostrophe within the trap.
# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
trap 'exit_status=$?
# Save into config.log some information that might help in debugging.
{
echo
$as_echo "## ---------------- ##
## Cache variables. ##
## ---------------- ##"
echo
# The following way of writing the cache mishandles newlines in values,
(
for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
eval ac_val=\$$ac_var
case $ac_val in #(
*${as_nl}*)
case $ac_var in #(
*_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
esac
case $ac_var in #(
_ | IFS | as_nl) ;; #(
BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
*) { eval $ac_var=; unset $ac_var;} ;;
esac ;;
esac
done
(set) 2>&1 |
case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
*${as_nl}ac_space=\ *)
sed -n \
"s/'\''/'\''\\\\'\'''\''/g;
s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
;; #(
*)
sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
;;
esac |
sort
)
echo
$as_echo "## ----------------- ##
## Output variables. ##
## ----------------- ##"
echo
for ac_var in $ac_subst_vars
do
eval ac_val=\$$ac_var
case $ac_val in
*\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
esac
$as_echo "$ac_var='\''$ac_val'\''"
done | sort
echo
if test -n "$ac_subst_files"; then
$as_echo "## ------------------- ##
## File substitutions. ##
## ------------------- ##"
echo
for ac_var in $ac_subst_files
do
eval ac_val=\$$ac_var
case $ac_val in
*\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
esac
$as_echo "$ac_var='\''$ac_val'\''"
done | sort
echo
fi
if test -s confdefs.h; then
$as_echo "## ----------- ##
## confdefs.h. ##
## ----------- ##"
echo
cat confdefs.h
echo
fi
test "$ac_signal" != 0 &&
$as_echo "$as_me: caught signal $ac_signal"
$as_echo "$as_me: exit $exit_status"
} >&5
rm -f core *.core core.conftest.* &&
rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
exit $exit_status
' 0
for ac_signal in 1 2 13 15; do
trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
done
ac_signal=0
# confdefs.h avoids OS command line length limits that DEFS can exceed.
rm -f -r conftest* confdefs.h
$as_echo "/* confdefs.h */" > confdefs.h
# Predefined preprocessor variables.
cat >>confdefs.h <<_ACEOF
#define PACKAGE_NAME "$PACKAGE_NAME"
_ACEOF
cat >>confdefs.h <<_ACEOF
#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
_ACEOF
cat >>confdefs.h <<_ACEOF
#define PACKAGE_VERSION "$PACKAGE_VERSION"
_ACEOF
cat >>confdefs.h <<_ACEOF
#define PACKAGE_STRING "$PACKAGE_STRING"
_ACEOF
cat >>confdefs.h <<_ACEOF
#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
_ACEOF
cat >>confdefs.h <<_ACEOF
#define PACKAGE_URL "$PACKAGE_URL"
_ACEOF
# Let the site file select an alternate cache file if it wants to.
# Prefer an explicitly selected file to automatically selected ones.
ac_site_file1=NONE
ac_site_file2=NONE
if test -n "$CONFIG_SITE"; then
# We do not want a PATH search for config.site.
case $CONFIG_SITE in #((
-*) ac_site_file1=./$CONFIG_SITE;;
*/*) ac_site_file1=$CONFIG_SITE;;
*) ac_site_file1=./$CONFIG_SITE;;
esac
elif test "x$prefix" != xNONE; then
ac_site_file1=$prefix/share/config.site
ac_site_file2=$prefix/etc/config.site
else
ac_site_file1=$ac_default_prefix/share/config.site
ac_site_file2=$ac_default_prefix/etc/config.site
fi
for ac_site_file in "$ac_site_file1" "$ac_site_file2"
do
test "x$ac_site_file" = xNONE && continue
if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
$as_echo "$as_me: loading site script $ac_site_file" >&6;}
sed 's/^/| /' "$ac_site_file" >&5
. "$ac_site_file" \
|| { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error $? "failed to load site script $ac_site_file
See \`config.log' for more details" "$LINENO" 5; }
fi
done
if test -r "$cache_file"; then
# Some versions of bash will fail to source /dev/null (special files
# actually), so we avoid doing that. DJGPP emulates it as a regular file.
if test /dev/null != "$cache_file" && test -f "$cache_file"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
$as_echo "$as_me: loading cache $cache_file" >&6;}
case $cache_file in
[\\/]* | ?:[\\/]* ) . "$cache_file";;
*) . "./$cache_file";;
esac
fi
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
$as_echo "$as_me: creating cache $cache_file" >&6;}
>$cache_file
fi
# Check that the precious variables saved in the cache have kept the same
# value.
ac_cache_corrupted=false
for ac_var in $ac_precious_vars; do
eval ac_old_set=\$ac_cv_env_${ac_var}_set
eval ac_new_set=\$ac_env_${ac_var}_set
eval ac_old_val=\$ac_cv_env_${ac_var}_value
eval ac_new_val=\$ac_env_${ac_var}_value
case $ac_old_set,$ac_new_set in
set,)
{ $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
ac_cache_corrupted=: ;;
,set)
{ $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
ac_cache_corrupted=: ;;
,);;
*)
if test "x$ac_old_val" != "x$ac_new_val"; then
# differences in whitespace do not lead to failure.
ac_old_val_w=`echo x $ac_old_val`
ac_new_val_w=`echo x $ac_new_val`
if test "$ac_old_val_w" != "$ac_new_val_w"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
ac_cache_corrupted=:
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
eval $ac_var=\$ac_old_val
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
fi;;
esac
# Pass precious variables to config.status.
if test "$ac_new_set" = set; then
case $ac_new_val in
*\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
*) ac_arg=$ac_var=$ac_new_val ;;
esac
case " $ac_configure_args " in
*" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
*) as_fn_append ac_configure_args " '$ac_arg'" ;;
esac
fi
done
if $ac_cache_corrupted; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
{ $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
fi
## -------------------- ##
## Main body of script. ##
## -------------------- ##
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
ac_compiler_gnu=$ac_cv_c_compiler_gnu
# Extract the first word of ""python2"", so it can be a program name with args.
set dummy "python2"; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_path_PYTHON+:} false; then :
$as_echo_n "(cached) " >&6
else
case $PYTHON in
[\\/]* | ?:[\\/]*)
ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a path.
;;
*)
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_PYTHON="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
;;
esac
fi
PYTHON=$ac_cv_path_PYTHON
if test -n "$PYTHON"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5
$as_echo "$PYTHON" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
# fallback to python if python2 does not exist
if test "x$PYTHON" = "x" ; then
# Extract the first word of ""python"", so it can be a program name with args.
set dummy "python"; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_path_PYTHON+:} false; then :
$as_echo_n "(cached) " >&6
else
case $PYTHON in
[\\/]* | ?:[\\/]*)
ac_cv_path_PYTHON="$PYTHON" # Let the user override the test with a path.
;;
*)
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_PYTHON="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
;;
esac
fi
PYTHON=$ac_cv_path_PYTHON
if test -n "$PYTHON"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $PYTHON" >&5
$as_echo "$PYTHON" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
fi
if test "x$PYTHON" = "x" ; then
as_fn_error $? "python2 or python not found." "$LINENO" 5
fi
# Extract the first word of ""perl"", so it can be a program name with args.
set dummy "perl"; ac_word=$2
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
$as_echo_n "checking for $ac_word... " >&6; }
if ${ac_cv_path_PERL+:} false; then :
$as_echo_n "(cached) " >&6
else
case $PERL in
[\\/]* | ?:[\\/]*)
ac_cv_path_PERL="$PERL" # Let the user override the test with a path.
;;
*)
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
for ac_exec_ext in '' $ac_executable_extensions; do
if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext"
$as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
break 2
fi
done
done
IFS=$as_save_IFS
;;
esac
fi
PERL=$ac_cv_path_PERL
if test -n "$PERL"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $PERL" >&5
$as_echo "$PERL" >&6; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
fi
if test "x$PERL" = "x" ; then
as_fn_error $? "Perl not found." "$LINENO" 5
fi
ac_aux_dir=
for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
if test -f "$ac_dir/install-sh"; then
ac_aux_dir=$ac_dir
ac_install_sh="$ac_aux_dir/install-sh -c"
break
elif test -f "$ac_dir/install.sh"; then
ac_aux_dir=$ac_dir
ac_install_sh="$ac_aux_dir/install.sh -c"
break
elif test -f "$ac_dir/shtool"; then
ac_aux_dir=$ac_dir
ac_install_sh="$ac_aux_dir/shtool install -c"
break
fi
done
if test -z "$ac_aux_dir"; then
as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
fi
# These three variables are undocumented and unsupported,
# and are intended to be withdrawn in a future Autoconf release.
# They can cause serious problems if a builder's source tree is in a directory
# whose full name contains unusual characters.
ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
# Make sure we can run config.sub.
$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
$as_echo_n "checking build system type... " >&6; }
if ${ac_cv_build+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_build_alias=$build_alias
test "x$ac_build_alias" = x &&
ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
test "x$ac_build_alias" = x &&
as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
$as_echo "$ac_cv_build" >&6; }
case $ac_cv_build in
*-*-*) ;;
*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
esac
build=$ac_cv_build
ac_save_IFS=$IFS; IFS='-'
set x $ac_cv_build
shift
build_cpu=$1
build_vendor=$2
shift; shift
# Remember, the first character of IFS is used to create $*,
# except with old shells:
build_os=$*
IFS=$ac_save_IFS
case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
$as_echo_n "checking host system type... " >&6; }
if ${ac_cv_host+:} false; then :
$as_echo_n "(cached) " >&6
else
if test "x$host_alias" = x; then
ac_cv_host=$ac_cv_build
else
ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
$as_echo "$ac_cv_host" >&6; }
case $ac_cv_host in
*-*-*) ;;
*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
esac
host=$ac_cv_host
ac_save_IFS=$IFS; IFS='-'
set x $ac_cv_host
shift
host_cpu=$1
host_vendor=$2
shift; shift
# Remember, the first character of IFS is used to create $*,
# except with old shells:
host_os=$*
IFS=$ac_save_IFS
case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
$as_echo_n "checking target system type... " >&6; }
if ${ac_cv_target+:} false; then :
$as_echo_n "(cached) " >&6
else
if test "x$target_alias" = x; then
ac_cv_target=$ac_cv_host
else
ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
$as_echo "$ac_cv_target" >&6; }
case $ac_cv_target in
*-*-*) ;;
*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
esac
target=$ac_cv_target
ac_save_IFS=$IFS; IFS='-'
set x $ac_cv_target
shift
target_cpu=$1
target_vendor=$2
shift; shift
# Remember, the first character of IFS is used to create $*,
# except with old shells:
target_os=$*
IFS=$ac_save_IFS
case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
# The aliases save the names the user supplied, while $host etc.
# will get canonicalized.
test -n "$target_alias" &&
test "$program_prefix$program_suffix$program_transform_name" = \
NONENONEs,x,x, &&
program_prefix=${target_alias}-
# Enable running of unit test during build
#
# Check whether --enable-tests was given.
if test "${enable_tests+set}" = set; then :
enableval=$enable_tests; enable_tests=$enableval
fi
# Disable creation of languages other than en-US (for submitting to babelzilla)
#
# Check whether --enable-lang was given.
if test "${enable_lang+set}" = set; then :
enableval=$enable_lang; enable_lang=$enableval
else
enable_lang=yes
fi
# Check whether --with-tb-path was given.
if test "${with_tb_path+set}" = set; then :
withval=$with_tb_path; if test "$withval" = yes ; then
withval=no
elif test "$withval" != no ; then
TB_PATH="$withval"
fi
else
withval=no
fi
# Check whether --with-tb-args was given.
if test "${with_tb_args+set}" = set; then :
withval=$with_tb_args; if test "$withval" = yes ; then
withval=no
elif test "$withval" != no ; then
TB_ARGS="$withval"
fi
else
withval=no
fi
# Check whether --enable-fix-lang was given.
if test "${enable_fix_lang+set}" = set; then :
enableval=$enable_fix_lang; enable_fix_lang=$enableval
else
enable_fix_lang=yes
fi
ac_config_files="$ac_config_files config/autoconf.mk"
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
# tests run on this system so they can be shared between configure
# scripts and configure runs, see configure's option --config-cache.
# It is not useful on other systems. If it contains results you don't
# want to keep, you may remove or edit it.
#
# config.status only pays attention to the cache file if you give it
# the --recheck option to rerun configure.
#
# `ac_cv_env_foo' variables (set or unset) will be overridden when
# loading this file, other *unset* `ac_cv_foo' will be assigned the
# following values.
_ACEOF
# The following way of writing the cache mishandles newlines in values,
# but we know of no workaround that is simple, portable, and efficient.
# So, we kill variables containing newlines.
# Ultrix sh set writes to stderr and can't be redirected directly,
# and sets the high bit in the cache file unless we assign to the vars.
(
for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
eval ac_val=\$$ac_var
case $ac_val in #(
*${as_nl}*)
case $ac_var in #(
*_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
esac
case $ac_var in #(
_ | IFS | as_nl) ;; #(
BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
*) { eval $ac_var=; unset $ac_var;} ;;
esac ;;
esac
done
(set) 2>&1 |
case $as_nl`(ac_space=' '; set) 2>&1` in #(
*${as_nl}ac_space=\ *)
# `set' does not quote correctly, so add quotes: double-quote
# substitution turns \\\\ into \\, and sed turns \\ into \.
sed -n \
"s/'/'\\\\''/g;
s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
;; #(
*)
# `set' quotes correctly as required by POSIX, so do not add quotes.
sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
;;
esac |
sort
) |
sed '
/^ac_cv_env_/b end
t clear
:clear
s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
t end
s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
:end' >>confcache
if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
if test -w "$cache_file"; then
if test "x$cache_file" != "x/dev/null"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
$as_echo "$as_me: updating cache $cache_file" >&6;}
if test ! -f "$cache_file" || test -h "$cache_file"; then
cat confcache >"$cache_file"
else
case $cache_file in #(
*/* | ?:*)
mv -f confcache "$cache_file"$$ &&
mv -f "$cache_file"$$ "$cache_file" ;; #(
*)
mv -f confcache "$cache_file" ;;
esac
fi
fi
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
fi
fi
rm -f confcache
test "x$prefix" = xNONE && prefix=$ac_default_prefix
# Let make expand exec_prefix.
test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
# Transform confdefs.h into DEFS.
# Protect against shell expansion while executing Makefile rules.
# Protect against Makefile macro expansion.
#
# If the first sed substitution is executed (which looks for macros that
# take arguments), then branch to the quote section. Otherwise,
# look for a macro that doesn't take arguments.
ac_script='
:mline
/\\$/{
N
s,\\\n,,
b mline
}
t clear
:clear
s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g
t quote
s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g
t quote
b any
:quote
s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g
s/\[/\\&/g
s/\]/\\&/g
s/\$/$$/g
H
:any
${
g
s/^\n//
s/\n/ /g
p
}
'
DEFS=`sed -n "$ac_script" confdefs.h`
ac_libobjs=
ac_ltlibobjs=
U=
for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
# 1. Remove the extension, and $U if already installed.
ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
# 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
# will be set to the directory where LIBOBJS objects are built.
as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
done
LIBOBJS=$ac_libobjs
LTLIBOBJS=$ac_ltlibobjs
: "${CONFIG_STATUS=./config.status}"
ac_write_fail=0
ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files $CONFIG_STATUS"
{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
as_write_fail=0
cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
#! $SHELL
# Generated by $as_me.
# Run this file to recreate the current configuration.
# Compiler output produced by configure, useful for debugging
# configure, is in config.log if it exists.
debug=false
ac_cs_recheck=false
ac_cs_silent=false
SHELL=\${CONFIG_SHELL-$SHELL}
export SHELL
_ASEOF
cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
## -------------------- ##
## M4sh Initialization. ##
## -------------------- ##
# Be more Bourne compatible
DUALCASE=1; export DUALCASE # for MKS sh
if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
emulate sh
NULLCMD=:
# Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
# is contrary to our usage. Disable this feature.
alias -g '${1+"$@"}'='"$@"'
setopt NO_GLOB_SUBST
else
case `(set -o) 2>/dev/null` in #(
*posix*) :
set -o posix ;; #(
*) :
;;
esac
fi
as_nl='
'
export as_nl
# Printing a long string crashes Solaris 7 /usr/bin/printf.
as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
# Prefer a ksh shell builtin over an external printf program on Solaris,
# but without wasting forks for bash or zsh.
if test -z "$BASH_VERSION$ZSH_VERSION" \
&& (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
as_echo='print -r --'
as_echo_n='print -rn --'
elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
as_echo='printf %s\n'
as_echo_n='printf %s'
else
if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
as_echo_n='/usr/ucb/echo -n'
else
as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
as_echo_n_body='eval
arg=$1;
case $arg in #(
*"$as_nl"*)
expr "X$arg" : "X\\(.*\\)$as_nl";
arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
esac;
expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
'
export as_echo_n_body
as_echo_n='sh -c $as_echo_n_body as_echo'
fi
export as_echo_body
as_echo='sh -c $as_echo_body as_echo'
fi
# The user is always right.
if test "${PATH_SEPARATOR+set}" != set; then
PATH_SEPARATOR=:
(PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
(PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
PATH_SEPARATOR=';'
}
fi
# IFS
# We need space, tab and new line, in precisely that order. Quoting is
# there to prevent editors from complaining about space-tab.
# (If _AS_PATH_WALK were called with IFS unset, it would disable word
# splitting by setting IFS to empty value.)
IFS=" "" $as_nl"
# Find who we are. Look in the path if we contain no directory separator.
as_myself=
case $0 in #((
*[\\/]* ) as_myself=$0 ;;
*) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
for as_dir in $PATH
do
IFS=$as_save_IFS
test -z "$as_dir" && as_dir=.
test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
done
IFS=$as_save_IFS
;;
esac
# We did not find ourselves, most probably we were run as `sh COMMAND'
# in which case we are not to be found in the path.
if test "x$as_myself" = x; then
as_myself=$0
fi
if test ! -f "$as_myself"; then
$as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
exit 1
fi
# Unset variables that we do not need and which cause bugs (e.g. in
# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
# suppresses any "Segmentation fault" message there. '((' could
# trigger a bug in pdksh 5.2.14.
for as_var in BASH_ENV ENV MAIL MAILPATH
do eval test x\${$as_var+set} = xset \
&& ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
done
PS1='$ '
PS2='> '
PS4='+ '
# NLS nuisances.
LC_ALL=C
export LC_ALL
LANGUAGE=C
export LANGUAGE
# CDPATH.
(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
# as_fn_error STATUS ERROR [LINENO LOG_FD]
# ----------------------------------------
# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
# script with STATUS, using 1 if that was 0.
as_fn_error ()
{
as_status=$1; test $as_status -eq 0 && as_status=1
if test "$4"; then
as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
$as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
fi
$as_echo "$as_me: error: $2" >&2
as_fn_exit $as_status
} # as_fn_error
# as_fn_set_status STATUS
# -----------------------
# Set $? to STATUS, without forking.
as_fn_set_status ()
{
return $1
} # as_fn_set_status
# as_fn_exit STATUS
# -----------------
# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
as_fn_exit ()
{
set +e
as_fn_set_status $1
exit $1
} # as_fn_exit
# as_fn_unset VAR
# ---------------
# Portably unset VAR.
as_fn_unset ()
{
{ eval $1=; unset $1;}
}
as_unset=as_fn_unset
# as_fn_append VAR VALUE
# ----------------------
# Append the text in VALUE to the end of the definition contained in VAR. Take
# advantage of any shell optimizations that allow amortized linear growth over
# repeated appends, instead of the typical quadratic growth present in naive
# implementations.
if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
eval 'as_fn_append ()
{
eval $1+=\$2
}'
else
as_fn_append ()
{
eval $1=\$$1\$2
}
fi # as_fn_append
# as_fn_arith ARG...
# ------------------
# Perform arithmetic evaluation on the ARGs, and store the result in the
# global $as_val. Take advantage of shells that can avoid forks. The arguments
# must be portable across $(()) and expr.
if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
eval 'as_fn_arith ()
{
as_val=$(( $* ))
}'
else
as_fn_arith ()
{
as_val=`expr "$@" || test $? -eq 1`
}
fi # as_fn_arith
if expr a : '\(a\)' >/dev/null 2>&1 &&
test "X`expr 00001 : '.*\(...\)'`" = X001; then
as_expr=expr
else
as_expr=false
fi
if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
as_basename=basename
else
as_basename=false
fi
if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
as_dirname=dirname
else
as_dirname=false
fi
as_me=`$as_basename -- "$0" ||
$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
X"$0" : 'X\(//\)$' \| \
X"$0" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X/"$0" |
sed '/^.*\/\([^/][^/]*\)\/*$/{
s//\1/
q
}
/^X\/\(\/\/\)$/{
s//\1/
q
}
/^X\/\(\/\).*/{
s//\1/
q
}
s/.*/./; q'`
# Avoid depending upon Character Ranges.
as_cr_letters='abcdefghijklmnopqrstuvwxyz'
as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
as_cr_Letters=$as_cr_letters$as_cr_LETTERS
as_cr_digits='0123456789'
as_cr_alnum=$as_cr_Letters$as_cr_digits
ECHO_C= ECHO_N= ECHO_T=
case `echo -n x` in #(((((
-n*)
case `echo 'xy\c'` in
*c*) ECHO_T=' ';; # ECHO_T is single tab character.
xy) ECHO_C='\c';;
*) echo `echo ksh88 bug on AIX 6.1` > /dev/null
ECHO_T=' ';;
esac;;
*)
ECHO_N='-n';;
esac
rm -f conf$$ conf$$.exe conf$$.file
if test -d conf$$.dir; then
rm -f conf$$.dir/conf$$.file
else
rm -f conf$$.dir
mkdir conf$$.dir 2>/dev/null
fi
if (echo >conf$$.file) 2>/dev/null; then
if ln -s conf$$.file conf$$ 2>/dev/null; then
as_ln_s='ln -s'
# ... but there are two gotchas:
# 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
# 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
# In both cases, we have to default to `cp -pR'.
ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
as_ln_s='cp -pR'
elif ln conf$$.file conf$$ 2>/dev/null; then
as_ln_s=ln
else
as_ln_s='cp -pR'
fi
else
as_ln_s='cp -pR'
fi
rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
rmdir conf$$.dir 2>/dev/null
# as_fn_mkdir_p
# -------------
# Create "$as_dir" as a directory, including parents if necessary.
as_fn_mkdir_p ()
{
case $as_dir in #(
-*) as_dir=./$as_dir;;
esac
test -d "$as_dir" || eval $as_mkdir_p || {
as_dirs=
while :; do
case $as_dir in #(
*\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
*) as_qdir=$as_dir;;
esac
as_dirs="'$as_qdir' $as_dirs"
as_dir=`$as_dirname -- "$as_dir" ||
$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$as_dir" : 'X\(//\)[^/]' \| \
X"$as_dir" : 'X\(//\)$' \| \
X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X"$as_dir" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
}
/^X\(\/\/\)[^/].*/{
s//\1/
q
}
/^X\(\/\/\)$/{
s//\1/
q
}
/^X\(\/\).*/{
s//\1/
q
}
s/.*/./; q'`
test -d "$as_dir" && break
done
test -z "$as_dirs" || eval "mkdir $as_dirs"
} || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
} # as_fn_mkdir_p
if mkdir -p . 2>/dev/null; then
as_mkdir_p='mkdir -p "$as_dir"'
else
test -d ./-p && rmdir ./-p
as_mkdir_p=false
fi
# as_fn_executable_p FILE
# -----------------------
# Test if FILE is an executable regular file.
as_fn_executable_p ()
{
test -f "$1" && test -x "$1"
} # as_fn_executable_p
as_test_x='test -x'
as_executable_p=as_fn_executable_p
# Sed expression to map a string onto a valid CPP name.
as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
# Sed expression to map a string onto a valid variable name.
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
exec 6>&1
## ----------------------------------- ##
## Main body of $CONFIG_STATUS script. ##
## ----------------------------------- ##
_ASEOF
test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# Save the log message, to keep $0 and so on meaningful, and to
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by enigmail $as_me 1.9.9, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS
CONFIG_LINKS = $CONFIG_LINKS
CONFIG_COMMANDS = $CONFIG_COMMANDS
$ $0 $@
on `(hostname || uname -n) 2>/dev/null | sed 1q`
"
_ACEOF
case $ac_config_files in *"
"*) set x $ac_config_files; shift; ac_config_files=$*;;
esac
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
# Files that config.status was made for.
config_files="$ac_config_files"
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
ac_cs_usage="\
\`$as_me' instantiates files and other configuration actions
from templates according to the current configuration. Unless the files
and actions are specified as TAGs, all are instantiated by default.
Usage: $0 [OPTION]... [TAG]...
-h, --help print this help, then exit
-V, --version print version number and configuration settings, then exit
--config print configuration, then exit
-q, --quiet, --silent
do not print progress messages
-d, --debug don't remove temporary files
--recheck update $as_me by reconfiguring in the same conditions
--file=FILE[:TEMPLATE]
instantiate the configuration file FILE
Configuration files:
$config_files
Report bugs to ."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
enigmail config.status 1.9.9
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
Copyright (C) 2012 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation
gives unlimited permission to copy, distribute and modify it."
ac_pwd='$ac_pwd'
srcdir='$srcdir'
test -n "\$AWK" || AWK=awk
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# The default lists apply if the user does not specify any file.
ac_need_defaults=:
while test $# != 0
do
case $1 in
--*=?*)
ac_option=`expr "X$1" : 'X\([^=]*\)='`
ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
ac_shift=:
;;
--*=)
ac_option=`expr "X$1" : 'X\([^=]*\)='`
ac_optarg=
ac_shift=:
;;
*)
ac_option=$1
ac_optarg=$2
ac_shift=shift
;;
esac
case $ac_option in
# Handling of the options.
-recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
ac_cs_recheck=: ;;
--version | --versio | --versi | --vers | --ver | --ve | --v | -V )
$as_echo "$ac_cs_version"; exit ;;
--config | --confi | --conf | --con | --co | --c )
$as_echo "$ac_cs_config"; exit ;;
--debug | --debu | --deb | --de | --d | -d )
debug=: ;;
--file | --fil | --fi | --f )
$ac_shift
case $ac_optarg in
*\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
'') as_fn_error $? "missing file argument" ;;
esac
as_fn_append CONFIG_FILES " '$ac_optarg'"
ac_need_defaults=false;;
--he | --h | --help | --hel | -h )
$as_echo "$ac_cs_usage"; exit ;;
-q | -quiet | --quiet | --quie | --qui | --qu | --q \
| -silent | --silent | --silen | --sile | --sil | --si | --s)
ac_cs_silent=: ;;
# This is an error.
-*) as_fn_error $? "unrecognized option: \`$1'
Try \`$0 --help' for more information." ;;
*) as_fn_append ac_config_targets " $1"
ac_need_defaults=false ;;
esac
shift
done
ac_configure_extra_args=
if $ac_cs_silent; then
exec 6>/dev/null
ac_configure_extra_args="$ac_configure_extra_args --silent"
fi
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
if \$ac_cs_recheck; then
set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
shift
\$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
CONFIG_SHELL='$SHELL'
export CONFIG_SHELL
exec "\$@"
fi
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
exec 5>>config.log
{
echo
sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
## Running $as_me. ##
_ASBOX
$as_echo "$ac_log"
} >&5
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# Handling of arguments.
for ac_config_target in $ac_config_targets
do
case $ac_config_target in
"config/autoconf.mk") CONFIG_FILES="$CONFIG_FILES config/autoconf.mk" ;;
*) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
esac
done
# If the user did not use the arguments to specify the items to instantiate,
# then the envvar interface is used. Set only those that are not.
# We use the long form for the default assignment because of an extremely
# bizarre bug on SunOS 4.1.3.
if $ac_need_defaults; then
test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
fi
# Have a temporary directory for convenience. Make it in the build tree
# simply because there is no reason against having it here, and in addition,
# creating and moving files from /tmp can sometimes cause problems.
# Hook for its removal unless debugging.
# Note that there is a small window in which the directory will not be cleaned:
# after its creation but before its name has been assigned to `$tmp'.
$debug ||
{
tmp= ac_tmp=
trap 'exit_status=$?
: "${ac_tmp:=$tmp}"
{ test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
' 0
trap 'as_fn_exit 1' 1 2 13 15
}
# Create a (secure) tmp directory for tmp files.
{
tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
test -d "$tmp"
} ||
{
tmp=./conf$$-$RANDOM
(umask 077 && mkdir "$tmp")
} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
ac_tmp=$tmp
# Set up the scripts for CONFIG_FILES section.
# No need to generate them if there are no CONFIG_FILES.
# This happens for instance with `./config.status config.h'.
if test -n "$CONFIG_FILES"; then
ac_cr=`echo X | tr X '\015'`
# On cygwin, bash can eat \r inside `` if the user requested igncr.
# But we know of no other shell where ac_cr would be empty at this
# point, so we can use a bashism as a fallback.
if test "x$ac_cr" = x; then
eval ac_cr=\$\'\\r\'
fi
ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null`
if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
ac_cs_awk_cr='\\r'
else
ac_cs_awk_cr=$ac_cr
fi
echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
_ACEOF
{
echo "cat >conf$$subs.awk <<_ACEOF" &&
echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
echo "_ACEOF"
} >conf$$subs.sh ||
as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
ac_delim='%!_!# '
for ac_last_try in false false false false false :; do
. ./conf$$subs.sh ||
as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
if test $ac_delim_n = $ac_delim_num; then
break
elif $ac_last_try; then
as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
else
ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
fi
done
rm -f conf$$subs.sh
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
_ACEOF
sed -n '
h
s/^/S["/; s/!.*/"]=/
p
g
s/^[^!]*!//
:repl
t repl
s/'"$ac_delim"'$//
t delim
:nl
h
s/\(.\{148\}\)..*/\1/
t more1
s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
p
n
b repl
:more1
s/["\\]/\\&/g; s/^/"/; s/$/"\\/
p
g
s/.\{148\}//
t nl
:delim
h
s/\(.\{148\}\)..*/\1/
t more2
s/["\\]/\\&/g; s/^/"/; s/$/"/
p
b
:more2
s/["\\]/\\&/g; s/^/"/; s/$/"\\/
p
g
s/.\{148\}//
t delim
' >$CONFIG_STATUS || ac_write_fail=1
rm -f conf$$subs.awk
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
_ACAWK
cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
for (key in S) S_is_set[key] = 1
FS = ""
}
{
line = $ 0
nfields = split(line, field, "@")
substed = 0
len = length(field[1])
for (i = 2; i < nfields; i++) {
key = field[i]
keylen = length(key)
if (S_is_set[key]) {
value = S[key]
line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
len += length(value) + length(field[++i])
substed = 1
} else
len += 1 + keylen
}
print line
}
_ACAWK
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
else
cat
fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
|| as_fn_error $? "could not setup config files machinery" "$LINENO" 5
_ACEOF
# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
# trailing colons and then remove the whole line if VPATH becomes empty
# (actually we leave an empty line to preserve line numbers).
if test "x$srcdir" = x.; then
ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
h
s///
s/^/:/
s/[ ]*$/:/
s/:\$(srcdir):/:/g
s/:\${srcdir}:/:/g
s/:@srcdir@:/:/g
s/^:*//
s/:*$//
x
s/\(=[ ]*\).*/\1/
G
s/\n//
s/^[^=]*=[ ]*$//
}'
fi
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
fi # test -n "$CONFIG_FILES"
eval set X " :F $CONFIG_FILES "
shift
for ac_tag
do
case $ac_tag in
:[FHLC]) ac_mode=$ac_tag; continue;;
esac
case $ac_mode$ac_tag in
:[FHL]*:*);;
:L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
:[FH]-) ac_tag=-:-;;
:[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
esac
ac_save_IFS=$IFS
IFS=:
set x $ac_tag
IFS=$ac_save_IFS
shift
ac_file=$1
shift
case $ac_mode in
:L) ac_source=$1;;
:[FH])
ac_file_inputs=
for ac_f
do
case $ac_f in
-) ac_f="$ac_tmp/stdin";;
*) # Look for the file first in the build tree, then in the source tree
# (if the path is not absolute). The absolute path cannot be DOS-style,
# because $ac_f cannot contain `:'.
test -f "$ac_f" ||
case $ac_f in
[\\/$]*) false;;
*) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
esac ||
as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
esac
case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
as_fn_append ac_file_inputs " '$ac_f'"
done
# Let's still pretend it is `configure' which instantiates (i.e., don't
# use $as_me), people would be surprised to read:
# /* config.h. Generated by config.status. */
configure_input='Generated from '`
$as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
`' by configure.'
if test x"$ac_file" != x-; then
configure_input="$ac_file. $configure_input"
{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
$as_echo "$as_me: creating $ac_file" >&6;}
fi
# Neutralize special characters interpreted by sed in replacement strings.
case $configure_input in #(
*\&* | *\|* | *\\* )
ac_sed_conf_input=`$as_echo "$configure_input" |
sed 's/[\\\\&|]/\\\\&/g'`;; #(
*) ac_sed_conf_input=$configure_input;;
esac
case $ac_tag in
*:-:* | *:-) cat >"$ac_tmp/stdin" \
|| as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
esac
;;
esac
ac_dir=`$as_dirname -- "$ac_file" ||
$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$ac_file" : 'X\(//\)[^/]' \| \
X"$ac_file" : 'X\(//\)$' \| \
X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
$as_echo X"$ac_file" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
}
/^X\(\/\/\)[^/].*/{
s//\1/
q
}
/^X\(\/\/\)$/{
s//\1/
q
}
/^X\(\/\).*/{
s//\1/
q
}
s/.*/./; q'`
as_dir="$ac_dir"; as_fn_mkdir_p
ac_builddir=.
case "$ac_dir" in
.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
*)
ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
# A ".." for each directory in $ac_dir_suffix.
ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
case $ac_top_builddir_sub in
"") ac_top_builddir_sub=. ac_top_build_prefix= ;;
*) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
esac ;;
esac
ac_abs_top_builddir=$ac_pwd
ac_abs_builddir=$ac_pwd$ac_dir_suffix
# for backward compatibility:
ac_top_builddir=$ac_top_build_prefix
case $srcdir in
.) # We are building in place.
ac_srcdir=.
ac_top_srcdir=$ac_top_builddir_sub
ac_abs_top_srcdir=$ac_pwd ;;
[\\/]* | ?:[\\/]* ) # Absolute name.
ac_srcdir=$srcdir$ac_dir_suffix;
ac_top_srcdir=$srcdir
ac_abs_top_srcdir=$srcdir ;;
*) # Relative name.
ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
ac_top_srcdir=$ac_top_build_prefix$srcdir
ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
esac
ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
case $ac_mode in
:F)
#
# CONFIG_FILE
#
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# If the template does not know about datarootdir, expand it.
# FIXME: This hack should be removed a few years after 2.60.
ac_datarootdir_hack=; ac_datarootdir_seen=
ac_sed_dataroot='
/datarootdir/ {
p
q
}
/@datadir@/p
/@docdir@/p
/@infodir@/p
/@localedir@/p
/@mandir@/p'
case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
*datarootdir*) ac_datarootdir_seen=yes;;
*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_datarootdir_hack='
s&@datadir@&$datadir&g
s&@docdir@&$docdir&g
s&@infodir@&$infodir&g
s&@localedir@&$localedir&g
s&@mandir@&$mandir&g
s&\\\${datarootdir}&$datarootdir&g' ;;
esac
_ACEOF
# Neutralize VPATH when `$srcdir' = `.'.
# Shell code in configure.ac might set extrasub.
# FIXME: do we really want to maintain this feature?
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_sed_extra="$ac_vpsub
$extrasub
_ACEOF
cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
:t
/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
s|@configure_input@|$ac_sed_conf_input|;t t
s&@top_builddir@&$ac_top_builddir_sub&;t t
s&@top_build_prefix@&$ac_top_build_prefix&;t t
s&@srcdir@&$ac_srcdir&;t t
s&@abs_srcdir@&$ac_abs_srcdir&;t t
s&@top_srcdir@&$ac_top_srcdir&;t t
s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
s&@builddir@&$ac_builddir&;t t
s&@abs_builddir@&$ac_abs_builddir&;t t
s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
$ac_datarootdir_hack
"
eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
>$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
{ ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
{ ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
"$ac_tmp/out"`; test -z "$ac_out"; } &&
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
which seems to be undefined. Please make sure it is defined" >&5
$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
which seems to be undefined. Please make sure it is defined" >&2;}
rm -f "$ac_tmp/stdin"
case $ac_file in
-) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
*) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
esac \
|| as_fn_error $? "could not create $ac_file" "$LINENO" 5
;;
esac
done # for ac_tag
as_fn_exit 0
_ACEOF
ac_clean_files=$ac_clean_files_save
test $ac_write_fail = 0 ||
as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
# configure is writing to config.log, and then calls config.status.
# config.status does its own redirection, appending to config.log.
# Unfortunately, on DOS this fails, as config.log is still kept open
# by configure, so config.status won't be able to write to it; its
# output is simply discarded. So we exec the FD to /dev/null,
# effectively closing config.log, so it can be properly (re)opened and
# appended to by config.status. When coming back to configure, we
# need to make the FD available again.
if test "$no_create" != yes; then
ac_cs_success=:
ac_config_status_args=
test "$silent" = yes &&
ac_config_status_args="$ac_config_status_args --quiet"
exec 5>/dev/null
$SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
exec 5>>config.log
# Use ||, not &&, to avoid exiting from the if with $? = 1, which
# would make configure fail if this is the last instruction.
$ac_cs_success || as_fn_exit 1
fi
if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
fi
enigmail/configure.ac 0000664 0000000 0000000 00000003451 13213001347 0015126 0 ustar 00root root 0000000 0000000 # Process this file with autoconf to produce a configure script.
AC_PREREQ(2.61)
min_automake_version="1.10"
AC_INIT([enigmail],[1.9.9], [https://www.enigmail.net])
AC_PATH_PROG(PYTHON, "python2")
# fallback to python if python2 does not exist
if test "x$PYTHON" = "x" ; then
AC_PATH_PROG(PYTHON, "python")
fi
if test "x$PYTHON" = "x" ; then
AC_MSG_ERROR([[python2 or python not found.]])
fi
AC_PATH_PROG(PERL,"perl")
if test "x$PERL" = "x" ; then
AC_MSG_ERROR([[Perl not found.]])
fi
AC_CANONICAL_TARGET
# Enable running of unit test during build
#
AC_ARG_ENABLE(tests,
AC_HELP_STRING([--enable-tests],[run unit tests during build process]),
enable_tests=$enableval)
# Disable creation of languages other than en-US (for submitting to babelzilla)
#
AC_ARG_ENABLE(lang,
AC_HELP_STRING([--disable-lang],[disable creation of locales other than en-US]),
enable_lang=$enableval,
enable_lang=yes
)
AC_SUBST(enable_tests)
AC_SUBST(enable_lang)
AC_ARG_WITH(tb-path,
[ --with-tb-path=/path/to/thunderbird set the path to an installed Thunderbird],
[if test "$withval" = yes ; then
withval=no
elif test "$withval" != no ; then
TB_PATH="$withval"
fi],withval=no)
AC_SUBST(TB_PATH)
AC_ARG_WITH(tb-args,
[ --with-tb-args="-P profilename" set additional arguments for Thunderbird],
[if test "$withval" = yes ; then
withval=no
elif test "$withval" != no ; then
TB_ARGS="$withval"
fi],withval=no)
AC_SUBST(TB_ARGS)
AC_ARG_ENABLE(fix-lang,
AC_HELP_STRING([--disable-fix-lang],[disable replacing of missing strings in localizations with en-US]),
enable_fix_lang=$enableval,
enable_fix_lang=yes
)
AC_SUBST(enable_fix_lang)
AC_CONFIG_FILES([config/autoconf.mk])
AC_OUTPUT
enigmail/install-sh 0000775 0000000 0000000 00000033255 13213001347 0014651 0 ustar 00root root 0000000 0000000 #!/bin/sh
# install - install a program, script, or datafile
scriptversion=2011-11-20.07; # UTC
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
# following copyright and license.
#
# Copyright (C) 1994 X Consortium
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
# Except as contained in this notice, the name of the X Consortium shall not
# be used in advertising or otherwise to promote the sale, use or other deal-
# ings in this Software without prior written authorization from the X Consor-
# tium.
#
#
# FSF changes to this file are in the public domain.
#
# Calling this script install-sh is preferred over install.sh, to prevent
# 'make' implicit rules from creating a file called install from it
# when there is no Makefile.
#
# This script is compatible with the BSD install script, but was written
# from scratch.
nl='
'
IFS=" "" $nl"
# set DOITPROG to echo to test this script
# Don't use :- since 4.3BSD and earlier shells don't like it.
doit=${DOITPROG-}
if test -z "$doit"; then
doit_exec=exec
else
doit_exec=$doit
fi
# Put in absolute file names if you don't have them in your path;
# or use environment vars.
chgrpprog=${CHGRPPROG-chgrp}
chmodprog=${CHMODPROG-chmod}
chownprog=${CHOWNPROG-chown}
cmpprog=${CMPPROG-cmp}
cpprog=${CPPROG-cp}
mkdirprog=${MKDIRPROG-mkdir}
mvprog=${MVPROG-mv}
rmprog=${RMPROG-rm}
stripprog=${STRIPPROG-strip}
posix_glob='?'
initialize_posix_glob='
test "$posix_glob" != "?" || {
if (set -f) 2>/dev/null; then
posix_glob=
else
posix_glob=:
fi
}
'
posix_mkdir=
# Desired mode of installed file.
mode=0755
chgrpcmd=
chmodcmd=$chmodprog
chowncmd=
mvcmd=$mvprog
rmcmd="$rmprog -f"
stripcmd=
src=
dst=
dir_arg=
dst_arg=
copy_on_change=false
no_target_directory=
usage="\
Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
or: $0 [OPTION]... SRCFILES... DIRECTORY
or: $0 [OPTION]... -t DIRECTORY SRCFILES...
or: $0 [OPTION]... -d DIRECTORIES...
In the 1st form, copy SRCFILE to DSTFILE.
In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
In the 4th, create DIRECTORIES.
Options:
--help display this help and exit.
--version display version info and exit.
-c (ignored)
-C install only if different (preserve the last data modification time)
-d create directories instead of installing files.
-g GROUP $chgrpprog installed files to GROUP.
-m MODE $chmodprog installed files to MODE.
-o USER $chownprog installed files to USER.
-s $stripprog installed files.
-t DIRECTORY install into DIRECTORY.
-T report an error if DSTFILE is a directory.
Environment variables override the default commands:
CHGRPPROG CHMODPROG CHOWNPROG CMPPROG CPPROG MKDIRPROG MVPROG
RMPROG STRIPPROG
"
while test $# -ne 0; do
case $1 in
-c) ;;
-C) copy_on_change=true;;
-d) dir_arg=true;;
-g) chgrpcmd="$chgrpprog $2"
shift;;
--help) echo "$usage"; exit $?;;
-m) mode=$2
case $mode in
*' '* | *' '* | *'
'* | *'*'* | *'?'* | *'['*)
echo "$0: invalid mode: $mode" >&2
exit 1;;
esac
shift;;
-o) chowncmd="$chownprog $2"
shift;;
-s) stripcmd=$stripprog;;
-t) dst_arg=$2
# Protect names problematic for 'test' and other utilities.
case $dst_arg in
-* | [=\(\)!]) dst_arg=./$dst_arg;;
esac
shift;;
-T) no_target_directory=true;;
--version) echo "$0 $scriptversion"; exit $?;;
--) shift
break;;
-*) echo "$0: invalid option: $1" >&2
exit 1;;
*) break;;
esac
shift
done
if test $# -ne 0 && test -z "$dir_arg$dst_arg"; then
# When -d is used, all remaining arguments are directories to create.
# When -t is used, the destination is already specified.
# Otherwise, the last argument is the destination. Remove it from $@.
for arg
do
if test -n "$dst_arg"; then
# $@ is not empty: it contains at least $arg.
set fnord "$@" "$dst_arg"
shift # fnord
fi
shift # arg
dst_arg=$arg
# Protect names problematic for 'test' and other utilities.
case $dst_arg in
-* | [=\(\)!]) dst_arg=./$dst_arg;;
esac
done
fi
if test $# -eq 0; then
if test -z "$dir_arg"; then
echo "$0: no input file specified." >&2
exit 1
fi
# It's OK to call 'install-sh -d' without argument.
# This can happen when creating conditional directories.
exit 0
fi
if test -z "$dir_arg"; then
do_exit='(exit $ret); exit $ret'
trap "ret=129; $do_exit" 1
trap "ret=130; $do_exit" 2
trap "ret=141; $do_exit" 13
trap "ret=143; $do_exit" 15
# Set umask so as not to create temps with too-generous modes.
# However, 'strip' requires both read and write access to temps.
case $mode in
# Optimize common cases.
*644) cp_umask=133;;
*755) cp_umask=22;;
*[0-7])
if test -z "$stripcmd"; then
u_plus_rw=
else
u_plus_rw='% 200'
fi
cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
*)
if test -z "$stripcmd"; then
u_plus_rw=
else
u_plus_rw=,u+rw
fi
cp_umask=$mode$u_plus_rw;;
esac
fi
for src
do
# Protect names problematic for 'test' and other utilities.
case $src in
-* | [=\(\)!]) src=./$src;;
esac
if test -n "$dir_arg"; then
dst=$src
dstdir=$dst
test -d "$dstdir"
dstdir_status=$?
else
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.
if test ! -f "$src" && test ! -d "$src"; then
echo "$0: $src does not exist." >&2
exit 1
fi
if test -z "$dst_arg"; then
echo "$0: no destination specified." >&2
exit 1
fi
dst=$dst_arg
# If destination is a directory, append the input filename; won't work
# if double slashes aren't ignored.
if test -d "$dst"; then
if test -n "$no_target_directory"; then
echo "$0: $dst_arg: Is a directory" >&2
exit 1
fi
dstdir=$dst
dst=$dstdir/`basename "$src"`
dstdir_status=0
else
# Prefer dirname, but fall back on a substitute if dirname fails.
dstdir=`
(dirname "$dst") 2>/dev/null ||
expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
X"$dst" : 'X\(//\)[^/]' \| \
X"$dst" : 'X\(//\)$' \| \
X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
echo X"$dst" |
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
s//\1/
q
}
/^X\(\/\/\)[^/].*/{
s//\1/
q
}
/^X\(\/\/\)$/{
s//\1/
q
}
/^X\(\/\).*/{
s//\1/
q
}
s/.*/./; q'
`
test -d "$dstdir"
dstdir_status=$?
fi
fi
obsolete_mkdir_used=false
if test $dstdir_status != 0; then
case $posix_mkdir in
'')
# Create intermediate dirs using mode 755 as modified by the umask.
# This is like FreeBSD 'install' as of 1997-10-28.
umask=`umask`
case $stripcmd.$umask in
# Optimize common cases.
*[2367][2367]) mkdir_umask=$umask;;
.*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
*[0-7])
mkdir_umask=`expr $umask + 22 \
- $umask % 100 % 40 + $umask % 20 \
- $umask % 10 % 4 + $umask % 2
`;;
*) mkdir_umask=$umask,go-w;;
esac
# With -d, create the new directory with the user-specified mode.
# Otherwise, rely on $mkdir_umask.
if test -n "$dir_arg"; then
mkdir_mode=-m$mode
else
mkdir_mode=
fi
posix_mkdir=false
case $umask in
*[123567][0-7][0-7])
# POSIX mkdir -p sets u+wx bits regardless of umask, which
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
;;
*)
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
if (umask $mkdir_umask &&
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
then
if test -z "$dir_arg" || {
# Check for POSIX incompatibilities with -m.
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
# other-writable bit of parent directory when it shouldn't.
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
ls_ld_tmpdir=`ls -ld "$tmpdir"`
case $ls_ld_tmpdir in
d????-?r-*) different_mode=700;;
d????-?--*) different_mode=755;;
*) false;;
esac &&
$mkdirprog -m$different_mode -p -- "$tmpdir" && {
ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
}
}
then posix_mkdir=:
fi
rmdir "$tmpdir/d" "$tmpdir"
else
# Remove any dirs left behind by ancient mkdir implementations.
rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
fi
trap '' 0;;
esac;;
esac
if
$posix_mkdir && (
umask $mkdir_umask &&
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
)
then :
else
# The umask is ridiculous, or mkdir does not conform to POSIX,
# or it failed possibly due to a race condition. Create the
# directory the slow way, step by step, checking for races as we go.
case $dstdir in
/*) prefix='/';;
[-=\(\)!]*) prefix='./';;
*) prefix='';;
esac
eval "$initialize_posix_glob"
oIFS=$IFS
IFS=/
$posix_glob set -f
set fnord $dstdir
shift
$posix_glob set +f
IFS=$oIFS
prefixes=
for d
do
test X"$d" = X && continue
prefix=$prefix$d
if test -d "$prefix"; then
prefixes=
else
if $posix_mkdir; then
(umask=$mkdir_umask &&
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
# Don't fail if two instances are running concurrently.
test -d "$prefix" || exit 1
else
case $prefix in
*\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
*) qprefix=$prefix;;
esac
prefixes="$prefixes '$qprefix'"
fi
fi
prefix=$prefix/
done
if test -n "$prefixes"; then
# Don't fail if two instances are running concurrently.
(umask $mkdir_umask &&
eval "\$doit_exec \$mkdirprog $prefixes") ||
test -d "$dstdir" || exit 1
obsolete_mkdir_used=true
fi
fi
fi
if test -n "$dir_arg"; then
{ test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
{ test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
else
# Make a couple of temp file names in the proper directory.
dsttmp=$dstdir/_inst.$$_
rmtmp=$dstdir/_rm.$$_
# Trap to clean up those temp files at exit.
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
# Copy the file name to the temp name.
(umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
# and set any options; do chmod last to preserve setuid bits.
#
# If any of these fail, we abort the whole thing. If we want to
# ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $cpprog $src $dsttmp" command.
#
{ test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } &&
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } &&
{ test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } &&
{ test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
# If -C, don't bother to copy if it wouldn't change the file.
if $copy_on_change &&
old=`LC_ALL=C ls -dlL "$dst" 2>/dev/null` &&
new=`LC_ALL=C ls -dlL "$dsttmp" 2>/dev/null` &&
eval "$initialize_posix_glob" &&
$posix_glob set -f &&
set X $old && old=:$2:$4:$5:$6 &&
set X $new && new=:$2:$4:$5:$6 &&
$posix_glob set +f &&
test "$old" = "$new" &&
$cmpprog "$dst" "$dsttmp" >/dev/null 2>&1
then
rm -f "$dsttmp"
else
# Rename the file to the real destination.
$doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null ||
# The rename failed, perhaps because mv can't rename something else
# to itself, or perhaps because mv is so ancient that it does not
# support -f.
{
# Now remove or move aside any old file at destination location.
# We try this two ways since rm can't unlink itself on some
# systems and the destination file might be busy for other
# reasons. In this case, the final cleanup might fail but the new
# file should still install successfully.
{
test ! -f "$dst" ||
$doit $rmcmd -f "$dst" 2>/dev/null ||
{ $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null &&
{ $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }
} ||
{ echo "$0: cannot unlink or rename $dst" >&2
(exit 1); exit 1
}
} &&
# Now rename the file to the real destination.
$doit $mvcmd "$dsttmp" "$dst"
}
fi || exit 1
trap '' 0
fi
done
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-time-zone: "UTC"
# time-stamp-end: "; # UTC"
# End:
enigmail/ipc/ 0000775 0000000 0000000 00000000000 13213001347 0013410 5 ustar 00root root 0000000 0000000 enigmail/ipc/Makefile 0000664 0000000 0000000 00000000722 13213001347 0015051 0 ustar 00root root 0000000 0000000 # 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/.
DEPTH = ..
include $(DEPTH)/config/autoconf.mk
DIRS = modules
#ifeq ($(TESTS),yes)
# DIRS += tests
#endif
.PHONY: dirs $(DIRS)
all: dirs
dirs: $(DIRS)
$(DIRS):
$(MAKE) -C $@
clean:
for dir in $(DIRS); do \
$(MAKE) -C $$dir clean; \
done
enigmail/ipc/modules/ 0000775 0000000 0000000 00000000000 13213001347 0015060 5 ustar 00root root 0000000 0000000 enigmail/ipc/modules/.eslintrc.js 0000664 0000000 0000000 00000000204 13213001347 0017313 0 ustar 00root root 0000000 0000000 module.exports = {
"extends": "../../.eslintrc.js",
"rules": {
"no-constant-condition": 0,
"no-invalid-this": 0
}
};
enigmail/ipc/modules/Makefile 0000664 0000000 0000000 00000001361 13213001347 0016521 0 ustar 00root root 0000000 0000000 # 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/.
DEPTH = ../..
include $(DEPTH)/config/autoconf.mk
EXTRA_JS_MODULES = \
subprocess.jsm \
enigmailprocess_shared_unix.js \
enigmailprocess_worker_common.js \
enigmailprocess_common.jsm \
enigmailprocess_shared_win.js \
enigmailprocess_worker_unix.js \
enigmailprocess_main.jsm \
enigmailprocess_unix.jsm \
enigmailprocess_worker_win.js \
enigmailprocess_shared.js \
enigmailprocess_win.jsm
all: $(EXTRA_JS_MODULES)
$(DEPTH)/util/install -m 644 $(DIST)/modules $^
clean: $(EXTRA_JS_MODULES)
$(DEPTH)/util/install -u $(DIST)/modules $^
enigmail/ipc/modules/enigmailprocess_common.jsm 0000664 0000000 0000000 00000051341 13213001347 0022333 0 ustar 00root root 0000000 0000000 /* -*- Mode: indent-tabs-mode: nil; js-indent-level: 2 -*- */
/* vim: set sts=2 sw=2 et tw=80: */
/* 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";
/* eslint-disable mozilla/balanced-listeners */
/* exported BaseProcess, PromiseWorker */
/* global Components: false, ChromeWorker: false, */
var {
classes: Cc,
interfaces: Ci,
utils: Cu,
results: Cr
} = Components;
Cu.import("resource://gre/modules/Services.jsm"); /* global Services: false */
Cu.import("resource://gre/modules/XPCOMUtils.jsm"); /* global XPCOMUtils: false */
Cu.importGlobalProperties(["TextDecoder"]);
XPCOMUtils.defineLazyModuleGetter(this, "AsyncShutdown",
"resource://gre/modules/AsyncShutdown.jsm"); /* global AsyncShutdown: false */
XPCOMUtils.defineLazyModuleGetter(this, "setTimeout",
"resource://gre/modules/Timer.jsm"); /* global Timer: false */
Services.scriptloader.loadSubScript("resource://enigmail/enigmailprocess_shared.js", this);
var EXPORTED_SYMBOLS = ["BaseProcess", "PromiseWorker", "SubprocessConstants"];
const BUFFER_SIZE = 4096;
let nextResponseId = 0;
/* global SubprocessConstants: true */
/**
* Wraps a ChromeWorker so that messages sent to it return a promise which
* resolves when the message has been received and the operation it triggers is
* complete.
*/
class PromiseWorker extends ChromeWorker {
constructor(url) {
super(url);
this.listeners = new Map();
this.pendingResponses = new Map();
this.addListener("close", this.onClose.bind(this));
this.addListener("failure", this.onFailure.bind(this));
this.addListener("success", this.onSuccess.bind(this));
this.addListener("debug", this.onDebug.bind(this));
this.addEventListener("message", this.onmessage);
this.shutdown = this.shutdown.bind(this);
AsyncShutdown.webWorkersShutdown.addBlocker(
"Subprocess.jsm: Shut down IO worker",
this.shutdown);
}
onClose() {
AsyncShutdown.webWorkersShutdown.removeBlocker(this.shutdown);
}
shutdown() {
return this.call("shutdown", []);
}
/**
* Adds a listener for the given message from the worker. Any message received
* from the worker with a `data.msg` property matching the given `msg`
* parameter are passed to the given listener.
*
* @param {string} msg
* The message to listen for.
* @param {function(Event)} listener
* The listener to call when matching messages are received.
*/
addListener(msg, listener) {
if (!this.listeners.has(msg)) {
this.listeners.set(msg, new Set());
}
this.listeners.get(msg).add(listener);
}
/**
* Removes the given message listener.
*
* @param {string} msg
* The message to stop listening for.
* @param {function(Event)} listener
* The listener to remove.
*/
removeListener(msg, listener) {
let listeners = this.listeners.get(msg);
if (listeners) {
listeners.delete(listener);
if (!listeners.size) {
this.listeners.delete(msg);
}
}
}
onmessage(event) {
let {
msg
} = event.data;
let listeners = this.listeners.get(msg) || new Set();
for (let listener of listeners) {
try {
listener(event.data);
}
catch (e) {
Cu.reportError(e);
}
}
}
/**
* Called when a message sent to the worker has failed, and rejects its
* corresponding promise.
*
* @private
*/
onFailure({
msgId, error
}) {
this.pendingResponses.get(msgId).reject(error);
this.pendingResponses.delete(msgId);
}
/**
* Called when a message sent to the worker has succeeded, and resolves its
* corresponding promise.
*
* @private
*/
onSuccess({
msgId, data
}) {
this.pendingResponses.get(msgId).resolve(data);
this.pendingResponses.delete(msgId);
}
onDebug({
message
}) {
//dump(`Worker debug: ${message}\n`);
}
/**
* Calls the given method in the worker, and returns a promise which resolves
* or rejects when the method has completed.
*
* @param {string} method
* The name of the method to call.
* @param {Array} args
* The arguments to pass to the method.
* @param {Array} [transferList]
* A list of objects to transfer to the worker, rather than cloning.
* @returns {Promise}
*/
call(method, args, transferList = []) {
let msgId = nextResponseId++;
return new Promise((resolve, reject) => {
this.pendingResponses.set(msgId, {
resolve, reject
});
let message = {
msg: method,
msgId,
args
};
this.postMessage(message, transferList);
});
}
}
/**
* Represents an input or output pipe connected to a subprocess.
*
* @property {integer} fd
* The file descriptor number of the pipe on the child process's side.
* @readonly
*/
class Pipe {
/**
* @param {Process} process
* The child process that this pipe is connected to.
* @param {integer} fd
* The file descriptor number of the pipe on the child process's side.
* @param {integer} id
* The internal ID of the pipe, which ties it to the corresponding Pipe
* object on the Worker side.
*/
constructor(process, fd, id) {
this.id = id;
this.fd = fd;
this.processId = process.id;
this.worker = process.worker;
/**
* @property {boolean} closed
* True if the file descriptor has been closed, and can no longer
* be read from or written to. Pending IO operations may still
* complete, but new operations may not be initiated.
* @readonly
*/
this.closed = false;
}
/**
* Closes the end of the pipe which belongs to this process.
*
* @param {boolean} force
* If true, the pipe is closed immediately, regardless of any pending
* IO operations. If false, the pipe is closed after any existing
* pending IO operations have completed.
* @returns {Promise
ΠεÏισσότεÏη βοήθεια είναι διαθÎσιμη στο δικτυακό τόπο του
Enigmail
enigmail/lang/el/help/initError.html 0000664 0000000 0000000 00000004536 13213001347 0017761 0 ustar 00root root 0000000 0000000
Enigmail Help: How to Resolve Problems with Initializing OpenPGP
Enigmail Help
How to Resolve Problems with Initializing OpenPGP
There are several reasons why initializing OpenPGP does not succeed. The most common ones are described below;
for more information please visit the Enigmail Support page.
GnuPG could not be found
In order for OpenPGP to work, the tool GnuPG needs to be installed.
If GnuPG cannot be found, then first make sure that the executable gpg.exe (on Windows; gpg on other platforms) is installed on your computer.
If GnuPG is installed, and OpenPGP cannot find it, then you need to manually set the path to GnuPG in the OpenPGP Preferences (menu OpenPGP > Preferences)
Enigmime failed to initialize
OpenPGP works only if it is built using the same build environment as Thunderbird or SeaMonkey was built. This means that you can use the official Enigmail releases only if you use the official releases of Thunderbird or SeaMonkey provided by mozilla.org.
If you use a Thunderbird or SeaMonkey version coming from some other source (e.g. the provider of your Linux distribution), or if you built the application yourself, you should either use an Enigmail version built by the same source, or build Enigmail yourself. For building Enigmail, refer to the Source Code section on the Enigmail home page. Please don't file any bug report concerning this problem, it is not solvable.
In the Sending Preferences you can choose the general model and preferences for encryption.
Convenient Encryption
With these settings, emails are encrypted without confirmation whenever possible.
This setup is appropriate, if you just want to improve your privacy by sending emails encyrpted instead of unencrypted if that's possible.
The effect is like sending emails as letters instead of postcards. Unlike postcards, letters usually hide their contents while in transit.
Note however that as with letters you can't be sure that nobody is opening the letter while it is in transit (although, some technical effort is necessary for that).
A concrete risk is that you accidentally use "faked keys" you got from somewhere or somebody claiming that the key belongs to the person you want to send emails to. To avoid this risk, you can either use the trust model of PGP (see below) or you should always verify, whether the fingerprint of a public key is correct.
Manual Encryption
This option allows you to specify the different preferences for encryption according to your needs. You can specify
whether replies to encrypted/signed emails should automatically also be encrypted/signed-
whether to use the trust model of OpenPGP to accept keys (this means that to use a key you either have to sign the key or have enough other people you trust having signed the key).
whether you want to automatically send emails encrypted if all keys are accepted.
whether and when you want to finally confirm sending an email.
Menú Enigmail en la ventana de redacción de mensajes
Firmar mensaje: Activa/desactiva el envío de correo firmado. El usuario recibe una notificación si hay un fallo en la firma.
Cifrar mensaje: Activa/desactiva el cifrado para todos los destinatarios antes de enviarlo. El usuario recibe una notificación si hay un fallo al cifrar.
Si está activada la opción Mostrar la selección si es necesario en Preferencias -> pestaña Selección de clave, se abrirá una ventana con una lista de claves si hay direcciones en la lista de destinatarios del mensaje de las que no se tiene la clave pública.
Si está activada la opción Nunca mostrar el diálogo de selección de clave OpenPGP en Preferencias -> pestaña Selección de clave, y hay direcciones en la lista de destinatarios del mensaje de las que no se tiene la clave pública, el mensaje se enviará sin cifrar.
Usar PGP/MIME en este mensaje: Activa/desactiva el uso de PGP/MIME en este mensaje.
Si sabe con certeza que los destinatarios pueden leer el correo usando el formato PGP/MIME, entonces se debe usar.
Esta característica depende de la configuración en Preferencias -> pestaña PGP/MIME si está establecida en Usar PGP/MIME si es posible o Siempre usar PGP/MIME.
Opciones predeterminadas de redacción: Submenú
Opciones de firmado/cifrado...: acceder a Configuración de cuentas... -> Seguridad OpenPGP.
Opciones de envío...: acceder a Preferencias -> pestaña Enviar.
Opciones de selección de clave...: acceder a Preferencias -> pestaña Selección de clave.
Opciones PGP/MIME...: acceder a Preferencias -> pestaña PGP/MIME.
Deshacer cifrado: Si hay algún problema al enviar el correo, como un fallo en el servidor POP que no acepta la solicitud, Enigmail no lo sabrá, y el mensaje cifrado seguirá mostrándose en la ventana de redacción. Con esta opción de menú, se deshacerá el cifrado/firma, volviendo a la ventana de redacción con su texto original. Como solución temporal, también se puede usar para descifrar el texto citado al contestar a mensajes cifrados. Enigmail debe descifrar automáticamente el mensaje citado, pero si se produce un fallo por cualquier motivo, se puede usar esta opción del menú para forzarlo.
Adjuntar clave pública...: Adjunta el bloque de la clave pública al mensaje, en un archivo con armadura ASCII. Se le preguntará el ID de usuario de las claves que se van a adjuntar.
Borrar frase contraseña guardada: Elimina de la caché las frases contraseñas introducidas manualmente. Esto es útil si se tienen varias frases contraseñas.
Ayuda: Muestra información de ayuda (esta página).
Usando el editor de reglas de Enigmail: Editar regla OpenPGP
En el editor de reglas, se pueden especificar opciones predeterminadas para cada destinatario, activando el cifrado, la firma y PGP/MIME; y para definir qué clave(s) OpenPGP va a usar. En este diálogo, se pueden especificar las reglas para un único destinatario, y para un grupo de destinatarios con atributos muy similares.
Definir reglas OpenPGP para: Contiene las direcciones de correo electrónico de los destinatarios (sin nombre, por ejemplo una dirección como alguien@correo.org). Se pueden especificar varias direcciones de correo, separadas por espacios. La dirección especificada aquí puede consistir de sólo la sección del dominio, para que se aplique al correo de cualquier dirección de ese dominio, como @correo.org se aplicará a alguien@correo.org, cualquiera@correo.org, otro@correo.org, etc.
Aplicar regla si el destinatario: Esto modifica si coinciden las direcciones de correo electrónico. Si se introducen varias direcciones, la opción se aplicará a todas. Los ejemplos de abajo están basados en que se ha introducido alguien@correo.org en el campo Reglas openPGP de arriba.
Es exactamente: Con esta opción, la regla sólo se activará en los correos a alguien@correo.org (exacto, no se tienen en cuenta las mayúsculas).
Contiene: Con esta opción, cualquier dirección de correo que contenga la cadena, cumplirá la regla, como unnombre@correo.dominio o nombre@correo.dominio.org
Comienza con: Con esta opción, cualquier dirección de correo que empiece por la cadena, cumplirá la regla, como alguien@correo.dominio.net, alguien@correo.nombre-dominio.com.
Acaba en: Con esta opción, cualquier dirección de correo que acabe en la cadena, cumplirá la regla, como otronombre@correo.org, alguien@correo.org
Continuar con la regla siguiente para la dirección coincidente
Activar esta función permitirá definir una regla pero no tener que especificar un ID de clave en el campo Usar las siguientes claves OpenPGP: para que se use la dirección de correo electrónico para comprobar una clave en el momento del envío. También se procesarán las reglas posteriores para la misma dirección.
No comprobar las reglas siguientes para la dirección coincidente
Activar esta función detiene el procesamiento de cualquier otra regla para las direcciones que cumplan la regla. Es decir, las reglas se reanudan procesando el próximo destinatario.
Usar las siguientes claves OpenPGP:
Use el botón Seleccionar clave(s)... para seleccionar las claves del destinatario que se usen para el cifrado. Al igual que la acción anterior, no se continúan procesando las reglas para las direcciones que cumplan la regla.
Predeterminada para firmar: Activa o desactiva la firma del mensaje. Esta opción usa o ignora lo especificado en la ventana de redacción de mensajes. Los valores son:
Nunca: Desactiva la firma, incluso si se activó en la ventana de redacción de mensajes (tiene preferencia sobre los otros valores).
Sí, si está seleccionada en la redacción del mensaje: Deja la firma como se haya especificado en la ventana de redacción de mensajes.
Siempre: Activa la firma, incluso si no estaba activada en la ventana de redacción de mensajes.
Estas opciones de firma se aplican a todas las reglas que coincidan con el criterio. Si una de las reglas desactiva la firma, el mensaje no se firmará, independientemente de que otras especifiquen Siempre.
Cifrar: Activa o desactiva el cifrado del mensaje. Las opciones permitidas y su significado son las mismas que para la firma de mensajes.
PGP/MIME: Activa o desactiva el uso de la codificación PGP/MIME (RFC 3156) en el mensaje. Si PGP/MIME está desactivado, los mensajes se codifican usando "PGP integrado". Los valores permitidos y su significado son los mismos que para la firma de mensajes.
Las reglas se procesan en el orden mostrado en la lista de OpenPGP - Editar reglas por destinatario. Cuando una regla coincida con un destinatario y contenga un ID de clave OpenPGP, además de usar el ID de clave especificado, el destinatario ya no se considera cuando se procesen más reglas.
enigmail/lang/es-AR/help/initError.html 0000664 0000000 0000000 00000005252 13213001347 0020264 0 ustar 00root root 0000000 0000000
Enigmail Help: How to Resolve Problems with Initializing OpenPGP
Ayuda de Enigmail
Cómo Resolver Problemas al Iniciar OpenPGP
Hay varias razones por las que no se tiene éxito al inicializar OpenPGP. Las más comunes son descritas más abajo &
para más información por favor visite la página de Soporte de Enigmail.
No se pudo encontrar GnuPG
Para que funcione OpenPGP, la herramienta GnuPG debe ser instalada.
Si GnuPG no puede ser encontrado, entonces primero asegúrese de que el ejecutable gpg.exe (en Windows& gpg en otras plataformas) esté instalado en su computador.
Si GnuPG está instalado, y OpenPGP no puede encontrarlo, entonces usted necesitará configurar manualmente la ruta a GnuPG en las Preferencias de OpenPGP (menú OpenPGP > Preferencias)
Enigmime falló al inicilizarse
OpenPGP solamente funciona si es compilado usando el mismo ambiente de compilación en que Thunderbird o SeaMonkey fue compilado. Esto significa que usted sólo puede usar la versión oficial de Enigmail si utiliza las versiones oficiales de Thunderbird o SeaMonkey provistas por mozilla.org.
Si usted utiliza una versión de Thunderbird o SeaMonkey provista por otra fuente (p.ej. el proveedor de su distribución de Linux), o si usted compiló la aplicación por si mismo, ustede debe, o bien usar una versión de Enigmail del mismo proveedor, o compilar Enigmail usted mismo. Para compilar Enigmail, refiérase a la sección de Código Fuente en la página de Enigmail. Por favor no envie reportes de bugs acerca de este problema, no puede ser solucionado.
enigmail/lang/es-AR/help/messenger.html 0000664 0000000 0000000 00000011526 13213001347 0020300 0 ustar 00root root 0000000 0000000
Ayuda de Enigmail: Lectura de mensajes
Ayuda de Enigmail
Usando Enigmail para leer mensajes
Botón Descifrar en la ventana principal de correo
Este botón se puede usar para varios propósitos: descifrar, verificar o importar claves públicas. Normalmente el descifrado/verificación se realiza automáticamente, aunque hay una opción para desactivar esto. Sin embargo, si esto falla, normalmente aparecerá un breve mensaje de error en la línea de estado de Enigmail. Si se pulsa el botón Descifrar, podrá ver un mensaje de error más detallado, incluyendo la salida del comando GnuPG.
Los iconos Lápiz y Llave mostrados en la cabecera del mensaje
Los iconos Lápiz y Llave en la cabecera del mensaje indican si el mensaje que se está leyendo está firmado y/o cifrado y si la firma es buena, es decir; que el mensaje no se ha modificado desde el momento de su firma. Si el mensaje ha sido modificado, el icono del Lápiz cambiará a un Lápiz roto para indicar que la firma no es correcta. Al pulsar con el botón derecho del ratón en los iconos del Lápiz o Llave, se obtendrá un menú con las siguientes opciones:
Información de seguridad OpenPGP: permite ver el estado de salida de GnuPG para el mensaje.
Copiar información de seguridad OpenPGP: copia el estado de salida de GnuPG al portapapeles; para pegarlo en un mensaje de respuesta, etc.
Ver ID fotográfico OpenPGP: permite ver la Foto ID de la persona que envió el mensaje, si tiene una foto incrustada en su clave pública (Esta opción sólo se activará si existe un ID fotográfico en su clave).
Información de seguridad S/MIME: permite ver la información de seguridad S/MIME del mensaje.
Si no tiene puesta la opción keyserver-options auto-key-retrieve en su archivo gpg.conf y lee un mensaje que está firmado o cifrado, verá un icono de un Lápiz en el área de visión de las cabeceras con un Signo de interrogación y, la línea de estado de Enigmail en el área de las cabeceras dirá: Parte del mensaje firmado; pulse el icono del lápiz para más detalles y el mensaje en el panel de mensajes mostrará todos los indicadores del bloque del mensaje OpenPGP y el bloque de la firma.
También se puede ver esto si tiene activada la opción keyserver-options auto-key-retrieve en su archivo gpg.conf y la clave OpenPGP no está disponible en el servidor de claves predeterminado.
Al pulsar en el icono del Lápiz y Signo de interrogación abrirá una ventana avisando que la clave no está disponible en el anillo de claves. Al pulsar en Aceptar abrirá otra ventana con una lista de servidores de claves en los que puede seleccionar para descargar la clave pública del remitente.
Para configurar la lista de servidores de claves que desee usar, vaya a la pestaña Enigmail -> Preferencias -> Básicas e introduzca la dirección de los servidores de claves en el recuadro Servidor(es) de claves: separados por una coma. El primer servidor de claves de la lista se usará como predeterminado.
Abrir adjuntos cifrados / importar claves OpenPGP adjuntas
Los adjuntos con el nombre *.pgp, *.asc y *.gpg se reconocen como adjuntos que se pueden manejar especialmente con Enigmail. Al pulsar con el botón derecho en un adjunto de este tipo se activan dos elementos especiales en el menú contextual: Descifrar y Abrir y Descifrar y Guardar. Use estos elementos si desea que Enigmail descifre un adjunto antes de abrirlo o guardarlo. Si se reconoce un adjunto como un archivo de clave OpenPGP, se le ofrece la posibilidad de importar las claves a sus anillos.
enigmail/lang/es-AR/help/rulesEditor.html 0000664 0000000 0000000 00000006675 13213001347 0020622 0 ustar 00root root 0000000 0000000
Ayuda de Enigmail: Editor de reglas
Ayuda de Enigmail
Usando el editor de reglas de Enigmail
En el editor de reglas, se pueden especificar opciones predeterminadas por destinatario para activar el cifrado, firma y PGP/MIME, así como definir qué clave(s) OpenPGP usar. Cada regla consiste de 5 campos y se representa en una sola línea:
Correo electrónico: Las direcciones de correo en los campos Para:, Cc: y Cco: tienen que coincidir. La coincidencia funciona en subcadenas (Más detalles en el diálogo de Editar regla)
Clave(s) OpenPGP: Una lista de IDs de claves OpenPGP para usar con el destinatario.
Firmar: Activar o desactivar el firmado de mensajes. Esta opción usa o ignora lo que se haya especificado en la ventana de redacción de mensajes. Los valores son:
Nunca: Desactiva la firma, incluso si estaba activada en la ventana de redacción del mensaje (tiene preferencia sobre los otros valores).
Posible: Deja la firma como se haya especificado en la ventana de redacción de mensajes.
Siempre: Activar la firma, incluso si no está activada en la ventana de redacción de mensajes.
Estas opciones de firma se aplican a todas las reglas que las cumplan. Si una de las reglas desactiva la firma, el mensaje no se firmará, independientemente de otras reglas que especifiquen Siempre.
Cifrar: Activa o desactiva el cifrado del mensaje. Las opciones permitidas y su significado son las mismas que para la firma.
PGP/MIME: Activa o desactiva el uso de la codificación del mensaje PGP/MIME (RFC 3156). Si PGP/MIME está desactivado, los mensajes se codifican usando "PGP integrado". Los valores permitidos y su significado son los mismos que para la firma de mensajes.
Las reglas se procesan en el orden mostrado en la lista. Cuando una regla coincida con un destinatario y contenga un ID de clave OpenPGP, además de usar el ID de clave especificado, el destinatario no se tendrá en consideración al procesar más reglas.
NOTA: El editor de reglas aún no está completo. Es posible escribir algunas reglas más avanzadas editando directamente el archivo de reglas (en cuyo caso, éstas no se deben volver a editar mediante el editor). Más información para editar el archivo directamente se encuentra disponible en la página Web de Enigmail.
In the Sending Preferences you can choose the general model and preferences for encryption.
Convenient Encryption
With these settings, emails are encrypted without confirmation whenever possible.
This setup is appropriate, if you just want to improve your privacy by sending emails encyrpted instead of unencrypted if that's possible.
The effect is like sending emails as letters instead of postcards. Unlike postcards, letters usually hide their contents while in transit.
Note however that as with letters you can't be sure that nobody is opening the letter while it is in transit (although, some technical effort is necessary for that).
A concrete risk is that you accidentally use "faked keys" you got from somewhere or somebody claiming that the key belongs to the person you want to send emails to. To avoid this risk, you can either use the trust model of PGP (see below) or you should always verify, whether the fingerprint of a public key is correct.
Manual Encryption
This option allows you to specify the different preferences for encryption according to your needs. You can specify
whether replies to encrypted/signed emails should automatically also be encrypted/signed-
whether to use the trust model of OpenPGP to accept keys (this means that to use a key you either have to sign the key or have enough other people you trust having signed the key).
whether you want to automatically send emails encrypted if all keys are accepted.
whether and when you want to finally confirm sending an email.
Menú Enigmail en la ventana de Redacción de Correo
Firmar mensaje: Activa/Desactiva el envío de mensajes firmados. El usuario es notificado si el firmado falla.
Cifrar mensaje: Activa/Desactiva el cifrado para el(los) destinatario(s) antes del envío. El usuario es notificado si el cifrado falla.
Si Mostrar selección cuando sea necesario está seleccionado en Preferencias
-> pestaña Selección de Claves, una lista de claves aparecerá si hay direcciones en la lista de destinatarios para los que usted no tenga clave pública.
Si Nunca mostrar diálogo de selección de clave OpenPGP está seleccionado en Preferencias
-> pestaña Selección de Claves, y hay direcciones en la lista de destinatarios para los cuales usted no tiene clave pública, el mensaje será enviado sin cifrar.
Usar PGP/MIME para este mensaje : Activa/Desactiva el uso de
PGP/MIME
para este mensaje.
Si usted sabe que el(los) destinatario(s) pueden leer correos usando el formato PGP/MIME,
usted debiera usarlo.
Esta característica depende de la configuración en Preferencias
-> pestaña PGP/MIME estando configurada para Permitir el uso de PGP/MIME o Siempre usar
PGP/MIME.
Opciones por defecto para redacción: Submenú.
Opciones de Firma/Cifrado...: atajo a Configuración de Cuentas ->
Opciones de OpenPGP.
Opciones de Envío...: atajo a la pestaña Opciones ->
Enviando.
Opciones de Selección de Clave...: atajo a la pestaña Preferencias ->
Selección de Clave.
Opciones PGP/MIME...: atajo a la pestaña Preferencias ->
PGP/MIME.
Deshacer cifrado: Si hay un fallo al momento del envío,
tal como el servidor POP no aceptando la petición, Enigmail no sabrá al respecto, y el mensaje cifrado continuará siendo mostrado en la ventana de Redacción. Elegir este ítem de menú deshará el cifrado/firmado, devolviendo la ventana de Redacción a su texto original. Como una solución temporal, esta opción puede también ser usada para descifrar el texto citado cuando se responde a mensajes cifrados. Enigmail debiera descifrar automáticamente el texto citado, pero si eso falla por alguna razón, usted puede utilizar este ítem de menú para forzarlo.
Insertar clave pública: inserta la clave pública como un bloque de texto ASCII-blindado en la posición actual del cursor en la ventana de Redacción. Se le preguntará por la dirección email de la(s) clave(s) a ser insertada(s). Las Claves insertadas de esta manera serán reconocidas automáticamente en el lado receptor por Enigmail. Luego de la inserción de clave, usted aún puede elegir firmar/cifrar el mensaje como sea necesario. Además, no inserte más de un bloque de claves en un mensaje; sólo especifique múltiples direcciones email, separadas por comas o espacios, cuando se le pregunte.
Limpiar clave salvada: Limpia la contraseña retenida. útil si usted tiene múltiples contraseñas.
Ayuda: Despliega la información de Ayuda del sitio web (esta página).
Usando el Editor de Reglas de Enigmail: Editar Regla OpenPGP
En el Editor de Reglas, usted puede especificar valores por defecto por destinatarios para activar cifrado, firmado y PGP/MIME, y para definir qué clave(s) OpenPGP utilizar. En este diálogo, usted puede especificar reglas para un único destinatario, y para un grupo de destinatarios con atributos muy similares.
Poner Regla OpenPGP para : Contiene la(s) dirección(es) email de el/los destinatario(s) (sin nombres, p.ej. sólo una dirección como alguien@email.dom). Usted puede especificar varias direcciones email, separadas por espacios. La dirección especificada aquí puede consistir sólo de la sección de dominio de modo que cualquier dirección en ese dominio concuerde, p.ej. @email.domain permitirá concordancia a body@email.comain, somebody@email.domain, anybody@email.domain, etc.
Aplicar regla si el destinatario ...:
Esto modifica la concordancia de las direcciones email. Si se ingresa múltiples direcciones, la configuración se aplicará a todas. Los ejemplos abajo están basados en body@email.domain ingresado en el campo Poner Regla OpenPGP para más arriba.
Es exactamente: con esta configuración, la regla sólo se disparará en emails para body@email.domain (comparación exacta, sin considerar mayúsculas/minúsculas).
Contiene: con esta configuración, cualquier dirección email que contenga el patrón concuerda, p.ej. anybody@email.domain o body@email.domain.net
Empieza por : con esta configuración, cualquier dirección email comenzando con el patrón concuerda, p.ej. body@email.domain.net, body@email.domain-name.com.
Acaba en: con esta configuración, cualquier dirección email finalizando en el patrón concuerda, p.ej. anybody@email.domain, somebody@email.domain.
Continuar con la siguiente regla para la dirección que coincida
Activar esta función le permitirá definir una regla pero no tener que especificar un KeyID en el campo Usar las siguientes claves OpenPGP:
, de modo que la dirección email es usada para buscar una clave al momento de enviar. Además, reglas adicionales para la(s) misma(s) dirección(es) también será(n) procesada(s).
No comprobar más reglas para la dirección que coincida
Activar esta función detiene el procesamiento de cualquier otra regla para la(s) dirección(es) que coincide(n) si es que la regla coincide; p.ej. el procesamiento de reglas continúa con el siguiente destinatario.
Usar las siguientes claves OpenPGP:
Use el botón Seleccionar Clave(s).. para seleccionar las claves receptoras a ser usadas para el cifrado. Como en la acción de arriba, no se sigue procesando más reglas para la(s) dirección(es) coincidentes.
Por defecto para Firmado: activa o desactiva la firma de mensaje. Esto o bien usa o anula lo que usted ha especificado en la ventana de redacción de mensaje. Los valores son:
Nunca: desactiva el firmado, incluso si está activado en la ventana de redacción de mensaje (anula los otros valores)
Sí, si está seleccionado en la redacción del mensaje: deja el firmado tal como está especificado en la ventana de redacción del mensaje
Siempre: activa el firmado, incluso si no estaba activado en la ventana de redacción del mensaje
Esas configuraciones para firmado son aplicadas para todas las reglas que coinciden. Si una de las reglas desactiva el firmado, el mensaje no será firmado, sin importar otras reglas que especifiquen Siempre.
Cifrado: activa o desactiva el cifrado de mensaje. Las configuraciones permitidas y su significado son las mismas que para la firma de mensajes.
PGP/MIME: activa o desactiva el uso de la codificación de mensaje PGP/MIME (RFC 3156).
Si PGP/MIME está desactivado, los mensajes son codificados utilizando "inline PGP". Los valores permitidos y sus significados son los mismos que para la firma de mensajes.
Las reglas son procesadas en el orden en que se muestran en la lista en el Editor de Reglas OpenPGP. Siempre que una regla coincide con un destinatario y contiene una KeyID OpenPGP, adicionalmente a usar la KeyID especificada, el destinatario deja de ser considerado al procesar otras reglas adicionales.
enigmail/lang/es-ES/help/initError.html 0000664 0000000 0000000 00000004536 13213001347 0020275 0 ustar 00root root 0000000 0000000
Enigmail Help: How to Resolve Problems with Initializing OpenPGP
Enigmail Help
How to Resolve Problems with Initializing OpenPGP
There are several reasons why initializing OpenPGP does not succeed. The most common ones are described below;
for more information please visit the Enigmail Support page.
GnuPG could not be found
In order for OpenPGP to work, the tool GnuPG needs to be installed.
If GnuPG cannot be found, then first make sure that the executable gpg.exe (on Windows; gpg on other platforms) is installed on your computer.
If GnuPG is installed, and OpenPGP cannot find it, then you need to manually set the path to GnuPG in the OpenPGP Preferences (menu OpenPGP > Preferences)
Enigmime failed to initialize
OpenPGP works only if it is built using the same build environment as Thunderbird or SeaMonkey was built. This means that you can use the official Enigmail releases only if you use the official releases of Thunderbird or SeaMonkey provided by mozilla.org.
If you use a Thunderbird or SeaMonkey version coming from some other source (e.g. the provider of your Linux distribution), or if you built the application yourself, you should either use an Enigmail version built by the same source, or build Enigmail yourself. For building Enigmail, refer to the Source Code section on the Enigmail home page. Please don't file any bug report concerning this problem, it is not solvable.
enigmail/lang/es-ES/help/messenger.html 0000664 0000000 0000000 00000011526 13213001347 0020305 0 ustar 00root root 0000000 0000000
Ayuda de Enigmail: Lectura de mensajes
Ayuda de Enigmail
Usando Enigmail para leer mensajes
Botón Descifrar en la ventana principal de correo
Este botón se puede usar para varios propósitos: descifrar, verificar o importar claves públicas. Normalmente el descifrado/verificación se realiza automáticamente, aunque hay una opción para desactivar esto. Sin embargo, si esto falla, normalmente aparecerá un breve mensaje de error en la línea de estado de Enigmail. Si se pulsa el botón Descifrar, podrá ver un mensaje de error más detallado, incluyendo la salida del comando GnuPG.
Los iconos Lápiz y Llave mostrados en la cabecera del mensaje
Los iconos Lápiz y Llave en la cabecera del mensaje indican si el mensaje que se está leyendo está firmado y/o cifrado y si la firma es buena, es decir; que el mensaje no se ha modificado desde el momento de su firma. Si el mensaje ha sido modificado, el icono del Lápiz cambiará a un Lápiz roto para indicar que la firma no es correcta. Al pulsar con el botón derecho del ratón en los iconos del Lápiz o Llave, se obtendrá un menú con las siguientes opciones:
Información de seguridad OpenPGP: permite ver el estado de salida de GnuPG para el mensaje.
Copiar información de seguridad OpenPGP: copia el estado de salida de GnuPG al portapapeles; para pegarlo en un mensaje de respuesta, etc.
Ver ID fotográfico OpenPGP: permite ver la Foto ID de la persona que envió el mensaje, si tiene una foto incrustada en su clave pública (Esta opción sólo se activará si existe un ID fotográfico en su clave).
Información de seguridad S/MIME: permite ver la información de seguridad S/MIME del mensaje.
Si no tiene puesta la opción keyserver-options auto-key-retrieve en su archivo gpg.conf y lee un mensaje que está firmado o cifrado, verá un icono de un Lápiz en el área de visión de las cabeceras con un Signo de interrogación y, la línea de estado de Enigmail en el área de las cabeceras dirá: Parte del mensaje firmado; pulse el icono del lápiz para más detalles y el mensaje en el panel de mensajes mostrará todos los indicadores del bloque del mensaje OpenPGP y el bloque de la firma.
También se puede ver esto si tiene activada la opción keyserver-options auto-key-retrieve en su archivo gpg.conf y la clave OpenPGP no está disponible en el servidor de claves predeterminado.
Al pulsar en el icono del Lápiz y Signo de interrogación abrirá una ventana avisando que la clave no está disponible en el anillo de claves. Al pulsar en Aceptar abrirá otra ventana con una lista de servidores de claves en los que puede seleccionar para descargar la clave pública del remitente.
Para configurar la lista de servidores de claves que desee usar, vaya a la pestaña Enigmail -> Preferencias -> Básicas e introduzca la dirección de los servidores de claves en el recuadro Servidor(es) de claves: separados por una coma. El primer servidor de claves de la lista se usará como predeterminado.
Abrir adjuntos cifrados / importar claves OpenPGP adjuntas
Los adjuntos con el nombre *.pgp, *.asc y *.gpg se reconocen como adjuntos que se pueden manejar especialmente con Enigmail. Al pulsar con el botón derecho en un adjunto de este tipo se activan dos elementos especiales en el menú contextual: Descifrar y Abrir y Descifrar y Guardar. Use estos elementos si desea que Enigmail descifre un adjunto antes de abrirlo o guardarlo. Si se reconoce un adjunto como un archivo de clave OpenPGP, se le ofrece la posibilidad de importar las claves a sus anillos.
enigmail/lang/es-ES/help/rulesEditor.html 0000664 0000000 0000000 00000006665 13213001347 0020626 0 ustar 00root root 0000000 0000000
Ayuda de Enigmail: Editor de reglas
Ayuda de Enigmail
Usando el editor de reglas de Enigmail
En el editor de reglas, se pueden especificar opciones predeterminadas por destinatario para activar el cifrado, firma y PGP/MIME, así como definir qué clave(s) OpenPGP usar. Cada regla consiste de 5 campos y se representa en una sola línea:
Correo electrónico: Las direcciones de correo en los campos Para:, Cc: y Cco: tienen que coincidir. La coincidencia funciona en subcadenas (Más detalles en el diálogo de Editar regla)
Clave(s) OpenPGP: Una lista de IDs de claves OpenPGP para usar con el destinatario.
Firmar: Activar o desactivar el firmado de mensajes. Esta opción usa o ignora lo que se haya especificado en la ventana de redacción de mensajes. Los valores son:
Nunca: Desactiva la firma, incluso si estaba activada en la ventana de redacción del mensaje (tiene preferencia sobre los otros valores).
Posible: Deja la firma como se haya especificado en la ventana de redacción de mensajes.
Siempre: Activar la firma, incluso si no está activada en la ventana de redacción de mensajes.
Estas opciones de firma se aplican a todas las reglas que las cumplan. Si una de las reglas desactiva la firma, el mensaje no se firmará, independientemente de otras reglas que especifiquen Siempre.
Cifrar: Activa o desactiva el cifrado del mensaje. Las opciones permitidas y su significado son las mismas que para la firma.
PGP/MIME: Activa o desactiva el uso de la codificación del mensaje PGP/MIME (RFC 3156). Si PGP/MIME está desactivado, los mensajes se codifican usando "PGP integrado". Los valores permitidos y su significado son los mismos que para la firma de mensajes.
Las reglas se procesan en el orden mostrado en la lista. Cuando una regla coincida con un destinatario y contenga un ID de clave OpenPGP, además de usar el ID de clave especificado, el destinatario no se tendrá en consideración al procesar más reglas.
NOTA: El editor de reglas aún no está completo. Es posible escribir algunas reglas más avanzadas editando directamente el archivo de reglas (en cuyo caso, éstas no se deben volver a editar mediante el editor). Más información para editar el archivo directamente se encuentra disponible en la página Web de Enigmail.
In the Sending Preferences you can choose the general model and preferences for encryption.
Convenient Encryption
With these settings, emails are encrypted without confirmation whenever possible.
This setup is appropriate, if you just want to improve your privacy by sending emails encyrpted instead of unencrypted if that's possible.
The effect is like sending emails as letters instead of postcards. Unlike postcards, letters usually hide their contents while in transit.
Note however that as with letters you can't be sure that nobody is opening the letter while it is in transit (although, some technical effort is necessary for that).
A concrete risk is that you accidentally use "faked keys" you got from somewhere or somebody claiming that the key belongs to the person you want to send emails to. To avoid this risk, you can either use the trust model of PGP (see below) or you should always verify, whether the fingerprint of a public key is correct.
Manual Encryption
This option allows you to specify the different preferences for encryption according to your needs. You can specify
whether replies to encrypted/signed emails should automatically also be encrypted/signed-
whether to use the trust model of OpenPGP to accept keys (this means that to use a key you either have to sign the key or have enough other people you trust having signed the key).
whether you want to automatically send emails encrypted if all keys are accepted.
whether and when you want to finally confirm sending an email.
If it is important for you that content you send encrypted can't be read by other people or organizations, you should use the manual preferences at least choose the option to accept keys only if you or other people signed them. While this model reduces the risk of using faked keys, it requires that you actively sign keys and declare owner trust using the key managament dialog.
enigmail/lang/eu/ 0000775 0000000 0000000 00000000000 13213001347 0014167 5 ustar 00root root 0000000 0000000 enigmail/lang/eu/am-enigprefs.properties 0000664 0000000 0000000 00000000124 13213001347 0020657 0 ustar 00root root 0000000 0000000 # Strings used in the Mozill AccountManager
prefPanel-enigprefs=OpenPGP Sekurtasuna
enigmail/lang/eu/contents.rdf 0000775 0000000 0000000 00000001156 13213001347 0016527 0 ustar 00root root 0000000 0000000
enigmail/lang/eu/enigmail.dtd 0000664 0000000 0000000 00000104703 13213001347 0016456 0 ustar 00root root 0000000 0000000
OHARRA: Gakoa sortzeko prozesua zenbait minutu iraun ditzake. Ez zaitez aplikaziotik atera gakoa sortzen ari den bitartean. Bitartean ordenagailua erabiltzea edo disko gogorran eragiketak egiten dituzten ekintzak egiten badituzu, ausazko datuen sorreran lagunduko du eta prozesua azkartuko du. Jakinarazi egingo zaizu gako sorrera prozesua bukatzerakoan.">
' ez du balio">
OHARRA: Gakoa sortzeko prozesua minutu batzuk iraun ditzake. Ez zaitez aplikaziotik atera gakoa sortzen ari den bitartean. Gakoa sortu eta gero abisu bat agertuko zaizu.">
Oharra: Enigmail-k sinadurak kontu
eta nortasun guztientzat egiaztatuko ditu, gaituta egon ez arren.">
Mila esker Enigmail erabiltzeagatik.">
Mila esker Enigmail erabiltzeagatik.">
enigmail/lang/eu/enigmail.properties 0000664 0000000 0000000 00000062553 13213001347 0020105 0 ustar 00root root 0000000 0000000 Enigmail=Enigmail
# Strings used within enigmailCommon.js
# Strings in enigmailAbout.js
# Strings in enigmailKeygen.js
enigAlert=Enigmail Abisua
enigConfirm=Enigmail Baieztapena
enigError=Enigmail Errorea
enigPrompt=Enigmail Mezua
dlgYes=&Bai
dlgNo=&Ez
dlgKeepSetting=Nire erantzuna gogoratu eta ez galdetu berriro
dlgNoPrompt=Ez erakutsi gehiago mezu hau
dlg.button.delete=&Ezabatu
dlg.button.cancel=&Utzi
dlg.button.close=&Itxi
dlg.button.continue=&Jarraitu
dlg.button.skip=&Saltatu
dlg.button.view=I&kusi
repeatPrefix=\n\nAbisu hau %S errepikatuko da.
repeatSuffixSingular=behin gehiago
repeatSuffixPlural=gehiagotan
noRepeat=\n\nAbisua hau ez da errepikatuko Enigmail eguneratzen duzun arte.
noLogDir=Mesedez, 'Log karpeta' arazketa ezaugarria ezarri ezazu log fitxategia sortzeko
noLogFile=Log fitxategia ez da oraindik sortu!
restartForLog=Mesedez, aplikazioa berrabiatu log fitxategia sortzeko
pgpNotSupported=Dirudienez Enigmail PGP 6.x-rekin batera erabiltzen ari zara.\n\nZoritxarrez, PGP 6.x zenbait arazo ditu eta horrek Enigmail gaizki ibiltzea dakar. Hortaz, Enigmail-ek ez du PGP 6.x onartzen; mesedez, horren ordez GnuPG (GPG) erabili ezazu.\n\nGnuPG-ra aldatzeko laguntzarik behar baldin baduzu, Enigmail weborriaren Laguntza atala begiratu ezazu.
avoidInitErr=Mezu hau betirako kentzeko, arazoa konpondu ezazu edo Enigmail desinstalatu ezazu. Laguntza botoian sakatu ezazu xehetasun gehiago behar badituzu.
passphraseCleared=Pasahitza ezabatu egin da.
passphraseCannotBeCleared=Pasahitzak kudeatzeko gpg-agent erabiltzen ari zara. Horregatik, Enigmail-etik ezin da pasahitza ezabatu.
noPhotoAvailable=Ez Dago Argazkirik
# Strings in enigmailMessengerOverlay.js
# Strings in enigmailMsgComposeOverlay.js
# Strings in enigmailMsgHdrViewOverlay.js
usingVersion=Enigmail %S bertsioa martxan dago
usingAgent=%S exekutagarria %s erabiltzen zifratu eta argitzeko
agentError=ERROREA: Ezin izan da Enigmime serbitzuarekin konexioa egin
# Strings in enigmailNavigatorOverlay.js
# Strings in pref-enigmail.js
# Strings used in components/enigmail.js
accessError=Enigmail serbitzura sartzean errore bat gertatu da
onlyGPG=Gako sorrera GnuPG-rekin bakarrik (ez PGP-rekin) dabil!
keygenComplete=Gakoaren sorrera bukatu da! Sinatzeko <%S> nortasuna erabiliko da.
revokeCertRecommended=Gogor gomendatzen dugu zure gakoarentzat ezeztapen ziurtagiri bat sortzea. Ziurtagiri hau zure gakoa ezgaitzeko erabili daiteke, adibidez, zure gako sekretua galdu edo arriskuan badago. Ezeztapen ziurtagiri hau orain sortu nahi al duzu?
keyMan.button.generateCert=&Ziurtagiria Sortu
genCompleteNoSign=Gakoaren sorrera bukatu da!
genGoing=Gakoaren sorrera prozesua dagoeneko martxan dago!
passNoMatch=Pasahitzak ez datoz bat, mesedez, berriz sartu itzazu
passCheckBox=Mesedez, laukitxoa sakatu ezazu gakoarentzak pasahitzik ez badago
passUserName=Mesdez, nortasun honentzako erabiltzailearen izena sartu ezazu
passCharProblem=Zure pasahitzan karaktere bereziak erabiltzen ari zara. Zoritxarrez, honek beste zenbait aplikazioetan arazoak sortu ditzake. Horregatik karaktere hauek bakarik dituen pasahitza aukeratu ezazu:\na-z A-Z 0-9 /.;:-,!?(){}[]%*
changePassFailed=Pasahitzaren aldaketak huts egin du.
removePassphrase=Orain dagoen pasahitza ezabatu nahi al duzu pasahitz berririk sartu gabe?
keyMan.button.removePass=&Pasahitza Ezabatu
keyConfirm='%S'-rentzat gako publiko eta pribatuak sortu nahi al duzu?
keyMan.button.generateKey=Gakoa &Sortu
keyAbort=Gako sorrera geldiarazi nahi al duzu?
keyMan.button.generateKeyAbort=Gako Sorrera &Geldiarazi
keyMan.button.generateKeyContinue=Gako Sorrera &Jarraitu
expiryTooLong=Ezin da 100 urte baino gehiagoko iraungipena duen gakoa sortu.
expiryTooShort=Zure gakoa gutxienez egun baterako balio behar du.
keyGenFailed=Gako sorrerak huts egin du. Xehetasunak ikusteko, mesedez, Enigmail konsola begiratu ezazu (Enigmail Menua > Enigmail Araztu).
# (said file also re-uses some strings from above)
securityInfo=Enigmail Sekurtasun Informazioa\n\n
enigHeader=Enigmail:
enigContentNote=Enigmail: *Mezu honen eranskinak ez dira sinatu edo zifratu*\n\n
possiblyPgpMime=Ziurenik PGP/MIME-k mezua sinatu edo zifratu egin du; Argitu botoia klikatu ezazu egiatzatzeko
noDecrypted=Ez dago argituko mezurik gordetzeko!\nFitxategia menuan dagoen Gorde komandoa erabili ezazu
noMessage=Ez dago mezurik gordetzeko!
useButton=Mesedez Argitu botoia sakatu ezazu mezua argitzeko
saveHeader=Enigmail: Argitutako mezua gorde
saveAttachmentHeader=Enigmail: Argitutako eranskina gorde
noTempDir=Ez da idatzi daitekeen aldi baterako karpetarik aurkitu.\nMesedez, TEMP ingurune aldagaia ezarri ezazu
attachmentPgpKey=Irekitzen ari zaren '%S' eranskina OpenPGP gako fitxategi bat dirudi.\n\n'Inportatu' sakatu ezazu gakoa inportatzeko edo 'Ikusi' sakatu ezazu haren edukia azpian dagoen arakatzailean ikusteko.
beginPgpPart=********* *ZIFRATU edo SINATUTAKO GUNEAREN HASIERA* *********
endPgpPart=********** *ZIFRATU edo SINATUTAKO GUNEAREN BUKAERA* **********
notePartEncrypted=Enigmail: *Mezu honen zati batzuk EZ dira sinatu edo zifratu*
noteCutMessage=Enigmail: *Mezu bloke anitz aurkitu dira -- argitze/egiaztatze prozesua bertan behera utzi da*
decryptOkNoSig=Kontuz\n\nArgitze prozesua ondo bukatu da, baina sinadura ezin izan da ondo egiaztatu.
msgOvl.button.contAnyway=Edonola Ere &Jarraitu
# Strings used in enigmailUserSelection.js
keysToExport=Txertatko Diren OpenPGP Gakoak Aukeratu
keysToUse=%S-rentzat erabiliko den(diren) OpenPGP Gako(ak) aukeratu
pubKey=%S-rentzat gako publikoa\n
windowLocked=Idazteko lehioa blokeatuta dago; bidaltzea ezeztatu da
sendUnencrypted=Enigmail-ek hasieratzerakoan huts egin du.\nMezua zifratu gabe bidali?
composeSpecifyEmail=Mesedez zure lehendabiziko helbide elektronikoa jarri ezazu. Hau bidaliko diren mezuak sinatzeko gakoa aukeratzeko erabiliko da.\nBete gabe uzten baduzu, NORK halbidea erabiliko da sinatzeko gakoa aukeratzeko.
sendingHiddenRcpt=Mezu hau BCC (ezkutuko kopia) hartzaileak ditu. Mezu hau zifratuta bidaltzen bada, BCC hartzaileak ezkutatu ahal daitezke baina produktu batzuen erabiltzaileak (adib. PGP Corp.) ezin izango dute mezua argitu. Hau hartuta, BCC emailak zifratutako mezuekin ez bidaltzea gomendatzen dugu.
sendWithHiddenBcc=BCC hartzaileak ezkutatu
sendWithShownBcc=Normaltasunez zifratu
sendingNews=Zifratutako mezua bidaltzeko operazioa bertan behera utzi da.\n\nMezu hau ezin da zifratu hartzaileen artean berri-taldeak daudelako. Mesedez, mezua zifratu gabe bidali ezazu.
sendToNewsWarning=Kontuz: zifratutako email bat berri-talde batera bidaltzera zoaz.\n\nHau ez dago comendatua, honek bakarrik zentzuzkoa izango da baldin eta hartzaile guztiak mezua argitu dezakete, hau da, mezua hartzaile guztien gakoekin zifratuta badago. Mesedez, mezu hau bidali ezazu bakarrik egiten hari zarenaz ziur bazaude.\n\nJarraitu?
hasHTML=HTML email-aren abisua:\nMezu honek HTML izan dezake, honek sinadura/zifraketa-ren hutsegitea ekar dezake. Etorkizunean hau eragozteko, sinatutako email bat bidaltzeko SHIFT tekla sakatu ezazu Idatzi/Erantzun botoia sakatzerakoan.\nZure aukera lehenetsita email-a sinatzea bada, 'Mezuak HTML-n Idatzi' laukitxoa ezgaitu beharko zenuke HTML posta kontu honetan betirako ezgaitzeko.
strippingHTML=Mezuak HTML formatu informazioa dauka eta hau galuko da sinatu/zifratzeko testu arruntan bilakatzerakoan. Jarraitu nahi al duzu?
msgCompose.button.sendAnyway=&Mezua Bidali Edonola
attachWarning=Mezu honen eranskinak ez dira lokalak eta ezin dira zifratu. Eranskinak zifratu ahal izateko, fitxategi lokal bezala gorde itzazu eta gero erantsi itzazu. Mezua edonola bidali nahi al duzu?
quotedPrintableWarn=Mezuak bidaltzeko 'quoted-printable' kodifikazioa gaitu duzu. Hau zure mezuaren argitze edo/eta egiaztatze okerra ekar dezake.\nMezuak 'quoted-printable' kodifikazioa erabiliz bidaltzeko aukera ezgaitu nahi al duzu?
minimalLineWrapping=Lerroek %S karaktertara iristerakoan salto egitea konfiguratu duzu. Zifraketa eta/edo sinatze on batentzako, balio hau gutxienez 68 izan behar du.\nLerroen gehienezko luzeera 68 karakteretara orain aldatu nahi al duzu?
warning=Kontuz
signIconClicked=Sinadura eskuz aldatu duzu. Hortaz, mezua idazten ari zaren bitartean, sinadura (des)aktibatzea ez dator bat zifraketa (des)aktibatzearekin.
sendAborted=Bidaltze eragiketa bertan bera utzi da\n\n
statPGPMIME=PGP/MIME
statSigned=SINATUTA
statEncrypted=ZIFRATUTA
statPlain=SINATU eta ZIFRATU GABE
offlineSave=%S mezua Bidali Gabeko Mezuen karpetako %S-n gorde nahi al duzu?
onlineSend=%S mezua %S-ri bidali nahi al diozu?
encryptKeysNote=Oharra: mezu hau ondorengo erabiltzaile ID-ak/gakoak erabiliz zifratu da:
signFailed=Enigmail-n errore bat egon da eta zifraketak/sinadurak huts egin du; mezua zifratu gabe bidali nahi al duzu?
msgCompose.button.sendUnencrypted=Mezua Zifratu Gabe &Bidali
acctNotConfigured=Ez duzu nortasun hau Enigmail sekurtasuna erabiltzeko konfiguratu.\nMezua zifratu gabe bidali nahi al duzu?
recipientsSelectionHdr=Zifraketarako Hartzaileak Aukeratu
configureNow=Aukeratutako nortasunarentzat oraindik ez duzu Enigmail sekurtasuna konfiguratu. Orain egin nahi al duzu?
signYes=Mezua sinatuko da
signNo=Mezua ez da sinatuko
# Strings used in enigmailAttachmentDialog.js
# Strings used in am-enigprefs.js
encryptYes=Mezua zifratuko da
encryptNo=Mezua ez da zifratuko
rulesConflict=Hartzaileen arauen artean gatazka dago\n%S\n\nEzarpen hauekin mezua bidali nahi al duzu?
msgCompose.button.configure=&Konfiguratu
msgCompose.button.send=Mezua &Bidali
msgCompose.button.save=Mezua &Gorde
# Strings used in enigmailSingleRcptSettings.js
keyNeeded=%S gako publikoa sinadura egiaztatzeko behar da
clickDecrypt=; Argitu botoia sakatu
clickDecryptRetry=; Argitu botoia sakatu berriz saiatzeko
clickPen=; 'Xehetasunak' botoian klik egin ezazu informazio gehiago eskuratzeko
clickPenDetails=; 'Xehetasunak' botoian klik egin ezazu informazio gehiago eskuratzeko
clickQueryPenDetails=; 'Xehetasunak' botoian klik egin ezazu informazio gehiago eskuratzeko
clickKey=; 'Xehetasunak' botoian klik egin ezazu informazio gehiago eskuratzeko
clickQueryKeyDetails=;'Xehetasunak' botoian klik egin ezazu informazio gehiago eskuratzeko
clickKeyDetails=; 'Xehetasunak' botoian klik egin ezazu informazio gehiago eskuratzeko
clickPenKeyDetails=; 'Xehetasunak' botoian klik egin ezazu informazio gehiago eskuratzeko
msgPart=%S mezuaren zatia
msgSigned=Sinatutako
msgEncrypted=Zifratutako
msgSignedAndEnc=Sinatu eta zifratutako
unverifiedSig=Egiaztatu gabeko sinadura
incompleteDecrypt=Bukatu gabeko argitzea
failedSig=Errorea - sinaduraren egiaztapenak huts egin du
needKey=Errorea - mezua argitzeko gako sekretua behar da
failedDecrypt=Errorea - argitzeak huts egin du
badPhrase=Errorea - pasahitz okerra
failedDecryptVerify=Errorea - argitzeak/egiaztapenak huts egin du
viewInfo=; Xehetasunentzako Ikusi > Mezuaren Sekurtasun Informazioa
decryptedMsg=Argitutako mezua
# Strings used in enigmailRulesEditor.js
testNoSvc=EnigTest: Ezin izan da Enigmail serbitzura konektatu
testNoEmail=EnigTest: Frogarako e-posta helbidea jarri ezazu
testSucceeded=Enigmail ondo funtzionatzen ari da. Xehetasunak nahi badituzu, Enigmail menutik ireki daitekeen kontsola begiratu ezazu
oldGpgVersion=Enigmail-ren hasieraketak huts egin du.\n\nGnuPG %S bertsioa erabiltzen ari zara eta ez dago eguneratua. Enigmailek GnuPG 1.4 bertsioa edo berriago bat behar du. Mesedez, zure GnuPG instalazioa eguneratu ezazu edo Enigmail-k ez du funtzionatuko.
locateGpg=GnuPG programa bilatu
invalidGpgPath=Emandako helbidearekin ezin da GnuPG exekutatu. Hortaz, Enigmail ezgaituta egongo da GnuPG-ren helbidea berriz sartu arte edo aplikazioa berrabiatu arte.
warningsAreReset=Abisu guztiak berrezarri dira.
prefs.gpgFound=GnuPG hemen aurkitu da: %S
prefs.gpgNotFound=Ezin izan da GnuPG aurkitu
prefs.warnAskNever=Kontuz: aukera hau aktibatzen bada hartzaile batentzako gakorik ez badago ez da e-posta zifratuko eta ez da horren abisurik egongo -- Enigmail-k ez dizu hori gertatzen delaren berri emango!
prefEnigmail.oneKeyserverOnly=Errorea - gako-serbitzari bakarra jarri dezakezu falta diren OpenPGP gakoak deskargatzeko.
# Strings used in enigmailSearchKey.js
# gpgkeys_%S is one of the gpg command line tools gpgkeys_hkp, gpgkeys_ldap, etc.
enterPass=Mesedez, zure OpenPGP pasahitza sartu ezazu
enterPassOrPin=Mesedez, zure OpenPGP pasahitza edo zure SmartCard-aren PIN-a sartu ezazu
repeatPass=Mesedez, zure OpenPGP pasahitza berriz sartu ezazu
rememberPass=Pasahitza %S minutuz gogoratu
enterAdminPin=Mesedez, zure SmartCard-aren ADMIN PIN-a sartu ezazu
enterCardPin=Mesedez, zure SmartCard-aren PIN-a sartu ezazu
notInit=Errorea - Enigmail serbitzua ez da oraindik hasieratu
badCommand=Errorea - zifraketa komandoak huts egin du
cmdLine=komando lerroa eta output:
notRequired=Errorea - ez da zifraketarik behar
notComplete=Errorea - gako sorketa ez da oraindik bukatu
invalidEmail=Errorea - baliogabeko e-posta helbidea(k)
noPassphrase=Errorea - ez da pasahitzik sartu
noPGPblock=Errorea - Ez da OpenPGP babestutako datu blokerik aurkitu
unverifiedReply=Mezuaren tabulatutako zatia (erantzuna) ziruenik aldatu zen
decryptToImport=Argitu botoia sakatu ezazu mezuan dagoen gako publikoaren blokea inportatzeko
sigMismatch=Errorea - Sinadurak ez datoz bat
cantImport=Errorea gako publikoa inportatzerakoan\n\n
sc.wrongCardAvailable=Zure irakurgailuan aurkitutako %S SmartCard-a ezin da mezua prozesatzeko erabili.\nMesedez, zure %S SmartCard-a sartu ezazu eta eragiketa errepikatu ezazu.
sc.insertCard=Eragiketak zure %S SmartCard-a behar du.\nMesedez, behar den SmartCard-a sartu ezazu eta eragiketa errepikatu ezazu.
sc.removeCard=Eragiketak irakurgailuan SmartCard-ik ez egotea behar du.\nMesedez, zure SmartCard-a atera ezazu eta eragiketa errepikatu ezazu.
sc.noCardAvailable=Irakurgailuan ez da SmartCard-ik aurkitu.\nMesedez, zure SmartCard-a sartu eta eragiketa errepikatu ezazu.
sc.noReaderAvailable=Zure SmartCard irakurgailua ezin da aurkitu.\nMesedez, zure SmartCard irakurgailua konektatu ezazu, zure txartela sartu eta eragiketa errepikatu ezazu.
gpgNotFound=Ezin izan da '%S' GnuPG programa aurkitu.\nZiurtatu zaitez GnuPG exekutagarriaren helbidea zuzen jarri duzula Enigmail Lehentasunetan.
gpgNotInPath=Ezin izan da PATH-ean GnuPG exekutagarria aurkitu.\nZiurtatu zaitez GnuPG exekutagarriaren helbidea zuzen jarri duzula Enigmail Lehentasunetan.
enigmimeNotAvail=Enigmime Serbitzua ez dago eskuragarri
gpgAgentNotStarted=Zure GnuPG %S bertsiorako behar den gpg-agent-a ezin izan da abiatu.
prefUntrusted=MESFIDAGARRIA
prefRevoked=EZEZTATUTAKO GAKOA
prefExpiredKey=IRAUNGITAKO GAKOA
prefExpired=IRAUNGITA
prefGood=%S-ren sinadura ona
prefBad=%S-ren sinadura OKERRA
failCancel=Errorea - Gakoaren harrera erabiltzaileak utzi egin du
failNoServer=Errorea - Gakoak jasotzeko gako-serbitzari iturubururik ez da jarri
failNoID=Errorea - Ez da jasoko den gakoaren ID-a jarri
failKeyExtract=Errorea - gakoaren aterapen komandoak huts egin du
notFirstBlock=Errorea - Lehendabiziko OpenPGP blokea ez da gako publiko batena
importKeyConfirm=Mezuan txertatuta dauden gakoak inportatu nahi al dituzu?
failKeyImport=Errorea - Gakoaren inportazioak huts egin du
fileWriteFailed=%S fitxategian idazterakoan huts egin du
successKeyImport=Gakoa(k) arazorik gabe inportatu da/dira
importKey=%S gako publikoa gako-serbitzaritik inportatu:
uploadKey=%S gakoa gako-serbitzarira bidali:
keyId=Gakoaren ID-a
keyAndSigDate=Gakoaren ID-a: 0x%S / Sinatuta: %S
keyFpr=Gakoaren hatz-marka: %S
noEmailProvided=Ez duzu e-posta helbiderik eman!
keyAlreadySigned=Gakoa dagoeneko sinatuta dago, ezin duzu bitan sinatu.
# Strings in enigmailEditKeyTrustDlg.xul
selKeyExpired=%S-n iraungita
createdHeader=Sortuta
atLeastOneKey=Ez da gakorik aukeratu! Gutxienez gako bat aukeratu behar duzu lehio hau adosteko
fewerKeysThanRecipients=Hartzaile baino gako gutxiago aukeratu dituzu. Ziru zaude zifratzeko gakoen zerrenda osorik dagoela?
userSel.button.goBack=Gako gehiago aukeratu
userSel.secretKeySel.title=OpenPGP Gako Sekretu Bat Aukeratu Zure Mezuak Sinatzekoa
# Strings in enigmailSignKeyDlg.js
# Strings in enigmailKeyManager.js
pgpMimeNote=OHARRA: PGP/MIME e-posta bezero kopuru txiki batek onartzen du! Windowsen bakarrik Mozilla/Thunderbird, Sylpheed, Pegasus eta Mulberry estandar hau honartzen dute; Lunux/UNIX eta Mac OS X-ko bezero hedatuenak onartzen dute. Ziur ez bazaude, %S aukera hautatu ezazu.
first=lehendabiziko
second=bigarren
# Strings in enigmailViewKeySigDlg.xul
encryptKeyHeader=Zifratzeko OpenPGP Gako Bat Aukeratu
identityName=Nortasuna: %S
# Strings in enigmailManageUidDlg.xul
noEncryption=Zifraketa aktibatu duzu, baina ez duzu gakorik aukeratu. %S-ri bidalitako e-postak zifratzeko, zure gako zerrendaren baliodun gako bat edo gehiago hautatu behar duzu. %S-rentzat zifraketa ezgaitu nahi al duzu?
noKeyToUse=(ezer - zifraketarik ez)
noEmptyRule=Araua agian ez dago hutsik! Mesedez, e-posta helbide bat sartu ezazu Araua eremuan.
invalidAddress=Sartutako e-posta(k) ez dira baliodunak. Ez zenituzke hartzaileen izenak sartu behar, bakarrik helbide elektronikoak. Adib.:\nBaliogabea: Izen Bat \nBalioduna: izen.bat@helbidea.net
noCurlyBrackets=Giltzek {} esanahi berezia daukate eta ez lirateke helbide elektronikoetan erabili behar. Arau honen baterapen portaera aldatu nahi baduzu, 'Araua erabili hartzaileak ...' aukera erabili ezazu.\nInformazio gehiago Laguntza botoian eskuragarri dago.
# Strings in enigmailKeyDetailsDlg.xul
never=Inoiz
always=Beti
possible=Posible
deleteRule=(Hurrengo hartzailea)
negateRule=Ez
# Strings in enigmailGenCardKey.xul
needOnline=Aukeratu duzun ekintza ez dago eskuragarri konexiorik gabe. Mesedez, konektatu zaitez eta berriz saiatu.
protocolNotSupported=Aukeratu duzun '%S://' protokoloa ez dago onartuta OpenPGP gakoak deskargatzeko.
gpgkeysDisabled=Agian 'extensions.enigmail.useGpgKeysTool' aukera gaitzea lagundu dezake.
noKeyserverConn=%S-n dagoen gako-serbitzarira ezin izan da konektatu.
keyDownloadFailed=Gakoa deskargatzerakoan huts egin du. Egoera mezua:\n%S
internalError=Barneko errore bat gertatu da. Gakoak ezin izan dira deskargatu edo inportatu.
noKeyFound=Sentitzen dut baina ezin izan da jarri dituzun bilaketa irizpideekin gakorik aurkitu.\nOhartu zaitez gakoaren ID-a "0x" aurrizkia eraman behar duela (adib.: 0xABCDEF12).
# Strings in enigmailSetCardPin.xul
gpgKeysFailed=Gako-sebritzarian gakoa bilatu edo deskargatzerakoan errore bat egon da: gpgkeys_%S ezin izan da exekutatu.
# Strings in enigRetrieveProgres.xul
setKeyTrustFailed=Jabearekiko konfidantza jartzerakoan huts egin du
# Strings in enigmailSetupWizard
signKeyFailed=Gakoaren sinadurak huts egin du
undefinedError=Errore ezezagun bat gertatu da.
alreadySigned.label= Oharra: %S gakoa dagoeneko aukeratutako gako sekretuarekin sinatuta dago.
# Strings in enigmailAddUidDlg.xul
keyMan.loadingKeys=Gakoak kargatzen, mesedez itxaron ...
keyValid.unknown=ezezaguna
keyValid.invalid=baliogabea
keyValid.disabled=ezgaituta
keyValid.revoked=ezeztatuta
keyValid.expired=iraungita
keyValid.noSubkey=ubgako baliogabea
keyValid.valid=balioduna
keyTrust.untrusted=konfidantzarik ez
keyTrust.marginal=txikia
keyTrust.full=konfidagarria
keyTrust.ultimate=azkenekoa
keyTrust.group=(taldea)
keyType.public=pub
keyType.publicAndSec=pub/seg
keyMan.enableKey=Gakoa Gaitu
keyMan.disableKey=Gakoa Ezgaitu
userAtt.photo=Erabiltzailearen ezaugarria (JPEG irudia)
asciiArmorFile=ASCII Fitxategi Babestuak (*.asc)
gnupgFile=GnuPG Fitxategiak
saveRevokeCertAs=Ezeztapen Ziurtagiria Sortu eta Gorde
revokeCertOK==Ezeztapen ziurtagiria sortu egin da. Zure gako publikoa ezgaitzeko erabili dezakezu, adibidez, zure gako sekretua galtzen baduzu.\n\nMesedez, toki seguru batean gorde daitekeen unitate batean gorde ezazu, CD edo flash memoria gailu batera adibidez. Norbaitek ziurtagiri hau lortuko balu zure gakoa baliogabetu lezake.
revokeCertFailed=Ezeztapen ziurtagiria ezin izan da sortu.
addUidOK=Erabiltzeile IDa gehitu egin da
addUidFailed=Erabiltzaile IDa gehitzerakoan errore bat egon da
noKeySelected=Aukeratutako eragiketa egiteko gutxienez gako bat aukeratu behar duzu
exportToFile=Gako Publikoa Fitxategi Batera Esportatu
exportSecretKey=Gako sekretua OpenPGP gako pribatuan fitxategian gorde nahi al duzu?
saveKeysOK=Gakoak gorde egin dira
saveKeysFailed=Gakoak ezin izan dira gorde
importKeysFailed=Gakoak ezin izan dira inportatu
enableKeyFailed=Gakoak ezin izan dira gaitu/ezgaitu
specificPubKeyFilename=%S (0x%S) pub
specificPubSecKeyFilename=%S (0x%S) pub-sec
defaultPubKeyFilename=Esportatutako gako publikoak
defaultPubSecKeyFilename=Esportatutako gako publiko eta pribatuak
noSecretKeys=Ez da gako sekreturik aurkitu.\n\nZure gakoa orain sortu nahi al duzu?
sendKeysOk=Gakoa(k) bidali egin dira
sendKeysFailed=Gakoak ezin izan dira bidali
receiveKeysOk=Gakoa(k) eguneratu dira
receiveKeysFailed=Gakoak ezin izan dira deskargatu
importFromClip=Arbeletik gakoak inportatu nahi al dituzu?
copyToClipbrdFailed=Aukeratutako gakoak ezin izan dira arbelera kopiatu.
copyToClipbrdOK=Gakoak arbelera kopiatu dira
deleteSecretKey=KONTUZ: Gako pribatu bat ezabatzera zoaz!\nZure gako pribatua ezabatzen baduzu, ezin izango dituzu gako horrentzat zifratu diren mezuak argitu, eta ezin izango duzu zure gakoa ezeztatu.\n\nZiur zaude BI gakoak, gako publikoa eta gako pribatua, ezabatu nahi al dituzula\n'%S'?
deleteMix=KONTUZ: Gako pribatuak ezabatzera zoaz!nZure gako pribatua ezabatzen baduzu, ezin izango dituzu gako horrentzat zifratu diren mezuak argitu.\n\nZiur zaude BI gakoak, aukeratutako gako publiko eta pribatua, ezabatu nahi dituzula?
deletePubKey=Gako publikoa ezabatu nahi al duzu\n'%S'?
deleteSelectedPubKey=Zure gako publikoak ezabatu nahi al dituzu?
deleteKeyFailed=Gakoa ezin izan da ezabatu.
revokeKeyAsk=Funtzio honek ezeztapen ziurtagiria sortu eta inportatzen du. Ziur zaude %S gakoa ezeztatu nahi duzula?
revokeKeyOk=Gakoa ezeztatu egin da. Gakoa gako-serbitzari batean eskuragarri badago, gomendatzenda berriz igotzea, horrela besteek ezeztapena ikusi ahal izango dute.
revokeKeyFailed=Gakoa ezin izan da ezeztatu.
refreshAllQuestion=Ez duzi gakorik aukeratu. Gako GUZTIAK freskatu nahi al dituzu?
refreshKey.warn=Kontuz. Gako kopuruaren arabera eta konexioaren abiaduraren arabera, gako guztiak freskatzea prozesu luzea izan daiteke!
keyMan.button.exportSecKey=Gako &Sekretuak Esportatu
keyMan.button.exportPubKey=Gako &Publikoak Esporatatu
keyMan.button.import=&Inportatu
keyMan.button.refreshAll=Gako Guztiak &Freskatu
keyMan.button.revokeKey=Gakoa &Ezeztatu
keylist.noOtherUids=Ez dauka beste nortasunik
keylist.hasOtherUids=Goitizena
keylist.noPhotos=Ez dago argazkirik
keylist.hasPhotos=Argazkiak
# strings in pref-enigmail.js
keySignatureLocal=Lokala
keySignatureExportable=Esportagarria
keySignatureNoKey=Gakorik ez
userIdNotFound=(Erabiltzaile ID-a ez da aurkitu)
signatureValid=Bai
retrieveKeyConfirm=Gakoa ez dago eskuragarri - gako-serbitzari batetik deskargatu nahi al duzu?
changePrimUidFailed=Erabiltzaile ID primarioa aldatzerakoan huts egin du
changePrimUidOK==Erabiltzaile ID primarioa aldatu egin da
deleteUidFailed=Erabiltzaile ID %S-a ezabatzerakoan huts egin du
deleteUidOK=Erabiltzaile ID %S-a ezabatu egin da
revokeUidFailed=Ezin izan da erabiltzaile ID %S-a ezeztatu
revokeUidOK=Erabiltzaile ID %S-a ezeztatu egin da. Zure gakoa gako-serbitzari batean eskuragarri badago, berriz igotzea gomendatzen da, horrela beste erabiltzaileek ezeztapena ikusi ahal izango dute.
revokeUidQuestion=Ziur zaude %S erabiltzaile ID-a ezeztatu nahi duzula?
deleteUidQuestion=Ziur zaude %S erabiltzaile ID-a ezabatu nahi duzula?\n\nOharra: zure gako publikoa gako-serbitzari batera igo baduzu, zure erabiltzaile ID-a ezabatzeak ez du ezer aldatuko. Kasu horretan 'Erabiltzaile ID-a Ezeztatu' erabili beharko zenuke.
keyTypePublic=gako publikoa
keyTypePrimary=gako primarioa
keyTypeSubkey=sub-gakoa
keyTypePair=gako bikotea
keyExpiryNever=inoiz
keyAlgorithm_1=RSA
keyAlgorithm_2=RSA
keyAlgorithm_3=RSA
keyAlgorithm_16=ELG
keyAlgorithm_17=DSA
keyAlgorithm_20=ELG
keygen.started=Mesedez, itxaron gakoa sortzen ari den bitartean ....
keygen.completed=Gakoa sortu da. Gako berriaren ID berria: 0x%S
keygen.keyBackup=Gakoa %S bezela babeskopiatu da
keygen.passRequired=Mesedez, zure SmartCard-aren kanpoan babeskopia sortu nahi baduzu pasahitz bat sartu ezazu.
cardPin.dontMatch=Sartu duzun PIN-a ez dator bat; mesedez berriz sartu
cardPin.minLength=PIN-a gutxienez %S karaktere edo zenbaki izan behar ditu
cardPin.processFailed=PIN-a ezin izan da aldatu
keyserverProgress.refreshing=Gakoak freskatzen, mesedez itxaron...
keyserverProgress.uploading=Gakoak igotzen, mesedez itxaron...
keyserverTitle.refreshing=Gakoak Freskatu
keyserverTitle.uploading=Gakoa Igo
passphrase.min8keys=Zure pasahitzak gutxienez 8 karaktere izan beharko lituzke!
setupWizard.applyAllId=Nortasun guztientzat Enigmail aktibatu
setupWizard.applySomeId=Nortasun hauentzat Enigmail aktibatu: %S
setupWizard.applySingleId=Zure e-posta kontuarentzat Enigmail aktibatu
setupWizard.setAllPrefs=Gomendatutako aplikazioaren ezarpen guztiak aldatu
setupWizard.setSomePrefs=Aukeratu dituzun gomendatutako aplikazioaren ezarpenak aldatu
setupWizard.setNoPrefs=Ez aldatu aplikazioaren ezarpenik
setupWizard.createKey=OpenPGP 2048-biteko gako berria sortu, 5 urteko balioarekin
setupWizard.useKey=Esistitzen den OpenPGP %S gako ID-a erabili sinatzeko
setupWizard.encryptAll=Lehenetsita e-posta guztiak zifratu
setupWizard.encryptNone=Lehenetsita ez zifratu e-postarik
setupWizard.signAll=Lehenetsita e-posta guztiak sinatu
setupWizard.signNone=Lehenetsita ez sinatu e-postarik
setupWizard.reallyCancel=Ziur zaude Enigmail Instalatzaile Laguntzailea itxi nahi duzula?
addUidDlg.nameOrEmailError=Ezena eta helbide elektronikoa bete behar dituzu
addUidDlg.nameMinLengthError=Izenak gutxienez 5 karaktere izan behar ditu
addUidDlg.invalidEmailError=Baliodun helbide elektronikoa sartu behar duzu
addUidDlg.commentError=Parentesiak ez dira komentarioetan onartzen
enigmail/lang/eu/help/ 0000775 0000000 0000000 00000000000 13213001347 0015117 5 ustar 00root root 0000000 0000000 enigmail/lang/eu/help/compose.html 0000664 0000000 0000000 00000010462 13213001347 0017455 0 ustar 00root root 0000000 0000000
Enigmail Laguntza: Mezua Idatzi
Enigmail Laguntza
Enigmail erabiltzen mezuak idazterakoan
Enigmail menua e-posta idazteko lehioan
Mezua sinatu
Mezua sinatuta bidaltzeko aukera gaitu/ezgaitu. Erabiltzaileari ohar bat aterako zaio sinadurak huts egiten badu.
Mezua zifratu
Bidali aurretik hartzaile guztientzat mezua zifratzeko aukera gaitu/ezgaitu. Erabiltzaileari ohar bat aterako zaio zifraketak huts egiten badu.
Aukeraketa behar denean erakutsiLehentasunak -> Gako Aukeraketa fitxan aktibatuta badago, gako zerrenda bat agertuko da hartzaile zerrendan dauden eta euren gako publikorik ez duzun hartzaileentzako.
Ez erakutsi inoiz OpenPGP gako aukeraketa lehioaLehentasunak -> Gako Aukeraketa fitxan gaituta badago, eta hartzaile zerrendan dagoen hartzaile baten gako publikoa baldin ez baduzu, mezua zifratu gabe bidaliko da.
Mezua bidaltzerakoan arazoren bat baldin badago, adibidez, POP serbitzariak eskaera onartzen ez badu, Enigmail-ek ez du horren berri izango eta zifratutako mezua Idatzi lehioan agertzen jarraituko du. Menuaren aukera hau hautatuz sinadura/zifraketa desegingo du, Idatzi lehioa hasieran zegoen testura bueltatuz
Behin-behineko konponketa bezala, aukera hau erabili daiteke zifratutako mezuak erantzuterakoan aipatutako testua argitzeko. Enigmailek automatikoki aipatutako mezua argitu beharko luke, baina horrek huts egiten badu, menu aukera hau erabili dezakezu hori behartzeko
Gako publikoa txertatu
Idatzi lehioan, kurtsorea dagoen tokian ASCII-babestua formatuan gako publiko bloke bat txertatzen du. Txertatuko den/diren gakoen helbide elektronikoak eskatuko zaizkizu. Modu honetan sartzen diren gakoak, heltzerakoan Enigmailek automatikoki detektatuko ditu. Txertatu eta gero, e-posta oraindik sinatu edo zifratu dezakezu. Horretaz gain, ez ezazu gako bloke bat baino gehiago sartu mezu bakoitzeko; helbide elektroniko bat baino gehiago jarri nahi baduzu, eskatzen dizkizunean komen edo espazioen bitartez bereizita sartu itzazu.
Ezabatu gordetako pasahitza
Katxeatu den pasahitza ezabatzen du. Erabilgarria da pasahitz baino gehiago dituzunean.
Laguntza
Laguntza informazio weborria (orri hau) erakusten du.
Arau editorean, hartzaile bakoitzaren lehenetsitako aukerak jarri ditzakezu zifraketa, sinadura, PGP/MIME eta ze OpenPGP gakoak erabiliko diren arloetan. Lehio honetan, hartzaile bakar batentzat arauak sartu ditzakezu eta, baita ere, antzeko ezaugarriak dituzten hartzaileentzat..
OpenPGP Arauak honetarako ezarri
Hartzaileen helbide elektronikoak izango ditu (izenik gabe, hau da, helbidea bakarrik norbait@helbidea.domeinua bezala). Helbide elektroniko bat baino gehiago sartu dezakezu hutsuneekin tartekatuz. Hemen sartzen diren helbideak domeinuaren zatiarekin bakarrik sartu daitezke, horrela domeniu horretako edozein helbide elektronikoarekin bat egingo du, adibidez @helbidea.domeinua domeinua norbait@helbidea.domeinua, edonor@helbidea.domeinua, eta abarrekin bat etorriko da.
Araua aplikatu hartzaileak...
Hoek helbide elektronikoen bateratzea aldatuko du. Helbide bat baino gehiago sartu badira, ezaugarri hau guztietara aplikatuko dira. Azpian dauden adibideak izena@helbidea.domeinua erabiliko dute goian dagoen OpenPGP Arauak eremuan.
Zehazki bada: ezaugarri honekin araua bakarrik aplikatuko da izena@helbidea.domeinua helbidearekin (zehazki, letra larriak eta xeheak ezberdindu gabe).
Badauka: ezaugarri honekin, testu hori daukan edozein helbiderekin bateratuko da, adibidez abizena_izena@helbidea.domeinua edo izena@helbidea.domeinua.net
Honekin hasten da: ezaugarri honekin, testu honekin hasten den edozein helbiderekin bateratuko da, adibidez izena@helbidea.domeinua.net, izena@helbidea.domeinua-izena.com.
Honekin bukatzen da da:ezaugarri honekin, testu honekin bukatzen den edozein helbiderekin bateratuko da, adibidez abizena_izena@helbidea.domeinua , ezizena@helbidea.domeinua.
Bat datozen helbideekin hurrengo arauarekin jarraitu
Funtzio honek arau bat definitzen uzten dizu Hurrengo OpenPGP gakoak erabili: eremuan GakoID-rik zehaztu behar izan gabe, horrela bidaltzeko momentuan helbide elektronikoa erabiliko da gakoa bilatzeko. Horretaz gain, helbide berdinentzat arau gehiago badaude, hauek ere prozesatuko dira.
Ez bilatu arau gehiago bateratutako helbideentzat
Aukera hau gaitzen baduzu, arau honekin bateratzen bada, prozesamenduak ez ditu arau gehiago bilatuko helbide honentzako; hau da, hurrengo hartzailearekin hasiko da.
Hurrengo OpenPGP gakoak erabili:
Gakoa(k) Aukeratu.. botoia erabili ezazu zifratzeko erabiliko diren hartzailearen gakoak aukeratzeko. Goiko ekintzaren moduan, arau honekin baterantzen diren helbideek ez dute prozesua jarraituko.
Sinatzeko Lehenetsita
Mezuaren sinadura gaitu edo ezgaitu. Honek mezua idazteko lehioan jarri duzuna erabili edo jaramonik ez egitea zehazten du. Balioak hauek izan daitezke:
Inoiz: sinadura ezgaitu, nahiz eta mezua idazteko lehioan bestela esanda (beste balioei ez die jaramonik egiten)
Bai, Mezua idazteko lehioan aukeratzen bada: sinadura mezua idazteko lehioan jartzen duen bezela egin
Beti: sinadura gaitu, mezua idazteko lehioan aukera hori gaituta egonez arren
Sinadura ezarpen hauek bateratzen diren arau guztietara aplikatuko da. Arau batek sinadura ezgatzen badu, mezua ez da sinatuko, nahiz eta beste arau batzuk Beti esaten duten.
Zifraketa
Mezuaren zifraketa gaitu edo ezgaitu. Jarri daitezken ezaugarriak eta euren esanahia sinaduran daudenen berdinak dira.
PGP/MIME
PGP/MIME (RFC 3156) mezu kodifikazioa gaitu edo ezgaitu. PGP/MIME ezgaituta badago, mezuak "txertatutako PGP" erabiliz kodifikatuko dira. Jarri daitezken ezaugarriak eta euren esanahia sinaduran daudenen berdinak dira.
Arauak OpenPGP Arau Editorean dagoen zerrendaren ordenean prozesatuko dira. Hartzaile batek arau batekin bat datorrenean eta arau horrek OpenPGP gako ID-a badauka, gako ID hori erabiltzeaz gain, hartzailea ez da gehiago kontutan izango ondorengo arauak prozesatzerakoan.
enigmail/lang/eu/help/initError.html 0000664 0000000 0000000 00000004645 13213001347 0017773 0 ustar 00root root 0000000 0000000
Enigmail Laguntza: Nola Konpondu OpenPGP Hasieratzerakoan Dauden Arazoak
Enigmail Laguntza
Nola Konpondu OpenPGP Hasieratzerakoan Dauden Arazoak
Arrazoi asko egon daitezke OpenPGP hasieratzerakoan errorea emateko. Ohikoenak azpian agertzen dira; informazio gehiago nahi baduzu, Enigmail Laguntza weborrian aurkitu dezakezu.
GnuPG ezom ozam da aurkitu
OpenPG funtzionatu dezan GnuPG tresna instalatuta egon behar du.
GnuPG ezin izan bada aurkitu, lehendabizi gpg.exe (Windows-en; gpg beste plataformetan) exekutagarria zure ordenagailuan instalatuta dagoela ziurtatu zaitez.
GnuPG instalatuta badago eta OpenPGP-k ezn badu aurkitu, OpenPGP lehentasunetan (menua OpenPGP > Lehentasunak) GnuPG-ren helbidea eskuz jarri beharko diozu.
Enigmime hasieratzerakoan huts egin du
OpenPGP bakarrik funtzionatuko du Thunderbird edo SeaMonkey eraiki ziren ingurune berdinean eraki bada. Horrek esan nahi du, Enigmail-en bertsio ofiziala bakarrik mozilla.org argitaratutako Thunderbird edo SeaMonkey bertsio ofizialekin bakarrik erabili daitekeela.
Beste jatorri bat daukan Thunderbird edo SeaMonkey erabiltzen baduzu (adibidez, zure Linux banaketarekin datorrena), edo zuk zeuk aplikazioa eraiki baduzu, jatorri berdinarekin eraiki den Enigmail bertsio bat erabili beharko zenuke, edo zuk zeuk Enigmail eraiki. Enigmail erakitzeko Iturburu Kodea atalera jo ezazu Enigmail weborrian. Mesedez, ez bidali akats txosten bat arazo honekin, konponketarik ez baitauka.
Botoi hau gauza askotarako erabili daiteke: argitu, egiaztatu edo gako publikoak inportatzeko. Normalean, argitzea/egiaztatzea automatikoki egiten da, baina aukera hau ezgaitu daiteke lehentasun baten bitartez. Honek huts egiten badu, normalean Enigmailen egoera-lerroan mezu motz bat agertuko da. Argitu botoian klik eginez, xehetasun gehiago dituen errore mezua ikusi ahal izango duzu, GnuPG komandoaren irteeera barne.
Idazluma eta Giltza ikonoak Mezuaren Goiburuan
Idazluma eta Giltza ikonoek mezua sinatuta edo/eta zifratuta dagoela erakusten dute, baita sinadura ona bada ere, hau da, mezua sinatu zenetik aldatu baldin ez bada. Mezua aldatu baldin bada, Idazluma ikonoa Idazluma Apurtu batera aldatuko da sinadura oker dagoela adierazteko. Idazluma eta giltza ikonoetan eskubiko klik eginez hurrengo aukerak dituen menua agertuko da:
OpenPGP Sekurtasun informazioa: GnuPG-k mezuarentzat atera duen egoera erakutsiko dizu.
OpenPGP Sekurtasun informazioa kopiatu: GnuPG-k atera duen egorea arbelera kopiatuko du; adibidez, erantzun batean itxasteko e.a.
OpenPGP argazki ID-a ikusi: mezua bidali zuen pertsonaren Argazki ID-a erakutsiko dizu, euren argazkia gako publikoaren barruan txertatu baldin badu.(Aukera hau gaituta agertuko da bakarrik beraren gakoan Argazki ID-a txertatuta baldin badago.)
S/MIME Sekurtasun informazioa: mezuaren S/MIME sekurtasun informazioa erakutsiko dizu.
Zure gpg.conf fitxategian gako-serbitzari-aukerak gakoak-auto-inportatu gaituta ez baldin baduzu eta sinatutako edo zifratutako mezu bat irakurtzen baduzu, goiburuan dagoen Idazluma ikonoak Galdera ikur bat izango du, eta goiburuan dagoen Enigmail egoera-lerroak hurrengoa esango du: Mezuaren zati bat sinatuta dago; xehetasunentzako idazluma ikonoak klik egin ezazu; horretaz gain mezu panelean OpenPGP mezu bolkearen adierazleak eta sinadura blokeak erakutsiko ditu.
Hau ere ikusi dezakezu zure gpg.conf fitxategian gako-serbitzari-aukerak gakoak-auto-inportatu gaituta gaituta badaukazu eta mezuaren OpenPGP gakoa lehenetsitako gako-serbitzarian eskuragarri ez baldin badago.
Idazluma eta Galdera ikurra ikonoan klik egiten baduzu, gakoa zure gako giltzatakoan ez dagoela abisatzeko lehioa agertuko da. Ados sakatuz, beste lehio bat erakutsiko da, honetan gako-zerbitzari zerrenda bat agertuko da eta bertan igorlearen gako publikoa deskargatzeko serbitzaria aukeratu ahal izango duzu.
Erabiliko diren gako-serbitzaren zerrenda konfiguratzeko, Enigmail -> Lehentasunak -> Oinarrizkoak fitxara joan zaitez eta gako-serbitzarien helbideak Gako-serbitzaria(k): eremuan sartu itzazu koma bitartez bananduz. Zerrendan dagoen lehendabiziko gako-serbitzaria lehenetsitakoa bezela erabiliko da
Zifratutako eranskikak ireki / Erantsitako OpenPGP gakoak inportatu
*.pgp, *.asc eta *.gpg luzapena duten eranskinak Enigmailek bereziak bezala identifikatuko ditu eta tratamendu berezia emango die. Eranskin hauetan eskubiko klik egiten baduzu, laister-menuan bi sarrera berezi agertuko dira: Argitu eta Ireki eta Argitu eta Gorde. Bi menu sarrera hauek erabili itzazu eranskinak ireki edo gorde baino lehen argitu nahi badituzu. Eranskin bat OpenPGP gako fitxategi bat bezela antzematen badu, zure giltzatakoan gakoak inportatzeko aukera emango dizu.
Arau editorean, hartzaile bakoitzaren lehentasunak jarri ditzakezu zifraketa, sinadura eta PGP/MIME gaitzeko, baita ze OpenPGP gako erabiliko diren. Arau bakotzak lerro batean agertzen diren 5 eremu dira:
E-posta
Hartzailea:, Cc: eta Bcc: eremuekin bateratuko den helbide elektronikoa(k). Bateratzea testu zatietan lan egiten du (Xehetasun geiago Araua Editatu lehioan aurkitu daitezke)
OpenPGP Gakoa(s)
hartzailearentzat erabiliko diren OpenPGP gako ID zerrenda
Sinatu
mezuaren sinadura gaitu edo ezgaitu. Honek mezua idazteko lehioan jarrtzen diozunaren arabera edo haiei jaramonik egin gabe lan egin dezake. Balioak honakoak dira:
Inoiz: sinadura ezgaitu, mezua idazteko lehioan gaituta egon arren (beste balioei ez die jaramonik egiten)
Posible: sinadura mezua idazteko lehioan agertzen denaren arabera egingo da
Beti: sinaduar gaitu, mezua idazteko lehioan aukera hori gaituta egon ez arren
Sinadura ezarpen hauek bateratzen diren arau guztiekin aplikatzen da. Arau batek sinadura ezgaitzen badu, mezua ez da sinatuko, nahiz eta beste arauek Beti esaten duten.
Zifratu
mezuaren zifraketa gaitu edo ezgaitu. Onartutako ezarpenak eta euren esanahia sinadurarenak bezalakoak dira.
PGP/MIME
PGP/MIME (RFC 3156) mezu kodifikazioaren erabilera gaitu edo ezgaitu. PGP/MIME ezgaituta badago, mezuak "txertatutako PGP" erabiliz erabiliko dira. Onartutako ezarpenak eta euren esanahia sinadurarenak bezalakoak dira.
Arauak zerrendan agertzen diren ordenean prozesatuko dira. Hartzaile batek arau batekin bat datorrenean eta arau horrek OpenPGP gako ID-a badauka, gako ID hori erabiltzeaz gain, hartzailea ez da gehiago kontutan izango ondorengo arauak prozesatzerakoan.
Oharra: Arau editorea oraindik bukatu gabe dago. Arau aurreratuagoak egin daitezke arau fitxategia zuzenean editatuz (arau hauek ez lirateke inoiz gehiago arau editorearekin editatu behar).Informazio gehiago nahi baduzu arau fitxategia zuzenean editatzeari buruz Enigmail weborrian aurkitu dezakezu
In the Sending Preferences you can choose the general model and preferences for encryption.
Convenient Encryption
With these settings, emails are encrypted without confirmation whenever possible.
This setup is appropriate, if you just want to improve your privacy by sending emails encyrpted instead of unencrypted if that's possible.
The effect is like sending emails as letters instead of postcards. Unlike postcards, letters usually hide their contents while in transit.
Note however that as with letters you can't be sure that nobody is opening the letter while it is in transit (although, some technical effort is necessary for that).
A concrete risk is that you accidentally use "faked keys" you got from somewhere or somebody claiming that the key belongs to the person you want to send emails to. To avoid this risk, you can either use the trust model of PGP (see below) or you should always verify, whether the fingerprint of a public key is correct.
Manual Encryption
This option allows you to specify the different preferences for encryption according to your needs. You can specify
whether replies to encrypted/signed emails should automatically also be encrypted/signed-
whether to use the trust model of OpenPGP to accept keys (this means that to use a key you either have to sign the key or have enough other people you trust having signed the key).
whether you want to automatically send emails encrypted if all keys are accepted.
whether and when you want to finally confirm sending an email.
If it is important for you that content you send encrypted can't be read by other people or organizations, you should use the manual preferences at least choose the option to accept keys only if you or other people signed them. While this model reduces the risk of using faked keys, it requires that you actively sign keys and declare owner trust using the key managament dialog.
enigmail/lang/fi/ 0000775 0000000 0000000 00000000000 13213001347 0014154 5 ustar 00root root 0000000 0000000 enigmail/lang/fi/am-enigprefs.properties 0000664 0000000 0000000 00000000106 13213001347 0020644 0 ustar 00root root 0000000 0000000 # used in the AccountManager
prefPanel-enigprefs=OpenPGP-turvallisuus
enigmail/lang/fi/enigmail.dtd 0000664 0000000 0000000 00000101354 13213001347 0016442 0 ustar 00root root 0000000 0000000
Huom: Avaimen luominen voi kestää jopa useita minuutteja. Älä sulje ohjelmaa kun avainta luodaan. Tietokoneen aktiivinen käyttäminen avainta luotaessa lisää avaimen luontiin tarvittavaa satunnaisuutta ja siten nopeuttaa luontiprosessia. Enigmail ilmoittaa kun avain on valmis.">
" on virheellinen">
Huom: Avaimen luominen voi kestää jopa useita minuutteja. Älä sulje ohjelmaa kun avainta luodaan. Enigmail ilmoittaa kun avain on valmis.">
Huom.: Enigmail varmentaa jokaisen sähköpostin
allekirjoitukset riippumatta tilistä tai käyttäjätunnuksesta">
Kiitos Enigmail-tiimin puolesta.">
enigmail/lang/fi/enigmail.properties 0000664 0000000 0000000 00000053374 13213001347 0020073 0 ustar 00root root 0000000 0000000 Enigmail=Enigmail
enigAlert=Enigmail-hälytys
enigConfirm=Enigmail-vahvistus
enigError=Enigmail-virhe
enigPrompt=Enigmail-kehote
dlgYes=Kyllä
dlgNo=Ei
dlgKeepSetting=Muista vastaukseni, äläkä kysy uudestaan
dlgNoPrompt=Älä näytä tätä huomioikkunaa uudestaan
dlg.button.delete=&Poista
dlg.button.cancel=&Peruuta
dlg.button.close=&Sulje
dlg.button.continue=Jatka
dlg.button.skip=&Ohita
dlg.button.view=&Näytä
repeatPrefix=\n\nTämä hälytys toistetaan %S
repeatSuffixSingular=kerran.
repeatSuffixPlural=kertaa.
noRepeat=\n\nTämä hälytys toistetaan vasta Enigmailin seuraavan päivityksen yhteydessä.
pgpNotSupported=Käytät ilmeisesti PGP 6.x:ä Enigmail:n kanssa.\n\nPGP 6.x:n toiminnassa on kuitenkin ongelmia, joiden takia Enigmail ei toiminut kunnolla ja siksi Enigmail ei enää tue PGP 6.x:ä. Käytä PGP:n sijaan GnuPG:tä.\n\nTarvittaessa Enigmailin kotisivujen ohjesivulta löytyy ohjeita GnuPG:n siirtymisestä
passphraseCleared=Salasanamuisti tyhjennettiin.
noPhotoAvailable=Ei kuvaa
debugLog.title=Enigmail Debug Log
error.photoPathNotReadable=Kuvan polku '%S' ei ole luettavissa
# Strings in configure.jsm
enigmailCommon.versionSignificantlyChanged=Enigmailin uudessa versiossa on olennaisia muutoksia asetuksissa ja vaihtoehdoissa. Pyrimme siirtämään vanhat asetukset uuteen versioon. Emme kuitenkaan voi varmistaa kaikkia tapauksia automaattisesti. Ole hyvä, tarkista eri asetukset ja vaihtoehdot asennuksen jälkeen.
enigmailCommon.checkPreferences=Tarkista asetukset..
usingVersion=Enigmailin versio %S käynnissä
usingAgent=Salaamiseen ja salauksen purkamiseen käytetään ohjelman %S tiedostoa %S
agentError=VIRHE: Enigmime-palveluun ei saatu yhteyttä
accessError=Virhe käytettäessä Enigmail-palvelua
onlyGPG=Avaimen luominen onnistuu vain GnuPG-ohjelman kanssa (Ei PGP:n kanssa).
keygenComplete=Avain luotu! Käyttäjätieto <%S> käyttää avainta viestien allekirjoittamiseen.
revokeCertRecommended=Mitätöintivarmenteen luominen avaimelle on suositeltua. Avaimen voi mitätöidä sillä jos avain esimerkiksi hukkuu tai joutuu vääriin käsiin. Luodaanko mitätöintivarmenne?
keyMan.button.generateCert=&Luo sertifikaatti
genCompleteNoSign=Avain luotu!
genGoing=Avaimen luonti on jo käynnissä.
passNoMatch=Salasanat eivät täsmää. Kirjoita ne uudelleen
passCheckBox=Valitse, jos avaimelle ei aseteta salasanaa
passUserName=Kirjoita käyttäjätiedoista puuttuva käyttäjätunnus
passSpaceProblem=Teknisistä syistä, tunnuslauseen voi aloittaa tai päättää välilyöntiin
changePassFailed=Salasanan vaihtaminen epäonnistui.
keyConfirm=Luodaanko julkinen ja salain avain käyttäjälle "%S"?
keyMan.button.generateKey=&Luo avain
keyAbort=Peruutetaanko avaimen luonti?
keyMan.button.generateKeyAbort=&Keskeytä avainten luonti
keyMan.button.generateKeyContinue=&Jatka varmenteen luontia
expiryTooLong=Avaimen vanhenemisaika ei voi ylittää 100:a vuotta.
expiryTooLongShorter=Et pysty määrittämään avaimen vanhenenemista yli 90 vuoden päähän.
expiryTooShort=Avain ei voi vanheta alle päivässä.
keyGenFailed=Avaimen luonti epäonnistui. Tarkista yksityiskohdat Enigmail-konsolin viesteistä (Valitse Enigmail > Enigmail:n virheenjäljitys).
setKeyExpirationDateFailed=Päättymispäivää ei ole muutettu
# Strings in enigmailMessengerOverlay.js
securityInfo=Enigmail-turvallisuustietoja\n\n
enigHeader=Enigmail:
enigContentNote=Enigmail: *Tämän viestin liitteitä ei ole allekirjoitettu tai salattu*\n\n
possiblyPgpMime=Viesti on mahdollisesti PGP/MIME-salattu tai -allekirjoitettu. Napsauta Pura-painiketta varmistaaksesi
noDecrypted=Ei purettua viestiä, jota tallentaa.\nKäytä Tiedosto-valikon Tallenna-komentoa
noMessage=Ei tallennettavaa viestiä.
useButton=Napsauta Pura-painiketta purkaaksesi viestin salauksen
saveHeader=Enigmail: Tallenna purettu viesti
saveAttachmentHeader=Enigmail: Tallenna purettu liitetiedosto
noTempDir=Väliaikaista tallennuskansiota ei löytynyt\nAseta TEMP-ympäristömuuttuja
attachmentPgpKey=Avattava liite "%S" vaikuttaa OpenPGP-avaintiedostolta.\n\nTuo avaimet napsauttamalla Kyllä tai napsauta Ei näyttääksesi tiedoston sisällön
beginPgpPart=********* *SALATTU tai ALLEKIRJOITETTU OSA ALKAA* *********
endPgpPart=********** *SALATTU tai ALLEKIRJOITETTU OSA LOPPUU* **********
notePartEncrypted=Enigmail: *Osia viestistä EI OLE allekirjoitettu tai salattu*
noteCutMessage=Enigmail: *Viesti on jaettu useaan lohkoon -- Salauksen purku tai allekirjoituksen varmistus peruutettiin*
decryptOkNoSig=Varoitus\n\nSalauksen purkaminen onnistui, mutta allekirjoitus ei varmistunut oikein
msgOvl.button.contAnyway=&Jatka
signature.verifyFailed=Allekirjoituksen liitetiedostoja %S ei voitu vahvistaa
keysToExport=Valitse viestiin liitettävät OpenPGP-avaimet
keysToUse=Valitse OpenPGP-avaimet osoitesuotimelle %S
pubKey=Käyttäjätunnuksen %S julkinen avain\n
windowLocked=Viestin kirjoitusikkuna on lukittu. Viestin lähetys peruttu.
sendUnencrypted=Enigmailin alustus epäonnistui.\nLähetetäänkö viesti salaamattomana?
composeSpecifyEmail=Anna ensisijainen sähköpostiosoitteesi, jonka perusteella lähtevien viestien allekirjoitusavain valitaan.\nJos et anna sähköpostiosoitetta, jokaisen viestin allekirjoitusavain valitaan viestin lähettäjäkentän perusteella.
sendWithShownBcc=Salaa normaalisti
sendingNews=Salatun viestin lähetys peruttiin.\n\nTätä viestiä ei voi salata koska yksi vastaanottajista on keskusteluryhmä. Lähetä viesti uudestaan salaamattomana.
sendToNewsWarning=Varoitus: olet aikeissa lähettää salattua sähköpostia uutisryhmään.\n\nTämä ei ole suotavaa. Se on järkevää ainoastaan silloin, kun kaikki ryhmän jäsenet voivat purkaa viestin. Eli viesti on salattu ja avain on kaikilla ryhmään osallistujilla. Lähetä tämä viesti vain, jos tiedät tarkalleen mitä olet tekemässä.\n\nHaluatko jatkaa?
hasHTML=HTML-postin varoitus:\nViesti saattaa sisältää HTML-koodia, jonka vuoksi viestin salaus tai allekirjoitus voi epäonnistua. Voit vastaisuudessa lähettää allekirjoitettuja viestejä painamalla Shift-näppäintä napsauttaessasi Kirjoita viesti tai Vastaa viestiin -painiketta.\nJos allekirjoitat viestisi oletuksena, sinun kannattaa ottaa HTML-muotoisten viestien lähetys pois päältä tiliasetuksista.
strippingHTML=Viestissä on HTML-muotoiluja, jotka katoavat kun viesti muunnetaan allekirjoituksen tai salauksen vuoksi pelkäksi tekstiksi. Jatketaanko muuntoa?
msgCompose.button.sendAnyway=&Lähetä viesti joka tapauksessa
attachWarning=Tämän viestin liitteet ovat linkitettyjä ja niitä ei voi salata. Salataksesi tiedostot, tallenna ne ensin kiintolevyllesi ja liitä ne sitten viestiin. Jatketaanko kaikesta huolimatta?
quotedPrintableWarn=Lähtevien viestien "quoted printable"-koodaus on käytössä. Koodauksen takia viestiesi allekirjoitus ja salaus voidaan tulkita virheelliseksi.\nOtetaanko "quoted-printable"-koodaus pois käytöstä?
minimalLineWrapping=Viestit rivittyvät tällä hetkellä %S merkin leveyteen. Jotta viestejä voi salata tai allekirjoittaa, merkkejä täytyy mahtua riville vähintään 68.\nMuutetaanko riville mahtuvien merkkien määrä 68:ksi?
warning=Varoitus
signIconClicked=Olet muokannut allekirjoitusta. Tämän takia kirjoittaessasi tätä viestiä, allekirjoittaminen ja viestin salaaminen eivät enää riipu toisistaan.
pgpMime_sMime.dlg.pgpMime.button=Käytä & PGP / MIME
pgpMime_sMime.dlg.sMime.button=Käytä &S/MIME
msgCompose.toolbarTxt.signAndEncrypt=Tämä viesti tullaan allekirjoittamaan ja salataan
# note: should end with double newline:
sendAborted=Viestin lähetys peruttiin.\n\n
statPGPMIME=PGP/MIME
statSigned=ALLEKIRJOITETTU
statEncrypted=SALATTU
statPlain=SELKOKIELINEN
offlineSave=Tallennetaanko %S viesti vastaanottajalle %S lähtevien viestien kansioon?
onlineSend=Lähetä %S viesti vastaanottajalle %S?
encryptKeysNote=Huom.: viesti on salattu seuraavilla käyttäjätunnuksilla / avaimilla: %S
signFailed=Enigmail-virhe. Salaus tai allekirjoitus epäonnistui. Lähetetäänkö viesti salaamatta?
msgCompose.button.sendUnencrypted=Lähetä salaamaton viesti
recipientsSelectionHdr=Valitse vastaanottajat joiden viestit salataan
configureNow=Valittua käyttäjää ei ole asetettu käyttämään Enigmail-turvallisuutta. Muokataanko asetuksia nyt?
# should not be used anymore:
encryptYes=Viesti salataan
encryptNo=Viestiä ei salata
# should not be used anymore:
signYes=Viesti allekirjoitetaan
signNo=Viestiä ei allekirjoiteta
rulesConflict=Vastaanottajakohtaisissa säännöissä ristiriitoja\n%S\n\nLähetetäänkö viesti näillä asetuksilla?
msgCompose.button.configure=&Määritä
msgCompose.button.send=&Lähetä viesti
msgCompose.button.save=&Talllenna viesti
# Strings in enigmailMsgHdrViewOverlay.js
keyNeeded=Allekirjoituksen varmistamiseen tarvitaan osoitteen %S julkinen avain
clickDecrypt=. Napsauta Salauksen purkamis -painiketta
clickDecryptRetry=. Napsauta Salauksen purkamis -painiketta yrittääksesi uudestaan
msgPart=Osa viestistä %S
msgSigned=allekirjoitettu
msgEncrypted=salattu
msgSignedAndEnc=allekirjoitettu ja salattu
unverifiedSig=Varmistamaton allekirjoitus
incompleteDecrypt=Salauksen purkaminen ei ole täydellinen
needKey=Virhe - salauksen purkaminen vaatii salaisen avaimen
failedDecrypt=Virhe - salauksen purkaminen epäonnistui
badPhrase=Virhe - väärä salasana
failedDecryptVerify=Virhe - salauksen purkaminen tai viestin varmistus epäonnistui
viewInfo=. Näytä > Viestin turvallisuustiedot lukeaksesi lisätietoja
decryptedMsg=Viesti, jonka salaus on purettu
locateGpg=Osoita GnuPG-ohjelman sijainti
invalidGpgPath=GnuPG:tä ei voida käynnistää annetusta sijainnista. Enigmail on pois käytöstä kunnes GnuPG:n sijainti muutetaan tai ohjelma käynnistetään uudestaan.
warningsAreReset=Kaikki varoitusikkuna-asetukset on nollattu.
prefs.gpgFound=GnuPG:tä ei löytynyt sijainnista %S
prefs.gpgNotFound=GnuPG:tä ei löytynyt
prefs.warnAskNever=Varoitus: Asetuksen seurauksena sähköpostiviestit lähetetään salaamatta siitä erikseen ilmoittamatta jos jollekin vastaanottajista ei löydy avainta!
enterAdminPin=Kirjoita älykorttisi ADMIN PIN-koodi
enterCardPin=Kirjoita älykorttisi PIN-koodi
notInit=Virhe - Enigmail-palvelua ei ole vielä alustettu
badCommand=Virhe - salauskomento epäonnistui
cmdLine=-komento ja -tuloste:
notRequired=Virhe - salausta ei vaadita
notComplete=Virhe - avaimen luonti ei ole vielä valmis
invalidEmail=Virhe - virheellisiä sähköpostiosoitteita
noPassphrase=Virhe - salasanaa ei ole annettu
noPGPblock=Virhe - Ei löydetty kelvollista koodattua OpenPGP-dataosiota
unverifiedReply=Viestin sisennettyä osaa (vastausta) on luultavasti muokattu
sigMismatch=Virhe - Allekirjoitus ei ole täsmää
cantImport=Julkisen avaimen tuonnissa tapahtui virhe\n\n
# Strings used in errorHandling.jsm
sc.wrongCardAvailable=Älykorttia %S löydetty, lukija ei osaa käsitellä viestiä\nPyydän lisäämään älykortti %S, toista toimenpide.
sc.insertCard=Toiminta vaatii älykorttin %S.\nOle hyvä ja lisää vaadittava älykortti, toista toimenpide.
sc.noCardAvailable=Älykorttia ei löydetty lukijasta.\nAseta älykortti kortinlukijaan ja yritä uudestaan
sc.noReaderAvailable=Älykortinlukijaan ei saatu yhteyttä\nKiinnitä älykortinlukija tietokoneeseen, aseta kortti lukijaan ja yritä uudestaan
gpgNotFound=GnuPG-ohjelmaa %S ei löytynyt.\nTarkista, että GnuPG:n ohjelmatiedoston kansio on asetettu oikein Enigmail:n asetuksissa
gpgNotInPath=GnuPG-ohjelmaa ei löytynyt PATH-muuttujan kansioista.\\Tarkista, että GnuPG:n ohjelmakansio on asetettu oikein Enigmail:n asetuksissa
gpgAgentNotStarted=GnuPG versiosi %S tarvitseman gpg-agentin käynnistäminen ei onnistunut.
prefUntrusted=EI LUOTETTU
prefRevoked=MITÄTÖITY AVAIN
prefExpiredKey=VANHENTUNUT AVAIN
prefExpired=VANHENTUNUT
prefGood=Hyvä allekirjoitus lähettäjältä %S
prefBad=VääRä allekirjoitus lähettäjältä %S
failCancel=Virhe - Avaimen nouto peruutettiin
failNoServer=Virhe - Ei annettu avainpalvelinta, jolta avain noudetaan
failNoID=Virhe - Ei annettu käyttäjätunnusta, jolle avain noudetaan
failKeyExtract=Virhe - avaimen tuonti viestistä epäonnistui
notFirstBlock=Virhe - Ensimmäinen OpenPGP-osio ei ole julkinen avain
importKeyConfirm=Tuodaanko viestiin sisällytetyt avaimet?
failKeyImport=Virhe - avainten tuonti epäonnistui
fileWriteFailed=Kirjoitus tiedostoon %S epäonnistui
importKey=Tuo julkinen avain %S avainpalvelimelta:
uploadKey=Lähetetäänkö julkinen avain %S avainpalvelimelle:
keyId=Avaintunnus
keyAndSigDate=Avaintunnus: 0x%S / Allekirjoitettu: %S
keyFpr=Avaimen sormenjälki: %S
noEmailProvided=Sähköpostiosoitetta ei ole asetettu.
keyAlreadySigned=Avain on jo kertaalleen allekirjoitettu.
selKeyExpired=vanhenee %S
createdHeader=Luotu
atLeastOneKey=Avainta ei ole valittu! Valitse ainakin yksi avain ennen kuin suljet ikkunan
userSel.button.goBack=Valitse lisää avaimia
userSel.secretKeySel.title=Valitse salainen OpenPGP avain jolla allekirjoitat viestit
# should be same as thunderbird ENTITY sendLaterCmd.label:
sendLaterCmd.label=Lähetä myöhemmin
# Strings used in enigmailAttachmentDialog.js
pgpMimeNote=Huom.: Kaikki sähköpostiohjelmat eivät tue PGP/MIME-standardia. Windowsilla sitä tiettävästi tukee Mozilla/Thunderbird, Sylpheed, Pegasus ja Mulberry. Linuxilla, muilla Unixeilla ja Mac OS X:llä useimmat sähköpostiohjelmat tukevat sitä. Jos et ole varma, valitse %S vaihtoehto.
first=ensimmäinen
second=toinen
# Strings used in am-enigprefs.js
encryptKeyHeader=Valitse salaukseen käytettävä OpenPGP-avain
identityName=Käyttäjätiedot: %S
# Strings used in enigmailSingleRcptSettings.js
noEncryption=Salaus on otettu käyttöön, mutta yhtäkään avainta ei ole valittu. Salataksesi osoitteeseen %S lähetettävät viestit, valitse avainlistasta yksi tai useampi voimassaoleva avaimesi. Poistetaanko salaus käytöstä osoitteelle %S?
noKeyToUse=(ei avainta - ei salausta)
noEmptyRule=Sääntö täytyy antaa. Kirjoita sääntökenttään sähköpostiosoite.
invalidAddress=Antamasi sähköpostiosoitteet ovat virheellisesti muotoiltuja. Anna ainoastaan vastaanottajien sähköpostiosoitteet, älä heidän nimiään. Esimerkki:\nVäärin: Joku Nimi \nOikein: joku.nimi@osoite.fi
noCurlyBrackets=Aaltosulkeilla {} on erikoismerkitys ja niitä ei tule käyttää sähköpostiosoitteissa. Jos haluat muuttaa säännön täsmäysperusteita, käytä "Sääntö pätee jos ylläoleva ..." -kenttää.\nLue lisätietoja ohjeesta.
# Strings used in enigmailRulesEditor.js
never=Ei koskaan
always=Aina
possible=Mahdollisesti
deleteRule=Poistetaanko valittu sääntö?
nextRcpt=(Seuraava vastaanottaja)
negateRule=Ei
# Strings used in enigmailSearchKey.js
needOnline=Valitsemasi toiminto ei ole käytettävissä ilman verkkoyhteyttä. Siirry verkkoyhteystilaan ja yritä uudelleen.
protocolNotSupported=OpenPGP-avaimia ei voi noutaa käyttäen antamaasi yhteyskäytäntöä "%S://".
gpgkeysDisabled=Asetuksen "extensions.enigmail.useGpgKeysTool" ottaminen käyttöön voisi olla avuksi.
noKeyserverConn=Yhteys avainpalvelimeen %S epäonnistui.
keyDownloadFailed=Avaimen nouto avainpalvelimelta epäonnistui. Virheilmoitus oli:\n%S
internalError=Tapahtui sisäinen virhe. Avainten nouto tai tuonti epäonnistui.
noKeyFound=Ikävä kyllä yhtään avainta annetulle sähköpostiosoitteelle ei löytynyt.
# gpgkeys_%S is one of the gpg command line tools gpgkeys_hkp, gpgkeys_ldap, etc.
gpgKeysFailed=Avainten haku tai nouto avainpalvelimelta epäonnistui: ohjelmaa gpgkeys_%S ei kyetty suorittamaan.
# Strings in enigmailEditKeyTrustDlg.xul
setKeyTrustFailed=Avaimen omistajan luottamustason asettaminen epäonnistui
# Strings in enigmailSignKeyDlg.js
signKeyFailed=Avaimen allekirjoittaminen epäonnistui
# Strings in enigmailKeyManager.js
keyMan.loadingKeys=Ladataan avaimia...
keyValid.unknown=tuntematon
keyValid.invalid=virheellinen
keyValid.disabled=ei käytössä
keyValid.revoked=mitätöity
keyValid.expired=vanhentunut
keyValid.noSubkey=ei kelvollista aliavainta
keyTrust.untrusted=ei luotettu
keyTrust.marginal=osittain luotettu
keyTrust.full=luotettu
keyTrust.ultimate=ehdottomasti luotettu
keyTrust.group=(ryhmä)
keyType.public=julk
keyType.publicAndSec=julk/sal
keyMan.enableKey=Ota avain käyttöön
keyMan.disableKey=Poista avain käytöstä
userAtt.photo=Käyttäjätieto (JPEG-kuva)
asciiArmorFile=ASCII-koodatut tiedostot (*.asc)
importKeyFile=Tuo OpenPGP avain tiedoston
gnupgFile=GnuPG-tiedostot
saveRevokeCertAs=Luo ja tallenna mitätöintivarmenne
revokeCertOK=Mitätöintivarmenne luotiin. Voit mitätöidä varmenteella julkisen avaimesi jos esimerkiksi hukkaat salaisen avaimesi.\n\nMitätöintivarmenne on parasta tallentaa erilliselle, turvallisessa paikassa säilytetylle CD:lle tai korpulle. Jos varmenne joutuu vääriin käsiin sillä voi tehdä avaimestasi käyttökelvottoman.
revokeCertFailed=Mitätöintivarmenteen luonti epäonnistui.
addUidOK=Käyttäjätunnuksen lisäys onnistui
addUidFailed=Käyttäjätunnuksen lisäys epäonnistui
noKeySelected=Vähintään yksi avain täytyy valita, jotta operaatio voidaan suorittaa
exportToFile=Valitse tiedostonimi vietäville avaimille
exportSecretKey=Tallennetaanko OpenPGP-tiedostoon myös salainen avaimesi?
saveKeysOK=Avainten tallennus onnistui
saveKeysFailed=Avainten tallennus epäonnistui
importKeysFailed=Avainten tuonti epäonnistui
enableKeyFailed=Avaimen käyttöön otto tai käytöstä poisto epäonnistui
specificPubKeyFilename=%S (0x%S) julk
specificPubSecKeyFilename=%S (0x%S) julk-sal
defaultPubKeyFilename=Viedyt-julkiset-avaimet
defaultPubSecKeyFilename=Viedyt-julkiset-ja-salaiset-avaimet
noSecretKeys=Salaisia avaimia ei löytynyt.\n\nLuodaanko avain nyt?
sendKeysOk=Avaimet lähetittiin onnistuneesti
sendKeysFailed=Avainten lähettäminen epäonnistui
receiveKeysOk=Avainten päivitys onnistui
receiveKeysFailed=Avainten nouto epäonnistui
importFromClip=Tuodaanko leikepöydällä olevat avaimet?
copyToClipbrdFailed=Avainten vienti leikepöydälle epäonnistui.
copyToClipbrdOK=Avaimet kopioitiin leikepöydälle
deleteSecretKey=VAROITUS: Olet poistamassa salaista avainta!\nAvaimelle salattuja viestejä ei voida enää purkaa jos avain poistetaan.\n\nPoistetaanko SEKÄ julkinen ETTÄ salainen avain\n"%S"?
deleteMix=VAROITUS: Olet poistamassa salaisia avaimia!\nAvaimelle salattuja viestejä ei voida enää purkaa jos avain poistetaan.\n\nPoistetaanko SEKÄ valitut julkiset ETTÄ salaiset avaimet?
deletePubKey=Poistetaanko julkinen avain tunnukselle\n%S?
deleteSelectedPubKey=Poistetaanko julkinen avain?
deleteKeyFailed=Avaimen poisto epäonnistui.
revokeKeyOk=Avain on mitätöity. Jos avain on saatavilla avainpalvelimelta, siirrä mitätöity avain palvelimelle, jotta muutkin näkevät mitätöinnin.
revokeKeyFailed=Avaimen mitätöinti epäonnistui.
refreshAllQuestion=Yhtään avainta ei valittu. Päivitetäänkö kaikki avaimet?
refreshKey.warn=Varoitus: riippuen avainten lukumäärästä ja verkkoyhteyden nopeudesta, kaikkien avainten päivittäminen voi kestää kauan!\n\nJatketaanko?
downloadContactsKeys.importFrom=Import contacts from address book '%S'?
keyMan.button.exportSecKey=&Export Secret Keys
keyMan.button.import=&Tuo
keyMan.button.refreshAll=&Päivitä kaikki avaimet
keyMan.button.revokeKey=&Peruuta avain
keyMan.button.skip=&Ohita avain
keylist.noOtherUids=Ei ole muuta identiteettiä
keylist.noPhotos=Ei valokuvaa saatavilla
keylist.hasPhotos=Valokuvat
keyMan.addphoto.filepicker.title=Valokuva
keyMan.addphoto.failed=Valokuvaa ei voitu lisätä
# Strings in enigmailManageUidDlg.xul
changePrimUidFailed=Ensisijaisen käyttäjätunnuksen vaihto epäonnistui
changePrimUidOK=Ensisijaisen käyttäjätunnuksen vaihto onnistui
deleteUidFailed=Käyttäjätunnuksen %S poisto epäonnistui
deleteUidOK=Käyttäjätunnuksen %S poisto onnistui
revokeUidFailed=Käyttäjätunnuksen %S mitätöinti epäonnistui
revokeUidOK=Käyttäjätunnuksen %S mitätöinti onnistui. Jos avain on saatavilla avainpalvelimelta, siirrä mitätöity avain palvelimelle, jotta muutkin näkevät mitätöinnin.
revokeUidQuestion=Mitätöidäänkö käyttäjätunnus %S?
deleteUidQuestion=Poistetaanko käyttäjätunnus %S?\n\nHuom.: Jos käyttäjätunnuksen julkinen avain on saatavilla avainpalvelimelta, käyttäjätunnuksen poisto ei muuta mitään. Saadaksesi aikaan pysyvän muutoksen käytä "Mitätöi käyttäjätunnus" -toimintoa.
# Strings in enigmailKeyDetailsDlg.xul
keyTypePublic=julkinen avain
keyTypeSubkey=aliavain
keyTypePair=avainpari
keyExpiryNever=ei koskaan
keyAlgorithm_1=RSA
keyAlgorithm_2=RSA
keyAlgorithm_3=RSA
keyAlgorithm_16=ELG
keyAlgorithm_17=DSA
keyAlgorithm_20=ELG
# Strings in enigmailGenCardKey.xul
keygen.started=Odota avaimen luonnin valmistumista....
keygen.completed=Avain luotu. Uuden avaimen tunnus on: 0x%S
keygen.keyBackup=Avaimesta luotiin varmuuskopio nimellä %S
keygen.passRequired=Kirjoita salasana jos haluat luoda varmuuskopion avaimesta toiselle medialle.
# Strings in enigmailSetCardPin.xul
cardPin.dontMatch=Annettu PIN-koodi ei ole oikea. Yritä uudestaan
cardPin.minLength=PIN-koodissa täytyy olla vähintään %S kirjainta tai numeroa
cardPin.processFailed=PIN-koodin vaihtaminen ei onnistunut
# Strings in enigRetrieveProgres.xul
keyserverProgress.refreshing=Päivitetään avaimia, ole hyvä ja odota...
keyserverProgress.uploading=Siirretään avaimia avainpalvelimella, ole hyvä ja odota...
keyserverTitle.refreshing=Päivitetään avaimia
keyserverTitle.uploading=Avainten siirto
# Strings in enigmailSetupWizard
passphrase.min8keys=Salasanan tulee olla ainakin 8-kirjainta pitkä.
setupWizard.reallyCancel=Peruutetaanko Enigmail:n ohjattu asennus?
# msgCompose.partiallyEncrypted.short=Beware of leaking sensitive information - partially encrypted email.
# msgCompose.partiallyEncrypted.long=The message you are editing was partially encrypted. That is, the message contains unencrypted and encrypted parts. Some encrypted message parts may even be invisible to you.\n\nIf the sender was not able to decrpyt the message parts originally, it is likely that you only got the email with some surrounding unencrypted text in order to make you reveal the encrypted information.
enigmail/lang/fi/help/ 0000775 0000000 0000000 00000000000 13213001347 0015104 5 ustar 00root root 0000000 0000000 enigmail/lang/fi/help/compose.html 0000664 0000000 0000000 00000007155 13213001347 0017447 0 ustar 00root root 0000000 0000000
Enigmailin ohje: Viestien kirjoittamisesta
Enigmailin ohje
Enigmailin käyttö kirjoitettaessa viestejä
Enigmailin valikko Posti tai viestin kirjoitusikkunassa
Allekirjoita viesti: Ota käyttöön tai poista käytöstä viestin allekirjoitus.
Käyttäjälle ilmoitetaan allekirjoituksen epäonnistumisesta.
Salaa viesti: Ota käyttöön tai poista käytöstä viestin salaus kaikille vastaanottajille.
Käyttäjälle ilmoitetaan salaamisen epäonnistumisesta.
Jos sinulla ei ole salatun viestin kaikkien vastaanottajien julkisia avaimia ja
asetuksissa on valittuna Näytä avainten valintaikkuna kun se on välttämätöntä,
avainlista avautuu.
Jos sinulla ei ole salatun viestin kaikkien vastaanottajien julkisia avaimia ja
asetuksissa on valittuna Älä koskaan näytä avainten valintaikkunaa, viesti lähetetään selkokielisenä.
Käytä PGP/MIME:ä tässä viestissä: Ota käyttöön tai poista käytöstä
PGP/MIME
tässä viestissä.
Jos tiedät, että viestin vastaanottajien sähköpostiohjelmat ymmärtävät
PGP/MIME-muotoa, sitä tulisi käyttää.
Tämä toiminto otetaan käyttöön valitsemalla PGP/MIME-asetuksista
Salli PGP/MIME:n käyttö tai Käytä aina PGP/MIME:ä.
Kumoa salaus: Jos viestin lähettämisessä tapahtuu jokin
virhe, kuten esimerkiksi POP-palvelinvirhe, Enigmail ei voi tietää sitä ja
salattu viesti jää salatuksi viestin kirjoitusikkunaan. Palauta viesti
selkokieliseksi valitsemalla Kumoa salaus. Kun Enigmail ei virheellisesti pura salausta lainatusta tekstistä kun
salattuun viestiin vastataan, tai salausta ei pureta automaattisesti jostain
muusta syystä, tätä toimintoa voi käyttää väliaikaisena korjauksena.
Yleensä salauksen purku toimii automaattisesti.
Lisää julkinen avain: Lisää julkisen avaimen
ASCII-koodattuna viestiin osoittimen sijainnista alkaen. Avaimeen sisällytettävät
sähköpostiosoitteet kysytään erikseen. Lisää viestiin vain yksi avainosio ja
valitse halutut julkiset avaimet. Jos vastaanottaja käyttää Enigmailia,
avainosio huomataan automaattisesti. Kun avaimet on lisätty, viesti voidaan
vielä salata ja allekirjoittaa.
Tyhjennä salasana muistista: Tyhjentää salasanan
muistista. Toiminto on hyödyllinen, jos sinulla on useita avaimia ja useita
salasanoja.
Sääntömuokkaimessa voit asettaa oletukset viestin allekirjoittamiselle,
salaamiselle, PGP/MIME-koodauksen käytölle, ja määrittää käytettävät
OpenPGP-avaimet vastaanottajakohtaisesti. Oletukset voidaan asettaa yhdelle
vastaanottajalle tai usealle vastaanottajalle, jolla on toisensa kaltaiset
sähköpostiosoitteet.
Aseta OpenPGP-säännöt osoitteille: Kentässä on täydelliset
sähköpostiosoitteet (tai osa osoitteista) joille alla olevat säännöt pätevät
suotimen tavoin. Jos osoitesuotimia on useita, ne erotetaan välilyönnillä.
Suotimet voivat olla esimerkiksi pelkkä verkkoalue @sposti.fi, johon
täsmäisivät kaikki @sposti.fi:n loppuvat osoitteet.
Sääntö pätee jos ylläoleva: Osoitesuotimen käyttäytymisen
voi valita. Jos yllä olevassa kentässä on useita osoitteita, käyttäytymisasetus
pätee kaikille osoitteille. Alla olevissa esimerkeissä osoitesuodinkenttään on
kirjoitettu nieminen@sposti.fi.
on täsmälleen vastaanottajan osoite: Tällä asetuksella sääntö
pätee viesteille, jotka lähetetään osoitteeseen nieminen@sposti.fi
(täsmäys on kirjainkoon huomioiva).
on osa vastaanottajan osoitetta: Tällä asetuksella sääntö
pätee viesteille, jotka lähetetään esim. osoitteisiin
matti.nieminen@sposti.fi, nieminen@sposti.fi.com jne.
ja vastaanottajan osoitteen alku täsmäävät: Tällä asetuksella
sääntö pätee viesteille, jotka lähetetään esim. osoitteeseen
nieminen@sposti.fi.com
ja vastaanottajan osoitteen loppu täsmäävät: Tällä asetuksella
sääntö pätee viesteille, jotka lähetetään esim. osoitteeseen
maija.nieminen@sposti.fi
Jatka seuraavaan sääntöön täsmäävälle osoitteelle
Jos asetus on valittu, Enigmail hakee osoitteeseen kuuluvaa OpenPGP-avainta
vasta viestiä lähetettäessä, ja muut säännöt voivat muuttaa täsmäävien viestien
lähetysasetuksia.
Älä tarkista enää sääntöjä täsmäävälle osoitteelle
Jos asetus on valittu, täsmääviin osoitteisiin ei sovelleta muita sääntöjä.
Täsmäävä osoite jätetään siis huomiotta muita sääntöjä käsiteltäessä.
Käytä seuraavia OpenPGP-avaimia:
Valitse käytettävät vastaanottajien avaimet napsauttamalla Valitse
avaimet-painiketta. Kuten yllä, jos asetus on valittu, muita sääntöjä
ei huomioida täsmääville sähköpostiosoitteille.
Allekirjoittaminen:
Allekirjoita tai älä allekirjoita viestejä tälle vastaanottajalle. Tämä asetus
joko noudattaa viestin kirjoitusikkunassa antamaasi käskyä tai muuttaa sen.
Mahdolliset arvot:
Ei koskaan: Älä ikinä allekirjoita viestiä
vastaanottajalle, huolimatta viestin kirjoitusikkunan asetuksista.
Vain jos valitaan erikseen viestiä kirjoitettaessa: Allekirjoita
viesti jos niin on viestin kirjoitusikkunassa asetettu
Aina: Allekirjoita viestit vastaanottajalle aina, huolimatta
viestin kirjoitusikkunan asetuksista
Jokainen sääntö pätee kaikille täsmääville
viesteille. Jos jokin säännöistä ottaa allekirjoituksen pois päältä, viestiä ei
allekirjoiteta huolimatta siitä, mitä muut säännöt määräisivät.
Salaa: Salaa tai älä
salaa viestiä. Asetusvalinnat ja niiden merkitykset ovat samat kuin viestin
allekirjoitukselle.
PGP/MIME: Ota käyttöön tai poista käytöstä PGP/MIME (RFC
3156) -koodaus. Jos PGP/MIME ei ole käytössä, viestit allekirjoitetaan ja
salataan käyttäen viestinsisäistä PGP:tä. Asetusvalinnat ja niiden merkitykset
ovat samat kuin viestin allekirjoitukselle.
Säännöt käsitellään niiden listausjärjestyksessä OpenPGP-sääntömuokkaimessa.
Jos säännössä on annettu vastaanottajan OpenPGP-avaintunnus ja osoite täsmää
vastaanottajan osoitteeseen, muita viestin kanssa täsmääviä sääntöjä ei enää
käsitellä.
enigmail/lang/fi/help/initError.html 0000664 0000000 0000000 00000004536 13213001347 0017757 0 ustar 00root root 0000000 0000000
Enigmail Help: How to Resolve Problems with Initializing OpenPGP
Enigmail Help
How to Resolve Problems with Initializing OpenPGP
There are several reasons why initializing OpenPGP does not succeed. The most common ones are described below;
for more information please visit the Enigmail Support page.
GnuPG could not be found
In order for OpenPGP to work, the tool GnuPG needs to be installed.
If GnuPG cannot be found, then first make sure that the executable gpg.exe (on Windows; gpg on other platforms) is installed on your computer.
If GnuPG is installed, and OpenPGP cannot find it, then you need to manually set the path to GnuPG in the OpenPGP Preferences (menu OpenPGP > Preferences)
Enigmime failed to initialize
OpenPGP works only if it is built using the same build environment as Thunderbird or SeaMonkey was built. This means that you can use the official Enigmail releases only if you use the official releases of Thunderbird or SeaMonkey provided by mozilla.org.
If you use a Thunderbird or SeaMonkey version coming from some other source (e.g. the provider of your Linux distribution), or if you built the application yourself, you should either use an Enigmail version built by the same source, or build Enigmail yourself. For building Enigmail, refer to the Source Code section on the Enigmail home page. Please don't file any bug report concerning this problem, it is not solvable.
Pura salaus -painike posti-ikkunassa
Pura-painikkeella voi purkaa salauksen, varmistaa allekirjoituksen tai tuoda
julkisia avaimia. Normaalisti salauksen purku tai allekirjoituksen varmistus
tapahtuu automaattisesti, mutta jos näin ei käy, Enigmailin tilariville ilmestyy
lyhyt virheilmoitus. Pura-painikkeesta saa tarkemman virheilmoituksen jossa
on mukana GnuPG-komennon virheilmoitus.
Allekirjoitus- ja salauskuvakkeet viestin otsaketiedoissa Allekirjoitus (kynä) ja salaus (avain) -kuvakkeet
ovat viestiotsakkeissa riippuen siitä, onko viesti allekirjoitettu hyvin (eli
viestiä ei ole muokattu siirrettäessä) tai salattu. Jos viestiä on jollain tapaa
muutettu siirrettäessä eli sen allekirjoitus on huono, tämä näkyy
allekirjoituskuvakkeessa (se on esimerkiksi rikkinäinen tai yliviivattu kynä).
Napsauttamalla kuvaketta hiiren oikealla painikkeella avautuu ponnahdusvalikko,
jossa on seuraavat kohdat:
Näytä OpenPGP-kuva: Näyttää kuvan, jonka viestin
lähettäjä on liittänyt julkiseen avaimeensa (vain jos kuva on olemassa).
S/MIME-turvallisuustiedot: Näyttää viestin
S/MIME-turvallisuustiedot.
Kun saat viestin, joka on allekirjoitettu sinulta puuttuvalla avaimella, ja
jos sinulla ei ole keyserver-options auto-key-retrieve asetusta
gpg.conf-tiedostossa (eli että kaikki tuntemattomat avaimet yritetään
hakea avainpalvelimelta), Enigmail näyttää viestiotsakkeissa
allekirjoituskuvakkeen, jossa on kysymysmerkki ja tekstirivin, jossa lukee
Osa viestistä allekirjoitettu. Napsauta allekirjoituskuvaketta saadaksesi
lisätietoja.
Sama allekirjoituskuvake voi näkyä vaikka
keyserver-options auto-key-retrieve olisikin asetettu, koska haettua
avainta ei ehkä löydy oletusavainpalvelimelta.
Napsauttamalla allekirjoituskuvaketta, jossa on kysymysmerkki, avautuu ikkuna,
joka ilmoittaa, että avainta ei löydy avainrenkaastasi. Sulkemalla tämän ikkunan
OK:ta napsauttamalla avautuu ikkuna, josta voit valita avainpalvelimen, jolta
julkista avainta tulisi hakea.
Voit muokata valittavissa olevia avainpalvelimia Enigmailin asetuksista:
Enigmail -> Asetukset -> Yleiset-välilehti, ja muokkaamalla
pilkulla erotettuja avainpalvelinten osoitteita
Avainpalvelimet:-kentässä. Oletusavainpalvelin on listassa ensimmäisenä.
Salattujen liitetiedostojen avaaminen ja liitettyjen OpenPGP-avainten tuonti
Enigmail käsittelee liitteet, joiden tiedostopääte on pgp, asc tai gpg.
Tällaisen liitteen ponnahdusvalikossa (napsauta hiiren oikealla painikkeella
liitettä) on kaksi erityistä valintaa: Pura ja avaa sekä Pura ja
tallenna. Näillä valinnoilla voit purkaa liitteen salauksen ennen kuin
avaat tai tallennat sen. Jos liite tunnistetaan OpenPGP-avaintiedostoksi,
sinulta kysytään haluatko tuoda avaimet.
Sääntömuokkaimessa voit muokata vastaanottajakohtaisia lähetysasetuksia.
Voit määrätä, missä PGP/MIME-muodossa viesti lähetetään, mitä avainta käytetään
ja allekirjoitetaanko tai salataanko se. Jokainen sääntö muodostuu viidestä
kentästä ja on kirjoitettu yhdelle riville:
Sähköpostiosoite:
Osoitteet, joiden vastaanottaja-, kopio- tai piilokopiokentässä on
ehdon täyttävä osoite. Ehto voi koskea myös vain osaa osoitteesta
(lisätietoja muokkaa sääntöjä -ikkunasta)
OpenPGP-avaimet: Lista vastaanottajalle käytettävistä
OpenPGP-avaimista
Allekirjoita: Allekirjoita tai älä allekirjoita viestejä
tälle vastaanottajalle. Tämä asetus joko noudattaa viestin kirjoitusikkunassa
antamaasi käskyä tai muuttaa sen. Mahdolliset arvot:
Ei koskaan: Älä ikinä allekirjoita viestiä vastaanottajalle,
huolimatta viestin kirjoitusikkunan asetuksista.
Mahdollisesti: Allekirjoita viesti jos niin on viestin
kirjoitusikkunassa asetettu
Aina: Allekirjoita viestit vastaanottajalle aina, huolimatta viestin
kirjoitusikkunan asetuksista
Jokainen sääntö pätee kaikille täsmääville
viesteille. Jos jokin säännöistä ottaa allekirjoituksen pois päältä, viestiä ei
allekirjoiteta huolimatta siitä, mitä muut säännöt määräisivät.
Salaa: Salaa tai älä salaa viestiä. Asetusvalinnat ja
niiden merkitykset ovat samat kuin viestin allekirjoitukselle.
PGP/MIME: Ota käyttöön tai poista käytöstä PGP/MIME (RFC
3156) -koodaus. Jos PGP/MIME ei ole käytössä, viestit allekirjoitetaan ja
salataan käyttäen viestinsisäistä PGP:tä. Asetusvalinnat ja niiden merkitykset
ovat samat kuin viestin allekirjoitukselle.
Säännöt käsitellään niiden listausjärjestyksessä. Jos säännössä on annettu
vastaanottajan OpenPGP-avaintunnus ja osoite täsmää vastaanottajan osoitteeseen,
muita viestin kanssa täsmääviä sääntöjä ei enää käsitellä.
Huom.: Sääntömuokkain ei ole vielä valmis. Monimutkaisempia sääntöjä
on mahdollista kirjoittaa muokkaamalla sääntötiedostoa käsin (näin muokattuihin
sääntöihin ei pitäisi enää koskea sääntömuokkaimella). Tarkempia ohjeita sääntötiedoston muokkaamisesta Enigmailin
kotisivulta.
In the Sending Preferences you can choose the general model and preferences for encryption.
Convenient Encryption
With these settings, emails are encrypted without confirmation whenever possible.
This setup is appropriate, if you just want to improve your privacy by sending emails encyrpted instead of unencrypted if that's possible.
The effect is like sending emails as letters instead of postcards. Unlike postcards, letters usually hide their contents while in transit.
Note however that as with letters you can't be sure that nobody is opening the letter while it is in transit (although, some technical effort is necessary for that).
A concrete risk is that you accidentally use "faked keys" you got from somewhere or somebody claiming that the key belongs to the person you want to send emails to. To avoid this risk, you can either use the trust model of PGP (see below) or you should always verify, whether the fingerprint of a public key is correct.
Manual Encryption
This option allows you to specify the different preferences for encryption according to your needs. You can specify
whether replies to encrypted/signed emails should automatically also be encrypted/signed-
whether to use the trust model of OpenPGP to accept keys (this means that to use a key you either have to sign the key or have enough other people you trust having signed the key).
whether you want to automatically send emails encrypted if all keys are accepted.
whether and when you want to finally confirm sending an email.
Utiliser Enigmail lors de la rédaction de messages
Menu Enigmail dans la fenêtre de composition
Signer le message : Activer/Désactiver l'envoi de messages signés. L'utilisateur est prévenu
si l'opération de signature échoue.
Chiffrer le message : Activer/Désactiver le chiffrement pour tous les destinataires avant l'envoi.
L'utilisateur est prévenu si l'opération de chiffrement échoue.
Si l'option Afficher une sélection si nécessaire est définie dans Préférences
-> onglet Sélection clef, une liste de clefs apparaitra s'il y a dans le message des adresses de destination
pour lesquelles vous n'avez pas de clef publique.
Si l'option Ne jamais afficher le dialogue de sélection de clef est définie dans Préférences
-> onglet Sélection clef et qu'il y a dans le message des adresses de destination
pour lesquelles vous n'avez pas de clef publique, le message sera envoyé non chiffré.
Utiliser PGP/MIME pour ce message : Activer/Désactiver l'utilisation de
PGP/MIME
pour ce message.
Si vous savez que le destinataire peut lire les messages utilisant le format PGP/MIME,
il est conseillé de l'utiliser.
Cette fonctionnalité est dépendante du réglage dans Préférences
-> onglet PGP/MIME qui doit être Utiliser PGP/MIME si possible ou Toujours utiliser
PGP/MIME.
Options de rédaction par défaut : Sous-menu.
Options de signature/chiffrement... : raccourci vers Paramètres des comptes ->
Sécurité OpenPGP ;
Options d'envoi... : raccourci vers l'onglet Préférences ->
Envoi ;
Options de sélection de clef... : raccourci vers l'onglet Préférences ->
Sélection clef ;
Options PGP/MIME... : raccourci vers l'onglet Préférences ->
PGP/MIME.
Annuler le chiffrement : S'il y a un problème lors de l'envoi effectif du message,
par exemple parceque le serveur POP n'accepte pas la requête, Enigmail n'en sera pas informé,
et le message sera toujours affiché chiffré dans la fenêtre de rédaction.
En choississant ce menu, le chiffrement et la signature seront annulés et le message restauré
dans sa forme texte originelle. Cette option peut être également utilisée en tant que solution temporaire pour déchiffrer les citations
lors de la réponse à des messages chiffrés. Enigmail devrait automatiquement déchiffrer les citations
mais si cela échoue pour une raison inconnue, il est possible d'utiliser ce menu pour forcer
le déchiffrement.
Insérer une clef publique: insérer un bloc armure-ASCII d'une clef publique
à la position courante du curseur dans la fenêtre de rédaction. L'adresse électronique de la clef
à insérer sera demandée. Les clefs insérées de cette manière seront automatiquement reconnues par
Enigmail du coté du destinataire. Après l'insertion de la clef, il est toujours possible de choisir
de signer/chiffrer le message si nécessaire. De plus, il ne faut pas insérer plus d'un bloc de clef dans un
message ; if faut juste spécifier plusieurs adresses, séparées par virgules ou des espaces, lors
de la demande.
Oublier la phrase secrète: Effacer de la mémoire la phrase secrète mémorisée. Utile si vous
avez plusieurs phrases secrètes.
Aide: Afficher les informations d'aide depuis le site Web (cette page).
Utiliser l'éditeur de règles d'Enigmail : modifier les règles OpenPGP
Avec l'éditeur de règles, il est possible de définir les paramètres par défaut
par destinataire concernant l'activation du chiffrement, de la signature, de PGP/MIME
et de choisir quelle(s) clef(s) utiliser. Dans cette boite de dialogue, vous pouvez
spécifier les règles pour un destinataire unique ou pour un groupe de destinataires
ayant des attributs très proches.
Définir les règles OpenPGP pour : contient les adresses
électroniques des destinataires (sans leur nom, c.à.d. juste une adresse comme
personne@adresse.domaine). Il est possible de spécifier plusieurs adresses séparées par des espaces.
L'adresse indiquée ici peut être réduite uniquement à la partie domaine de l'adresse
afin de faire correspondre toutes les adresses vers ce domaine, par exemple
@adresse.domaine correspondra à nafnaf@adresse.domaine,
nifnif@adresse.domaine, noufnouf@adresse.domaine, etc ;
Appliquer la règle si le destinataire... :
Ceci modifie la correspondance des adresses.
Si plusieurs adresses sont saisies, le réglages s'applique à toutes.
Les exemples ci-dessous sont basés sur le fait que naf@adresse.domaine
à été saisi dans le champ règles OpenPGP ci-dessus :
Est exactement : avec ce réglage, la règle s'appliquera uniquement
sur des messages à destination de naf@adresse.domaine (correspondance exacte, insensible à la casse),
Contient : avec ce réglage, n'importe quelle adresse contenant la chaîne correspond,
par exemple nafnaf@adresse.domaine ou aeronaf@adresse.domaine.net,
Débute par : avec ce réglage, n'importe quelle adresse commençant
par la chaîne correspond, par exemple naf@adresse.domaine.net,
naf@adresse.domaine-nom.com,
Se termine par : avec ce réglage, n'importe quelle adresse finissant
par la chaîne correspond, par exemple nafnaf@adresse.domaine,
nafnafnaf@adresse.domaine ;
Continuer avec la prochaine règle pour l'adresse correspondante
Activer cette fonctionnalité vous permettra de définir une règle sans avoir à spécifier
un ID de clef dans le champ Utiliser les clefs OpenPGP suivantes :
, de ce fait l'adresse électronique est utilisée pour trouver une clef au moment de
l'envoi. De plus, les règles suivantes pour la (les) même(s) adresse(s) seront traitées également.
Ne pas vérifier les prochaines règles pour l'adresse correspondante
Activer cette fonctionnalité interrompra le traitement des autres règles pour l'adresse correspondante
si la règle en cours correspond ; c.à.d. que le traitement des règles continu avec le destinataire
suivant.
Utiliser les clefs OpenPGP suivantes :
Utilisez le bouton Sélectionner les clefs... pour sélectionner la clef du
destinataire à utiliser pour le chiffrement. Comme dans l'option ci-dessus, plus aucune règle
pour l'adresse correpondante n'est traitée.
Par défaut pour signature : activer ou désactiver
la signature des messages. Ceci utilise ou outrepasse les réglages effectués
dans la fenêtre de rédaction. Les valeurs possibles sont :
Jamais: désactiver la signature, même si elle est activée dans la fenêtre de
rédaction du messages (prévaut sur les autres valeurs),
Oui, si sélectionné lors de la composition du message: laisser le réglage
de signature tel qu'il est spécifié dans la fenêtre de rédaction,
Toujours: activer la signature, même si elle n'est pas activée dans la fenêtre de
rédaction,
Ces paramètres de signature sont appliqués pour
toutes les règles qui correspondent. Si l'une des règles désactive la signature, le message
ne sera pas signé, même si d'autres règles spécifiaient Toujours ;
Chiffrement : activer ou
désactiver le chiffrement des messages. Les valeurs autorisées ainsi que leur signification
sont les mêmes que pour la signature des messages ;
PGP/MIME : activer ou
désactiver l'utilisation du codage de message PGP/MIME (RFC 3156).
Si PGP/MIME est désactivé, les
messages sont codés en utilisant le format « PGP en ligne ». Les valeurs autorisées
ainsi que leur signification sont les mêmes que pour la signature des messages.
Les règles sont appliquées dans l'ordre d'affichage de la liste de
l'éditeur de règles OpenPGP. Dès lors qu'une règle
correspond à un destinataire et contient un identifiant de clef OpenPGP, non seulement l'identifiant
de clef spécifié est utilisé, mais le destinataire n'est plus pris en compte dans le traitement
des règles suivantes.
enigmail/lang/fr/help/initError.html 0000664 0000000 0000000 00000004536 13213001347 0017770 0 ustar 00root root 0000000 0000000
Enigmail Help: How to Resolve Problems with Initializing OpenPGP
Enigmail Help
How to Resolve Problems with Initializing OpenPGP
There are several reasons why initializing OpenPGP does not succeed. The most common ones are described below;
for more information please visit the Enigmail Support page.
GnuPG could not be found
In order for OpenPGP to work, the tool GnuPG needs to be installed.
If GnuPG cannot be found, then first make sure that the executable gpg.exe (on Windows; gpg on other platforms) is installed on your computer.
If GnuPG is installed, and OpenPGP cannot find it, then you need to manually set the path to GnuPG in the OpenPGP Preferences (menu OpenPGP > Preferences)
Enigmime failed to initialize
OpenPGP works only if it is built using the same build environment as Thunderbird or SeaMonkey was built. This means that you can use the official Enigmail releases only if you use the official releases of Thunderbird or SeaMonkey provided by mozilla.org.
If you use a Thunderbird or SeaMonkey version coming from some other source (e.g. the provider of your Linux distribution), or if you built the application yourself, you should either use an Enigmail version built by the same source, or build Enigmail yourself. For building Enigmail, refer to the Source Code section on the Enigmail home page. Please don't file any bug report concerning this problem, it is not solvable.
Bouton Déchiffrer dans la fenêtre principale
Ce bouton peut être utilisé pour plusieurs actions : déchiffrer, vérifier ou importer
des clefs publiques. En temps normal, bien que cela soit optionnellement désactivable,
le déchiffrement et la vérification seront effectués automatiquement. Toutefois, en cas d'échec,
un court message apparaitra dans la barre d'état d'Enigmail. Un clic
sur le bouton Déchiffrer permettra d'obtenir un message d'erreur plus détaillé, contenant
les messages de sortie de la commande GnuPG.
Icônes stylo et clef dans l'affichage de l'en-tête du message
Les icônes Stylo et Clef dans l'affichage de l'en-tête du message indique
si le message affiché a été signé et/ou chiffré et si la signature est correcte,
c.à.d. que le message n'a pas été modifié depuis qu'il a été signé. Si le message
a été modifié, l'icône Stylo se changera en un Stylo brisé afin
d'indiquer que la signature est incorrecte. Un clic droit sur l'icône de stylo ou celle de clef
fera apparaitre un menu contenant les options suivantes :
Infos de sécurité OpenPGP : permet d'obtenir l'état de sortie de
GnuPG pour le message ;
Copier les infos de sécurité OpenPGP : copie l'état de sortie de GnuPG dans
le presse papier afin de le coller dans un message de réponse par exemple ;
Voir l'ID photo OpenGPG : permet de voir l'ID photo de l'expéditeur
du message, uniquement s'il y a une photo intégrée dans sa clef publique
(cette option ne sera active que si un ID photo existe dans la clef) ;
Infos de sécurité S/MIME : permet de visualiser les informations de sécurité S/MIME
du message.
Si vous n'avez pas l'option keyserver-options auto-key-retrieve définie dans votre
fichier gpg.conf et que vous lisez un message signé ou chiffré,
vous verrez une icône de Stylo comportant un point d'interrogation
dans la zone d'affichage des en-têtes, la ligne d'état Enigmail affichera Partie du message signée
; cliquez sur l'icône « stylo » pour plus de détails. De plus le message dans le
panneau de message affichera tous les blocs de message OpenPGP et le bloc de signature.
Il est également possible d'observer ce comportement même si vous l'option keyserver-options auto-key-retrieve
est bien définie dans votre fichier gpg.conf mais que la clef OpenPGP n'est pas disponible sur le serveur
de clefs par défaut.
En cliquant sur l'icône Stylo et point d'interrogation apparaitra une fenêtre
vous avertissant que la clef n'est pas disponible dans votre trousseau de clefs. Fermer la fenêtre par OK
ouvrira une autre fenêtre contenant une liste de serveurs de clefs que vous pouvez sélectionner afin de
télécharger la clef publique de l'expéditeur.
Pour configurer la liste des serveurs de clefs que vous désirez utiliser, allez dans Enigmail ->
Préférences -> onglet Général et saisissez les adresses des serveurs de clefs dans la zone
Serveur(s) de clefs : séparées par des virgules. Le premier serveur de la liste
sera utilisé comme serveur par défaut.
Ouverture de pièces jointes chiffrées / importation de clefs OpenPGP attachées
Les pièces jointes nommées *.pgp, *.asc et *.gpg sont reconnues par Enigmail comme pouvant être
traitées spécialement. Cliquer droit sur une de ces pièces jointes
active deux entrées de menu spéciales dans le menu contextuel : Déchiffrer et ouvrir
et Déchiffrer et enregistrer sous. Utilisez ces deux menus si vous désirez qu'Enigmail
déchiffre une pièce jointe avant de l'ouvrir ou de l'enregistrer. Si une pièce jointe est
reconnue comme un fichier de clef OpenPGP, il vous est proposé d'importer les clefs qu'il contient dans
votre trousseau de clefs.
Dans l'éditeur de règles, vous pouvez spécifier les paramètres par défaut par destinataire,
concernant l'activation du chiffrement, de la signature, de PGP/MIME et de choisir
quelle(s) clef(s) utiliser. Chaque règle consiste en 5 champs et est représentée sur une seule ligne :
Adresse : l'adresse électronique
des champs Pour, Cc et Bcc pour la correspondance. Cette correspondance est faite sur des sous-chaînes (plus de détails se trouvent dans la
boite de dialogue d'édition des règles) ;
Clef(s) à utiliser : une liste d'identifiants
de clefs OpenPGP à utiliser pour le destinataire ;
Signature : activer ou désactiver
la signature des messages. Ceci utilise ou outrepasse les réglages effectués
dans la fenêtre de rédaction. Les valeurs possibles sont :
Jamais : désactiver la signature, même si elle est activée dans la fenêtre de
rédaction du messages (prévaut sur les autres valeurs),
Oui, si sélectionné lors de la composition du message : laisser le réglage
de signature tel qu'il est spécifié dans la fenêtre de rédaction,
Toujours : activer la signature, même si elle n'est pas activée dans la fenêtre de
rédaction,
Ces paramètres de signature sont appliqués pour
toutes les règles qui correspondent. Si l'une des règles désactive la signature, le message
ne sera pas signé, même si d'autres règles spécifiaient Toujours ;
Chiffrement: activer ou
désactiver le chiffrement des messages. Les valeurs autorisées ainsi que leur signification
sont les mêmes que pour la signature des messages ;
PGP/MIME: activer ou
désactiver l'utilisation du codage de message PGP/MIME (RFC 3156).
Si PGP/MIME est désactivé, les
messages sont codés en utilisant le format « PGP en ligne ». Les valeurs autorisées
ainsi que leur signification sont les mêmes que pour la signature des messages.
Les règles sont appliquées dans l'ordre d'affichage de la liste. Dès lors qu'une règle
correspond à un destinataire et contient un identifiant de clef OpenPGP, non seulement l'identifiant
de clef spécifié est utilisé, mais le destinataire n'est plus pris en compte dans le traitement
des règles suivantes.
Note : l'éditeur de règles n'est pas encore terminé. Il est possible d'écrire des
règles plus avancées en modifiant directement le fichier de règles
(ces règles ne devront alors plus être modifiées dans l'éditeur de règles). Des informations
complémentaires pour modifier directement le fichier sont disponibles
sur le site Web d'Enigmail
In the Sending Preferences you can choose the general model and preferences for encryption.
Convenient Encryption
With these settings, emails are encrypted without confirmation whenever possible.
This setup is appropriate, if you just want to improve your privacy by sending emails encyrpted instead of unencrypted if that's possible.
The effect is like sending emails as letters instead of postcards. Unlike postcards, letters usually hide their contents while in transit.
Note however that as with letters you can't be sure that nobody is opening the letter while it is in transit (although, some technical effort is necessary for that).
A concrete risk is that you accidentally use "faked keys" you got from somewhere or somebody claiming that the key belongs to the person you want to send emails to. To avoid this risk, you can either use the trust model of PGP (see below) or you should always verify, whether the fingerprint of a public key is correct.
Manual Encryption
This option allows you to specify the different preferences for encryption according to your needs. You can specify
whether replies to encrypted/signed emails should automatically also be encrypted/signed-
whether to use the trust model of OpenPGP to accept keys (this means that to use a key you either have to sign the key or have enough other people you trust having signed the key).
whether you want to automatically send emails encrypted if all keys are accepted.
whether and when you want to finally confirm sending an email.
If it is important for you that content you send encrypted can't be read by other people or organizations, you should use the manual preferences at least choose the option to accept keys only if you or other people signed them. While this model reduces the risk of using faked keys, it requires that you actively sign keys and declare owner trust using the key managament dialog.
enigmail/lang/gd/ 0000775 0000000 0000000 00000000000 13213001347 0014150 5 ustar 00root root 0000000 0000000 enigmail/lang/gd/am-enigprefs.properties 0000664 0000000 0000000 00000000110 13213001347 0020633 0 ustar 00root root 0000000 0000000 # used in the AccountManager
prefPanel-enigprefs=Tèarainteachd OpenPGP
enigmail/lang/gd/enigmail.dtd 0000664 0000000 0000000 00000152363 13213001347 0016444 0 ustar 00root root 0000000 0000000
à s-phortaich an dà ta agad on t-seann choimpiutair agad le draoidh à s-phortadh nan roghainnean Enigmailion-phortaich an dà ta dhan choimpiutair ùr agad leis an draoidh seo.
">
à s-phortaich an dà ta agad on t-seann choimpiutair agad leis an draoidh seoion-phortaich an dà ta dhan choimpiutair ùr agad le draoidh an rèiteachaidh.
">
enigmail/lang/gd/enigmail.properties 0000664 0000000 0000000 00000135354 13213001347 0020066 0 ustar 00root root 0000000 0000000 Enigmail=Enigmail
enigAlert=Caismeachd Enigmail
enigConfirm=Dearbhadh Enigmail
enigError=Mearachd Enigmail
enigPrompt=Ceist Enigmail
dlgYes=&Tha
dlgNo=&Chan eil
dlgKeepSetting=Cuir an fhreagairt agam an cuimhne is na faighnich a-rithist
dlgNoPrompt=Na seall an còmhradh seo a-rithist
dlg.button.delete=&Sguab à s
dlg.button.cancel=&Sguir dheth
dlg.button.close=&Dùin
dlg.button.continue=Lean air adhar&t
dlg.button.skip=Gearr &leum
dlg.button.overwrite=&Sgrìobh thairis air
dlg.button.view=&Seall
dlg.button.retry=Feuch ris a-&rithist
dlg.button.ignore=Le&ig seachad
repeatPrefix=\n\nNochdaidh a’ chaismeachd seo a-rithist %S
repeatSuffixSingular=turas eile.
repeatSuffixPlural=tursan/turas eile.
noRepeat=\n\nChan nochd a’ chaismeachd seo a-rithist gus an à rdaich thu Enigmail.
pgpNotSupported=Tha coltas gu bheil thu a’ chleachdadh Enigmail còmhla ri PGP 6.x\n\nGu mì-fhortanach, cha duilgheadasan aig PGP 6.x a dh’adhbharaicheas nach obraich Enigmail mar bu chòir. Mar sin, cha chuir Enigmail taic ri PGP 6.x tuilleadh; cleachd GnuPG (GPG) ’na à ite.\n\nMa tha thu feumach air taic gus atharrachadh gu GnuPG, thoir sùil air earrann na cobharach air an duilleag-dhachaigh aig Enigmail.
initErr.howToFixIt=Tha thu feumach air GnuPG mus urrainn dhut Enigmail a chleachdadh. Mur an do stà laich thu GnuPG fhathast, ’s e an dòigh as fhasa gun cleachd thu putan “Draoidh an rèiteachaidh†gu h-ìosal.
initErr.setupWizard.button=Draoidh an &rèiteachaidh
passphraseCleared=Tha an abairt-fhaire air fhalamhachadh.
cannotClearPassphrase=Tha thu a’ cleachdadh inneal neo-à bhaisteach (mar gnome-keyring) gus abairtean-faire a là imhseachadh. Chan eil Enigmail fhèin comasach air an abairt-fhaire fhalamhachadh air an adhbhar seo.
noPhotoAvailable=Chan eil dealbh ri là imh
debugLog.title=Loga dì-bhugachaidh Enigmail
error.photoPathNotReadable=Cha ghabh slighe an deilbh “%S†leughadh
# Strings in configure.jsm
enigmailCommon.versionSignificantlyChanged=Thà inig atharrachadh mòr air mar a thèid roghainnean a là imhseachadh leis an tionndadh ùr seo de dh’Enigmail. Dh’fheuch sinn ris na seann roghainnean a thar-aiseag dhan tionndadh ùr seo. Co-dhiù, chan urrainn dhut dèiligeadh ris a h-uile roghainn gu fèin-obrachail. Thoir sùil air na roghainnean ùra a fhuair thu mar thoradh.
enigmailCommon.checkPreferences=Dearbhaich na roghainnean...
preferences.defaultToPgpMime=Dh’atharraich sinn còdachadh tùsail nan teachdaireachdan ann an Enigmail o Inline-PGP gu PGP/MIME. Mholamaid gun cum thu seo mar a’ bhun-roghainn.\n\nNam gu toigh leat Inline-PGP a chleachdadh a ghnà th fhathast, ’s urrainn dhut seo a dhèanamh ann an “Roghainnean nan Cunntasan†fo “Tèarainteachd OpenPGPâ€.
usingVersion=A’ ruith Enigmail tionndadh %S
usingAgent=A’ chleachdadh faidhle so-ghnìomhaichte %1$S %2$S airson crioptachadh is dì-chrioptachadh
agentError=MEARACHD: Cha deach leinn seirbheis Enigmail inntrigeadh!
accessError=Mearachd le inntrigeadh seirbheis Enigmail
onlyGPG=Chan obraich gintinn iuchraichean ach le GnuPG (chan obraich e le PGP)!
keygenComplete=Tha na h-iuchraichean air an gintinn! Thèid an dearbh-aithne <%S> a chleachdadh airson soidhneadh.
revokeCertRecommended=Mholamaid gun cruthaich thu teisteanas cùl-ghairm dhen iuchair agad. ’S urrainn dhut an teisteanas a chleachdadh gus an iuchair agad a dhèanamh mì-dhligheach, m.e. ma thèid an iuchair phrìobhaideach agad air a call no briseadh a-steach oirre. A bheil thu airson teisteanas cùl-ghairm a chruthachadh an-drà sta?
keyMan.button.generateCert=&Gin teisteanas
genCompleteNoSign=Tha gintinn nan iuchraichean coileanta!
genGoing=Tha iuchraichean ’gan gintinn mar-thà !
passNoMatch=Chan eil an dà abairt-fhaire co-ionnann; cuir a-steach a-rithist iad
passCheckBox=Cuir cromag sa bhogsa mur eil thu ag iarraidh abairt-fhaire airson na h-iuchrach
passUserName=Sònraich ainm cleachdaiche airson na dearbh-aithne seo
keygen.missingUserName=Cha deach ainm a shònrachadh airson a’ chunntais/na h-aithne a thagh thu. Cuir a-steach luach san raon “D’ ainm†ann an roghainnean a’ chunntais.
keygen.passCharProblem=Chleachd thu caractaran sònraichte san abairt-fhaire agad. Gu mì-fhortanach, dh’fhaoidte gun adhbharaich seo trioblaid airson aplacaidean eile. Mholamaid gun tagh thu abairt-fhaire anns nach eil ach na caractaran seo:\na-z A-Z 0-9 /.;:-,!?(){}[]%*
passSpaceProblem=Air adhbharan teicnigeach, chan fhaod an abairt-fhaire agad tòiseachadh no crìochnachadh le beà rn.
changePassFailed=Dh’fhà illig le atharrachadh na h-abairt-fhaire.
keyConfirm=A bheil thu airson iuchraichean poblach is prìobhaideach a ghintinn airson “%S�
keyMan.button.generateKey=&Gin iuchair
keyAbort=A bheil thu airson sgur de ghintinn nan iuchair?
keyMan.button.generateKeyAbort=&Sguir de ghintinn nan iuchair
keyMan.button.generateKeyContinue=&Lean air adhart le gintinn nan iuchair
expiryTooLong=Chan urrainn dhut iuchair a chruthachadh a dh’fhalbhas an ùine air an ceann corr is 100 bliadhna.
expiryTooLongShorter=Chan urrainn dhut iuchair a chruthachadh a dh’fhalbhas an ùine air an ceann corr is 90 bliadhna.
expiryTooShort=Feumaidh an iuchair agad a bhith dligheach fad latha air a char as lugha.
dsaSizeLimit=Tha iuchraichean soidhnidh DSA cuingichte le 3072 biodan. Thèid meud na h-iuchrach a lùghdachadh gus seo a choileanadh.
keyGenFailed=Dh’fhà illig le gintinn nan iuchraichean. Thoir sùil air consoil Enigmail (clà r-taice Enigmail > Dì-bhugachadh Enigmail) airson barrachd fiosrachaidh.
setKeyExpirationDateFailed=Cha b’ urrainn dhuinn a’ chrìoch ùine atharrachadh
# Strings in enigmailMessengerOverlay.js
securityInfo=Fiosrachadh tèarainteachd Enigmail\n\n
enigHeader=Enigmail:
enigContentNote=Enigmail: *Cha deach na ceanglachain aig an teachdaireachd seo a shoidhneadh no a chrioptachadh*\n\n
possiblyPgpMime=Teachdaireachd air a crioptachadh no soidhneadh le PGP/MIME ’s dòcha; briog air a’ phutan “Dì-chrioptaich†airson dearbhadh
noDecrypted=Chan eil teachdaireachd dhì-chrioptaichte ri sà bhaladh ann!\nCleachd an à ithne “Sabhail†on chlà r-taice “Faidhleâ€
noMessage=Chan eil teachdaireachd ri sà bhaladh ann!
useButton=Briog air a’ phutan “Dì-chrioptaich†gus an teachdaireachd a dhì-chrioptachadh
saveHeader=Enigmail: Sà bhail teachdaireachd air a dì-chrioptachadh
saveAttachmentHeader=Enigmail: Sà bhail ceanglachan air a dhì-chrioptachadh
noTempDir=Cha deach leinn pasgan sealach a lorg gus sgrìobhadh ann\nFeuch an suidhich thu caochladair na h-à rainneachd TEMP
attachmentPgpKey=’S e faidhle iuchrach OpenPGP a tha sa cheanglachan “%S†a tha thu a’ fosgladh a-rèir coltais.\n\nBriog air “Ion-phortaich†gus na h-iuchraichean ’na bhroinn ion-phortachadh no air “Seall†gus susbaint an fhaidhle a shealltainn ann an uinneag brabhsair
beginPgpPart=***** *TOISEACH NA PÀIRT CHRIOPTAICHTE no AIR A SOIDHNEADH* *****
endPgpPart=***** *DEIREADH NA PÀIRT CHRIOPTAICHTE no AIR A SOIDHNEADH* *****
notePartEncrypted=Enigmail: *CHA deach a h-uile pà irt dhen teachdaireachd a shoidhneadh no a chrioptachadh*
noteCutMessage=Enigmail: *Chaidh iomadh bloca teachdaireachd a lorg -- chaidh sgur dhen dì-chrioptachadh/dearbhadh*
decryptOkNoSig=Rabhadh\n\nShoirbhich leis an dì-chrioptachadh ach cha b’ urrainn dhuinn an soidhneadh a dhearbhadh mar bu chòir
msgOvl.button.contAnyway=Lean air adhart &co-dhiù
signature.verifiedOK=Chaidh an soidhneadh airson a’ cheanglachain %S a dhearbhadh gu soirbheachail
signature.verifyFailed=Cha deach leinn an soidhneadh airson a’ cheanglachain %S a dhearbhadh
attachment.noMatchToSignature=Cha deach leinn an ceanglachan “%S†a mhaidseadh ri faidhle soidhnidh
attachment.noMatchFromSignature=Cha deach leinn am faidhle soidhnidh “%S†a mhaidseadh ri ceanglachan
fixBrokenExchangeMsg.failed=Cha deach leinn an teachdaireachd a chà radh
keysToExport=Tagh iuchraichean OpenPGP gus an chur ris
keysToUse=Tagh iuchair/iuchraichean OpenPGP gus an cleachdadh airson %S
pubKey=An iuchair phoblach airson %S\n
windowLocked=Tha an uinneag sgrìobhaidh glaiste; chaidh sgur dhen chur
sendUnencrypted=Dh’fhà illig le tòiseachadh Enigmail.\nA bheil thu airson an teachdaireachd a chur gun chrioptachadh?
composeSpecifyEmail=Sònraich am prìomh sheòladh puist-d agad a chleachdas sinn gus iuchair an t-soidhnidh a thaghadh airson teachdaireachdan a-mach.\nMa dh’fhà gas tu bà n e, thèid an seòladh O aig an teachdaireachd a chleachdadh gus iuchair an t-soidhnidh a thaghadh.
sendingHiddenRcpt=Tha faightearan BCC (lethbhreac dall) aig an teachdaireachd seo. Ma thèid an teachdaireachd seo a chrioptachadh, gabhaidh na faightearan BCC fhalach ach chan urrainn do chuid a bhathar-bhog (can PGP Corp.) a chleachdas faightear ma dh’fhaoidte an teachdaireachd a dhì-chrioptachadh. Air sà illeibh seo, mholamaid gun seachnaich thu puist-d BCC le crioptachadh.
sendWithHiddenBcc=Falaich na faightearan BCC
sendWithShownBcc=Crioptaich gu h-Ã bhaisteach
sendingNews=Chaidh sgur dhen chur crioptaichte.\n\nChan urrainn dhuinn an teachdaireachd seo a chrioptachadh on a tha faightearan buidhinn-naidheachd innte. Feuch an cuir thu an teachdaireachd a-rithist gun chrioptachadh.
sendToNewsWarning=Rabhadh: tha thu gu bhith cur post-d crioptaichte gu buidheann-naidheachd.\n\nCha mholamaid seo air sgà th ’s nach eil e gu ciall sam bith ach mas urrainn dhan a h-uile ball dhen bhuidheann-naidheachd an teachdaireachd a dhì-chrioptachadh, ’s e seo gum feum thu an teachdaireachd a chrioptachadh le iuchraichean gach buill. Na cuir an teachdaireachd seo ach ma tha thu là n eòlach air na tha thu a’ dèanamh.\n\nA bheil thu airson leantainn air adhart?
hasHTML=Rabhadh post HTML:\nTha HTML am broinn na teachdaireachd seo ma dh’fhaoidte agus b’ urrainn seo adhbharachadh nach dèid leis an t-soidhneadh/a’ chrioptachadh. Gus seo a sheachnadh san à m ri teachd, cum an iuchair SHIFT sìos fhad ’s a bhriogas tu air a’ phutan Sgrìobh/Freagair gus post air a shoidhneadh a chur.\nMa nì thu soidhneadh a’ phuist a ghnà th, bu chòir dhut a’ chromag a thoirt far bogsa na roghainn “Sgrìobh teachdaireachdan ann an cruth HTML†gus post HTML a chur à comas gu buan airson a’ chunntais puist seo.
strippingHTML=Tha fiosrachadh fòrmatadh HTML am broinn na teachdaireachd seo a thèid air chall nuair a thèid iompachadh gu teacsa lom airson an t-soidhnidh/a’ chrioptachaidh. A bheil thu airson leantainn air adhart?
msgCompose.button.sendAnyway=&Cuir an teachdaireachd co-dhiù
attachWarning=Chan eil na ceanglachain aig an teachdaireachd seo ionadail, mar sin cha ghabh an crioptachadh. Gus na ceanglachain a chrioptachadh, glèidh iad ’nam faidhlichean ionadail an toiseach agus cuir na faidhlichean ris an uairsin. A bheil thu airson an teachdaireachd a chur co-dhiù?
quotedPrintableWarn=Chuir thu còdachadh “quoted-printable†an comas airson cur nan teachdaireachdan. Faodaidh seo dì-chrioptachadh/dearbhadh cearr adhbharachadh airson na teachdaireachd agad.\nA bheil thu airson cur theachdaireachdan “quoted-printable†a chur à comas a-nis?
minimalLineWrapping=Shuidhich thu pasgadh nan loidhnichean air %S caractar. Airson crioptachadh/soidhneadh mar bu chòir, feumaidh an luach seo a bhith 68 no nas motha.\nA bheil thu airson pasgadh nan loidhnichean atharrachadh gu 68 caractar a-nis?
warning=Rabhadh
signIconClicked=Dh’atharraich thu an soidhneadh a là imh. Mar sin, fad ’s a tha thu a’ sgrìobhadh an teachdaireachd seo, chan eil cur an/à comas an t-soidhnidh an eisimeil air cur an/à comas a’ chrioptachaidh.
pgpMime_sMime.dlg.text=Chuir thu an dà chuid PGP/MIME agus S/MIME an comas. Gu mì-fhortanach, cha ghabh taic a chur ris an dà phròtacal aig an aon à m. Tagh a bheil thu airson PGP/MIME no S/MIME a chleachdadh.
pgpMime_sMime.dlg.pgpMime.button=Cleachd &PGP/MIME
pgpMime_sMime.dlg.sMime.button=Cleachd &S/MIME
errorKeyUnusable=Cha ghabh an seòladh puist-d no ID na h-iuchrach “%S†a mhaidseadh ri iuchair OpenPGP dhligheach ’s nach do dh’fhalbh an ùine oirre.\nDèan cinnteach gu bheil iuchair OpenPGP dhligheach agad agus gun tomh roghainnean a’ chunntais agad ris an iuchair sin.
errorOwnKeyUnusable=Cha lìbhrig ID na h-iuchrach “%S†a chaidh a rèiteachadh airson na h-aithne là ithrich iuchair OpenPGP a ghabhas cleachdadh.\n\nDèan cinnteach gu bheil iuchair OpenPGP dhligheach agad nach do dh’fhalbh an ùine oirre agus gun tomh roghainnean a’ chunntais agad ris an iuchair sin.\nMur an do dh’fhalbh an ùine air an iuchair agad, dearbhaich gun do shuidhich thu earbsa an t-seilbheadair air “earbsach†no “cho earbsach ’s a ghabhasâ€.
msgCompose.cannotSaveDraft=Mearachd le sà bhaladh an dreachd
msgCompose.internalEncryptionError=Mearachd taobh a-staigh: Chaidh an crioptachadh geallta a chur à comas
msgCompose.internalError=Thachair mearachd taobh a-staigh.
msgCompose.toolbarTxt.signAndEncrypt=Thèid an teachdaireachd seo a shoidhneadh agus a chrioptachadh
msgCompose.toolbarTxt.signOnly=Thèid an teachdaireachd seo a shoidhneadh
msgCompose.toolbarTxt.encryptOnly=Thèid an teachdaireachd seo a chrioptachadh
msgCompose.toolbarTxt.noEncryption=Cha dèid an teachdaireachd seo a shoidhneadh no a chrioptachadh
msgCompose.toolbarTxt.disabled=Chaidh Enigmail a chur à comas airson na dearbh-aithne a thagh thu
msgCompose.toolbarTxt.smime=Tha S/MIME an comas - còmhstri le Enigmail ’s dòcha
msgCompose.toolbarTxt.smimeOff=- chan eil S/MIME ’ga chleachdadh ri linn seo
msgCompose.toolbarTxt.smimeSignOrEncrypt=Tha S/MIME an comas - chan eil Enigmail ’ga chleachdadh ri linn seo
msgCompose.toolbarTxt.smimeNoDraftEncryption=- cha dèid dreachdan a chrioptachadh
msgCompose.toolbarTxt.smimeConflict=Chan eil Enigmail ’ga chleachdadh air sgà th ’s gu bheil S/MIME an comas an-drà sta. Cuir soidhneadh agus/no crioptachadh S/MIME dheth agus an uairsin cuir an comas crioptachadh Enigmail
msgCompose.encryptedSubjectStub=Teachdaireachd le crioptachadh
msgCompose.detailsButton.label=Mion-fhiosrachadh ...
msgCompose.detailsButton.accessKey=f
# note: should end with double newline:
sendAborted=Chaidh sgur dhen chur.\n\n
# details:
keyNotTrusted=Chan eil earbsa gu leòr san iuchair “%Sâ€
keyNotFound=Cha deach an iuchair “%S†a lorg
keyRevoked=Chaidh an iuchair “%S†a chùl-ghairm
keyExpired=Dh’fhalbh an ùine air an iuchair “%Sâ€
statPGPMIME=PGP/MIME
statSigned=AIR A SHOIDHNEADH
statEncrypted=CRIOPTAICHTE
statPlain=GUN SOIDHNEADH no CRIOPTACHADH
offlineSave=A bheil thu airson an teachdaireachd %1$S a shà bhaladh gu %2$S ann am pasgan nan teachdaireachdan nach deach a chur?
onlineSend=A bheil thu airson an teachdaireachd %1$S a chur gu %2$S?
encryptKeysNote=An aire: Tha an teachdaireachd ’ga crioptachadh le IDan/iuchraichean a’ chleachdaiche seo: %S
hiddenKey=
signFailed=Mearachd le Enigmail; dh’fhà illig leis a’ chrioptachadh/ an t-soidhnidh; an cuir sinn an teachdaireachd gun chrioptachadh?
msgCompose.button.sendUnencrypted=&Cuir an teachdaireachd gun chrioptachadh
recipientsSelectionHdr=Tagh na faightearan airson a’ chrioptachaidh
configureNow=Cha do rèitich thu tèarainteachd Enigmail airson na dearbh-aithne a thagh thu fhathast. A bheil thu airson seo a dhèanamh a-nis?
# encryption/signing status and associated reasons:
encryptMessageAuto=Crioptaich an teachdaireachd (fèin-obrachail)
encryptMessageNorm=Crioptaich an teachdaireachd
signMessageAuto=Soidhnich an teachdaireachd (fèin-obrachail)
signMessageNorm=Soidhnich an teachdaireachd
encryptOff=Crioptachadh: DHETH
encryptOnWithReason=Crioptachadh: AIR (%S)
encryptOffWithReason=Crioptachadh: DHETH (%S)
encryptOn=Crioptachadh: AIR
signOn=Soidhneadh: AIR
signOff=Soidhneadh: DHETH
signOnWithReason=Soidhneadh: AIR (%S)
signOffWithReason=Soidhneadh: DHETH (%S)
reasonEnabledByDefault=an comas a ghnà th
reasonManuallyForced=air a sparradh a là imh
reasonByRecipientRules=air a sparradh le riaghailtean an fhaighteir
reasonByAutoEncryption=air a sparradh leis a’ chrioptachadh fhèin-obrachail
reasonByConflict=ri linn còmhstri ann an riaghailtean an fhaighteir
reasonByEncryptionMode=ri linn modh a’ chrioptachaidh
reasonSmimeConflict=air sgà th ’s gu bheil S/MIME an comas ’na à ite
# should not be used anymore:
encryptYes=Thèid an teachdaireachd a chrioptachadh
encryptNo=Cha dèid an teachdaireachd a chrioptachadh
# should not be used anymore:
signYes=Thèid an teachdaireachd a shoidhneadh
signNo=Cha dèid an teachdaireachd a shoidhneadh
# PGP/MIME status:
pgpmimeNormal=Pròtacal: PGP/MIME
inlinePGPNormal=Pròtacal: PGP ion-loidhne
pgpmimeAuto=Pròtacal: PGP/MIME (fèin-obrachail)
inlinePGPAuto=Pròtacal: PGP ion-loidhne (fèin-obrachail)
# should not be used anymore
pgpmimeYes=Thèid PGP/MIME a chleachdadh
pgpmimeNo=Thèid PGP ion-loidhne a chleachdadh
# Attach own key status (tooltip strings):
attachOwnKeyNo=Cha dèid an iuchair agad fhèin a chur ris
attachOwnKeyYes=Thèid an iuchair agad fhèin a chur ris
attachOwnKeyDisabled=Chan urrainn dhuinn an iuchair agad fhèin a chur ris. Feumaidh tu iuchair shònraichte a thaghadh\nann an earrann OpenPGP aig “Roghainnean nan cunntasan†gus an gleus seo a chur an comas.
rulesConflict=Mhothaich sinn do chòmhstri ann an riaghailtean a-rèir faighteir\n%S\n\nA bheil thu airson an teachdaireachd a chur leis na roghainnean seo?
msgCompose.button.configure=&Rèitich
msgCompose.button.send=&Cuir an teachdaireachd
msgCompose.button.save=&SÃ bhail an teachdaireachd
# Strings in enigmailMsgHdrViewOverlay.js
keyNeeded=Tha feum air an iuchair phoblach %S gus an soidhneadh a dhearbhadh
keyUsed=An iuchair phoblach %S a chaidh a chleachdadh gus an soidhneadh a dhearbhadh
clickDecrypt=; briog air a’ phutan “Dì-chrioptaichâ€
clickDecryptRetry=; briog air a’ phutan “Dì-chrioptaich†gus feuchainn ris a-rithist
clickDetailsButton=; briog air a’ phutan “Mion-fhiosrachadh†airson barrachd fiosrachaidh
clickImportButton=; briog air a’ phutan “Ion-phortaich iuchair†gus an iuchair a luchdadh a-nuas
keyTypeUnsupported=; cha chuir an tionndadh agad de GhnuPG taic ris an seòrsa iuchrach seo
msgPart=PÃ irt dhen teachdaireachd %S
msgSigned=air a soidhneadh
msgSignedUnkownKey=air a shoidhneadh le iuchair nach aithne dhuinn
msgEncrypted=air a crioptachadh
msgSignedAndEnc=air a soidhneadh is crioptachadh
unverifiedSig=Soidhneadh gun dearbhadh
incompleteDecrypt=Chan eil an dì-chrioptachadh coileanta
needKey=Mearachd - cha deach iuchair phrìobhaideachd a fhreagras a lorg gus an teachdaireachd a dhì-chrioptachadh
failedDecrypt=Mearachd - dh’fhà illig leis an dì-chrioptachadh
badPhrase=Mearachd - droch abairt-fhaire
failedDecryptVerify=Mearachd - dh’fhà illig leis an dì-chrioptachadh/soidhneadh
viewInfo=; Sealladh > Tèarainteachd na teachdaireachd airson barrachd fiosrachaidh
decryptedMsg=Teachdaireachd air a dì-chrioptachadh
decryptedMsgWithFormatError=Teachdaireachd air a dì-chrioptachadh (chaidh fòrmat puist-d PGP briste aiseag a dh’adhbharaich seann fhrithealaiche Exchange ma dh’fhaoidte, mar sin chan eil sinn an dùil gum bi an toradh foirfe ri leughadh)
usedAlgorithms=Algairimean ’gan cleachdadh: %S agus %S
# strings in pref-enigmail.js
oldGpgVersion14=Dh’fhà illig le tòiseachadh Enigmail.\n\nTha thu a’ cleachdadh tionndadh %S dhe GnuPG ’s cha chuir sinn taic ris tuilleadh. Tha Enigmail feumach air GnuPG tionndadh 2.0.7 no nas ùire. Àrdaich an stà ladh dhe GnuPG agad air neo chan obraich Enigmail.
locateGpg=Lorg prògram GnuPG
invalidGpgPath=Cha ghabh GnuPG a ruith leis an t-slighe a chaidh a shònrachadh. Chaidh Enigmail a chur à comas gus an atharraich thu an t-slighe gu GnuPG a-rithist no gus an tòisich thu an aplacaid às ùr.
warningsAreReset=Chaidh gach rabhadh ath-shuidheachadh.
prefs.gpgFound=Chaidh GnuPG a lorg an-seo: %S
prefs.gpgNotFound=Cha deach GnuPG a lorg
prefs.warnAskNever=Rabhadh: ma chuireas tu an roghainn seo an comas, bidh teachdaireachdan gun chrioptachadh agad gun fhiosrachadh a bharrachd sam bith mur eil iuchair airson aon dhe na faightearan ann -- chan innis Enigmail dhut nuair a thachras seo!
prefs.warnIdleTimeForUnknownAgent=Chan urrainn dhuinn ceangal ri gpg-agent. ’S dòcha gun cleachd an siostam agad inneal sònraichte gus abairtean-faire a là imhseachadh (m.e. gnome-keyring, seahorse-agent, KDE wallet manager, ...). Gu mì-fhortanach, chan eil smachd aig Enigmail air nuair a dh’fhalbhas an ùine air abairt-fhaire airson an inneal a tha thu a’ chleachdadh. Mar sin, thèid roghainnean falbh na h-ùine aig Enigmail a leigeil seachad.
prefEnigmail.oneKeyserverOnly=Mearachd - chan urrainn dhut barrachd air aon fhrithealaiche iuchraichean a shònrachadh airson luchdadh a-nuas fèin-obrachail nan iuchraichean OpenPGP a tha a dhìth.
enterAdminPin=Cuir a-steach PIN an RIANAIRE airson a’ SmartCard agad
enterCardPin=Cuir a-steach PIN a’ SmartCard agad a-rithist
notInit=Mearachd - chan eil seirbheis Enigmail air a tòiseachadh fhathast
badCommand=Mearachd - dh’fhà illig le à ithne dì-chrioptachaidh
cmdLine=loidhne-à ithne is à s-chur:
notRequired=Mearachd - chan eil crioptachadh riatanach
notComplete=Mearachd - cha deach gintinn na h-iuchrach a choileanadh fhathast
invalidEmail=Mearachd - seòladh no seòlaidhean puist-d mì-dhligheach
noPassphrase=Mearachd - cha deach abairt-fhaire a sholar
noPGPblock=Mearachd - cha deach bloca dà ta OpenPGP armaichte dligheach a lorg
unverifiedReply=Eagachadh ann am pà irt dhen teachdaireachd (freagairt), tha sinn an dùil gun deach atharrachadh
keyInMessageBody=Lorg sinn iuchaidh ann am bodhaig na teachdaireachd. Briog air “Ion-phortaich iuchair†gus an iuchair ion-phortadh
sigMismatch=Mearachd - soidhneadh neo-ionnann
cantImport=Mearachd le ion-phortadh na h-iuchrach poblaich\n\n
doImportOne=A bheil thu airson %1$S (%2$S) ion-phortadh?
doImportMultiple=A bheil thu airson na h-iuchraichean seo ion-phortadh?\n\n%S
previewFailed=Chan urrainn dhuinn faidhle nan iuchraichean poblach a leughadh.
# Strings used in errorHandling.jsm
sc.wrongCardAvailable=Cha ghabh an SmartCard %1$S a lorg sinn san inneal-leughaidh agad cleachdadh gus an teachdaireachd seo a phròiseasadh.\nCuir a-steach an SmartCard %S agad is feuch ris a-rithist.
sc.insertCard=Tha an t-obrachadh feumach air a’ SmartCard %S agad.\nCuir a-steach an SmartCard a tha a dhìth is feuch ris a-rithist.
sc.removeCard=Tha an t-obrachadh ag iarraidh nach eil SmartCard san inneal-leughaidh agad.\nThoir air falbh an SmartCard agad is feuch ris a-rithist.
sc.noCardAvailable=Cha deach SmartCard a lorg san inneal-leughaidh agad.\nCuir a-steach an SmartCard a tha a dhìth is feuch ris a-rithist.
sc.noReaderAvailable=Cha b’ urrainn dhuinn an t-inneal-leughaidh SmartCard agad inntrigeadh\nCeangail an t-inneal-leughaidh SmartCard agad, cuir a-steach a’ chairt agad agus feuch ris a-rithist.
keyError.keySpecNotFound=Cha do lorg sinn iuchair air an dul-iuchrach agad a fhreagras ris an t-seòladh puist-d “%Sâ€.
keyError.keyIdNotFound=Cha do lorg sinn ID na h-iuchrach “%S†air an dul-iuchrach agad.
keyError.resolutionAction=Tagh iuchair dhligheach ann an earrann OpenPGP dhe “Roghainnean nan cunntasan†agad.
missingPassphrase=Tha abairt-fhaire a dhìth
errorHandling.gpgAgentInvalid=Tha an siostam agad a’ ruith tionndadh dhe gpg-agent nach eil iomchaidh airson an tionndaidh agad dhe GnuPG.
errorHandling.gpgAgentError=Dh’aithris GnuPG mearachd sa chonaltradh le gpg-agent (seo co-phà irt dhe GnuPG).
errorHandling.dirmngrError=Dh’aithris GnuPG mearachd sa chonaltradh le dirmngr (seo co-phà irt dhe GnuPG).
errorHandling.pinentryError=Chan urrainn dha GnuPG an abairt-fhaire agad iarraidh le pinentry.
errorHandling.readFaq=Seo mearachd le suidheachadh no rèiteachadh an t-siostaim nach leig le Enigmail obair mar bu chòir ’s a ghabh a cà radh gu fèin-obrachail.\n\nMholamaid gun doir thu sùil air an là rach-lìn taice againn air https://enigmail.net/faq.
gpgNotFound=Cha deach am prògram GnuPG “%S†a lorg.\nDèan cinnteach gun do shònraich thu slighe an fhaidhle sho-ghnìomhaichte GnuPG mar bu chòir ann an roghainnean Enigmail.
gpgNotInPath=Cha deach prògram GnuPG a lorg am broinn PATH.\nDèan cinnteach gun do shònraich thu slighe an fhaidhle sho-ghnìomhaichte GnuPG mar bu chòir ann an roghainnean Enigmail.
enigmailNotAvailable=Chan eil bun-seirbheis Enigmail ri fhaighinn
gpgAgentNotStarted=Cha b’ urrainn dhuinn am prògram gpg-agent a thòiseachadh air a bheil feum airson GnuPG tionndadh %S.
prefUntrusted=GUN EARBSA
prefRevoked=IUCHAIR AIR A CÙL-GHAIRM
prefExpiredKey=IUCHAIR A DH’FHALBH AN ÙINE OIRRE
prefExpired=DH’FHALBH AN ÙINE AIR
prefGood=Deagh shoidhneadh o %S
prefBad=DROCH shoidhneadh o %S
failCancel=Mearachd - chaidh sgur de dh’fhaighinn na h-iuchrach leis a’ chleachdaiche
failNoServer=Mearachd - Cha deach frithealaiche iuchraichean a shònrachadh gus iuchair fhaighinn uaithe
failNoID=Mearachd - Cha deach ID na h-iuchrach a shònrachadh gus iuchair fhaighinn air a shon
failKeyExtract=Mearachd - Dh’fhà illig le à ithne à s-tharraing na h-iuchrach
notFirstBlock=Mearachd - Chan eil a’ chiad bhloca OpenPGP ’na bhloca iuchrach poblaich
importKeyConfirm=A bheil thu airson an iuchair/na h-iuchraichean a tha leabaichte san teachdaireachd ion-phortadh?
failKeyImport=Mearachd - Dh’fhà illig le ion-phortachadh iuchrach
fileWriteFailed=Cha deach leinn sgrìobhadh san fhaidhle %S
importKey=Ion-phortaich an iuchair phoblach %S on fhrithealaiche iuchraichean:
uploadKey=Cuir an iuchair phoblach %S dhan fhrithealaiche iuchraichean:
keyId=ID na h-iuchrach
keyAndSigDate=ID na h-iuchrach: 0x%1$S / Air a soidhneadh: %2$S
keyFpr=Lorg-mheòir na h-iuchrach: %S
noEmailProvided=Tha dug thu seòladh puist-d seachad!
keyAlreadySigned=Chaidh an iuchair a shoidhneadh mar-thà , chan urrainn dhut a soidhneadh dà thuras.
gnupg.invalidKey.desc=Cha deach an iuchair %S a lorg air neo chan eil i dligheach. Dh’fhaoidte gun do dh’fhalbh an ùine air an (fho-)iuchair.
selKeyExpired=dh’fhalbh an ùine air %S
createdHeader=Air a chruthachadh
atLeastOneKey=Cha deach iuchair a thaghadh! Feumaidh tu iuchair no dhà a thaghadh airson gabhail ris a’ chòmhradh seo
fewerKeysThanRecipients=Thagh thu uiread nas lugha de dh’iuchraichean na tha faightearan ris. A bheil thu cinnteach gu bheil liosta nan iuchraichean crioptachaidh coileanta?
userSel.button.goBack=Tagh barrachd iuchraichean
userSel.secretKeySel.title=Tagh iuchair OpenPGP prìobhaideach gus na teachdaireachdan agad a shoidhneadh
userSel.problemNoKey=Gun iuchair dhligheach
userSel.problemMultipleKeys=Iomadh iuchair
# should be same as thunderbird ENTITY sendLaterCmd.label:
sendLaterCmd.label=Cuir uaireigin eile
# Strings used in enigmailAttachmentDialog.js
pgpMimeNote=AN AIRE: Cha chuir ach corra cliant puist-d taic ri PGP/MIME! Air Windows, chan eil sinn eòlach ach air Mozilla/Thunderbird, Sylpheed, Pegasus agus Mulberry a chuireas taic ris an stannard seo; air Linux/UNIX agus Mac OS X, cuiridh a’ mhòrchuid a chliantan puist mòr-chòrdte taic ris. Ma tha thu mì-chinnteach, tagh %S roghainn.
first=a’ chiad
second=an dà rna
# Strings used in am-enigprefs.js
encryptKeyHeader=Tagh iuchair OpenPGP airson a’ chrioptachaidh
identityName=Dearbh-aithne: %S
# Strings used in enigmailSingleRcptSettings.js
noEncryption=Ghnìomhaich thu an crioptachadh ach cha do thagh thu iuchair. Feumaidh tu iuchair dhligheach no dhà a shònrachadh o liosta nan iuchraichean gus puist-d a chuireas tu gu %1$S a chrioptachadh. A bheil thu airson an crioptachadh a chur à comas airson %2$S?
noKeyToUse=(gun iuchair - gun chrioptachadh)
noEmptyRule=Chan fhaod an riaghailt a bhith falamh! Suidhich seòladh puist-d ann an raon na riaghailt.
invalidAddress=Chan eil an seòladh/na seòlaidhean puist-d a chuir thu a-steach dligheach. Cha bu chòir dhut ainmean nam faightearan a shònrachadh, na sònraich ach na seòlaidhean puist-d. M.e.:\nMì-dhligheach: Ainm \nDligheach: ainm@seòladh.net
noCurlyBrackets=Tha ciall sònraichte air na camagan dualach {} agus cha bu chòir dhut an cleachdadh ann an seòladh puist-d. Ma tha thu airson giùlan na riaghailt seo a fhreagras atharrachadh, cleachd an roghainn “Cuir an riaghailt an sà s ma ... an fhaightearâ€.\nGheibh thu barrachd fiosrachadh le putan na cobharach.
# Strings used in enigmailRulesEditor.js
never=Chan ann idir
always=An-còmhnaidh
possible=Comasach
deleteRule=A bheil thu airson an riaghailt a thagh thu a sguabadh à s?
nextRcpt=(An ath-fhaightear)
negateRule=Gun a bhith
addKeyToRule=Cuir an iuchair %1$S (%2$S) ris an riaghailt a-rèir faighteir
# Strings used in enigmailSearchKey.js
needOnline=Chan eil an gleus a thagh thu ri fhaighinn sa mhodh far loidhne. Rach air loidhne is feuch ris a-rithist.
protocolNotSupported=Cha chuir sinn taic ris a’ phròtacal “%S://†a thagh thu gus iuchraichean OpenPGP a luchdadh a-nuas.
gpgkeysDisabled=’S dòcha gum b’ fheairrde thu an roghainn “extensions.enigmail.useGpgKeysTool†a chur an comas.
noKeyserverConn=Cha b’ urrainn dhuinn ceangal ri frithealaiche iuchraichean air %S.
keyDownloadFailed=Cha deach leinn an iuchair a luchdadh a-nuas on fhrithealaiche iuchraichean. Seo teachdaireachd na staide:\n%S
internalError=Thachair mearachd taobh a-staigh. Cha b’ urrainn dhuinn na h-iuchraichean a luchdadh a-nuas no an ion-phortadh.
noKeyFound=Tha sinn duilich ach cha deach leinn iuchair a lorg a fhreagras ris na faclan-luirg.\nThoir an aire nach bu chòir dhut “0x†a chur an toiseach ID iuchrach (m.e. 0xABCDEF12).
# gpgkeys_%S is one of the gpg command line tools gpgkeys_hkp, gpgkeys_ldap, etc.
gpgKeysFailed=Cha deach leinn an iuchair a lorg no a luchdadh a-nuas on fhrithealaiche iuchraichean: cha b’ urrainn dhuinn gpgkeys_%S a ghnìomhachadh.
# Strings in enigmailEditKeyTrustDlg.xul
setKeyTrustFailed=Dh’fhà illig le suidheachadh earbsa an t-seilbheadair
# Strings in enigmailSignKeyDlg.js
signKeyFailed=Dh’fhà illig le soidhneadh na h-iuchrach
alreadySigned.label=An aire: chaidh an iuchair %S a shoidhneadh leis an iuchair phrìobhaideach a thagh thu mar-thà .
alreadySignedexportable.label=An aire: chaidh an iuchair %S a shoidhneadh mar thè a ghabhas à s-phortadh leis an iuchair phrìobhaideach a thagh thu. Chan eil soidhneadh ionadail gu ciall sam bith.
partlySigned.label=An aire: chaidh cuid dhe na IDan cleachdaiche aig an iuchair %S a shoidhneadh leis an iuchair phrìobhaideach a thagh thu mar-thà .
noTrustedOwnKeys=Cha deach iuchair iomchaidh a lorg gus a shoidhneadh! Feumaidh iuchair phrìobhaideach e là n-earbsa innte a bhith agad mus urrainn dhut iuchraichean a shoidhneadh.
# Strings in enigmailKeyManager.js
keyMan.loadingKeys=A’ luchdadh nan iuchraichean, fuirich ort...
keyValid.unknown=chan eil fios
keyValid.invalid=mì-dhligheach
keyValid.disabled=Ã comas
keyValid.revoked=air chùl-ghairm
keyValid.expired=dh’fhalbh an ùine air
keyValid.noSubkey=chan eil fo-iuchair dligheach ann
keyTrust.untrusted=gun earbsa ann
keyTrust.marginal=cugallach
keyTrust.full=earbsach
keyTrust.ultimate=cho earbsach ’s a ghabhas
keyTrust.group=(buidheann)
keyType.public=poblach
keyType.publicAndSec=poblach/prìobhaideach
keyMan.enableKey=Cuir an iuchair an comas
keyMan.disableKey=Cuir an iuchair à comas
userAtt.photo=Buadh a’ chleachdaiche (dealbh JPEG)
asciiArmorFile=Faidhlichean ASCII armaichte (*.asc)
importKeyFile=Ion-phortaich faidhle iuchrach OpenPGP
gnupgFile=Faidhlichean GnuPG
saveRevokeCertAs=Cruthach ⊠sà bhail teisteanas cùl-ghairm
revokeCertOK=Chaidh an teisteanas cùl-ghairm a chruthachadh gu soirbheachail. ’S urrainn dhut a chleachdadh gus an iuchair phoblach agad a dhèanamh mì-dhligheach,m. e. ma chaill thu an iuchair phrìobhaideach agad.\n\nCuir e air meadhan a ghabhas glèidheadh gu sà bhailte a leithid CD no USB stick. Ma gheibh cuideigin inntrigeadh dhan teisteanas seo, ’s urrainn dha a chleachdadh gus an iuchair agad a chur a-mach à feum.
revokeCertFailed=Cha b’ urrainn dhuinn an teisteanas cùl-ghairm a chruthachadh.
addUidOK=Chaidh ID a’ chleachdaiche a chur ris gu soirbheachail
addUidFailed=Cha deach leinn ID a’ chleachdaiche a chur ris
noKeySelected=Bu chòir dhut iuchair no dhà a thaghadh gus na thagh thu a dhèanamh
exportToFile=Às-phortaich an iuchair phoblach gu faidhle
exportKeypairToFile=Às-phortaich an iuchair phrìobhaideach is phoblach gu faidhle
exportSecretKey=A bheil thu airson an iuchair phrìobhaideach a ghabhail a-steach san fhaidhle iuchrach OpenPGP air a shà bhaladh?
saveKeysOK=Chaidh na h-iuchraichean a shà bhaladh gu soirbheachail
saveKeysFailed=Cha deach leinn na h-iuchraichean a shà bhaladh
importKeysFailed=Cha deach leinn na h-iuchraichean ion-phortadh
enableKeyFailed=Dh’fhà illig le cur an/à comas nan iuchraichean
specificPubKeyFilename=%1$S (0x%2$S) pobl
specificPubSecKeyFilename=%1$S (0x%2$S) pobl-priobh
defaultPubKeyFilename=Iuchraichean-poblach-air-as-phortadh
defaultPubSecKeyFilename=Iuchraichean-poblach-is-priobhaideach-air-as-phortadh
noSecretKeys=Cha deach iuchair phrìobhaideach a lorg.\n\nA bheil thu airson an iuchair agad fhèin a ghintinn a-nis?
sendKeysOk=Chaidh an iuchair/na h-iuchraichean a chur gu soirbheachail
sendKeysFailed=Dh’fhà illig le cur nan iuchraichean
receiveKeysOk=Chaidh an iuchair/na h-iuchraichean ùrachadh gu soirbheachail
receiveKeysFailed=Dh’fhà illig le luchdadh a-nuas nan iuchraichean
importFromClip=A bheil thu airson iuchair no dhà ion-phortadh on stòr-bhòrd?
importFromUrl=Luchdaich a-nuas iuchair phoblach on URL seo:
copyToClipbrdFailed=Cha b’ urrainn dhuinn lethbhreac dhen iuchair/dhe na h-iuchraichean a chur dhan stòr-bhòrd.
copyToClipbrdOK=Chaidh lethbhreac dhen iuchair/dhe na h-iuchraichean a chur dhan stòr-bhòrd.
deleteSecretKey=RABHADH: Tha thu gu bhith iuchair phrìobhaideach a sguabadh à s!\nMa sguabas tu à s an iuchair phrìobhaideach agad, chan urrainn dhut teachdaireachd sam bith a chaidh a chrioptachadh air a son a dhì-chrioptachadh agus chan urrainn dhut an iuchair agad a chùl-ghairm tuilleadh.\n\nA bheil thu cinnteach gu bheil thu airson AN DÀ CHUID an iuchair phrìobhaideach is an iuchair phoblach\n“%Sâ€\na sguabadh à s?
deleteMix=RABHADH: Tha thu gu bhith iuchraichean prìobhaideach a sguabadh à s!\nMa sguabas tu às iuchair phrìobhaideach agad, chan urrainn dhut teachdaireachd sam bith a chaidh a chrioptachadh air a son a dhì-chrioptachadh agus chan urrainn dhut an iuchair agad ais-ghairm tuilleadh.\n\nA bheil thu cinnteach gu bheil thu airson AN DÀ CHUID na h-iuchraichean prìobhaideach is na h-iuchraichean poblach a sguabadh à s?
deletePubKey=A bheil thu airson an iuchair phoblach\n“%Sâ€\na sguabadh à s?
deleteSelectedPubKey=A bheil thu airson na h-iuchraichean poblach a sguabadh à s?
deleteKeyFailed=Cha b’ urrainn dhuinn an iuchair a sguabadh à s.
revokeKeyQuestion=Tha thu gu bhith an iuchair “%S†a chùl-ghairm.\n\nChan urrainn dhut soidhneadh leis an iuchair seo agus nuair a bhios i air a sgaoileadh, chan urrainn do chà ch soidhneadh leatha tuilleadh. ’S urrainn dhut an iuchair a chleachdadh fhathast gus seann theachdaireachdan a dhì-chrioptachadh.\n\nA bheil thu airson leantainn air adhart?
revokeKeyOk=Chaidh an iuchair agad a chùl-ghairm. Ma tha an iuchair agad ri fhaighinn air frithealaiche iuchraichean, mholamaid gun luchdaidh thu suas a-rithist i ach am faic cà ch gun deach a cùl-ghairm.
revokeKeyFailed=Cha b’ urrainn dhuinn an iuchair a chùl-ghairm.
refreshAllQuestion=Cha do thagh thu iuchair. Am bu toil leat a h-UILE iuchair ath-nuadhachadh?
refreshKey.warn=Rabhadh: a’ crochadh air uiread nan iuchraichean is luaths a’ cheangail, dh’fhaoidte gun toir e fada fada gus a h-uile iuchair ath-nuadhachadh!
downloadContactsKeys.warn=Rabhadh: a’ crochadh air uiread an luchd-aithne is luaths a’ cheangail, dh’fhaoidte gun toir e fada fada gus a h-uile iuchair ath-nuadhachadh!
downloadContactsKeys.importFrom=A bheil thu airson an luchd-aithne o leabhar nan seòladh “%S†ion-phortadh?
keyMan.button.exportSecKey=À&s-phortaich na h-iuchraichean prìobhaideach
keyMan.button.exportPubKey=Na à s-phortaich ach na h-iuchraichean &poblach
keyMan.button.import=&Ion-phortaich
keyMan.button.refreshAll=Ath-nuadhaich a h-uile iuchai&r
keyMan.button.revokeKey=Cùl-ghai&rm an iuchair
keyMan.button.skip=&Gearr leum thar na h-iuchrach
keylist.noOtherUids=Chan eil dearbh-aithne eile aig an neach seo
keylist.hasOtherUids=Tha seo air cuideachd:
keylist.noPhotos=Chan eil dealbh ri là imh
keylist.hasPhotos=Dealbhan
keyMan.addphoto.filepicker.title=Tagh dealbh gus a chur ris
keyMan.addphoto.warnLargeFile=Tha am faidhle a thagh thu nas motha na 25 kB.\nCha mholamaid gun cuir thu faidhle glè mhòr ris on a gheibh thu iuchair glè mhòr an uairsin.
keyMan.addphoto.noJpegFile=Tha coltas nach eil am faidhle a thagh thu ’na fhaidhle JPEG. Feuch an tagh thu faidhle eile.
keyMan.addphoto.failed=Cha b’ urrainn dhuinn an dealbh a chur ris.
# Strings in enigmailManageUidDlg.xul
changePrimUidFailed=Dh’fhà illig le atharrachadh prìomh ID a’ chleachdaiche
changePrimUidOK=Chaidh prìomh ID a’ chleachdaiche atharrachadh gu soirbheachail
deleteUidFailed=Dh’fhà illig le sguabadh às ID a’ chleachdaiche %S
deleteUidOK=Chaidh ID a’ chleachdaiche %S a sguabadh às gu soirbheachail
revokeUidFailed=Dh’fhà illig le cùl-ghairm ID a’ chleachdaiche %S
revokeUidOK=Chaidh ID a’ chleachdaiche %S a chùl-ghairm gu soirbheachail. Ma tha an iuchair agad ri fhaighinn air frithealaiche iuchraichean, mholamaid gun luchdaich thu suas a-rithist i ach am faic cà ch gun deach a cùl-ghairm.
revokeUidQuestion=A bheil thu cinnteach gu bheil thu airson ID a’ chleachdaiche %S a chùl-ghairm?
deleteUidQuestion=A bheil thu cinnteach gu bheil thu airson ID a’ chleachdaiche %S a sguabadh à s?\n\nThoir an aire: ma chuir thu an iuchair phoblach agad a-null gu frithealaiche iuchraichean, cha dèan sguabadh às ID a’ chleachdaiche diofar sam bith. Ma rinn thu seo, bu chòir dhut “Cùl-ghairm ID a’ chleachdaiche†a chleachdadh.
# Strings in enigmailKeyImportInfo.xul
importInfoTitle=SOIRBHEAS! Chaidh na h-iuchraichean ion-phortadh
importInfoSuccess=✅
importInfoBits=Biodan
importInfoCreated=Air a chruthachadh
importInfoFpr=Lorg-mheòir
importInfoDetails=(Mion-fhiosrachadh)
importInfoNoKeys=Cha deach iuchair ion-phortadh.
# Strings in enigmailKeyDetailsDlg.xul
keyTypePublic=iuchair phoblach
keyTypePrimary=prìomh iuchair
keyTypeSubkey=fo-iuchair
keyTypePair=cà raid iuchrach
keyExpiryNever=gun chrìoch
keyAlgorithm_1=RSA
keyAlgorithm_2=RSA
keyAlgorithm_3=RSA
keyAlgorithm_16=ELG
keyAlgorithm_17=DSA
keyAlgorithm_18=ECC
keyAlgorithm_19=ECC
keyAlgorithm_20=ELG
keyAlgorithm_22=EDDSA
keyUsageEncrypt=Crioptachadh
keyUsageSign=Soidhneadh
keyUsageCertify=Teisteanachadh
keyUsageAuthentication=Dearbhadh
keyDoesNotExpire=Chan fhalbh an ùine air an iuchair
# Strings in enigmailGenCardKey.xul
keygen.started=Fuirich ort fhad ’s a tha an iuchair ga gintinn....
keygen.completed=Chaidh an iuchair a ghintinn. Is “0x%S†ID na h-iuchrach ùire
keygen.keyBackup=Chaidh lethbhreac-glèidhidh dhen iuchair a dhèanamh mar %S
keygen.passRequired=Sònraich abairt-fhaire ma tha thu airson lethbhreac-glèidhidh dhen iuchair agad a chruthachadh taobh a-muigh a’ SmartCard agad.
# Strings in enigmailSetCardPin.xul
cardPin.dontMatch=Chan eil am PIN a chuir thu a-steach co-ionnann; cuir a-steach a-rithist e
cardPin.minLength=Feumaidh %S caractaran no à ireamhan a bhith sa PhIN air a char as lugha
cardPin.processFailed=Cha deach leinn am PIN atharrachadh
# Strings in enigRetrieveProgres.xul
keyserverProgress.refreshing=Ag ath-nuadhachadh nan iuchraichean, fuirich ort...
keyserverProgress.uploading=Ag luchdadh suas nan iuchraichean, fuirich ort...
keyserverTitle.refreshing=Ath-nuadhaich na h-iuchraichean
keyserverTitle.uploading=Luchdadh suas iuchraichean
# Strings in enigmailSetupWizard
passphrase.min8keys=Bu chòir do 8 caractaran a bhith san abairt-fhaire agad air a char a lugha!
setupWizard.reallyCancel=A bheil thu cinnteach gu bheil thu airson draoidh an rèiteachaidh Enigmail a dhùnadh?
setupWizard.invalidGpg=Chan eil am faidhle a shònraich thu ’na fhaidhle so-ghnìomhaichte GnuPG. Feuch an sònraich thu faidhle eile.
setupWizard.specifyFile=Feumaidh tu faidhle iuchrach poblaich a shònrachadh mus urrainn dhut leantainn air adhart.
setupWizard.installFailed=Tha coltas nach do shoirbhich leis an stà ladh. Feuch ris an stà ladh a-rithist no stà laich GnuPG a là imh agus lorg e leis a’ phutan “Rùraichâ€.
setupWizard.downloadForbidden=Air sà illeibh do thèarainteachd fhèin, cha luchdaich sinn a-nuas GnuPG. Tadhail air http://www.gnupg.org/ gus GnuPG a luchdadh a-nuas.
setupWizard.downloadImpossible=Chan urrainn dhuinn GnuPG a luchdadh a-nuas an-drà sta. Feuch ris a-rithist an ceann greis no tadhail air http://www.gnupg.org/ gus GnuPG a luchdadh a-nuas.
setupWizard.hashSumError=Cha b’ urrainn dhan draoidh fìreantachd an fhaidhle air a luchdadh a-nuas a dhearbhadh. Dh’fhaoidte gu bheil am faidhle briste no gun deach beantainn ris. A bheil thu airson leantainn air adhart leis an stà ladh co-dhiù?
setupWizard.importSettingsFile=Sònraich faidhle lethbhric-ghlèidhidh gus a luchdadh uaithe
setupWizard.invalidSettingsFile=Chan eil am faidhle a shònraich thu ’na fhaidhle lethbhric-ghlèidhidh airson roghainnean Enigmail.
setupWizard.gpgConfExists=Tha faidhle rèiteachaidh GnuPG ann mar-thà . A bheil thu airson sgrìobhadh thairis air leis an fhear on t-seann-stà ladh agad?
# Strings in installGnuPG.jsm
installGnuPG.downloadFailed=Thachair mearachd rè luchdadh a-nuas GnuPG. Thoir sùil air loga na consoil airson barrachd fiosrachaidh.
installGnuPG.installFailed=Thachair mearachd rè stà ladh GnuPG. Thoir sùil air loga na consoil airson barrachd fiosrachaidh.
# Strings in enigmailAddUidDlg.xul
addUidDlg.nameOrEmailError=Feumaidh tu ainm is seòladh puist-d a chur a-steach
addUidDlg.nameMinLengthError=Feumaidh 5 caractaran a bhith san ainm air a char as lugha
addUidDlg.invalidEmailError=Feumaidh tu seòladh puist-d dligheach a thoirt seachad
addUidDlg.commentError=Chan eil camagan ceà rnach ceadaichte ann am beachdan
# Strings in enigmailCardDetails.js
Carddetails.NoASCII=Cha chuir SmartCard OpenPGP taic ach ri caractaran ASCII san ainm.
# network error types
errorType.SecurityCertificate=Chan eil an teisteanas tèarainteachd a thug an t-seirbheis-lìn seachad dligheach.
errorType.SecurityProtocol=Chan aithne dhuinn am pròtacal tèarainteachd a chleachdas an t-seirbheis-lìn.
errorType.Network=Thachair mearachd lìonraidh.
# filter stuff
filter.folderRequired=Feumaidh tu pasgan-uidhe a thaghadh.
filter.decryptMove.label=Dì-chrioptaich gu buan (Enigmail)
filter.decryptCopy.label=Cruthaich lethbhreac dì-chrioptaichte (Enigmail)
filter.decryptMove.warnExperimental=Rabhadh - dh’fhaoidte gum mill an roghainn criathraidh “Dì-chrioptaich gu buan†teachdaireachdan.\n\nMholamaid gu dìon gum feuch thu ris a’ chriathrag “Cruthaich lethbhreac dì-chrioptaichte†an toiseach, gun dearbhaich thu an toradh gu cùramach agus nach cleachd thu a’ chriathrag seo ach ma tha thu toilichte leis an toradh.
# strings in enigmailConvert.jsm
converter.decryptBody.failed=Cha deach leinn an teachdaireachd a dhì-chrioptachadh air a bheil an cuspair\n“%Sâ€.\nA bheil thu airson feuchainn ris a-rithist le abairt-fhaire eile no a bheil thu airson leum a ghearradh thar na teachdaireachd?
converter.decryptAtt.failed=Cha deach leinn an ceanglachan “%1$Sâ€\na dhì-chrioptachadh aig an teachdaireachd air a bheil an cuspair\n“%2$Sâ€.\nA bheil thu airson feuchainn ris a-rithist le abairt-fhaire eile no a bheil thu airson leum a ghearradh thar na teachdaireachd?
saveLogFile.title=SÃ bhail faidhle loga
# strings in gpg.jsm
unknownSigningAlg=Algairim soidhnidh nach aithne dhuinn (ID: %S)
unknownHashAlg=Hais soidhnidh nach aithne dhuinn (ID: %S)
# strings in keyRing.jsm
keyring.photo=Dealbh-camara
keyRing.pubKeyRevoked=Chaidh an iuchair %1$S (ID na h-iuchrach %2$S) a chùl-ghairm.
keyRing.pubKeyExpired=Dh’fhalbh an ùine air an iuchair %1$S (ID na h-iuchrach %2$S).
keyRing.pubKeyNotForSigning=Cha ghabh an iuchair %1$S (ID na h-iuchrach %2$S) cleachdadh airson soidhneadh.
keyRing.pubKeyNotForEncryption=Cha ghabh an iuchair %1$S (ID na h-iuchrach %2$S) cleachdadh airson crioptachadh.
keyRing.keyDisabled=Chaidh an iuchair %1$S (ID na h-iuchrach %2$S) a chur à comas; cha ghabh a cleachdadh.
keyRing.keyNotTrusted=Chan eil earbsa gu leòr san iuchair %1$S (ID na h-iuchrach %2$S). Suidhich ìre earbsa na h-iuchrach agad air “cho earbsach ’s a ghabhas†gus a cleachdadh airson soidhneadh.
keyRing.keyInvalid=Chan eil an iuchair %1$S (ID na h-iuchrach %2$S) dhligheach (’s dòcha nach deach a fèin-shoidhneadh).
keyRing.signSubKeysRevoked=Chaidh gach fo-iuchair soidhnidh aig an iuchair %1$S (ID na h-iuchrach %2$S) a chùl-ghairm.
keyRing.signSubKeysExpired=Dh’fhalbh an ùine air gach fo-iuchair soidhnidh aig an iuchair %1$S (ID na h-iuchrach %2$S).
keyRing.signSubKeysUnusable=Chaidh gach fo-iuchair soidhnidh aig an iuchair %1$S (ID na h-iuchrach %2$S) a chùl-ghairm, dh’fhalbh an ùine orra no cha ghabh an cleachdadh air adhbhar eile air choireigin.
keyRing.encSubKeysRevoked=Chaidh gach fo-iuchair crioptachaidh aig an iuchair %1$S (ID na h-iuchrach %2$S) a chùl-ghairm.
keyRing.encSubKeysExpired=Dh’fhalbh an ùine air gach fo-iuchair crioptachaidh aig an iuchair %1$S (ID na h-iuchrach %2$S).
keyRing.noSecretKey=Chan eil an iuchair dhìomhair airson %1$S (ID na h-iuchrach %2$S) air an dul-iuchrach agad a-rèir coltais; chan urrainn dhut an iuchair a chleachdadh airson soidhneadh.
keyRing.encSubKeysUnusable=Chaidh gach fo-iuchair crioptachaidh aig an iuchair %1$S (ID na h-iuchrach %2$S) a chùl-ghairm, dh’fhalbh an ùine orra no cha ghabh an cleachdadh air adhbhar eile air choireigin.
#strings in exportSettingsWizard.js
cannotWriteToFile=Chan urrainn dhuinn sà bhaladh dhan fhaidhle “%Sâ€. Feuch an tagh thu faidhle eile.
dataExportError=Tachair mearachd rè à s-phortadh an dà ta agad.
enigmailSettings=RoghainneanEnigmail
defaultBackupFileName=Enigmail-Ã s-phortadh
specifyExportFile=Sònraich ainm faile airson an à s-phortaidh
homedirParamNotSUpported=Cha chuir sinn taic ri paramadairean a bharrachd a rèiticheas slighean, can --homedir agus --keyring rè à s-phortadh/aiseag nan roghainnean agad. Cleachd dòighean eile, can suidheachadh caochladair GNUPGHOME na h-arainneachd.
#strings in expiry.jsm
expiry.keyExpiresSoon=Falbhaidh an ùine air an iuchair %1$S agad ro %2$S là (ithean).\n\nMholamaid gun cruthaich thu cà raid iuchrach ùr ’s gun rèitich thu na cunntasan a fhreagras rithe ach an cleachd iad an iuchair ùr.
expiry.keysExpireSoon=Falbhaidh an ùine air na h-iuchraichean seo agad ro %1$S là (ithean):\n%2$S. Mholamaid gun cruthaich thu iuchraichean ùra ’s gun rèitich thu na cunntasan agad ach an cleachd iad na h-iuchraichean ùra.
msgCompose.partiallyEncrypted.short=Thoir an aire nach foillsich thu fiosrachadh dìomhair gun fhiosta – chan eil ach pà irt dhen phost-d seo crioptaichte.
msgCompose.partiallyEncrypted.long=Chaidh pà irt dhen theachdaireachd a tha thu a’ deasachadh a chrioptachadh. Is ciall dha seo gu bheil an dà chuid susbaint chrioptaichte is gun chrioptachadh ’na broinn. Dh’fhaoidte nach fhaic thu pà irt dhen t-susbaint chrioptaichte idir.\n\nMura deach leis an t-seòladair fhèin a h-uile pà irt dhen teachdaireachd a dhì-chrioptachadh, tha sinn an dùil nach d’ fhuair thu am post-d seo le teacsa gun chrioptachadh innte ach ag amas gum foillsich thu am fiosrachadh crioptaichte dhaibh-san.
enigmail/lang/gd/help/ 0000775 0000000 0000000 00000000000 13213001347 0015100 5 ustar 00root root 0000000 0000000 enigmail/lang/gd/help/compose.html 0000664 0000000 0000000 00000010075 13213001347 0017436 0 ustar 00root root 0000000 0000000
Enigmail Help: Message Composition
Enigmail Help
Using Enigmail when composing messages
Enigmail menu in Mail/Compose window
Sign message
Enable/Disable sending signed mail. User is notified, if signing fails.
Encrypt message
Enable/Disable encryption to all recipient(s) before sending. User is notified, if encryption fails.
If Display selection when necessary is set in Preferences -> Key Selection tab, a list of keys will pop up if there are addresses in the list of recipients for the message for whom you have no public key.
If Never display OpenPGP key selection dialog is set in Preferences -> Key Selection tab, and there are addresses in the list of recipients for the message for whom you have no public key, the message will be sent unencrypted.
Use PGP/MIME for this message
Enable/Disable the use of PGP/MIME for this message.
If you know the recipient(s) can read mail using the PGP/MIME format, you should use it.
This feature is dependent on the settings in Preferences -> PGP/MIME tab being set to Allow to use PGP/MIME or Always use PGP/MIME.
Default composition options
Signing/Encryption Options...: shortcut to Account Settings -> OpenPGP Options.
Send options...: shortcut to Preferences -> Send tab.
Key selection options...: shortcut to Preferences -> Key Selection tab.
PGP/MIME options...: shortcut to Preferences -> PGP/MIME tab.
Undo encryption
If there is a failure when actually sending mail, such as the POP server not accepting the request, Enigmail will not know about it, and the encrypted message will continue to be displayed in the Compose window. Choosing this menu item will undo the encryption/signing, reverting the Compose window back to its original text.
As a temporary fix, this option may also be used to decrypt the quoted text when replying to encrypted messages. Enigmail should automatically decrypt the quoted message, but if that fails for some reason, you can use this menu item to force it.
Insert public key
insert ASCII-armored public key block at the current cursor location in the Compose window. You will be prompted for the email addresses of the key(s) to be inserted. Keys inserted in this manner will automatically be recognized at the receiving end by Enigmail. After key insertion, you may still choose to sign/encrypt the mail as needed. Also, do not insert more than one key block in a message; just specify multiple email addresses, separated by commas or spaces, when prompted.
Clear save passphrase
Clears cached passphrase. Useful if you have multiple passphrases.
Help
Displays Help information from the website (this page).
Using the Enigmail Rules Editor: Edit Per-Recipient Rule
In the Rules Editor, you can specify defaults per recipient for enabling encryption, signing and PGP/MIME, and to define what OpenPGP key(s) to use. In this dialog, you can specify the rules for a single recipient, and for a group of recipients with very similar attributes.
Set Enigmail Rules for
Contains the email addresses of the recipients (without names, i.e. just an address like somebody@email.domain). You can specify several email addresses, separated by spaces. The address specified here can consist of only the domain section so that mail to any address at that domain will be matched, e.g. @email.domain will allow matching to body@email.domain, somebody@email.domain, anybody@email.domain, etc.
Apply rule if recipient ...
This modifies the matching of the email addresses. If multiple addresses are entered, the setting will apply to all. The examples below are based on body@email.domain entered in the Enigmail Rules field above.
Is exactly: with this setting, the rule will only trigger on emails to body@email.domain (exact, case insensitive matching).
Contains: with this setting, any email address containing the string is matched, e.g. anybody@email.domain or body@email.domain.net
Begins with: with this setting, any email address starting with the string is matched, e.g. body@email.domain.net, body@email.domain-name.com.
Ends with: with this setting, any email address ending with the string is matched, e.g. anybody@email.domain , somebody@email.domain.
Continue with the next rule for the matching address
Enabling this function will allow you to define a rule but not have to specify a KeyID in the Use the following OpenPGP keys: field, so that the email address is used to check for a key at the time of sending. Also, further rules for the same address(es) will be processed as well.
Do not check further rules for the matching address
Enabling this function stops processing any other rules for the matching address(es) if this rule is matched; i.e. rule processing continues with the next recipient.
Use the following OpenPGP keys:
Use the Select Key(s).. button to select the recipient keys to be used for encryption. As in the action above, no further rules for the matching address(es) are processed.
Default for Signing
Enable or disable message signing. This either uses or overrides what you have specified in the message composition window. The values are:
Never: disable signing, even if it was enabled in the message composition window (overrules the other values)
Yes, if selected from in Message Composition: leave signing as specified in the message composition window
Always: enable signing, even if it was not enabled in the message composition window
These signing settings are applied for all rules that match. If one of the rules disables signing, the message will not be signed, regardless of other rules that specify Always.
Encryption
Enable or disable message encryption. The allowed settings and their meaning are the same as for message signing.
PGP/MIME
Enable or disable the use of the PGP/MIME (RFC 3156) message encoding. If PGP/MIME is disabled, the messages are encoded using "inline PGP". The allowed values and their meaning are the same as for message signing.
The rules are processed in the order displayed in the list in the Per-Recipient Rules Editor. Whenever a rule matches a recipient and contains a OpenPGP Key ID, in addition to using the specified Key ID, the recipient is not considered anymore when processing further rules.
Decrypt button in main Mail window
This button can be used for several purposes: decrypt, verify, or import public keys. Normally decryption/verification happens automatically, although this can be disabled through a preference. However, if this fails, usually a short error message will appear in the Enigmail status line. If you click the Decrypt button, you will be able to see a more detailed error message, including the output from the GnuPG command.
Pen and Key icons in Message Header display
The Pen and Key icons in the Message Header display indicate if the message you are reading was signed and/or encrypted and if the signature is good, i.e. the message has not been changed since it was signed. If the message has been changed, the Pen icon will change to a Broken Pen to indicate that the signature is bad. Right clicking on either the Pen or Key icons will bring up a menu with the following options:
Enigmail Security info: allows you to view the output status from GnuPG for the message.
Copy Enigmail Security info: copies the output status from GnuPG to the clipboard; to paste into a reply message, etc.
View OpenPGP Photo ID: allows you to view the Photo ID of the person who sent the message, if they have a photo embedded in their Public Key. (This option will only be enabled if a Photo ID exists in their key.)
S/MIME Security info: allows you to view the S/MIME Security Info for the message.
If you do not have keyserver-options auto-key-retrieve set in your gpg.conf file and you read a message which is signed or encrypted, you will see a Pen icon in the headers display area with a Question mark on it, the Enigmail status line in the headers area will say Part of the message signed; click pen icon for details and the message in the Message Pane will show all the OpenPGP message block indicators and the signature block.
You may also see this if you have keyserver-options auto-key-retrieve set in your gpg.conf file and the OpenPGP key is not available on the default keyserver.
Clicking on the Pen and Question mark icon will bring up a window advising that the key is unavailable in your keyring. Clicking on OK will bring up another window with a list of keyservers from which you can select to download the sender's public key from.
To configure the list of keyservers you wish to use, go to Enigmail -> Preferences -> Basic tab and enter the keyserver addresses in the Keyserver(s): box, separated by a comma. The first keyserver in the list will be used as the default.
Opening encrypted attachments / importing attached OpenPGP keys
Attachments named *.pgp, *.asc and *.gpg are recognized as attachments that can be handled specially by Enigmail. Right clicking on such an attachment enables two special menu items in the context menu: Decrypt and Open and Decrypt and Save. Use these two menu items if you want Enigmail to decrypt an attachment before opening or saving it. If an attachment is recognized as an OpenPGP key file, you are offered to import the keys it into your keyrings.
enigmail/lang/gd/help/initError.html 0000664 0000000 0000000 00000004546 13213001347 0017754 0 ustar 00root root 0000000 0000000
Enigmail Help: How to Resolve Problems with Initializing Enigmail
Enigmail Help
How to Resolve Problems with Initializing Enigmail
There are several reasons why initializing Enigmail does not succeed. The most common ones are described below;
for more information please visit the Enigmail Support page.
GnuPG could not be found
In order for Enigmail to work, the tool GnuPG needs to be installed.
If GnuPG cannot be found, then first make sure that the executable gpg.exe (on Windows; gpg on other platforms) is installed on your computer.
If GnuPG is installed, and Enigmail cannot find it, then you need to manually set the path to GnuPG in the Enigmail Preferences (menu Enigmail > Preferences)
Enigmime failed to initialize
Enigmail works only if it is built using the same build environment as Thunderbird or SeaMonkey was built. This means that you can use the official Enigmail releases only if you use the official releases of Thunderbird or SeaMonkey provided by mozilla.org.
If you use a Thunderbird or SeaMonkey version coming from some other source (e.g. the provider of your Linux distribution), or if you built the application yourself, you should either use an Enigmail version built by the same source, or build Enigmail yourself. For building Enigmail, refer to the Source Code section on the Enigmail home page. Please don't file any bug report concerning this problem, it is not solvable.
This button can be used for several purposes: decrypt, verify, or import public keys. Normally decryption/verification happens automatically, although this can be disabled through a preference. However, if this fails, usually a short error message will appear in the Enigmail status line. If you click the Decrypt button, you will be able to see a more detailed error message, including the output from the GnuPG command.
Pen and Key icons in Message Header display
The Pen and Key icons in the Message Header display indicate if the message you are reading was signed and/or encrypted and if the signature is good, i.e. the message has not been changed since it was signed. If the message has been changed, the Pen icon will change to a Broken Pen to indicate that the signature is bad. Right clicking on either the Pen or Key icons will bring up a menu with the following options:
Enigmail Security info: allows you to view the output status from GnuPG for the message.
Copy Enigmail Security info: copies the output status from GnuPG to the clipboard; to paste into a reply message, etc.
View OpenPGP Photo ID: allows you to view the Photo ID of the person who sent the message, if they have a photo embedded in their Public Key. (This option will only be enabled if a Photo ID exists in their key.)
S/MIME Security info: allows you to view the S/MIME Security Info for the message.
If you do not have keyserver-options auto-key-retrieve set in your gpg.conf file and you read a message which is signed or encrypted, you will see a Pen icon in the headers display area with a Question mark on it, the Enigmail status line in the headers area will say Part of the message signed; click pen icon for details and the message in the Message Pane will show all the OpenPGP message block indicators and the signature block.
You may also see this if you have keyserver-options auto-key-retrieve set in your gpg.conf file and the OpenPGP key is not available on the default keyserver.
Clicking on the Pen and Question mark icon will bring up a window advising that the key is unavailable in your keyring. Clicking on OK will bring up another window with a list of keyservers from which you can select to download the sender's public key from.
To configure the list of keyservers you wish to use, go to Enigmail -> Preferences -> Basic tab and enter the keyserver addresses in the Keyserver(s): box, separated by a comma. The first keyserver in the list will be used as the default.
Attachments named *.pgp, *.asc and *.gpg are recognized as attachments that can be handled specially by Enigmail. Right clicking on such an attachment enables two special menu items in the context menu: Decrypt and Open and Decrypt and Save. Use these two menu items if you want Enigmail to decrypt an attachment before opening or saving it. If an attachment is recognized as an OpenPGP key file, you are offered to import the keys it into your keyrings.
In the Rules Editor, you can specify defaults per recipient for enabling encryption, signing and PGP/MIME, and to define what OpenPGP key(s) to use. Each rule consists of 5 fields and is represented on a single line:
Email
The e-mail(s) from the To:, Cc: and Bcc: fields to match. The matching works on substrings (Further details can be found in the Edit Rule dialog)
OpenPGP Key(s)
a list of OpenPGP Key ID's to use for the recipient
Sign
enable or disable message signing. This either uses or overrides what you have specified in the message composition window. The values are:
Never: disable signing, even if it was enabled in the message composition window (overrules the other values)
Possible: leave signing as specified in the message composition window
Always: enable signing, even if it was not enabled in the message composition window
These signing settings are applied for all rules that match. If one of the rules disables signing, the message will not be signed, regardless of other rules that specify Always.
Encrypt
enable or disable message encryption. The allowed settings and their meaning are the same as for message signing.
PGP/MIME
enable or disable the use of the PGP/MIME (RFC 3156) message encoding. If PGP/MIME is disabled, the messages are encoded using "inline PGP". The allowed values and their meaning a re the same as for message signing.
The rules are processed in the order displayed in the list. Whenever a rule matches a recipient and contains a OpenPGP Key ID, in addition to using the specified Key ID, the recipient is not considered anymore when processing further rules.
Note: The rule editor is not yet complete. It is possible to write some more advanced rules by directly editing the rules file (these rules should then not be edited anymore in the rule editor). Further information for directly editing the file is available on the Enigmail Homepage
In the Sending Preferences you can choose the general model and preferences for encryption.
Convenient Encryption
With these settings, emails are encrypted without confirmation whenever possible.
This setup is appropriate, if you just want to improve your privacy by sending emails encyrpted instead of unencrypted if that's possible.
The effect is like sending emails as letters instead of postcards. Unlike postcards, letters usually hide their contents while in transit.
Note however that as with letters you can't be sure that nobody is opening the letter while it is in transit (although, some technical effort is necessary for that).
A concrete risk is that you accidentally use "faked keys" you got from somewhere or somebody claiming that the key belongs to the person you want to send emails to. To avoid this risk, you can either use the trust model of PGP (see below) or you should always verify, whether the fingerprint of a public key is correct.
Manual Encryption
This option allows you to specify the different preferences for encryption according to your needs. You can specify
whether replies to encrypted/signed emails should automatically also be encrypted/signed-
whether to use the trust model of Enigmail to accept keys (this means that to use a key you either have to sign the key or have enough other people you trust having signed the key).
whether you want to automatically send emails encrypted if all keys are accepted.
whether and when you want to finally confirm sending an email.
Menú de Enigmail na ventá de Composición de correo
Asinar mensaxe: Activa/Desactiva o envío de correo asinado. O
usuario ou usuaria son notificados se a sinatura falla.
Cifrar mensaxe: Activar/Desactiva o cifrado a todos os destinatarios
ou destinatarias antes do envío. Notifícase en caso de que se produza un erro no
cifrado.
Se Mostrar selección cando sexa necesario está definido na pestana de
Preferencias -> Selección de chaves, mostrarase unha listaxe de chaves se
hai algún enderezo na lista de destinatarios/as da mensaxe para os/as que non ten
chave pública.
Se a opción de non mostrar nunca o diálogo de selección de chaves OpenPGP
está activado na pestana Preferencias -> Selección de chaves, e hai enderezos
na lista de destinatarios/as para os que non ten a chave pública, a mensaxe enviaras
sen cifrar.
Usar PGP/MIME para esta mensaxe: Activa/Desactiva o uso de PGP/MIME
para esta mensaxe.
Se sabe que o(s) destinatario(s) ou destinataria(s) poden ler correo utilizando o
formato PGP/MIME, debería utilizalo.
Esta característica depende da configuración na pestana Preferencias
-> PGP/MIME sendo a opción Permitir o uso de PGP/MIME ou Usar sempre
PGP/MIME.
Opcións predeterminadas para a composición: Submenú.
Opcións de Sinatura/Cifrado...: atallo a Configuración das contas ->
Opcións OpenPGP.
Opcións de envío...: atallo á pestana Preferencias ->
Envío.
Opcións de selección de chaves...: atallo á pestana Preferencias ->
Selección de chaves.
Opcións PGP/MIME...: atallo á pestana Preferencias ->
PGP/MIME.
Desfacer cifrado: Se hai un fallo ao enviar un correo, como o
servidor POP que non acepta unha solicitude, Enigmail non pode sabelo, e a
mensaxe cifrada seguirá na ventá de composición. Escollendo este elemento do
menú desfarase o cifrado/sinatura, volvendo o texto orixial á ventá de
composición. Como un arranxo temporal, esta opción pode utilizarse para descifrar o
texto comentado ao responder mensaxes cifradas. Enigmail debería descifrar
a mensaxe automaticamente, mais se falla por algunha razón, pode utilizar
este elemento do menú para forzalo.
Inserir chave pública: insire a chave pública nun bloque ASCII-armado
na posición actual do cursos na ventá de composición. Pediráselle o enderezo da
chave que quere inserir. As chaves inseridas desta maneira serán recoñecidas
automaticamente ao seren recividas por Enigmail. Despois da inserción da chave,
pode tamén escoller asinar/cifrar o correo se é preciso. De todos xeitos, non
insira máis dun bloque de chaves nunha mensaxe; simplemente especifique múltiples
enderezos de correo, separados por comas ou espazos, cando se lle pregunte.
Limpar contrasinais gardados: Limpa os contrasinais gardados en caché.
Útil se ten múltiples contrasinais.
Axuda: Mostra información de axuda desde o sitio web (esta páxina).
Usando o Editor de regras de Enigmail Rules Editor: Editar regra OpenPGP
No Editor de regras, pode especificar configuracións predeterminadas por
destinatario/a para a activación de cifrado, sinatura e PGP/MIME, e definir que
chave(s) OpenPGP utilizar. Neste diálogo, pode especificar as regras para un único
ou unha única destinataria, e para un grupo de destinatarios/as con atributos
mois similares.
Definiar regras OpenPGP para: Contén os
enderezos de correo dos destinos (sen nomes, p.e. so un enderezo como
alguen@correo.dominio). Pode especificar varios enderezos de correo,
separados por espazos. O enderezo especificado aquí pode consistir só na parte do
dominio de xeito que calquera enderezo deste dominio coincidirá,
p.e. @correo.dominio funcionará con calquera@correo.dominio,
algun@correo.dominio, algunha@correo.dominio, etc.
Aplicar regra se o/a destinatario/a ...:
Isto modifica a coincidencia dos enderezos de correo. Se se introducen múltiples
enderezos, a configuración aplicaráselles a todos eles. Os seguintes exemplos están
baseados en calquera@correo.dominio introducidos no seguinte campo de
Regras OpenPGP.
É exactamente: con esta configuración, a regra só se dispara con
correos a calquera@correo.dominio (exacto, coincidencia sensíbel a maiúsculas)
Contén: con esta configuración, calquera correo que conteña a cadea coincide
p.e son.calquera@correo.dominio ou calquera@correo.dominio.net
Comeza por: con esta configuración, calquera correo que comece coa cadea
coincidirá, p.e. calquera@correo.dominio.net,
calquera@correo.dominio-nome.com.
Remata con: con esta configuración, calquera enderezo que remate coa cadea
coincidirá, p.e. soncalquera@correo.dominio, nonson.calquera@correo.dominio.
Continuar coa seguinte regra que coincida co enderezo
Activando esta función permitirase definir unha regra sen ter que especificar un
ID de chave no campo Usar as seguintes chaves OpenPGP:, de xeito que
o enderezo se utilizar para buscar unha chave no momento do envío. Tamén se
procesarán outras regras para o(s) mesmo(s) enderezos igualmente.
Non comprobar outras regras para os enderezos que coinciden
Activando esta función párase o procesamento de outras regras para un enderezo que xa
coincidiu; p.e. o procesado de regras continúa co seguinte destinatario
Usar as seguintes chaves OpenPGP:
Use o botón Seleccionar chave(s).. para seleccionar as chaves dos/as
destinatarios/as que utilizar para o cifrado. Como na anterior acción, non se
procesan máis regras para enderezos que xa coincidiron.
Predeterminado para sinatura:
activa ou desactiva a sinatura de mensaxes. Isto afirmar ou anula o que especificou na ventá
de composición de mensaxe. Os valores son:
Nunca: desactiva a sintaura, aínda que estea activada na ventá de composición
da mensaxe (anula outros valores)
Si, se está seleccionado na Composición da mensaxe: deixa a sinatura
tal e como se especificou na ventá de composición da mensaxe
Sempre: activa a sinatura, aínda que non estea activada na ventá de composición da mensaxe
Esta configuració de sinatura aplícase para todas
as regras que coincidan. Se unha das regras desactiva a sinatura, a mensaxe non se
asina, a pesar do que especifiquen outras regras Sempre.
Cifrado: activa ou desactiva o cifrado
de mensaxes. As configuracións permitidas e o seu significado é o mesmo que para
a sinatura.
PGP/MIME: activar ou desactivar o uso
da codificación de mensaxes PGP/MIME (RFC 3156).
Se PGP/MIME está desactivado, as mensaxes codifícanse usando "PGP en liña". Os valores
permitidos e os seus significados son os mesmos que para a sinatura.
As regras son procesadas no orde mostrado na lista no Editor de regras OpenPGP.
Cando unha regras coincide con un destinatario e contén un ID de chave OpenPGP, ademais
de utilizar o ID de chave especificado, o destinatario non se utiliza para procesar máis regras.
enigmail/lang/gl/help/initError.html 0000664 0000000 0000000 00000004536 13213001347 0017763 0 ustar 00root root 0000000 0000000
Enigmail Help: How to Resolve Problems with Initializing OpenPGP
Enigmail Help
How to Resolve Problems with Initializing OpenPGP
There are several reasons why initializing OpenPGP does not succeed. The most common ones are described below;
for more information please visit the Enigmail Support page.
GnuPG could not be found
In order for OpenPGP to work, the tool GnuPG needs to be installed.
If GnuPG cannot be found, then first make sure that the executable gpg.exe (on Windows; gpg on other platforms) is installed on your computer.
If GnuPG is installed, and OpenPGP cannot find it, then you need to manually set the path to GnuPG in the OpenPGP Preferences (menu OpenPGP > Preferences)
Enigmime failed to initialize
OpenPGP works only if it is built using the same build environment as Thunderbird or SeaMonkey was built. This means that you can use the official Enigmail releases only if you use the official releases of Thunderbird or SeaMonkey provided by mozilla.org.
If you use a Thunderbird or SeaMonkey version coming from some other source (e.g. the provider of your Linux distribution), or if you built the application yourself, you should either use an Enigmail version built by the same source, or build Enigmail yourself. For building Enigmail, refer to the Source Code section on the Enigmail home page. Please don't file any bug report concerning this problem, it is not solvable.
enigmail/lang/gl/help/messenger.html 0000664 0000000 0000000 00000011006 13213001347 0017764 0 ustar 00root root 0000000 0000000
Axuda de Enigmail: Lectura de mensaxes
Axuda de Enigmail
Usando Enigmail para ler o correo
Botón Descifra na ventá principal do correo
Este botón pode utilizarse para diferentes propósitos: descifrar, verificar,
ou importar chaves públicas. Normalmente o descifrado/verificación sucede
de xeito automático, mais isto pode desactivarse a través das preferencias.
De todos xeitos, se isto falla, normalmente aparecerá unha mensaxe de erro na
liañ de estdo de Enigmail. Se fai clic no botón Descifrar, poderá ver unha
mensaxe de erro máis detallada, incluída a saída do comando GnuPG.
Iconas do lápis e a chave na cabeceira da mensaxe
As iconas do lápis e a chave ca cabeceira da mensaxe indican que
a mensaxe que está a ler está asinada e/ou cifrada e que a sinatura é correcta,
p.e. a mensaxe non mudou desde que foi asinada. Se a mensaxe tivese mudado, a icona
do lápis mudaría nun láspis roto para indicar que a sinatura non é
correcta. Se fai clic co botón dereito sobre o lápis ou a chave aparecerá un menú
coas seguintes opcións:
Información de seguridade OpenPGP: permite ver o estado da saída de GnuPG
para esta mensaxe.
Copiar información de seguridade OpenPGP: copia o estado da saída de
GnuPG ao portarretallos; para pegala nunha mensaxe de resposta, etc.
Ver ID de foto OpenPGP: permite ver o ID de fotoda persoa que
enviou a mensaxe, se é que tiña unha foto integrada na súa chave pública
(Esta opción só estará activada se hai un ID de foto na chave.)
Información de seguridade S/MIME: permite ver a información sobre
seguridade S/MIME para a mensaxe.
Se non ten definido keyserver-options auto-key-retrieve no seu ficheiro
gpg.conf e quere ler unha mensaxe asinada ou cifrada verá unha icona con un
lápis na área da cabeceira con un símbolo de interrogación enriba,
a liña de estado de Enigmail na cabeceira mostrará a mensaxe Parte da mensaxe
asinada; prema na icona do lápis para máis detalles e a mensaxe no panel da
mensaxe mostrará todos os bloques de sinaturas e indicadores de bloques de mensaxe OpenPGP.
Tamén pode ver isto se ten definido keyserver-options auto-key-retrieve
no seu ficheiro gpg.conf e a chave OpenPGP non está dispoñíbel no seu
sevidor de chaves.
Premendo na icona do lapis e símbolo de interrogación aparecerá unha ventá
advertindo que a chave non está dispoñíbel no seu anel de chaves. Premendo en OK
aparecerá outra ventá con unha lista de servidores de chaves dos cales pode seleccionar
desde onde descargar a chave pública da persoa que lle enviou o correo.
Para configurar a lista de servidores de chaves que quere usar, vaia á pestana
Enigmail -> Preferencias -> Básico e introduza os enderezos dos servidores
de chaves na caixa Servidor(es) de chaves: separados por comas.
O primeiro servidor da lista será o que se utilice como servidor de chaves predeterminado.
Abrir ficheiros adxuntos cifrados / importar chaves OpenPGP adxuntas
Anexos nomeados *.pgp, *.asc e *.gpg son recoñecidos como anexos que poden ser
manexados especialmente por Enigmail. Facendo clic co botón dereito neses ficheiros
adxuntos actívanse dous elementos de menú especiais no menú contextual: Descifrar
e abrir e Descifrar e gardar. Use estes dous elementos do menú se quere
que Enigmail descifre un anexo antes de abrilo ou gardalo. Se un anexo é recoñecido como
un ficheiro de chave OpenPGP, ofreceráselle importar as chaves no seu anel de chaves.
enigmail/lang/gl/help/rulesEditor.html 0000664 0000000 0000000 00000006526 13213001347 0020310 0 ustar 00root root 0000000 0000000
Axuda de Enigmail: Editor de regras
Axuda de Enigmail
Usando o Editor de regras de Enigmail
No Editor de regras, pode especificar as opcións predeterminadas por
destinatario/a para activar cifrado, sinatura e PGP/MIME, e definir que
chave(s) OpenPGP utilizar. Cada regra consiste en 5 campos e está
representada por unha soa liña:
Correo: os campos de remite do(s) correo(s)
o Para:, Cc: e Cco:the To:, Cc: and Bcc: que teñen que coincidir.
A coincidencia funciona en subcadeas (Pódense consultar máis detalles
no diálogo de edición da regra)
Chave(s) OpenPGP: unha lista de ID's de chaves
para utilizar cos enderezos destinatarios
Asinar: activa ou desactiva a
sinatura de mensaxes. Isto afirma ou anula o que especificou na ventá de composición
da mensaxe. Os valores son:
Nunca: desactiva a sinatura, aínda que estea activa na ventá de
composición da mensaxe (anular outros valores)
Posíbel: deixa a sinatura tal e como se especificou na ventá de
composición da mensaxe.
Sempre: activa a sinatura, aínda que non estea activada na ventá de composición da mensaxe
Estas configuracións da sinatura aplícanse para
todas as regras que coincidan. Se algunha das regras desactiva a sinatura, a mensaxe
non se asinará, a pesar do que digan outras regras Sempre.
Cifrar: activa ou desactiva o
cifrado de mensaxes. As configuracións permitidas e o seu significado é o
mesmo que para as sinaturas.
PGP/MIME: activa ou desactiva o
uso da codificación de mensaxes PGP/MIME (RFC 3156).
Se PGP/MIME está desactivado, as mensaxes codifícanse usando "PGP en-liña".
Os valores permitidos e o seu significado son os mesmos que para a sinatura.
As regras procésanse no orde que se mostra na lista. Cando unha regra coincide
co/a destinatario/a e contén un ID de chave OpenPGP, ademais de usar o ID de
chave especificado, o/a destinatario/a non se terá en conta ao procesar máis regras.
Nota: O editor de regras aínda non está completo. É posíbel escribir
regras máis avanzadas editando directamente o ficheiro de regras (estas regras non
poderás ser editadas despois no editor de regras) Máis información
sobre como editar directamente o ficheiro está dispoñíbel na páxina web de Enigmail
In the Sending Preferences you can choose the general model and preferences for encryption.
Convenient Encryption
With these settings, emails are encrypted without confirmation whenever possible.
This setup is appropriate, if you just want to improve your privacy by sending emails encyrpted instead of unencrypted if that's possible.
The effect is like sending emails as letters instead of postcards. Unlike postcards, letters usually hide their contents while in transit.
Note however that as with letters you can't be sure that nobody is opening the letter while it is in transit (although, some technical effort is necessary for that).
A concrete risk is that you accidentally use "faked keys" you got from somewhere or somebody claiming that the key belongs to the person you want to send emails to. To avoid this risk, you can either use the trust model of PGP (see below) or you should always verify, whether the fingerprint of a public key is correct.
Manual Encryption
This option allows you to specify the different preferences for encryption according to your needs. You can specify
whether replies to encrypted/signed emails should automatically also be encrypted/signed-
whether to use the trust model of OpenPGP to accept keys (this means that to use a key you either have to sign the key or have enough other people you trust having signed the key).
whether you want to automatically send emails encrypted if all keys are accepted.
whether and when you want to finally confirm sending an email.
If it is important for you that content you send encrypted can't be read by other people or organizations, you should use the manual preferences at least choose the option to accept keys only if you or other people signed them. While this model reduces the risk of using faked keys, it requires that you actively sign keys and declare owner trust using the key managament dialog.
enigmail/lang/hr/ 0000775 0000000 0000000 00000000000 13213001347 0014167 5 ustar 00root root 0000000 0000000 enigmail/lang/hr/am-enigprefs.properties 0000664 0000000 0000000 00000000166 13213001347 0020665 0 ustar 00root root 0000000 0000000 # used in the AccountManager
prefPanel-enigprefs=Nizovi koriÅ¡teni u Mozilla upravitelju raÄuna\n\nOpenPGP sigurnost
enigmail/lang/hr/enigmail.dtd 0000664 0000000 0000000 00000137402 13213001347 0016460 0 ustar 00root root 0000000 0000000
OpenPGP sigurnost)">
NAPOMENA: Generiranje kljuÄeva može trajati nekoliko minuta. Ne izlazite iz aplikacije dok se kljuÄevi generiraju. Aktivno pregledavanje interneta ili provoÄ‘enje operacija koje su zahtjevne za disk prilikom generiranja kljuÄeva će napuniti 'bazen nasumiÄnosti' i ubrzati proces. Bit će te obavijeÅ¡teni kad je generiranje kljuÄeva gotovo.">
NAPOMENA: Generiranje kljuÄa može potrajati nekoliko minuta. Ne izlazite iz aplikacije dok se kljuÄ generira. Bit će te obavijeÅ¡teni kad je deneriranje zavrÅ¡eno.">
Obavijest: Enigmail će uvijek provjeravati potpise
na email-ovima za svaki raÄun i identitet, bez obzira da li je omogućen ili ne">
javni kljuÄ je za druge da Vam poÅ¡alju enkriptirane email-ove. Možete ga distribuirati svima.">
privatni kljuÄ je za Vas tako da možete dekriptirati i slati potpisane email-ove.
Ne bi ga trebali dati nikom.">
privatni kljuÄ je za Vas da bi dekriptirali ove email-ove i slali potpisane email-ove.
Ne bi ga trebali dati nikom.
Da bi osigurali VaÅ¡ privatni kljuÄ, bit ćete upitani za lozinku u sljedeća dva dijaloga.">
lozinka je lozinka za zaÅ¡titu VaÅ¡eg privatnog kljuÄa. SprijeÄava zloupotrebu VaÅ¡eg privatnog kljuÄa.">
nisu preporuÄeni.">
Od Vas će se tražiti unos Vaše lozinke za to.">
izvezite svoje podatke sa svog starog raÄunala koristeći Äarobnjak za sigurnosne kopije iz Enigmail postavkiuvezite podatke na novo raÄunalo koristeći ovaj Äarobnjak.
">
Hvala Vam što koristite Enigmail.">
izvezite svoje podatke sa starog raÄunala koristeći ovaj Äarobnjakuvezite podatke na novo raÄunalo koristeći ÄŒarobnjak za postavljanje.
">
enigmail/lang/hr/enigmail.properties 0000664 0000000 0000000 00000113231 13213001347 0020073 0 ustar 00root root 0000000 0000000 Enigmail=Enigmail
enigAlert=Enigmail upozorenje
enigConfirm=Enigmail potvrda
enigError=Enigmail greška
enigPrompt=Enigmail prompt
dlgYes=&Da
dlgNo=&Ne
dlgKeepSetting=Zapamti moj odgovor i ne pitaj me više
dlgNoPrompt=Ne pokazuj mi ovaj okvir ponovno
dlg.button.delete=&Obriši
dlg.button.cancel=&Otkaži
dlg.button.close=&Zatvori
dlg.button.continue=Nastavi
dlg.button.skip=&PreskoÄi
dlg.button.overwrite=&Prepiši
dlg.button.view=&Pregledaj
dlg.button.retry=&Pokušaj ponovno
dlg.button.ignore=&Ignoriraj
repeatPrefix=\n\nOvo upozorenje će se ponoviti još %S
repeatSuffixSingular=put.
repeatSuffixPlural=puta.
noRepeat=\n\nOvo upozorenje se neće ponavljati dok ne nadogradite Enigmail.
pgpNotSupported=Izgleda da koristite Enigmail zajedno s PGP 6.x\n\nNažalost, PGP 6.x ima niz problema koji sprijeÄavaju Enigmail da radi ispravno. Zbog toga Enigmail ne podržava PGP 6.x viÅ¡e; molimo Vas da se prebacite na GnuPG (GPG) umjesto toga.\n\nAko Vam treba pomoć pri prebacivanju na GnuPG, provjerite dio Enigmail naslovne stranice na kojem se nalazi Pomoć.
initErr.howToFixIt=Da bi koristili Enigmail morate imati GnuPG. Ako joÅ¡ niste instalirali GnuPG, najjednostavniji naÄin da to napravite je koristeći "ÄŒarobnjak postavljanja" gumb niže.
initErr.setupWizard.button=&ÄŒarobnjak postavljanja
passphraseCleared=Lozinka je oÄišćena.
cannotClearPassphrase=Koristite ne standardni alat (npr. gnome-keyring) za upravljanje lozinkama. Zbog toga Äišćenje lozinke nije moguće iz Enigmail-a.
noPhotoAvailable=Slika nije dostupna
debugLog.title=Enigmail zapis o otklanjanju pogreške
error.photoPathNotReadable=Putanja '%S' slike nije Äitljiva
# Strings in configure.jsm
enigmailCommon.versionSignificantlyChanged=Ova nova verzija Enigmail-a ima znaÄajne promjene u rukovanju postavki i opcija. PokuÅ¡ali smo prenijeti stare postavke na ovu novu verziju, no ne možemo pokriti sve sluÄajeve automatski. Molimo Vas da provjerite nove postavke i opcije.
enigmailCommon.checkPreferences=Provjeri postavke...
preferences.defaultToPgpMime=Promjenili smo zadano enkodiranje poruka u Enigmail-u sa Inline-PGP-a u PGP/MIME. PreporuÄamo Vam da to zadržite kao zadano.\n\nAko i dalje želite koristiti Inline-PGP kao zadani, možete to napraviti u postavkama raÄunaa, pod OpenPGP sigurnost.
usingVersion=Koristim Enigmail verziju %S
usingAgent=Koristim %1$S izvršnu datoteku %2$S za enkripciju i dekripciju
agentError=POGREÅ KA: Pristup Enigmime usluzi nije uspio!
accessError=Pogreška u pristupanju Enigmail usluzi
onlyGPG=Generiranje kljuÄeva radi jedino s GnuPG-om (ne s PGP-om)!
keygenComplete=Generiranje kljuÄa zavrÅ¡eno! Identitet <%S> će biti koriÅ¡ten za potpisivanje.
revokeCertRecommended=PreporuÄamo stvaranje certifikata za opoziv za VaÅ¡ kljuÄ. Ovaj certifikat se može iskoristiti za poniÅ¡tavanje VaÅ¡eg kljuÄa u sluÄaju da se VaÅ¡ tajni kljuÄ izgubi ili postane kompromitiran. Želite li stvoriti certifikat za opoziv sad?
keyMan.button.generateCert=&Generiraj certifikat
genCompleteNoSign=Generiranje kljuÄa zavrÅ¡eno!
genGoing=Generiranje kljuÄa je već u tijeku!
passNoMatch=Lozinke se ne podudaraju; molimo Vas da ih ponovno unesete
passCheckBox=OznaÄite kvaÄicom kutiju ako ne odreÄ‘ujete lozinku za kljuÄ
passUserName=Molimo Vas da odredite korisniÄko ime za ovaj identitet
keygen.missingUserName=Nije odreÄ‘eno ime za odabranu državu/identitet. Molimo unesite vrijednost u polje "VaÅ¡e ime" u postavkama raÄunama.
keygen.passCharProblem=Koristite posebne znakove u svojoj lozinci. Nažalost, ovo može prouzroÄiti probleme drugim aplikacijama. PreporuÄamo da odaberete lozinku koja se sastoji jedino od ovih znakova:\na-z A-Z 0-9 /.;:,!?(){}[]%*
passSpaceProblem=Zbog tehniÄkih razloga VaÅ¡a lozinka ne može zapoÄeti ili zavrÅ¡iti s razmakom.
changePassFailed=Promjena lozinke nije uspjela.
keyConfirm=Generiraj javni i privatni kljuÄ za '%S'?
keyMan.button.generateKey=&Generiraj kljuÄ
keyAbort=Prekini generiranje kljuÄa?
keyMan.button.generateKeyAbort=&Prekini generiranje kljuÄa
keyMan.button.generateKeyContinue=&Nastavi generiranje kljuÄa
expiryTooLong=Ne možete stvoriti kljuÄ koji istiÄe za viÅ¡e od 100 godina.
expiryTooLongShorter=Ne možete stvoriti kljuÄ koji istiÄe za viÅ¡e od 90 godina.
expiryTooShort=VaÅ¡ kljuÄ mora biti valjan za najmanje jedan dan.
dsaSizeLimit=DSA kljuÄevi za potpisivanje su ograniÄeni na 3072 bita. VeliÄina kljuÄa će biti smanjena sukladno.
keyGenFailed=Generiranje kljuÄa nije uspjelo. Molimo Vas provjerite Enigmail konzolu (Izbornik Enigmail > Otklanjanje pogreÅ¡ki Enigmail-a) za detalje.
setKeyExpirationDateFailed=Datum isteka nije mogao biti promjenjen
# Strings in enigmailMessengerOverlay.js
securityInfo=Enigmail sigurnosne informacije\n\n
enigHeader=Enigmail:
enigContentNote=Enigmail: *Privitci ove poruke nisu potpisani ili enkriptirani*\n\n
possiblyPgpMime=Potencionalno PGP/MIME enkriptirana ili potpisana poruka; kliknite gumb Dekriptiraj za provjeru
noDecrypted=Nema dekriptirane poruke za pohranu!\nUpotrijebite Pohrani naredbu iz izbornika Datoteka
noMessage=Nema poruke za pohranu!
useButton=Molimo Vas kliknite gumb Dekriptiraj kako bi dekriptirali poruku
saveHeader=Enigmail: Pohrani dekriptiranu poruku
saveAttachmentHeader=Enigmail: Pohrani dekriptirani privitak
noTempDir=Nije pronađena privremena mapa u koju se piše\nMolimo Vas da postavite TEMP varijablu
attachmentPgpKey=ÄŒini se da je privitak '%S' koji otvarate datoteka OpenPGP kljuÄa.\n\nKliknte 'Uvezi' da bi uveli kljuÄeve ili 'Pregledaj' da bi pregledali sadržaj datoteke u prozoru preglednika
beginPgpPart=********* *POÄŒNI ENKRIPTRANI ili POTPISANI DIO* *********
endPgpPart=********** *ZAVRÅ I ENKRIPTIRANI ili POTPISANI DIO* **********
notePartEncrypted=Enigmail: *Dijelovi poruke NISU potpisani ili enkriptirani*
noteCutMessage=Enigmail: *Pronađeni višestruki blokovi poruke -- dekripcija/provjera prekinuta*
decryptOkNoSig=Upozorenje!\n\nDekripcija je provedena uspjeÅ¡no, ali potpisa nije mogao biti provjeren toÄno
msgOvl.button.contAnyway=&Svejedno nastavi
signature.verifiedOK=Potpis za privitak %S je uspješno provjeren
signature.verifyFailed=Potpis za privitak %S nije moguće provjeriti
attachment.noMatchToSignature=Nije moguće usporediti privitak '%S' s potpisnom datotekom
attachment.noMatchFromSignature=Nije moguće usporediti potpisnu datoteku '%S' s privitkom
fixBrokenExchangeMsg.failed=Popravak poruke nije uspio.
keysToExport=Odaberite OpenPGP kljuÄeve za umetanje
keysToUse=Odabeirte OpenPGP kljuÄ(eve) za uporabu za %S
pubKey=Javni kljuÄ za %S\n
windowLocked=Prozor stvaranja poruke je zakljuÄan; slanje otkazano
sendUnencrypted=Inicijalizacija Enigmail-a nije uspjela.\nPoslati neenkriptiranu poruku?
composeSpecifyEmail=Molimo Vas da odredite svoju primarnu email adresu koja će biti koriÅ¡tena pri odabiru potpisnog kljuÄa za odlazne poruke.\nAko ostavite prazno, OD adresa poruke će biti iskoriÅ¡tena za odabir potpisnog kljuÄa.
sendingHiddenRcpt=Ova poruka ima BCC (slijepe kopije - skrivene) primatelje. Ukoliko je ova poruka enkriptirana moguće je sakriti BCC primatelje ali korisnici nekih proizvoda (npr. PGP Corp.) neće biti u mogućnosti dekriptirati poruku. S tim na umu, savjetujemo Vam da izbjegavate BCC email-ove kad radite s enkriptiranim porukama.
sendWithHiddenBcc=Sakrij BCC primatelje
sendWithShownBcc=Enkriptiraj normalno
sendingNews=Operacija Enkriptiranog slanja prekinuta.\n\nOva poruka ne može biti dekriptirana jer postoje grupe primatelja. Molimo Vas da ponovno pošaljete poruku bez enkripcije.
sendToNewsWarning=Upozorenje: poslati ćete neenkriptirani email grupi primatelja.\n\nOvo se ne potiÄe jer ima smisla jedino ako svi Älanovi grupe mogu dekriptirati poruku, odnosno poruka mora biti enkriptirana s kljuÄevima svih Älanova grupe. PoÅ¡aljite ovu poruku jedino ako znate toÄno Å¡to radite.\n\nNastaviti?
hasHTML=HTML mail upozorenje:\nOva poruka može sadržavati HTML, Å¡to bi moglo prouzroÄiti neuspjeh potpisivanja/enkripcije. Da bi se to izbjeglo, u budućnosti bi trebali pritisnuti SHIFT tipku kad klikćete na Stvori/Odgovori gumb tako da poÅ¡aljete potpisan email.\nAko potpisujete email pod zadano, trebali bi odznaÄiti 'Stvori poruku u HTML-u' tako da trajno onemogućite HTML mail za ovaj raÄun.
strippingHTML=Poruka sadrži HTML informacije formatiranja koje će biti izgubljene prilikom pretvorbe u obiÄan tekst za potpisivanje/enkripciju. Želite li nastaviti?
msgCompose.button.sendAnyway=&Pošalji poruku svejedno
attachWarning=Privitci ovoj poruci nisu lokalni, ne mogu biti enkriptirani. Da bi enkriptirali te privitke prvo ih pohranite kao lokalne datoteke, a zatim dodajte kao privitke. Želite li svejedno poslati poruku?
quotedPrintableWarn=Omogućili ste enkodiranje 'citirano - pogodno za ispis' za poruke koje se Å¡alju. Ovo može rezultirati netoÄnom dekripcijom i/ili provjerom VaÅ¡e poruke.\nŽelite li iskljuÄiti slanje takvih poruka sad?
minimalLineWrapping=Postavili ste omatanje linije na %S znakova. Za ispravnu enkripciju i/ili potpisivanje, ova vrijednost mora biti najmanje 68.\nŽelite li promjeniti omatanje linije na 68 znakova sad?
warning=Upozorenje
signIconClicked=RuÄno ste modificirali potpisivanje, stoga, dok stvarate ovu poruku, (de)aktiviranje potpisivanja ne ovisi viÅ¡e o (de)aktiviranju enkripcije.
pgpMime_sMime.dlg.text=Omogućili ste PGP/MIME i S/MIME zajedno. Nažalost nije moguće podržati oba protokola u isto vrijeme. Molimo Vas da odaberete želite li koristiti PGP/MIME ili S/MIME.
pgpMime_sMime.dlg.pgpMime.button=Koristi &PGP/MIME
pgpMime_sMime.dlg.sMime.button=Koristi &S/MIME
errorKeyUnusable=Email adresa ili ID kljuÄa '%S' ne može biti spojena s važećim, ne isteklim OpenPGP kljuÄem.\nMolimo Vas da osigurate da imate važeći OpenPGP kljuÄ, te da VaÅ¡e postavke pokazuju na taj kljuÄ.
errorOwnKeyUnusable=ID '%S' kljuÄa konfiguriranog za trenutni identitet ne daje iskoristiv OpenPGP kljuÄ.\n\nUvjerite se da imate važeći, ne istekli OpenPGP kljuÄ i da postavke VaÅ¡eg raÄuna pokazuju na taj kljuÄ.\nAko VaÅ¡ kljuÄ nije istekao, provjerite jeste li postavili povjerenje prema vlasniku na puno ili ultimativno.
msgCompose.cannotSaveDraft=Pogreška prilikom spremanja predloška
msgCompose.internalEncryptionError=Interna pogreška: obećana enkripcija onemogućena
msgCompose.internalError=Došlo je do interne pogreške.
msgCompose.toolbarTxt.signAndEncrypt=Ova poruka će biti potpisana i enkriptirana
msgCompose.toolbarTxt.signOnly=Ova poruka će biti potpisana
msgCompose.toolbarTxt.encryptOnly=Ova poruka će biti enkriptirana
msgCompose.toolbarTxt.noEncryption=Ova poruka će biti nepotpisana i neenkriptirana
msgCompose.toolbarTxt.disabled=Enigmail je onemogućen za odabrani identitet
msgCompose.toolbarTxt.smime=S/MIME je omogućen - potencijalno konfliktan s Enigmail-om
msgCompose.toolbarTxt.smimeOff=- S/MIME se zbog toga ne koristi.
msgCompose.toolbarTxt.smimeSignOrEncrypt=S/MIME je omogućen - Enigmail se zbog toga ne koristi
msgCompose.toolbarTxt.smimeNoDraftEncryption=- predlošci neće biti enkriptirani
msgCompose.toolbarTxt.smimeConflict=Enigmail se ne koristi jer je S/MIME trenutno omogućen. Molimo ugasite S/MIME potpisivanje i/ili S/MIME enkripciju te omogućite Enigmail enkripciju
msgCompose.encryptedSubjectStub=Enkriptirana poruka
msgCompose.detailsButton.label=Detalji...
msgCompose.detailsButton.accessKey=D
# note: should end with double newline:
sendAborted=Operacija slanja prekinuta.\n\n
# details:
keyNotTrusted=Nema dovoljno povjerenja za kljuÄ '%S'
keyNotFound=KljuÄ '%S' nije pronaÄ‘en
keyRevoked=KljuÄ '%S' opozvan
keyExpired=KljuÄ '%S' je istekao
statPGPMIME=PGP/MIME
statSigned=POTPISANO
statEncrypted=ENKRIPTIRANO
statPlain=NEPOTPISANO i NEENKRIPTIRANO
offlineSave=Pohrani %1$S poruku za %2$S u mapi neposlanih poruka?
onlineSend=Pošalji %1$S poruku %2$S?
encryptKeysNote=Napomena: poruka je enkriptirana za sljedeće ID-e korisnika / kljuÄeve: %S
hiddenKey=
signFailed=Pogreška u Enigmail-u; Enkripcija/potpisivanje nije uspjelo; pošalji neenkriptiranu poruku?
msgCompose.button.sendUnencrypted=&Pošalji neenkriptiranu poruku
recipientsSelectionHdr=Odaberi primatelje za enkripciju
configureNow=JoÅ¡ niste postavili Enigmail sigurnost za odabrani identitet. Želite li to uÄiniti sad?
# encryption/signing status and associated reasons:
encryptMessageAuto=Enkriptiraj poruku (automatski)
encryptMessageNorm=Enkriptiraj poruku
signMessageAuto=Potpiši poruku (automatski)
signMessageNorm=Potpiši poruku
encryptOff=Enkripcija: ISKLJUÄŒENA
encryptOnWithReason=Enkripcija: UKLJUÄŒENA (%S)
encryptOffWithReason=Enkripcija: ISKLJUÄŒENA (%S)
encryptOn=Enkripcija: UKLJUÄŒENA
signOn=Potpisivanje: UKLJUÄŒENO
signOff=Potpisivanje: ISKLJUÄŒENO
signOnWithReason=Potpisivanje: UKLJUÄŒENO (%S)
signOffWithReason=Potpisivanje: ISKLJUÄŒENO (%S)
reasonEnabledByDefault=omogućeno pod zadano
reasonManuallyForced=prisiljeno ruÄno
reasonByRecipientRules=prisiljeno po pravilima primatelja
reasonByAutoEncryption=prisiljeno po auto enkripciji
reasonByConflict=zbog sukoba u pravilima primatelja
reasonByEncryptionMode=zbog enkripcijskog naÄina rada
reasonSmimeConflict=jer je S/MIME omogućen umjesto toga
# should not be used anymore:
encryptYes=Poruka će biti enkriptirana
encryptNo=Poruka neće biti enkriptirana
# should not be used anymore:
signYes=Poruka će biti potpisana
signNo=Poruka neće biti potpisana
# PGP/MIME status:
pgpmimeNormal=Protokol: PGP/MIME
inlinePGPNormal=Protokol: Inline PGP
pgpmimeAuto=Protokol: PGP/MIME (automatski)
inlinePGPAuto=Protokol: Inline PGP (automatski)
# should not be used anymore
pgpmimeYes=PGP/MIME će biti korišten
pgpmimeNo=Inline PGP će biti korišten
# Attach own key status (tooltip strings):
attachOwnKeyNo=VaÅ¡ kljuÄ neće biti privijen
attachOwnKeyYes=VaÅ¡ kljuÄ Ä‡e biti privijen
attachOwnKeyDisabled=VaÅ¡ kljuÄ ne može biti privijen. Morate odabrati specifiÄan kljuÄ\nu OpenPGP sekciji Postavki raÄuna kako bi omogućili ovu znaÄajku.
rulesConflict=Otkrivena konfliktna pravila po primatelju\n%S\n\nPošalji poruku s ovim postavkama?
msgCompose.button.configure=&Postavi
msgCompose.button.send=&Pošalji poruku
msgCompose.button.save=&Spremi poruku
# Strings in enigmailMsgHdrViewOverlay.js
keyNeeded=Potreban je javni kljuÄ %S da bi verificirali potpis
keyUsed=Javni kljuÄ %S koriÅ¡ten za provjeru potpisa
clickDecrypt=; kliknite Dekriptiraj gumb
clickDecryptRetry=; kliknite Dekriptiraj gumb da bi pokušali ponovno
clickDetailsButton=; kliknite na 'Detalji' za više informacija
clickImportButton=; kliknite na 'Uvezi kljuÄ' da bi preuzeli kljuÄ
keyTypeUnsupported=; vrsta kljuÄa nije podržana od strane VaÅ¡e verzije GnuPG-a
msgPart=Dio poruke %S
msgSigned=potpisan
msgSignedUnkownKey=potpisano nepoznatim kljuÄem
msgEncrypted=enkriptiran
msgSignedAndEnc=potpisan i enkriptiran
unverifiedSig=Neverificiran potpis
incompleteDecrypt=Dekripcija nepotpuna
needKey=GreÅ¡ka - nije pronaÄ‘en odgovarajući privatni/tajni kljuÄ za dekripciju poruke
failedDecrypt=Greška - dekripcija nije uspjela
badPhrase=Greška - loša lozinka
failedDecryptVerify=Greška - dekripcija/verifikacija nije uspjela
viewInfo=; Pogledajte > Informacije o sigurnosti poruke za detalje
decryptedMsg=Dekriptiraj poruku
decryptedMsgWithFormatError=Dekriptirana poruka (obnovljen potrgani PGP email format vjerovatno uzrokovan starim Exchange poslužitelje, tako da bi rezultat mogao biti nesavrÅ¡en za Äitanje)
usedAlgorithms=Korišteni algoritmi: %S i %S
# strings in pref-enigmail.js
oldGpgVersion14=Enigmail inicijalizacija nije uspjela.\n\nKoristite GnuPG verziju %S, koja više nije podržana. Enigmail zahtjeva GnuPG verziju 2.0.7 ili noviju. Molimo Vas da nadogradite svoju GnuPG instalaciju ili Enigmail neće raditi.
locateGpg=Lociraj GnuPG program
invalidGpgPath=GnuPG ne može biti izvršen s danom putanjom. Enigmail je deaktiviran dok ne promjenite putanju za GnuPG ili ne pokrenete ponovno aplikaciju.
warningsAreReset=Sva upozorenja su ponovno postavljena.
prefs.gpgFound=GnuPG je pronađen u %S
prefs.gpgNotFound=Nije pronađen GnuPG
prefs.warnAskNever=Upozorenje: aktiviranje ove opcije će rezultirati neenkriptiranim email-ovima bez daljnjih informacija u sluÄaju nedostatka kljuÄa za nekog od primatelja -- Enigmail Vas neće obavijestiti ako se to dogodi!
prefs.warnIdleTimeForUnknownAgent=Nije moguće spajanje s gpg-agent. Možda Vaš sustav koristi specijalizirani alat za upravljanje lozinkama (npr. gnome-keyring, seahorse-agent, KDE wallet manager...). Nažalost Enigmail ne može kontrolirati timeout lozinki za alat koji koristite. Zbog toga su pripadajuće postavke timeout-a u Enigmailu zanemarene.
prefEnigmail.oneKeyserverOnly=PogreÅ¡ka - možete odrediti samo jedan poslužitelj kljuÄeva za automatsko preuzimanje OpenPGP kljuÄeva koji nedostaju.
enterAdminPin=Molimo unesite administratorski PIN Vaše SmartCard
enterCardPin=Molimo unesite svoj SmartCard PIN
notInit=Pogreška - Enigmail usluga još nije inicijalizirana
badCommand=Pogreška - naredba enkripcije nije uspjela
cmdLine=naredbena linija i izlaz:
notRequired=Pogreška - enkripcija nije zahtjevana
notComplete=PogreÅ¡ka - generiranje kljuÄa joÅ¡ nije zavrÅ¡eno
invalidEmail=Pogreška - pogrešna email adresa ili adrese
noPassphrase=Pogreška - nije dana lozinka
noPGPblock=Pogreška - nije pronađen valjan oklopljeni OpenPGP blok podataka
unverifiedReply=UvuÄeni dio poruke (odgovor) je vjerovatno modificiran
keyInMessageBody=PronaÄ‘en kljuÄ u tjelu poruke. Stisnite 'Uvezi kljuÄ' kako bi uvezli kljuÄ
sigMismatch=Pogreška - potpisi se ne slažu
cantImport=PogreÅ¡ka pri uvozu javnog kljuÄa\n\n
doImportOne=Uvezi %1$S (%2$S)?
doImportMultiple=Uvezi sljedeće kljuÄeve?\n\n%S
previewFailed=Ne mogu proÄitati datoteku javnog kljuÄa.
# Strings used in errorHandling.jsm
sc.wrongCardAvailable=SmartCard %1$S pronaÄ‘ena u VaÅ¡em ÄitaÄu ne može biti koriÅ¡tena za obradu poruke.\nMolimo umetnite svoju SmartCard %S i ponovite operaciju.
sc.insertCard=Operacija zahtjeva Vašu SmartCard %S.\nMolimo umetnite zahtjevanu SmartCard i ponovite operaciju.
sc.removeCard=Operacija ne zahtjeva SmartCard u ÄitaÄu.\nMolimo uklonite svoju SmartCard i ponovite operaciju.
sc.noCardAvailable=Nije pronaÄ‘ena nijedna SmartCard u VaÅ¡em ÄitaÄu\nMolimo Vas umetnite SmartCard i ponovite operaciju.
sc.noReaderAvailable=VaÅ¡oj SmartCard se ne može pristupiti\nMolimo spojite VaÅ¡ SmartCard ÄitaÄ, umetnite karticu i ponovite operaciju.
keyError.keySpecNotFound=Email adresa "%S" ne može biti usporeÄ‘ena sa kljuÄem na VaÅ¡em privjesku kljuÄeva.
keyError.keyIdNotFound=Konfigurirani ID "%S" kljuÄa ne može biti pronaÄ‘en na VaÅ¡em privjesku kljuÄeva.
keyError.resolutionAction=Molimo odaberite ispravan kljuÄ u OpenPGP odjelu u Postavkama raÄuna.
missingPassphrase=Nedostaje lozinka
errorHandling.gpgAgentInvalid=Vaš sustav koristi verziju gpg-agent koja ne odgovara Vašoj GnuPG verziji.
errorHandling.gpgAgentError=GnuPG je prijavio pogrešku u komunikaciji s gpg-agent -om (komponenta GnuPG-a).
errorHandling.dirmngrError=GnuPG je prijavio pogrešku u komunikaciji s dirmngr-om (komponenta GnuPG-a).
errorHandling.pinentryError=GnuPG ne može poslati upit za Vašu lozinku putem unosa pin-a.
errorHandling.readFaq=Ovo je greÅ¡ka sustava ili konfiguracije koja onemogućava da Enigmail radi ispravno i ne može biti popravljena automatski.\n\nPreporuÄamo da se posavjetujete s naÅ¡om stranicom https://enigmail.net/faq.
gpgNotFound=Nije pronaÄ‘en GnuPG program '%S'.\nBudite sigurni da ste postavili toÄnu putanju do izvrÅ¡ne datoteke u Enigmail postavkama.
gpgNotInPath=Nije pronaÄ‘ena GnuPG izvrÅ¡na datoteka na PUTANJI.\nBudite sigurni da ste postavili toÄnu putanju do izvrÅ¡ne datoteke u Enigmail postavkama.
enigmailNotAvailable=Enigmail jezgrena usluga nije dostupna
gpgAgentNotStarted=Nije moguće pokrenuti gpg-agent program koji je potreban za Vašu GnuPG verziju %S.
prefUntrusted=NESIGURNI
prefRevoked=REVOCIRANI KLJUČ
prefExpiredKey=ISTEKLI KLJUČ
prefExpired=ISTEKLI
prefGood=Dobar potpis od %S
prefBad=LOÅ potpis od %S
failCancel=PogreÅ¡ka - primanje kljuÄa otkazano od strane korisnika
failNoServer=PogreÅ¡ka - nije odreÄ‘en poslužitelj kljuÄeva s kojeg bi se preuzeo kljuÄ
failNoID=PogreÅ¡ka - nije odreÄ‘en ID kljuÄa za koji se preuzima kljuÄ
failKeyExtract=PogreÅ¡ka - naredba ekstrakcije kljuÄa nije uspjela
notFirstBlock=PogreÅ¡ka - Prvi OpenPGP blok nije blok javnog kljuÄa
importKeyConfirm=Uvezi javni kljuÄ(eve) ugraÄ‘en(e) u poruku?
failKeyImport=PogreÅ¡ka - uvoz kljuÄa nije uspio
fileWriteFailed=Pisanje u datoteku %S nije uspjelo
importKey=Uvezi javni kljuÄ %S sa poslužitelja kljuÄeva:
uploadKey=PoÅ¡alji javni kljuÄ %S na poslužitelj kljuÄeva:
keyId=ID kljuÄa
keyAndSigDate=ID kljuÄa: 0x%1$S / potpisan: %2$S
keyFpr=Otisak prsta kljuÄa: %S
noEmailProvided=Niste dali email adresu!
keyAlreadySigned=KljuÄ je već potpisan, ne možete ga potpisati dva puta.
gnupg.invalidKey.desc=KljuÄ %S nije pronaÄ‘en ili nije valjan. (Pod)kljuÄ je možda istekao.
selKeyExpired=istekao %S
createdHeader=Stvoren
atLeastOneKey=Nije odabran kljuÄ! Morate odabrati najmanje jedan kljuÄ da bi prihvatili ovaj dijalog
fewerKeysThanRecipients=Odabrali ste manji broj kljuÄeva nego primatelja. Jeste li sigurni da je popis kljuÄeva za enkripciju potpun?
userSel.button.goBack=Odaberi viÅ¡e kljuÄeva
userSel.secretKeySel.title=Odabei tajni OpenPGP kljuÄ za potpisivanje poruka
userSel.problemNoKey=Nema važećih kljuÄeva
userSel.problemMultipleKeys=ViÅ¡estruki kljuÄevi
# should be same as thunderbird ENTITY sendLaterCmd.label:
sendLaterCmd.label=Pošalji kasnije
# Strings used in enigmailAttachmentDialog.js
pgpMimeNote=NAPOMENA: PGP/MIME je podržan od strane ograniÄenog broja email klijenata! Na Windows-ima se sa sigurnošću zna jedino da Mozilla/Thunderbird, Sylpheed, Pegasus i Mulberry podržavaju ovaj standard; na Linux/UNIX-u i Mac OS X-u ga podržavaju najpopularniji klijenti. Ako niste sigurni odaberite %S opciju.
first=prvu
second=drugu
# Strings used in am-enigprefs.js
encryptKeyHeader=Odaberite OpenPGP kljuÄ za enkripciju
identityName=Identitet: %S
# Strings used in enigmailSingleRcptSettings.js
noEncryption=Aktivirali ste enkripciju ali niste odabrali kljuÄ. Kako bi enkriptirali email-ove poslane prema %1$S morate odrediti jedan ili viÅ¡e važećih kljuÄeva iz VaÅ¡eg popisa kljuÄeva. Želite li onemogućiti enkripciju za %2$S?
noKeyToUse=(ništa - bez enkripcije)
noEmptyRule=Pravilo ne smije biti prazno! Molimo Vas postavite email adresu u polju Pravila.
invalidAddress=Jedna ili više email adresa koje ste unijeli nisu valjane. Ne bi trebali postavljati imena primatelja, samo email adrese. Npr:\nNeispravno: Neko Ime \nIspravno: neko.ime@adresa.net
noCurlyBrackets=VitiÄaste zagrade {} imaju posebno znaÄenje i ne bi trebale biti koriÅ¡tene u email adresama. Ako želite urediti odgovarajuće ponaÅ¡anje za ovo pravilo upotrijebite opciju 'Primjeni pravilo ako korisnik...'.\nViÅ¡e informacija dostupno na gumbu Pomoć.
# Strings used in enigmailRulesEditor.js
never=Nikad
always=Uvijek
possible=Moguće
deleteRule=Stvarno obrisati odabrano pravilo?
nextRcpt=(Sljedeći primatelj)
negateRule=Ne
addKeyToRule=Dodaj kljuÄ %1$S (%2$S) pravilu po primatelju
# Strings used in enigmailSearchKey.js
needOnline=Funkcija koju ste odabrali nije dostupna u izvanmrežnom naÄinu rada. Molimo Vas da se povežete s mrežom i probate opet.
protocolNotSupported=Protokol '%S://' koji ste odabrali nije podržan za preuzimanje OpenPGP kljuÄeva.
gpgkeysDisabled=Možda bi pomoglo da omogućite opciju 'extensions.enigmail.useGpgKeysTool'.
noKeyserverConn=Spajanje na poslužitelj kljuÄeva %S nije uspjelo.
keyDownloadFailed=Preuzimanje kljuÄa s poslužitelja kljuÄeva nije uspjelo. Poruka je:\n%S
internalError=Dogodila se interna pogreÅ¡ka. KljuÄevi se nisu mogli preuzeti ili uvesti.
noKeyFound=Žao nam je, ali nismo mogli pronaći kljuÄ koji odgovara zadanim kriterijima pretrage.\nMolimo Vas da obratite pozornost da bi ID kljuÄa trebao poÄeti s "0x= (npr. 0xABCDEF12).
# gpgkeys_%S is one of the gpg command line tools gpgkeys_hkp, gpgkeys_ldap, etc.
gpgKeysFailed=Pretraga ili preuzimanje kljuÄa sa poslužitelja kljuÄeva nijo uspjelo: gpgkeys_%S nije moguće izvrÅ¡iti.
# Strings in enigmailEditKeyTrustDlg.xul
setKeyTrustFailed=Postavljanje povjerenja valsnika nije uspjelo
# Strings in enigmailSignKeyDlg.js
signKeyFailed=Potpisivanje kljuÄa nije uspjelo
alreadySigned.label=Napomena: kljuÄ %S je već potpisan s odabranim tajnim kljuÄem.
alreadySignedexportable.label=Napomena: kljuÄ %S je već potpisan za izvoz sa odabranim privatnim kljuÄem. Lokalni potpis nema smisla.
partlySigned.label=Napomena: neki ID-evi korisnika kljuÄa %S su već potpisani s odabranim tajnim kljuÄem.
noTrustedOwnKeys=Nije pronaÄ‘en kvalificirani kljuÄ za potpisivanje! Trebate barem jedan privatni kljuÄ kojem se potpuno vjeruje kako bi potpisivali kljuÄeve.
# Strings in enigmailKeyManager.js
keyMan.loadingKeys=UÄitavam kljuÄeve, priÄekajte...
keyValid.unknown=nepoznat
keyValid.invalid=neisprava
keyValid.disabled=onemogućen
keyValid.revoked=opozvan
keyValid.expired=istekao
keyValid.noSubkey=nema valjanog podkljuÄa
keyTrust.untrusted=nesiguran
keyTrust.marginal=marginalan
keyTrust.full=siguran
keyTrust.ultimate=ultimativan
keyTrust.group=(grupa)
keyType.public=javni
keyType.publicAndSec=javni/tajni
keyMan.enableKey=Omogući kljuÄ
keyMan.disableKey=Onemogući kljuÄ
userAtt.photo=Koristi atribut (JPEG slike)
asciiArmorFile=ASCII oklopljene datoteke (*.asc)
importKeyFile=Uvezi OpenPGP datoteku kljuÄa
gnupgFile=GnuPG datoteke
saveRevokeCertAs=Stvori i pohrani certifikat za opoziv
revokeCertOK=Certifikat za opoziv je uspjeÅ¡no stvoren. Možete ga iskoristiti za poniÅ¡tavanje valjanosti svog javnog kljuÄa, npr. u sluÄaju da izgubite svoj tajni kljuÄ.\n\nMolimo Vas da ga prenesete na medij koji može biti pohranjen sigurno, primjerice USB ili CD. Ako netko dobije pristup ovom certifikatu može ga iskoristiti da uÄini VaÅ¡ kljuÄ neiskoristivim.
revokeCertFailed=Certifikat za opoziv nije mogao biti stvoren.
addUidOK=KorisniÄki ID uspjeÅ¡no dodan
addUidFailed=Dodavanje korisniÄkog ID-a nije uspjelo
noKeySelected=Trebali bi odabrati barem jedan kljuÄ kako bi proveli odabranu operaciju
exportToFile=Izvezi javni kljuÄ u datoteku
exportKeypairToFile=Izvezi tajni i javni kljuÄ u datoteku
exportSecretKey=Želite li ukljuÄiti tajni kljuÄ u pohranjenu OpenPGP datoteku kljuÄa?
saveKeysOK=KljuÄevi uspjeÅ¡no pohranjeni
saveKeysFailed=Pohrana kljuÄeva nije uspjela
importKeysFailed=Uvoz kljuÄeva nije uspio
enableKeyFailed=Omogućivanje/onemogućivanje kljuÄeva nije uspjelo
specificPubKeyFilename=%1$S (0x%2$S) javni
specificPubSecKeyFilename=%1$S (0x%2$S) javni-tajni
defaultPubKeyFilename=Izvezeni-javni-kljuÄevi
defaultPubSecKeyFilename=Izvezeni-javni-i-tajni-kljuÄevi
noSecretKeys=Nisu pronaÄ‘eni tajni kljuÄevi.\n\nŽelite li generirati svoj kljuÄ sad?
sendKeysOk=KljuÄ(evi) poslan(i) uspjeÅ¡no
sendKeysFailed=Slanje kljuÄeva nije uspjelo
receiveKeysOk=KljuÄ(evi) uspjeÅ¡no ažuriran(i)
receiveKeysFailed=Preuzimanje kljuÄeva nije uspjelo
importFromClip=Želite li uvesti neke kljuÄeve iz meÄ‘uspremnika?
importFromUrl=Preuzmite javni kljuÄ sa ovog URL-a:
copyToClipbrdFailed=Kopiranje odabranih kljuÄeva u meÄ‘uspremnik nije moguće.
copyToClipbrdOK=KljuÄ(evi) kopiran(i) u meÄ‘uspremnik
deleteSecretKey=UPOZORENJE: PokuÅ¡avate obrisati tajni kljuÄ!\nAko obriÅ¡ete tajni kljuÄ, nećete viÅ¡e moći dekriptirati poruke enkriptirane za taj kljuÄ, i nećete viÅ¡e moći opozvati svoj kljuÄ.\n\nŽelite li uistinu obrisati OBA kljuÄa, tajni i javni?\n'%S'
deleteMix=UPOZORENJE: PokuÅ¡avate obrisati tajne kljuÄeve!\nAko obriÅ¡ete tajni kljuÄ, nećete viÅ¡e moći dekriptirati poruke enkriptirane za taj kljuÄ.\n\nŽelite li uistinu obrisati odabrane kljuÄeve, tajne i javne?
deletePubKey=Želite li obrisati javni kljuÄ\n'%S'?
deleteSelectedPubKey=Želite li obrisati javne kljuÄeve?
deleteKeyFailed=KljuÄ se ne može obrisati.
revokeKeyQuestion=Opozvati će te kljuÄ '%S'.\n\nViÅ¡e nećete biti u mogućnosti potpisivati ovim kljuÄem, i jednom distribuirano, ostali neće moći dekriptirati s tim kljuÄem. JoÅ¡ uvjek možete koristit kljuÄ za dekripciju starih poruka.\n\nŽelite li nastaviti?
revokeKeyOk=KljuÄ je opozvan. Ako je VaÅ¡ kljuÄ dostupan na poslužitelju kljuÄeva, preporuÄa se ponovno postavljanje tako da drugi mogu vidjeti opoziv.
revokeKeyFailed=KljuÄ se ne može opozvati.
refreshAllQuestion=Niste odabrali nijedan kljuÄ. Želite li osvježiti SVE kljuÄeve?
refreshKey.warn=Upozorenje: ovisno o broju kljuÄeva i brzini veze, osvježenje svih kljuÄeva može biti dugotrajan proces!
downloadContactsKeys.warn=Upozorenje: ovisno o broju kontakta i brzini veze, preuzimanje kljuÄeva može biti dugotrajan proces!
downloadContactsKeys.importFrom=Uvesti kontakte iz adresara '%S'?
keyMan.button.exportSecKey=Izvezi &Tajne kljuÄeve
keyMan.button.exportPubKey=Izvezi samo &Javne kljuÄeve
keyMan.button.import=&Uvezi
keyMan.button.refreshAll=&Osvježi sve kljuÄeve
keyMan.button.revokeKey=&Opozovi kljuÄ
keyMan.button.skip=&PreskoÄi kljuÄ
keylist.noOtherUids=Nema drugih identiteta
keylist.hasOtherUids=Također poznat kao
keylist.noPhotos=Slika nije dostupna
keylist.hasPhotos=Slike
keyMan.addphoto.filepicker.title=Odaberite sliku za dodavanje
keyMan.addphoto.warnLargeFile=Datoteka koju ste odabrali je veća od 25 kB.\nNije preporuÄeno dodavati vrlo velike datoteke jer se tako povećavaju kljuÄevi.
keyMan.addphoto.noJpegFile=Izgleda da odabrana datoteka nije JPEG datoteka. Molimo Vas da odaberete drugu datoteku.
keyMan.addphoto.failed=Slika se ne može dodati.
# Strings in enigmailManageUidDlg.xul
changePrimUidFailed=Mijenjanje primarnog korisniÄkog ID-a nije uspjelo
changePrimUidOK=Primarni korisniÄki ID uspjeÅ¡no promijenjen
deleteUidFailed=Brisanje korisniÄkog ID-a %S nije uspjelo
deleteUidOK=KorisniÄki ID %S je uspjeÅ¡no obrisan
revokeUidFailed=Opoziv korisniÄkog ID-a %S nije uspio
revokeUidOK=KorisniÄki ID %S je uspjeÅ¡no opozvan. Ako je VaÅ¡ kljuÄ dostupan na poslužitelju kljuÄeva, preporuÄa se ponovno postavljanje, tako da ostali mogu vidjeti opoziv.
revokeUidQuestion=Želite li stvarno opozvati korisniÄki ID %S?
deleteUidQuestion=Želite li stvarno izbrisati korisniÄki ID %S?\n\nNapomena: ako ste predali svoj javni kljuÄ na poslužitelj kljuÄeva, brisanje korisniÄkog ID-a neće promijeniti niÅ¡ta. U tom sluÄaju bi trebali koristiti 'Opozovi korisniÄki ID'.
# Strings in enigmailKeyImportInfo.xul
importInfoTitle=USPJEH! KljuÄevi uvedeni
importInfoSuccess=✅
importInfoBits=Bitovi
importInfoCreated=Stvoreno
importInfoFpr=Otisak prsta
importInfoDetails=(Detalji)
importInfoNoKeys=Nema uvedenih kljuÄeva.
# Strings in enigmailKeyDetailsDlg.xul
keyTypePublic=javni kljuÄ
keyTypePrimary=primarni kljuÄ
keyTypeSubkey=podkljuÄ
keyTypePair=par kljuÄeva
keyExpiryNever=nikad
keyAlgorithm_1=RSA
keyAlgorithm_2=RSA
keyAlgorithm_3=RSA
keyAlgorithm_16=ELG
keyAlgorithm_17=DSA
keyAlgorithm_18=ECC
keyAlgorithm_19=ECC
keyAlgorithm_20=ELG
keyAlgorithm_22=EDDSA
keyUsageEncrypt=Enkriptiraj
keyUsageSign=Potpiši
keyUsageCertify=Certificiraj
keyUsageAuthentication=Autentikacija
keyDoesNotExpire=KljuÄ ne istiÄe
# Strings in enigmailGenCardKey.xul
keygen.started=Molimo priÄekajte dok se kljuÄ generira...
keygen.completed=KljuÄ generiran. Novi ID kljuÄa je: 0x%S
keygen.keyBackup=Sigurnosna kopija kljuÄa je %S
keygen.passRequired=Molimo Vas da odredite lozinku ako želite stvoriti sigurnosnu kopiju VaÅ¡eg kljuÄa izvan SmartCard-a.
# Strings in enigmailSetCardPin.xul
cardPin.dontMatch=PIN koji ste unijeli ne odgovara; unesite ponovno
cardPin.minLength=PIN mora imati najmanje %S slova ili brojeva
cardPin.processFailed=Promjena PIN-a nije uspjela
# Strings in enigRetrieveProgres.xul
keyserverProgress.refreshing=Osvježujem kljuÄeve, priÄekajte...
keyserverProgress.uploading=Postavljam kljuÄeve, priÄekajte...
keyserverTitle.refreshing=Osvježi kljuÄeve
keyserverTitle.uploading=Postavljanje kljuÄa
# Strings in enigmailSetupWizard
passphrase.min8keys=Vaša lozinka bi trebala sadržavati najmanje 8 znakova!
setupWizard.reallyCancel=Želite li stvarno zatvoriti Enigmail Äarobnjak za postavljanje?
setupWizard.invalidGpg=Datoteka koju ste odredili nije izvršna datoteka GnuPG-a. Molimo odredite drugu datoteku.
setupWizard.specifyFile=Morate odrediti barem javni kljuÄ da bi nastavili.
setupWizard.installFailed=Izgleda da instalacija nije uspjela. Ili ponovno pokuÅ¡ajte ili instalirajte GnuPG ruÄno te ga locirajte koristeći Pregledaj gumb.
setupWizard.downloadForbidden=Za Vašu osobnu sigurnost nećemo preuzeti GnuPG. Posjetite http://www.gnupg.org/ kako bi preuzeli GnuPG.
setupWizard.downloadImpossible=Trenutno ne možemo preuzeti GnuPG. Probajte ponovno kasnije ili posjetite http://www.gnupg.org/ da bi preuzeli GnuPG.
setupWizard.hashSumError=Čarobnjak nije mogao potvrditi integritet preuzete datoteke. Datoteka može biti oštećena ili obrađivana od treće strane. Želite li svejedno nastaviti instalaciju?
setupWizard.importSettingsFile=Odredite datoteku sigurnosne kopije iz koje će se uÄitavati
setupWizard.invalidSettingsFile=Specificirana datoteka nije toÄna Enigmail datoteka sigurnosne kopije postavki.
setupWizard.gpgConfExists=Datoteka GnuPG postavki već postoji. Želite li ju prepisati s onom iz stare instalacije?
# Strings in installGnuPG.jsm
installGnuPG.downloadFailed=Dogodila se pogreška pri preuzimanju GnuPG-a. Molimo provjerite konzolni zapis za daljnje detalje.
installGnuPG.installFailed=Dogodila se pogreška prilikom instalacije GnuPG-a. Provjerite konzolni zapis za daljnje detalje.
# Strings in enigmailAddUidDlg.xul
addUidDlg.nameOrEmailError=Morate ispuniti ime i email adresu.
addUidDlg.nameMinLengthError=Ime mora imati minimalno 5 znakova
addUidDlg.invalidEmailError=Morate odrediti valjanu email adresu
addUidDlg.commentError=Zagrade nisu dozvoljene u komentarima
# Strings in enigmailCardDetails.js
Carddetails.NoASCII=OpenPGP SmartCard podržava jedino ASCII znakove u imenu/prezimenu.
# network error types
errorType.SecurityCertificate=Sigurnosni certifikat pružen od strane web usluge nije valjan.
errorType.SecurityProtocol=Sigurnosni protokol korišten od strane web usluge je nepoznat.
errorType.Network=Dogodila se mrežna pogreška.
# filter stuff
filter.folderRequired=Morate odabrati ciljnu mapu.
filter.decryptMove.label=Dekriptiraj trajno (Enigmail)
filter.decryptCopy.label=Kreiraj dekriptiranu kopiju (Enigmail)
filter.decryptMove.warnExperimental=Upozorenje - filter akcija "Dekriptiraj trajno" može dovesti do uniÅ¡tenih poruka.\n\nSnažno preporuÄamo da prvo probate filter "Kreiraj dekriptiranu kopiju", pozorno testirate rezultate, te poÄnete koristit ovaj filter tek kad ste zadovoljni rezultatima.
# strings in enigmailConvert.jsm
converter.decryptBody.failed=Nije uspjelo dekriptiranje poruke s predmetom\n"%S".\nŽelite li pokuÅ¡ati ponovno s drugom lozinkom ili želite preskoÄiti poruku?
converter.decryptAtt.failed=Nije uspjelo dekriptiranje privitka "%1$S"\nporuke s predmetom\n"%2$S".\nŽelite li pokuÅ¡ati ponovno s drugom lozinkom ili želite preskoÄiti poruku?
saveLogFile.title=Pohrani datoteku zapisa
# strings in gpg.jsm
unknownSigningAlg=Nepoznat algoritam potpisivanja (ID: %S)
unknownHashAlg=Nepoznat kriptografski hash (ID: %S)
# strings in keyRing.jsm
keyring.photo=Slika
keyRing.pubKeyRevoked=KljuÄ %1$S (ID kljuÄa %2$S) je opozvan.
keyRing.pubKeyExpired=KljuÄ %1$S (ID kljuÄa %2$S) je istekao.
keyRing.pubKeyNotForSigning=KljuÄ %1$S (ID kljuÄa %2$S) ne može biti koriÅ¡ten za potpisivanje.
keyRing.pubKeyNotForEncryption=KljuÄ %1$S (ID kljuÄa %2$S) ne može biti koriÅ¡ten za enkripciju.
keyRing.keyDisabled=KljuÄ %1$S (ID kljuÄa %2$S) je onemogućen; ne može biti koriÅ¡ten.
keyRing.keyNotTrusted=KljuÄu %1$S (ID kljuÄa %2$S) se ne vjeruje dovoljno. Molimo postavite razinu povjerenja na "ultimativno" kako bi ga koristili za potpisivanje.
keyRing.keyInvalid=KljuÄ %1$S (ID kljuÄa %2$S) je nevažeći (možda nema samo-potpis).
keyRing.signSubKeysRevoked=Svi poptisni podkljuÄevi kljuÄa %1$S (ID kljuÄa %2$S) su opozvani.
keyRing.signSubKeysExpired=Svi poptisni podkljuÄevi kljuÄa %1$S (ID kljuÄa %2$S) su istekli.
keyRing.signSubKeysUnusable=Svi poptisni podkljuÄevi kljuÄa %1$S (ID kljuÄa %2$S) su opozvani, istekli ili drugaÄije neiskoristivi.
keyRing.encSubKeysRevoked=Svi enkripcijski podkljuÄevi kljuÄa %1$S (ID kljuÄa %2$S) su opozvani.
keyRing.encSubKeysExpired=Svi enkripcijski podkljuÄevi kljuÄa %1$S (ID kljuÄa %2$S) su istekli.
keyRing.noSecretKey=Izgleda da nemate tajni kljuÄ za %1$S (ID kljuÄa %2$S) na VaÅ¡em privjesku kljuÄeva; ne možete koristiti taj kljuÄ za potpisivanje.
keyRing.encSubKeysUnusable=Svi enkripcijski podkljuÄevi kljuÄa %1$S (ID kljuÄa %2$S) su opozvani, istekli ili drugaÄije neiskoristivi.
#strings in exportSettingsWizard.js
cannotWriteToFile=Ne može se spremiti u datoteku '%S'. Molimo odredite drugu datoteku.
dataExportError=Došlo je do greške prilikom izvoza Vaših podataka.
enigmailSettings=EnigmailPostavke
defaultBackupFileName=Enigmail-izvoz
specifyExportFile=Odredite ime za izvoz
homedirParamNotSUpported=Dodatni parametri koji konfiguriraju putanje, primjerice --homedir i --keyring nisu podržani za izvoz/uvoz Vaših postavki. Molimo koristite alternativne metode, primjerice postavite varijablu okoline na GNUPGHOME.
#strings in expiry.jsm
expiry.keyExpiresSoon=VaÅ¡ kljuÄ %1$S istiÄe za manje od %2$S dana.\n\nPreporuÄamo da stvorite novi par kljuÄeva i postavite raÄune tako da ih koriste.
expiry.keysExpireSoon=Sljedeći VaÅ¡i kljuÄevi istiÄu za manje od %1$S dana:\n%2$S. PreporuÄamo da stvorite nove kljuÄeve i konfigurirate raÄune tako da ih koriste.
# msgCompose.partiallyEncrypted.short=Beware of leaking sensitive information - partially encrypted email.
# msgCompose.partiallyEncrypted.long=The message you are editing was partially encrypted. That is, the message contains unencrypted and encrypted parts. Some encrypted message parts may even be invisible to you.\n\nIf the sender was not able to decrpyt the message parts originally, it is likely that you only got the email with some surrounding unencrypted text in order to make you reveal the encrypted information.
enigmail/lang/hr/help/ 0000775 0000000 0000000 00000000000 13213001347 0015117 5 ustar 00root root 0000000 0000000 enigmail/lang/hr/help/compose.html 0000664 0000000 0000000 00000010075 13213001347 0017455 0 ustar 00root root 0000000 0000000
Enigmail Help: Message Composition
Enigmail Help
Using Enigmail when composing messages
Enigmail menu in Mail/Compose window
Sign message
Enable/Disable sending signed mail. User is notified, if signing fails.
Encrypt message
Enable/Disable encryption to all recipient(s) before sending. User is notified, if encryption fails.
If Display selection when necessary is set in Preferences -> Key Selection tab, a list of keys will pop up if there are addresses in the list of recipients for the message for whom you have no public key.
If Never display OpenPGP key selection dialog is set in Preferences -> Key Selection tab, and there are addresses in the list of recipients for the message for whom you have no public key, the message will be sent unencrypted.
Use PGP/MIME for this message
Enable/Disable the use of PGP/MIME for this message.
If you know the recipient(s) can read mail using the PGP/MIME format, you should use it.
This feature is dependent on the settings in Preferences -> PGP/MIME tab being set to Allow to use PGP/MIME or Always use PGP/MIME.
Default composition options
Signing/Encryption Options...: shortcut to Account Settings -> OpenPGP Options.
Send options...: shortcut to Preferences -> Send tab.
Key selection options...: shortcut to Preferences -> Key Selection tab.
PGP/MIME options...: shortcut to Preferences -> PGP/MIME tab.
Undo encryption
If there is a failure when actually sending mail, such as the POP server not accepting the request, Enigmail will not know about it, and the encrypted message will continue to be displayed in the Compose window. Choosing this menu item will undo the encryption/signing, reverting the Compose window back to its original text.
As a temporary fix, this option may also be used to decrypt the quoted text when replying to encrypted messages. Enigmail should automatically decrypt the quoted message, but if that fails for some reason, you can use this menu item to force it.
Insert public key
insert ASCII-armored public key block at the current cursor location in the Compose window. You will be prompted for the email addresses of the key(s) to be inserted. Keys inserted in this manner will automatically be recognized at the receiving end by Enigmail. After key insertion, you may still choose to sign/encrypt the mail as needed. Also, do not insert more than one key block in a message; just specify multiple email addresses, separated by commas or spaces, when prompted.
Clear save passphrase
Clears cached passphrase. Useful if you have multiple passphrases.
Help
Displays Help information from the website (this page).
Using the Enigmail Rules Editor: Edit Per-Recipient Rule
In the Rules Editor, you can specify defaults per recipient for enabling encryption, signing and PGP/MIME, and to define what OpenPGP key(s) to use. In this dialog, you can specify the rules for a single recipient, and for a group of recipients with very similar attributes.
Set Enigmail Rules for
Contains the email addresses of the recipients (without names, i.e. just an address like somebody@email.domain). You can specify several email addresses, separated by spaces. The address specified here can consist of only the domain section so that mail to any address at that domain will be matched, e.g. @email.domain will allow matching to body@email.domain, somebody@email.domain, anybody@email.domain, etc.
Apply rule if recipient ...
This modifies the matching of the email addresses. If multiple addresses are entered, the setting will apply to all. The examples below are based on body@email.domain entered in the Enigmail Rules field above.
Is exactly: with this setting, the rule will only trigger on emails to body@email.domain (exact, case insensitive matching).
Contains: with this setting, any email address containing the string is matched, e.g. anybody@email.domain or body@email.domain.net
Begins with: with this setting, any email address starting with the string is matched, e.g. body@email.domain.net, body@email.domain-name.com.
Ends with: with this setting, any email address ending with the string is matched, e.g. anybody@email.domain , somebody@email.domain.
Continue with the next rule for the matching address
Enabling this function will allow you to define a rule but not have to specify a KeyID in the Use the following OpenPGP keys: field, so that the email address is used to check for a key at the time of sending. Also, further rules for the same address(es) will be processed as well.
Do not check further rules for the matching address
Enabling this function stops processing any other rules for the matching address(es) if this rule is matched; i.e. rule processing continues with the next recipient.
Use the following OpenPGP keys:
Use the Select Key(s).. button to select the recipient keys to be used for encryption. As in the action above, no further rules for the matching address(es) are processed.
Default for Signing
Enable or disable message signing. This either uses or overrides what you have specified in the message composition window. The values are:
Never: disable signing, even if it was enabled in the message composition window (overrules the other values)
Yes, if selected from in Message Composition: leave signing as specified in the message composition window
Always: enable signing, even if it was not enabled in the message composition window
These signing settings are applied for all rules that match. If one of the rules disables signing, the message will not be signed, regardless of other rules that specify Always.
Encryption
Enable or disable message encryption. The allowed settings and their meaning are the same as for message signing.
PGP/MIME
Enable or disable the use of the PGP/MIME (RFC 3156) message encoding. If PGP/MIME is disabled, the messages are encoded using "inline PGP". The allowed values and their meaning are the same as for message signing.
The rules are processed in the order displayed in the list in the Per-Recipient Rules Editor. Whenever a rule matches a recipient and contains a OpenPGP Key ID, in addition to using the specified Key ID, the recipient is not considered anymore when processing further rules.
Decrypt button in main Mail window
This button can be used for several purposes: decrypt, verify, or import public keys. Normally decryption/verification happens automatically, although this can be disabled through a preference. However, if this fails, usually a short error message will appear in the Enigmail status line. If you click the Decrypt button, you will be able to see a more detailed error message, including the output from the GnuPG command.
Pen and Key icons in Message Header display
The Pen and Key icons in the Message Header display indicate if the message you are reading was signed and/or encrypted and if the signature is good, i.e. the message has not been changed since it was signed. If the message has been changed, the Pen icon will change to a Broken Pen to indicate that the signature is bad. Right clicking on either the Pen or Key icons will bring up a menu with the following options:
Enigmail Security info: allows you to view the output status from GnuPG for the message.
Copy Enigmail Security info: copies the output status from GnuPG to the clipboard; to paste into a reply message, etc.
View OpenPGP Photo ID: allows you to view the Photo ID of the person who sent the message, if they have a photo embedded in their Public Key. (This option will only be enabled if a Photo ID exists in their key.)
S/MIME Security info: allows you to view the S/MIME Security Info for the message.
If you do not have keyserver-options auto-key-retrieve set in your gpg.conf file and you read a message which is signed or encrypted, you will see a Pen icon in the headers display area with a Question mark on it, the Enigmail status line in the headers area will say Part of the message signed; click pen icon for details and the message in the Message Pane will show all the OpenPGP message block indicators and the signature block.
You may also see this if you have keyserver-options auto-key-retrieve set in your gpg.conf file and the OpenPGP key is not available on the default keyserver.
Clicking on the Pen and Question mark icon will bring up a window advising that the key is unavailable in your keyring. Clicking on OK will bring up another window with a list of keyservers from which you can select to download the sender's public key from.
To configure the list of keyservers you wish to use, go to Enigmail -> Preferences -> Basic tab and enter the keyserver addresses in the Keyserver(s): box, separated by a comma. The first keyserver in the list will be used as the default.
Opening encrypted attachments / importing attached OpenPGP keys
Attachments named *.pgp, *.asc and *.gpg are recognized as attachments that can be handled specially by Enigmail. Right clicking on such an attachment enables two special menu items in the context menu: Decrypt and Open and Decrypt and Save. Use these two menu items if you want Enigmail to decrypt an attachment before opening or saving it. If an attachment is recognized as an OpenPGP key file, you are offered to import the keys it into your keyrings.
enigmail/lang/hr/help/initError.html 0000664 0000000 0000000 00000004546 13213001347 0017773 0 ustar 00root root 0000000 0000000
Enigmail Help: How to Resolve Problems with Initializing Enigmail
Enigmail Help
How to Resolve Problems with Initializing Enigmail
There are several reasons why initializing Enigmail does not succeed. The most common ones are described below;
for more information please visit the Enigmail Support page.
GnuPG could not be found
In order for Enigmail to work, the tool GnuPG needs to be installed.
If GnuPG cannot be found, then first make sure that the executable gpg.exe (on Windows; gpg on other platforms) is installed on your computer.
If GnuPG is installed, and Enigmail cannot find it, then you need to manually set the path to GnuPG in the Enigmail Preferences (menu Enigmail > Preferences)
Enigmime failed to initialize
Enigmail works only if it is built using the same build environment as Thunderbird or SeaMonkey was built. This means that you can use the official Enigmail releases only if you use the official releases of Thunderbird or SeaMonkey provided by mozilla.org.
If you use a Thunderbird or SeaMonkey version coming from some other source (e.g. the provider of your Linux distribution), or if you built the application yourself, you should either use an Enigmail version built by the same source, or build Enigmail yourself. For building Enigmail, refer to the Source Code section on the Enigmail home page. Please don't file any bug report concerning this problem, it is not solvable.
This button can be used for several purposes: decrypt, verify, or import public keys. Normally decryption/verification happens automatically, although this can be disabled through a preference. However, if this fails, usually a short error message will appear in the Enigmail status line. If you click the Decrypt button, you will be able to see a more detailed error message, including the output from the GnuPG command.
Pen and Key icons in Message Header display
The Pen and Key icons in the Message Header display indicate if the message you are reading was signed and/or encrypted and if the signature is good, i.e. the message has not been changed since it was signed. If the message has been changed, the Pen icon will change to a Broken Pen to indicate that the signature is bad. Right clicking on either the Pen or Key icons will bring up a menu with the following options:
Enigmail Security info: allows you to view the output status from GnuPG for the message.
Copy Enigmail Security info: copies the output status from GnuPG to the clipboard; to paste into a reply message, etc.
View OpenPGP Photo ID: allows you to view the Photo ID of the person who sent the message, if they have a photo embedded in their Public Key. (This option will only be enabled if a Photo ID exists in their key.)
S/MIME Security info: allows you to view the S/MIME Security Info for the message.
If you do not have keyserver-options auto-key-retrieve set in your gpg.conf file and you read a message which is signed or encrypted, you will see a Pen icon in the headers display area with a Question mark on it, the Enigmail status line in the headers area will say Part of the message signed; click pen icon for details and the message in the Message Pane will show all the OpenPGP message block indicators and the signature block.
You may also see this if you have keyserver-options auto-key-retrieve set in your gpg.conf file and the OpenPGP key is not available on the default keyserver.
Clicking on the Pen and Question mark icon will bring up a window advising that the key is unavailable in your keyring. Clicking on OK will bring up another window with a list of keyservers from which you can select to download the sender's public key from.
To configure the list of keyservers you wish to use, go to Enigmail -> Preferences -> Basic tab and enter the keyserver addresses in the Keyserver(s): box, separated by a comma. The first keyserver in the list will be used as the default.
Attachments named *.pgp, *.asc and *.gpg are recognized as attachments that can be handled specially by Enigmail. Right clicking on such an attachment enables two special menu items in the context menu: Decrypt and Open and Decrypt and Save. Use these two menu items if you want Enigmail to decrypt an attachment before opening or saving it. If an attachment is recognized as an OpenPGP key file, you are offered to import the keys it into your keyrings.
In the Rules Editor, you can specify defaults per recipient for enabling encryption, signing and PGP/MIME, and to define what OpenPGP key(s) to use. Each rule consists of 5 fields and is represented on a single line:
Email
The e-mail(s) from the To:, Cc: and Bcc: fields to match. The matching works on substrings (Further details can be found in the Edit Rule dialog)
OpenPGP Key(s)
a list of OpenPGP Key ID's to use for the recipient
Sign
enable or disable message signing. This either uses or overrides what you have specified in the message composition window. The values are:
Never: disable signing, even if it was enabled in the message composition window (overrules the other values)
Possible: leave signing as specified in the message composition window
Always: enable signing, even if it was not enabled in the message composition window
These signing settings are applied for all rules that match. If one of the rules disables signing, the message will not be signed, regardless of other rules that specify Always.
Encrypt
enable or disable message encryption. The allowed settings and their meaning are the same as for message signing.
PGP/MIME
enable or disable the use of the PGP/MIME (RFC 3156) message encoding. If PGP/MIME is disabled, the messages are encoded using "inline PGP". The allowed values and their meaning a re the same as for message signing.
The rules are processed in the order displayed in the list. Whenever a rule matches a recipient and contains a OpenPGP Key ID, in addition to using the specified Key ID, the recipient is not considered anymore when processing further rules.
Note: The rule editor is not yet complete. It is possible to write some more advanced rules by directly editing the rules file (these rules should then not be edited anymore in the rule editor). Further information for directly editing the file is available on the Enigmail Homepage
In the Sending Preferences you can choose the general model and preferences for encryption.
Convenient Encryption
With these settings, emails are encrypted without confirmation whenever possible.
This setup is appropriate, if you just want to improve your privacy by sending emails encyrpted instead of unencrypted if that's possible.
The effect is like sending emails as letters instead of postcards. Unlike postcards, letters usually hide their contents while in transit.
Note however that as with letters you can't be sure that nobody is opening the letter while it is in transit (although, some technical effort is necessary for that).
A concrete risk is that you accidentally use "faked keys" you got from somewhere or somebody claiming that the key belongs to the person you want to send emails to. To avoid this risk, you can either use the trust model of PGP (see below) or you should always verify, whether the fingerprint of a public key is correct.
Manual Encryption
This option allows you to specify the different preferences for encryption according to your needs. You can specify
whether replies to encrypted/signed emails should automatically also be encrypted/signed-
whether to use the trust model of Enigmail to accept keys (this means that to use a key you either have to sign the key or have enough other people you trust having signed the key).
whether you want to automatically send emails encrypted if all keys are accepted.
whether and when you want to finally confirm sending an email.
Enable/Disable sending signed mail. User is notified, if signing fails.
Encrypt message
Enable/Disable encryption to all recipient(s) before sending. User is notified, if encryption fails.
If Display selection when necessary is set in Preferences -> Key Selection tab, a list of keys will pop up if there are addresses in the list of recipients for the message for whom you have no public key.
If Never display OpenPGP key selection dialog is set in Preferences -> Key Selection tab, and there are addresses in the list of recipients for the message for whom you have no public key, the message will be sent unencrypted.
Use PGP/MIME for this message
Enable/Disable the use of PGP/MIME for this message.
If you know the recipient(s) can read mail using the PGP/MIME format, you should use it.
This feature is dependent on the settings in Preferences -> PGP/MIME tab being set to Allow to use PGP/MIME or Always use PGP/MIME.
Default composition options
Signing/Encryption Options...: shortcut to Account Settings -> OpenPGP Options.
Send options...: shortcut to Preferences -> Send tab.
Key selection options...: shortcut to Preferences -> Key Selection tab.
PGP/MIME options...: shortcut to Preferences -> PGP/MIME tab.
Undo encryption
If there is a failure when actually sending mail, such as the POP server not accepting the request, Enigmail will not know about it, and the encrypted message will continue to be displayed in the Compose window. Choosing this menu item will undo the encryption/signing, reverting the Compose window back to its original text.
As a temporary fix, this option may also be used to decrypt the quoted text when replying to encrypted messages. Enigmail should automatically decrypt the quoted message, but if that fails for some reason, you can use this menu item to force it.
Insert public key
insert ASCII-armored public key block at the current cursor location in the Compose window. You will be prompted for the email addresses of the key(s) to be inserted. Keys inserted in this manner will automatically be recognized at the receiving end by Enigmail. After key insertion, you may still choose to sign/encrypt the mail as needed. Also, do not insert more than one key block in a message; just specify multiple email addresses, separated by commas or spaces, when prompted.
Clear save passphrase
Clears cached passphrase. Useful if you have multiple passphrases.
Help
Displays Help information from the website (this page).
Using the Enigmail Rules Editor: Edit Per-Recipient Rule
In the Rules Editor, you can specify defaults per recipient for enabling encryption, signing and PGP/MIME, and to define what OpenPGP key(s) to use. In this dialog, you can specify the rules for a single recipient, and for a group of recipients with very similar attributes.
Set Enigmail Rules for
Contains the email addresses of the recipients (without names, i.e. just an address like somebody@email.domain). You can specify several email addresses, separated by spaces. The address specified here can consist of only the domain section so that mail to any address at that domain will be matched, e.g. @email.domain will allow matching to body@email.domain, somebody@email.domain, anybody@email.domain, etc.
Apply rule if recipient ...
This modifies the matching of the email addresses. If multiple addresses are entered, the setting will apply to all. The examples below are based on body@email.domain entered in the Enigmail Rules field above.
Is exactly: with this setting, the rule will only trigger on emails to body@email.domain (exact, case insensitive matching).
Contains: with this setting, any email address containing the string is matched, e.g. anybody@email.domain or body@email.domain.net
Begins with: with this setting, any email address starting with the string is matched, e.g. body@email.domain.net, body@email.domain-name.com.
Ends with: with this setting, any email address ending with the string is matched, e.g. anybody@email.domain , somebody@email.domain.
Continue with the next rule for the matching address
Enabling this function will allow you to define a rule but not have to specify a KeyID in the Use the following OpenPGP keys: field, so that the email address is used to check for a key at the time of sending. Also, further rules for the same address(es) will be processed as well.
Do not check further rules for the matching address
Enabling this function stops processing any other rules for the matching address(es) if this rule is matched; i.e. rule processing continues with the next recipient.
Use the following OpenPGP keys:
Use the Select Key(s).. button to select the recipient keys to be used for encryption. As in the action above, no further rules for the matching address(es) are processed.
Default for Signing
Enable or disable message signing. This either uses or overrides what you have specified in the message composition window. The values are:
Never: disable signing, even if it was enabled in the message composition window (overrules the other values)
Yes, if selected from in Message Composition: leave signing as specified in the message composition window
Always: enable signing, even if it was not enabled in the message composition window
These signing settings are applied for all rules that match. If one of the rules disables signing, the message will not be signed, regardless of other rules that specify Always.
Encryption
Enable or disable message encryption. The allowed settings and their meaning are the same as for message signing.
PGP/MIME
Enable or disable the use of the PGP/MIME (RFC 3156) message encoding. If PGP/MIME is disabled, the messages are encoded using "inline PGP". The allowed values and their meaning are the same as for message signing.
The rules are processed in the order displayed in the list in the Per-Recipient Rules Editor. Whenever a rule matches a recipient and contains a OpenPGP Key ID, in addition to using the specified Key ID, the recipient is not considered anymore when processing further rules.
Decrypt button in main Mail window
This button can be used for several purposes: decrypt, verify, or import public keys. Normally decryption/verification happens automatically, although this can be disabled through a preference. However, if this fails, usually a short error message will appear in the Enigmail status line. If you click the Decrypt button, you will be able to see a more detailed error message, including the output from the GnuPG command.
Pen and Key icons in Message Header display
The Pen and Key icons in the Message Header display indicate if the message you are reading was signed and/or encrypted and if the signature is good, i.e. the message has not been changed since it was signed. If the message has been changed, the Pen icon will change to a Broken Pen to indicate that the signature is bad. Right clicking on either the Pen or Key icons will bring up a menu with the following options:
Enigmail Security info: allows you to view the output status from GnuPG for the message.
Copy Enigmail Security info: copies the output status from GnuPG to the clipboard; to paste into a reply message, etc.
View OpenPGP Photo ID: allows you to view the Photo ID of the person who sent the message, if they have a photo embedded in their Public Key. (This option will only be enabled if a Photo ID exists in their key.)
S/MIME Security info: allows you to view the S/MIME Security Info for the message.
If you do not have keyserver-options auto-key-retrieve set in your gpg.conf file and you read a message which is signed or encrypted, you will see a Pen icon in the headers display area with a Question mark on it, the Enigmail status line in the headers area will say Part of the message signed; click pen icon for details and the message in the Message Pane will show all the OpenPGP message block indicators and the signature block.
You may also see this if you have keyserver-options auto-key-retrieve set in your gpg.conf file and the OpenPGP key is not available on the default keyserver.
Clicking on the Pen and Question mark icon will bring up a window advising that the key is unavailable in your keyring. Clicking on OK will bring up another window with a list of keyservers from which you can select to download the sender's public key from.
To configure the list of keyservers you wish to use, go to Enigmail -> Preferences -> Basic tab and enter the keyserver addresses in the Keyserver(s): box, separated by a comma. The first keyserver in the list will be used as the default.
Opening encrypted attachments / importing attached OpenPGP keys
Attachments named *.pgp, *.asc and *.gpg are recognized as attachments that can be handled specially by Enigmail. Right clicking on such an attachment enables two special menu items in the context menu: Decrypt and Open and Decrypt and Save. Use these two menu items if you want Enigmail to decrypt an attachment before opening or saving it. If an attachment is recognized as an OpenPGP key file, you are offered to import the keys it into your keyrings.
enigmail/lang/hu/help/initError.html 0000664 0000000 0000000 00000004546 13213001347 0017776 0 ustar 00root root 0000000 0000000
Enigmail Help: How to Resolve Problems with Initializing Enigmail
Enigmail Help
How to Resolve Problems with Initializing Enigmail
There are several reasons why initializing Enigmail does not succeed. The most common ones are described below;
for more information please visit the Enigmail Support page.
GnuPG could not be found
In order for Enigmail to work, the tool GnuPG needs to be installed.
If GnuPG cannot be found, then first make sure that the executable gpg.exe (on Windows; gpg on other platforms) is installed on your computer.
If GnuPG is installed, and Enigmail cannot find it, then you need to manually set the path to GnuPG in the Enigmail Preferences (menu Enigmail > Preferences)
Enigmime failed to initialize
Enigmail works only if it is built using the same build environment as Thunderbird or SeaMonkey was built. This means that you can use the official Enigmail releases only if you use the official releases of Thunderbird or SeaMonkey provided by mozilla.org.
If you use a Thunderbird or SeaMonkey version coming from some other source (e.g. the provider of your Linux distribution), or if you built the application yourself, you should either use an Enigmail version built by the same source, or build Enigmail yourself. For building Enigmail, refer to the Source Code section on the Enigmail home page. Please don't file any bug report concerning this problem, it is not solvable.
This button can be used for several purposes: decrypt, verify, or import public keys. Normally decryption/verification happens automatically, although this can be disabled through a preference. However, if this fails, usually a short error message will appear in the Enigmail status line. If you click the Decrypt button, you will be able to see a more detailed error message, including the output from the GnuPG command.
Pen and Key icons in Message Header display
The Pen and Key icons in the Message Header display indicate if the message you are reading was signed and/or encrypted and if the signature is good, i.e. the message has not been changed since it was signed. If the message has been changed, the Pen icon will change to a Broken Pen to indicate that the signature is bad. Right clicking on either the Pen or Key icons will bring up a menu with the following options:
Enigmail Security info: allows you to view the output status from GnuPG for the message.
Copy Enigmail Security info: copies the output status from GnuPG to the clipboard; to paste into a reply message, etc.
View OpenPGP Photo ID: allows you to view the Photo ID of the person who sent the message, if they have a photo embedded in their Public Key. (This option will only be enabled if a Photo ID exists in their key.)
S/MIME Security info: allows you to view the S/MIME Security Info for the message.
If you do not have keyserver-options auto-key-retrieve set in your gpg.conf file and you read a message which is signed or encrypted, you will see a Pen icon in the headers display area with a Question mark on it, the Enigmail status line in the headers area will say Part of the message signed; click pen icon for details and the message in the Message Pane will show all the OpenPGP message block indicators and the signature block.
You may also see this if you have keyserver-options auto-key-retrieve set in your gpg.conf file and the OpenPGP key is not available on the default keyserver.
Clicking on the Pen and Question mark icon will bring up a window advising that the key is unavailable in your keyring. Clicking on OK will bring up another window with a list of keyservers from which you can select to download the sender's public key from.
To configure the list of keyservers you wish to use, go to Enigmail -> Preferences -> Basic tab and enter the keyserver addresses in the Keyserver(s): box, separated by a comma. The first keyserver in the list will be used as the default.
Attachments named *.pgp, *.asc and *.gpg are recognized as attachments that can be handled specially by Enigmail. Right clicking on such an attachment enables two special menu items in the context menu: Decrypt and Open and Decrypt and Save. Use these two menu items if you want Enigmail to decrypt an attachment before opening or saving it. If an attachment is recognized as an OpenPGP key file, you are offered to import the keys it into your keyrings.
In the Rules Editor, you can specify defaults per recipient for enabling encryption, signing and PGP/MIME, and to define what OpenPGP key(s) to use. Each rule consists of 5 fields and is represented on a single line:
Email
The e-mail(s) from the To:, Cc: and Bcc: fields to match. The matching works on substrings (Further details can be found in the Edit Rule dialog)
OpenPGP Key(s)
a list of OpenPGP Key ID's to use for the recipient
Sign
enable or disable message signing. This either uses or overrides what you have specified in the message composition window. The values are:
Never: disable signing, even if it was enabled in the message composition window (overrules the other values)
Possible: leave signing as specified in the message composition window
Always: enable signing, even if it was not enabled in the message composition window
These signing settings are applied for all rules that match. If one of the rules disables signing, the message will not be signed, regardless of other rules that specify Always.
Encrypt
enable or disable message encryption. The allowed settings and their meaning are the same as for message signing.
PGP/MIME
enable or disable the use of the PGP/MIME (RFC 3156) message encoding. If PGP/MIME is disabled, the messages are encoded using "inline PGP". The allowed values and their meaning a re the same as for message signing.
The rules are processed in the order displayed in the list. Whenever a rule matches a recipient and contains a OpenPGP Key ID, in addition to using the specified Key ID, the recipient is not considered anymore when processing further rules.
Note: The rule editor is not yet complete. It is possible to write some more advanced rules by directly editing the rules file (these rules should then not be edited anymore in the rule editor). Further information for directly editing the file is available on the Enigmail Homepage
In the Sending Preferences you can choose the general model and preferences for encryption.
Convenient Encryption
With these settings, emails are encrypted without confirmation whenever possible.
This setup is appropriate, if you just want to improve your privacy by sending emails encyrpted instead of unencrypted if that's possible.
The effect is like sending emails as letters instead of postcards. Unlike postcards, letters usually hide their contents while in transit.
Note however that as with letters you can't be sure that nobody is opening the letter while it is in transit (although, some technical effort is necessary for that).
A concrete risk is that you accidentally use "faked keys" you got from somewhere or somebody claiming that the key belongs to the person you want to send emails to. To avoid this risk, you can either use the trust model of PGP (see below) or you should always verify, whether the fingerprint of a public key is correct.
Manual Encryption
This option allows you to specify the different preferences for encryption according to your needs. You can specify
whether replies to encrypted/signed emails should automatically also be encrypted/signed-
whether to use the trust model of Enigmail to accept keys (this means that to use a key you either have to sign the key or have enough other people you trust having signed the key).
whether you want to automatically send emails encrypted if all keys are accepted.
whether and when you want to finally confirm sending an email.
Usare Enigmail durante la composizione dei messaggi
Menu di Enigmail nella finestra di Composizione dei messaggi
Firma il messaggio: Abilita/disabilita l'invio del messaggio firmato. L'utente viene avvertito se l'operazione di firma fallisce.
Cifra il messaggio: Abilita/disabilita la cifratura per tutti i destinatari prima dell'invio. L'utente viene avvertito se l'operazione di cifratura fallisce.
Se in Impostazioni -> Scelta della chiave è stato impostato Mostra la finestra di selezione solo quando è necessario, e tra i destinatari del messaggio figurano indirizzi a cui non corrisponde nessuna delle chiavi pubbliche in tuo possesso, al momento dell'invio verrà mostrata una lista di chiavi tra cui scegliere.
Se in Impostazioni -> Scelta della chiave è stato impostato Non mostrare mai la finestra di selezione delle chiavi OpenPGP, e tra i destinatari del messaggio figurano indirizzi a cui non corrisponde nessuna delle chiavi pubbliche in tuo possesso, il messaggio sarà inviato come testo in chiaro, senza venire cifrato.
Usa PGP/MIME per questo messaggio: Abilita/disabilita l'uso del formato PGP/MIME
per il messaggio corrente.
Se sai che i destinatari sono in grado di ricevere messaggi in formato PGP/MIME, allora faresti meglio ad usarlo.
La possibilità di attivare questa funzione dipende dall'avere impostato o meno Consenti l'uso di PGP/MIME, o Usa sempre PGP/MIME, in Impostazioni -> PGP/MIME.
Impostazioni predefinite per la composizione: Sotto-menu.
Impostazioni di firma/cifratura...: scorciatoia per Configurazione account posta ->
OpenPGP.
Impostazioni di invio...: scorciatoia per Impostazioni ->
invio.
Impostazioni per la scelta della chiave...: scorciatoia per Impostazioni ->
Scelta della chiave.
Impostazioni PGP/MIME...: scorciatoia per Impostazioni ->
PGP/MIME.
Annulla cifratura: Se si verifica un problema durante l'invio
del messaggio, se ad esempio il server rifiuta la richiesta, Enigmail non
avrà modo di saperlo e il messaggio continuerà ad
essere mostrato in formato cifrato nella finestra di composizione. Scegliendo
questa voce di menu, la firma/cifratura verranno annullate e nella
finestra di composizione apparirà nuovamente il testo in chiaro. Come soluzione temporanea, questa opzione può anche essere usata per
decifrare il testo quotato quando si risponde a un messaggio cifrato. Enigmail
dovrebbe decifrare automaticamente il messaggio quotato, ma se cioò non
dovesse funzionare per qualche ragione, puoi usare questa voce di menu.
Inserisci chiave pubblica: inserisci una chiave pubblica in formato
ASCII-armored a partire dalla posizione corrente del cursore nella finestra di
composizione. Ti verranno chiesti gli indirizzi email delle chiavi da inserire.
Le chiavi inserite in questo modo saranno automaticamente riconosciute da
Enigmail sul computer del destinatario. Dopo l'inserimento della chiave,
puoi ancora scegliere di cifrare/firmare il messaggio, se necessario. Attenzione
a non inserire più di un blocco di chiavi pubbliche in un messaggio;
specifica nel caso più indirizzi email, separati da virgole o spazi, per
lo stesso blocco.
Cancella la passphrase memorizzata: Cancella la passphrase salvata in memoria. Utile se hai più di una passphrase.
Aiuto: Mostra le informazioni di aiuto (questa pagina).
Usare l'editor delle regole di Enigmail: Modifica di una regola OpenPGP
Nell'editor delle regole puoi specificare le impostazioni predefinite per ogni
destinatario per abilitare la cifratura, la firma, il formato PGP/MIME e per definire
quali chiavi OpenPGP usare. In questa finestra di dialogo, puoi specificare le regole
per un singolo destinatario o per un gruppo di destinatari con caratteristiche simili.
Imposta regole OpenPGP per : Contiene gli
indirizzi email dei destinatari (senza i nomi, ovvero solo indirizzi del tipo
nome.cognome@indirizzo.email). Puoi specificare indirizzi multipli,
separati sa spazi.
Gli indirizzi specificati qui possono consistere anche del solo dominio, in modo da
comprendere tutti i destinatari di quel dominio, ad esempio @indirizzo.email
corrisponderà sia a nome@indirizzo.email,
nome2@indirizzo.email, nome3@indirizzo.email, ecc.
Applica la regola se il destinatario ...:
Questo modifica la corrispondenza dell'indirizzo email.
Se sono stati specificati indirizzi multipli, l'impostazione si applica a tutti.
Gli esempi qui sotto assumono che si stato immesso l'indirizzo nome@indirizzo.email
nel campo Regole OpenPGP sopra.
È esattamente: con questa impostazione, la regola viene
applicata solo ai messaggi indirizzati a nome@indirizzo.email
(corrispondenza esatta, maiuscole/minuscole ignorate).
Contiene: con questa impostazione, la regola si applica a ogni
indirizzo contenente quello specificato,
ad esempio tuo.nome@indirizzo.email o altro.nome@indirizzo.email.suo
Comincia con: con questa impostazione, la regola viene applicata a
ogni indirizzo che inizia con quello specificato, ad esempio
nome@indirizzo.email.suo, nome@indirizzo.email-2.suo.
Finisce con: Con questa impostazione la regola viene applicata a
ogni indirizzo che finisce con quello specificato, ad esempio
tuonome@indirizzo.email o altro.nome@indirizzo.email
Continua con la regola successiva per l'indirizzo corrispondente
Abilitare questa funzione ti permette di definire una regola senza dover specificare
un ID chiave nel campo Usa le seguenti chiavi OpenPGP:. In tal caso la
chiave da usare sarà scelta al momento dell'invio in base all'indirizzo email
del destinatario. Inoltre, saranno anche applicate le eventuali ulteriori regole per
lo stesso indirizzo.
Non controllare le regole successive per l'indirizzo corrispondente
Abilitando questa funzione si impedisce l'applicazione di qualunque altra regola per
gli indirizzi corrispondenti, se questa regola viene applicata; il controllo delle
regole passa al destinatario seguente.
Usa le seguenti chiavi OpenPGP:
Usa il pulsante Seleziona chiave/i.. per scegliere la chiave pubblica del
destinatario da usare per la cifratura. Come nel caso precedente, nessuna ulteriore
regola viene applicata allo stesso indirizzo.
Impostazioni predefinite per... Firma:
abilita o disabilita
l'invio di messaggi firmati. Questa impostazione usa o ha la precedenza su
quella specificata nella finestra di composizione del messaggio. I valori
possibili sono:
Mai: disabilita la firma, anche se è attivata nella
finestra di composizione del messaggio (ha la precedenza sulle altre
impostazioni)
Sì, se selezionato durante la composizione del messaggio:
usa l'impostazione specificata nella finestra
di composizione del messaggio
Sempre: abilita la firma, anche se essa non è abilitata nella
finestra di composizione del messaggio
Le impostazioni sulla firma vengono
applicate per tutte le regole che corrispondono. Se una regola disabilita
la firma, il messaggio non verrà firmato, indipendentemente dalle
altre eventuali regole che specificano Sempre.
Impostazioni predefinite per... Cifratura: abilita o disabilita
la cifratura del messaggio. Le possibili impostazioni sono le stesse della
firma e hanno lo stesso significato.
Impostazioni predefinite per...
PGP/MIME:abilita o disabilita
l'uso della codifica PGP/MIME (RFC 3156) per il messaggio.
Se PGP/MIME è disabilitato, i messaggi saranno codificati
usando "inline PGP". Le possibili impostazioni sono le stesse della
firma e hanno lo stesso significato.
Le regole sono elaborate nell'ordine in cui appaiono nella lista
dell'Editor delle regole OpenPGP.
Se una regola è applicabile a un destinatario e contiene un ID chiave
OpenPGP, il destinatario, oltre a usare l'ID specificato, sarà ignorato
nell'elaborazione delle altre regole.
enigmail/lang/it/help/initError.html 0000664 0000000 0000000 00000004536 13213001347 0017775 0 ustar 00root root 0000000 0000000
Enigmail Help: How to Resolve Problems with Initializing OpenPGP
Enigmail Help
How to Resolve Problems with Initializing OpenPGP
There are several reasons why initializing OpenPGP does not succeed. The most common ones are described below;
for more information please visit the Enigmail Support page.
GnuPG could not be found
In order for OpenPGP to work, the tool GnuPG needs to be installed.
If GnuPG cannot be found, then first make sure that the executable gpg.exe (on Windows; gpg on other platforms) is installed on your computer.
If GnuPG is installed, and OpenPGP cannot find it, then you need to manually set the path to GnuPG in the OpenPGP Preferences (menu OpenPGP > Preferences)
Enigmime failed to initialize
OpenPGP works only if it is built using the same build environment as Thunderbird or SeaMonkey was built. This means that you can use the official Enigmail releases only if you use the official releases of Thunderbird or SeaMonkey provided by mozilla.org.
If you use a Thunderbird or SeaMonkey version coming from some other source (e.g. the provider of your Linux distribution), or if you built the application yourself, you should either use an Enigmail version built by the same source, or build Enigmail yourself. For building Enigmail, refer to the Source Code section on the Enigmail home page. Please don't file any bug report concerning this problem, it is not solvable.
Pulsante Decifra nella finestra principale della posta
Questo pulsante può essere usato per molti scopi: decifrare,
verificare, o importare chiavi pubbliche. Di solito, la decifratura/verifica
dei messaggi viene fatta automaticamente, anche se questo può essere
disabilitato nelle impostazioni. Tuttavia, in caso di errori, apparirebbe
solo un breve messaggio nella barra di stato di Enigmail. Se premi il pulsante
Decifra, verrà mostrato un messaggio di errore più dettagliato,
che include anche l'output esatto di GnuPG.
Icone della penna e della chiave tra le intestazioni del messaggio
Le icone Penna e Chiave tra le intestazioni del messaggio
indicano se esso è stato cifrato/firmato e se la firma è valida,
cioè se il messaggio non è stato modificato dopo la firma. Se ci
sono state modifiche, l'icona Penna apparirà come una Penna
spezzata per indicare che la firma non è valida. Premendo con il tasto
destro sulla penna o sulla chiave si visualizzerà un menu con le
seguenti opzioni:
Informazioni di sicurezza OpenPGP: mostra l'output di GnuPG per il
messaggio.
Copia le informazioni di sicurezza OpenPGP: copia l'output di GnuPG
negli appunti, ad esempio per incollarlo in un messaggio, ecc.
Mostra la foto-ID OpenPGP: Visualizza la Foto-ID del
mittente del messaggio, se una foto è presente nella sua chiave pubblica.
(Questa opzione è attiva solo se c'è una foto nella chiave
pubblica.)
Informazioni di sicurezza S/MIME: mostra le informazioni di sicurezza
S/MIME per il messaggio.
Se non hai impostato keyserver-options auto-key-retrieve nel file
gpg.conf file e visualizzi un messaggio firmato e/o cifrato, vedrai una
icona Penna tra le intestazioni del messaggio con un Punto
interrogativo su di essa, la riga di stato di Enigmail mostrerà la
scritta Parte del messaggio firmata; premi sull'icona della penna per i
dettagli e il messaggio nella finestra mostrerà tutte le
intestazioni OpenPGP e la firma in calce.
Puoi vedere questo messaggio anche se hai impostato keyserver-options
auto-key-retrieve nel file gpg.conf e la chiave OpenPGP richiesta
non è disponibile sul server della chiavi predefinito.
Premendo sull'icona Penna e punto interrogativo apparirà
una finestra che avverte che la chiave pubblica richiesta non è disponibile nel
tuo portachiavi. Premendo su OK apparirà un'altra finestra con una lista
di server di chiavi da cui potrai scegliere di scaricare la chiave pubblica del
mittente.
Per configurare la lista dei server di chiavi che vuoi usare, vai su
Enigmail ->
Impostazioni -> Generali e inserisci gli indirizzi dei server nella riga
Keyserver:, separati da una virgola. Il primo server sarà
considerato il predefinito.
Apertura di allegati cifrati / importazioni di chiavi OpenPGP allegate
Gli allegati con estensioni *.pgp, *.asc e *.gpg sono riconosciuti da Enigmail
come allegati da trattare in modo speciale. Premendo con il tasto destro su tali
allegati, appariranno due speciali voci del menu contestuale: Decifra e
apri e Decifra e salva. Usa queste due voci se vuoi che Enigmail
decifri un allegato prima di aprirlo o salvarlo. Se un allegato è riconosciuto
essere una chiave OpenPGP, ti sarà offerta la possibilità di importarla
nel tuo portachiavi.
Nell'Editor delle regole, puoi specificare le impostazioni predefinite per ogni destinatario sull'abilitazione della cifratura, della firma del formato PGP/MIME, e sulla scelta della chiave OpenPGP da usare. Ogni regole è composta da 5 campi ed è rappresentata su una singola linea:
Email: L'indirizzo email che
compare nei campi A:, Cc: e Bcc:. La corrispondenza funziona anche per
sottostringhe (Ulteriori dettagli
possono essere trovati nella finestra di dialogo Modifica regola)
Chiave/i OpenPGP: una lista di ID
chiave OpenPGP da usare per il destinatario
Firma: abilita o disabilita
l'invio di messaggi firmati. Questa impostazione usa o ha la precedenza su
quella specificata nella finestra di composizione del messaggio. I valori
possibili sono:
Mai: disabilita la firma, anche se è attivata nella
finestra di composizione del messaggio (ha la precedenza sulle altre
impostazioni)
Possibile: usa l'impostazione specificata nella finestra
di composizione del messaggio
Sempre: abilita la firma, anche se essa non è abilitata nella
finestra di composizione del messaggio
Le impostazioni sulla firma vengono
applicate per tutte le regole che corrispondono. Se una regola disabilita
la firma, il messaggio non verrà firmato, indipendentemente dalle
altre eventuali regole che specificano Sempre.
Cifra: abilita o disabilita
la cifratura del messaggio. Le possibili impostazioni sono le stesse della
firma e hanno lo stesso significato.
PGP/MIME: abilita o disabilita
l'uso della codifica PGP/MIME (RFC 3156) per il messaggio.
Se PGP/MIME è disabilitato, i messaggi saranno codificati
usando "inline PGP". Le possibili impostazioni sono le stesse della
firma e hanno lo stesso significato.
Le regole sono elaborate nell'ordine in cui appaiono nella lista.
Se una regola è applicabile a un destinatario e contiene un ID chiave
OpenPGP, il destinatario, oltre a usare l'ID specificato, sarà ignorato
nell'elaborazione delle altre regole.
Nota: L'editor delle regole non è ancora completo. Regole
più avanzate possono essere create modificando direttamente il file
delle regole (tali regole non dovranno essere più modificate
con l'editor delle regole). Ulteriori informazioni sulla modifica diretta del file delle regole sono disponibili sulla home page di Enigmail.
In the Sending Preferences you can choose the general model and preferences for encryption.
Convenient Encryption
With these settings, emails are encrypted without confirmation whenever possible.
This setup is appropriate, if you just want to improve your privacy by sending emails encyrpted instead of unencrypted if that's possible.
The effect is like sending emails as letters instead of postcards. Unlike postcards, letters usually hide their contents while in transit.
Note however that as with letters you can't be sure that nobody is opening the letter while it is in transit (although, some technical effort is necessary for that).
A concrete risk is that you accidentally use "faked keys" you got from somewhere or somebody claiming that the key belongs to the person you want to send emails to. To avoid this risk, you can either use the trust model of PGP (see below) or you should always verify, whether the fingerprint of a public key is correct.
Manual Encryption
This option allows you to specify the different preferences for encryption according to your needs. You can specify
whether replies to encrypted/signed emails should automatically also be encrypted/signed-
whether to use the trust model of OpenPGP to accept keys (this means that to use a key you either have to sign the key or have enough other people you trust having signed the key).
whether you want to automatically send emails encrypted if all keys are accepted.
whether and when you want to finally confirm sending an email.
Enable/Disable sending signed mail. User is notified, if signing fails.
Encrypt message
Enable/Disable encryption to all recipient(s) before sending. User is notified, if encryption fails.
If Display selection when necessary is set in Preferences -> Key Selection tab, a list of keys will pop up if there are addresses in the list of recipients for the message for whom you have no public key.
If Never display OpenPGP key selection dialog is set in Preferences -> Key Selection tab, and there are addresses in the list of recipients for the message for whom you have no public key, the message will be sent unencrypted.
Use PGP/MIME for this message
Enable/Disable the use of PGP/MIME for this message.
If you know the recipient(s) can read mail using the PGP/MIME format, you should use it.
This feature is dependent on the settings in Preferences -> PGP/MIME tab being set to Allow to use PGP/MIME or Always use PGP/MIME.
Default composition options
Signing/Encryption Options...: shortcut to Account Settings -> OpenPGP Options.
Send options...: shortcut to Preferences -> Send tab.
Key selection options...: shortcut to Preferences -> Key Selection tab.
PGP/MIME options...: shortcut to Preferences -> PGP/MIME tab.
Undo encryption
If there is a failure when actually sending mail, such as the POP server not accepting the request, Enigmail will not know about it, and the encrypted message will continue to be displayed in the Compose window. Choosing this menu item will undo the encryption/signing, reverting the Compose window back to its original text.
As a temporary fix, this option may also be used to decrypt the quoted text when replying to encrypted messages. Enigmail should automatically decrypt the quoted message, but if that fails for some reason, you can use this menu item to force it.
Insert public key
insert ASCII-armored public key block at the current cursor location in the Compose window. You will be prompted for the email addresses of the key(s) to be inserted. Keys inserted in this manner will automatically be recognized at the receiving end by Enigmail. After key insertion, you may still choose to sign/encrypt the mail as needed. Also, do not insert more than one key block in a message; just specify multiple email addresses, separated by commas or spaces, when prompted.
Clear save passphrase
Clears cached passphrase. Useful if you have multiple passphrases.
Help
Displays Help information from the website (this page).
enigmail/lang/ko/help/initError.html 0000664 0000000 0000000 00000004424 13213001347 0017766 0 ustar 00root root 0000000 0000000
Enigmail Help: How to Resolve Problems with Initializing OpenPGP
Enigmail Help
How to Resolve Problems with Initializing OpenPGP
There are several reasons why initializing OpenPGP does not succeed. The most common ones are described below;
for more information please visit the Enigmail Support page.
GnuPG could not be found
In order for OpenPGP to work, the tool GnuPG needs to be installed.
If GnuPG cannot be found, then first make sure that the executable gpg.exe (on Windows; gpg on other platforms) is installed on your computer.
If GnuPG is installed, and OpenPGP cannot find it, then you need to manually set the path to GnuPG in the OpenPGP Preferences (menu OpenPGP > Preferences)
Enigmime failed to initialize
OpenPGP works only if it is built using the same build environment as Thunderbird or SeaMonkey was built. This means that you can use the official Enigmail releases only if you use the official releases of Thunderbird or SeaMonkey provided by mozilla.org.
If you use a Thunderbird or SeaMonkey version coming from some other source (e.g. the provider of your Linux distribution), or if you built the application yourself, you should either use an Enigmail version built by the same source, or build Enigmail yourself. For building Enigmail, refer to the Source Code section on the Enigmail home page. Please don't file any bug report concerning this problem, it is not solvable.
In the Rules Editor, you can specify defaults per recipient for enabling encryption, signing and PGP/MIME, and to define what OpenPGP key(s) to use. Each rule consists of 5 fields and is represented on a single line:
Email
The e-mail(s) from the To:, Cc: and Bcc: fields to match. The matching works on substrings (Further details can be found in the Edit Rule dialog)
OpenPGP Key(s)
a list of OpenPGP Key ID's to use for the recipient
Sign
enable or disable message signing. This either uses or overrides what you have specified in the message composition window. The values are:
Never: disable signing, even if it was enabled in the message composition window (overrules the other values)
Possible: leave signing as specified in the message composition window
Always: enable signing, even if it was not enabled in the message composition window
These signing settings are applied for all rules that match. If one of the rules disables signing, the message will not be signed, regardless of other rules that specify Always.
Encrypt
enable or disable message encryption. The allowed settings and their meaning are the same as for message signing.
PGP/MIME
enable or disable the use of the PGP/MIME (RFC 3156) message encoding. If PGP/MIME is disabled, the messages are encoded using "inline PGP". The allowed values and their meaning a re the same as for message signing.
The rules are processed in the order displayed in the list. Whenever a rule matches a recipient and contains a OpenPGP Key ID, in addition to using the specified Key ID, the recipient is not considered anymore when processing further rules.
Note: The rule editor is not yet complete. It is possible to write some more advanced rules by directly editing the rules file (these rules should then not be edited anymore in the rule editor). Further information for directly editing the file is available on the Enigmail Homepage
In the Sending Preferences you can choose the general model and preferences for encryption.
Convenient Encryption
With these settings, emails are encrypted without confirmation whenever possible.
This setup is appropriate, if you just want to improve your privacy by sending emails encyrpted instead of unencrypted if that's possible.
The effect is like sending emails as letters instead of postcards. Unlike postcards, letters usually hide their contents while in transit.
Note however that as with letters you can't be sure that nobody is opening the letter while it is in transit (although, some technical effort is necessary for that).
A concrete risk is that you accidentally use "faked keys" you got from somewhere or somebody claiming that the key belongs to the person you want to send emails to. To avoid this risk, you can either use the trust model of PGP (see below) or you should always verify, whether the fingerprint of a public key is correct.
Manual Encryption
This option allows you to specify the different preferences for encryption according to your needs. You can specify
whether replies to encrypted/signed emails should automatically also be encrypted/signed-
whether to use the trust model of OpenPGP to accept keys (this means that to use a key you either have to sign the key or have enough other people you trust having signed the key).
whether you want to automatically send emails encrypted if all keys are accepted.
whether and when you want to finally confirm sending an email.
If it is important for you that content you send encrypted can't be read by other people or organizations, you should use the manual preferences at least choose the option to accept keys only if you or other people signed them. While this model reduces the risk of using faked keys, it requires that you actively sign keys and declare owner trust using the key managament dialog.
enigmail/lang/lt/ 0000775 0000000 0000000 00000000000 13213001347 0014175 5 ustar 00root root 0000000 0000000 enigmail/lang/lt/am-enigprefs.properties 0000664 0000000 0000000 00000000102 13213001347 0020661 0 ustar 00root root 0000000 0000000 # used in the AccountManager
prefPanel-enigprefs=OpenPGP saugumas
enigmail/lang/lt/enigmail.dtd 0000664 0000000 0000000 00000123761 13213001347 0016471 0 ustar 00root root 0000000 0000000
PASTABA: Rakto generavimas gali užtrukti kelias minutes. Neuždarykite programos kol vyksta rakto generavimas. Aktyviai naršant ar atliekant operacijas kurios reikalauja intensyvaus disko naudojimo, rakto generavimo metu padės sukurti atsitiktinesnį raktą ir pagreitins procesą. Jūs būsite įspėtas kai rakto generavimas bus baigtas.">
“ yra netinkamas">
PASTABA: Rakto generavimas gali užtrukti kelias minutes. Neuždarykite programos kol generuojamas raktas. Jums bus pranešta kai raktas bus sugeneruotas.">
Pastaba: Enigmail visada patikrins visų paskyrų ir tapatybių parašus
nepaisant ar įjungta ar išjungta">
viešasis raktas yra skirtas kitiems, kad jie siųstų jums šifruotus laiškus. Jūs galite juo dalintis su visais.">
privatusis raktas yra skirtas jums, kad iššifruotumėte šiuos el. laiškus ir siųstumėte pasirašytus el. laiškus.
Jūs neturėtumėte jo niekam perduoti.">
privatusis raktas yra skirtas jums, kad iššifruotumėte šiuos el. laiškus ir siųstumėte pasirašytus el. laiškus.
Jūs neturėtumėte jo niekam perduoti.
Norint apsaugoti jūsų privatųjį raktą, kituose dviejuose dialogo languose jūsų bus paklausta slaptafrazės.">
slaptafrazė yra slaptažodis, skirtas apsaugoti jūsų privatųjį raktą. Jis neleidžia netinkamai naudoti jūsų privatųjį raktą.">
nerekomenduojami.">
DÄ—kui jog naudojate Enigmail.">
enigmail/lang/lt/enigmail.properties 0000664 0000000 0000000 00000070407 13213001347 0020110 0 ustar 00root root 0000000 0000000 Enigmail=Enigmail
enigAlert=Enigmail įspėjimas
enigConfirm=Enigmail patvirtinimas
enigError=Enigmail klaida
enigPrompt=Enigmail įvedimas
dlgYes=&Taip
dlgNo=&Ne
dlgKeepSetting=Prisiminti atsakymÄ… ir daugiau nebeklausti
dlgNoPrompt=Daugiau neberodyti šio pranešimo
dlg.button.delete=&Ištrinti
dlg.button.cancel=&Atsisakyti
dlg.button.close=&Užverti
dlg.button.continue=&Tęsti
dlg.button.skip=&Praleisti
dlg.button.overwrite=&Perrašyti
dlg.button.view=Perž&iūra
dlg.button.retry=&Bandyti dar kartÄ…
dlg.button.ignore=&Nepaisyti
repeatPrefix=\n\nŠis įspėjimas bus kartojamas %S
repeatSuffixSingular=kartÄ….
repeatSuffixPlural=kartus.
noRepeat=\n\nŠis įspėjimas nebus rodomas kol neatnaujinsite Enigmail.
pgpNotSupported=Atrodo jūs naudojate Enigmail kartu su PGP 6.x\n\nDeja, PGP 6.x turi daug problemų kurios neleidžia Enigmail teisingai veikti. Be to, Enigmail daugiau nepalaiko PGP 6.x; vietoj to naudokite GnuPG(GPG).\n\nJei reikia pagalbos pradedant naudoti GnuPG, pažiūrėkite Enigmail namų puslapio žinyne.
initErr.howToFixIt=Norint naudoti Enigmail, reikalinga GnuPG. Jeigu jÅ«s dar neįdiegÄ—te GnuPG, lengviausias bÅ«das tai padaryti yra pasinaudoti žemiau esanÄiu mygtuku "SÄ…rankos vediklis".
initErr.setupWizard.button=&SÄ…rankos vediklis
passphraseCleared=Slaptafrazė išvalyta.
noPhotoAvailable=NÄ—ra nuotraukos
debugLog.title=Enigmail derinimo žurnalas
error.photoPathNotReadable=Kelias iki nuotraukos „%S“ neperskaitomas
# Strings in configure.jsm
enigmailCommon.versionSignificantlyChanged=Å i nauja Enigmail versija turi daug pakeitimų nustatymuose ir parinktyse. Mes bandÄ—me perkelti senus nustatymus į Å¡iÄ… naujÄ… versijÄ…. TaÄiau negalime apraÅ¡yti visų situacijų. PeržiÅ«rÄ—kite visus nustatymus ir parinktis.
enigmailCommon.checkPreferences=Tikrinti nustatymus...
usingVersion=Enigmail versija %S
usingAgent=Šifravimui ir iššifravimui naudojamas %S sukompiliuotas failas %S
agentError=KLAIDA: Nepavyko pasiekti Enigmime tarnybos!
accessError=Klaida bandant pasiekti Enigmail tarnybÄ…
onlyGPG=Rakto generavimas veikia tik su GnuPG (ne su PGP)!
keygenComplete=Raktas sugeneruotas! Pasirašymui bus naudojama <%S> tapatybė.
revokeCertRecommended=Mes primygtinai rekomenduojame savo raktui sukurti atstatymo sertifikatÄ…. Å¡is sertifikatas galÄ—s bÅ«ti naudojamas paversti jÅ«sų raktÄ… negaliojanÄiu, pvz. jei pamesite savo slaptÄ… raktÄ… ar jis bus sukompromituotas. Ar norite dabar sukurti tokį sertifikatÄ…?
keyMan.button.generateCert=&Generuoti sertifikatÄ…
genCompleteNoSign=Raktas sÄ—kmingai sugeneruotas!
genGoing=Raktas generuojamas!
passNoMatch=Slaptafrazės nesutampa; įveskite dar kartą
passCheckBox=Pažymėkite žymimąjį langelį jei raktui nenurodote slaptafrazės
passUserName=Nurodykite naudotojo vardą, šiai tapatybei
keygen.passCharProblem=Jūs savo slaptafrazėje naudojate specialius simbolius. Deja, tai gali sukelti problemų kitoms programoms. Rekomenduojame jums pasirinkti slaptafrazę, kurioje būtų tik kurie nors iš šių simbolių:\na-z A-Z 0-9 /.;:-,!?(){}[]%*
passSpaceProblem=DÄ—l techninių priežasÄių, jÅ«sų slaptafrazÄ— negali prasidÄ—ti ar baigtis tarpu.
changePassFailed=Nepavyko pakeisti slaptafrazÄ—s.
keyConfirm=Sugeneruoti viešą ir privatų raktus skirtus „%S“?
keyMan.button.generateKey=&Generuoti raktÄ…
keyAbort=Nutraukti raktų generavimą?
keyMan.button.generateKeyAbort=&Nutraukti raktų generavimą?
keyMan.button.generateKeyContinue=&Tęsti raktų generavimą?
expiryTooLong=Negalite sukurti rakto kurio galiojimas baigsis daugiau nei po 100 metų.
expiryTooLongShorter=Negalite sukurti rakto kuris galioja daugiau nei 90 metų.
expiryTooShort=Jūsų raktas turi galioti bent vieną dieną.
dsaSizeLimit=DSA pasirašymo raktai ribojami iki 3072 bitų. Rakto dydis bus atitinkamai sumažintas.
keyGenFailed=Sugeneruoti rakto nepavyko. Patikrinkite Enigmail terminalÄ… (Meniu Enigmail > Enigmail derinimas) jei norite gauti daugiau informacijos.
setKeyExpirationDateFailed=Nepavyko pakeisti galiojimo datos
# Strings in enigmailMessengerOverlay.js
securityInfo=Enigmail saugumo informacija\n\n
enigHeader=Enigmail:
enigContentNote=Enigmail: *Šio laiško priedai nebuvo pasirašyti ar šifruoti*\n\n
possiblyPgpMime=Galimai PGP/MIME šifruotas ar pasirašytas laiškas; Norėdami patikrinti, paspauskite „Iššifruoti“ mygtuką
noDecrypted=Nėra iššifruoto laiško, kurį galima būtų išsaugoti!\nNaudokite išsaugojimo komandą iš Failo meniu
noMessage=Nėra laiško, kurį įrašyti!
useButton=Paspauskite „Iššifruoti“ mygtuką norėdami iššifruoti laišką
saveHeader=Enigmail: Išsaugoti iššifruotą laišką
saveAttachmentHeader=Enigmail: Išsaugoti iššifruotą priedą
noTempDir=Nepavyko rasti laikino aplanko į kurį galima būtų rašyti\nNustatykite TEMP aplinkos kintamąjį
attachmentPgpKey=Priedas „%S“ kurį bandote atverti yra OpenPGP rakto failas.\n\nPaspauskite „Importuoti“ ir bus importuoti visi jame esantys raktai arba „Rodymas“ ir naršyklės lange bus parodytas failo turinys
beginPgpPart=**********ŠIFRUOTOS ar PASIRAŠYTOS DALIES PRADŽIA**********
endPgpPart=**********Å IFRUOTOS ar PASIRAÅ YTOS DALIES PABAIGA**********
notePartEncrypted=Enigmail: *Laiško dalys NEBUVO pasirašytos ar užšifruotos*
noteCutMessage=Enigmail: *Rastos kelios laiško dalys -- iššifravimas/tikrinimas nutrauktas*
decryptOkNoSig=Įspėjimas\n\nIššifravimas sėkmingas, bet nepavyko patikrinti parašo
msgOvl.button.contAnyway=&Vis tiek tęsti
signature.verifiedOK=Priedo %S parašas sėkmingai patikrintas
signature.verifyFailed=Priedo %S parašas nepatvirtintas
attachment.noMatchToSignature=Parašo faile nepavyko surasti atitikmens priedui „%S“
attachment.noMatchFromSignature=Nepavyko surasti parašo failo „%S“ priedui
keysToExport=Pasirinkite OpenPGP raktus kuriuos įterpti
keysToUse=Pasirinkite kurį OpenPGP raktą(-us) naudoti %S
pubKey=Viešas raktas skirtas %S\n
windowLocked=Rašymo langas užrakintas; siuntimas atšauktas
sendUnencrypted=Nepavyko inicijuoti Enigmail.\nSiųsti nešifruotą laišką?
composeSpecifyEmail=Nurodykite savo pagrindinį el. paÅ¡to adresÄ…, kuris bus naudojamas pasirenkant raktÄ… iÅ¡einantiems laiÅ¡kams.\nJei paliksite tuÅ¡ÄiÄ…, NUO laukelio adresas bus naudojamas pasirinkti raktÄ….
sendingHiddenRcpt=Šis laiškas turi BCC(nematomą kopiją) gavėjų. Jei šis laiškas šifruotas, įmanoma paslėpti BCC gavėjus, bet kai kurių programų naudotojai (pvz. PGP Corp) negalės iššifruoti laiško. Mes rekomenduojame vengti BCC laiškų su šifruotais pranešimais.
sendWithHiddenBcc=SlÄ—pti BCC gavÄ—jus
sendWithShownBcc=Šifruoti įprastai
sendingNews=Užšifruoto siuntimo operacija atšaukta.\n\nšis laiškas negali būti užšifruotas, nes yra naujienų grupių gavėjų. Persiųskite šį laišką nešifruojant.
sendToNewsWarning=Įspėjimas: jūs tuoj išsiųsite užšifruotą laišką naujienų grupei.\n\nTai nepatartina, nes toks veiksmas turi prasmę tik tada jei visi nariai gali iššifruoti laišką t.y. laiškas turi būti šifruotas su visų grupės narių raktais. šį laišką siųskite tik tada jei žinote ką darote.\n\nTęsti?
hasHTML=HTML laiško įspėjimas:\nšiame laiške gali būti HTML, kuri gali sukelti problemų pasirašant/šifruojant. Norint to išvengti ateityje, jūs turėtumėte laikyti SHIFT kai spaudžiate „Rašyti/Atsakyti“ mygtuką, pasirašytam laiškui išsiųsti.\nJei visada pasirašote laišką, nustatymuose turėtumėte atžymėti „Kurti laiškus su HTML“, norint visam laikui išjungti HTML laiškus šiai pašto paskyrai.
strippingHTML=Laiške yra HTML formatavimo informacija, kuri bus prarasta konvertuojant į paprastą tekstą, pasirašymo/šifravimo metu. Tęsti?
msgCompose.button.sendAnyway=&Vistiek siųsti
attachWarning=Šio laiško priedai nėra vietiniai, jie negali būti užšifruoti. Norėdami užšifruoti šiuos priedus, išsaugokite juos savo kompiuteryje ir pridėkite šiuos failus. Ar vistiek norite siųsti šį laišką?
quotedPrintableWarn=JÅ«s įjungÄ—te „quoted-printable“ kodavimÄ… siunÄiamiems laiÅ¡kams. Tai gali įtakoti neteisingÄ… jÅ«sų laiÅ¡ko iššifravimÄ… ir/ar patikrinimÄ….\nAr norite dabar iÅ¡jungti „quoted-printable“ siunÄiamiems laiÅ¡kams?
minimalLineWrapping=JÅ«s nustatÄ—te eiluÄių laužymÄ… %S simboliais. Norint teisingai užšifruoti ar/ir pasiraÅ¡yti, Å¡i vertÄ— turi bÅ«ti bent 68.\nAr norite dabar nustatyti eiluÄių laužymÄ… ties 68 simboliais?
warning=Įspėjimas
signIconClicked=Jūs pakeitėte pasirašymą. Nepaisant to, kol jūs rašote šį laišką, pasirašymo (de)aktyvavimas daugiau nepriklauso nuo šifravimo (de)aktyvacijos.
pgpMime_sMime.dlg.text=Jūs įjungėte PGP/MIME ir S/MIME kartu. Deja vienu metu neįmanoma naudoti abiejų protokolų. Pasirinkite arba PGP/MIME arba S/MIME.
pgpMime_sMime.dlg.pgpMime.button=Naudoti &PGP/MIME
pgpMime_sMime.dlg.sMime.button=Naudoti &S/MIME
errorKeyUnusable=Å is el. paÅ¡to adresas ar rakto ID „%S“ neatitinka jokio galiojanÄio ir tinkamo OpenPGP rakto.\nÄ®sitikinkite jog turite tinkamÄ… OpenPGP raktÄ… ir jÅ«sų nustatymai nurodo bÅ«tent šį raktÄ….
msgCompose.cannotSaveDraft=Klaida, išsaugant juodraštį
msgCompose.internalError=Įvyko vidinė klaida.
msgCompose.toolbarTxt.signAndEncrypt=Šis laiškas bus pasirašytas ir šifruotas
msgCompose.toolbarTxt.signOnly=Šis laiškas bus pasirašytas
msgCompose.toolbarTxt.encryptOnly=Šis laiškas bus šifruotas
msgCompose.toolbarTxt.noEncryption=Šis laiškas bus nepasirašytas ir nešifruotas
# note: should end with double newline:
sendAborted=Siuntimo operacija nutraukta.\n\n
keyNotFound=Raktas "%S" nerastas
statPGPMIME=PGP/MIME
statSigned=PASIRAÅ YTAS
statEncrypted=Å IFRUOTAS
statPlain=NEPASIRAÅ YTAS ir NEÅ IFRUOTAS
offlineSave=Išsaugoti %S laišką %S neišsiųstų laiškų aplanke?
onlineSend=Išsiųsti %S laišką į %S?
encryptKeysNote=Pastaba: laiškas užšifruotas su šio naudotojo ID/Raktu: %S
signFailed=Klaida Enigmail; Nepavyko užšifruoti/pasirašyti; siųsti nešifruotą laišką?
msgCompose.button.sendUnencrypted=&Siųsti nešifruotą laišką
recipientsSelectionHdr=Pasirinkite gavėjus šifravimui
configureNow=Pasirinktai tapatybei jūs nenustatėte Enigmail saugumo. Ar norite tai padaryti dabar?
encryptOff=Å ifravimas: IÅ JUNGTAS
encryptOnWithReason=Šifravimas: ĮJUNGTAS (%S)
encryptOffWithReason=Å ifravimas: IÅ JUNGTAS (%S)
encryptOn=Šifravimas: ĮJUNGTAS
signOn=Pasirašymas: ĮJUNGTAS
signOff=Pasirašymas: IŠJUNGTAS
signOnWithReason=Pasirašymas: ĮJUNGTAS (%S)
signOffWithReason=Pasirašymas: IŠJUNGTAS (%S)
# should not be used anymore:
encryptYes=Laiškas bus užšifruotas
encryptNo=Laiškas nebus užšifruotas
# should not be used anymore:
signYes=Laiškas bus pasirašytas
signNo=Laiškas nebus pasirašytas
# should not be used anymore
pgpmimeYes=Bus naudojama PGP/MIME
pgpmimeNo=Bus naudojama „Inline PGP“
rulesConflict=Aptiktos nesuderinamos kiekvienam-gavėjui taisyklės\n%S\n\nSiųsti laišką su šiais nustatymais?
msgCompose.button.configure=&Konfigūruoti
msgCompose.button.send=&Siųsti laišką
msgCompose.button.save=Į&rašyti laišką
# Strings in enigmailMsgHdrViewOverlay.js
keyNeeded=Viešas rakto %S parašas turi būti patikrintas
clickDecrypt=; paspauskite „Iššifruoti“ mygtuką
clickDecryptRetry=; paspauskite „Iššifruoti“ mygtuką, jei norite pabandyti dar kartą
msgPart=Laiško dalis %s
msgSigned=pasirašytas
msgEncrypted=užšifruotas
msgSignedAndEnc=pasirašyta ir užšifruota
unverifiedSig=Nepatvirtintas parašas
incompleteDecrypt=Nepilnas iššifravimas
needKey=Klaida - reikia slapto rakto norint iššifruoti laišką
failedDecrypt=Klaida - nepavyko iššifruoti
badPhrase=Klaida - bloga slaptafrazÄ—
failedDecryptVerify=Klaida - iššifravimas/patikrinimas nepavyko
viewInfo=; Rodymas > Laiško saugumo informacija, detalesnei informacijai
decryptedMsg=Iššifruotas laiškas
decryptedMsgWithFormatError=Iššifruotas laiÅ¡kas (atstatytas sugadintas PGP laiÅ¡ko formatas, jį greiÄiausiai sugadino senas Exchange serveris, gali bÅ«ti neįmanoma perskaityti laiÅ¡ko)
locateGpg=Surasti GnuPG programÄ…
invalidGpgPath=Nurodytam kelyje GnuPG negali būti įvykdyta. Enigmail išjungta kol jūs pakeisite kelią iki GnuPG arba iš naujo paleisite programą.
warningsAreReset=Visi įspėjimai buvo atstatyti.
prefs.gpgFound=GnuPG rasta kataloge %S
prefs.gpgNotFound=Nepavyko rasti GnuPG
prefs.warnAskNever=Įspėjimas: įjungus šią parinkty nebus pranešama jei vienam iš gavėjų nėra rakto ir laiškas nešifruotas!
prefs.warnIdleTimeForUnknownAgent=Nepavyko prisijungti prie gpg-agent. Gal jūsų sistema slaptafrazės įvedimui naudoja specialų įrankį, tokį kaip gnome-keyring ar seahorse-agent. Dėja Enigmail negali valdyti įvedimo laiko jūsų įrankyje. Laiko nustatymai Enigmail programoje yra ignoruojami.
prefEnigmail.oneKeyserverOnly=Klaida - galite nurodyti tik vieną raktų serverį, automatiniam trūkstamų OpenPGP raktų parsiuntimui.
enterAdminPin=Įveskite SmartCard ADMIN PIN
enterCardPin=Įveskite SmartCard PIN
notInit=Klaida - Enigmail tarnyba kol kas neinicijuota
badCommand=Klaida - šifravimo komanda nepavyko
cmdLine=komandų eilutė ir išvestis:
notRequired=Klaida - šifravimas nereikalingas
notComplete=Klaida - rakto generavimas dar nebaigtas
invalidEmail=Klaida - netinkamas el. pašto adresas(-ai)
noPassphrase=Klaida - nepateikta slaptafrazÄ—
noPGPblock=Klaida - nerastas tinkamas „armored OpenPGP“ duomenų blokas
unverifiedReply=Cituojama laiško dalis (atsakyme) turbūt buvo pakeista
sigMismatch=Klaida - parašas nesutampa
cantImport=Klaida importuojant viešą raktą\n\n
doImportOne=Importuoti %1$S (%2$S)?
doImportMultiple=Importuoti šiuos raktus?\n\n%S
previewFailed=Nepavyksta perskaityti viešojo rakto failo.
# Strings used in errorHandling.jsm
sc.wrongCardAvailable=Rasta SmartCard %S jūsų įrenginyje negali būti panaudota skaitant laišką.\nĮdėkite savo SmartCard %S ir pakartokite operaciją.
sc.insertCard=Operacijai atlikti reikia SmartCard %S.\nĮdėkite reikalingą SmartCard ir pakartokite operaciją.
sc.removeCard=Operacijai atlikti reikia jog SmartCard nebūtų įrenginyje.\nIšimkite SmartCard ir pakartokite operaciją.
sc.noCardAvailable=Jūsų įrenginyje SmartCard nerasta\nĮdėkite jūsų SmartCard ir pakartokite operaciją.
sc.noReaderAvailable=Jūsų SmartCard įrenginys nepasiekiamas\nPrijunkite SmartCard įrenginį, įdėkite kortelę ir pakartokite operaciją.
missingPassphrase=Trūksta slaptafrazės
gpgNotFound=Nepavyko rasti GnuPG programos „%S“.\nĮsitikinkite jog Enigmail nustatymuose nurodėte teisingą GnuPG kelią.
gpgNotInPath=Nepavyko rasti GnuPG vykdomojo failo PATH.\nĮsitikinkite jog Enigmail nustatymuose nurodėte teisingą GnuPG kelią.
gpgAgentNotStarted=Nepavyko paleisti gpg-agent programos, kuri reikalinga jūsų GnuPG %S versijai.
prefUntrusted=NEPATIKIMAS
prefRevoked=ATÅ AUKTAS RAKTAS
prefExpiredKey=NEGALIOJANTIS RAKTAS
prefExpired=PASIBAIGĘS
prefGood=GERAS parašas iš %S
prefBad=BLOGAS parašas iš %S
failCancel=Klaida - rakto gavimą atšaukė naudotojas
failNoServer=Klaida - nenurodytas raktų serveris iš kurio reikia gauti raktą
failNoID=Klaida - nenurodyta rakto ID kurį reikia gauti
failKeyExtract=Klaida - rakto išgavimo komanda nepavyko
notFirstBlock=Klaida - pirmas OpenPGP blokas nėra viešas raktas
importKeyConfirm=Importuoti viešą(-us) raktą(-us) įterptus laiške?
failKeyImport=Klaida - nepavyko importuoti rakto
fileWriteFailed=Nepavyko įrašyti į failą %S
importKey=Importuoti viešą raktą %S iš raktų serverio:
uploadKey=Siųsti viešą raktą %S į raktų serverį:
keyId=Rakto ID
keyAndSigDate=Rakto ID: 0x%S / Pasirašyta: %S
keyFpr=Rakto piršto antspaudas: %S
noEmailProvided=Jūs nepateikėte el. pašto adreso!
keyAlreadySigned=Raktas jau pasirašytas, negalite jo pasirašyti antrą kartą.
gnupg.invalidKey.desc=Raktas %S nerastas arba netinkamas. Papildomas raktas gali būti nebegaliojantis.
selKeyExpired=pasibaigęs galiojimas %S
createdHeader=Sukurtas
atLeastOneKey=Nepasirinktas raktas! Turite pasirinkti bent vieną raktą patvirtinant šį dialogą
fewerKeysThanRecipients=Jūs pasirinkote mažiau raktų nei yra gavėjų. Ar jūs įsitikinę jog raktų, kuriuos reikia užšifruoti, sąrašas pilnas?
userSel.button.goBack=Pasirinkti daugiau raktų
userSel.secretKeySel.title=Pasirinkite slaptą OpenPGP raktą laiškų pasirašymui
# should be same as thunderbird ENTITY sendLaterCmd.label:
sendLaterCmd.label=Siųsti vėliau
# Strings used in enigmailAttachmentDialog.js
pgpMimeNote=PASTABA: PGP/MIME palaikoma riboto paÅ¡to klientų skaiÄiaus! Ant Windows tik Mozilla/Thunderbird, Sylpheed, Pegasus ir Mulberry palaiko šį standartÄ…; ant Linux/UNIX ir MAC OS X populiariausi klientai palaiko jį. Jei esate neįsitikinÄ™, pasirinkite %S parinkty.
first=pirmas
second=antras
# Strings used in am-enigprefs.js
encryptKeyHeader=Pasirinkite OpenPGP raktą šifravimui
identityName=TapatybÄ—: %S
# Strings used in enigmailSingleRcptSettings.js
noEncryption=JÅ«s įjungÄ—te Å¡ifravimÄ…, bet nepasirinkote rakto. Norint užšifruoti laiÅ¡kus siunÄiamus %S, jÅ«s turite nurodyti vienÄ… ar kelis tinkamus raktus iÅ¡ jÅ«sų raktų sÄ…raÅ¡o. Ar norite iÅ¡jungti Å¡ifravimÄ… skirtÄ… %S?
noKeyToUse=(nėra - be šifravimo)
noEmptyRule=TaisyklÄ— negali bÅ«ti tuÅ¡Äia! Nurodykite el. paÅ¡to adresÄ… taisyklÄ—s laukelyje.
invalidAddress=El. pašto adresas(-ai) kuriuos įvedėte netinkami. Jūs neturėtumėte nurodyti gavėjų vardų, tik el. pašto adresus. Pvz.:\nNetinkamas: Vardenis Pavardenis \nTinkamas: vardenis.pavardenis@adresas.lt
noCurlyBrackets=Laužtiniai skliaustai {} turi specialią reikšmę ir neturėtų būti naudojami el. pašto adresuose. Jei norite pakeisti atitinkamą elgesį šiai taisyklei, naudokite „Pritaikyti taisyklę jei gavėjas ...“ parinkty.\nDaugiau informacijos žinyne.
# Strings used in enigmailRulesEditor.js
never=Niekada
always=Visada
possible=Įmanoma
deleteRule=Tikrai ištrinti pasirinktą taisyklę?
nextRcpt=(Kitas gavÄ—jas)
negateRule=Ne
addKeyToRule=Pridėti raktą %S (%S) į kiekvienam-gavėjui taisyklę
# Strings used in enigmailSearchKey.js
needOnline=Pasirinkta funkcija neprieinama dirbant atsijungus. Prisijunkite ir bandykite dar kartÄ….
protocolNotSupported=Jūsų pasirinktas protokolas „%S://“ netinkamas parsiųsti OpenPGP raktus.
gpgkeysDisabled=Turėtų pagelbėti „extensions.enigmail.useGpgKeysTool“ parinkties įjungimas.
noKeyserverConn=Nepavyko prisijungti prie raktų serverio %S.
keyDownloadFailed=Nepavyko parsiųsti rakto iš raktų serverio. Būsenos pranešimas:\n%S
internalError=Kilo vidinė klaida. Raktų importuoti ar parsiųsti nepavyko.
noKeyFound=Apgailestaujame, nepavyko rasti rakto kuris atitiktų jūsų nurodytus kriterijus.\nTurėkite omeny jog rakto ID turi prasidėti „0x“ (pvz. 0xABCDEF12).
# gpgkeys_%S is one of the gpg command line tools gpgkeys_hkp, gpgkeys_ldap, etc.
gpgKeysFailed=Nepavyko surasti ar parsiųsti rakto iš raktų serverio: gpgkeys_%S neįvykdyta.
# Strings in enigmailEditKeyTrustDlg.xul
setKeyTrustFailed=Nepavyko nustatyti savininko patikimumo
# Strings in enigmailSignKeyDlg.js
signKeyFailed=Rakto pasirašyti nepavyko
alreadySigned.label=Pastaba: raktas %S jau pasirašytas pasirinktu slaptu raktu.
partlySigned.label=Pastaba: kai kurie rakto %S naudotojų ID jau pasirašyti su pasirinktu slaptu raktu.
# Strings in enigmailKeyManager.js
keyMan.loadingKeys=Įkraunami raktai, prašome palaukti ...
keyValid.unknown=nežinomas
keyValid.invalid=netinkamas
keyValid.disabled=išjungtas
keyValid.revoked=atšauktas
keyValid.expired=nebegaliojantis
keyValid.noSubkey=nÄ—ra tinkamo papildomo rakto
keyTrust.untrusted=nepatikimas
keyTrust.marginal=dalinai patikimas
keyTrust.full=patikimas
keyTrust.ultimate=visiškas
keyTrust.group=(grupÄ—)
keyType.public=viešas
keyType.publicAndSec=viešas/saugus
keyMan.enableKey=Įjungti raktą
keyMan.disableKey=Išjungti raktą
userAtt.photo=Naudotojo savybÄ— (JPEG paveikslÄ—lis)
asciiArmorFile=ASCII Armored failai (*.asc)
importKeyFile=Importuoti OpenPGP rakto failÄ…
gnupgFile=GnuPG failai
saveRevokeCertAs=Sukurti ir išsaugoti atšaukimo sertifikatą
revokeCertOK=Atšaukimo sertifikatas sėkmingai sukurtas. Jūs galite jį naudoti paversti raktą netinkamu. pvz. jei pametėte slaptą raktą.\n\nPrašau perkelti jį į saugią laikmeną kuri gali būti saugiai saugoma, pvz. CD ar lankstusis diskelis. Jei kasnors įgyja prieigą prie šio sertifikato, jie gali paversti jūsų raktą nenaudojamu.
revokeCertFailed=Neįmanoma sukurti atšaukimo sertifikato.
addUidOK=Naudotojo ID sÄ—kmingai pridÄ—ta
addUidFailed=PridÄ—ti naudotojo ID nepavyko
noKeySelected=Pasirinktai operacijai atlikti jūs turite pasirinkti bent vieną raktą
exportToFile=Eksportuoti viešą raktą į failą
exportSecretKey=Ar norite įterpti slaptą raktą į išsaugotą OpenPGP rakto failą?
saveKeysOK=Raktai sėkmingai išsaugoti
saveKeysFailed=Raktų išsaugoti nepavyko
importKeysFailed=Raktų importuoti nepavyko
enableKeyFailed=Raktų įjungti/išjungti nepavyko
specificPubKeyFilename=%S (0x%S) viešas
specificPubSecKeyFilename=%S (0x%S) viešas-saugus
defaultPubKeyFilename=Eksportuoti-vieši-raktai
defaultPubSecKeyFilename=Eksportuoti-vieši-ir-slapti-raktai
noSecretKeys=Slaptų raktų nerasta.\n\nAr norite sugeneruoti savo raktą dabar?
sendKeysOk=Raktas(-ai) sėkmingai išsiųsti
sendKeysFailed=Raktų išsiųsti nepavyko
receiveKeysOk=Raktas(-ai) sÄ—kmingai atnaujinti
receiveKeysFailed=Raktų parsiųsti nepavyko
importFromClip=Ar norite importuoti raktą(-us) iš iškarpinės?
copyToClipbrdFailed=Nepavyko nukopijuoti pasirinkto rakto(-ų) į iškarpinę.
copyToClipbrdOK=Raktas(-ai) nukopijuoti į iškarpinę
deleteSecretKey=ĮSPĖJIMAS: Jūs ruošiatės ištrinti slaptą raktą!\nJei ištrinsite savo slaptą raktą, nebegalėsite iššifruoti laiškų užšifruotų tuo raktu ir nebegalėsite atšaukti to rakto.\n\nAr tikrai norite ABU(slaptą raktą ir viešą raktą) ištrinti\n„%S“?
deleteMix=ĮSPĖJIMAS: Jūs ruošiatės ištrinti slaptus raktus!\nJei ištrinsite savo slaptą raktą, nebegalėsite iššifruoti laiškų užšifruotų tuo raktu.\nAr tikrai norite ABU(pasirinktą slaptą raktą ir viešą raktą) ištrinti?
deletePubKey=Ar tikrai norite ištrinti viešąjį raktą\n„%S“?
deleteSelectedPubKey=Ar norite ištrinti viešuosius raktus?
deleteKeyFailed=Nepavyko ištrinti rakto.
revokeKeyOk=Raktas atšauktas. Jei jūsų raktas prieinamas raktų serveryje, rekomenduojama jį dar kartą įkelti, kad kiti matytų jog jis atšauktas.
revokeKeyFailed=Rakto atšaukti nepavyko.
refreshAllQuestion=Nepasirinkote jokio rakto. Ar norite atnaujinti VISUS raktus?
refreshKey.warn=Ä®spÄ—jimas: priklausomai nuo raktų skaiÄiaus ir interneto greiÄio, raktų atnaujinimas gali užtrukti!
downloadContactsKeys.warn=Ä®spÄ—jimas: priklausomai nuo raktų skaiÄiaus ir interneto greiÄio, raktų atnaujinimas gali užtrukti!
downloadContactsKeys.importFrom=Importuoti kontaktus iš „%S“ adresų knygutės?
keyMan.button.exportSecKey=Eksportuoti &slaptus raktus
keyMan.button.exportPubKey=Eksportuoti tik &viešus raktus
keyMan.button.import=&Importuoti
keyMan.button.refreshAll=&Iš naujo įkelti visus raktus
keyMan.button.revokeKey=&Atšaukti raktą
keyMan.button.skip=&Praleisti raktÄ…
keylist.noOtherUids=Neturi kitų tapatybių
keylist.hasOtherUids=Taip pat žinomas kaip
keylist.noPhotos=NÄ—ra nuotraukos
keylist.hasPhotos=Nuotraukos
keyMan.addphoto.filepicker.title=Pasirinkite nuotraukÄ… kuri bus pridÄ—ta
keyMan.addphoto.warnLargeFile=Jūsų pasirinktas failas yra didesnis nei 25 kB.\nNerekomenduotina pridėti didelių failų, nes raktai tampa labai dideli.
keyMan.addphoto.noJpegFile=Pasirinktas failas nÄ—ra JPEG failas. Pasirinkite kitÄ… failÄ….
keyMan.addphoto.failed=Nepavyko pridÄ—ti nuotraukos.
# Strings in enigmailManageUidDlg.xul
changePrimUidFailed=Nepavyko pakeisti pagrindinio naudotojo ID
changePrimUidOK=Pagrindinio naudotojo ID sÄ—kmingai pakeistas
deleteUidFailed=Ištrinti naudotojo ID %S nepavyko
deleteUidOK=Naudotojo ID %S sėkmingai ištrintas
revokeUidFailed=Atšaukti naudotojo ID %S nepavyko
revokeUidOK=Naudotojo ID %S sėkmingai atšauktas. Jei jūsų raktas prieinamas raktų serveryje, rekomenduojama jį įkelti pakartotinai, kad kiti žinotų jog jis atšauktas.
revokeUidQuestion=Ar tikrai norite atšaukti naudotojo ID %S?
deleteUidQuestion=Ar tikrai norite atšaukti naudotojo ID %S?\n\nTurėkite omeny: jei išsiuntėte savo viešą raktą į raktų serverį, ištrynus naudotojo ID niekas nepasikeis. šiuo atveju jūs turėtumėte naudoti „Atšaukti naudotojo ID“.
# Strings in enigmailKeyImportInfo.xul
importInfoTitle=PAVYKO! Raktai importuoti
importInfoSuccess=✅
# Strings in enigmailKeyDetailsDlg.xul
keyTypePublic=viešasis raktas
keyTypePrimary=pirminis raktas
keyTypeSubkey=poraktis
keyTypePair=raktų pora
keyExpiryNever=niekada
keyAlgorithm_1=RSA
keyAlgorithm_2=RSA
keyAlgorithm_3=RSA
keyAlgorithm_16=ELG
keyAlgorithm_17=DSA
keyAlgorithm_18=ECDH
keyAlgorithm_19=ECDSA
keyAlgorithm_20=ELG
keyAlgorithm_22=EDDSA
keyUsageEncrypt=Å ifravimas
keyUsageSign=Pasirašymas
keyUsageCertify=Sertifikavimas
keyUsageAuthentication=TapatybÄ—s patvirtinimas
# Strings in enigmailGenCardKey.xul
keygen.started=Palaukite kol bus sugeneruotas raktas...
keygen.completed=Raktas sugeneruotas. Naujas rakto ID yra: 0x%S
keygen.keyBackup=Rakto atsarginÄ— kopija padaryta kaip %S
keygen.passRequired=Nurodykite slaptafrazę jei norite sukurti savo rakto atsarginę kopiją už SmartCard ribų.
# Strings in enigmailSetCardPin.xul
cardPin.dontMatch=Jūsų įvestas PIN nesutampa; įveskite dar kartą
cardPin.minLength=PIN turi būti sudarytas bent iš %S simbolių
cardPin.processFailed=Nepavyko pakeisti PIN
# Strings in enigRetrieveProgres.xul
keyserverProgress.refreshing=Raktai įkeliami iš naujo, prašome palaukti...
keyserverProgress.uploading=Raktai įkeliami, palaukite...
keyserverTitle.refreshing=Atnaujinti raktus
keyserverTitle.uploading=Įkelti raktą
# Strings in enigmailSetupWizard
passphrase.min8keys=Jūsų slaptafrazė turi būti sudaryta bent iš 8 simbolių!
setupWizard.reallyCancel=Ar tikrai norite uždaryti Enigmail diegimo vedlį?
setupWizard.invalidGpg=Jūsų pasirinktas failas nėra GnuPG vykdomasis failas. Pasirinkite kitą failą.
setupWizard.specifyFile=Norėdami tęsti, turite nurodyti bent jau viešą raktą.
setupWizard.installFailed=Atrodo diegimas nepavyko. Pabandykite iš naujo arba įdiekite GnuPG rankiniu būdu ir pasirinkite jį su naršymo mygtuku.
setupWizard.downloadForbidden=JÅ«sų paÄių saugumui, mes nesiųsime GnuPG. Aplankykite http://www.gnupg.org/ ir parsisiųskite GnuPG.
setupWizard.downloadImpossible=Šiuo metu negalime parsiųsti GnuPG. Pabandykite vėliau arba aplankykite http://www.gnupg.org/ ir parsisiųskite GnuPG.
setupWizard.hashSumError=Vedliui nepavyko patikrinti parsiųsto failo vietisumo. Failas gali būti netinkamai parsiųstas arba pakeistas. Ar vistiek norite tęsti diegimą?
# Strings in installGnuPG.jsm
installGnuPG.downloadFailed=ParsiunÄiant GnuPG įvyko klaida. Klaidas galite pamatyti konsolÄ—je.
installGnuPG.installFailed=Diegiant GnuPG įvyko klaida. Klaidas galite pamatyti konsolėje.
# Strings in enigmailAddUidDlg.xul
addUidDlg.nameOrEmailError=Turite užpildyti vardą ir el. pašto adresą
addUidDlg.nameMinLengthError=VardÄ… turi sudaryti bent 5 simboliai
addUidDlg.invalidEmailError=Turite nurodyti teisingą el. pašto adresą
addUidDlg.commentError=Komentaruose laužtiniai skliaustai neleidžiami
# Strings in enigmailCardDetails.js
Carddetails.NoASCII=OpenPGP SmartCards Varde/PavardÄ—je palaiko tik ASCII simbolius.
# network error types
errorType.SecurityCertificate=Saugumo sertifikatas kurį pateikė interneto tarnyba yra netinkamas.
errorType.SecurityProtocol=Saugumo protokolas kurį naudoja tarnyba yra nežinomas.
errorType.Network=Įvyko tinklo klaida.
# filter stuff
filter.folderRequired=Privalote pasirinkti paskirties aplankÄ….
saveLogFile.title=Išsaugoti žurnalo failą
#strings in exportSettingsWizard.js
cannotWriteToFile=Nepavyksta išsaugoti į failą "%S". Prašome pasirinkti kitą failą.
dataExportError=Jūsų duomenų eksportavimo metu įvyko klaida.
# msgCompose.partiallyEncrypted.short=Beware of leaking sensitive information - partially encrypted email.
# msgCompose.partiallyEncrypted.long=The message you are editing was partially encrypted. That is, the message contains unencrypted and encrypted parts. Some encrypted message parts may even be invisible to you.\n\nIf the sender was not able to decrpyt the message parts originally, it is likely that you only got the email with some surrounding unencrypted text in order to make you reveal the encrypted information.
enigmail/lang/lt/help/ 0000775 0000000 0000000 00000000000 13213001347 0015125 5 ustar 00root root 0000000 0000000 enigmail/lang/lt/help/compose.html 0000664 0000000 0000000 00000010075 13213001347 0017463 0 ustar 00root root 0000000 0000000
Enigmail Help: Message Composition
Enigmail Help
Using Enigmail when composing messages
Enigmail menu in Mail/Compose window
Sign message
Enable/Disable sending signed mail. User is notified, if signing fails.
Encrypt message
Enable/Disable encryption to all recipient(s) before sending. User is notified, if encryption fails.
If Display selection when necessary is set in Preferences -> Key Selection tab, a list of keys will pop up if there are addresses in the list of recipients for the message for whom you have no public key.
If Never display OpenPGP key selection dialog is set in Preferences -> Key Selection tab, and there are addresses in the list of recipients for the message for whom you have no public key, the message will be sent unencrypted.
Use PGP/MIME for this message
Enable/Disable the use of PGP/MIME for this message.
If you know the recipient(s) can read mail using the PGP/MIME format, you should use it.
This feature is dependent on the settings in Preferences -> PGP/MIME tab being set to Allow to use PGP/MIME or Always use PGP/MIME.
Default composition options
Signing/Encryption Options...: shortcut to Account Settings -> OpenPGP Options.
Send options...: shortcut to Preferences -> Send tab.
Key selection options...: shortcut to Preferences -> Key Selection tab.
PGP/MIME options...: shortcut to Preferences -> PGP/MIME tab.
Undo encryption
If there is a failure when actually sending mail, such as the POP server not accepting the request, Enigmail will not know about it, and the encrypted message will continue to be displayed in the Compose window. Choosing this menu item will undo the encryption/signing, reverting the Compose window back to its original text.
As a temporary fix, this option may also be used to decrypt the quoted text when replying to encrypted messages. Enigmail should automatically decrypt the quoted message, but if that fails for some reason, you can use this menu item to force it.
Insert public key
insert ASCII-armored public key block at the current cursor location in the Compose window. You will be prompted for the email addresses of the key(s) to be inserted. Keys inserted in this manner will automatically be recognized at the receiving end by Enigmail. After key insertion, you may still choose to sign/encrypt the mail as needed. Also, do not insert more than one key block in a message; just specify multiple email addresses, separated by commas or spaces, when prompted.
Clear save passphrase
Clears cached passphrase. Useful if you have multiple passphrases.
Help
Displays Help information from the website (this page).
Using the Enigmail Rules Editor: Edit OpenPGP Rule
In the Rules Editor, you can specify defaults per recipient for enabling encryption, signing and PGP/MIME, and to define what OpenPGP key(s) to use. In this dialog, you can specify the rules for a single recipient, and for a group of recipients with very similar attributes.
Set OpenPGP Rules for
Contains the email addresses of the recipients (without names, i.e. just an address like somebody@email.domain). You can specify several email addresses, separated by spaces. The address specified here can consist of only the domain section so that mail to any address at that domain will be matched, e.g. @email.domain will allow matching to body@email.domain, somebody@email.domain, anybody@email.domain, etc.
Apply rule if recipient ...
This modifies the matching of the email addresses. If multiple addresses are entered, the setting will apply to all. The examples below are based on body@email.domain entered in the OpenPGP Rules field above.
Is exactly: with this setting, the rule will only trigger on emails to body@email.domain (exact, case insensitive matching).
Contains: with this setting, any email address containing the string is matched, e.g. anybody@email.domain or body@email.domain.net
Begins with: with this setting, any email address starting with the string is matched, e.g. body@email.domain.net, body@email.domain-name.com.
Ends with: with this setting, any email address ending with the string is matched, e.g. anybody@email.domain , somebody@email.domain.
Continue with the next rule for the matching address
Enabling this function will allow you to define a rule but not have to specify a KeyID in the Use the following OpenPGP keys: field, so that the email address is used to check for a key at the time of sending. Also, further rules for the same address(es) will be processed as well.
Do not check further rules for the matching address
Enabling this function stops processing any other rules for the matching address(es) if this rule is matched; i.e. rule processing continues with the next recipient.
Use the following OpenPGP keys:
Use the Select Key(s).. button to select the recipient keys to be used for encryption. As in the action above, no further rules for the matching address(es) are processed.
Default for Signing
Enable or disable message signing. This either uses or overrides what you have specified in the message composition window. The values are:
Never: disable signing, even if it was enabled in the message composition window (overrules the other values)
Yes, if selected from in Message Composition: leave signing as specified in the message composition window
Always: enable signing, even if it was not enabled in the message composition window
These signing settings are applied for all rules that match. If one of the rules disables signing, the message will not be signed, regardless of other rules that specify Always.
Encryption
Enable or disable message encryption. The allowed settings and their meaning are the same as for message signing.
PGP/MIME
Enable or disable the use of the PGP/MIME (RFC 3156) message encoding. If PGP/MIME is disabled, the messages are encoded using "inline PGP". The allowed values and their meaning are the same as for message signing.
The rules are processed in the order displayed in the list in the OpenPGP Rules Editor. Whenever a rule matches a recipient and contains a OpenPGP Key ID, in addition to using the specified Key ID, the recipient is not considered anymore when processing further rules.
Decrypt button in main Mail window
This button can be used for several purposes: decrypt, verify, or import public keys. Normally decryption/verification happens automatically, although this can be disabled through a preference. However, if this fails, usually a short error message will appear in the Enigmail status line. If you click the Decrypt button, you will be able to see a more detailed error message, including the output from the GnuPG command.
Pen and Key icons in Message Header display
The Pen and Key icons in the Message Header display indicate if the message you are reading was signed and/or encrypted and if the signature is good, i.e. the message has not been changed since it was signed. If the message has been changed, the Pen icon will change to a Broken Pen to indicate that the signature is bad. Right clicking on either the Pen or Key icons will bring up a menu with the following options:
OpenPGP Security info: allows you to view the output status from GnuPG for the message.
Copy OpenPGP Security info: copies the output status from GnuPG to the clipboard; to paste into a reply message, etc.
View OpenPGP Photo ID: allows you to view the Photo ID of the person who sent the message, if they have a photo embedded in their Public Key. (This option will only be enabled if a Photo ID exists in their key.)
S/MIME Security info: allows you to view the S/MIME Security Info for the message.
If you do not have keyserver-options auto-key-retrieve set in your gpg.conf file and you read a message which is signed or encrypted, you will see a Pen icon in the headers display area with a Question mark on it, the Enigmail status line in the headers area will say Part of the message signed; click pen icon for details and the message in the Message Pane will show all the OpenPGP message block indicators and the signature block.
You may also see this if you have keyserver-options auto-key-retrieve set in your gpg.conf file and the OpenPGP key is not available on the default keyserver.
Clicking on the Pen and Question mark icon will bring up a window advising that the key is unavailable in your keyring. Clicking on OK will bring up another window with a list of keyservers from which you can select to download the sender's public key from.
To configure the list of keyservers you wish to use, go to Enigmail -> Preferences -> Basic tab and enter the keyserver addresses in the Keyserver(s): box, separated by a comma. The first keyserver in the list will be used as the default.
Opening encrypted attachments / importing attached OpenPGP keys
Attachments named *.pgp, *.asc and *.gpg are recognized as attachments that can be handled specially by Enigmail. Right clicking on such an attachment enables two special menu items in the context menu: Decrypt and Open and Decrypt and Save. Use these two menu items if you want Enigmail to decrypt an attachment before opening or saving it. If an attachment is recognized as an OpenPGP key file, you are offered to import the keys it into your keyrings.
enigmail/lang/lt/help/initError.html 0000664 0000000 0000000 00000004536 13213001347 0020000 0 ustar 00root root 0000000 0000000
Enigmail Help: How to Resolve Problems with Initializing OpenPGP
Enigmail Help
How to Resolve Problems with Initializing OpenPGP
There are several reasons why initializing OpenPGP does not succeed. The most common ones are described below;
for more information please visit the Enigmail Support page.
GnuPG could not be found
In order for OpenPGP to work, the tool GnuPG needs to be installed.
If GnuPG cannot be found, then first make sure that the executable gpg.exe (on Windows; gpg on other platforms) is installed on your computer.
If GnuPG is installed, and OpenPGP cannot find it, then you need to manually set the path to GnuPG in the OpenPGP Preferences (menu OpenPGP > Preferences)
Enigmime failed to initialize
OpenPGP works only if it is built using the same build environment as Thunderbird or SeaMonkey was built. This means that you can use the official Enigmail releases only if you use the official releases of Thunderbird or SeaMonkey provided by mozilla.org.
If you use a Thunderbird or SeaMonkey version coming from some other source (e.g. the provider of your Linux distribution), or if you built the application yourself, you should either use an Enigmail version built by the same source, or build Enigmail yourself. For building Enigmail, refer to the Source Code section on the Enigmail home page. Please don't file any bug report concerning this problem, it is not solvable.
This button can be used for several purposes: decrypt, verify, or import public keys. Normally decryption/verification happens automatically, although this can be disabled through a preference. However, if this fails, usually a short error message will appear in the Enigmail status line. If you click the Decrypt button, you will be able to see a more detailed error message, including the output from the GnuPG command.
Pen and Key icons in Message Header display
The Pen and Key icons in the Message Header display indicate if the message you are reading was signed and/or encrypted and if the signature is good, i.e. the message has not been changed since it was signed. If the message has been changed, the Pen icon will change to a Broken Pen to indicate that the signature is bad. Right clicking on either the Pen or Key icons will bring up a menu with the following options:
OpenPGP Security info: allows you to view the output status from GnuPG for the message.
Copy OpenPGP Security info: copies the output status from GnuPG to the clipboard; to paste into a reply message, etc.
View OpenPGP Photo ID: allows you to view the Photo ID of the person who sent the message, if they have a photo embedded in their Public Key. (This option will only be enabled if a Photo ID exists in their key.)
S/MIME Security info: allows you to view the S/MIME Security Info for the message.
If you do not have keyserver-options auto-key-retrieve set in your gpg.conf file and you read a message which is signed or encrypted, you will see a Pen icon in the headers display area with a Question mark on it, the Enigmail status line in the headers area will say Part of the message signed; click pen icon for details and the message in the Message Pane will show all the OpenPGP message block indicators and the signature block.
You may also see this if you have keyserver-options auto-key-retrieve set in your gpg.conf file and the OpenPGP key is not available on the default keyserver.
Clicking on the Pen and Question mark icon will bring up a window advising that the key is unavailable in your keyring. Clicking on OK will bring up another window with a list of keyservers from which you can select to download the sender's public key from.
To configure the list of keyservers you wish to use, go to Enigmail -> Preferences -> Basic tab and enter the keyserver addresses in the Keyserver(s): box, separated by a comma. The first keyserver in the list will be used as the default.
Attachments named *.pgp, *.asc and *.gpg are recognized as attachments that can be handled specially by Enigmail. Right clicking on such an attachment enables two special menu items in the context menu: Decrypt and Open and Decrypt and Save. Use these two menu items if you want Enigmail to decrypt an attachment before opening or saving it. If an attachment is recognized as an OpenPGP key file, you are offered to import the keys it into your keyrings.
In the Rules Editor, you can specify defaults per recipient for enabling encryption, signing and PGP/MIME, and to define what OpenPGP key(s) to use. Each rule consists of 5 fields and is represented on a single line:
Email
The e-mail(s) from the To:, Cc: and Bcc: fields to match. The matching works on substrings (Further details can be found in the Edit Rule dialog)
OpenPGP Key(s)
a list of OpenPGP Key ID's to use for the recipient
Sign
enable or disable message signing. This either uses or overrides what you have specified in the message composition window. The values are:
Never: disable signing, even if it was enabled in the message composition window (overrules the other values)
Possible: leave signing as specified in the message composition window
Always: enable signing, even if it was not enabled in the message composition window
These signing settings are applied for all rules that match. If one of the rules disables signing, the message will not be signed, regardless of other rules that specify Always.
Encrypt
enable or disable message encryption. The allowed settings and their meaning are the same as for message signing.
PGP/MIME
enable or disable the use of the PGP/MIME (RFC 3156) message encoding. If PGP/MIME is disabled, the messages are encoded using "inline PGP". The allowed values and their meaning a re the same as for message signing.
The rules are processed in the order displayed in the list. Whenever a rule matches a recipient and contains a OpenPGP Key ID, in addition to using the specified Key ID, the recipient is not considered anymore when processing further rules.
Note: The rule editor is not yet complete. It is possible to write some more advanced rules by directly editing the rules file (these rules should then not be edited anymore in the rule editor). Further information for directly editing the file is available on the Enigmail Homepage
In the Sending Preferences you can choose the general model and preferences for encryption.
Convenient Encryption
With these settings, emails are encrypted without confirmation whenever possible.
This setup is appropriate, if you just want to improve your privacy by sending emails encyrpted instead of unencrypted if that's possible.
The effect is like sending emails as letters instead of postcards. Unlike postcards, letters usually hide their contents while in transit.
Note however that as with letters you can't be sure that nobody is opening the letter while it is in transit (although, some technical effort is necessary for that).
A concrete risk is that you accidentally use "faked keys" you got from somewhere or somebody claiming that the key belongs to the person you want to send emails to. To avoid this risk, you can either use the trust model of PGP (see below) or you should always verify, whether the fingerprint of a public key is correct.
Manual Encryption
This option allows you to specify the different preferences for encryption according to your needs. You can specify
whether replies to encrypted/signed emails should automatically also be encrypted/signed-
whether to use the trust model of OpenPGP to accept keys (this means that to use a key you either have to sign the key or have enough other people you trust having signed the key).
whether you want to automatically send emails encrypted if all keys are accepted.
whether and when you want to finally confirm sending an email.
Enable/Disable sending signed mail. User is notified, if signing fails.
Encrypt message
Enable/Disable encryption to all recipient(s) before sending. User is notified, if encryption fails.
If Display selection when necessary is set in Preferences -> Key Selection tab, a list of keys will pop up if there are addresses in the list of recipients for the message for whom you have no public key.
If Never display OpenPGP key selection dialog is set in Preferences -> Key Selection tab, and there are addresses in the list of recipients for the message for whom you have no public key, the message will be sent unencrypted.
Use PGP/MIME for this message
Enable/Disable the use of PGP/MIME for this message.
If you know the recipient(s) can read mail using the PGP/MIME format, you should use it.
This feature is dependent on the settings in Preferences -> PGP/MIME tab being set to Allow to use PGP/MIME or Always use PGP/MIME.
Default composition options
Signing/Encryption Options...: shortcut to Account Settings -> OpenPGP Options.
Send options...: shortcut to Preferences -> Send tab.
Key selection options...: shortcut to Preferences -> Key Selection tab.
PGP/MIME options...: shortcut to Preferences -> PGP/MIME tab.
Undo encryption
If there is a failure when actually sending mail, such as the POP server not accepting the request, Enigmail will not know about it, and the encrypted message will continue to be displayed in the Compose window. Choosing this menu item will undo the encryption/signing, reverting the Compose window back to its original text.
As a temporary fix, this option may also be used to decrypt the quoted text when replying to encrypted messages. Enigmail should automatically decrypt the quoted message, but if that fails for some reason, you can use this menu item to force it.
Insert public key
insert ASCII-armored public key block at the current cursor location in the Compose window. You will be prompted for the email addresses of the key(s) to be inserted. Keys inserted in this manner will automatically be recognized at the receiving end by Enigmail. After key insertion, you may still choose to sign/encrypt the mail as needed. Also, do not insert more than one key block in a message; just specify multiple email addresses, separated by commas or spaces, when prompted.
Clear save passphrase
Clears cached passphrase. Useful if you have multiple passphrases.
Help
Displays Help information from the website (this page).
Using the Enigmail Rules Editor: Edit OpenPGP Rule
In the Rules Editor, you can specify defaults per recipient for enabling encryption, signing and PGP/MIME, and to define what OpenPGP key(s) to use. In this dialog, you can specify the rules for a single recipient, and for a group of recipients with very similar attributes.
Set OpenPGP Rules for
Contains the email addresses of the recipients (without names, i.e. just an address like somebody@email.domain). You can specify several email addresses, separated by spaces. The address specified here can consist of only the domain section so that mail to any address at that domain will be matched, e.g. @email.domain will allow matching to body@email.domain, somebody@email.domain, anybody@email.domain, etc.
Apply rule if recipient ...
This modifies the matching of the email addresses. If multiple addresses are entered, the setting will apply to all. The examples below are based on body@email.domain entered in the OpenPGP Rules field above.
Is exactly: with this setting, the rule will only trigger on emails to body@email.domain (exact, case insensitive matching).
Contains: with this setting, any email address containing the string is matched, e.g. anybody@email.domain or body@email.domain.net
Begins with: with this setting, any email address starting with the string is matched, e.g. body@email.domain.net, body@email.domain-name.com.
Ends with: with this setting, any email address ending with the string is matched, e.g. anybody@email.domain , somebody@email.domain.
Continue with the next rule for the matching address
Enabling this function will allow you to define a rule but not have to specify a KeyID in the Use the following OpenPGP keys: field, so that the email address is used to check for a key at the time of sending. Also, further rules for the same address(es) will be processed as well.
Do not check further rules for the matching address
Enabling this function stops processing any other rules for the matching address(es) if this rule is matched; i.e. rule processing continues with the next recipient.
Use the following OpenPGP keys:
Use the Select Key(s).. button to select the recipient keys to be used for encryption. As in the action above, no further rules for the matching address(es) are processed.
Default for Signing
Enable or disable message signing. This either uses or overrides what you have specified in the message composition window. The values are:
Never: disable signing, even if it was enabled in the message composition window (overrules the other values)
Yes, if selected from in Message Composition: leave signing as specified in the message composition window
Always: enable signing, even if it was not enabled in the message composition window
These signing settings are applied for all rules that match. If one of the rules disables signing, the message will not be signed, regardless of other rules that specify Always.
Encryption
Enable or disable message encryption. The allowed settings and their meaning are the same as for message signing.
PGP/MIME
Enable or disable the use of the PGP/MIME (RFC 3156) message encoding. If PGP/MIME is disabled, the messages are encoded using "inline PGP". The allowed values and their meaning are the same as for message signing.
The rules are processed in the order displayed in the list in the OpenPGP Rules Editor. Whenever a rule matches a recipient and contains a OpenPGP Key ID, in addition to using the specified Key ID, the recipient is not considered anymore when processing further rules.
enigmail/lang/nb-NO/help/initError.html 0000664 0000000 0000000 00000004536 13213001347 0020272 0 ustar 00root root 0000000 0000000
Enigmail Help: How to Resolve Problems with Initializing OpenPGP
Enigmail Help
How to Resolve Problems with Initializing OpenPGP
There are several reasons why initializing OpenPGP does not succeed. The most common ones are described below;
for more information please visit the Enigmail Support page.
GnuPG could not be found
In order for OpenPGP to work, the tool GnuPG needs to be installed.
If GnuPG cannot be found, then first make sure that the executable gpg.exe (on Windows; gpg on other platforms) is installed on your computer.
If GnuPG is installed, and OpenPGP cannot find it, then you need to manually set the path to GnuPG in the OpenPGP Preferences (menu OpenPGP > Preferences)
Enigmime failed to initialize
OpenPGP works only if it is built using the same build environment as Thunderbird or SeaMonkey was built. This means that you can use the official Enigmail releases only if you use the official releases of Thunderbird or SeaMonkey provided by mozilla.org.
If you use a Thunderbird or SeaMonkey version coming from some other source (e.g. the provider of your Linux distribution), or if you built the application yourself, you should either use an Enigmail version built by the same source, or build Enigmail yourself. For building Enigmail, refer to the Source Code section on the Enigmail home page. Please don't file any bug report concerning this problem, it is not solvable.
This button can be used for several purposes: decrypt, verify, or import public keys. Normally decryption/verification happens automatically, although this can be disabled through a preference. However, if this fails, usually a short error message will appear in the Enigmail status line. If you click the Decrypt button, you will be able to see a more detailed error message, including the output from the GnuPG command.
Pen and Key icons in Message Header display
The Pen and Key icons in the Message Header display indicate if the message you are reading was signed and/or encrypted and if the signature is good, i.e. the message has not been changed since it was signed. If the message has been changed, the Pen icon will change to a Broken Pen to indicate that the signature is bad. Right clicking on either the Pen or Key icons will bring up a menu with the following options:
OpenPGP Security info: allows you to view the output status from GnuPG for the message.
Copy OpenPGP Security info: copies the output status from GnuPG to the clipboard; to paste into a reply message, etc.
View OpenPGP Photo ID: allows you to view the Photo ID of the person who sent the message, if they have a photo embedded in their Public Key. (This option will only be enabled if a Photo ID exists in their key.)
S/MIME Security info: allows you to view the S/MIME Security Info for the message.
If you do not have keyserver-options auto-key-retrieve set in your gpg.conf file and you read a message which is signed or encrypted, you will see a Pen icon in the headers display area with a Question mark on it, the Enigmail status line in the headers area will say Part of the message signed; click pen icon for details and the message in the Message Pane will show all the OpenPGP message block indicators and the signature block.
You may also see this if you have keyserver-options auto-key-retrieve set in your gpg.conf file and the OpenPGP key is not available on the default keyserver.
Clicking on the Pen and Question mark icon will bring up a window advising that the key is unavailable in your keyring. Clicking on OK will bring up another window with a list of keyservers from which you can select to download the sender's public key from.
To configure the list of keyservers you wish to use, go to Enigmail -> Preferences -> Basic tab and enter the keyserver addresses in the Keyserver(s): box, separated by a comma. The first keyserver in the list will be used as the default.
Attachments named *.pgp, *.asc and *.gpg are recognized as attachments that can be handled specially by Enigmail. Right clicking on such an attachment enables two special menu items in the context menu: Decrypt and Open and Decrypt and Save. Use these two menu items if you want Enigmail to decrypt an attachment before opening or saving it. If an attachment is recognized as an OpenPGP key file, you are offered to import the keys it into your keyrings.
In the Rules Editor, you can specify defaults per recipient for enabling encryption, signing and PGP/MIME, and to define what OpenPGP key(s) to use. Each rule consists of 5 fields and is represented on a single line:
Email
The e-mail(s) from the To:, Cc: and Bcc: fields to match. The matching works on substrings (Further details can be found in the Edit Rule dialog)
OpenPGP Key(s)
a list of OpenPGP Key ID's to use for the recipient
Sign
enable or disable message signing. This either uses or overrides what you have specified in the message composition window. The values are:
Never: disable signing, even if it was enabled in the message composition window (overrules the other values)
Possible: leave signing as specified in the message composition window
Always: enable signing, even if it was not enabled in the message composition window
These signing settings are applied for all rules that match. If one of the rules disables signing, the message will not be signed, regardless of other rules that specify Always.
Encrypt
enable or disable message encryption. The allowed settings and their meaning are the same as for message signing.
PGP/MIME
enable or disable the use of the PGP/MIME (RFC 3156) message encoding. If PGP/MIME is disabled, the messages are encoded using "inline PGP". The allowed values and their meaning a re the same as for message signing.
The rules are processed in the order displayed in the list. Whenever a rule matches a recipient and contains a OpenPGP Key ID, in addition to using the specified Key ID, the recipient is not considered anymore when processing further rules.
Note: The rule editor is not yet complete. It is possible to write some more advanced rules by directly editing the rules file (these rules should then not be edited anymore in the rule editor). Further information for directly editing the file is available on the Enigmail Homepage
In the Sending Preferences you can choose the general model and preferences for encryption.
Convenient Encryption
With these settings, emails are encrypted without confirmation whenever possible.
This setup is appropriate, if you just want to improve your privacy by sending emails encyrpted instead of unencrypted if that's possible.
The effect is like sending emails as letters instead of postcards. Unlike postcards, letters usually hide their contents while in transit.
Note however that as with letters you can't be sure that nobody is opening the letter while it is in transit (although, some technical effort is necessary for that).
A concrete risk is that you accidentally use "faked keys" you got from somewhere or somebody claiming that the key belongs to the person you want to send emails to. To avoid this risk, you can either use the trust model of PGP (see below) or you should always verify, whether the fingerprint of a public key is correct.
Manual Encryption
This option allows you to specify the different preferences for encryption according to your needs. You can specify
whether replies to encrypted/signed emails should automatically also be encrypted/signed-
whether to use the trust model of OpenPGP to accept keys (this means that to use a key you either have to sign the key or have enough other people you trust having signed the key).
whether you want to automatically send emails encrypted if all keys are accepted.
whether and when you want to finally confirm sending an email.
Enigmail gebruiken bij het opstellen van een bericht
Enigmail menu in het Mail/Opstellen venster
Onderteken bericht
Ondertekende mail verzenden in- of uitschakelen. De gebruiker wordt gewaarschuwd als het ondertekenen mislukt.
Versleutel bericht
Versleuteling voor alle ontvanger(s) in- of uitschakelen. De gebruiker wordt gewaarschuwd als de versleuteling mislukt.
Als Selectie tonen wanneer nodig ingesteld is in de Voorkeuren -> Sleutelselectie tab, dan zal er een lijst van sleutel getoond worden als er ontvangers in de lijst staan van wie u geen publieke sleutel hebt.
Als Toon nooit het PGP dialoogvenster voor sleutelselectie ingesteld is in de Voorkeuren -> Sleutelselectie tab, en er zijn adressen in de lijst met ontvangers van wie u geen publieke sleutel hebt, dan wordt de mail onversleuteld verstuurd.
Gebruik PGP/MIME voor dit bericht
Het gebruik van PGP/MIME voor dit bericht in- of uitschakelen.
Als u weet dat uw ontvanger mail kan lezen in het PGP/MIME formaat, dan gebruikt u dit best ook.
Deze mogelijkheid is afhankelijk van de instellingen in de Voorkeuren -> PGP/MIME tab. Deze moet ingesteld zijn op Sta het gebruik van PGP/MIME toe of Gebruik altijd PGP/MIME.
Standaardopties voor berichtcompositie
Ondertekening/versleuteling opties...: snelkoppeling naar de Accountinstellingen -> OpenPGP opties.
Verzenden opties...: snelkoppeling naar de Voorkeuren -> Verzend tab.
Sleutelselectie opties...: snelkoppeling naar de Voorkeuren -> Sleutelselectie tab.
PGP/MIME opties...: snelkoppeling naar de Voorkeuren -> PGP/MIME tab.
Versleuteling ongedaan maken
Als er een fout is bij het verzenden van de e-mail zoals wanneer de POP server de aanvraag niet accepteerd, zal Enigmail dit niet weten en het versleuteld bericht zal nog altijd getoond worden in het Opstelvenster. Bij het kiezen van dit menu-item wordt de versleuteling of ondertekening uit de mail verwijderd.
De Enigmail regeleditor gebruiken: PGP regels bewerken
In de Regeleditor kan u standaarden opgeven om versleuteling, ondertekening en PGP/MIME te gebruiken en om te definiëren welke OpenPGP sleutel(s) er gebruikt moeten worden. In dit dialoogvenster kan u de regels voor een enkele ontvanger opgeven en voor een groep van ontvangers met sterk vergelijkbare eigenschappen.
Stel PGP regels in voor
bevat de e-mailadressen van de ontvangers (zonder namen, d.w.z. enkel een adres zoals persoon@email.domain). U kan meerdere e-mailadressen opgeven, gescheiden door spaties. Het opgegeven e-mailadres kan bestaan uit enkel de domeinnaam zodat alle e-mailadressen van dit domein ermee overeenkomen. Bijvoorbeeld @email.domain zal overeenkomen met per@email.domain,soon@email.domain, persoon@email.domain, enz.
Pas regel toe als ontvanger ...
Dit past de vergelijking van de e-mailadressen aan. Als er meerdere e-mailadressen opgegeven zijn, zal de instelling betrekking hebben op alle e-mailadressen. De voorbeelden hieronder zijn gebaseerd op persoon@email.domain ingegeven in het PGP regels veld erboven.
Is exact met deze instelling heeft de regel enkel betrekking op e-mails naar persoon@email.domain (exact, niet hoofdlettergevoelig).
Bevat met deze instelling zal de regel toegepast worden op elk e-mailadres dat deze tekenreeks bevat. B.v. persoon@email.domain or soon@email.domain.net
Begint met met deze instelling wordt de regel toegepast op e-mailadressen die beginnen met de opgegeven tekenreeks. B.v. per@email.domain.net, per@email.domain-name.com.
Eindigt met met deze instelling wordt de regel toegpast op e-mailadressen die eindigen met de opgegeven tekenreeks. B.v. persoon@email.domain, soon@email.domain.
Ga verder met de volgende regel voor het overeenstemmende adres
Het inschakelen van deze functie staat u toe om een regel te definiëren zonder een KeyID in het Gebruik de volgende OpenPGP sleutel: veld, zodat het e-mailadres gebruikt wordt om de sleutel te controleren op het moment van verzenden. Verdere regels voor hetzelfde adres zullen ook uitgevoerd worden.
Controleer verdere regels voor het overeenstemmende adres niet
Het inschakelen van deze functie zorgt ervoor dat andere regels niet uitgevoerd worden als het adres met deze regel overeenstemd. Er wordt dus direct naar de volgende ontvanger overgeschakeld.
Gebruik de volgende OpenPGP sleutels
Gebruik de Selecteer sleutel(s).. knop om de sleutel van de ontvanger te kiezen die u wilt gebruiken voor versleuteling. Net zoals bij de bovenstaande actie zullen er geen verdere regels voor het overeenstemmende adres uitgevoerd worden.
Standaard voor ondertekening
Ondertekening in- of uitschakelen. Dit gebruikt of overschrijft datgene dat u opgegeven hebt in het berichtopstel venster. Mogelijke waarden zijn:
Nooit: ondertekening uitschakelen, zelf al is het ingeschakeld in het berichtopstelvenster (overschrijft de andere waarden)
Ja, als het geselecteerd is bij Berichtopstelling: laat ondertekening zoals opgegeven in het berichtopstelvenster
Altijd: ondertekening inschakelen, zelfs al is het niet ingeschakeld in het berichtopstelvenster
berichtversleuteling in- of uitschakelen. De toegestane instellingen en hun betekening zijn dezelfde als voor berichtondertekening.
PGP/MIME
Het gebruik van PGP/MIME (RFC 3156) berichtencodering in- of uitschakelen. Als PGP/MIME uitgeschakeld is, worden de berichten met "inline PGP) ondertekend of versleuteld. De toegestane waarden en hun betekenis zijn dezelfde als deze voor berichtondertekening.
De regels worden uitgevoerd in de volgorde waarin ze weergegeven worden in de PGP regeleditor. Wanneer een regel overeenstemt met een ontvanger en een PGP sleutel ID bevat, met daarbij nog een opgegeven sleutel ID, dan wordt de ontvanger niet meer gecontroleerd bij het uitvoeren van verdere regels.
enigmail/lang/nl/help/initError.html 0000664 0000000 0000000 00000005034 13213001347 0017764 0 ustar 00root root 0000000 0000000
Enigmail help: Het oplossen van problemen met de OpenPGP initialisatie
OpenPGP Help
Het oplossen van problemen met de OpenPGP initialisatie
Er zijn verschillende oorzaken voor het mislukken van de OpenPGP initialisatie. De bekendsten worden hieronder beschreven;
voor meer informatie kunt u de Enigmail help website bezoeken.
Kon GnuPG niet vinden
Voor een goede werking van OpenPGP moet de applicatie GnuPG geïnstalleerd zijn.
Als GnuPG niet kan worden gevonden, moet u er eerst voor zorgen dat de applicatie gpg.exe (voor Windows; gpg voor andere platformen) op uw PC daadwerkelijk aanwezig is.
Als GnuPG (gpg.exe of gpg) daadwerkelijk geïnstalleerd is, maar OpenPGP kan het toch niet vinden, moet u het pad naar GnuPG in de OpenPGP instellingen ingeven (Menu OpenPGP) > Voorkeuren).
Initialisatie van EnigMIME is mislukt
OpenPGP werkt alleen als deze in dezelfde ontwikkelomgeving als Thunderbird of SeaMonkey gecreëerd (gecompileerd) is. U kunt de officiële Enigmail samen met officiële versies van Thunderbird of SeaMonkey downloaden van mozilla.org.
Als u Thunderbird of SeaMonkey in een andere versie/variant van een andere bron download (bv. van een Linux distributie provider), of als u de applicatie zelf gecompileerd heeft, moet u ook een versie van Enigmail gebruiken die in dezelfde ontwikelomgeving gecompileerd is. Om Enigmail zelf te compileren moet u de instructies opvolgen op de Enigmail website in Gebied Source-Code. Gelieve geen eventuele foutmeldingen (bugs) over dit probleem te maken, omdat er daarvoor geen andere oplossing is.
Deze knop kan gebruikt worden voor verschillende doelen: ontcijferen, verifiëren of publieke sleutels importeren. Normaalgesproken gebeurt ontcijfering/verificatie automatisch, maar dit kan uitgeschakeld worden door middel van een instelling. Hoewel, als dit mislukt, wordt er een kort foutbericht weergegeven in de Enigmail statusregel. Als u op de Ontcijferknop klikt, zal u een meer gedetailleerd foutbericht zien, samen met de uitvoer van het GPG commando.
Pen- en sleuteliconen in de berichtkop
Het Pen en Sleutel icoon in de berichtkop toont of het bericht dat u aan het lezen bent ondertekend en/of versleuteld was en of de ondertekening goed is, d.w.z. als het bericht niet gewijzigd is sinds de ondertekening. Als het bericht toch gewijzigd is, zal het Pen icoon veranderen naar een Gebroken pen om aan te geven dat de ondertekening ongeldig is. Een rechtermuisklik op het Pen- of Sleutelicoon geeft een menu met de volgende opties:
OpenPGP beveiligingsinfo: staat u toe de outputstatus van GPG voor het bericht te bekijken.
Kopieer OpenPGP beveiligingsinfo: kopieert de output status van GPG naar het klembord; om in een antwoord te plakken, enz.
Bekijk PGP foto ID: staat u toe om het Foto ID van de persoon die u het bericht gezonden heeft te bekijken, als er natuurlijk een foto ingebed zit in de publieke sleutel. (Deze optie is enkel beschikbaar als er een Foto ID bestaat in de gebruikte sleutel.)
S/MIME beveilingsinfo: staat u toe om de S/MIME beveilingsinfo van het bericht te bekijken.
Als u keyserver-options auto-key-retrieve niet ingesteld hebt in uw gpg.conf bestand en u leest een bericht dat ondertekend of versleuteld is, dan zal u een Pen icoon in de hoofding zien met een Vraagteken er op. De Enigmail statusregel zal zeggen Gedeelte van het bericht getekend; klik op het pen icoon voor details en het bericht in het berichtvenster zal alle OpenPGP informatie, samen met de ondertekening tonen.
U kan dit ook zien als u keyserver-options auto-key-retrieve ingesteld hebt in uw gpg.conf bestand en als de OpenPGP key niet beschikbaar is op de standaard keyserver.
Een klik op het Pen en Vraagteken icoon zal een venster tonen met het bericht dat de sleutel niet in uw sleutelbos zit. Als u dan op OK klikt, krijgt u een ander venster met een lijst met publieke keyservers waaruit u kan kiezen om de publieke sleutel van de verzender te downloaden.
Ga naar Enigmail -> Voorkeuren -> Basis tab en geef het adres van de keyserver in in het Keyserver(s): vakje, gescheiden door een komma om een lijst van keyservers die u wilt gebruiken te configureren. De eerste keyserver uit de lijst zal als standaardserver gebruikt worden.
Bijlagen met de extensie *.pgp, *.asc en *.gpg worden herkend door Enigmail en worden speciaal behandeld. Bij een rechtermuisklik op zo een bijlage krijg je twee speciale menu items in het contextmenu: Ontcijfer en open en Ontcijfer en sla op als.... Gebruik deze twee menu items als u wilt dat Enigmail de bijlage ontcijfert voor deze te openen of op te slaan. Als een bijlage herkend word als een OpenPGP sleutelbestand, krijg je de kans om de sleutels in je sleutelbos te importeren.
In de regeleditor kan u standaarden opgeven per ontvanger om versleuteling, ondertekening en PGP/MIME in- of uit te schakelen. U kan er ook OpenPGP sleutels definiëren. Elke regel bestaat uit 5 velden en wordt getoond op een enkele lijn:
E-mail
De e-mail(s) van de Aan:, Cc: and Bcc: velden om te controleren. De controle werkt op subreeksen (Verdere details kunnen gevonden worden in het Bewerk regel dialoogvenster).
PGP sleutel(s)
een lijst van PGP sleutel ID's om te gebruiken voor de ontvanger
Onderteken
berichtondertekening in- of uitschakelen. Dit gebruikt of overschrijft de instelling die u gebruikt in het berichtenopstelvenster. De waarden zijn:
Nooit: ondertekening uitschakelen, zelf al is het ingeschakeld in het berichtopstelvenster (overschrijft de andere waarden)
Mogelijk: laat ondertekening als opgegeven in het berichtopstelvenster
Altijd: ondertekening inschakelen, zelfs al is het niet ingeschakeld in het berichtopstelvenster
berichtversleuteling in- of uitschakelen. De toegestane instellingen zijn dezelfde als voor berichtondertekening.
PGP/MIME
het gebruik van PGP/MIME (RFC 3156) in- of uitschakelen. Als PGP/MIME uitgeschakeld is, zullen de berichten versleuteld of ondertekend worden met "inline PGP". De toegestane waarden en hun betekenis zijn dezelfde als voor berichtondertekening.
De regels worden uitgevoerd in de volgorde waarin ze weergegeven worden in de PGP regeleditor. Wanneer een regel overeenstemt met een ontvanger en een PGP sleutel ID bevat, met daarbij nog een opgegeven sleutel ID, dan wordt de ontvanger niet meer gecontroleerd bij het uitvoeren van verdere regels.
Let op: De regeleditor is nog niet volledig. Het is mogelijk om meer geavanceerde regels te schrijven door het regelbestand direct te bewerken (deze regels zouden dan niet meer bewerkt mogen worden in de regeleditor). Verdere informatie voor het direct bewerken van het bestand is beschikbaar op de Enigmail homepage
Voorkeuren instellen om versleutelde e-mail te versturen
Bij de Verzenden voorkeuren kunt u het algemene model en de voorkeuren voor versleuteling kiezen.
Handige versleuteling
Met deze instellingen worden e-mails zonder bevestiging versleuteld, indien mogelijk.
Deze instelling is geschikt als u uw privacy wilt vergroten door versleutelde e-mails te versturen in plaats van onversleutelde e-mails als dat mogelijk is.
Het effect is alsof u vrieven stuurt in plaats van ansichtkaarten. In tegenstelling tot bij ansichtkaarten, kunnen brieven normaal gesproken niet gelezen worden tijdens het transport.
Het is echter net als bij brieven niet zeker, dat niemand de brief tijdens het transport opent (hoewel daar wel technische inspanning voor nodig is).
Een concreet risico is dat u per ongeluk ‘vervalste sleutels’ gebruikt, die u van iemand heeft gekregen die beweert dat de sleutel eigendom is van de persoon die u wilt e-mailen. Om dit risico te voorkomen kunt u ofwel het vertrouwensmodel van OpenPGP gebruiken (zie onder) of u moet altijd controleren of de vingerafdruk van de publieke sleutel juist is.
Handmatige versleuteling
Met deze instellingen kunt u de verschillende voorkeuren voor versleuteling handmatig aan uw behoefte aanpassen. U kunt opgeven:
of antwoorden op versleutelde/ondertekende e-mails ook automatisch versleuteld/ondertekend moeten worden;
of u het vertrouwensmodel van OpenPGP wilt gebruiken om sleutels te accepteren (dit betekent dat u om een sleutel te kunnen gebruiken, u deze sleutel moet ondertekenen, of dat er genoeg andere personen zijn die u vertrouwt die de sleutel ondertekend hebben);
of u automatisch alle e-mails versleuteld wilt versturen als alle sleutels geaccepteerd zijn;
of en wanneer u eindelijk wilt bevestigen dat u een e-mail wilt versturen.
Als u het belangrijk vindt dat inhoud die u versleutelt niet door andere personen of organisaties gelezen kan worden, dan dient u de handmatige instellingen te kiezen en op zijn minst de optie te selecteren om alleen sleutels te accepteren als u of andere mensen ze ondertekend hebben. Hoewel dit model het risico op vervalste sleutels vermindert, moet u wel actief sleutels ondertekenen en het eigenaarsvertrouwen aangeven via sleutelbeheer.
enigmail/lang/pl/ 0000775 0000000 0000000 00000000000 13213001347 0014171 5 ustar 00root root 0000000 0000000 enigmail/lang/pl/am-enigprefs.properties 0000664 0000000 0000000 00000000071 13213001347 0020662 0 ustar 00root root 0000000 0000000 # used in the AccountManager
prefPanel-enigprefs=OpenPGP
enigmail/lang/pl/enigmail.dtd 0000664 0000000 0000000 00000111631 13213001347 0016456 0 ustar 00root root 0000000 0000000
Konfiguracja kont -> OpenPGP).">
Uwaga! Tworzenie klucza może potrwać kilka minut. Nie zamykaj programu w trakcie działania generatora. Aktywne używanie przeglądarki lub wykonywanie intensywnych operacji dyskowych podczas tworzenia klucza przyspieszy proces. Koniec procesu zostanie zasygnalizowany odpowiednim komunikatem.">
†jest nieprawidłowy">
Uwaga! Generowanie klucza może potrwać kilka minut. Nie zamykaj programu w trakcie działania generatora. Koniec procesu zostanie zasygnalizowany odpowiednim komunikatem.">
Uwaga! Enigmail będzie zawsze weryfikować podpisy w wiadomościach dla wszystkich tożsamości i kont, niezależnie od tego czy obsługa Enigmail jest włączona, czy nie">
Dziękujemy za wybór Enigmail Enigmail!">
enigmail/lang/pl/enigmail.properties 0000664 0000000 0000000 00000075260 13213001347 0020106 0 ustar 00root root 0000000 0000000 Enigmail=Enigmail
enigAlert=Ostrzeżenie Enigmail
enigConfirm=Potwierdzenie Enigmail
enigError=Błąd Enigmail
enigPrompt=Wprowadź dane Enigmail
dlgYes=&Tak
dlgNo=&Nie
dlgKeepSetting=Zapamiętaj mój wybór i nie wyświetlaj ponownie
dlgNoPrompt=Nie wyświetlaj więcej tego okna
dlg.button.delete=&Usuń
dlg.button.cancel=&Anuluj
dlg.button.close=&Zamknij
dlg.button.continue=&Kontynuuj
dlg.button.skip=&Pomiń
dlg.button.overwrite=Przepisać
dlg.button.view=Po&dglÄ…d
dlg.button.retry=Znowu
dlg.button.ignore=&Ignorować
repeatPrefix=\n\nTo ostrzeżenie będzie powtórzone %S
repeatSuffixSingular=raz.
repeatSuffixPlural=razy.
noRepeat=\n\nTo ostrzeżenie nie pojawi się dopóki nie zaktualizujesz Enigmail.
pgpNotSupported=Wygląda na to, że używasz Enigmail razem z PGP 6.x\n\nNiestety, PGP 6.x ma dużo właściwości, które powodują niepoprawne działanie Enigmail. Dlatego też, PGP 6.x nie będzie dłużej obsługiwane. Zamiast tego zalecane jest zainstalowanie GnuPG (GPG).\n\nJeżeli potrzebujesz pomocy przy instalacji GnuPG, sprawdź sekcję „Pomoc†na stronie domowej Enigmail.
initErr.setupWizard.button=Kreator Konfiguracji
passphraseCleared=Szyfr został usunięty z pamięci.
noPhotoAvailable=Brak zdjęcia
debugLog.title=Dziennik zdarzeń debugowania Enigmail
error.photoPathNotReadable=Nie można odczytać Å›cieżki „%Sâ€
# Strings in configure.jsm
enigmailCommon.versionSignificantlyChanged=Ta wersja Enigmail wprowadza istotne zmiany w obsłudze preferencji i opcji. Dołożyliśmy wszelkich starań, aby przenieść ustawienia z poprzednich wersji do aktualnej, tam gdzie było to możliwe. Prosimy o dokładne sprawdzenie nowych preferencji i opcji.
enigmailCommon.checkPreferences=Sprawdź preferencje...
usingVersion=Uruchomiono Enigmail, wersja %S
usingAgent=Szyfrowanie i weryfikacja programem %S: %S
agentError=Błąd! Nie można uzyskać dostępu do usługi Enigmime!
accessError=Wystąpił błąd podczas próby uzyskania dostępu do usługi Enigmail
onlyGPG=Tworzenie kluczy działa tylko z GnuPG (nie działa z PGP)!
keygenComplete=Zakończono tworzenie klucza!\nTożsamość <%S> będzie używana do podpisywania.
revokeCertRecommended=Zaleca się utworzenie certyfikatu unieważnienia dla tego klucza. Certyfikat ten posłuży do unieważnienia klucza, np. jeżeli zaginie klucz prywatny lub zostanie on wykradziony. Czy utworzyć teraz taki certyfikat?
keyMan.button.generateCert=&Utwórz certyfikat
genCompleteNoSign=Zakończono tworzenie klucza!
genGoing=Trwa tworzenie klucza…!
passNoMatch=Wprowadzone szyfry są niezgodne – wprowadź ponownie
passCheckBox=Proszę zaznaczyć pole, jeśli nie podano szyfru do klucza
passUserName=Podaj nazwę użytkownika dla tej tożsamości
passSpaceProblem=Z powodów technicznych szyfr nie może zaczynać się lub kończyć spacją.
changePassFailed=Nie udało się zmienić szyfru.
keyConfirm=Utworzyć klucz publiczny i prywatny dla „%S�
keyMan.button.generateKey=&Utwórz klucz
keyAbort=Czy przerwać tworzenie klucza?
keyMan.button.generateKeyAbort=&Przerwij tworzenie klucza
keyMan.button.generateKeyContinue=&Kontynuuj tworzenie klucza
expiryTooLong=Nie można tworzyć kluczy ważnych dłużej niż 100 lat.
expiryTooLongShorter=Nie można tworzyć kluczy, których okres ważności jest dłuższy niż 90 lat.
expiryTooShort=Klucz musi być ważny przynajmniej jeden dzień.
dsaSizeLimit=Klucze podpisywania DSA są ograniczone do 3072 bitów. Rozmiar klucza zostanie odpowiednio zredukowany.
keyGenFailed=Nie udało się utworzyć klucza. Szczegóły wykonywanej operacji można znaleźć w konsoli Enigmail (menu Enigmail -> Debugowanie Enigmail).
setKeyExpirationDateFailed=Data wygaśnięcia nie mogła zostać zmieniona
# Strings in enigmailMessengerOverlay.js
securityInfo=Informacja Enigmail\n\n
enigHeader=Enigmail:
enigContentNote=Enigmail: *Załączniki do tej wiadomości nie zostały podpisane ani zaszyfrowane*\n\n
possiblyPgpMime=Wiadomość prawdopodobnie podpisana/zaszyfrowana za pomocą PGP/MIME – naciśnij przycisk Odszyfruj/Weryfikuj, aby to sprawdzić
noDecrypted=Brak odszyfrowanej wiadomości do zapisania!\nUżyj polecenia Zapisz z menu Plik.
noMessage=Brak wiadomości do zapisania!
useButton=Naciśnij przycisk Odszyfruj, aby odszyfrować wiadomość
saveHeader=Enigmail: Zapisz odszyfrowaną wiadomość
saveAttachmentHeader=Enigmail: Zapisz odszyfrowany załącznik
noTempDir=Nie można znaleźć katalogu plików tymczasowych.\nProszę ustawić odpowiednią ścieżkę jako wartość zmiennej systemowej TEMP.
attachmentPgpKey=Otwierany załącznik „%S†jest plikiem klucza OpenPGP.\n\nNaciÅ›nij przycisk „Importâ€, aby zaimportować zawarty w nim klucz lub „PodglÄ…dâ€, aby wyÅ›wietlić zawartość w oknie przeglÄ…darki.
beginPgpPart=********* *POCZATEK CZESCI SZYFROWANEJ / PODPISANEJ* *********
endPgpPart=********** *KONIEC CZESCI SZYFROWANEJ / PODPISANEJ* **********
notePartEncrypted=Enigmail: *Niektóre fragmenty wiadomości NIE zostały podpisane lub zaszyfrowane*
noteCutMessage=Enigmail: *Znaleziono bloki wielu wiadomości – przerwano odszyfrowanie/weryfikację*
decryptOkNoSig=Uwaga!\n\nWiadomość została odszyfrowana, ale nie można prawidłowo zweryfikować podpisu.
msgOvl.button.contAnyway=Czy chcesz &kontynuować?
signature.verifiedOK=Podpis załącznika %S został pomyślnie zweryfikowany
signature.verifyFailed=Nie można zweryfikować podpisu załącznika %S
attachment.noMatchToSignature=Nie można dopasować załącznika %S do pliku podpisu
attachment.noMatchFromSignature=Nie można dopasować pliku podpisu %S do załącznika
fixBrokenExchangeMsg.failed=Nie uda się naprawić wiadomość.
keysToExport=Wybierz klucze OpenPGP do wstawienia
keysToUse=Wybierz klucze OpenPGP używane dla %S
pubKey=Klucz publiczny dla %S\n
windowLocked=Okno tworzenia wiadomości jest zablokowane – wysyłanie anulowane
sendUnencrypted=Nie udało się zainicjować Enigmail.\nWysłać niezaszyfrowaną wiadomość?
composeSpecifyEmail=Wybierz swój adres e-mail, według którego wybierany będzie klucz do podpisywania wysyłanych wiadomości.\n Jeżeli zostawisz to pole niewypełnione, zostanie użyty adres z pola OD: wysyłanej wiadomości.
sendingHiddenRcpt=Ta wiadomość zawiera adresy w polu Ukryta kopia. Jeżeli wiadomość jest szyfrowana, możliwe jest ukrycie odbiorców ukrytej kopii, ale użytkownicy niektórych produktów, np. PGP Corp. nie będą mogli odszyfrować takiej wiadomości. Z tego powodu zaleca się nie korzystać z pól Ukryta kopia w szyfrowanych wiadomościach.
sendWithHiddenBcc=Ukryj odbiorców ukrytej kopii
sendWithShownBcc=Zaszyfruj normalnie
sendingNews=Operacja wysyłania szyfrowanej wiadomości została przerwana.\n\nWiadomości tej nie można zaszyfrować, ponieważ na liście odbiorców jest grupa dyskusyjna. Należy ponownie wysyłać wiadomość bez szyfrowania.
sendToNewsWarning=Uwaga. Wysyłasz zaszyfrowaną wiadomość na adres grupy dyskusyjnej.\n\nOdradzamy takie działanie, ponieważ ma ono sens tylko wtedy, gdy wszyscy użytkownicy grupy mogą odszyfrować taką wiadomość, tzn. wiadomość taka musiałaby być zaszyfrowana kluczami wszystkich użytkowników grupy. Wyślij wiadomość tylko, jeżeli wiesz dokładnie co robisz.\n\nKontynuować?
hasHTML=Ostrzeżenie o wiadomoÅ›ci w formacie HTML:\nTa wiadomość może zawierać kod HTML, co może uniemożliwić podpisanie/szyfrowanie wiadomoÅ›ci. Aby zapobiec temu w przyszÅ‚oÅ›ci, wciÅ›nij klawisz SHIFT, gdy naciskasz przycisk komponowania/odpowiedzi, żeby wysyÅ‚ać podpisane wiadomoÅ›ci.\nJeżeli domyÅ›lnie wysyÅ‚asz podpisane wiadomoÅ›ci, należy w ustawieniach odznaczyć funkcjÄ™ „Podczas tworzenia wiadomoÅ›ci używaj edytora HTMLâ€, aby na staÅ‚e wyłączyć wiadomoÅ›ci HTML dla tego konta pocztowego.
strippingHTML="Wiadomość zawiera informację o formatowaniu w HTML, która zostanie utracona po konwersji do zwykłego tekstu przy podpisywaniu/szyfrowaniu. Czy chcesz kontynuować?
msgCompose.button.sendAnyway=&Wyślij wiadomość
attachWarning=Załączniki do tej wiadomości nie są zapisane lokalnie i nie mogą być zaszyfrowane. Aby je zaszyfrować, należy zapisać załączniki jako pliki lokalne i następnie dołączyć do wiadomości. Czy na pewno wysłać wiadomość?
quotedPrintableWarn=Włączono kodowanie „quoted-printable†dla wysyłanych wiadomości. Może to spowodować nieprawidłowe odszyfrowanie lub weryfikację wiadomości.\nCzy wyłączyć to kodowanie?
minimalLineWrapping=Ustawiono zawijanie wierszy dłuższych niż %S znaków. Aby poprawnie szyfrować lub podpisywać wiadomości, ta wartość musi wynosić co najmniej 68.\nCzy ustawić zawijanie wiersza powyżej 68 znaków?
warning=Uwaga
signIconClicked=Zmieniono ręcznie opcje podpisywania. Dlatego też, podczas komponowania tej wiadomości dezaktywacja/aktywacja podpisywania nie zależy od dezaktywacji/aktywacji szyfrowania.
pgpMime_sMime.dlg.text=Włączone są jednocześnie PGP/MIME i S/MIME. Niestety nie jest możliwa jednoczesna obsługa obu protokołów. Wyłącz S/MIME lub PGP/MIME.
pgpMime_sMime.dlg.pgpMime.button=Użyj &PGP/MIME
pgpMime_sMime.dlg.sMime.button=Użyj &S/MIME
errorKeyUnusable=Nie można dopasować adresu e-mail lub ID klucza „%S†do prawidłowego, ważnego klucza OpenPGP.\nSprawdź czy masz ważny klucz OpenPGP i czy jest on określony w ustawieniach konta.
msgCompose.cannotSaveDraft=Błąd podczas zapisywania projektu
msgCompose.internalEncryptionError=Błąd wewnętrzny: obiecał szyfrowanie wyłączone
msgCompose.internalError=Wystąpił błąd wewnętrzny.
msgCompose.toolbarTxt.signAndEncrypt=Ta wiadomość zostanie podpisana i zaszyfrowana
msgCompose.toolbarTxt.signOnly=Ten komunikat zostanie podpisana
msgCompose.toolbarTxt.encryptOnly=Ten komunikat zostanie zaszyfrowana
msgCompose.toolbarTxt.noEncryption=Ten komunikat będzie niepodpisane i nieszyfrowane
msgCompose.toolbarTxt.disabled=Enigmail jest wyłączona dla wybranej tożsamości
msgCompose.toolbarTxt.smime=S/MIME jest włączona - potencjalnie sprzeczne z Enigmail
msgCompose.toolbarTxt.smimeNoDraftEncryption=- projekty nie będą szyfrowane
msgCompose.encryptedSubjectStub=Zaszyfrowaną Wiadomość
msgCompose.detailsButton.label=Detale ...
msgCompose.detailsButton.accessKey=D
# note: should end with double newline:
sendAborted=Operacja wysyłania zostaa anulowana.\n\n
# details:
keyNotTrusted=Za mało zaufania dla klucza '%S'
keyNotFound=Klucz '%S' nie znaleziono
keyRevoked=Klucz '%S' odwołane
keyExpired=Klucz '%S' upłynął
statPGPMIME=PGP/MIME
statSigned=PODPISANÄ„
statEncrypted=ZASZYFROWANÄ„
statPlain=NIEPODPISANÄ„ i NIEZASZYFROWANÄ„
offlineSave=Zapisać wiadomość %S do %S w folderze „Niewysłane�
onlineSend=Wysłać wiadomość %S do %S?
encryptKeysNote=Informacja. Wiadomość zaszyfrowana za pomocą następującego ID użytkownika/klucza: %S
hiddenKey=
signFailed=Błąd w Enigmail! Szyfrowanie/podpisanie się nie powiodło. Wysłać wiadomość bez szyfrowania/podpisu?
msgCompose.button.sendUnencrypted=&Wyślij niezaszyfrowaną wiadomość
recipientsSelectionHdr=Wybierz odbiorców do szyfrowania
configureNow=Nie włączono jeszcze zabezpieczeń Enigmail dla tej tożsamości. Czy chcesz to zrobić teraz?
# encryption/signing status and associated reasons:
encryptMessageAuto=Szyfrowanie wiadomości (automatyczny)
encryptMessageNorm=Szyfrowanie Wiadomości
signMessageAuto=Znak Wiadomość (automatyczny)
signMessageNorm=Znak Wiadomość
encryptOff=Szyfrowanie: OFF
encryptOnWithReason=Szyfrowanie: ON (%S)
encryptOffWithReason=Szyfrowanie: OFF (%S)
encryptOn=Szyfrowanie: ON
signOn=Podpisanie: ON
signOff=Podpisanie: OFF
signOnWithReason=Podpisanie: ON (%S)
signOffWithReason=Podpisanie: OFF (%S)
reasonEnabledByDefault=domyślnie włączone
reasonManuallyForced=ręcznie zmuszony
reasonByRecipientRules=wymuszone przez przepisy otrzymujÄ…cych
reasonByAutoEncryption=zmuszony przez szyfrowanie automatyczny
reasonByConflict=z powodu konfliktu w przepisach otrzymujÄ…cych
reasonByEncryptionMode=ze względu na tryb szyfrowania
# should not be used anymore:
encryptYes=Wiadomość zostanie zaszyfrowana
encryptNo=Wiadomość nie zostanie zaszyfrowana
# should not be used anymore:
signYes=Wiadomość zostanie podpisana
signNo=Wiadomość nie zostanie podpisana
# PGP/MIME status:
pgpmimeNormal=Protokół: PGP/MIME
inlinePGPNormal=Protokół: PGP Inline
pgpmimeAuto=Protokół: PGP/MIME (automatyczny)
inlinePGPAuto=Protokół: PGP Inline (automatyczny)
# should not be used anymore
pgpmimeYes=Zostanie użyte PGP/MIME
pgpmimeNo=Zostanie użyte PGP/Inline
# Attach own key status (tooltip strings):
attachOwnKeyNo=Twój własny klucz nie zostanie dołączony
attachOwnKeyYes=Własny klucz zostanie dołączony
rulesConflict=Wykryto kolizję reguł Enigmail dla odbiorcy\n%S\n\nCzy wysłać wiadomość z tymi ustawieniami?
msgCompose.button.configure=&Konfiguruj
msgCompose.button.send=&Wyślij wiadomość
msgCompose.button.save=&Zapisz wiadomość
# Strings in enigmailMsgHdrViewOverlay.js
keyNeeded=Wymagany jest klucz publiczny %S, aby zweryfikować podpis
keyUsed=Klucz publiczny %S służy do weryfikacji podpisu
clickDecrypt=; naciśnij przycisk Odszyfruj
clickDecryptRetry=; naciśnij przycisk Odszyfruj, aby ponowić próbę
clickDetailsButton=; kliknij na przycisk 'Detale', aby uzyskać więcej informacji
msgPart=Część wiadomości %S
msgSigned=podpisana
msgSignedUnkownKey=podpisana nieznanym kluczem
msgEncrypted=zaszyfrowana
msgSignedAndEnc=podpisana i zaszyfrowana
unverifiedSig=Podpis bez weryfikacji
incompleteDecrypt=Odszyfrowanie nie zostało zakończone
needKey=Błąd – potrzebny klucz, aby odszyfrować wiadomość
failedDecrypt=Błąd – nie powiodło się odszyfrowanie
badPhrase=Błąd – nieprawidłowy szyfr
failedDecryptVerify=Błąd – nie powiodło się odszyfrowanie/weryfikacja
viewInfo=; Widok » Informacje o zabezpieczeniach wiadomości, aby zobaczyć szczegóły
decryptedMsg=Odszyfrowana wiadomość
decryptedMsgWithFormatError=Rozszyfrowana wiadomość (formatowanie uszkodzone prawdopodobnie przez serwer Exchange, wiadomość może być trudna do odczytania).
usedAlgorithms=Używane Algorytmy: %S i %S
locateGpg=Znajdź program GnuPG
invalidGpgPath=Nie udało się uruchomić GnuPG z podanej ścieżki. Dlatego też Enigmail będzie nieaktywne, dopóki nie zostanie zmieniona ścieżka do programu GnuPG lub dopóki nie zrestartujesz aplikacji.
warningsAreReset=Wszystkie ostrzeżenia będą pokazywane od nowa.
prefs.gpgFound=GnuPG znaleziono w katalogu %S
prefs.gpgNotFound=Nie można znależć GnuPG
prefs.warnAskNever=Ostrzeżenie! Włączenie tej opcji oznacza niezaszyfrowane wiadomości bez żadnej informacji o brakującym kluczu dla któregoś z odbiorców – Enigmail nie poinformuje o takim przypadku!
prefs.warnIdleTimeForUnknownAgent=Twój system używa specjalistycznych narzędzi do obsługi szyfru, takich jak gnome-keyring lub seahorse-agent. Niestety Enigmail nie może kontrolować limitu czasu szyfru używanego narzędzia. Dlatego poszczególne ustawienia limitu czasu w Enigmail są pomijane.
prefEnigmail.oneKeyserverOnly=Błąd – w ustawieniach automatycznego pobierania brakujących kluczy OpenPGP można wskazać tylko jeden serwer kluczy.
enterAdminPin=Wprowadź ADMIN PIN swojej karty SmartCard
enterCardPin=Wprowadź PIN swojej karty SmartCard
notInit=Błąd – usługa Enigmail nie zainicjowana
badCommand=Błąd – nie powiodło się polecenie szyfrowania
cmdLine=składnia i wynik polecenia:
notRequired=Błąd – szyfrowanie nie jest wymagane
notComplete=Błąd – generowanie kluczy nie jest jeszcze zakończone
invalidEmail=Błąd – nieprawidłowe adresy e-mail
noPassphrase=Błąd – nie podano szyfru
noPGPblock=Błąd – nie znaleziono prawidłowego bloku danych OpenPGP
unverifiedReply=Cytowana część wiadomości (odpowiedzi) została prawdopodobnie zmodyfikowana
sigMismatch=Błąd – podpis nie pasuje
cantImport=Błąd przy importowaniu klucza publicznego\n\n
# Strings used in errorHandling.jsm
sc.wrongCardAvailable=Karta SmartCard %S znaleziona w czytniku nie może być użyta do przetworzenia wiadomości.\nWłóż kartę %S i ponów operację.
sc.insertCard=Ta operacja wymaga karty SmartCard %S.\nWłóż wymaganą kartę i ponów operację.
sc.removeCard=Ta operacja wymaga usunięcia karty SmartCard z czytnika.\nUsuń kartę i ponów operację.
sc.noCardAvailable=Nie znaleziono karty SmartCard w czytniku\nWłóż kartę do czytnika i ponów operację
sc.noReaderAvailable=Brak dostępu do czytnika kart SmartCard\nPodłącz czytnik, włóż swoją kartę i ponów operację
gpgNotFound=Nie odnaleziono programu GnuPG „%Sâ€.\nSprawdź w ustawieniach Enigmail czy jest okreÅ›lona prawidÅ‚owa Å›cieżka do programu GnuPG.
gpgNotInPath=W podanym położeniu nie znaleziono programu GnuPG.\nSprawdź w ustawieniach Enigmail czy jest określona prawidłowa ścieżka do programu GnuPG.
gpgAgentNotStarted=Nie można uruchomić programu gpg-agent, który jest wymagany przez GnuPG %S.
prefUntrusted=NIEZAUFANY
prefRevoked=UNIEWAŻNIONY
prefExpiredKey=PRZEDAWNIONY KLUCZ
prefExpired=PRZEDAWNIONY
prefGood=Prawidłowy podpis od %S
prefBad=NIEPRAWIDÅOWY podpis od %S
failCancel=Błąd – użytkownik anulował odbiór klucza
failNoServer=Błąd – nie wprowadzono nazwy serwera kluczy
failNoID=Błąd – brak ID klucza do pobrania
failKeyExtract=Błąd – nie powiodło się uzyskanie klucza
notFirstBlock=Błąd – pierwszy blok OpenPGP nie jest blokiem klucza publicznego
importKeyConfirm=Czy zaimportować klucze publiczne osadzone w wiadomości?
failKeyImport=Błąd – nie powiodło się zaimportowanie klucza
fileWriteFailed=Błąd zapisu do pliku %S
importKey=Importowanie klucza publicznego %S z serwera kluczy:
uploadKey=Eksportowanie klucza publicznego %S do serwera:
keyId=ID klucza
keyAndSigDate=ID klucza: 0x%S / Podpisano dnia: %S
keyFpr=Odcisk klucza: %S
noEmailProvided=Nie podano adresu e-mail!
keyAlreadySigned=Ten klucz jest już podpisany, nie można podpisać go ponownie.
gnupg.invalidKey.desc=Nie znaleziono klucza %S lub jest on nieprawidłowy. Być może jest on nieważny.
selKeyExpired=przedawniony %S
createdHeader=Utworzony
atLeastOneKey=Nie wybrano klucza! Należy zaznaczyć co najmniej jedną pozycję.
fewerKeysThanRecipients=Zaznaczono mniejszą liczbę kluczy niż odbiorców. Czy na pewno ten zestaw kluczy do szyfrowania jest kompletny?
userSel.button.goBack=Wybierz więcej kluczy
userSel.secretKeySel.title=Wybierz klucz prywatny OpenPGP, aby podpisać wiadomość
userSel.problemNoKey=Nie ważne kluczem
userSel.problemMultipleKeys=Wiele kluczy
# should be same as thunderbird ENTITY sendLaterCmd.label:
sendLaterCmd.label=Wyślij później
# Strings used in enigmailAttachmentDialog.js
pgpMimeNote=Uwaga! Niewiele klientów poczty ma obsługę PGP/MIME! W systemie Windows tylko Mozilla/Thunderbird, Sylpheed, Pegasus i Mulberry obsługują ten standard. W systemach Linux/UNIX i Mac OS X obsługuje go większość popularnych klientów poczty. Jeżeli nie masz pewności, zaznacz opcję %S.
first=pierwszÄ…
second=drugÄ…
# Strings used in am-enigprefs.js
encryptKeyHeader=Wybierz klucz OpenPGP do szyfrowania
identityName=Tożsamość: %S
# Strings used in enigmailSingleRcptSettings.js
noEncryption=Uaktywniono szyfrowanie, ale nie wybrano żadnego klucza. Aby szyfrować wiadomości wysyłane do %S, należy wybrać co najmniej jeden ważny klucz z listy dostępnych. Czy chcesz wyłączyć szyfrowanie wiadomości do %S?
noKeyToUse=(brak – bez szyfrowania)
noEmptyRule=Reguła nie może być pusta! Wprowadź adres e-mail w polu edycji reguły.
invalidAddress=Wprowadzone adresy e-mail są niepoprawne. Nie należy wpisywać nazwy adresata, tylko sam adres. Np.\nNieprawidłowo: Jan Kowalski \nPrawidłowo: jakis.adres@poczta.pl
noCurlyBrackets=Nawiasy klamrowe {} majÄ… specjalne znaczenie i nie powinny być używane w adresach e-mail. Jeżeli chcesz modyfikować zasady tej reguÅ‚y, użyj opcji „Zastosuj regułę gdy adresat…â€.\nWiÄ™cej informacji dostÄ™pnych jest po naciÅ›niÄ™ciu przycisku Pomoc.
# Strings used in enigmailRulesEditor.js
never=Nigdy
always=Zawsze
possible=Możliwe
deleteRule=Czy usunąć wybraną regułę?
nextRcpt=(Następny adresat)
negateRule=Nie
addKeyToRule=Dodaj klucz %S (%S) do reguły dla adresata
# Strings used in enigmailSearchKey.js
needOnline=Wybrana funkcja nie jest dostępna w trybie offline. Włącz tryb online i spróbuj ponownie.
protocolNotSupported=Przy użyciu wybranego protokołu „%S://†pobranie kluczy OpenPGP nie jest możliwe.
gpgkeysDisabled=Pomóc może włączenie opcji „extensions.enigmail.useGpgKeysToolâ€.
noKeyserverConn=Nie można połączyć się z serwerem kluczy %S.
keyDownloadFailed=Nie powiodło się pobieranie kluczy z serwera. Status wiadomości:\n%S
internalError=Wystąpił wewnętrzny błąd. Nie można pobrać/zaimportować kluczy.
noKeyFound=Niestety nie udało się znaleźć kluczy pasujących do podanych kryteriów wyszukiwania.\nIdentyfikatory kluczy (ID) powinny być poprzedzone znakami „0x†(np. 0xABCDEF12).
# gpgkeys_%S is one of the gpg command line tools gpgkeys_hkp, gpgkeys_ldap, etc.
gpgKeysFailed=Nie powiodło się wyszukiwanie lub pobieranie kluczy z serwera – nie można uruchomić programu gpgkeys_%S.
# Strings in enigmailEditKeyTrustDlg.xul
setKeyTrustFailed=Nie powiodło się ustawienie poziomu zaufania dla właściciela
# Strings in enigmailSignKeyDlg.js
signKeyFailed=Nie udało się podpisać klucza
alreadySigned.label=Informacja. Klucz %S jest już podpisany za pomocą wybranego klucza prywatnego.
partlySigned.label=Informacja: niektóre numery ID klucza %S zostały już podpisane przez wybrany klucz prywatny.
# Strings in enigmailKeyManager.js
keyMan.loadingKeys=Wczytywanie kluczy… Proszę czekać.
keyValid.unknown=nieznany
keyValid.invalid=niepoprawny
keyValid.disabled=wyłączony
keyValid.revoked=unieważniony
keyValid.expired=przeterminowany
keyValid.noSubkey=brak podklucza
keyTrust.untrusted=brak
keyTrust.marginal=ograniczone
keyTrust.full=pełne
keyTrust.ultimate=absolutne
keyTrust.group=(grupa)
keyType.public=pub
keyType.publicAndSec=pub/pryw
keyMan.enableKey=Włącz klucz
keyMan.disableKey=Wyłącz klucz
userAtt.photo=Atrybuty użytkownika (obraz JPEG)
asciiArmorFile=Opakowanie ASCII (*.asc)
importKeyFile=Import plik klucza OpenPGP
gnupgFile=Pliki GnuPG
saveRevokeCertAs=Utwórz i zapisz certyfikat unieważnienia
revokeCertOK=Certyfikat unieważnienia został utworzony. Możesz użyć go, aby unieważnić swój klucz publiczny, np. w przypadku utraty klucza prywatnego.\n\nZalecane jest przeniesienie tego certyfikatu na nośnik, który może być przechowywany w bezpiecznym miejscu, np. pamięć wymienna albo CD-ROM. Jeżeli osoba postronna uzyska dostęp do certyfikatu, może uczynić twój klucz bezużytecznym.
revokeCertFailed=Nie udało się utworzyć certyfikatu unieważnienia.
addUidOK=Nowe ID zostało dodane
addUidFailed=Nie udało się dodać nowego ID
noKeySelected=Aby wykonać wybraną operację, należy zaznaczyć co najmniej jeden klucz
exportToFile=Eksport klucza publicznego do pliku
exportKeypairToFile=Eksport tajne i klucza publicznego do pliku
exportSecretKey=Czy chcesz dołączyć klucz prywatny do zapisywanego pliku z kluczami OpenPGP?
saveKeysOK=Klucze zostały zapisane
saveKeysFailed=Nie udało się zapisać kluczy
importKeysFailed=Nie udało się zaimportować kluczy
enableKeyFailed=Nie udało się włączenie/wyłączenie kluczy
specificPubKeyFilename=%S (0x%S) pub
specificPubSecKeyFilename=%S (0x%S) pub-pryw
defaultPubKeyFilename=Eksportowane-klucze-publiczne
defaultPubSecKeyFilename=Eksportowane-klucze-publiczne-i-prywatne
noSecretKeys=Nie znaleziono klucza prywatnego.\n\nCzy chcesz wygenerować własny klucz?
sendKeysOk=Klucze zostały wysyłane
sendKeysFailed=Nie udało się wysłać kluczy
receiveKeysOk=Klucze zostały zaktualizowane
receiveKeysFailed=Nie udało się pobrać kluczy
importFromClip=Czy chcesz zaimportować klucze ze schowka?
copyToClipbrdFailed=Nie udało się skopiować wybranych kluczy do schowka.
copyToClipbrdOK=Skopiowano klucze do schowka
deleteSecretKey=Uwaga! Zamierzasz usunąć klucz prywatny!\nJeśli usuniesz ten klucz, nie będziesz mieć możliwości odszyfrowania wiadomości zaszyfrowanych tym kluczem ani unieważnienia tego klucza.\n\nCzy na pewno chcesz usunąć obydwa klucze, prywatny i publiczny\n„%S�
deleteMix=Uwaga! Zamierzasz usunąć klucze prywatne!\nJeśli usuniesz ten klucz, nie będziesz mieć możliwości odszyfrowania wiadomości zaszyfrowanych tym kluczem.\n\nCzy na pewno chcesz usunąć wszystkie zaznaczone klucze prywatne i publiczne?
deletePubKey=Czy chcesz usunąć klucz publiczny\n„%S�
deleteSelectedPubKey=Czy chcesz usunąć wybrane klucze publiczne?
deleteKeyFailed=Nie udało się usunąć tego klucza.
revokeKeyOk=Klucz został unieważniony. Jeżeli klucz jest dostępny na serwerze kluczy, zalecane jest ponowne wysłanie go na serwer, tak aby inni użytkownicy otrzymali informację o unieważnieniu.
revokeKeyFailed=Nie udało się unieważnić tego klucza.
refreshAllQuestion=Nie wybrano żadnego klucza. Czy chcesz odświeżyć wszystkie klucze?
refreshKey.warn=Uwaga! W zależności od liczby kluczy i parametrów połączenia, odświeżenie wszystkich kluczy może być długą operacją!
downloadContactsKeys.warn=Uwaga! W zależności od liczby kontaktów i parametrów połączenia, pobieranie wszystkich kluczy może byc długa operacją!
downloadContactsKeys.importFrom=Importuj kontakty z książki adresowej "%S"
keyMan.button.exportSecKey=&Eksportuj klucze prywatne
keyMan.button.exportPubKey=Eksportuj tylko klucze &publiczne
keyMan.button.import=&Importuj
keyMan.button.refreshAll=&Odśwież wszystkie klucze
keyMan.button.revokeKey=&Unieważnij klucz
keyMan.button.skip=Pomiń klucz
keylist.noOtherUids=Nie ma innych tożsamości
keylist.hasOtherUids=Także znany jako
keylist.noPhotos=Brak zdjęcia
keylist.hasPhotos=Zdjęcia
keyMan.addphoto.filepicker.title=Wybierz zdjęcie do dodania
keyMan.addphoto.warnLargeFile=Wybrany plik jest większy niż 25 kB.\nNie zaleca się dodawania bardzo dużych plików, ponieważ klucz będzie wówczas bardzo duży.
keyMan.addphoto.noJpegFile=Wybrany plik nie jest w formacie JPEG. Wybierz inny plik.
keyMan.addphoto.failed=Nie można dodać zdjęcia.
# Strings in enigmailManageUidDlg.xul
changePrimUidFailed=Nie udało się zmienić głównego identyfikatora użytkownika
changePrimUidOK=Zmieniono główny identyfikator użytkownika
deleteUidFailed=Nie udało się usunąć ID %S
deleteUidOK=Identyfikator %S został usunięty
revokeUidFailed=Nie udało się unieważnić ID %S
revokeUidOK=ID %S został unieważniony. Jeżeli klucz jest dostępny na serwerze kluczy, zalecane jest ponowne wysłanie go na serwer, tak aby inni użytkownicy otrzymali informację o unieważnieniu.
revokeUidQuestion=Czy na pewno chcesz unieważnić ID %S?
deleteUidQuestion=Czy na pewno chcesz usunąć ID użytkownika %S?\n\nWażna uwaga! Jeżeli klucz publiczny zostaÅ‚ wczeÅ›niej wysÅ‚any na serwer kluczy, to usuniÄ™cie ID użytkownika niczego nie zmieni. W takim przypadku, należy użyć opcji „Unieważnij IDâ€.
# Strings in enigmailKeyDetailsDlg.xul
keyTypePublic=klucz publiczny
keyTypePrimary=klucz główny
keyTypeSubkey=podklucz
keyTypePair=para kluczy
keyExpiryNever=nigdy
keyAlgorithm_1=RSA
keyAlgorithm_2=RSA
keyAlgorithm_3=RSA
keyAlgorithm_16=ELG
keyAlgorithm_17=DSA
keyAlgorithm_18=ECDH
keyAlgorithm_19=ECDSA
keyAlgorithm_20=ELG
keyUsageEncrypt=Szyfruj
keyUsageSign=Podpisz
keyUsageCertify=Certyfikuj
keyUsageAuthentication=Uwierzytelnianie
# Strings in enigmailGenCardKey.xul
keygen.started=Proszę czekać. Trwa proces generowania klucza…
keygen.completed=Klucz został wygenerowany. Nowe ID klucza to: 0x%S.
keygen.keyBackup=Klucz został zapisany jako %S
keygen.passRequired=Określ szyfr, jeśli chcesz utworzyć kopię zapasową swojego klucza poza kartą SmartCard.
# Strings in enigmailSetCardPin.xul
cardPin.dontMatch=Nie zgadzają się wprowadzone numery PIN – proszę wprowadzić ponownie
cardPin.minLength=PIN musi zawierać co najmniej %S znaków lub cyfr
cardPin.processFailed=Nie udało się zmienić numeru PIN
# Strings in enigRetrieveProgres.xul
keyserverProgress.refreshing=Trwa odświeżanie kluczy… Proszę czekać.
keyserverProgress.uploading=Trwa wysyłanie kluczy… Proszę czekać.
keyserverTitle.refreshing=Odświeżanie kluczy
keyserverTitle.uploading=Wysyłanie kluczy
# Strings in enigmailSetupWizard
passphrase.min8keys=Szyfr powinien zawierać co najmniej 8 znaków!
setupWizard.reallyCancel=Czy na pewno chcesz zamknąć Asystenta ustawień Enigmail?
setupWizard.invalidGpg=Wybrany plik GnuPG nie jest plikiem wykonywalnym. Wybierz inny plik.
setupWizard.specifyFile=Aby kontynuować, musisz określić przynajmniej plik klucza publicznego.
setupWizard.installFailed=Wygląda na to, że instalacja się nie powiodła. Spróbuj ponownie uruchomić instalację lub zainstaluj GnuPG ręcznie i zlokalizować go, używając przycisku Przeglądaj…
setupWizard.downloadForbidden=Dla twojego bezpieczeństwa, nie będziemy pobierać GnuPG. Przejdź na stronę http://www.gnupg.org/ i pobierz GnuPG.
setupWizard.downloadImpossible=Nie możemy teraz pobrać CnuPG. Spróbuj później, lub przejdź na stronę http://www.gnupg.org/ i pobierz GnuPG.
setupWizard.hashSumError=Asystent nie może zweryfikować spójności pobranego pliku. Plik może być uszkodzony lub został zmieniony. Czy mimo wszystko chcesz kontynuować instalację?
# Strings in installGnuPG.jsm
installGnuPG.downloadFailed=Podczas pobierania GnuPG wystąpił błąd. Otwórz dziennik błędów, by zobaczyć szczegółowe informacje.
installGnuPG.installFailed=Podczas instalowania GnuPG wystąpił błąd. Otwórz dziennik błędów, by zobaczyć szczegółowe informacje.
# Strings in enigmailAddUidDlg.xul
addUidDlg.nameOrEmailError=Należy uzupełnić nazwę i adres e-mail
addUidDlg.nameMinLengthError=Nazwa musi zawierać co najmniej 5 znaków
addUidDlg.invalidEmailError=Należy podać poprawny adres e-mail
addUidDlg.commentError=Nawiasy nie sÄ… dopuszczalne w komentarzach
# Strings in enigmailCardDetails.js
Carddetails.NoASCII=Karta SmartCard obsługuje jedynie znaki ASCII w polach "Imię i nazwisko"/"Nazwa".
# network error types
errorType.SecurityCertificate=Usługa przedstawia nieważny certyfikat zabezpieczeń.
errorType.SecurityProtocol=Usługa używa nieznanego protokołu zabezpieczeń.
errorType.Network=Wystąpił błąd sieci.
# filter stuff
filter.folderRequired=Musisz wybrać folder docelowy.
filter.decryptMove.label=Odszyfrować stałe (Enigmail)
filter.decryptCopy.label=Tworzenie kopii szyfrowanego (Enigmail)
saveLogFile.title=Zapisz plik dziennika
# msgCompose.partiallyEncrypted.short=Beware of leaking sensitive information - partially encrypted email.
# msgCompose.partiallyEncrypted.long=The message you are editing was partially encrypted. That is, the message contains unencrypted and encrypted parts. Some encrypted message parts may even be invisible to you.\n\nIf the sender was not able to decrpyt the message parts originally, it is likely that you only got the email with some surrounding unencrypted text in order to make you reveal the encrypted information.
enigmail/lang/pl/help/ 0000775 0000000 0000000 00000000000 13213001347 0015121 5 ustar 00root root 0000000 0000000 enigmail/lang/pl/help/compose.html 0000664 0000000 0000000 00000011042 13213001347 0017452 0 ustar 00root root 0000000 0000000
Pomoc dla Enigmail: Tworzenie wiadomości
Pomoc dla Enigmail
Używanie Enigmail w oknie tworzenia wiadomości
Menu Enigmail w oknie tworzenia wiadomości
Podpisz wiadomość
Włącza/wyłącza podpisywanie wiadomości. Użytkownik jest powiadamiany, jeśli podpisywanie się nie powiodło.
Szyfruj wiadomość
Włącza/wyłącza szyfrowanie dla wszystkich odbiorców przed wysłaniem. Użytkownik jest powiadamiany, jeśli szyfrowanie się nie powiodło.
Jeśli funkcja Wyświetlaj wybór w razie potrzeby, jest ustawiona na karcie Ustawienia » Zaawansowane » Wybór klucza, będzie wyświetlana lista kluczy, jeśli na liście odbiorców wiadomości znajdują się adresy dla, których nie masz kluczy publicznych.
Jeśli funkcja Nigdy nie wyświetlaj wyboru klucza OpenPGP, jest ustawiona na karcie Ustawienia » Wybór klucza, wiadomość będzie wysyłana niezaszyfrowana, jeśli na liście odbiorców wiadomości znajdują się adresy dla, których nie masz kluczy publicznych.
Użyj PGP/MIME dla tej wiadomości
Włącza/wyłącza użycie PGP/MIME dla danej wiadomości.
Jeśli wiesz, że odbiorca może przeczytać wiadomość za pomocą formatu PGP/MIME, należy go użyć.
Ta funkcja jest zależna od ustawień na karcie Ustawienia » PGP/MIMEZezwalaj na używanie PGP/MIME lub Zawsze używaj PGP/MIME.
Domyślne opcje tworzenia wiadomości
Opcje podpisu/szyfrowania… – skrót do Konfiguracja kont » OpenPGP.
Wysyłanie wiadomości… – skrót do karty Ustawienia » Wysyłanie.
Opcje wyboru kluczy… – skrót do do karty Ustawienia » Wybór kluczy.
Opcje PGP/MIME… – skrót do do karty Ustawienia » PGP/MIME.
Cofnij szyfrowanie
Jeśli wysyłanie wiadomości się nie powiodło, na przykład z powodu odrzucenia żądania przez serwer POP, Enigmail nie będzie o tym wiedział i zaszyfrowana wiadomość będzie wyświetlana w oknie tworzenia wiadomości. Wybranie tej funkcji spowoduje cofnięcie szyfrowania/podpisywania i w oknie tworzenia wiadomości będzie wyświetlany oryginalny tekst.
Jako tymczasowe rozwiązanie, funkcja ta może być również używana do odszyfrowania cytowanego tekstu podczas odpowiedzi na zaszyfrowane wiadomości. Enigmail powinien automatycznie rozszyfrować cytowaną wiadomość, ale jeśli z jakiegoś powodu zawiedzie, można za pomocą tej funkcji wymusić deszyfrowanie.
Wstaw klucz publiczny
Wstawia w oknie tworzenia wiadomości blok klucza publicznego w aktualnej pozycji kursora. Użytkownik będzie proszony o podanie adresu e-mail wstawianego klucza. Klucze wstawiane w ten sposób będą u odbiorcy automatycznie rozpoznawane przez Enigmail. Po wstawieniu klucza można nadal wybrać podpisanie/szyfrowanie wiadomości. Nie należy do wiadomości wstawiać więcej niż jeden blok klucza, wystarczy, gdy pojawi się monit, podać wiele adresów e-mail, oddzielając je przecinkami lub spacjami.
Wyczyść zapisane hasło
Czyści zbuforowane szyfry. Użyteczne, jeśli masz wiele szyfrów.
Pomoc
Wyświetla pomocne informacje z witryny internetowej (tę stronę).
Więcej pomocy można uzyskać na stronie pomocy Enigmail.
enigmail/lang/pl/help/editRcptRule.html 0000664 0000000 0000000 00000012326 13213001347 0020421 0 ustar 00root root 0000000 0000000
Pomoc dla Enigmail: Edycja reguł OpenPGP
Pomoc dla Enigmail
Używanie edytora reguł Enigmail: Edycja reguł OpenPGP
W edytorze reguł można określić dla każdego odbiorcy domyślne ustawienia szyfrowania, podpisywania, PGP/MIME i zdefiniować używane klucze OpenPGP. W tym oknie dialogowym można określić reguły dla konkretnego odbiorcy i dla grupy odbiorców, używając podobnych atrybutów.
Pole „OkreÅ›l reguÅ‚y OpenPGP dlaâ€
Reguły zawierają adresy e-mail odbiorcy (bez nazwisk, po prostu adres, jak: somebody@nazwa_domeny). Możesz podać kilka adresów e-mail, rozdzielając je spacjami. Podany tutaj adres może składać się tylko z domeny, np. @nazwa_domeny. Reguła będzie wówczas pasowała do wszystkich adresów w tej domenie, np. @nazwa_domeny będzie pasować do body@nazwa_domenyl, somebody@nazwa_domeny, anybody@nazwa_domeny itd.
Zastosuj regułę, gdy adresat…
Ustawienie to modyfikuje dopasowanie adresów e-mail. Jeśli jest podane wiele adresów, ustawienie będzie miało zastosowanie do wszystkich. Przykłady są oparte na przykładowym adresie body@nazwa_domeny podanym w powyższym polu.
Jest taki sam, jak – reguła będzie miała zastosowanie tylko do wiadomości adresowanych do body@nazwa_domeny (wielkość znaków musi się zgadzać).
Zawiera – będzie pasował każdy adres wiadomości zawierający podany ciąg znaków, np. anybody@nazwa_domeny lub body@nazwa_domeny.net.
Rozpoczyna się od – będzie pasował każdy adres wiadomości rozpoczynający się podanym ciągiem znaków, np. body@nazwa_domeny.net, body@nazwa_domeny-nazwa.com.
Kończy się na – będzie pasował każdy adres wiadomości kończący się podanym ciągiem znaków, np. anybody@nazwa_domeny, somebody@nazwa_domeny.
Przejdź do następnej reguły pasującej do adresu
Włączenie tej funkcji umożliwi zdefiniowanie reguły, ale nie trzeba określać klucza w polu Użyj następujących kluczy OpenPGP:, więc adres e-mail jest wykorzystywany do sprawdzania klucza w momencie wysyłania. Dla tego adresu będą również przetwarzane inne reguły.
Nie sprawdzaj kolejnych reguł pasujących do adresu
Włączenie tej funkcji, jeśli reguła pasuje, zatrzyma przetwarzanie innych reguł dla pasujących adresów, na przykład kontynuowanie przetwarzania reguły dla następnego odbiorcy.
Użyj następujących kluczy OpenPGP:
Użyj przycisku Wybierz klucze, by wybrać klucze odbiorcy, które będą używane do szyfrowania. Oprócz czynności określonej powyżej żadne inne reguły nie są przetwarzane.
Wysyłając wiadomości włącz…
Włącza lub wyłącza podpisywanie wiadomości. Funkcja ta używa lub zastępuje to, co zostało określone w oknie tworzenia wiadomości. Ustawienia są następujące:
Nigdy – wyłącza podpisywanie, nawet jeśli zostało włączone w oknie tworzenia wiadomości (zastępuje wszystkie inne wartości reguł),
Tak, jeśli zaznaczono taką opcję tworzenia wiadomości – pozostawia sposób podpisywania określony w oknie tworzenia wiadomości,
Zawsze – włącza podpisywanie, nawet jeśli nie zostało włączone w oknie tworzenia wiadomości.
Te ustawienia podpisywania są stosowane do wszystkich reguł, do których pasują. Jeśli jedna z reguł wyłącza podpisywanie, wiadomość nie będzie podpisywana, pomimo że inne reguły mają ustawienie zawsze.
Szyfrowanie
Włącza lub wyłącza szyfrowanie wiadomości. Ustawienia i ich znaczenie są takie same jak dla podpisywania wiadomości.
PGP/MIME
Włącza lub wyłącza kodowanie wiadomoÅ›ci w formacie PGP/MIME (RFC 3156). JeÅ›li PGP/MIME jest wyłączone, wiadomoÅ›ci sÄ… kodowane za pomocÄ… „inline PGPâ€. Ustawienia i ich znaczenie sÄ… takie same jak dla podpisywania wiadomoÅ›ci.
Reguły są przetwarzane w kolejności, w jakiej są wyświetlane w edytorze reguł OpenPGP. Gdy reguła pasuje do odbiorcy i zawiera klucz OpenPGP, oprócz używania określonego klucza, przy kolejnym przetwarzaniu reguł odbiorca nie jest brany pod uwagę.
Więcej pomocy można uzyskać na stronie pomocy Enigmail.
enigmail/lang/pl/help/initError.html 0000664 0000000 0000000 00000005005 13213001347 0017764 0 ustar 00root root 0000000 0000000
Pomoc dla Enigmail: Jak rozwiązać problemy z zainicjowaniem OpenPGP
Pomoc dla Enigmail
Jak rozwiązać problemy z zainicjowaniem OpenPGP
Zainicjowanie OpenPGP może się nie powieść z różnych powodów. Najczęściej występujące są opisane poniżej. Więcej informacji na ten temat można znaleźć na stronie pomocy Enigmail.
Nie można znaleźć GnuPG
Aby OpenPGP działało, musi być zainstalowane narzędzie GnuPG.
Jeśli nie można znaleźć GnuPG, najpierw należy sprawdzić czy na komputerz jest zainstalowanye plik wykonywalny: gpg.exe w systemie Windows lub gpg w innych systemach.
Jeśli GnuPG jest zainstalowane i OpenPGP nie może go znaleźć, trzeba w ustawieniach OpenPGP (menu OpenPGP » Preferencje) ręcznie określić ścieżkę do GnuPG.
Nie udało się zainicjować Enigmime
OpenPGP działa tylko, jeśli zostało zbudowane za pomocą tego samego środowiska tworzenia, co np. Thunderbird lub SeaMonkey. Oznacza to, że możesz używać oficjalnych wydań Enigmail tylko jeśli używasz oficjalnych wydań Thunderbird lub SeaMonkey dostarczanych przez mozilla.org.
Jeśli używasz wersji Thunderbirda lub SeaMonkey pochodzących z innych źródeł, np. od dostarczyciela twojej dystrybucji Linuksa lub aplikacja została zbudowana we własnym zakresie, należy użyć Enigmail zbudowanego przez to samo źródło lub zbudować go we własnym zakresie. Aby zbudować Enigmail, przejdź do sekcji z kodem źródłowym znajdującej się na stronie Enigmail. Nie zgłaszaj błędów dotyczących tego błędu - nie są one rozwiązywalne.
Więcej pomocy można uzyskać na stronie pomocy Enigmail.
enigmail/lang/pl/help/messenger.html 0000664 0000000 0000000 00000011343 13213001347 0020001 0 ustar 00root root 0000000 0000000
Pomoc dla Enigmail: Czytanie wiadomości
Pomoc dla Enigmail
Używanie Enigmail podczas czytania wiadomości
Przycisk Deszyfruj w głównym oknie wiadomości
Przycisk ten może być używany do różnych celów: deszyfrowania, weryfikowania lub importowania kluczy publicznych. Normalnie deszyfrowanie/weryfikowanie odbywa się automatycznie i może być wyłączone w ustawieniach. Jeśli automatyczne deszyfrowanie/weryfikowanie się nie powiedzie, w pasku statusu Enigmail zostanie wyświetlona informacja o błędzie. Po naciśnięciu przycisku Deszyfruj zostaną wyświetlone szczegółowe informacje dotyczące tego błędu zawierające polecenia z GnuPG.
Ikony pióra i klucza wyświetlane w nagłówku wiadomości
Ikony pióra i klucza wyświetlane w nagłówku wiadomości informują, czy aktualnie czytana wiadomość została podpisana i/lub zaszyfrowana i czy podpis jest prawidłowy, np. że wiadomość nie została zmieniona od czasu jej podpisania. Jeśli wiadomość została zmieniona, kolor ikony pióra zostanie zmieniony na czerwony, informując, że podpis jest nieprawidłowy. Kliknięcie prawym przyciskiem myszy którejś z tych ikon, spowoduje wyświetlenie menu zawierającego następujące opcje:
Informacje OpenPGP… – umożliwia podgląd statusu elementów wyjściowych z GnuPG dla wiadomości.
Kopiuj informacje OpenPGP – kopiuje status elementów wyjściowych z GnuPG do schowka, by następnie można było wstawić je do odpowiedzi na wiadomość itp.
Pokaż zdjęcie – umożliwia podgląd zdjęcia osoby, która wysłała wiadomość, jeśli zdjęcie zostało dołączone do klucza publicznego. (Ta funkcja będzie włączona tylko, jeśli zdjęcie jest w kluczu danego nadawcy).
Informacje S/MIME… – umożliwia zobaczenie informacji bezpieczeństwa S/MIME dla wiadomości.
Jeśli w pliku gpg.conf nie są ustawione funkcje keyserver-options auto-key-retrieve i czytasz podpisaną lub zaszyfrowaną wiadomość, w nagłówku czytanej wiadomości będzie widoczna ikona pióra ze znakiem zapytania, a w pasku statusu Enigmail będzie wyświetlana informacja Część wiadomości podpisana; kliknij ikonę pióra, by zobaczyć szczegóły i w wiadomości zostanie wyświetlony blok zawierający wszystkie wskaźniki OpenPGP i blok podpisu.
Możesz także zobaczyć tę informację, jeśli w pliku gpg.conf są ustawione funkcje keyserver-options auto-key-retrieve, a klucz OpenPGP jest niedostępny na domyślnym serwerze kluczy.
Po kliknięciu ikony pióra ze znakiem zapytania, zostanie wyświetlone okno informujące, że klucz nie jest dostępny w twojej bazie kluczy. Po naciśnięciu przycisku OK, zostanie wyświetlone kolejne okno zawierające listę serwerów kluczy, z której można wybrać do pobrania klucz publiczny nadawcy.
Aby skonfigurować listę serwerów kluczy, których chcesz używać, przejdź na kartę OpenPGP » Ustawienia » Zaawansowane » Serwery kluczy i w polu Określ swoje serwery kluczy, wprowadź adresy serwerów kluczy, oddzielając je przecinkami. Pierwszy serwer na liście będzie używany jako domyślny serwer.
Załączniki z rozszerzeniem *.pgp, *.asc i *.gpg są rozpoznawane jako załączniki, które mogą być obsługiwane przez Enigmail specjalnie. Kliknięcie takiego załącznika prawym przyciskiem myszy spowoduje wyświetlenie w menu kontekstowym dwóch specjalnych elementów: Deszyfruj i otwórz i Deszyfruj i zapisz jako… Użyj tych dwóch elementów, jeśli chcesz, by Enigmail deszyfrował załącznik przed otworzeniem lub jego zapisaniem. Jeśli załącznik jest rozpoznany jako plik klucza OpenPGP, zostanie zaoferowane zaimportowanie kluczy do twojej bazy kluczy.
Więcej pomocy można uzyskać na stronie pomocy Enigmail.
enigmail/lang/pl/help/rulesEditor.html 0000664 0000000 0000000 00000006737 13213001347 0020325 0 ustar 00root root 0000000 0000000
Pomoc dla Enigmail – Edytor reguł
Pomoc dla Enigmail
Użycie edytora reguł
W edytorze reguł można określić domyślne ustawienia dla każdego adresata: włączyć szyfrowanie, podpisywanie, kodowanie PGP/MIME oraz zdefiniować działanie kluczy OpenPGP. Każda reguła składa się z pięciu, umieszczonych każde w osobnym wierszu, pól:
E-mail
Pola do dopasowywania wiadomości e-mail – Do:, Kopia: i Ukryta kopia:. Dopasowywanie działa w oparciu o substringi. Więcej szczegółów można znaleźć w oknie dialogowym edytora reguł.
Klucze OpenPGP
Wykaz ID kluczy OpenPGP używanych dla adresata
Podpis
Włącza lub wyłącza podpisywanie wiadomości. Ta funkcja używa lub nadpisuje, to co zostało określone w oknie tworzenia wiadomości. Dostępne ustawienia:
Nigdy – wyłącza podpisywanie wiadomości, nawet jeśli funkcja była włączona w oknie tworzenia wiadomości – unieważnia inne ustawienia.
Pozostaw – pozostawia podpis, taki jaki był ustawiony w oknie tworzenia wiadomości,
Zawsze – włącza podpisywanie wiadomości, nawet jeśli nie było włączone w oknie tworzenia wiadomości.
Ustawienia podpisywania są stosowane dla tych wszystkich reguł, które mają włączoną funkcję podpisywania. Jeśli jakaś reguła wyłącza podpisywanie, wiadomość nie będzie podpisywana bez względu na inne reguły, które określają Zawsze.
Szyfrowanie
Włącza lub wyłącza szyfrowanie wiadomości. Dostępne ustawienia i znaczenie są takie same, jak dla podpisywania wiadomości.
PGP/MIME
Włącza lub wyłącza używanie kodowania PGP/MIME (RFC 3156) wiadomoÅ›ci. JeÅ›li PGP/MIME jest wyłączone, wiadomoÅ›ci sÄ… kodowane za pomocÄ… „inline PGPâ€. DostÄ™pne ustawienia i znaczenie sÄ… takie same, jak dla podpisywania wiadomoÅ›ci.
Reguły są przetwarzane w kolejności, w jakiej są wyświetlane na liście. W przypadku, gdy reguła pasuje do odbiorcy i zawiera ID klucza OpenPGP, oprócz korzystania z określonego ID klucza odbiorcy, nic innego nie jest brane pod uwagę podczas przetwarzania kolejnych reguł.
Informacja. Proces twórczy edytora reguł nie jest jeszcze zakończony. Bardziej zaawansowane reguły można tworzyć, edytując bezpośrednio plik reguł. Reguły edytowane w ten sposób nie powinny już być nigdy edytowane w edytorze reguł. Więcej informacji na temat bezpośredniego edytowania pliku reguł jest dostępnych na stronie domowej Enigmail.
Więcej pomocy można uzyskać na stronie pomocy Enigmail.
enigmail/lang/pl/help/sendingPrefs.html 0000664 0000000 0000000 00000005076 13213001347 0020446 0 ustar 00root root 0000000 0000000
Pomoc dla Enigmail – Edytowanie reguł OpenPGP
Pomoc dla Enigmail
Defining Preferences to Send Encrypted
In the Sending Preferences you can choose the general model and preferences for encryption.
Convenient Encryption
With these settings, emails are encrypted without confirmation whenever possible.
This setup is appropriate, if you just want to improve your privacy by sending emails encyrpted instead of unencrypted if that's possible.
The effect is like sending emails as letters instead of postcards. Unlike postcards, letters usually hide their contents while in transit.
Note however that as with letters you can't be sure that nobody is opening the letter while it is in transit (although, some technical effort is necessary for that).
A concrete risk is that you accidentally use "faked keys" you got from somewhere or somebody claiming that the key belongs to the person you want to send emails to. To avoid this risk, you can either use the trust model of PGP (see below) or you should always verify, whether the fingerprint of a public key is correct.
Manual Encryption
This option allows you to specify the different preferences for encryption according to your needs. You can specify
whether replies to encrypted/signed emails should automatically also be encrypted/signed-
whether to use the trust model of OpenPGP to accept keys (this means that to use a key you either have to sign the key or have enough other people you trust having signed the key).
whether you want to automatically send emails encrypted if all keys are accepted.
whether and when you want to finally confirm sending an email.
Menu do Enigmail na janela de Composição de Mensagem
Assinar mensagem: Habilitar/Desabilitar o envio de mensagens assinadas. O usuário será notificado se a assinatura falhar.
Criptografar mensagem: Habilitar/Desabilitar criptografia para todos os destinatário(s) antes de enviar a mensagem. O usuário será notificado caso a criptografia falhe.
Caso a opção Mostrar seleção quanto necessário estiver habilitada na aba Preferências -> Seleção de Chaves
, uma lista de chaves será mostrada caso existam endereços na lista de destinatários da mensagem para os quais você não possua uma chave pública correspondente.
Caso a opção Nunca mostrar diálogo de seleção de chaves OpenPGP estiver habilitada na aba Preferêencias -> Seleção de Chaves, e existam
endereços na lista de destinatários para os quais você não possua a chave pública correspondente, a mensagem será enviada sem criptografia.
Utilizar PGP/MIME para esta mensagem: Habilitar/Desabilitar o uso de
PGP/MIME
para esta mensagem.
Se você sabe que o(s) destinatário(s) consegue(m) ler mensagens utilizando o formato PGP/MIME format,
você deve utilizar esta opção.
Esta facilidade depende de ter a opção da aba Preferências -> PGP/MIME configurada para Permitir o uso de PGP/MIME ou Sempre usar PGP/MIME.
Opções padrão para composição: Submenu.
Opções de Assinatura/Criptografia...: atalho para Configurações de Conta -> Opções do OpenPGP.
Opções de Envio...: atalho para a aba Preferências -> Envio.
Opções de seleções de Chave...: atalho para a aba Preferências -> Seleção de Chaves.
Opções de PGP/MIME...: atalho para a aba Preferências -> PGP/MIME.
Desfazer criptografia: Casa haja uma falha ao enviar a mensagem,
tal como um servidor POP não aceitar o pedido, o Enigmail não saberá sobre o ocorrido,
e a mensagem criptografada continuará a ser mostrada na janela de Composição de Mensagem.
Escolhendo este item de menu fará com que a criptografia/assinatura seja desfeita,
revertendo a janela de Composição de Mensagem de volta ao seu texto original. Como uma solução temporária, esta opção também pode ser utilizada para descriptografar a
o texto de citação da mensagem anterior (quote) quando estiver respondendo mensagens criptografadas.
O Enigmail deve automaticamente descriptografar a citação, mas caso isto falhe por alguma razão, você pode
utilizar este item do menu para forçá-lo.
Inserir chave pública: inserir o bloco ASCII com a chave pública na posição
atual do cursor na janela de Composição. Você será perguntado sobre os endereços das chaves a serem inseridas.
Chaves inseridas desta maneira serão reconhecidas pelo Enigmail do destinatário. Após a inserção da chave, você
ainda pode escolher assinar/criptografar a mensagem como for necessário. Não insira mais de um bloco de chave por mensagem; apenas especifique
múltiplos endereços de email, separados por vírgulas ou espaços, quando for solicitado.
Remover senha: Remove a senha armazenada. Útil quando você possui múltiplas senhas.
enigmail/lang/pt-BR/help/editRcptRule.html 0000664 0000000 0000000 00000014555 13213001347 0020740 0 ustar 00root root 0000000 0000000
Ajuda do Enigmail: Edição de Regra do OpenPGP
Ajuda do Enigmail
Usando o Editor de Regras do Enigmail: Editando uma Regra OpenPGP
No Editor de Regras, você pode especificar padrões por destinatário para permitir criptografia, assinatura e PGP/MIME, e definir quais chaves OpenPGP serão utilizadas. Neste diálogo, você poderá especificar as regras para um único destinatário, ou para um grupo de destinatários com características similares.
Definir Regras OpenPGP para: Contém os endereços de email dos destinatários (sem nomes, por exemplo: apenas um endereço como
alguem@dominio). Você pode especificar diversos endereços, separados por espaços.
O endereço especificado aqui pode consistir apenas da parte com o domínio, de forma que qualquer mensagem que faça parte deste domínio será processada, por exemplo @email.domain permitirá processar mensagens como usuario@email.domain,
alguem@email.domain, qualquerumy@email.domain, etc.
Aplicar regra se o destinatário for ...:
Esta opção modifica a maneira como os endereços são processados.
Caso múltiplos endereços sejam colocados, esta configuração será aplicada a todos.
Os exemplos abaixo são baseados no endereço usuario@email.domain
mostrado no exemplo de Regras OpenPGP mostrado acima.
É exatamente: com esta configuração, esta regra será apenas utilizada em emails para usuario@email.domain (texto exato, sem levar em consideração maiúsculas ou minúsculas).
Contém: com esta configuração, qualquer endereço de email contendo a sub-palavra especificada é encontrada, por exemplo qualquerum@email.domain ou usuario@email.domain.net
Começa com: com esta configuração, qualquer endereço começando com esta palavra é processado, por exemplo usuario@email.domain.net, usuario@email.domain-name.com.
Termina com: com esta configuração, qualquer endereço terminando com esta palavra será processado, por exemplo qualquerum@email.domain,
alguem@email.domain.
Continua com a próxima regra para o endereço selecionado
Ligando esta funçã permitirá que se defina uma regra mas não seja necessário especificar um ID de Chave no campo Usar as seguintes chaves OpenPGP:, de formad que o endereço de email será utilizado para verificar por uma chave na hora do envio. Além disso, regras criadas para o mesmo endereço serão processadas també.
Não continuar verificando regras para o endereço selecionado
Ligando esta função, o processamento de quaisquer outras regras será abortado para o(s) endereço(s) selecionado(s) caso esta regra seja utilizada, ou seja, o processamento de regras continua com o próximo destinatário.
Utilizar as seguintes chaves OpenPGP:
Utilize o botão Selecionar Chave(s).. para selecionar as chaves de destinatário que serão utilizadas para criptografia.
Como na ação descrita anteriormente, nenhuma regra adicional para o(s) endereço(s) selecionado(s) serão processadas.
Padrão para Assinatura: habilitar ou desabilitar assinatura de mensagens.
Esta opção utiliza ou sobrepõe o que você especificou na janela de composição de mensagem.
Os valores são:
Nunca: desabilitar assinatura, mesmo quando tiver sido habilitada na janela de composição de mensagem. (sobrepõe os outros valores)
Sim, se selecionado na Composição da Mensagem: deixe a assinatura como especificada na janela de composição de mensagem
Sempre: habilitar assinatura, mesmo se não foi habilitada na janela de composição de mensagem
Estas configurações de assinatura são aplicadas para todas as regras que coincidirem.
Caso uma das regras desabilite assinatura, a mensagem não será assinada, mesmo que outras regras especifiquem Sempre assinar.
Criptografia: habilitar ou desabilitar criptografia de mensagem.
As configurações permitidas e seu significado é o mesmo que para assinatura de mensagens.
PGP/MIME: habilitar ou desabilitar o uso de codificação de mensagem PGP/MIME (RFC 3156).
Caso o PGP/MIME esteja desligado, as mensagens são codificadas utilizando o processo "PGP inline". Os valores permitidos e seus significados são os mesmos utilizados para assinatura de mensagens.
As regras são processadas na ordem mostrada na lista do Editor de Regras OpenPGP. Sempre que uma regras coincidir com um destinatário e conter um ID de Chave OpenPGP, além de utilizar o ID de Chave especificado, o destinatário não é mais considerado ao se processar as regras seguintes.
enigmail/lang/pt-BR/help/initError.html 0000664 0000000 0000000 00000005446 13213001347 0020306 0 ustar 00root root 0000000 0000000
Ajuda do Enigmail: Como Resolver Problemas com a Inicialização do OpenPGP
Ajuda do Enigmail
Como Resolver Problemas Com a Inicialização do OpenPGP
Existem diversas razões pelas quais a inicialização do OpenPGP pode falhar. As mais comuns estão descritas abaixo;
Para mais informações visite a página de suporte do Enigmail.
GnuPG não pode ser encontrado
Para que o OpenPGP funcione, a ferramenta GnuPG precisa estar instalada.
Caso o GnuPG não seja encontrado, verifique primeiramente se o arquivo executável gpg.exe (no Windows; gpg nas outras plataformas) está instalado em seu computador.
Caso o GnuPG esteja instalado, e o OpenPGP não consiga encontrá-lo, você precisará informar manualmente o caminho para ele nas Preferências do OpenPGP Preferences (menu OpenPGP > Preferências)
Falha ao inicializar o Enigmime
O OpenPGP funciona apenas se tiver sido compilado utilizando-se o mesmo ambiente utilizado para construir o Thunderbird ou SeaMonkey. Isto significa que você apenas pode utilizar uma versão oficial do Enigmail se utilizar também uma versão oficial do Thunderbird ou SeaMonkey fornecida pela mozilla.org.
Caso você utilize uma versão do Thunderbird ou SeaMonkey de outro fornecedor (por exemplo, do distribuidor de sua distribuição Linux), ou se você mesmo compilou a aplicação, você deve utilizar uma versão construída pelo mesmo fornecedor, ou compilar uma versão do Enigmail. Para compilar o Enigmail, siga as instruções na seção Código Fonte na página do Enigmail. Por favor não abra relatórios de erro sobre este problema, ele não pode ser resolvido de outra maneira.
enigmail/lang/pt-BR/help/messenger.html 0000664 0000000 0000000 00000011655 13213001347 0020320 0 ustar 00root root 0000000 0000000
Ajuda do Enigmail: Leitura de Mensagens
Ajuda do Enigmail
Utilizando o Enigmail durante a leitura de mensagens
Botão Descriptografar na janela principal de mensagens
Este botão pode ser utilizado para diversas funções: descriptografar, verificar ou importar chaves públicas. Normalmente a criptografia/verificação ocorre automaticamente, embora isto possa ser desabilitado através de uma opção. No entanto, se isto falhar, geralmente uma pequena mensagem de erro irá aparecer na barra de status do Enigmail. Se você clicar no no botão Descriptografar, você poderá ver uma mensagem de erro mais detalhada, incluindo a saída do comando GnuPG.
Ícones de Caneta e Chave no Cabeçalho da Mensagem
Os ícones de Caneta e Chave no cabeçalho da mensagem indicam s a mensagem que você está lendo foi assinada e/ou criptografada e se a assinatura é válida, ou seja, se a mensagem não foi alterada desde que foi assinada. Caso a mensagem tenha sido alterada, o ícone da Caneta irá mudar para um ícone de Caneta Quebrada para indicar que a assinatura não é válida. Clicando com o botão direito em qualquer um dos ícones de Caneta ou Chave trará um menu com as seguintes opçóes:
Informações de Segurança do OpenPGP: permite que você veja a saída do GnuPG para esta mensagem.
Copiar Informações de Segurança do OpenPGP: copia a saída do GnuPG para a área de transferência; para colar em uma mensagem, por exemplo.
Ver ID com Foto do OpenPGP: permite que você visualize o ID com Foto da pessoa que enviou a mensagem, caso possua uma foto contida em sua Chave Pública.
(Esta opção apenas será habilitada caso um ID com Foto exista na chave da pessoa.)
Informações de Segurança S/MIME: permite que você visualize as Informações de Segurança S/MIME para a mensagem.
Se você não tiver a opção de buscar chaves automaticamente no servidor de chaves definida em seu gpg.conf e ler uma mensagem que está assinada ou criptografada, você verá um ícone de uma Caneta no cabeçalho da mensagem juntamente com um Ponto de Interrogação nele, e a barra de status na área do cabeçalho do Enigmail dirá Parte da mensagem foi assinada; clique no ícone da caneta para detalhes e a mensagem mostrará todos os indicadores de blocos de mensagem do OpenPGP e o bloco de assinatura.
Você também pode ver este ícone caso tenha a opção de buscar chaves automaticamente no servidor de chaves definida em seu gpg.conf e a chave OpenPGP não esteja disponível no servidor de chaves padrão.
Clicando no ícone de Caneta com Ponto de Interrogação irá trazer uma janela informando que a chave não está disponível em seu chaveiro. Clicando em OK irá trazer uma outra janela com uma relação de servidores de chaves a partir dos quais você poderá selecionar de onde deseja baixar a chave pública do remetente.
Para configurar a lista de servidores de chaves que você deseja utilizar, vá até a aba Enigmail ->
Preferências -> Báasicas e entre com os endereços dos servidores de chaves na caixa Servidor(es) de Chaves: separados por uma vírgulas. O primeiro servidor de chaves na lista será utilizado como padrão.
Abrindo anexos criptografados / importando chaves OpenPGP anexadas
Anexos terminando em *.pgp, *.asc e *.gpg são reconhecidos como anexos que podem ser tratados de forma especial pelo Enigmail. Clicando com o botão direito em um destes anexos habilita dois itens especiais no menu de contexto: Descriptografar e Abrir e Descriptografar e Salvar. Utilize estes dois itens se você quer que o Enigmail descriptografe um anexo antes de abrí-lo ou salvá-lo. Caso um anexo seja reconhecido com um arquivo de chave OpenPGP, será oferecida a oportunidade de importar as chaves em seu chaveiro.
enigmail/lang/pt-BR/help/rulesEditor.html 0000664 0000000 0000000 00000007066 13213001347 0020632 0 ustar 00root root 0000000 0000000
Ajuda do Enigmail: Editor de Regras
Ajuda do Enigmail
Utilizando o Editor de Regras do Enigmail
No Editor de Regras, você pode especificar os padrões para cada destinatário para permitir criptografia, assinatura e PGP/MIME, e para definir quais chaves OpenPGP serão utilizadas. Cada regra consiste em 5 campos e é representada em uma única linha:
Email: o endereço de email que serão pesquisados nos campos De:, Cc: e Bcc:. A pesquisa funciona em sub-palavras (Maiores detalhes podem ser encontrados no diálogo do Editor de Regras)
Chave(s) OpenPGP: uma lista de Id's de Chaves OpenPGP
Key ID's para utilizar para este destinatário
Assinar: habilitar ou desabilitar a assinatura da mensagem. Esta opção utiliza ou sobrepõe o que você especificou na janela de composição de mensagem. Os valores são:
Nunca: desabilita a assinatura, mesmo se estiver habilitada na janela de composição de mensagem (sobrepõe os outros valores)
Possível: deixa a opção de assinatura como especificada na janela de composição de mensagem
Sempre: habilita assinatura, mesmo se não estiver habilitada na janela de composição de mensagem
Estas opções de assinatura se aplicam para todas as regras que forem selecionadas. Caso uma destas regras desabilite a assinatura, a mensagem não será assinada, não importando o que outras regras especificarem Sempre.
Criptografar: habilita ou desabilita criptografia de mensagem. As opções permitidas e seus significados são os mesmos definidos para assinatura de mensagem.
PGP/MIME: habilita ou desabilita o uso de codificação PGP/MIME (RFC 3156).
Caso a opção PGP/MIME esteja desabilitada, as mensagens são codificadas utilizando o "PGP inline". Os valores permitidos e seus significados são os mesmos da assinatura de mensagem.
As regras são processadas na ordem em que são mostradas na lista. Sempre que uma coincide com um destinatário e contém um ID de Chave OpenPGP, além de utilizar o ID de Chave especificado, o destinatário não é mais considerado ao se processar as regras seguintes.
Nota: O editor de regras ainda não está completo. É possível escrever regras muito mais avançadas editando o arquivo de regras diretamente (neste caso, as regras não deverão ser mais editadas no editor de regras). Maiores informações sobre como editar o arquivo diretamente estão disponíveis na página do Enigmail
In the Sending Preferences you can choose the general model and preferences for encryption.
Convenient Encryption
With these settings, emails are encrypted without confirmation whenever possible.
This setup is appropriate, if you just want to improve your privacy by sending emails encyrpted instead of unencrypted if that's possible.
The effect is like sending emails as letters instead of postcards. Unlike postcards, letters usually hide their contents while in transit.
Note however that as with letters you can't be sure that nobody is opening the letter while it is in transit (although, some technical effort is necessary for that).
A concrete risk is that you accidentally use "faked keys" you got from somewhere or somebody claiming that the key belongs to the person you want to send emails to. To avoid this risk, you can either use the trust model of PGP (see below) or you should always verify, whether the fingerprint of a public key is correct.
Manual Encryption
This option allows you to specify the different preferences for encryption according to your needs. You can specify
whether replies to encrypted/signed emails should automatically also be encrypted/signed-
whether to use the trust model of OpenPGP to accept keys (this means that to use a key you either have to sign the key or have enough other people you trust having signed the key).
whether you want to automatically send emails encrypted if all keys are accepted.
whether and when you want to finally confirm sending an email.
Assinar mensagem: Activar/Desactivar o envio de correio assinado. O utilizador
será notificado se a assinatura falhar.
Cifrar mensagem: Activar/Desactivar a encriptação para todo(s) o(s) destinatário(s)
antes do envio. O utilizador será notificado se a encriptação falhar.
Se a opção Mostrar selecção quando necessário estiver seleccionada no separador
Preferências Enigmail -> Selecção de chaves, será apresentada uma lista de chaves
no caso de haver endereços de email na lista de destinatários para os quais tenha a chave pública.
Se a opção Nunca mostrar selecção de chave OpenPGP estiver seleccionada no separador
Preferências Enigmail -> Selecção de chaves, e houver endereços de email na lista de
destinatários para os quais não tem a chave pública, a mensagem será enviada em claro.
Usar PGP/MIME para esta mensagem: Activar/Desactivar o uso de
PGP/MIME
para esta mensagem.
Se sabe que o(s) destinatário(s) podem ler correio electrónico no formato PGP/MIME, deve
usá-lo.
Esta funcionalidade depende da configuração no separador Preferências -> PGP/MIME
estar para Permitir o uso de PGP/MIME ou Usar sempre PGP/MIME.
Opções de composição por omissão: Submenu.
Opções de assinar/cifrar...: atalho para Opções de conta -> Opções OpenPGP.
Opções de envio...: atalho para o separador Preferências -> Ao Enviar.
Opções de Selecção de chaves...: atalho o separador Preferências ->
Selecção de chaves.
Opções PGP/MIME...: atalho para o separador Preferências -> PGP/MIME.
Desfazer encriptação: se acontecer um erro ao enviar o correio, por exemplo o servidor
POP não aceitar o pedido, o Enigmail não terá conhecimento disso e a mensagem cifrada continuará
a ser mostrada na janela de composição. Ao escolher este item de menu reverterá a operação de
encriptação, colocando o texto original novamente na janela. Como solução temporária, esta opção pode também ser usada para decifrar as citações
ao responder a mensagens cifradas. O Enigmail deve decifrar automaticamente as mensagens
cifradas, mas se isso falhar por alguma razão, pode usar este item de menu para o forçar.
Inserir chave pública: inserir bloco de chave pública em ASCII na posição corrente
do cursor na janela de Composição. Ser-lhe-á pedido o endereço de correio electrónico da(s)
chave(s) a inserir. As chaves inseridas desta forma serão automaticamente reconhecidas pelo
Enigmail na recepção. Após a inserção da chave, pode escolher assinar/cifrar a mensagem
consoante necessário. Não insira mais do que um bloco de chave por mensagem; em vez disso,
indique os vários endereços de email separados por vírgulas ou espaços quando tal lhe
for pedido.
Limpar senha memorizada: Limpa a senha guardada em memória. Útil se tem várias senhas
diferentes.
Editar regras por destinatário
Ajuda: Mostra a informação de ajuda do site web (esta página).
Usar o Editor de Regras do Enigmail: Editar Regras OpenPGP
No Editor de Regras, pode especificar, para cada destinatário, se deseja cifrar, assinar ou
usar PGP/MIME por omissão e ainda quais as chaves OpenPGP a usar. Neste diálogo, pode especificar
as regras para cada destinatário individualmente ou para cada grupo de destinatários com
atributos semelhantes.
Configurar regras OpenPGP para: Contém os
endereços de email dos destinatários (sem nomes, isto é, apenas um endereço como
alguem@dominio.email). Pode indicar vários endereços de email, separados por espaços.
Os endereços indicados aqui podem conter apenas o domínio, de forma a que apenas os endereços
daquele domínio sejam mostrados, por exemplo, @dominio.email permitiria mostrar os
endereços pessoa@dominio.email, alguem@dominio.email,
qualquer@dominio.email, etc.
Aplicar regra se destinatário ...:
Altera a forma de correspondência de endereços de email. Se forem introduzidos vários endereços,
esta definição aplicar-se-á a todos. Os exemplos abaixo baseiam-se em introduzir
pessoa@dominio.email no campo Regras OpenPGP definido acima.
É exactamente: com esta configuração, a regra apenas se aplicará às mensagens para
pessoa@dominio.email (correspondência exacta, ignorando maiúsculas/minúsculas).
Contém: com esta configuração, a regra aplicar-se-á a todos os endereços que contenham
a cadeia de caracteres especificada, por exemplo qualquerpessoa@dominio.email ou
pessoa@dominio.email.net
Começa por: com esta configuração, a regra irá aplicar-se a qualquer endereço
iniciado pela cadeia de caracteres especificada, como pessoa@dominio.email.net ou
pessoa@dominio.email-nome.com.
Termina em: esta configuração aplica a regra a todos os endereços terminados com
a cadeia de caracteres especificada, tais como qualquerpessoa@dominio.email ou
umapessoa@dominio.email.
Continuar com a próxima regra para os endereços coindidentes
Activar esta função permitirá definir uma regra sem ter que especificar o Identificador da chave em
Usar as seguintes chaves OpenPGP:, de forma a que o endereço de email seja usado para
procurar a chave ao enviar. De igual modo, as regras seguintes para os mesmos endereços serão
processadas da mesma maneira.
Não verificar mais regras para os endereços coincidentes
Activar esta definição impede o processamento de quaisquer outras regras para os endereços
coincidentes, caso esta regra seja verificada; ou seja, o processamento de regras continua
com o próximo destinatário.
Definições por omissão para assinar: activar ou desactivar
a assinatura de mensagens. Esta definição usa ou sobrepõe-se ao que especificou na janela de composições
de mensagens. Os valores são:
Nunca: desactivar a assinatura, mesmo se estiver seleccionada na janela de composição de
mensagens (sobrepõe-se a outros valores)
Sim, se seleccionado na Composição de Mensagens: deixar a assinatura como especificado na
janela de composição de mensagens
Sempre: Activar a assinatura, mesmo se não estiver
seleccionada na janela de composição de mensagens
Estas configurações de assinatura são aplicadas a todas as regras
coincidentes. Se uma das regras desactivar a assinatura, a mensagem não será assinada, independentemente
do que outras regras especifiquem. Sempre.
Cifrar: Activar ou desactivar a encriptação de mensagens.
As configurações permitidas e o seu significado são os mesmos que para a assinatura de mensagens.
PGP/MIME: activar ou desactivar o uso de PGP/MIME (RFC 3156)
para a codificação de mensagens. Se não seleccionar PGP/MIME, as mensagens serão codificadas usando o
método "PGP embebido". Os valores permitidos e o seu significado são os mesmos que para a assinatura de
mensagens.
As regras são processadas na ordem em que são mostradas na lista Editor de Regras por
Destinatário. Sempre que uma regra coincidir com um destinatário e contiver um Identificador de chave OpenPGP,
para além de usar o Identificador de chave específico, implica que o destinatário não seja mais considerado ao
processar regras posteriores.
enigmail/lang/pt-PT/help/initError.html 0000664 0000000 0000000 00000004653 13213001347 0020325 0 ustar 00root root 0000000 0000000
Ajuda Enigmail: Como Resolver Problemas na Inicialização do OpenPGP
Ajuda Enigmail
Como Resolver Problemas na Inicialização do OpenPGP
Há vários motivos para que o OpenPGP não consiga inicializar. Os mais comuns estão descritos abaixo; para mais informação, visite por favor a Página de Suporte do Enigmail.
O OpenPGP funciona apenas se for compilado na mesma plataforma que o Thunderbird ou Seamonkey. Isto significa que a versão oficial do Enigmail apenas pode ser usada em conjunto com as versões oficiais do Thunderbird ou Seamonkey fornecidas pela mozilla.org.
Se usa o Thunderbird ou Seamonkey provenientes de outra fonte (por exemplo, o fornecedor da sua distribuição de Linux), ou se compilou a aplicação localmente, deve usar uma versão de Enigmail do mesmo fornecedor ou compilar o Enigmail localmente. Instruções para compilar o Enigmail podem ser encontradas na Secção de Código Fonte da página web do Enigmail. Por favor, não submeta nenhum relatório de erro sobre este problema, uma vez que não tem solução.
Botão Decifrar na janela principal do Mail & Newsgroups / Thunderbird
Este botão pode ser usado para: decifrar, verificar ou importar chaves públicas.
Normalmente, as mensagens são decifradas e verificadas automaticamente, embora
este comportamento possa ser desactivado numa preferência. Contudo, se isto falhar,
será apresentada uma curta mensagem de erro na barra de estado do Enigmail. Se clicar
sobre o botão Decifrar, poderá ver uma mensagem mais detalhada, incluindo a saída
do comando GnuPG.
Ícones da Caneta e da Chave no Cabeçalho da Mensagem
Os ícones da Caneta e da Chave no Cabeçalho da Mensagem indicam se
a mensagem que está a ler foi assinada e/ou cifrada e se a assinatura é válida, ou
seja, se a mensagem não foi alterada desde que foi assinada. Se a mensagem foi
alterada o ícone da Caneta mudará para uma Caneta Quebrada para
indicar que a assinatura não é válida. Clicar com o botão alternativo do rato quer no
ícone da Caneta quer no ícone da Chave fará aparecer um menu com as seguintes
opções:
Informação de Segurança OpenPGP: permite ver a saída do GnuPG para a
mensagem.
Copiar Informação de Segurança OpenPGP: copia a saída do GnuPG para a
área de transferência; para colar numa mensagem de resposta, etc.
Ver Identificador Fotográfico OpenPGP: permite ver o Identificador
Fotográfico do remetente, se ele tiver uma fotografia embebida na sua Chave
Pública. (Esta opção estará activa apenas se existir um Identificador
Fotográfico na chave.)
Informação de Segurança S/MIME: permite ver a informação de segurança
S/MIME da mensagem.
Se não tiver keyserver-options auto-key-retrieve no seu ficheiro
gpg.conf e receber uma mensagem assinada ou cifrada, verá, na área de
visualização do cabeçalho da mensagem, um ícone com uma Caneta com um
ponto de interrogação sobreposto, a barra de estado do Enigmail na área do
cabeçalho dirá Parte da mensagem assinada; para mais informação, clique sobre
o ícone da caneta e a mensagem no Painel de Mensagem mostrará os indicadores
de um bloco OpenPGP e o bloco da assinatura.
Também poderá ver isto se tiver keyserver-options auto-key-retrieve
no seu ficheiro gpg.conf e a chave não estiver disponível no seu
servidor de chaves por omissão.
Clicar sobre o ícone da Caneta e Ponto de Interrogação fará aparecer
uma janela informando que a chave não está disponível no seu porta-chaves. Clicar
em OK mostrará outra janela com uma lista de servidores de chaves para escolher
a partir de qual quer fazer a transferência da chave pública do remetente.
Para configurar a lista dos servidores de chaves que deseja usar, vá ao separador
Enigmail -> Preferências -> Básicas e introduza os endereços dos servidores
no campo Servidor(es) de chave(s):, separados por vírgulas. O
servidor de chaves listado em primeiro lugar será usado como o servidor por omissão.
Abrir anexos cifrados / importar chaves OpenPGP em anexo
Anexos de nome *.pgp, *.asc, e *.gpg são reconhecidos como podendo ter um tratamento
especial por parte do Enigmail. Clicar com o botão alternativo do rato num anexo
deste tipo, activa dois itens de menu especiais no menu de contexto: Decifrar e
Abrir e Decifrar e Gravar Como.... Use estes dois itens de menu se
deseja que o Enigmail decifre um anexo antes de o abrir ou gravar. Se um anexo for
reconhecido como um ficheiro contendo uma chave OpenPGP, é-lhe oferecida a
possibilidade de importar as chaves para o seu porta-chaves.
enigmail/lang/pt-PT/help/rulesEditor.html 0000664 0000000 0000000 00000007271 13213001347 0020650 0 ustar 00root root 0000000 0000000
Ajuda do Enigmail: Editor de Regras
Ajuda do Enigmail
Usar o Editor de Regras do Enigmail
No Editor de Regras, pode indicar as configurações a usar por omissão para cifrar,
assinar e usar PGP/MIME, por destinatário e quais as chaves a usar. Cada regra consiste
em 5 campos e é representada numa única linha:
Email: o(s) endereço(s) de email dos campos
Para:, CC:, e BCC: a encontrar. Cada coincidência trabalha em
substrings (Mais detalhes na janela do Editor de
Regras)
Chave(s) OpenPGP: a lista de Identificadores
de chaves OpenPGP a usar para o destinatário
Assinar: activar ou desactivar o assinar
de mensagens. Esta configuração usa ou sobrepõe-se ao indicado na janela de Composição
de mensagens. Os valores são:
Nunca: a mensagem não será assinada, mesmo com uma configuração em contrário
na janela de composição de mensagens (sobrepõe-se a outros valores)
Possível: a mensagem será assinada ou não, consoante a configuração na
janela de composição de mensagens.
Sempre: a mensagem será assinada, mesmo que a assinatura esteja
desactivada na janela de composição de
mensagens
Estas configurações aplicam-se a todas as regras
coincidentes. Se uma das regras desactivar a assinatura, a mensagem não será assinada,
independentemente de outras regras especificadas. Sempre.
Cifrar: activar ou desactivar a encriptação
de mensagens. As configurações permitidas e o seu significado são os mesmos de que
para a assinatura de mensagens.
PGP/MIME: activar ou desactivar o uso da
codificação de mensagens PGP/MIME (RFC 3156). Se a PGP/MIME estiver desactivada, as
mensagens serão codificadas usando "PGP embebido". As configurações permitidas e o
seu significado são os mesmo de que para a assinatura de mensagens.
As regras são processadas na ordem em que são mostradas na lista. Sempre que uma regra
coincidir com um destinatário e contiver um Identificador de chave OpenPGP, esse destinatário não
será mais considerado ao processar as regras seguintes, para além de ser usado o Identificador de
chave especificado.
Nota: O editor de regras ainda não está completo. É possível escrever regras
mais avançadas editando o ficheiro de regras directamente (estas regras não devem ser
posteriormente editadas no editor de regras). Mais informação
sobre a edição directa deste ficheiro está disponível na Homepage do Enigmail.
In the Sending Preferences you can choose the general model and preferences for encryption.
Convenient Encryption
With these settings, emails are encrypted without confirmation whenever possible.
This setup is appropriate, if you just want to improve your privacy by sending emails encyrpted instead of unencrypted if that's possible.
The effect is like sending emails as letters instead of postcards. Unlike postcards, letters usually hide their contents while in transit.
Note however that as with letters you can't be sure that nobody is opening the letter while it is in transit (although, some technical effort is necessary for that).
A concrete risk is that you accidentally use "faked keys" you got from somewhere or somebody claiming that the key belongs to the person you want to send emails to. To avoid this risk, you can either use the trust model of PGP (see below) or you should always verify, whether the fingerprint of a public key is correct.
Manual Encryption
This option allows you to specify the different preferences for encryption according to your needs. You can specify
whether replies to encrypted/signed emails should automatically also be encrypted/signed-
whether to use the trust model of OpenPGP to accept keys (this means that to use a key you either have to sign the key or have enough other people you trust having signed the key).
whether you want to automatically send emails encrypted if all keys are accepted.
whether and when you want to finally confirm sending an email.
Enable/Disable sending signed mail. User is notified, if signing fails.
Encrypt message
Enable/Disable encryption to all recipient(s) before sending. User is notified, if encryption fails.
If Display selection when necessary is set in Preferences -> Key Selection tab, a list of keys will pop up if there are addresses in the list of recipients for the message for whom you have no public key.
If Never display OpenPGP key selection dialog is set in Preferences -> Key Selection tab, and there are addresses in the list of recipients for the message for whom you have no public key, the message will be sent unencrypted.
Use PGP/MIME for this message
Enable/Disable the use of PGP/MIME for this message.
If you know the recipient(s) can read mail using the PGP/MIME format, you should use it.
This feature is dependent on the settings in Preferences -> PGP/MIME tab being set to Allow to use PGP/MIME or Always use PGP/MIME.
Default composition options
Signing/Encryption Options...: shortcut to Account Settings -> OpenPGP Options.
Send options...: shortcut to Preferences -> Send tab.
Key selection options...: shortcut to Preferences -> Key Selection tab.
PGP/MIME options...: shortcut to Preferences -> PGP/MIME tab.
Undo encryption
If there is a failure when actually sending mail, such as the POP server not accepting the request, Enigmail will not know about it, and the encrypted message will continue to be displayed in the Compose window. Choosing this menu item will undo the encryption/signing, reverting the Compose window back to its original text.
As a temporary fix, this option may also be used to decrypt the quoted text when replying to encrypted messages. Enigmail should automatically decrypt the quoted message, but if that fails for some reason, you can use this menu item to force it.
Insert public key
insert ASCII-armored public key block at the current cursor location in the Compose window. You will be prompted for the email addresses of the key(s) to be inserted. Keys inserted in this manner will automatically be recognized at the receiving end by Enigmail. After key insertion, you may still choose to sign/encrypt the mail as needed. Also, do not insert more than one key block in a message; just specify multiple email addresses, separated by commas or spaces, when prompted.
Clear save passphrase
Clears cached passphrase. Useful if you have multiple passphrases.
Help
Displays Help information from the website (this page).
Using the Enigmail Rules Editor: Edit OpenPGP Rule
In the Rules Editor, you can specify defaults per recipient for enabling encryption, signing and PGP/MIME, and to define what OpenPGP key(s) to use. In this dialog, you can specify the rules for a single recipient, and for a group of recipients with very similar attributes.
Set OpenPGP Rules for
Contains the email addresses of the recipients (without names, i.e. just an address like somebody@email.domain). You can specify several email addresses, separated by spaces. The address specified here can consist of only the domain section so that mail to any address at that domain will be matched, e.g. @email.domain will allow matching to body@email.domain, somebody@email.domain, anybody@email.domain, etc.
Apply rule if recipient ...
This modifies the matching of the email addresses. If multiple addresses are entered, the setting will apply to all. The examples below are based on body@email.domain entered in the OpenPGP Rules field above.
Is exactly: with this setting, the rule will only trigger on emails to body@email.domain (exact, case insensitive matching).
Contains: with this setting, any email address containing the string is matched, e.g. anybody@email.domain or body@email.domain.net
Begins with: with this setting, any email address starting with the string is matched, e.g. body@email.domain.net, body@email.domain-name.com.
Ends with: with this setting, any email address ending with the string is matched, e.g. anybody@email.domain , somebody@email.domain.
Continue with the next rule for the matching address
Enabling this function will allow you to define a rule but not have to specify a KeyID in the Use the following OpenPGP keys: field, so that the email address is used to check for a key at the time of sending. Also, further rules for the same address(es) will be processed as well.
Do not check further rules for the matching address
Enabling this function stops processing any other rules for the matching address(es) if this rule is matched; i.e. rule processing continues with the next recipient.
Use the following OpenPGP keys:
Use the Select Key(s).. button to select the recipient keys to be used for encryption. As in the action above, no further rules for the matching address(es) are processed.
Default for Signing
Enable or disable message signing. This either uses or overrides what you have specified in the message composition window. The values are:
Never: disable signing, even if it was enabled in the message composition window (overrules the other values)
Yes, if selected from in Message Composition: leave signing as specified in the message composition window
Always: enable signing, even if it was not enabled in the message composition window
These signing settings are applied for all rules that match. If one of the rules disables signing, the message will not be signed, regardless of other rules that specify Always.
Encryption
Enable or disable message encryption. The allowed settings and their meaning are the same as for message signing.
PGP/MIME
Enable or disable the use of the PGP/MIME (RFC 3156) message encoding. If PGP/MIME is disabled, the messages are encoded using "inline PGP". The allowed values and their meaning are the same as for message signing.
The rules are processed in the order displayed in the list in the OpenPGP Rules Editor. Whenever a rule matches a recipient and contains a OpenPGP Key ID, in addition to using the specified Key ID, the recipient is not considered anymore when processing further rules.
enigmail/lang/ru/help/initError.html 0000664 0000000 0000000 00000004536 13213001347 0020007 0 ustar 00root root 0000000 0000000
Enigmail Help: How to Resolve Problems with Initializing OpenPGP
Enigmail Help
How to Resolve Problems with Initializing OpenPGP
There are several reasons why initializing OpenPGP does not succeed. The most common ones are described below;
for more information please visit the Enigmail Support page.
GnuPG could not be found
In order for OpenPGP to work, the tool GnuPG needs to be installed.
If GnuPG cannot be found, then first make sure that the executable gpg.exe (on Windows; gpg on other platforms) is installed on your computer.
If GnuPG is installed, and OpenPGP cannot find it, then you need to manually set the path to GnuPG in the OpenPGP Preferences (menu OpenPGP > Preferences)
Enigmime failed to initialize
OpenPGP works only if it is built using the same build environment as Thunderbird or SeaMonkey was built. This means that you can use the official Enigmail releases only if you use the official releases of Thunderbird or SeaMonkey provided by mozilla.org.
If you use a Thunderbird or SeaMonkey version coming from some other source (e.g. the provider of your Linux distribution), or if you built the application yourself, you should either use an Enigmail version built by the same source, or build Enigmail yourself. For building Enigmail, refer to the Source Code section on the Enigmail home page. Please don't file any bug report concerning this problem, it is not solvable.
This button can be used for several purposes: decrypt, verify, or import public keys. Normally decryption/verification happens automatically, although this can be disabled through a preference. However, if this fails, usually a short error message will appear in the Enigmail status line. If you click the Decrypt button, you will be able to see a more detailed error message, including the output from the GnuPG command.
Pen and Key icons in Message Header display
The Pen and Key icons in the Message Header display indicate if the message you are reading was signed and/or encrypted and if the signature is good, i.e. the message has not been changed since it was signed. If the message has been changed, the Pen icon will change to a Broken Pen to indicate that the signature is bad. Right clicking on either the Pen or Key icons will bring up a menu with the following options:
OpenPGP Security info: allows you to view the output status from GnuPG for the message.
Copy OpenPGP Security info: copies the output status from GnuPG to the clipboard; to paste into a reply message, etc.
View OpenPGP Photo ID: allows you to view the Photo ID of the person who sent the message, if they have a photo embedded in their Public Key. (This option will only be enabled if a Photo ID exists in their key.)
S/MIME Security info: allows you to view the S/MIME Security Info for the message.
If you do not have keyserver-options auto-key-retrieve set in your gpg.conf file and you read a message which is signed or encrypted, you will see a Pen icon in the headers display area with a Question mark on it, the Enigmail status line in the headers area will say Part of the message signed; click pen icon for details and the message in the Message Pane will show all the OpenPGP message block indicators and the signature block.
You may also see this if you have keyserver-options auto-key-retrieve set in your gpg.conf file and the OpenPGP key is not available on the default keyserver.
Clicking on the Pen and Question mark icon will bring up a window advising that the key is unavailable in your keyring. Clicking on OK will bring up another window with a list of keyservers from which you can select to download the sender's public key from.
To configure the list of keyservers you wish to use, go to Enigmail -> Preferences -> Basic tab and enter the keyserver addresses in the Keyserver(s): box, separated by a comma. The first keyserver in the list will be used as the default.
Attachments named *.pgp, *.asc and *.gpg are recognized as attachments that can be handled specially by Enigmail. Right clicking on such an attachment enables two special menu items in the context menu: Decrypt and Open and Decrypt and Save. Use these two menu items if you want Enigmail to decrypt an attachment before opening or saving it. If an attachment is recognized as an OpenPGP key file, you are offered to import the keys it into your keyrings.
In the Rules Editor, you can specify defaults per recipient for enabling encryption, signing and PGP/MIME, and to define what OpenPGP key(s) to use. Each rule consists of 5 fields and is represented on a single line:
Email
The e-mail(s) from the To:, Cc: and Bcc: fields to match. The matching works on substrings (Further details can be found in the Edit Rule dialog)
OpenPGP Key(s)
a list of OpenPGP Key ID's to use for the recipient
Sign
enable or disable message signing. This either uses or overrides what you have specified in the message composition window. The values are:
Never: disable signing, even if it was enabled in the message composition window (overrules the other values)
Possible: leave signing as specified in the message composition window
Always: enable signing, even if it was not enabled in the message composition window
These signing settings are applied for all rules that match. If one of the rules disables signing, the message will not be signed, regardless of other rules that specify Always.
Encrypt
enable or disable message encryption. The allowed settings and their meaning are the same as for message signing.
PGP/MIME
enable or disable the use of the PGP/MIME (RFC 3156) message encoding. If PGP/MIME is disabled, the messages are encoded using "inline PGP". The allowed values and their meaning a re the same as for message signing.
The rules are processed in the order displayed in the list. Whenever a rule matches a recipient and contains a OpenPGP Key ID, in addition to using the specified Key ID, the recipient is not considered anymore when processing further rules.
Note: The rule editor is not yet complete. It is possible to write some more advanced rules by directly editing the rules file (these rules should then not be edited anymore in the rule editor). Further information for directly editing the file is available on the Enigmail Homepage
In the Sending Preferences you can choose the general model and preferences for encryption.
Convenient Encryption
With these settings, emails are encrypted without confirmation whenever possible.
This setup is appropriate, if you just want to improve your privacy by sending emails encyrpted instead of unencrypted if that's possible.
The effect is like sending emails as letters instead of postcards. Unlike postcards, letters usually hide their contents while in transit.
Note however that as with letters you can't be sure that nobody is opening the letter while it is in transit (although, some technical effort is necessary for that).
A concrete risk is that you accidentally use "faked keys" you got from somewhere or somebody claiming that the key belongs to the person you want to send emails to. To avoid this risk, you can either use the trust model of PGP (see below) or you should always verify, whether the fingerprint of a public key is correct.
Manual Encryption
This option allows you to specify the different preferences for encryption according to your needs. You can specify
whether replies to encrypted/signed emails should automatically also be encrypted/signed-
whether to use the trust model of OpenPGP to accept keys (this means that to use a key you either have to sign the key or have enough other people you trust having signed the key).
whether you want to automatically send emails encrypted if all keys are accepted.
whether and when you want to finally confirm sending an email.
Enable/Disable sending signed mail. User is notified, if signing fails.
Encrypt message
Enable/Disable encryption to all recipient(s) before sending. User is notified, if encryption fails.
If Display selection when necessary is set in Preferences -> Key Selection tab, a list of keys will pop up if there are addresses in the list of recipients for the message for whom you have no public key.
If Never display OpenPGP key selection dialog is set in Preferences -> Key Selection tab, and there are addresses in the list of recipients for the message for whom you have no public key, the message will be sent unencrypted.
Use PGP/MIME for this message
Enable/Disable the use of PGP/MIME for this message.
If you know the recipient(s) can read mail using the PGP/MIME format, you should use it.
This feature is dependent on the settings in Preferences -> PGP/MIME tab being set to Allow to use PGP/MIME or Always use PGP/MIME.
Default composition options
Signing/Encryption Options...: shortcut to Account Settings -> OpenPGP Options.
Send options...: shortcut to Preferences -> Send tab.
Key selection options...: shortcut to Preferences -> Key Selection tab.
PGP/MIME options...: shortcut to Preferences -> PGP/MIME tab.
Undo encryption
If there is a failure when actually sending mail, such as the POP server not accepting the request, Enigmail will not know about it, and the encrypted message will continue to be displayed in the Compose window. Choosing this menu item will undo the encryption/signing, reverting the Compose window back to its original text.
As a temporary fix, this option may also be used to decrypt the quoted text when replying to encrypted messages. Enigmail should automatically decrypt the quoted message, but if that fails for some reason, you can use this menu item to force it.
Insert public key
insert ASCII-armored public key block at the current cursor location in the Compose window. You will be prompted for the email addresses of the key(s) to be inserted. Keys inserted in this manner will automatically be recognized at the receiving end by Enigmail. After key insertion, you may still choose to sign/encrypt the mail as needed. Also, do not insert more than one key block in a message; just specify multiple email addresses, separated by commas or spaces, when prompted.
Clear save passphrase
Clears cached passphrase. Useful if you have multiple passphrases.
Help
Displays Help information from the website (this page).
Using the Enigmail Rules Editor: Edit OpenPGP Rule
In the Rules Editor, you can specify defaults per recipient for enabling encryption, signing and PGP/MIME, and to define what OpenPGP key(s) to use. In this dialog, you can specify the rules for a single recipient, and for a group of recipients with very similar attributes.
Set OpenPGP Rules for
Contains the email addresses of the recipients (without names, i.e. just an address like somebody@email.domain). You can specify several email addresses, separated by spaces. The address specified here can consist of only the domain section so that mail to any address at that domain will be matched, e.g. @email.domain will allow matching to body@email.domain, somebody@email.domain, anybody@email.domain, etc.
Apply rule if recipient ...
This modifies the matching of the email addresses. If multiple addresses are entered, the setting will apply to all. The examples below are based on body@email.domain entered in the OpenPGP Rules field above.
Is exactly: with this setting, the rule will only trigger on emails to body@email.domain (exact, case insensitive matching).
Contains: with this setting, any email address containing the string is matched, e.g. anybody@email.domain or body@email.domain.net
Begins with: with this setting, any email address starting with the string is matched, e.g. body@email.domain.net, body@email.domain-name.com.
Ends with: with this setting, any email address ending with the string is matched, e.g. anybody@email.domain , somebody@email.domain.
Continue with the next rule for the matching address
Enabling this function will allow you to define a rule but not have to specify a KeyID in the Use the following OpenPGP keys: field, so that the email address is used to check for a key at the time of sending. Also, further rules for the same address(es) will be processed as well.
Do not check further rules for the matching address
Enabling this function stops processing any other rules for the matching address(es) if this rule is matched; i.e. rule processing continues with the next recipient.
Use the following OpenPGP keys:
Use the Select Key(s).. button to select the recipient keys to be used for encryption. As in the action above, no further rules for the matching address(es) are processed.
Default for Signing
Enable or disable message signing. This either uses or overrides what you have specified in the message composition window. The values are:
Never: disable signing, even if it was enabled in the message composition window (overrules the other values)
Yes, if selected from in Message Composition: leave signing as specified in the message composition window
Always: enable signing, even if it was not enabled in the message composition window
These signing settings are applied for all rules that match. If one of the rules disables signing, the message will not be signed, regardless of other rules that specify Always.
Encryption
Enable or disable message encryption. The allowed settings and their meaning are the same as for message signing.
PGP/MIME
Enable or disable the use of the PGP/MIME (RFC 3156) message encoding. If PGP/MIME is disabled, the messages are encoded using "inline PGP". The allowed values and their meaning are the same as for message signing.
The rules are processed in the order displayed in the list in the OpenPGP Rules Editor. Whenever a rule matches a recipient and contains a OpenPGP Key ID, in addition to using the specified Key ID, the recipient is not considered anymore when processing further rules.
enigmail/lang/sk/help/initError.html 0000664 0000000 0000000 00000004536 13213001347 0017776 0 ustar 00root root 0000000 0000000
Enigmail Help: How to Resolve Problems with Initializing OpenPGP
Enigmail Help
How to Resolve Problems with Initializing OpenPGP
There are several reasons why initializing OpenPGP does not succeed. The most common ones are described below;
for more information please visit the Enigmail Support page.
GnuPG could not be found
In order for OpenPGP to work, the tool GnuPG needs to be installed.
If GnuPG cannot be found, then first make sure that the executable gpg.exe (on Windows; gpg on other platforms) is installed on your computer.
If GnuPG is installed, and OpenPGP cannot find it, then you need to manually set the path to GnuPG in the OpenPGP Preferences (menu OpenPGP > Preferences)
Enigmime failed to initialize
OpenPGP works only if it is built using the same build environment as Thunderbird or SeaMonkey was built. This means that you can use the official Enigmail releases only if you use the official releases of Thunderbird or SeaMonkey provided by mozilla.org.
If you use a Thunderbird or SeaMonkey version coming from some other source (e.g. the provider of your Linux distribution), or if you built the application yourself, you should either use an Enigmail version built by the same source, or build Enigmail yourself. For building Enigmail, refer to the Source Code section on the Enigmail home page. Please don't file any bug report concerning this problem, it is not solvable.
This button can be used for several purposes: decrypt, verify, or import public keys. Normally decryption/verification happens automatically, although this can be disabled through a preference. However, if this fails, usually a short error message will appear in the Enigmail status line. If you click the Decrypt button, you will be able to see a more detailed error message, including the output from the GnuPG command.
Pen and Key icons in Message Header display
The Pen and Key icons in the Message Header display indicate if the message you are reading was signed and/or encrypted and if the signature is good, i.e. the message has not been changed since it was signed. If the message has been changed, the Pen icon will change to a Broken Pen to indicate that the signature is bad. Right clicking on either the Pen or Key icons will bring up a menu with the following options:
OpenPGP Security info: allows you to view the output status from GnuPG for the message.
Copy OpenPGP Security info: copies the output status from GnuPG to the clipboard; to paste into a reply message, etc.
View OpenPGP Photo ID: allows you to view the Photo ID of the person who sent the message, if they have a photo embedded in their Public Key. (This option will only be enabled if a Photo ID exists in their key.)
S/MIME Security info: allows you to view the S/MIME Security Info for the message.
If you do not have keyserver-options auto-key-retrieve set in your gpg.conf file and you read a message which is signed or encrypted, you will see a Pen icon in the headers display area with a Question mark on it, the Enigmail status line in the headers area will say Part of the message signed; click pen icon for details and the message in the Message Pane will show all the OpenPGP message block indicators and the signature block.
You may also see this if you have keyserver-options auto-key-retrieve set in your gpg.conf file and the OpenPGP key is not available on the default keyserver.
Clicking on the Pen and Question mark icon will bring up a window advising that the key is unavailable in your keyring. Clicking on OK will bring up another window with a list of keyservers from which you can select to download the sender's public key from.
To configure the list of keyservers you wish to use, go to Enigmail -> Preferences -> Basic tab and enter the keyserver addresses in the Keyserver(s): box, separated by a comma. The first keyserver in the list will be used as the default.
Attachments named *.pgp, *.asc and *.gpg are recognized as attachments that can be handled specially by Enigmail. Right clicking on such an attachment enables two special menu items in the context menu: Decrypt and Open and Decrypt and Save. Use these two menu items if you want Enigmail to decrypt an attachment before opening or saving it. If an attachment is recognized as an OpenPGP key file, you are offered to import the keys it into your keyrings.
In the Rules Editor, you can specify defaults per recipient for enabling encryption, signing and PGP/MIME, and to define what OpenPGP key(s) to use. Each rule consists of 5 fields and is represented on a single line:
Email
The e-mail(s) from the To:, Cc: and Bcc: fields to match. The matching works on substrings (Further details can be found in the Edit Rule dialog)
OpenPGP Key(s)
a list of OpenPGP Key ID's to use for the recipient
Sign
enable or disable message signing. This either uses or overrides what you have specified in the message composition window. The values are:
Never: disable signing, even if it was enabled in the message composition window (overrules the other values)
Possible: leave signing as specified in the message composition window
Always: enable signing, even if it was not enabled in the message composition window
These signing settings are applied for all rules that match. If one of the rules disables signing, the message will not be signed, regardless of other rules that specify Always.
Encrypt
enable or disable message encryption. The allowed settings and their meaning are the same as for message signing.
PGP/MIME
enable or disable the use of the PGP/MIME (RFC 3156) message encoding. If PGP/MIME is disabled, the messages are encoded using "inline PGP". The allowed values and their meaning a re the same as for message signing.
The rules are processed in the order displayed in the list. Whenever a rule matches a recipient and contains a OpenPGP Key ID, in addition to using the specified Key ID, the recipient is not considered anymore when processing further rules.
Note: The rule editor is not yet complete. It is possible to write some more advanced rules by directly editing the rules file (these rules should then not be edited anymore in the rule editor). Further information for directly editing the file is available on the Enigmail Homepage
In the Sending Preferences you can choose the general model and preferences for encryption.
Convenient Encryption
With these settings, emails are encrypted without confirmation whenever possible.
This setup is appropriate, if you just want to improve your privacy by sending emails encyrpted instead of unencrypted if that's possible.
The effect is like sending emails as letters instead of postcards. Unlike postcards, letters usually hide their contents while in transit.
Note however that as with letters you can't be sure that nobody is opening the letter while it is in transit (although, some technical effort is necessary for that).
A concrete risk is that you accidentally use "faked keys" you got from somewhere or somebody claiming that the key belongs to the person you want to send emails to. To avoid this risk, you can either use the trust model of PGP (see below) or you should always verify, whether the fingerprint of a public key is correct.
Manual Encryption
This option allows you to specify the different preferences for encryption according to your needs. You can specify
whether replies to encrypted/signed emails should automatically also be encrypted/signed-
whether to use the trust model of OpenPGP to accept keys (this means that to use a key you either have to sign the key or have enough other people you trust having signed the key).
whether you want to automatically send emails encrypted if all keys are accepted.
whether and when you want to finally confirm sending an email.
If it is important for you that content you send encrypted can't be read by other people or organizations, you should use the manual preferences at least choose the option to accept keys only if you or other people signed them. While this model reduces the risk of using faked keys, it requires that you actively sign keys and declare owner trust using the key managament dialog.
enigmail/lang/sl/ 0000775 0000000 0000000 00000000000 13213001347 0014174 5 ustar 00root root 0000000 0000000 enigmail/lang/sl/am-enigprefs.properties 0000664 0000000 0000000 00000000101 13213001347 0020657 0 ustar 00root root 0000000 0000000 # used in the AccountManager
prefPanel-enigprefs=Varnost OpenPGP
enigmail/lang/sl/enigmail.dtd 0000664 0000000 0000000 00000140710 13213001347 0016461 0 ustar 00root root 0000000 0000000
Varnost OpenPGP)">
POZOR: Ustvarjanje kljuÄa lahko traja veÄ minut. V tem Äasu ne zaprite brskalnika. Ker je generator nakljunÄnih Å¡tevil odvisen od dejavnosti raÄunalnika, je priporoÄljivo npr. aktivno brskati, da bi pospeÅ¡ili ustvarjanje kljuÄa. Ko bo kljuÄ ustvarjen, boste o tem takoj obveÅ¡Äeni.">
' je neveljavno">
OPOMBA: Tvorba kljuÄa lahko traja nekaj minut. Ne zaprite aplikacije, medtem ko je tvorba kljuÄa v teku. Ko bo kljuÄ izdelan, boste o tem obveÅ¡Äeni.">
Opomba: Enigmail bo vedno preverjal podpise
e-sporoÄil za vsak raÄun ali identiteto, ne glede na to, ali je omogoÄeno ali ne">
javni kljuÄ je za druge, da vam poÅ¡ljejo Å¡ifrirana gesla. Razdelite ga lahko komerkoli.">
zasebni kljuÄ je za vas, da deÅ¡ifrirate to e-poÅ¡to in poÅ¡ljete podpisano e-poÅ¡to.
Nikomur ga ne smete dati.">
zasebni kljuÄ je za vas, da deÅ¡ifrirate to e-poÅ¡to in poÅ¡ljete podpisano e-poÅ¡to.
Nikomur ga ne smete dati.
Da zavarujete svoj javni kljuÄ, boste pozvani za geslo v naslednjih dveh pogovornih oknih.">
Geslo zaÅ¡Äiti vaÅ¡ zasebni kljuÄ in prepreÄi njegovo zlorabo.">
Za to boste pozvani za vnos gesla.">
izvozite podatke s starega raÄunalnika s Äarovnikom za varnostno kopiranje iz nastavitev Enigmailuvozite podatke v nov raÄunalnik s tem Äarovnikom.
">
Hvala, ker uporabljate Enigmail.">
izvozite podatke s starega raÄunalnika s tem Äarovnikomuvozite podatke v nov raÄunalnik s Äarovnikom za namestitev.
">
enigmail/lang/sl/enigmail.properties 0000664 0000000 0000000 00000112257 13213001347 0020107 0 ustar 00root root 0000000 0000000 Enigmail=Enigmail
enigAlert=Enigmail – opozorilo
enigConfirm=Enigmail – potrditev
enigError=Enigmail – napaka
enigPrompt=Enigmail – prompt
dlgYes=&Da
dlgNo=&Ne
dlgKeepSetting=Zapomni si odgovor in ne spraÅ¡uj veÄ
dlgNoPrompt=Tega pogovornega okna ne pokaži nikoli veÄ
dlg.button.delete=I&zbriši
dlg.button.cancel=Pre&kliÄi
dlg.button.close=&Zapri
dlg.button.continue=&Nadaljuj
dlg.button.skip=Pres&koÄi
dlg.button.overwrite=&Prepiši
dlg.button.view=&Pokaži
dlg.button.retry=Poskusi &znova
dlg.button.ignore=&Prezri
repeatPrefix=\n\nTo sporoÄilo se bo ponovilo %S
repeatSuffixSingular=-krat.
repeatSuffixPlural=-krat.
noRepeat=\n\nTo sporoÄilo se ne bo ponovilo vse do nadgradnje Enigmaila.
pgpNotSupported=Kot kaže, uporabljate Enigmail skupaj s PGP 6.x.\n\nŽal povzroÄa PGP 6.x nekatere težave, ki onemogoÄajo, da bi Enigmail deloval pravilno. Zato Enigmail PGP 6.x ni veÄ podprt. V prihodnosti raje uporabite GnuPG (GPG).\n\nÄŒe za prehod na GPG potrebujete podporo, obiÅ¡Äite stran PomoÄ/Help na domaÄi strani Enigmail.
initErr.howToFixIt=Za uporabo Enigmaila je zahtevan GnuPG. ÄŒe ga Å¡e niste namestili, je najlažji naÄin za namestitev uporaba spodnjega gumba "ÄŒarovnik za namestitev".
initErr.setupWizard.button=&ÄŒarovnik za namestitev
passphraseCleared=Geslo je bilo izbrisano.
cannotClearPassphrase=Za ravnanje z gesli uporabljate neobiÄajno orodje (kot je gnome-keyring). V Enigmailu zatorej ne morete poÄistiti gesla.
noPhotoAvailable=Na voljo ni nobene fotografije
debugLog.title=Enigmail Debug Log
error.photoPathNotReadable=Pot slike '%S' ni berljiva
# Strings in configure.jsm
enigmailCommon.versionSignificantlyChanged=Nova razliÄica Enigmaila ima pomembne spremembe ravnanja z nastavitvami in možnostmi. Stare nastavitve smo poskusili prenesti na novo razliÄico. Vendar pa ne moremo samodejno zadostiti vsem primerom. Ponovno preverite nastale nove nastavitve in možnosti.
enigmailCommon.checkPreferences=Preveri nastavitve ...
preferences.defaultToPgpMime=Privzeto kodiranje sporoÄil smo v Enigmailu spremenili iz vdelanega PGP-ja v PGP/MIME. PriporoÄamo, da ga ohranite kot privzetega.\n\nÄŒe Å¡e vedno želite privzeto uporabljati vdelan PGP, to lahko storite v nastavitvah raÄuna pod Varnost OpenPGP.
usingVersion=Uporabljate Enigmail razliÄice %S
usingAgent=Za šifriranje in dešifriranje uporabi %S izvršilno datoteko %S
agentError=NAPAKA: Dostop do storitve Enigmail ni uspel!
accessError=Napaka pri dostopu do storitve Enigmail
onlyGPG=Ustvarjanje kljuÄa deluje le z GnuPG (ne pa tudi z PGP)!
keygenComplete=Ustvarjanje kljuÄa je konÄano! Za podpisovanje bo uporabljena identiteta <%S>
revokeCertRecommended=Nadvse priporoÄamo, da za svoj kljuÄ ustvarite certifikat za preklic. Ta certifikat lahko uporabite za preklic svojega kljuÄa, npr. Äe vaÅ¡ skrivni kljuÄ izgubite ali je v nevarnosti. Želite zdaj ustvariti tak certifikat za preklic?
keyMan.button.generateCert=&Ustvari certifikat
genCompleteNoSign=Ustvarjanje kljuÄa je konÄano!
genGoing=Ustvarjanje kljuÄa je v teku!
passNoMatch=Geslo ni ustrezno; prosimo, ponovite vnos.
passCheckBox=ÄŒe ne uporabljate gesla za kljuÄ, potem prosim oznaÄite ustrezno možnost.
passUserName=Prosimo, podajte imena uporabnikov za to identiteto.
keygen.missingUserName=Za izbrani raÄun/identiteto ni navedenega imena. V polje "vaÅ¡e ime" v nastavitvah raÄuna vnesite vrednost.
keygen.passCharProblem=V svojem geslu uporabljate posebne znake. Na žalost lahko to povzroÄi težave pri ostalih programih. PriporoÄamo, da izberete geslo s samo naslednjimi znaki:\n a-z A-Z 0-9 /.;:-,!?(){}[]%*
passSpaceProblem=VaÅ¡e geslo se iz tehniÄnih razlogov ne sme zaÄeti ali konÄati s presledkom.
changePassFailed=Sprememba gesla ni uspela.
keyConfirm=Ustvari javni in skriti kljuÄ za '%S'?
keyMan.button.generateKey=&Ustvari kljuÄ
keyAbort=Prekinem ustvarjanje kljuÄa?
keyMan.button.generateKeyAbort=&Ustavi tvorbo kljuÄa
keyMan.button.generateKeyContinue=&Nadaljuj s tvorbo kljuÄa
expiryTooLong=Ne morete ustvariti kljuÄa, ki postane neveljaven kasneje kot v 100 letih.
expiryTooLongShorter=KljuÄa, ki poteÄe Äez veÄ kot 90 let, ne morete ustvariti.
expiryTooShort=VaÅ¡ kljuÄ mora biti veljaven najmanj en dan.
dsaSizeLimit=Podpisni kljuÄi DSA so omejeni na 3072 bitov. Velikost kljuÄa bo zato ustrezno zmanjÅ¡ana.
keyGenFailed=Ustvarjanje kljuÄa ni uspelo. Prosimo, za podrobnosti preverite konzolo Enigmail (Meni Enigmail > RazhroÅ¡Äevanje Enigmail).
setKeyExpirationDateFailed=Datuma prenehanja veljavnosti ni mogoÄe spremeniti
# Strings in enigmailMessengerOverlay.js
securityInfo=Varnostne informacije Enigmail\n\n
enigHeader=Enigmail:
enigContentNote=Enigmail: *Priloge temu sporoÄilu niso podpisane ali Å¡ifrirane*\n\n
possiblyPgpMime=Najverjetneje Å¡ifrirano ali podpisano sporoÄilo PGP/MIME; za preverjanje kliknite gumb DeÅ¡ifriraj
noDecrypted=Nobenega deÅ¡ifriranega sporoÄila ni mogoÄe najti za shranjevanje!\nUporabite shranjevanje v meniju Datoteka
noMessage=Za shranjevanje ni na voljo nobenega sporoÄila\\!
useButton=Kliknite DeÅ¡ifriraj/Preveri za deÅ¡ifriranje sporoÄila
saveHeader=Enigmail: Shrani deÅ¡ifrirano sporoÄilo
saveAttachmentHeader=Enigmail: Shrani dešifrirano priponko
noTempDir=Ni mogoÄe najti nobene zaÄasne mape za pisanje.\nProsimo, doloÄite sistemsko spremenljivko TEMP.
attachmentPgpKey=Priloga '%S', ki jo odpirate, je najverjetneje kljuÄ OpenPGP.\n\nKliknite 'Uvozi' za uvoz vsebovanega kljuÄa ali 'Pokaži', Äe si želite vsebino datoteke ogledati v oknu brskalnika.
beginPgpPart=********* *ZACETEK SIFRIRANEGA ali PODPISANEGA DELA* *********
endPgpPart=********** *KONEC SIFRIRANEGA ali PODPISANEGA DELA* **********
notePartEncrypted=Enigmail: *Deli sporocila NISO bili podpisani ali sifrirani*
noteCutMessage=Enigmail: *Najdenih je veÄ blokov sporoÄila -- deÅ¡ifriranje/preverjanje prekinjeno*
decryptOkNoSig=Pozor\n\nDeÅ¡ifriranje je bilo uspeÅ¡no, a podpisa ni mogoÄe preveriti.
msgOvl.button.contAnyway=&Vseeno nadaljuj
signature.verifiedOK=Podpis za priponko %S je bil uspešno preverjen.
signature.verifyFailed=Podpisa za priponko %S ni bilo mogoÄe preveriti.
attachment.noMatchToSignature=Priponka '%S' se ne ujema z datoteko podpisa
attachment.noMatchFromSignature=Datoteka podpisa '%S' se ne ujema s priponko
fixBrokenExchangeMsg.failed=SporoÄila ni uspelo popraviti.
keysToExport=Izberi kljuÄe OpenPGP za vstavljanje
keysToUse=Izberi kljuÄe OpenPGP za uporabnika %S
pubKey=Javni kljuÄ za %S\n
windowLocked=Urejevalno okno je zaklenjeno; pošiljanje je bilo prekinjeno
sendUnencrypted=Inicializacija Enigmaila ni uspela.\nPoÅ¡ljem sporoÄilo neÅ¡ifrirano?
composeSpecifyEmail=Vnesite prosim glavni e-poÅ¡tni naslov, ki je potreben za izbor podpisnega kljuÄa za odhodna sporoÄila.\nÄŒe ne podate nobenega naslova, bo e-poÅ¡tni naslov v polju OD sporoÄila prepuÅ¡Äen izbiri kljuÄa.
sendingHiddenRcpt=To sporoÄilo ima prejemnike v polju BCC (skrita kopija). ÄŒe to sporoÄilo Å¡ifrirate, je mogoÄe skriti prejemnike skrite kopije, vendar uporabniki nekaterih izdelkov (npr. PGP Corp.) ne bodo mogli deÅ¡ifrirati sporoÄila. Zaradi tega priporoÄamo, da se izogibate polju skrite kopije (BCC) v Å¡ifriranih sporoÄilih.
sendWithHiddenBcc=Skrij prejemnike skrite kopije
sendWithShownBcc=Å ifriraj obiÄajno
sendingNews=PoÅ¡iljanje Å¡ifriranega sporoÄila je bilo prekinjeno.\n\nTega sporoÄila ne morete poslati Å¡ifriranega, ker so med prejemniki naslovi noviÄarskih skupin. To sporoÄilo poÅ¡ljite neÅ¡ifrirano.
sendToNewsWarning=Opozorilo: poslali boste Å¡ifrirano sporoÄilo na dopisni seznam.\n\nTega ne priporoÄamo, ker je to smiselno le, Äe lahko vsi Älani skupine deÅ¡ifrirajo sporoÄilo, t.j. sporoÄilo je potrebno deÅ¡ifrirati s kljuÄi vseh Älanov seznama. To sporoÄilo poÅ¡ljite le, Äe dobro veste, kaj poÄnete.\n\nŽelite nadaljevati?
hasHTML=Opozorilo za sporoÄila HTML: \nTo sporoÄilo lahko vsebuje HTML. To lahko onemogoÄi pravilno podpisovanje oz. Å¡ifriranje tega sporoÄila. Da bi to v prihodnje prepreÄili pri poÅ¡iljanju podpisanih sporoÄil, kliknite prosim dvigalko hkrati z gumbom Sestavi oz. Odgovori. Ko sporoÄilo podpiÅ¡ete, odstranite potrditev pri nastavitvah 'Ustvari sporoÄilo kot HTML' s Äimer poÅ¡iljanje sporoÄil HTML trajno prepreÄite.
strippingHTML=SporoÄilo vsebuje kodo HTML, ki bo izgubljena, Äe bo sporoÄilo za podpisovanje oz. Å¡ifriranje pretvorjeno v zgolj tekstovni zapis. Želite nadaljevati?
msgCompose.button.sendAnyway=&Vseeno poÅ¡lji sporoÄilo
attachWarning=Priponke tega sporoÄila niso lokalne, zato jih ni mogoÄe Å¡ifrirati. Za Å¡ifriranje priponk jih najprej shranite lokalno in jih nato dodajte sporoÄilu. Želite kljub temu poslati sporoÄilo?
quotedPrintableWarn=Za kodiranje sporoÄil ste nastavili 'quoted-printable'. To lahko pripelje do nepravilnega Å¡ifriranja in/ali preverjanja vaÅ¡ih sporoÄil.\nŽelite izklopiti nastavitev 'quoted printable'?
minimalLineWrapping=Prelom besedila ste nastavili na %S znakov. Za pravilno šifriranje in podpisovanje mora biti ta vrednost najmanj 68.\nŽelite zdaj vrednost nastaviti na 68?
warning=Opozorilo
signIconClicked=Spremenili ste nastavitve za podpisovanje. Zato za to sporoÄilo niÄ veÄ ne velja (de-)aktivacija podpisovanja skupaj z (de-)aktivacijo Å¡ifriranja.
pgpMime_sMime.dlg.text=Skupaj ste omogoÄili PGP/MIME in S/MIME. Žal ni možno podpreti oba protokola obenem. Izberite, ali želite uporabljati PGP/MIME ali S/MIME.
pgpMime_sMime.dlg.pgpMime.button=Uporabi &PGP/MIME
pgpMime_sMime.dlg.sMime.button=Uporabi &S/MIME
errorKeyUnusable=E-poÅ¡tni naslov ali ID kljuÄa '%S' se ne ujema z veljavnim, ne preteklim kljuÄem OpenPGP.\nZagotovite, da imate veljaven kljuÄ OpenPGP in da nastavitve vaÅ¡ega raÄuna kažejo na ta kljuÄ.
errorOwnKeyUnusable=ID kljuÄa '%S', ki je nastavljen za trenutno identiteto, ne dobavi uporabnega kljuÄa OpenPGP.\n\nZagotovite, da imate veljaven kljuÄ OpenPGP in da vaÅ¡e nastavitve raÄuna nanj kažejo.\nÄŒe vaÅ¡ kljuÄ ni potekel, preverite, ali ste zaupanje lastniku nastavili na polno ali skrajno.
msgCompose.cannotSaveDraft=Napaka med shranjevanjem osnutka
msgCompose.internalEncryptionError=Notranja napaka: obljubljeno Å¡ifriranje onemogoÄeno
msgCompose.internalError=Pojavila se je zaÄetna napaka.
msgCompose.toolbarTxt.signAndEncrypt=To sporoÄilo po podpisano in Å¡ifrirano
msgCompose.toolbarTxt.signOnly=To sporoÄilo bo podpisano
msgCompose.toolbarTxt.encryptOnly=To sporoÄilo bo Å¡ifrirano
msgCompose.toolbarTxt.noEncryption=To sporoÄilo bo nepodpisano in neÅ¡ifrirano
msgCompose.toolbarTxt.disabled=Za izbrano identiteto je Enigmail onemogoÄen
msgCompose.toolbarTxt.smime=S/MIME je omogoÄen - morda neskladno z Enigmail
msgCompose.toolbarTxt.smimeOff=- S/MIME se zatorej ne uporablja
msgCompose.toolbarTxt.smimeSignOrEncrypt=S/MIME je omogoÄen - Enigmail se zatorej ne uporablja
msgCompose.toolbarTxt.smimeNoDraftEncryption=– osnutki ne bodo šifrirani
msgCompose.toolbarTxt.smimeConflict=Engmail se ne uporablja, ker je S/MIME trenutno omogoÄen. Izklopite podpisovanje S/MIME in/ali Å¡ifriranje in potem omogoÄite Å¡ifriranje Enigmail
msgCompose.encryptedSubjectStub=Å ifrirano sporoÄilo
msgCompose.detailsButton.label=Podrobnosti …
msgCompose.detailsButton.accessKey=P
# note: should end with double newline:
sendAborted=Pošiljanje je bilo prekinjeno.\n\n
# details:
keyNotTrusted=Premalo zaupanja za kljuÄ '%S'
keyNotFound=KljuÄa '%S' ni mogoÄe najti
keyRevoked=KljuÄ '%S' je preklican
keyExpired=KljuÄ '%S' je potekel
statPGPMIME=PGP/MIME
statSigned=PODPISANO
statEncrypted=Å IFRIRANO
statPlain=NEPODPISANO in NEÅ IFRIRANO
offlineSave=Želite shraniti sporoÄilo %S, namenjeno %S, v mapo 'Neodposlana sporoÄila'?
onlineSend=Želite poslati sporoÄilo %S prejemniku %S?
encryptKeysNote=Napotek\\: SporoÄilo je Å¡ifrirano z naslednjimi kljuÄi identitete uporabnikov\\: %S
hiddenKey=
signFailed=Napaka v programu Enigmail; Å¡ifriranje oz. podpisovanje ni uspelo. Želite poslati sporoÄilo nezavarovano?
msgCompose.button.sendUnencrypted=&PoÅ¡lji neÅ¡ifrirano sporoÄilo
recipientsSelectionHdr=Izberite prejemnika šifriranja
configureNow=Varnosti Enigmail za izbrano identiteto še niste nastavili. Želite to zdaj storiti?
# encryption/signing status and associated reasons:
encryptMessageAuto=Å ifriraj sporoÄilo (samodejno)
encryptMessageNorm=Å ifriraj sporoÄilo
signMessageAuto=PodpiÅ¡i sporoÄilo (samodejno)
signMessageNorm=PodpiÅ¡i sporoÄilo
encryptOff=Å ifriranje: IZKLJUÄŒENO
encryptOnWithReason=Å ifriranje: VKLJUÄŒENO (%S)
encryptOffWithReason=Å ifriranje: IZKLJUÄŒENO (%S)
encryptOn=Å ifriranje: VKLJUÄŒENO
signOn=Podpisovanje: VKLJUÄŒENO
signOff=Podpisovanje: IZKLJUÄŒENO
signOnWithReason=Podpisovanje: VKLJUÄŒENO (%S)
signOffWithReason=Podpisovanje: IZKLJUÄŒENO (%S)
reasonEnabledByDefault=privzeto omogoÄeno
reasonManuallyForced=roÄno vsiljeno
reasonByRecipientRules=vsiljeno s pravili prejemnika
reasonByAutoEncryption=vsiljeno s samo-šifriranjem
reasonByConflict=zaradi spora v pravilih prejemnika
reasonByEncryptionMode=zaradi naÄina Å¡ifriranja
reasonSmimeConflict=ker je namesto tega omogoÄen S/MIME
# should not be used anymore:
encryptYes=SporoÄilo bo Å¡ifrirano
encryptNo=SporoÄilo ne bo Å¡ifrirano
# should not be used anymore:
signYes=SporoÄilo bo podpisano
signNo=SporoÄilo ne bo podpisano
# PGP/MIME status:
pgpmimeNormal=Protokol: PGP/MIME
inlinePGPNormal=Protokol: vdelan PGP
pgpmimeAuto=Protokol: PGP/MIME (samodejno)
inlinePGPAuto=Protokol: vdelan PGP (samodejno)
# should not be used anymore
pgpmimeYes=Uporabljen bo PGP/MIME
pgpmimeNo=Uporabljen bo vrinjen PGP
# Attach own key status (tooltip strings):
attachOwnKeyNo=VaÅ¡ lasten kljuÄ ne bo pripet
attachOwnKeyYes=VaÅ¡ lasten kljuÄ bo pripet
attachOwnKeyDisabled=VaÅ¡ega lastnega kljuÄa ni mogoÄe pripeti. Izbrati morate doloÄen kljuÄ\nv odseku OpenPGP v nastavitvah raÄuna, da omogoÄite to znaÄilnost.
rulesConflict=Najdena so nasprotujoÄa si pravila za prejemnika\n%S\n\nŽelite poslati sporoÄilo s temi nastavitvami?
msgCompose.button.configure=Pri&lagodi
msgCompose.button.send=&PoÅ¡lji sporoÄilo
msgCompose.button.save=&Shrani sporoÄilo
# Strings in enigmailMsgHdrViewOverlay.js
keyNeeded=Za preverjanje podpisa potrebujete javni kljuÄ %S
keyUsed=Javni kljuÄ %S, ki se uporablja za preverjanje podpisa
clickDecrypt=; kliknite na gumb Dešifriraj
clickDecryptRetry=; za ponoven poskus kliknite na ikono šifriranja
clickDetailsButton=; za veÄ informacij kliknite na gumb 'Podrobnosti'
clickImportButton=; za prenos kljuÄa kliknite na gumb 'Uvozi kljuÄ'
keyTypeUnsupported=; vaÅ¡a razliÄica GnuPG ne podpira te vrste kljuÄa
msgPart=Del sporoÄila %S
msgSigned=podpisan
msgSignedUnkownKey=podpisano z neznanim kljuÄem
msgEncrypted=šifriran
msgSignedAndEnc=podpisan in šifriran
unverifiedSig=Podpis ni preverjen
incompleteDecrypt=Dešifriranje je bilo nepopolno
needKey=Napaka - Za deÅ¡ifriranje je potreben skrivni kljuÄ
failedDecrypt=Napaka - Dešifriranje ni uspelo
badPhrase=Napaka - NapaÄno geslo
failedDecryptVerify=Napaka - Dešifriranje/preverjanje ni uspelo
viewInfo=; Za podrobnosti izberite Pogled > Informacije o varnosti sporoÄila
decryptedMsg=DeÅ¡ifrirano sporoÄilo
decryptedMsgWithFormatError=DeÅ¡ifrirano sporoÄilo (obnovljena pokvarjena oblika e-poÅ¡te PGP, ki jo je povzroÄil star strežnik Exchange, tako da rezultat verjetno ne bo popoln za branje)
usedAlgorithms=Uporabljeni algoritmi: %S in %S
# strings in pref-enigmail.js
oldGpgVersion14=ZaÄenjanje Enigmaila je spodletelo.\n\nUporabljate razliÄico GnuPG-ja %S, ki ni veÄ podprta. Enigmail zahteva GnuPG razlliÄice 2.0.7 ali novejÅ¡o. Nadgradite svojo namestitev GnuPG-ja ali pa Enigmail ne bo deloval.
locateGpg=Najdi program GPG
invalidGpgPath=GnuPG ni mogoÄe izvrÅ¡iti s podano potjo. OpenGPG je zatorej deaktiviran, dokler znova ne spremenite poti do GnuPG ali ponovno ne zaženete aplikacije.
warningsAreReset=Vsa opozorila so bila ponastavljena.
prefs.gpgFound=GnuPG se nahaja v %S
prefs.gpgNotFound=Ni mogoÄe najti programa GnuPG
prefs.warnAskNever=Opozorilo: z aktivacijo te možnosti boste povzroÄili neÅ¡ifrirana e-sporoÄila brez dodatnih opozoril, Äe kljuÄ za enega od prejemnikov ne obstaja -- Enigmail vas o tem ne bo opozarjal!
prefs.warnIdleTimeForUnknownAgent=VaÅ¡ sistem uporablja specializirano orodje za ravnanje z gesli, kot sta gnome-keyring ali seahorse-agent. Žal OpenGPG ne more nadzorovati Äasovne prekoraÄitve gesla za orodje, ki ga uporabljate. Zato se ustrezne nastavitve Äasovne prekoraÄitve v Enigmail ne upoÅ¡tevajo.
prefEnigmail.oneKeyserverOnly=Napaka - navedete lahko le en strežnik kljuÄev za samodejno prenaÅ¡anje manjkajoÄih kljuÄev OpenPGP.
enterAdminPin=Prosimo, vtipkajte ADMIN PIN svoje pametne kartice
enterCardPin=Prosimo, vtipkajte PIN svoje pametne kartice
notInit=Napaka - Storitev Enigmail še ni nastavljena
badCommand=Napaka - Å ifriranje ni uspelo
cmdLine=ukazna vrstica in izpis\\:
notRequired=Napaka - Å ifriranje ni potrebno
notComplete=Napaka - Ustvarjanje kljuÄa Å¡e ni dokonÄano
invalidEmail=Napaka - Neveljaven(i) e-poštni naslov(i)
noPassphrase=Napaka – Niste vnesli gesla
noPGPblock=Napaka – Ni nobenega veljavnega bloka OpenPGP
unverifiedReply=Del sporoÄila (odgovor) je bil morda spremenjen
keyInMessageBody=Najdena kljuÄ in telo sporoÄila. Kliknite 'Uvozi kljuÄ', da ga uvozite
sigMismatch=Napaka – Podpis ni pravilen
cantImport=Napaka pri uvozu javnega kljuÄa\n\n
doImportOne=Uvozi %1$S (%2$S)?
doImportMultiple=Uvozi naslednje kljuÄe?\n\n%S
previewFailed=Javnega kljuÄa ni mogoÄe brati.
# Strings used in errorHandling.jsm
sc.wrongCardAvailable=Pametne kartice %S, ki je v bralniku, ni mogoÄe uporabiti za obdelavo sporoÄila.\nProsimo, vstavite pametno kartico %S in ponovite postopek.
sc.insertCard=Postopek zahteva vašo pametno kartico %S.\nProsimo, vstavite zahtevano pametno kartico in ponovite postopek.
sc.removeCard=Postopek ne potrebuje prisotnosti pametne kartice v bralniku.\nProsimo, odstranite svojo pametno kartico in ponovite postopek.
sc.noCardAvailable=V vašem bralniku ni nobene pametne kartice.\nProsimo, vstavite svojo pametno kartico in ponovite postopek.
sc.noReaderAvailable=Vaš bralnik pametnih kartic ni dosegljiv.\nProsimo, povežite svoj bralnik pametnih kartic, vstavite kartico in ponovite postopek.
keyError.keySpecNotFound=E-poÅ¡tnega naslova "%S" ni mogoÄe ujemati s kljuÄem na vaÅ¡i verigi.
keyError.keyIdNotFound=Nastavljenega ID kljuÄa "%S" ni mogoÄe najti na vaÅ¡i verigi.
keyError.resolutionAction=Izberte veljaven kljuÄ v odseku OpenPGP v nastavitvah raÄuna.
missingPassphrase=Manjka geslo
errorHandling.gpgAgentInvalid=VaÅ¡ sistem izvaja razliÄico gpg-agenta, ki ni primerna za vaÅ¡o razliÄico GnuPG-ja.
errorHandling.gpgAgentError=GnuPG je sporoÄil napako v komunikaciji z gpg-agentom (sestavni del GnuPG-ja).
errorHandling.dirmngrError=GnuPG je sporoÄil napako v komunikaciji z dirmngr-jem (sestavni del GnuPG-ja).
errorHandling.pinentryError=GnuPG ne more poizvedeti za vaše geslo preko vnosa PIN-a.
errorHandling.readFaq=To je napaka namestitve ali nastavitve sistema, ki prepreÄuje pravilno delovanje Enigmaila in se je ne da samodejno popraviti.\n\nZelo priporoÄamo, da se posvetujete z naÅ¡o spletno stranjo za podporo na https://enigmail.net/faq.
gpgNotFound=Ni mogoÄe najti programa GnuPG '%S'.\nPreverite, da je pot do programa GnuPG v nastavitvah Enigmail podana pravilno.
gpgNotInPath=Na podani poti PATH ni mogoÄe najti programa GnuPG.\nPreverite, da je pot do programa GnuPG v nastavitvah Enigmail podana pravilno.
enigmailNotAvailable=Glavna storitev Enigmaila ni na voljo
gpgAgentNotStarted=Ni mogoÄe zagnati programa gpg-agent, ki je potreben za GnuPG razliÄice %S.
prefUntrusted=NI VREDEN ZAUPANJA
prefRevoked=RAZVELJAVLJEN
prefExpiredKey=KLJUČ JE POTEKEL
prefExpired=POTEKEL
prefGood=Pravilen podpis %S
prefBad=NAPAÄŒEN podpis %S
failCancel=Napaka - Uporabnik je prekinil sprejem kljuÄa
failNoServer=Napaka - Strežnik kljuÄev ni podan
failNoID=Napaka - Ni bila podana identiteta kljuÄa
failKeyExtract=Napaka - Ekstrakcija kljuÄa ni uspela
notFirstBlock=Napaka - Prvi blok OpenPGP ni javni blok kljuÄa
importKeyConfirm=Želite uvoziti v sporoÄilu vsebovani javni kljuÄ?
failKeyImport=Napaka - KljuÄa ni mogoÄe uvoziti
fileWriteFailed=Pisanje v datoteko %S ni mogoÄe
importKey=Uvažam javni kljuÄ %S s strežnika kljuÄev\\:
uploadKey=PoÅ¡lji javni kljuÄ %S na strežnik kljuÄev:
keyId=ID kljuÄa
keyAndSigDate=ID kljuÄa: 0x%S / Podpisano: %S
keyFpr=Prstni odtis kljuÄa: %S
noEmailProvided=Niste vnesli e-poštnega naslova!
keyAlreadySigned=KljuÄ je že podpisan, ne morete ga podpisati dvakrat.
gnupg.invalidKey.desc=KljuÄ %S ni veljaven ali ga ni mogoÄe najti. (Pod)kljuÄ je morda potekel.
selKeyExpired=veljavnost %S je potekla
createdHeader=Ustvarjen
atLeastOneKey=Niste izbrali nobenega kljuÄa\\! Izbrati morate vsaj en kljuÄ.
fewerKeysThanRecipients=Izbrali ste manjÅ¡e Å¡tevilo kljuÄev, kot je prejemnikov. Ste prepriÄani, da je seznam kljuÄev za Å¡ifriranje popoln?
userSel.button.goBack=Izberite veÄ kljuÄev
userSel.secretKeySel.title=Izberite skrivni kljuÄ OpenPGP, s katerim boste podpisovali svoja sporoÄila
userSel.problemNoKey=Ni veljavnega kljuÄa.
userSel.problemMultipleKeys=VeÄ kljuÄev
# should be same as thunderbird ENTITY sendLaterCmd.label:
sendLaterCmd.label=Pošlji kasneje
# Strings used in enigmailAttachmentDialog.js
pgpMimeNote=OPOMBA: PGP/MIME podpira le omejeno Å¡tevilo odjemalcev e-poÅ¡te\\! V okolju Windows ta standard podpirajo le Mozilla/Thunderbird, Sylpheed, Pegasus in Mulberry; v okoljih Linux/UNIX in Mac OS X ga podpira veÄina popularnih odjemalcev za e-poÅ¡to. ÄŒe niste prepriÄani, kaj storiti, se odloÄite za %S izbiro.
first=prvi
second=drugi
# Strings used in am-enigprefs.js
encryptKeyHeader=Izberite kljuÄ OpenPGP za Å¡ifriranje
identityName=Identiteta: %S
# Strings used in enigmailSingleRcptSettings.js
noEncryption=Vklopili ste Å¡ifriranje, niste pa izbrali nobenega kljuÄa. Da bi poÅ¡iljali %S Å¡ifrirana sporoÄila, morate izbrati enega ali veÄ veljavnih kljuÄev. Želite izklopiti Å¡ifriranje?
noKeyToUse=(brez - ne zaklepaj)
noEmptyRule=Pravila ne smejo biti prazna. Prosimo, vnesite vsaj en e-poštni naslov.
invalidAddress=Vneseni e-poÅ¡tni naslovi niso veljavni. Ne smete vnesti imen prejemnikov, temveÄ zgolj e-poÅ¡tne naslove. Primer:\nNeveljavno: Janez Kranjski \nPravilno: janez.kranjski@domena.si
noCurlyBrackets=Oklepaja {} imata poseben pomen in se ne smeta uporabljati v e-poÅ¡tnih naslovih. ÄŒe želite spremeniti pravila za prejemnike, potem izberite možnost 'Uporabi pravilo, Äe prejemnik ...'.\nVeÄ informacij dobite na gumbu PomoÄ.
# Strings used in enigmailRulesEditor.js
never=nikoli
always=vedno
possible=ko je mogoÄe
deleteRule=Želite izbrisati izbrana pravila?
nextRcpt=(naslednji prejemnik)
negateRule=ne
addKeyToRule=Dodaj kljuÄ %1$S (%2$S) pravilu za uporabnika
# Strings used in enigmailSearchKey.js
needOnline=Funkcija, ki ste jo izbrali, ni na voljo v naÄinu brez povezave. Prosimo, povežite se in poskusite znova.
protocolNotSupported=Protokol '%S://', ki ste ga izbrali, ni podprt za prenos kljuÄev OpenPGP.
gpgkeysDisabled=Pomagalo bo, Äe omogoÄite izbiro 'extensions.enigmail.useGpgKeysTool'.
noKeyserverConn=Ni se mogoÄe povezati s strežnikom kljuÄev na naslovu %S.
keyDownloadFailed=Prenos kljuÄa s strežnika kljuÄev ni uspel. SporoÄilo o stanju se glasi:\n%S
internalError=PriÅ¡lo je do notranje napake. KljuÄev ni bilo mogoÄe prenesti ali uvoziti.
noKeyFound=Oprostite, a ni mogoÄe najti nobenega kljuÄa, ki bi ustrezal navedenemu e-poÅ¡tnemu naslovu.
# gpgkeys_%S is one of the gpg command line tools gpgkeys_hkp, gpgkeys_ldap, etc.
gpgKeysFailed=Iskanje ali prenos kljuÄa s strežnika kljuÄev: gpgkeys_%S ni bilo mogoÄe izvesti.
# Strings in enigmailEditKeyTrustDlg.xul
setKeyTrustFailed=Nastavljanje zaupanja kljuÄa ni uspelo
# Strings in enigmailSignKeyDlg.js
signKeyFailed=Podpisovanje kljuÄa ni uspelo
alreadySigned.label=Opomnik: kljuÄ %S je že podpisan z izbranim skrivnim kljuÄem.
alreadySignedexportable.label=Opomba: kljuÄ %S je že podpisan za izvažanje z izbranim zasebnim kljuÄem. Lokalni podpis ni smiseln.
partlySigned.label=Opomba: nekateri uporabniÅ¡ki ID-ji kljuÄa %S so že podpisani z izbranim skrivnim kljuÄem.
noTrustedOwnKeys=Primernega kljuÄa za podpisovanje ni bilo najdenega! Potrebujete vsaj en popolnega zaupanja vreden kljuÄ za podpisovanje drugih kljuÄev.
# Strings in enigmailKeyManager.js
keyMan.loadingKeys=Poteka nalaganje kljuÄev, prosimo, poÄakajte ...
keyValid.unknown=neznan
keyValid.invalid=neveljaven
keyValid.disabled=onemogoÄen
keyValid.revoked=preklican
keyValid.expired=pretekel
keyValid.noSubkey=ni veljavnega podkljuÄa
keyTrust.untrusted=ni vreden zaupanja
keyTrust.marginal=delno zaupanje
keyTrust.full=zaupanje
keyTrust.ultimate=popolno zaupanje
keyTrust.group=(skupina)
keyType.public=jav
keyType.publicAndSec=jav/skr
keyMan.enableKey=OmogoÄi kljuÄ
keyMan.disableKey=OnemogoÄi kljuÄ
userAtt.photo=Uporabniški atribut (slika JPEG)
asciiArmorFile=Zavarovane datoteke ASCII (*.asc)
importKeyFile=Uvozi datoteko kljuÄa OpenPGP
gnupgFile=Datoteke GnuPG
saveRevokeCertAs=Ustvari in shrani potrdilo o preklicu
revokeCertOK=Potrdilo o preklicu uspeÅ¡no ustvarjeno. Uporabite ga lahko za razveljavitev svojega javnega kljuÄa, npr. Äe bi izgubili svoj skrivni kljuÄ.\n\nProsimo prenesite ga na medij, ki je lahko shranjen na varnem, kot npr. CD ali disketa. ÄŒe kdo pridobi dostop do tega potrdila, ga lahko uporabi za razveljavitev vaÅ¡ega kljuÄa.
revokeCertFailed=Potrdila o preklicu ni bilo mogoÄe ustvariti.
addUidOK=Uporabniška ID uspešno dodana
addUidFailed=Dodajanje uporabniške ID ni uspelo
noKeySelected=Za izvedbo izbrane operacije morate izbrati vsaj en kljuÄ
exportToFile=Izvozi javni kljuÄ v datoteko
exportKeypairToFile=Izvozi tajni in javni kljuÄ v datoteko
exportSecretKey=Želite vkljuÄiti skrivni kljuÄ v shranjeno datoteko kljuÄa OpenPGP?
saveKeysOK=KljuÄi so bili uspeÅ¡no shranjeni
saveKeysFailed=Shranjevanje kljuÄev ni uspelo
importKeysFailed=Uvoz kljuÄev ni uspel
enableKeyFailed=OmogoÄanje/onemogoÄanje kljuÄa ni uspelo
specificPubKeyFilename=%1$S (0x%2$S) jav
specificPubSecKeyFilename=%1$S (0x%2$S) jav-skr
defaultPubKeyFilename=Izvoženi-javni-kljuÄi
defaultPubSecKeyFilename=Izvoženi-javni-in-skrivni-kljuÄi
noSecretKeys=Najdenih ni bilo skrivnih kljuÄev.\n\nŽelite zdaj tvoriti svoj lastni kljuÄ?
sendKeysOk=KljuÄ(i) uspeÅ¡no poslani
sendKeysFailed=PoÅ¡iljanje kljuÄev ni uspelo
receiveKeysOk=KljuÄ(i) uspeÅ¡no posodobljeni
receiveKeysFailed=Prenos kljuÄev ni uspel
importFromClip=Želite uvoziti nekatere kljuÄe iz odložiÅ¡Äa?
importFromUrl=Prenesi javni kljuÄ iz tega URL-ja:
copyToClipbrdFailed=Kopiranje izbranega kljuÄa(-ev) v odložiÅ¡Äe ni uspelo.
copyToClipbrdOK=KljuÄ(i) kopirani v odložiÅ¡Äe
deleteSecretKey=OPOZORILO: Izbrisati želite skrivni kljuÄ!\nÄŒe izbriÅ¡ete svoj skrivni kljuÄ, ne boste veÄ mogli deÅ¡ifrirati sporoÄil, Å¡ifriranih za ta kljuÄ.\n\nResniÄno želite izbrisati OBA, skrivni kljuÄ in javni kljuÄ\n'%S'?
deleteMix=OPOZORILO: Izbrisati želite skrivne kljuÄe!\nÄŒe izbriÅ¡ete svoj skrivni kljuÄ, ne boste veÄ mogli deÅ¡ifrirati sporoÄil, Å¡ifriranih za ta kljuÄ.\n\nResniÄno želite izbrisati OBA, skrivni kljuÄ in javni kljuÄ?
deletePubKey=Želite izbrisati javni kljuÄ\n'%S'?
deleteSelectedPubKey=Želite izbrisati javne kljuÄe?
deleteKeyFailed=KljuÄa ni mogoÄe izbrisati.
revokeKeyQuestion=Ste pred preklicem kljuÄa '%S'.\n\nS tem kljuÄem ne boste mogli veÄ podpisovati in ga porazdelitvi ne boste veÄ mogli uporabljati za Å¡ifriranje. Å e vedno ga lahko uporabljate za deÅ¡ifriranje starih sporoÄil.\n\nAli želite nadaljevati?
revokeKeyOk=KljuÄ je bil preklican. ÄŒe je vaÅ¡ kljuÄ na voljo na strežniku kljuÄev, je priporoÄljivo, da ga ponovno naložite nanj, tako da drugi lahko opazijo preklic.
revokeKeyFailed=KljuÄa ni mogoÄe preklicati.
refreshAllQuestion=Nobenega kljuÄa niste izbrali. Bi radi osvežili VSE kljuÄe?
refreshKey.warn=Opozorilo: glede na Å¡tevilo kljuÄev in hitrost povezave je lahko osveževanje vseh kljuÄev razmeroma dolg postopek!
downloadContactsKeys.warn=Opozorilo: glede na Å¡tevilo stikov in hitrost povezave je prenos vseh kljuÄev lahko zelo dolg postopek!
downloadContactsKeys.importFrom=Želite uvoziti stike iz adresarja '%S'?
keyMan.button.exportSecKey=&Izvozi skrivne kljuÄe
keyMan.button.exportPubKey=Izvozi le &javne kljuÄe
keyMan.button.import=&Uvozi
keyMan.button.refreshAll=&Osveži vse kljuÄe
keyMan.button.revokeKey=&PrekliÄi kljuÄ
keyMan.button.skip=Pre&skoÄi kljuÄ
keylist.noOtherUids=Nima drugih identitet
keylist.hasOtherUids=Znan(a) tudi kot
keylist.noPhotos=Fotografija ni na voljo
keylist.hasPhotos=Fotografije
keyMan.addphoto.filepicker.title=Izberite fotografijo za dodajanje
keyMan.addphoto.warnLargeFile=Datoteka, ki ste jo izbrali, je veÄja od 25kB.\nNe priporoÄamo, da dodajate velike datoteke, ker se s tem zelo poveÄujejo kljuÄi.
keyMan.addphoto.noJpegFile=Izbrana datoteka ni datoteka JPEG. Izberite drugo datoteko.
keyMan.addphoto.failed=Slike ni mogoÄe dodati.
# Strings in enigmailManageUidDlg.xul
changePrimUidFailed=Spreminjanje primarnega uporabniške ID ni uspelo
changePrimUidOK=Primarna uporabniška ID uspešno spremenjena
deleteUidFailed=Brisanje uporabniške ID %S ni uspelo
deleteUidOK=Uporabniška ID %S uspešno izbrisana
revokeUidFailed=Preklic uporabniške ID %S ni uspel
revokeUidOK=UporabniÅ¡ka ID %S je bila uspeÅ¡no preklicana. ÄŒe je vaÅ¡ kljuÄ na voljo na strežniku kljuÄev, je priporoÄljivo, da ga ponovno naložite nanj, tako da drugi lahko opazijo preklic.
revokeUidQuestion=ResniÄno želite preklicati uporabniÅ¡ko ID %S?
deleteUidQuestion=ResniÄno želite izbrisati uporabniÅ¡ko ID %S?\n\nProsimo, preberite: Äe ste svoj javni kljuÄ poslali na strežnik kljuÄev, izbris uporabniÅ¡kega ID ne bo niÄesar spremenil. V tem primeru bi morali uporabiti možnost 'PrekliÄi uporabniÅ¡ki ID'.
# Strings in enigmailKeyImportInfo.xul
importInfoTitle=USPEH! KljuÄi uvoženi
importInfoSuccess=✅
importInfoBits=Biti
importInfoCreated=Ustvarjeno
importInfoFpr=Prstni odtis
importInfoDetails=(podrobnosti)
importInfoNoKeys=Noben kljuÄ se ni uvozil.
# Strings in enigmailKeyDetailsDlg.xul
keyTypePublic=javni kljuÄ
keyTypePrimary=primarni kljuÄ
keyTypeSubkey=podkljuÄ
keyTypePair=par kljuÄev
keyExpiryNever=nikoli
keyAlgorithm_1=RSA
keyAlgorithm_2=RSA
keyAlgorithm_3=RSA
keyAlgorithm_16=ELG
keyAlgorithm_17=DSA
keyAlgorithm_18=ECC
keyAlgorithm_19=ECC
keyAlgorithm_20=ELG
keyAlgorithm_22=EDDSA
keyUsageEncrypt=Å ifriraj
keyUsageSign=Podpiši
keyUsageCertify=Potrdi
keyUsageAuthentication=Overjanje
keyDoesNotExpire=KljuÄ ne poteÄe
# Strings in enigmailGenCardKey.xul
keygen.started=Prosimo, poÄakajte, da se ustvari kljuÄ ...
keygen.completed=KljuÄ je bil ustvarjen. ID novega kljuÄa je: 0x%S
keygen.keyBackup=KljuÄ je bil varnostno kopiran kot %S
keygen.passRequired=Prosimo, navedite geslo, Äe želite ustvariti varnostno kopijo svojega kljuÄa zunaj pametne kartice.
# Strings in enigmailSetCardPin.xul
cardPin.dontMatch=PIN, ki ste ga vnesli, se ne ujema; prosimo, vnesite ponovno
cardPin.minLength=PIN mora imeti najmanj %S znakov ali številk
cardPin.processFailed=Sprememba PIN ni uspela
# Strings in enigRetrieveProgres.xul
keyserverProgress.refreshing=Osveževanje kljuÄev je v teku, prosimo, poÄakajte ...
keyserverProgress.uploading=PrenaÅ¡anje kljuÄev je v teku, prosimo, poÄakajte ...
keyserverTitle.refreshing=Osveževanje kljuÄev
keyserverTitle.uploading=Prenos kljuÄev
# Strings in enigmailSetupWizard
passphrase.min8keys=Geslo mora vsebovati najmanj osem znakov!
setupWizard.reallyCancel=ResniÄno želite zapreti namestitvenega Äarovnika Enigmail?
setupWizard.invalidGpg=Datoteka, ki ste jo navedli, ni izvršljiv program GnuPG. Navedite drugo datoteko.
setupWizard.specifyFile=Za nadaljevanje morate navesti vsaj datoteko javnega kljuÄa.
setupWizard.installFailed=Zdi se, da namestitev ni bila uspeÅ¡na. Ponovno poskusite z namestitvijo ali namestite GnuPG roÄno in ga poiÅ¡Äite z gumbom Prebrskaj.
setupWizard.downloadForbidden=Zaradi vaÅ¡e varnosti ne bomo prenesli GnuPG. ObiÅ¡Äite http://www.gnupg.org/ in roÄno prenesite GnuPG.
setupWizard.downloadImpossible=Trenutno ne morete prenesti GnuPG. Poskusite znova kasneje ali obiÅ¡Äite http://www.gnupg.org/ ter odtod prenesite GnuPG.
setupWizard.hashSumError=ÄŒarovnik integritete prenesen datoteke ni uspel preveriti. Datoteka je morda okvarjena ali Å¡kodljivo spremenjena. Želite kljub temu nadaljevati z nameÅ¡Äanjem?
setupWizard.importSettingsFile=Navedite datoteko varnostne kopije za nalaganje
setupWizard.invalidSettingsFile=Navedena datoteka ni pravilna datoteka varnostne kopije nastavitev Enigmaila.
setupWizard.gpgConfExists=Datoteka nastavitev GnuPG že obstaja. Ali jo želite prepisati z datoteko iz stare namestiteve?
# Strings in installGnuPG.jsm
installGnuPG.downloadFailed=Pri prenašanju GnuPG je prišlo do napake. Preverite zapisnik konzole za podrobnosti.
installGnuPG.installFailed=Pri nameÅ¡Äanju GnuPG je priÅ¡lo do napake. Preverite zapisnik konzole za podrobnosti.
# Strings in enigmailAddUidDlg.xul
addUidDlg.nameOrEmailError=Vnesti morate ime in e-poštni naslov
addUidDlg.nameMinLengthError=Ime mora obsegati najmanj pet znakov
addUidDlg.invalidEmailError=Navesti morate veljaven e-poštni naslov
addUidDlg.commentError=V komentarjih oklepaji niso dovoljeni
# Strings in enigmailCardDetails.js
Carddetails.NoASCII=Pametne kartice OpenPGP v imenu podpirajo samo znake ASCII.
# network error types
errorType.SecurityCertificate=Varnostno potrdilo, ki ga izkazuje spletna storitev, ni veljavno.
errorType.SecurityProtocol=Varnostni protokol, ki ga uporablja spletna storitev, ni znan.
errorType.Network=Prišlo je do omrežne napake.
# filter stuff
filter.folderRequired=Izbrati morate ciljno mapo.
filter.decryptMove.label=Dešifriraj za vedno (Enigmail)
filter.decryptCopy.label=Ustvari dešifrirano kopijo (Enigmail)
filter.decryptMove.warnExperimental=Opozorilo - dejanje filtra "Trajno deÅ¡ifriraj" lahko privede do uniÄenih sporoÄil.\n\nZelo priporoÄamo, da najprej poskusite s filtrom "Ustvari deÅ¡ifrirano kopijo", skrbno preskusite rezultat in zaÄnite uporabljati ta filter samo, ko ste zadovoljni z rezultatom.
# strings in enigmailConvert.jsm
converter.decryptBody.failed=SporoÄila z zadevo "%S" ni bilo mogoÄe Å¡ifrirati.\nAli želite ponovno poskusiti z drugim geslom ali želite sporoÄilo preskoÄiti?
converter.decryptAtt.failed=Priponke "%1$S" v sporoÄilu z zadevo\n"%2$S"\nni bilo mogoÄe deÅ¡ifrirati.\nAli želite ponovno poskusiti z drugim geslom ali želite sporoÄilo preskoÄiti?\n
saveLogFile.title=Shrani zapisniško datoteko
# strings in gpg.jsm
unknownSigningAlg=Neznan algoritem podpisovanja (ID: %S)
unknownHashAlg=Neznano šifrirno razpršilo (ID: %S)
# strings in keyRing.jsm
keyring.photo=Fotografija
keyRing.pubKeyRevoked=KljuÄ %1$S (ID kljuÄa %2$S) je bil preklican.
keyRing.pubKeyExpired=KljuÄ %1$S (ID kljuÄa %2$S) je potekel.
keyRing.pubKeyNotForSigning=KljuÄa %1$S (ID kljuÄa %2$S) ni mogoÄe uporabiti za podpisovanje.
keyRing.pubKeyNotForEncryption=KljuÄa %1$S (ID kljuÄa %2$S) ni mogoÄe uporabiti za Å¡ifriranje.
keyRing.keyDisabled=KljuÄ %1$S (ID kljuÄa %2$S) je onemogoÄen; ni ga mogoÄe uporabiti.
keyRing.keyNotTrusted=KljuÄ %1$S (ID kljuÄa %2$S) ni dovolj zaupanja vreden. Za podpisovanje nastavite raven zaupanja na "skrajno".
keyRing.keyInvalid=KljuÄ %1$S (ID kljuÄa %2$S) je neveljaven (ni samopodpisan).
keyRing.signSubKeysRevoked=Vsi podkljuÄi za podpisovanje kljuÄa %1$S (ID kljuÄa %2$S) so bili preklicani.
keyRing.signSubKeysExpired=Vsi podkljuÄi za podpisovanje kljuÄa %1$S (ID kljuÄa %2$S) so potekli.
keyRing.signSubKeysUnusable=Vsi podkljuÄi za podpisovanje kljuÄa %1$S (ID kljuÄa %2$S) so potekli, bili preklicani ali so drugaÄe neuporabni.
keyRing.encSubKeysRevoked=Vsi podkljuÄi za Å¡ifriranje kljuÄa %1$S (ID kljuÄa %2$S) so bili preklicani.
keyRing.encSubKeysExpired=Vsi podkljuÄi za Å¡ifriranje kljuÄa %1$S (ID kljuÄa %2$S) so potekli.
keyRing.noSecretKey=Videti je, da nimate skrivnostnega kljuÄa za %1$S (ID kljuÄa %2$S) na svoji verigi; kljuÄa ne morete uporabiti za podpisovanje.
keyRing.encSubKeysUnusable=Vsi podkljuÄi za Å¡ifriranje kljuÄa %1$S (ID kljuÄa %2$S) so potekli, bili preklicani ali so drugaÄe neuporabni.
#strings in exportSettingsWizard.js
cannotWriteToFile=Ni mogoÄe shraniti v datoteko '%S'. Izberite drugo datoteko.
dataExportError=Med izvažanjem podatkov se je pojavila napaka.
enigmailSettings=Nastavitve Enigmail
defaultBackupFileName=Izvoz Enigmail
specifyExportFile=Navedite ime datoteke za izvoz
homedirParamNotSUpported=Dodatni parametri, ki doloÄajo poti, kot je --homedir in --keyring, niso podprti za izvažanje/obnavljanje nastavitev. Uporabite nadomestne naÄine, kot je nastavitev spremenljivke okolja GNUPGHOME.
#strings in expiry.jsm
expiry.keyExpiresSoon=VaÅ¡ kljuÄ %1$S bo potekle Äez %2$S dni.\n\nPriporoÄamo, da ustvarite nov par kljuÄev in ustrezne raÄune nastavite za njihovo uporabo.
expiry.keysExpireSoon=Naslednji kljuÄi bodo v manj kot %1$S-ih dneh potekli:\n%2$S. PriporoÄamo, da ustvarite nove in svoje raÄune nastavite za njihovo uporabo.
# msgCompose.partiallyEncrypted.short=Beware of leaking sensitive information - partially encrypted email.
# msgCompose.partiallyEncrypted.long=The message you are editing was partially encrypted. That is, the message contains unencrypted and encrypted parts. Some encrypted message parts may even be invisible to you.\n\nIf the sender was not able to decrpyt the message parts originally, it is likely that you only got the email with some surrounding unencrypted text in order to make you reveal the encrypted information.
enigmail/lang/sl/help/ 0000775 0000000 0000000 00000000000 13213001347 0015124 5 ustar 00root root 0000000 0000000 enigmail/lang/sl/help/compose.html 0000664 0000000 0000000 00000007467 13213001347 0017475 0 ustar 00root root 0000000 0000000
PomoÄ za Enigmail: Sestavljanje sporoÄil
PomoÄ za Enigmail
Uporaba Enigmaila pri sestavljanju sporoÄil
Meni Enigmail v oknu Pošta/Sestavi
PodpiÅ¡i sporoÄilo: omogoÄi/onemogoÄi poÅ¡iljanje podpisane poÅ¡te. Uporabnik je obveÅ¡Äen,
Äe podpisovanje ne uspe.
Å ifriraj sporoÄilo: omogoÄi/onemogoÄi Å¡ifriranje vsem prejemnikom pred
poÅ¡iljanjem. Uporabnik je obveÅ¡Äen, Äe Å¡ifriranje ne uspe.
Če je nastavljeno Prikaži izbiro, ko je to potrebno v Nastavitve
-> zavihek Izbira kljuÄa, se pojavi seznam s kljuÄi, Äe so naslovi na voljo
v seznamu prejemnikovi za sporoÄilo, za katerega nimate javnega kljuÄa.
ÄŒe je nastavljeno Nikoli ne prikaži pogovornega okna Izbira kljuÄa OpenPGP v Nastavitve
-> zavihek Izbira kljuÄa in se v seznamu prejemnikov sporoÄila nahajajo naslovi, za katere
nimate javnega kljuÄa, bo sporoÄilo odposlano neÅ¡ifrirano.
Za to sporoÄilo uporabi PGP/MIME: omogoÄi/onemogoÄi uporabo
PGP/MIME
za to sporoÄilo.
Če poznani prejemnik/i lahko berejo pošto z uporabo zapisa PGP/MIME,
bi ga morali uporabiti.
Ta možnost je odvisna od nastavitev v Nastavitve
-> zavihek PGP/MIME - Äe je nastavljeno Dovoli uporabo PGP/MIME ali Vedno uporabi
PGP/MIME.
Privzete možnosti sestavljanja: podmeni.
Možnosti podpisovanja/Å¡ifriranja ...: bližnjica prek Nastavitve raÄuna ->
Možnosti OpenPGP.
Možnosti pošiljanja ...: bližnjica prek Nastavitve ->
zavihek Pošiljanje.
Key selection options...: bližnjica prek Nastavitve ->
zavihek Izbira kljuÄa.
Možnosti PGP/MIME ...: bližnjica prek Nastavitve ->
zavihek PGP/MIME.
Razveljavi Å¡ifriranje: Äe pride do napake pri poÅ¡iljanju sporoÄila,
npr. Äe strežnik POP ne sprejme zahteve, Enigmail o tem ne bo obveÅ¡Äen
in Å¡ifrirano sporoÄilo bo Å¡e naprej prikazano v oknu
Sestavljanje. S to menijsko izbiro boste razveljavili šifriranje/podpisovanje,
s Äimer boste v oknu Sestavljanje besedilov povrnili v izvoren zapis. Kot zaÄasno reÅ¡itev lahko to možnost uporabite tudi za deÅ¡ifriranje citiranega
besedila, ko odgovarjate na Å¡ifrirana sporoÄila. Enigmail bi moral samodejno
deÅ¡ifrirati citirano sporoÄilo, vendar Äe to ne uspe, lahko uporabite to menijsko
izbiro, da ga v to prisilite.
Vstavi javni kljuÄ: vstavi blok javnega kljuÄa z ASCII oklepnikom na
trenutni položaj kazalke v oknu Sestavljanje. Vnesti boste morali e-poštne naslove
kljuÄa(ev), ki naj bodo vstavljeni. Na ta naÄin vstavljeni kljuÄi
bodo samodejno prepoznani na sprejemnem delu Enigmaila. Po vstavljanju
kljuÄa lahko Å¡e vedno izbirate med podpisovanjem/Å¡ifriranjem sporoÄila.
Prav tako v sporoÄilo ne smete vstaviti veÄ kot enega bloka kljuÄa; le
navedite veÄ e-poÅ¡tnih naslovov, loÄenih z vejicami ali presledki, ko
boste po tem povprašani.
Uporaba Urejevalnika pravil Enigmail: Uredi pravilo OpenPGP
V urejevalniku pravil lahko navedete privzete dejavnosti po uporabniku za omogoÄanje
Å¡ifriranja, podpisovanje in PGP/MIME, ter doloÄite, kateri kljuÄ(i) OpenPGP naj bo(do) uporabljen(i). V tem
pogovornem oknu lahko doloÄite pravila za posameznega prejemnika ali za skupino
prejemnikov z zelo podobnimi atributi.
Nastavi pravila OpenPGP za: vsebuje e-poštne
naslove za prejemnike (brez imen, torej le naslove, kot je
nekdo@neka.domena). DoloÄite lahko veÄ e-poÅ¡tnih sporoÄil, loÄenih s presledkom.
Tukaj neveden naslov lahko sestavlja le
del domene, tako da se bo ujemalo vsako sporoÄilo na kateri koli naslov iz te domene,
npr. @neka.domena omogoÄa ujemanje francelj@neka.domena,
nekdodrug@neka.domena, vsakdo@neka.domena itn.
Uporabi pravilo, Äe prejemnik ...:
S tem spremenite ujemanje e-naslovov.
ÄŒe je vnesenih veÄ naslovov, bo nastavitev veljala za vse.
Spodnji primeri temeljijo na body@email.domain,
vnesenem v gornjem polju Pravila OpenPGP.
je enako: s to nastavitvijo se bo pravilo sprožilo le na
e-sporoÄilih za body@email.domain (natanÄno ujemanje, ne razlikuje velikih/malih Ärk).
vsebuje: s to nastavitvijo se ujema vsak e-naslov, ki vsebuje
tak niz,
npr. anybody@email.domain ali body@email.domain.net
se zaÄne z: s to nastavitvijo se ujemajo vsi e-naslovi, ki se zaÄenjajo
z ujemajoÄim nizom, npr. body@email.domain.net,
body@email.domain-name.com.
se konÄa z: s to nastavitvijo se ujemajo vsi e-naslovi, ki se konÄujejo
z ujemajoÄim nizom, npr. anybody@email.domain,
somebody@email.domain.
Nadaljuj z naslednjim pravilom za ujemajoÄi naslov
VkljuÄitev te funkcije vam omogoÄa doloÄanje pravila, ne da bi morali
navesti ID kljuÄa v polje Uporabi naslednje kljuÄe OpenPGP:,
tako da je e-naslov uporabljen za preverjanje kljuÄa ob Äasu
pošiljanja. Prav tako bodo procesirana tudi nadaljna pravila za iste naslove.
Ne preverjaj nadaljnjih pravil za ujemajoÄi naslov
Z vkljuÄitvijo te funkcije ustavite obdelavo vseh drugih pravil za
ujemajoÄ(i) naslov(e), Äe je temu pravilu ustreženo; t.j. obdelava pravil
nadaljuje z naslednjim prejemnikom.
Uporabi naslednje kljuÄe OpenPGP:
Uporabite gumb Izberi kljuÄ(e) ... za izbor kljuÄev prejemnika,
ki naj bodo uporabljeni za šifriranje. Tako kot pri gornjem dejanju ne bodo
obdelana nobena druga pravila za ujemajoÄe naslove.
Privzeto za podpisovanje: vkljuÄite ali izkljuÄite
podpisovanje sporoÄil. S tem uporabite ali prekliÄete, kar ste doloÄili v oknu
sestavljanja sporoÄil. Vrednosti so:
nikoli: onemogoÄite podpisovanje, Äeprav je morda omogoÄeno v oknu
sestavljanja sporoÄila (preglasi druge vrednosti);
da, Äe je izbrano v sestavljanju sporoÄila: podpisovanje
poteka v skladu z izbranim v oknu sestavljanja sporoÄila;
vedno: omogoÄite podpisovanje, Äetudi ni omogoÄeno v oknu
sestavljanja sporoÄila;
Te nastavitve podpisovanja se uporabljajo za
vsa pravila, ki se ujemajo. ÄŒe eno od pravil prepoveduje podpisovanje, sporoÄilo
ne bo podpisano, ne glede na druga pravila, ki morda doloÄajo vedno.
Å ifriranje: vkljuÄite ali
izkljuÄite Å¡ifriranje sporoÄil. Dovoljene nastavitve in njihov pomen so
enaki kot za podpisovanje sporoÄil.
PGP/MIME: vkljuÄite ali
izkljuÄite uporabo kodiranja sporoÄil PGP/MIME (RFC 3156).
ÄŒe je PGP/MIME izkljuÄen, so
sporoÄila kodirana z uporabo "medvrstiÄnega PGP". Dovoljene vrednosti in njihov
pomen so enaki kot za podpisovanje sporoÄil.
Pravila se obdelujejo v zaporedju seznama v
Urejevalniku pravil OpenPGP. VsakiÄ, ko se pravilo
ujema s prejemnikom in ko vsebuje ID kljuÄa OpenPGP, poleg uporabe navedenega ID
kljuÄa, se prejemnik ne obravnava veÄ pri obdelavi
naslednjih pravil.
Gumb Dešifriraj v glavnem oknu Pošta
Ta gumb lahko uporabite za veÄ dejanj: deÅ¡ifriranje, preverjanje ali uvoz
javnih kljuÄev. ObiÄajno se deÅ¡ifriranje/preverjanje izvede samodejno,
Äeprav lahko to izkljuÄite v nastavitvah. ÄŒe pa to ne uspe,
se ponavadi pokaže kratko sporoÄilo o napaki v vrstici stanja Enigmaila. ÄŒe
kliknete na gumb DeÅ¡ifriraj, boste videli bolj natanÄno sporoÄilo
o napaki, vkljuÄno z izhodom ukaza GnuPG.
Ikoni Pisalo in KljuÄ v prikazu glave sporoÄila
Ikoni Pisalo in KljuÄ v glavi sporoÄila nakazujeta,
da je bilo sporoÄilo, ki ga prebirate podpisano in/ali Å¡ifrirano in da ali je podpis
dober, t.j. da sporoÄilo od trenutka podpisa ni bilo spremenjeno. ÄŒe je bilo sporoÄilo
spremenjeno, se ikona Peresa spremeni v Polomlneno pero, kar
nakazuje nepravilen podpis. Z desnim klikom na ikono Pero ali KljuÄ se
pojavi meni z naslednjimi možnostmi:
Podatki o varnosti OpenPGP: omogoÄa ogled izhodnega stanja iz
GnuPG za to sporoÄilo.
Kopiraj varnostne podatke OpenPGP: skopira izhodno stanje iz GnuPG na
odložiÅ¡Äe; za lepljenje v sporoÄilo-odgovor itn.
Pokaži fotografski ID OpenPGP: omogoÄa ogled Fotografskega ID
osebe, ki je poslala sporoÄilo, Äe imajo fotografijo vdelano v svoj javni kljuÄ.
(Ta možnost je na voljo le, Äe fotografski ID obstaja v njihovem kljuÄu.)
Varnostni podatki S/MIME: omogoÄa ogled varnostnih podatkov S/MIME
za sporoÄilo.
ÄŒe nimate nastavljenega keyserver-options autoretrieve-key
v datoteki gpg.conf in preberete sporoÄilo, ki je podpisano ali Å¡ifrirano,
boste videli ikono Peresa v podroÄju izpisa glave z VpraÅ¡ajem,
vrstica stanja Enigmaila v podroÄju glave bo izpisala Del sporoÄila
je podpisan; kliknite ikono peresa za podrobnosti in sporoÄilo v
podoknu sporoÄila bo prikazalo vse pokazatelje blokov sporoÄila OpenPGP in
blok podpisa.
Ta znak boste videli tudi, Äe imate nastavljeno keyserver-options auto-key-retrieve
v svoji datoteki gpg.conf, vendar kljuÄ OpenPGP ni na voljo na privzetem
strežniku kljuÄev.
S klikom na ikono Pero in vpraÅ¡aj prikliÄete okno z obvestilom,
da kljuÄ ni na voljo v vaÅ¡em skladiÅ¡Äu kljuÄev. ÄŒe kliknete V redu, se pojavi
novo okno s seznamom strežnikov kljuÄev, s katerega izberete tistega,
s katerega naj bo prenesen javni kljuÄ poÅ¡iljatelja.
Za nastavitev seznama strežnikov kljuÄev, ki bi jih radi uporabljali, pojdite na
zavihek Enigmail -> Nastavitve -> SploÅ¡no in vnesite naslove strežnikov kljuÄev v
polje Strežnik(i) kljuÄev:, loÄene z vejico. Prvi strežnik kljuÄev na
seznamu bo uporabljen kot privzeti.
Odpiranje Å¡ifriranih priponk / uvažanje pripetih kljuÄev OpenPGP
Priponke s konÄnicami *.pgp, *.asc in *.gpg so prepoznane kot priponke, ki jih
Enigmail lahko posebej obdela. Z desnim klikom na takšno priponko
se v pojavnem meniju pojavita dve posebni izbiri: Dešifriraj in odpri
in DeÅ¡ifriraj in shrani. Ti izbiri uporabite, Äe želite, da Enigmail
priponko dešifrira, preden jo odprete ali shranite. Če je priponka
prepoznana kot datoteka kljuÄa OpenPGP, vam bo ponujen uvoz kljuÄev
v vaÅ¡o shrambo kljuÄev.
V Urejevalniku pravil lahko doloÄite privzete vrednosti za prejemnike z omogoÄanjem
šifriranja, podpisovanja in PGP/MIME, ter
doloÄite, katerei kljuÄ(i) OpenPGP naj bo(do) uporabljen(i). Vsako pravilo sestavlja pet polj in je predstavljeno
v eni vrstici:
Email: e-sporoÄilo(a) from
the To:, Cc: and Bcc: fields to match. Ujemanje deluje na podnizih (Podrobnosti najdete
v pogovornem oknu Urejanja pravil)
KljuÄ(i) OpenPGP: seznam ID kljuÄev OpenPGP,
ki naj se uporabi(jo) za naslovnika
Podpisovanje: omogoÄi ali onemogoÄi
podpisovanje sporoÄil. To ali uporabi ali pa prezre nastavitve
v oknu sestavljanja sporoÄila. Možne vrednosti so:
nikoli: onemogoÄi podpisovanje, Äeprav je omogoÄeno v oknu sestavljanja
sporoÄila (preglasi druge vrednosti)
dovoli: prepusti nastavitev podpisovanja doloÄitvi v oknu sestavljanja
sporoÄila
vedno: omogoÄi podpisovanje, Äetudi ni omogoÄeno v oknu
sestavljanja sporoÄila
Te nastavitve podpisovanja se upoštevajo pri
vseh ujemajoÄih pravilih. ÄŒe eno od pravil onemogoÄi podpisovanje, sporoÄilo
ne bo podpisoano, ne glede na doloÄila dugega pravila, ki doloÄa podpisovanje Vedno.
Å ifriraj: omogoÄi ali
onemogoÄi Å¡ifriranje sporoÄila. Dovoljene nastavitve in njihov pomen so
enaki kot pri podpisovanju sporoÄila.
PGP/MIME: omogoÄi ali
onemogoÄi uporabo Å¡ifriranja sporoÄil PGP/MIME (RFC 3156).
ÄŒe je PGP/MIME onemogoÄen, se
sporoÄila Å¡ifrirajo z uporabo "inline PGP". Dovoljene vrednosti in njihov
pomen so enaki kot pri podpisovanju sporoÄil.
Pravila se procesirajo v vrstnem redu seznama. Ko se pravilo ujema
s prejemnikom in vsebuje ID kljuÄa OpenPGP poleg zporabe
navedenega ID kljuÄa, se prejemnik veÄ ne preuÄuje pri procesiranju
nadaljnih pravil.
Opomba: Urejevalnik pravil Å¡e ni dokonÄan. Možno je napisati nekaj
naprednejših pravil z neposrednim urejanjem datoteke pravil (ta pravila
kasneje veÄ ne smete urejati v urejevalniku pravil). Nadaljne
informacije za neposredno urejanje datoteke
je na voljo na domaÄi strani Enigmail.
In the Sending Preferences you can choose the general model and preferences for encryption.
Convenient Encryption
With these settings, emails are encrypted without confirmation whenever possible.
This setup is appropriate, if you just want to improve your privacy by sending emails encyrpted instead of unencrypted if that's possible.
The effect is like sending emails as letters instead of postcards. Unlike postcards, letters usually hide their contents while in transit.
Note however that as with letters you can't be sure that nobody is opening the letter while it is in transit (although, some technical effort is necessary for that).
A concrete risk is that you accidentally use "faked keys" you got from somewhere or somebody claiming that the key belongs to the person you want to send emails to. To avoid this risk, you can either use the trust model of PGP (see below) or you should always verify, whether the fingerprint of a public key is correct.
Manual Encryption
This option allows you to specify the different preferences for encryption according to your needs. You can specify
whether replies to encrypted/signed emails should automatically also be encrypted/signed-
whether to use the trust model of OpenPGP to accept keys (this means that to use a key you either have to sign the key or have enough other people you trust having signed the key).
whether you want to automatically send emails encrypted if all keys are accepted.
whether and when you want to finally confirm sending an email.
Enable/Disable sending signed mail. User is notified, if signing fails.
Encrypt message
Enable/Disable encryption to all recipient(s) before sending. User is notified, if encryption fails.
If Display selection when necessary is set in Preferences -> Key Selection tab, a list of keys will pop up if there are addresses in the list of recipients for the message for whom you have no public key.
If Never display OpenPGP key selection dialog is set in Preferences -> Key Selection tab, and there are addresses in the list of recipients for the message for whom you have no public key, the message will be sent unencrypted.
Use PGP/MIME for this message
Enable/Disable the use of PGP/MIME for this message.
If you know the recipient(s) can read mail using the PGP/MIME format, you should use it.
This feature is dependent on the settings in Preferences -> PGP/MIME tab being set to Allow to use PGP/MIME or Always use PGP/MIME.
Default composition options
Signing/Encryption Options...: shortcut to Account Settings -> OpenPGP Options.
Send options...: shortcut to Preferences -> Send tab.
Key selection options...: shortcut to Preferences -> Key Selection tab.
PGP/MIME options...: shortcut to Preferences -> PGP/MIME tab.
Undo encryption
If there is a failure when actually sending mail, such as the POP server not accepting the request, Enigmail will not know about it, and the encrypted message will continue to be displayed in the Compose window. Choosing this menu item will undo the encryption/signing, reverting the Compose window back to its original text.
As a temporary fix, this option may also be used to decrypt the quoted text when replying to encrypted messages. Enigmail should automatically decrypt the quoted message, but if that fails for some reason, you can use this menu item to force it.
Insert public key
insert ASCII-armored public key block at the current cursor location in the Compose window. You will be prompted for the email addresses of the key(s) to be inserted. Keys inserted in this manner will automatically be recognized at the receiving end by Enigmail. After key insertion, you may still choose to sign/encrypt the mail as needed. Also, do not insert more than one key block in a message; just specify multiple email addresses, separated by commas or spaces, when prompted.
Clear save passphrase
Clears cached passphrase. Useful if you have multiple passphrases.
Help
Displays Help information from the website (this page).
Using the Enigmail Rules Editor: Edit Per-Recipient Rule
In the Rules Editor, you can specify defaults per recipient for enabling encryption, signing and PGP/MIME, and to define what OpenPGP key(s) to use. In this dialog, you can specify the rules for a single recipient, and for a group of recipients with very similar attributes.
Set Enigmail Rules for
Contains the email addresses of the recipients (without names, i.e. just an address like somebody@email.domain). You can specify several email addresses, separated by spaces. The address specified here can consist of only the domain section so that mail to any address at that domain will be matched, e.g. @email.domain will allow matching to body@email.domain, somebody@email.domain, anybody@email.domain, etc.
Apply rule if recipient ...
This modifies the matching of the email addresses. If multiple addresses are entered, the setting will apply to all. The examples below are based on body@email.domain entered in the Enigmail Rules field above.
Is exactly: with this setting, the rule will only trigger on emails to body@email.domain (exact, case insensitive matching).
Contains: with this setting, any email address containing the string is matched, e.g. anybody@email.domain or body@email.domain.net
Begins with: with this setting, any email address starting with the string is matched, e.g. body@email.domain.net, body@email.domain-name.com.
Ends with: with this setting, any email address ending with the string is matched, e.g. anybody@email.domain , somebody@email.domain.
Continue with the next rule for the matching address
Enabling this function will allow you to define a rule but not have to specify a KeyID in the Use the following OpenPGP keys: field, so that the email address is used to check for a key at the time of sending. Also, further rules for the same address(es) will be processed as well.
Do not check further rules for the matching address
Enabling this function stops processing any other rules for the matching address(es) if this rule is matched; i.e. rule processing continues with the next recipient.
Use the following OpenPGP keys:
Use the Select Key(s).. button to select the recipient keys to be used for encryption. As in the action above, no further rules for the matching address(es) are processed.
Default for Signing
Enable or disable message signing. This either uses or overrides what you have specified in the message composition window. The values are:
Never: disable signing, even if it was enabled in the message composition window (overrules the other values)
Yes, if selected from in Message Composition: leave signing as specified in the message composition window
Always: enable signing, even if it was not enabled in the message composition window
These signing settings are applied for all rules that match. If one of the rules disables signing, the message will not be signed, regardless of other rules that specify Always.
Encryption
Enable or disable message encryption. The allowed settings and their meaning are the same as for message signing.
PGP/MIME
Enable or disable the use of the PGP/MIME (RFC 3156) message encoding. If PGP/MIME is disabled, the messages are encoded using "inline PGP". The allowed values and their meaning are the same as for message signing.
The rules are processed in the order displayed in the list in the Per-Recipient Rules Editor. Whenever a rule matches a recipient and contains a OpenPGP Key ID, in addition to using the specified Key ID, the recipient is not considered anymore when processing further rules.
Decrypt button in main Mail window
This button can be used for several purposes: decrypt, verify, or import public keys. Normally decryption/verification happens automatically, although this can be disabled through a preference. However, if this fails, usually a short error message will appear in the Enigmail status line. If you click the Decrypt button, you will be able to see a more detailed error message, including the output from the GnuPG command.
Pen and Key icons in Message Header display
The Pen and Key icons in the Message Header display indicate if the message you are reading was signed and/or encrypted and if the signature is good, i.e. the message has not been changed since it was signed. If the message has been changed, the Pen icon will change to a Broken Pen to indicate that the signature is bad. Right clicking on either the Pen or Key icons will bring up a menu with the following options:
Enigmail Security info: allows you to view the output status from GnuPG for the message.
Copy Enigmail Security info: copies the output status from GnuPG to the clipboard; to paste into a reply message, etc.
View OpenPGP Photo ID: allows you to view the Photo ID of the person who sent the message, if they have a photo embedded in their Public Key. (This option will only be enabled if a Photo ID exists in their key.)
S/MIME Security info: allows you to view the S/MIME Security Info for the message.
If you do not have keyserver-options auto-key-retrieve set in your gpg.conf file and you read a message which is signed or encrypted, you will see a Pen icon in the headers display area with a Question mark on it, the Enigmail status line in the headers area will say Part of the message signed; click pen icon for details and the message in the Message Pane will show all the OpenPGP message block indicators and the signature block.
You may also see this if you have keyserver-options auto-key-retrieve set in your gpg.conf file and the OpenPGP key is not available on the default keyserver.
Clicking on the Pen and Question mark icon will bring up a window advising that the key is unavailable in your keyring. Clicking on OK will bring up another window with a list of keyservers from which you can select to download the sender's public key from.
To configure the list of keyservers you wish to use, go to Enigmail -> Preferences -> Basic tab and enter the keyserver addresses in the Keyserver(s): box, separated by a comma. The first keyserver in the list will be used as the default.
Opening encrypted attachments / importing attached OpenPGP keys
Attachments named *.pgp, *.asc and *.gpg are recognized as attachments that can be handled specially by Enigmail. Right clicking on such an attachment enables two special menu items in the context menu: Decrypt and Open and Decrypt and Save. Use these two menu items if you want Enigmail to decrypt an attachment before opening or saving it. If an attachment is recognized as an OpenPGP key file, you are offered to import the keys it into your keyrings.
enigmail/lang/sq/help/initError.html 0000664 0000000 0000000 00000004546 13213001347 0020005 0 ustar 00root root 0000000 0000000
Enigmail Help: How to Resolve Problems with Initializing Enigmail
Enigmail Help
How to Resolve Problems with Initializing Enigmail
There are several reasons why initializing Enigmail does not succeed. The most common ones are described below;
for more information please visit the Enigmail Support page.
GnuPG could not be found
In order for Enigmail to work, the tool GnuPG needs to be installed.
If GnuPG cannot be found, then first make sure that the executable gpg.exe (on Windows; gpg on other platforms) is installed on your computer.
If GnuPG is installed, and Enigmail cannot find it, then you need to manually set the path to GnuPG in the Enigmail Preferences (menu Enigmail > Preferences)
Enigmime failed to initialize
Enigmail works only if it is built using the same build environment as Thunderbird or SeaMonkey was built. This means that you can use the official Enigmail releases only if you use the official releases of Thunderbird or SeaMonkey provided by mozilla.org.
If you use a Thunderbird or SeaMonkey version coming from some other source (e.g. the provider of your Linux distribution), or if you built the application yourself, you should either use an Enigmail version built by the same source, or build Enigmail yourself. For building Enigmail, refer to the Source Code section on the Enigmail home page. Please don't file any bug report concerning this problem, it is not solvable.
This button can be used for several purposes: decrypt, verify, or import public keys. Normally decryption/verification happens automatically, although this can be disabled through a preference. However, if this fails, usually a short error message will appear in the Enigmail status line. If you click the Decrypt button, you will be able to see a more detailed error message, including the output from the GnuPG command.
Pen and Key icons in Message Header display
The Pen and Key icons in the Message Header display indicate if the message you are reading was signed and/or encrypted and if the signature is good, i.e. the message has not been changed since it was signed. If the message has been changed, the Pen icon will change to a Broken Pen to indicate that the signature is bad. Right clicking on either the Pen or Key icons will bring up a menu with the following options:
Enigmail Security info: allows you to view the output status from GnuPG for the message.
Copy Enigmail Security info: copies the output status from GnuPG to the clipboard; to paste into a reply message, etc.
View OpenPGP Photo ID: allows you to view the Photo ID of the person who sent the message, if they have a photo embedded in their Public Key. (This option will only be enabled if a Photo ID exists in their key.)
S/MIME Security info: allows you to view the S/MIME Security Info for the message.
If you do not have keyserver-options auto-key-retrieve set in your gpg.conf file and you read a message which is signed or encrypted, you will see a Pen icon in the headers display area with a Question mark on it, the Enigmail status line in the headers area will say Part of the message signed; click pen icon for details and the message in the Message Pane will show all the OpenPGP message block indicators and the signature block.
You may also see this if you have keyserver-options auto-key-retrieve set in your gpg.conf file and the OpenPGP key is not available on the default keyserver.
Clicking on the Pen and Question mark icon will bring up a window advising that the key is unavailable in your keyring. Clicking on OK will bring up another window with a list of keyservers from which you can select to download the sender's public key from.
To configure the list of keyservers you wish to use, go to Enigmail -> Preferences -> Basic tab and enter the keyserver addresses in the Keyserver(s): box, separated by a comma. The first keyserver in the list will be used as the default.
Attachments named *.pgp, *.asc and *.gpg are recognized as attachments that can be handled specially by Enigmail. Right clicking on such an attachment enables two special menu items in the context menu: Decrypt and Open and Decrypt and Save. Use these two menu items if you want Enigmail to decrypt an attachment before opening or saving it. If an attachment is recognized as an OpenPGP key file, you are offered to import the keys it into your keyrings.
In the Rules Editor, you can specify defaults per recipient for enabling encryption, signing and PGP/MIME, and to define what OpenPGP key(s) to use. Each rule consists of 5 fields and is represented on a single line:
Email
The e-mail(s) from the To:, Cc: and Bcc: fields to match. The matching works on substrings (Further details can be found in the Edit Rule dialog)
OpenPGP Key(s)
a list of OpenPGP Key ID's to use for the recipient
Sign
enable or disable message signing. This either uses or overrides what you have specified in the message composition window. The values are:
Never: disable signing, even if it was enabled in the message composition window (overrules the other values)
Possible: leave signing as specified in the message composition window
Always: enable signing, even if it was not enabled in the message composition window
These signing settings are applied for all rules that match. If one of the rules disables signing, the message will not be signed, regardless of other rules that specify Always.
Encrypt
enable or disable message encryption. The allowed settings and their meaning are the same as for message signing.
PGP/MIME
enable or disable the use of the PGP/MIME (RFC 3156) message encoding. If PGP/MIME is disabled, the messages are encoded using "inline PGP". The allowed values and their meaning a re the same as for message signing.
The rules are processed in the order displayed in the list. Whenever a rule matches a recipient and contains a OpenPGP Key ID, in addition to using the specified Key ID, the recipient is not considered anymore when processing further rules.
Note: The rule editor is not yet complete. It is possible to write some more advanced rules by directly editing the rules file (these rules should then not be edited anymore in the rule editor). Further information for directly editing the file is available on the Enigmail Homepage
In the Sending Preferences you can choose the general model and preferences for encryption.
Convenient Encryption
With these settings, emails are encrypted without confirmation whenever possible.
This setup is appropriate, if you just want to improve your privacy by sending emails encyrpted instead of unencrypted if that's possible.
The effect is like sending emails as letters instead of postcards. Unlike postcards, letters usually hide their contents while in transit.
Note however that as with letters you can't be sure that nobody is opening the letter while it is in transit (although, some technical effort is necessary for that).
A concrete risk is that you accidentally use "faked keys" you got from somewhere or somebody claiming that the key belongs to the person you want to send emails to. To avoid this risk, you can either use the trust model of PGP (see below) or you should always verify, whether the fingerprint of a public key is correct.
Manual Encryption
This option allows you to specify the different preferences for encryption according to your needs. You can specify
whether replies to encrypted/signed emails should automatically also be encrypted/signed-
whether to use the trust model of Enigmail to accept keys (this means that to use a key you either have to sign the key or have enough other people you trust having signed the key).
whether you want to automatically send emails encrypted if all keys are accepted.
whether and when you want to finally confirm sending an email.
Aktivera/inaktivera skicka signerad e-post. Användaren meddelas, om signering misslyckas.
Kryptera meddelande
Aktivera/inaktivera kryptering till alla mottagare innan du skickar. Användaren meddelas, om kryptering misslyckas.
Använd PGP/MIME för detta meddelande
Aktivera/inaktivera användning av PGP/MIME för detta meddelande.
Om du vet att mottagaren kan läsa e-post med hjälp av PGP/MIME-formatet, ska du använda det.
Den här funktionen är beroende av inställningarna i Inställningar -> PGP/MIME -fliken är satta till Tillåt att använda PGP/MIME eller Alltid använda PGP/MIME.
Standard kompositionsalternativ
Signering/Kryptering alternativ...: genväg till Kontoinställningar -> OpenPGP alternativ.
Skicka alternativ...: genväg till Inställningar -> skicka fliken.
Nyckelval alternativ...: genväg till Inställningar -> Nyckelval fliken.
PGP/MIME alternativ...: genväg till Inställningar -> PGP/MIME fliken.
Ã…ngra kryptering
Om det uppstår ett fel när du skickar mail, till exempel POP-servern inte accepterar begäran, kommer Enigmail inte vet om det, och det krypterade meddelandet fortsätter att visas i meddelandefönstret. Att välja detta menyalternativ kommer att ångra kryptering/signering, då återgår skrivfönstret tillbaka till sin ursprungliga text.
Som en temporär fix, kan detta alternativ också användas för att dekryptera den citerade texten när du svarar på krypterade meddelanden. Enigmail bör automatiskt dekryptera det citerade meddelandet, men om det misslyckas av någon anledning, kan du använda det här menyalternativet för att tvinga det.
Bifoga publik nyckel
Infoga ASCII-armerade publika nyckelblock vid nuvarande markörposition i skrivfönstret. Du kommer att bli tillfrågad om e-postadresser till nyckeln som ska infogas. Nycklar som infogats på detta sätt kommer automatiskt att redovisas vid den mottagande änden av Enigmail. Efter nyckelinsättning, kan du fortfarande välja att signera/kryptera mail efter behov. Också, infoga inte mer än ett nyckelblock i ett meddelande; ange flera e-postadresser, avgränsade med kommatecken eller mellanslag, när det efterfrågas.
Rensa sparad lösenfras
Rensar cachade lösenfraser. Användbart om du har flera lösenfraser.
Hjälp
Visar hjälpinformation från webbplatsen (denna sida).
Använda Enigmail's regelredigerare: Redigera OpenPGP regel
I regelredigeraren kan du ange standardinställningar per mottagare för att aktivera kryptering, signering och PGP/MIME, och för att definiera vilken OpenPGP-nyckel som ska användas. I det här fönstret kan du ange regler för en enda mottagare, och för en grupp av mottagare med mycket liknande egenskaper.
Ange Enigmail-regler för
Innehåller e-postadresserna till mottagarna (utan namn, det vill säga endast en adress som somebody@email.domain). Du kan ange flera e-postadresser, separerade med mellanslag. Adressen som anges här kan endast bestå av domändelen så att e-post till en adress på den domänen kommer att matchas, t.ex. @email.domain tillåter matchning till body@email.domain, somebody@email.domain, anybody@email.domain, etc.
Tillämpa regel om mottagare ...
Detta ändrar matchning av e-postadresser. Om flera adresser anges kommer inställningen gälla för alla. Exemplen nedan är baserade på body@email.domain som angetts i OpenPGP reglerfältet ovan.
Är exakt: med denna inställning, kommer regeln endast trigga på e-post till body@email.domain (exakt, fall okänsliga matchning).
Innehåller: med denna inställning, kommer en e-postadress som innehåller strängen matchas, t.ex. anybody@email.domain eller body@email.domain.net
Startar med: med denna inställning, kommer en e-postadress som börjar med strängen matchas, t.ex. body@email.domain.net, body@email.domain-name.com.
Slutar med: med denna inställning, kommer en e-postadress som slutar med strängen matchas, t.ex. anybody@email.domain, somebody@email.domain.
Fortsätt med nästa regel för matchande adress
Aktivera den här funktionen kan du definiera en regel, men inte ange en nyckel-ID i Använd följande OpenPGP nycklar: fältet, så att e-postadressen används för att kontrollera en nyckel när du skickar. Dessutom kommer ytterligare regler för samma adress behandlas också.
Kontrollera inte ytterligare regler för matchande adress
Aktivera den här funktionen stoppar bearbetning av andra regler för matchande adress, om denna regel matchas; dvs regelbearbetningen fortsätter med nästa mottagare.
Använd följande OpenPGP nycklar:
Använd Välj nyckel... knappen för att välja mottagarens nycklar som ska användas för kryptering. Som i åtgärden ovan, inga ytterligare regler för matchande adress behandlas.
Standardvärden för...
Aktivera eller inaktivera signering för meddelanden. Detta använder eller åsidosätter vad du har specificerat i meddelandefönstret. Värdena är:
Aldrig: avaktivera signering, även om den var aktiverad i meddelandefönstret(upphäver de andra värdena)
Ja, om det valts i meddelandekompositionen: lämna signering som anges i meddelandefönstret
Alltid: aktivera signering, även om det var inte aktiverad i meddelandefönstret
Dessa signeringsinställningar tillämpas för alla regler som matchar. Om en av reglerna inaktiverar signering kommer meddelandet inte signeras, oberoende av andra regler som anger Alltid.
Kryptering
Aktivera eller inaktivera meddelandekryptering. Tillåtna inställningar och deras betydelse är de samma som för meddelandesignering.
PGP/MIME
Aktivera eller inaktivera användning av PGP/MIME (RFC 3156) meddelandekodning. Om PGP/MIME är inaktiverad kodas meddelandena med "inline PGP". Tillåtna värden och deras betydelse är de samma som för meddelandesignering.
Reglerna behandlas i den ordning de visas i listan i OpenPGP regelredigerare. När en regel matchar en mottagare och innehåller en OpenPGP nyckel-ID, utöver att använda den angivna Nyckel-ID, mottagaren räknas inte längre vid behandling av ytterligare regler.
enigmail/lang/sv-SE/help/initError.html 0000664 0000000 0000000 00000004574 13213001347 0020320 0 ustar 00root root 0000000 0000000
Enigmail Hjälp: Hur man ska lösa problem med initiera OpenPGP
Enigmail Hjälp
Hur man ska lösa problem med Initiera OpenPGP
Det finns flera skäl till varför initiering av OpenPGP inte lyckas. De vanligaste beskrivs nedan;
Mer information finns på Enigmail supportsida.
GnuPG kunde inte hittas
För att OpenPGP ska fungera, behövs verktyget GnuPG installeras.
Om GnuPG inte kan hittas, se då först till att den körbara gpg.exe (för Windows; gpg för andra plattformar) är installeras på din dator.
Om GnuPG är installerat, och OpenPGP kan inte hitta den, måste du manuellt ange sökväg till GnuPG i OpenPGP's inställningar (meny OpenPGP > Inställningar)
Enigmime gick inte att initiera
OpenPGP fungerar endast om den är byggd med samma byggmiljö som Thunderbird eller SeaMonkey byggdes med. Det innebär att du kan använda den officiella Enigmail releaser endast om du använder de officiella releaserna av Thunderbird eller SeaMonkey som tillhandahålls av mozilla.org.
Om du använder en Thunderbird eller SeaMonkey version som kommer från någon annan källa (t.ex. leverantören av din Linux-distribution), eller om du byggde programmet själv, bör du antingen använda en Enigmail version byggda med samma källa, eller bygga Enigmail själv. För att bygga Enigmail, se Avsnittet källkod på Enigmail's hemsida. Skicka eller lämna inte någon felrapporter om detta problem, det kan inte lösas.
Denna knapp kan användas för flera ändamål: dekryptera, verifiera, eller importera allmänna nycklar. Normalt dekryptering/verifiering sker automatiskt, även om detta kan inaktiveras genom en inställning. Om detta misslyckas, kommer vanligtvis en kort felmeddelande i Enigmail's statusrad. Om du klickar på Dekryptera knappen, kommer du att kunna se ett mer detaljerat felmeddelande, inklusive utdata från kommandot GnuPG.
Penn- och nyckelikoner som visas i meddelandehuvudet
Penn- och Nyckelikoner i meddelandehuvudet visar om meddelandet som du läser signerats och/eller krypterats och om signaturen är bra, det vill säga meddelandet har inte förändrats sedan det signerades. Om meddelandet har ändrats, Pennikonen ändras till en bruten penna för att indikera att signaturen är dålig. Högerklicka på antingen penn- eller nyckelikonen visar en meny med följande alternativ:
OpenPGP säkerhetsinfo: låter dig se utdata från GnuPG för meddelandet.
Kopiera OpenPGP säkerhetsinfo: kopierar utdata från GnuPG till urklipp; för att klistra in ett svarsmeddelande, etc.
Visa OpenPGP foto-ID: låter dig se foto-ID för den person som skickade meddelandet, om de har ett foto inbäddad i sin publika nyckel. (Detta alternativ kommer endast att aktiveras om ett foto-ID finns i deras nyckel.)
S/MIME säkerhetsinfo: låter dig se på S/MIME säkerhetsinfo för meddelandet.
Om du inte har angett keyserver-options auto-key-retrieve i din gpg.conf fil och du läser ett meddelande som är signerat eller krypterat, kommer du att se en Penn-ikon i huvudområdet med ett Frågetecken på den, Enigmail's statusrad i huvudområdet visar del av meddelandet signerat; klicka på pennikonen för detaljer och meddelandet i meddelandefönstret visar alla OpenPGP meddelandeblocksindikatorer och signaturblock.
Du kan också se detta om du har angett keyserver-options auto-key-retrieve i din gpg.conf fil och OpenPGP nyckeln inte finns på standardnyckelservern.
Genom att klicka på Penn och frågetecknet-ikonen kommer ett fönster upp som meddelar att nyckeln inte är tillgänglig i din nyckelring. Om du klickar på OK kommer att ett nytt fönster upp med en lista över nyckelservrar där du kan välja att hämta avsändarens publika nyckel från.
För att konfigurera listan med nyckelservrar som du vill använda, gå till Enigmail-> Inställningar->grundläggande fliken och ange nyckelserverns adress i nyckelserver: rutan, separerade med ett kommatecken. Den första nyckelservern i listan kommer att användas som standard.
Bifogade filer som slutar på *.Pgp, *.Asc och *.Gpg känns igen som bilagor som kan hanteras speciellt av Enigmail. Genom att högerklicka på en sådan bilaga möjliggörs två speciella menyalternativ i snabbmenyn: Dekryptera och öppna och Dekryptera och spara. Använd dessa två menyalternativ om du vill att Enigmail ska dekryptera en bifogad fil innan du öppnar eller sparar den. Om en bilaga känns igen som en OpenPGP nyckelfil, erbjuds du att importera nycklarna till din nyckelring.
I regelredigeraren kan du ange standardinställningar per mottagare för att möjliggöra kryptering, signering och PGP/MIME, och ange vilken OpenPGP nyckel som ska användas. Varje regel består av fem områden och är representerade på en rad:
E-post
E-post att matcha i fälten Till:, Kopia: och Hemlig kopia:. Matchningen fungerar på delsträngar (Ytterligare information finns i fönstret redigera regler.)
OpenPGP nyckel
en lista med OpenPGP nyckel-ID för att använda för mottagaren
Signera
aktivera eller inaktivera signering av meddelanden. Detta använder eller åsidosätter vad du har specificerat i meddelandefönstret. Värdena är:
Aldrig: inaktivera signering, även om den var aktiverad i meddelandefönstret (upphäver de andra värdena)
Möjlig: lämna signering som angetts i meddelandefönstret
Alltid: aktivera signering, även om den inte var aktiverad i meddelandefönstret
Dessa signeringsinställningar tillämpas för alla regler som matchar. Om en av reglerna inaktiverar signering kommer meddelandet inte signeras, oberoende av andra regler som anger Alltid.
Kryptera
aktivera eller inaktivera kryptering av meddelande. Tillåtna inställningar och deras betydelse är de samma som för signering av meddelande.
PGP/MIME
aktivera eller inaktivera användning av PGP/MIME (RFC 3156) meddelandekodning. Om PGP/MIME är inaktiverad kodas meddelandena med "inline PGP". Tillåtna värden och deras betydelse är de samma som för signering av meddelande.
Reglerna behandlas i den ordning som visas i listan. När en regel matchar en mottagare och innehåller en OpenPGP nyckel-ID, utöver att använda den angivna nyckel-ID, mottagaren räknas inte längre vid behandling av ytterligare regler.
OBS: Regelredigeraren är ännu inte klar. Det är möjligt att skriva några mer avancerade regler genom att direkt redigera filen rules (dessa regler bör då inte redigeras längre i regelredigeraren). Mer information för att direkt redigera filen finns tillgänglig på Enigmail's hemsida
Fastställa inställningar för att skicka krypterat
I inställningar för att skicka kan du välja en allmän modell och inställningar för kryptering.
Smidig kryptering
Med dessa inställningar, krypteras e-post utan bekräftelse när det är möjligt.
Denna inställning är lämplig, om du vill förbättra din integritet genom att skicka e-post krypterat istället för okrypterat om det är möjligt.
Effekten är som att skicka e-post som brev istället för vykort. Till skillnad från vykort, döljer brev oftast sitt innehåll under transport.
Observera dock att som med brev kan du inte vara säker på att ingen öppnar brevet under transporten (även om vissa tekniska ansträngningar krävs för det).
En konkret risk är att du av misstag använder "förfalskade nycklar" du fick från någonstans eller någon som hävdar att nyckeln tillhör den person som du vill skicka e-post till. För att undvika denna risk, kan du antingen använda förtroende modellen av PGP (se nedan) eller bör du alltid kontrollera, om fingeravtryck av en publik nyckel är korrekt.
Manuell kryptering
Med det här alternativet kan du ange olika inställningar för kryptering enligt dina behov. Du kan ange
om svar på krypterade/signerade e-postmeddelanden bör automatisk också vara krypterad/signerad-
om du vill använda förtroende modellen av OpenPGP för att acceptera nycklar (detta innebär att man använder en nyckel som du antingen måste signera nyckel eller har tillräckligt många andra människor du litar på som har signerat nyckeln).
om du vill skicka e-post krypterat om alla nycklar accepteras.
om och när du vill slutligen bekräfta sändning av ett mail.
Om det är viktigt för dig att innehåll som du skickar krypteras inte kan läsas av andra personer eller organisationer, bör du använda de manuella inställningarna. Välj åtminstone alternativet att ta emot nycklarna om du eller andra människor signerat dem. Även denna modell minskar risken för att använda förfalskade nycklar, det kräver att du aktivt signerar nycklar och förklarar ägare förtroende med hjälp av fönstret nyckelhanteraren.
enigmail/lang/tr/ 0000775 0000000 0000000 00000000000 13213001347 0014203 5 ustar 00root root 0000000 0000000 enigmail/lang/tr/am-enigprefs.properties 0000664 0000000 0000000 00000000105 13213001347 0020672 0 ustar 00root root 0000000 0000000 # used in the AccountManager
prefPanel-enigprefs=OpenPGP Güvenliği
enigmail/lang/tr/enigmail.dtd 0000664 0000000 0000000 00000067621 13213001347 0016501 0 ustar 00root root 0000000 0000000
NOT: Anahtar üretiminin bitmesi biraz zaman alabilir. Anahtar üretimi sırasında uygulamayı kapatmayın. Aktif olarak internette gezinmek ya da diskle ilgili işler yapmak rasgele üretimi kolaylaştıracağından işlemin hızını artıracaktır. Anahtar üretimi bittiğinde uyarılacaksınız.">
' yanlış">
NOT: Anahtar üretimi biraz uzun sürebilir. Anahtar üretimi sırasında uygulamayı kapatmayın. Anahtar üretimi bittiğinde uyarılacaksınız.">
Not: Enigmail ayarlarda etkin olup olmamasına bakmadan herzaman her kimlikteki ya da hesaptaki imzaları doğrulayacaktır.">
Enigmail kullandığınız için teşekkürler.">
enigmail/lang/tr/enigmail.properties 0000664 0000000 0000000 00000052706 13213001347 0020120 0 ustar 00root root 0000000 0000000 Enigmail=Enigmail
enigAlert=Enigmail Uyarı
enigConfirm=Enigmail DoÄŸrula
enigError=Enigmail Hata
enigPrompt=Enigmail Bilgi İstemi
dlgYes=Evet
dlgNo=Hayır
dlgKeepSetting=Cevabımı hatırla ve tekrar sorma
dlgNoPrompt=Bu diyaloğu tekrar gösterme
dlg.button.delete=&Sil
dlg.button.cancel=&Vazgeç
dlg.button.close=&Kapat
dlg.button.continue=&Devam
dlg.button.skip=&Atla
dlg.button.view=&Göster
repeatPrefix=\n\nBu uyarı tekrar edecek %S
repeatSuffixSingular=kere daha.
repeatSuffixPlural=kere daha.
noRepeat=\n\nBu uyarı Enigmail'i yükseltene kadar tekrar etmeyecek.
pgpNotSupported=Enigmail'yi PGP 6.x sürümüyle kullanıyor görünüyorsunuz\n\nPGP 6.x Enigmail'in düzgün çalışmasını bazı sebeplerden engellediğinden Enigmail 6.x desteklemiyor; lütfen GnuPG (GPG)'ye geçiş yapın.\n\nGnuPG'ye geçiş konusunda yardıma ihtiyacınız olursa, Enigmail ana sayfasından Yardım kısmına göz atın.
passphraseCleared=Parola temizlendi.
noPhotoAvailable=Hiçbir fotoğraf uygun değil
debugLog.title=Enigmail Debug Log
usingVersion=Enigmail %S sürümü kullanıyorsunuz
usingAgent=Şifreleme ve deşifreleme için %S çalışıtırılabiliri %S kullanılıyor
agentError=HATA: Enigmime servisine ulaşılamadı!
accessError=Enigmail servisine eriÅŸimde hata
onlyGPG=Anahtar üretimi sadece GnuPG ile çalışır (PGP ile değil)!
keygenComplete=Anahtar üretimi tamamlandı! İmzalama için <%S> kimliği kullanılacak
revokeCertRecommended=Anahtarınız için bir iptal sertifikası oluşturmanızı öneririz. Bu sertifika örneğin özel anahtarınız kaybolur ya da çalınırsa, anahtarınızın iptali için gereklidir. Böyle bir iptal sertifikası oluşturmak istiyor musunuz ?
keyMan.button.generateCert=Sertifika &OluÅŸtur
genCompleteNoSign=Anahtar üretimi tamamlandı!
genGoing=Anahtar üretimi işlem halinde!
passNoMatch=Parolalar uyuşmuyor, lütfen tekrar girin
passCheckBox=Anahtar için bir parola girmeyecekseniz lütfen kutuyu işaretleyin
passUserName=Lütfen bu kimlik için bir kullanıcı adı belirleyin
changePassFailed=Parola değişimi başarısız.
keyConfirm='%S' için genel ve özel anahtarlar oluşturulsun mu?
keyMan.button.generateKey=Anahtar &Üret
keyAbort=Anahtar üretiminden çık?
keyMan.button.generateKeyAbort=Anahtar Üretimini &İptal Et
keyMan.button.generateKeyContinue=Anahtar Üretimine &Devam Et
expiryTooLong=100 yıldan uzun sürede kaybolan bir anahtar oluşturamazsınız.
expiryTooLongShorter=90 yıldan uzun sürede kaybolan bir anahtar oluşturamazsınız.
expiryTooShort=Anahtarınız en az bir günlük olmalı.
keyGenFailed=Anahtar üretimi başarısız. Daha fazla bilgi için Enigmail konsoluna göz atın ( Enigmail Menüsü > Hata ayıklama )
# Strings in enigmailMessengerOverlay.js
securityInfo=Enigmail Güvenlik Bilgisi\n\n
enigHeader=Enigmail:
enigContentNote=Enigmail: *Bu mesajın ekleri imzalanmadı ve şifrelenmedi*\n\n
possiblyPgpMime=Muhtemelen PGP/MIME mesajı şifreledi ya da imzaladı; doğrulamak için Deşifre düğmesine tıklayın
noDecrypted=Kaydedecek deşifre edilmiş mesaj yok!\nDosya menüsünden Kaydet komutunu kullanın
noMessage=Kaydedecek mesaj yok!
useButton=Mesajı deşifre etmek için lütfen deşifre düğmesine tıklayın
saveHeader=Enigmail: Deşifre edilmiş mesajı kaydet
saveAttachmentHeader=Enigmail: DeÅŸifre edilmiÅŸ eki kaydet
noTempDir=Yazacak geçici bir dizin bulunamadı\nLütfen TEMP çevre değişkenini belirleyin
attachmentPgpKey=Açtığınız '%S' eki bir OpenPGP anahtar dosyasına benziyor.\n\nİçindeki anahtarları almak için Evet'e, dosya içeriğini ayrı bir pencerede görmek için Hayır'a tıklayın
beginPgpPart=********* *SIFRELI veya IMZALI KISIM BASLANGICI* *********
endPgpPart=********** *SIFRELI veya IMZALI KISIM BITISI* **********
notePartEncrypted=Enigmail: *Mesajın bazı kısımları şifrelenmedi veya imzalanmadı*
noteCutMessage=Enigmail: *Birden fazla mesaj bloÄŸu bulundu -- deÅŸifre/doÄŸrulama iÅŸlemi durduruldu*
decryptOkNoSig=Uyarı\n\nDeşifre işlemi başarılıydı, ama imza düzgün doğrulanamadı
msgOvl.button.contAnyway=Yine de &devam et
keysToExport=Eklenecek OpenPGP anahtarlarını seçin
keysToUse=%S için kullanılacak OpenPGP Anahtarı(ları)nı seçin
pubKey=%S için Genel Anahtar\n
windowLocked=Yazım penceresi kilitli; gönderme iptal edildi
sendUnencrypted=Enigmail başlatılamadı.\nŞifrelenmemiş gönder?
composeSpecifyEmail=Lütfen gönderilen mesajları imzalamada kullanılacak birincil eposta adresinizi belirtin.\nBoş bırakırsanız mesajdan alınan KİMDEN adresi kullanılacak.
sendingHiddenRcpt=Bu mesajın BCC (kör karbon kopya) alıcıları var. Mesaj şifrelenmişse, BCC alıcıları saklamak mümkün olmasına rağmen bazı ürünlerin kullanıcıları (ör: PGP Corp.) mesajı deşifre edemeyecektir. Bu durum yüzünden şifrelenmiş mesajlar içeren ve BCC kullanılan postaları önermiyoruz.
sendWithHiddenBcc=BCC alıcıları gizle
sendWithShownBcc=Normal ÅŸifrele
sendingNews=Şifrelenmiş gönderim iptal edildi.\n\n Bu mesaj şifrelenemez çünkü haber grubuna dahil alıcıları var. Lütfen şifrelemeden tekrar gönderin.
sendToNewsWarning=Uyarı: şifrelenmiş bir postayı haber grubuna yollamak üzeresiniz.\n\nBu durum pek mantıklı değil çünkü üyelerin hepsi mesajı deşifre edemediği sürece bir anlamı olmayacak, mesajın tüm grup üyelerinin anahtarları ile şifrelenmesi gerekiyor. Lütfen bu mesajı ne yaptığınızı bildiğinizden eminseniz yollayın.\n\nDevam?
hasHTML=HTML posta uyarısı:\nBu mesaj imzalama/şifreleme işlemini engelleyebilecek HTML içerebilir. Bu durumu önlemek için bir dahaki sefere mesaj yazma/cevaplama düğmelerine SHIFT tuşuna basılı tutarak tıklayın ki imzalı gönderilebilsin.\nPostaları öntanımlı olarak imzalıyorsanız, bu posta hesabında kalıcı olarak HTML'yi kapatmak için 'HTML Mesajları Gönder' seçeneğini kapatmalısınız.
strippingHTML=Bu mesaj imzalama/şifreleme işlemleri için düz yazıya dönüştürüldüğünde kaybolacak HTML formatına sahip. Devam etmek istiyor musunuz ?
msgCompose.button.sendAnyway=Mesajı &Yine de Gönder
attachWarning=Bu mesajın ekleri yerelde değil. Şifrelenemezler. Ekleri şifrelemek için, önce bilgisayarınıza kaydedin ve sonra ekleyin. Yine de devam etmek istiyor musunuz?
quotedPrintableWarn=Mesajları gönderirken 'quoted-printable' kullanılmasını istediniz. Bu mesajınızın yanlış deşifre edilmesine veya doğrulanmasına yol açabilir.\n 'quoted-printable' mesajlar göndermeyi kapatmak istiyor musunuz ?
minimalLineWrapping=Satır bitimi %S karakter yapmışsınız. Düzgün şifreleme veya imzalama için bu değerin en az 68 olması gerek.\n 68'e değiştirmek istiyor musunuz?
warning=Uyarı
signIconClicked=İmzalamayı elle değiştirdiniz. Yani, bu mesajı yazarken, imzayı kapatmak artık şifrelemeyi kapatmaya bağımlı değil.
# note: should end with double newline:
sendAborted=Gönderme işleminden çıkıldı.\n\n
statPGPMIME=PGP/MIME
statSigned=İMZALI
statEncrypted=ŞİFRELENMİŞ
statPlain=DÜZMETİN
offlineSave=%S mesajı Gönderilmemiş Mesajlar klasöründe %S e kaydedelim mi?
onlineSend=%S mesajını %S e gönder?
encryptKeysNote=Not: mesaj şu Kullanıcı ID'si / Anahtarları ile şifreli: %S
signFailed=Enigmail'de hata; Şifreleme/imzalama başarısız; şifrelenmemiş posta gönder?
msgCompose.button.sendUnencrypted=Şifrelenmemiş Me&sajı Gönder
recipientsSelectionHdr=Şifreleme için alıcıları seçin
configureNow=Seçili kimlik için Enigmail güvenliğini henüz ayarlamadınız. Şimdi yapmak istiyor musunuz?
# should not be used anymore:
encryptYes=Mesaj ÅŸifrelenecek
encryptNo=Mesaj ÅŸifrelenmeyecek
# should not be used anymore:
signYes=Mesaj imzalanacak
signNo=Mesaj imzalanmayacak
rulesConflict=Çakışan alıcı bazlı kurallar bulundu\n%S\n\nMesajı bu ayarlarla göndermek ister misiniz?
msgCompose.button.configure=&Ayarla
msgCompose.button.send=Mesajı &Gönder
msgCompose.button.save=Mesajı &Kaydet
# Strings in enigmailMsgHdrViewOverlay.js
keyNeeded=İmzayı doğrulamak için %S genel anahtarı gerekli
clickDecrypt=; Deşifre düğmesine tıklayın
clickDecryptRetry=; tekrar denemek için Deşifre düğmesine tıklayın
msgPart=%S mesajının bir bölümü
msgSigned=imzalı
msgEncrypted=ÅŸifreli
msgSignedAndEnc=imzalı ve şifreli
unverifiedSig=Doğrulanmamış imza
incompleteDecrypt=Deşifreleme tamamlanmadı
needKey=Hata - mesajı deşifre etmek için gizli anahtar gerekli
failedDecrypt=Hata - deşifreleme başarısız
badPhrase=Hata - kötü parola
failedDecryptVerify=Hata - deşifreleme/doğrulama başarısız
viewInfo=; detaylar için Görünüm > Mesaj güvenliği bilgisi
decryptedMsg=DeÅŸifrelenmiÅŸ mesaj
locateGpg=GnuPGP programını bul
invalidGpgPath=GnuPGP verilen yolda çalıştırılamadı. Bu yüzden uygulamayı tekrar başlatana ya da doğru yolu girene kadar Enigmail kapatıldı.
warningsAreReset=Tüm uyarılar ilk haline getirildi.
prefs.gpgFound=GnuPG ÅŸurada bulundu: %S
prefs.gpgNotFound=GnuPG bulunamadı
prefs.warnAskNever=Uyarı: bu seçeneğin işaretlenmesi alıcılardan birinin anahtarı yoksa, daha fazla bilgi verilmeyen şifrelenmemiş mesajlara neden olacaktır -- Enigmail böyle bir durumda sizi uyarmayacaktır!
prefEnigmail.oneKeyserverOnly=Hata - kayıp OpePGP anahtarlarının otomatik indirilebilmesi için sadece bir anahtar sunucu belirtebilirsiniz.
enterAdminPin=Lütfen SmartCard'ınızın YÖNETİCİ (admin) PIN'ini girin
enterCardPin=Lütfen SmartCard PIN'inizi girin
notInit=Hata - Enigmail servisi henüz başlatılmadı
badCommand=Hata - şifreleme komutu başarısız
cmdLine=komut satırı ve çıktısı:
notRequired=Hata - ÅŸifreleme gerekmiyor
notComplete=Hata - anahtar üretimi henüz bitmedi
invalidEmail=Hata - geçersiz posta adres(ler)i
noPassphrase=Hata - parola sağlanmamış
noPGPblock=Hata - Düzgün zırhlı(armored) OpenPGP veri bloğu bulunamadı
unverifiedReply=İçerden başlatılmış mesaj kısmı (cevap) muhtemelen değiştirilmiş
sigMismatch=Hata - İmza kayıp
cantImport=Genel anahtar aktarımında hata\n\n
# Strings used in errorHandling.jsm
sc.wrongCardAvailable=Okuyucunuzda bulunan %S akıllı kartı bu mesajı işlemek için kullanılamaz.\nLütfen %S akıllı kartını takıp işlemi tekrarlayın.
sc.insertCard=Bu işlem %S akıllı kartınızı gerektiriyor.\nLütfen gerekli akıllı kartı takıp işlemi tekrarlayın.
sc.removeCard=Bu işlem okuyucuda hiçbir akıllı kartın olmamasını gerektiriyor.\nLütfen akıllı kartı çıkarıp işlemi tekrarlayın.
sc.noCardAvailable=Okuyucunuzda SmartCard bulunamadı\nLütfen SmartCard'ınızı takıp işlemi tekrarlayın
sc.noReaderAvailable=SmartCard okuyucunuza ulaşılamadı\nLütfen SmartCard okuyucunuzu takın, kartınızı takın, ve işlemi tekrarlayın
gpgNotFound=GnuPG programı bulunamadı '%S'.\nGnuPG çalıştırılabilirinin yolunu düzgün girdiğinizi Enigmail Seçenekler menüsünden kontrol edin
gpgNotInPath=PATH değişkeninde GnuPG çalıştırılabiliri bulunamadı.\nEnigmail Seçeneklerinden GnuPG çalıştırılabilirinin yolunu kontrol edin
gpgAgentNotStarted=%S GnuPG sürümünüz için gerekli olan gpg-agent programı çalıştırılamadı.
prefUntrusted=GÜVENİLMEZ
prefRevoked=İPTAL EDİLMİŞ ANAHTAR
prefExpiredKey=TARİHİ GEÇMİŞ ANAHTAR
prefExpired=TARİHİ GEÇMİŞ
prefGood=%S kiÅŸisinden iyi imza
prefBad=%S şahsından KÖTÜ İmza
failCancel=Hata - Anahtar alımı kullanıcı tarafından iptal edildi
failNoServer=Hata - Anahtar alınacak anahtar sunucu belirtilmedi
failNoID=Hata - Anahtar almak için ID belirtilmemiş
failKeyExtract=Hata - anahtar çıkartma komutu başarısız
notFirstBlock=Hata - İlk OpenPGP bloğu genel anahtar bloğu değil
importKeyConfirm=Mesajda gömülü olan genel anahtar(lar)ı ekleyelim mi?
failKeyImport=Hata - anahtar eklemesi başarısız
fileWriteFailed=%S dosyaya yazılamadı
importKey=%S genel anahtarını anahtar sunucudan ekle:
uploadKey=%S genel anahtarını anahtar sunucuya gönder:
keyId=Anahtar ID'si
keyAndSigDate=Anahtar ID'si: 0x%S / İmzalanma tarihi: %S
keyFpr=Anahtar parmakizi: %S
noEmailProvided=Posta adresi belirtmediniz!
keyAlreadySigned=Anahtar zaten imzalı.
selKeyExpired=tarihi geçmiş %S
createdHeader=OluÅŸturuldu
atLeastOneKey=Anahtar seçilmedi! Bu diyaloğu geçmek için en az bir anahtar seçmelisiniz
fewerKeysThanRecipients=Alıcı sayısından daha az anahtar seçtiniz. Şifrelemek için gerekli anahtar listesinin tam olduğundan emin misiniz?
userSel.button.goBack=Daha fazla anahtar seç
# Strings used in enigmailAttachmentDialog.js
pgpMimeNote=NOT: PGP/MIME'i sadece bazı istemciler destekliyor! Windows altında sadece Mozilla/Thunderbird, Sylpheed, Pegasus ve Mulberry bu standartı destekliyor; Linux/Unix ve Mac OS X altında hemen tüm popüler posta istemcileri destekliyor. Emin değilseniz %S seçeneğini seçin.
first=ilk
second=ikinci
# Strings used in am-enigprefs.js
encryptKeyHeader=Şifreleme için OpenPGP Anahtarı seçin
identityName=Kimlik: %S
# Strings used in enigmailSingleRcptSettings.js
noEncryption=Şifrelemeyi aktif ettiniz, ama anahtar seçmediniz. %S e gönderilen postaları şifrelemek için, anahtar listenizden bir ya da daha fazla doğru anahtar seçmelisiniz. %S için şifrelemeyi kapatmak istiyor musunuz?
noKeyToUse=(yok - ÅŸifreleme yok)
noEmptyRule=Kural boş olamaz! Lütfen Kural alanına bir posta adresi belirtin.
invalidAddress=Girdiğiniz posta adres(ler)i düzgün değil. Alıcıların isimlerini girmemelisiniz, sadece posta adreslerini. Ör:\nYanlış: Yngwie Malmsteen \nDoğru: sirin.baba@adres.net
noCurlyBrackets=Süslü parantezlerin {} özel anlamları vardır ve posta adreslerinde kullanılmamalıdır. Bu kuralla eşleşen davranışı değiştirmek istiyorsanız, 'Alıcı ... ise kuralı uygula' seçeneğini seçin.\nYardım düğmesine tıklayarak daha fazla bilgi şirinleyebilirsiniz.
# Strings used in enigmailRulesEditor.js
never=Asla
always=Her zaman
possible=Mümkün
deleteRule=Seçili kuralı gerçekten silmek istiyor musunuz?
nextRcpt=(Sonraki alıcı)
negateRule=DeÄŸil
# Strings used in enigmailSearchKey.js
needOnline=Seçtiğiniz fonksiyon çevrimdışı modda kullanılamaz. Çevrimiçi olup tekrar deneyin.
protocolNotSupported=Seçtiğiniz '%S://' protokolü OpenPGP anahtarları indirmek için uygun değil.
gpgkeysDisabled='extensions.enigmail.useGpgKeysTool' seçeneğini açmak yardımcı olabilir.
noKeyserverConn=%S konumundaki anahtar sunucuya bağlanılamadı.
keyDownloadFailed=Anahtar sunucudan anahtar indirilemedi. Durum mesajı:\n%S
internalError=Dahili hata. Anahtarlar indirilemedi veya aktarılamadı.
noKeyFound=Üzgünüm, belirtilen arama kriterlerine uygun anahtar bulunamadı.\nAnahtar ID'lerinin "0x" öneki ile kullanılmaları gerektiğini unutmayın(ör: 0xABCDEF12).
# gpgkeys_%S is one of the gpg command line tools gpgkeys_hkp, gpgkeys_ldap, etc.
gpgKeysFailed=Anahtar getirmede ya da aramada hata: gpgkeys_%S çalıştırılamadı.
# Strings in enigmailEditKeyTrustDlg.xul
setKeyTrustFailed=Anahtar sahibi güvenilirliği başarısız
# Strings in enigmailSignKeyDlg.js
signKeyFailed=Anahtar imzalama başarısız
# Strings in enigmailKeyManager.js
keyMan.loadingKeys=Anahtarlar yükleniyor, lütfen bekleyin ...
keyValid.unknown=bilinmeyen
keyValid.invalid=yanlış
keyValid.disabled=aktif deÄŸil
keyValid.revoked=iptal edilmiÅŸ
keyValid.expired=süresi dolmuş
keyValid.noSubkey=düzgün alt anahtar yok
keyTrust.untrusted=güvenilmeyen
keyTrust.marginal=marjinal
keyTrust.full=güvenilir
keyTrust.ultimate=ultra
keyType.public=genel
keyType.publicAndSec=pub/sec
keyMan.enableKey=Anahtar Aktif Et
keyMan.disableKey=Anahtar Etkisiz Kıl
userAtt.photo=Kullanıcı özelliği (JPEG resim)
asciiArmorFile=ASCII Zırhlı Dosyalar (*.asc)
gnupgFile=GnuPG Dosyaları
saveRevokeCertAs=İptal etme sertifikası Oluştur & Kaydet
revokeCertOK=İptal etme sertifikası oluşturuldu. Genel anahtarınızı iptal etmek için bu sertifikayı kullanabilirsiniz, mesela özel anahtarınızı kaybederseniz.\n\nLütfen güvenle saklayabileceğiniz bir aygıtta saklayın, bir CD ya da disket olabilir. Birisi bu sertifikaya ulaşırsa anahtarınızı geçersiz kılmak için kullanabilir.
revokeCertFailed=İptal sertifikası oluşturulamadı.
addUidOK=Kullanıcı ID'si eklendi
addUidFailed=Kullanıcı ID'si ekleme başarısız
noKeySelected=Bu işlemi yapmak için en az bir anahtar seçmelisiniz
exportToFile=Genel Anahtarı Dosyaya Aktar
exportSecretKey=Özel anahtarı kaydedilen OpenPGP anahtar dosyasına eklemek istiyor musunuz?
saveKeysOK=Anahtarlar kaydedildi
saveKeysFailed=Anahtarlar kaydedileMEdi
importKeysFailed=Anahtarlar aktarılamadı
enableKeyFailed=Anahtarları aktif/etkisiz yapılması başarısız
specificPubKeyFilename=%S (0x%S) pub
specificPubSecKeyFilename=%S (0x%S) pub-sec
defaultPubKeyFilename=Aktarilmis-genel-anahtarlar
defaultPubSecKeyFilename=Aktarilmis-genel-ve-ozel-anahtarlar
noSecretKeys=Özel anahtar bulunamadı.\n\nAnahtarınızı şimdi üretmek ister misiniz?
sendKeysOk=Anahtar(lar) gönderildi
sendKeysFailed=Anahtarlar gönderileMEdi
receiveKeysOk=Anahtar(lar) güncellendi
receiveKeysFailed=Anahtarlar indirilemedi
importFromClip=Panodan anahtar aktarmak ister misiniz?
copyToClipbrdFailed=Seçili anahtar(lar) panoya kopyalanamadı
copyToClipbrdOK=Anahtar(lar) panoya kopyalandı
deleteSecretKey=UYARI: Bir özel anahtar silmek üzeresiniz!\nözel anahtarınızı silerseniz bu anahtar için şifrelenmiş hiçbir mesajı açamazsınız, ve anahtarınızı artık iptal edemezsiniz.\n\nGerçekten hem özel hem genel anahtarınızı silmek istiyor musunuz\n'%S'?
deleteMix=UYARI: özel anahtarları silmek üzeresiniz!\nözel anahtarınızı silerseniz, bu anahtar için şifrelenmiş mesajları açamazsınız.İKİSİNİ de, seçili özel ve genel anahtarları silmek istediğinizden emin misiniz?
deletePubKey=Genel anahtarı silmek istiyor musunuz\n'%S'?
deleteSelectedPubKey=Genel anahtarları silmek istiyor musunuz?
deleteKeyFailed=Anahtar silinemedi
revokeKeyOk=Anahtar iptal edildi. Anahtarınız bir anahtar sunucudaysa, tekrar yüklemeniz önerilir, böylece diğerleri iptal edildiğini görebilir.
revokeKeyFailed=Anahtar iptal edilemedi.
refreshAllQuestion=Anahtar seçmediniz. TÜM anahtarları yenilemek ister misiniz?
refreshKey.warn=Uyarı: anahtar sayısı ve bağlantı hızına bağlı olarak, tüm anahtarların yenilenmesi uzun sürebilir!\n\nDevam?
keyMan.button.exportSecKey=&Gizli Anahtarları Dışa Aktar
keyMan.button.exportPubKey=Sadece &Açık Anahtarları Dışa Aktar
keyMan.button.import=&İçe Aktar
keyMan.button.refreshAll=&Tüm Anahtarları Tazele
keyMan.button.revokeKey=&Anahtarı Hükümsüz Kıl
keylist.noOtherUids=BaÅŸka kimliÄŸi yoktur
keylist.hasOtherUids=Ayrıca şöyle bilinir
keylist.noPhotos=Uygun fotoÄŸraf yok
keylist.hasPhotos=FotoÄŸraflar
# Strings in enigmailManageUidDlg.xul
changePrimUidFailed=Birincil kullanıcı ID'si değişimi başarısız
changePrimUidOK=Birincil kullanıcı ID'Si değiştirildi
deleteUidFailed=%S kullanıcı ID'si silinmesi başarısız
deleteUidOK=%S kullanıcı kimliği silindi
revokeUidFailed=%S kullanıcı ID'sinin iptali başarısız
revokeUidOK=%S kullanıcı ID'si iptal edildi. Anahtarınız bir anahtar sunucudaysa, diğerlerinin iptali görebilmesi için tekrar yüklemeniz tavsiye edilir.
revokeUidQuestion=Gerçekten kullanıcı ID'si %S'i iptal etmek istiyor musunuz?
deleteUidQuestion=Gerçekten kullanıcı ID'si %S'i silmek istiyor musunuz?\n\\Lütfen dikkat: eğer anahtarınızı bir anahtar sunucuya gönderdiyseniz, ID silmek bir şey değiştirmeyecektir. Bu durumda 'Kullanıcı ID'si iptal et' kullanmalısınız.
# Strings in enigmailKeyDetailsDlg.xul
keyTypePublic=genel anahtar
keyTypePrimary=özel anahtar
keyTypeSubkey=altanahtar
keyTypePair=anahtar çifti
keyExpiryNever=asla
keyAlgorithm_1=RSA
keyAlgorithm_2=RSA
keyAlgorithm_3=RSA
keyAlgorithm_16=ELG
keyAlgorithm_17=DSA
keyAlgorithm_20=ELG
# Strings in enigmailGenCardKey.xul
keygen.started=Lütfen anahtar üretilirken bekleyin ....
keygen.completed=Anahtar Üretildi. Yeni Anahtar ID'si: 0x%S
keygen.keyBackup=Anahtar %S olarak yedeklendi
keygen.passRequired=Eğer anahtarınız için SmartCard'ınız dışında bir yedek yaratmak istiyorsanız bir parola belirtin.
# Strings in enigmailSetCardPin.xul
cardPin.dontMatch=Girdiğiniz PIN uyuşmadı; tekrar girin lütfen
cardPin.minLength=PIN en az %S karakter ya da numara olmalı
cardPin.processFailed=PIN deÄŸiÅŸtirilemedi
# Strings in enigRetrieveProgres.xul
keyserverProgress.refreshing=Anahtarlar yenileniyor, lütfen bekleyin ...
keyserverProgress.uploading=Anahtarlar gönderiliyor, lütfen bekleyin ...
keyserverTitle.refreshing=Anahtarları Yenile
keyserverTitle.uploading=Anahtarları Gönder
# Strings in enigmailSetupWizard
passphrase.min8keys=Parolanız en az 8 karakter olmalı!
setupWizard.reallyCancel=Enigmail Kurulum Sihirbazından gerçekten mi çıkmak istiyorsunuz?
# Strings in enigmailAddUidDlg.xul
addUidDlg.nameOrEmailError=İsim ve mail adresi girmeniz gerekiyor
addUidDlg.nameMinLengthError=İsmin en az 5 karakter olması gerekiyor
addUidDlg.invalidEmailError=DoÄŸru bir mail adresi belirtmelisiniz
addUidDlg.commentError=Yorumlarda köşeli ayraç kullanımına izin verilmiyor
# msgCompose.partiallyEncrypted.short=Beware of leaking sensitive information - partially encrypted email.
# msgCompose.partiallyEncrypted.long=The message you are editing was partially encrypted. That is, the message contains unencrypted and encrypted parts. Some encrypted message parts may even be invisible to you.\n\nIf the sender was not able to decrpyt the message parts originally, it is likely that you only got the email with some surrounding unencrypted text in order to make you reveal the encrypted information.
enigmail/lang/tr/help/ 0000775 0000000 0000000 00000000000 13213001347 0015133 5 ustar 00root root 0000000 0000000 enigmail/lang/tr/help/compose.html 0000664 0000000 0000000 00000010075 13213001347 0017471 0 ustar 00root root 0000000 0000000
Enigmail Help: Message Composition
Enigmail Help
Using Enigmail when composing messages
Enigmail menu in Mail/Compose window
Sign message
Enable/Disable sending signed mail. User is notified, if signing fails.
Encrypt message
Enable/Disable encryption to all recipient(s) before sending. User is notified, if encryption fails.
If Display selection when necessary is set in Preferences -> Key Selection tab, a list of keys will pop up if there are addresses in the list of recipients for the message for whom you have no public key.
If Never display OpenPGP key selection dialog is set in Preferences -> Key Selection tab, and there are addresses in the list of recipients for the message for whom you have no public key, the message will be sent unencrypted.
Use PGP/MIME for this message
Enable/Disable the use of PGP/MIME for this message.
If you know the recipient(s) can read mail using the PGP/MIME format, you should use it.
This feature is dependent on the settings in Preferences -> PGP/MIME tab being set to Allow to use PGP/MIME or Always use PGP/MIME.
Default composition options
Signing/Encryption Options...: shortcut to Account Settings -> OpenPGP Options.
Send options...: shortcut to Preferences -> Send tab.
Key selection options...: shortcut to Preferences -> Key Selection tab.
PGP/MIME options...: shortcut to Preferences -> PGP/MIME tab.
Undo encryption
If there is a failure when actually sending mail, such as the POP server not accepting the request, Enigmail will not know about it, and the encrypted message will continue to be displayed in the Compose window. Choosing this menu item will undo the encryption/signing, reverting the Compose window back to its original text.
As a temporary fix, this option may also be used to decrypt the quoted text when replying to encrypted messages. Enigmail should automatically decrypt the quoted message, but if that fails for some reason, you can use this menu item to force it.
Insert public key
insert ASCII-armored public key block at the current cursor location in the Compose window. You will be prompted for the email addresses of the key(s) to be inserted. Keys inserted in this manner will automatically be recognized at the receiving end by Enigmail. After key insertion, you may still choose to sign/encrypt the mail as needed. Also, do not insert more than one key block in a message; just specify multiple email addresses, separated by commas or spaces, when prompted.
Clear save passphrase
Clears cached passphrase. Useful if you have multiple passphrases.
Help
Displays Help information from the website (this page).
Using the Enigmail Rules Editor: Edit OpenPGP Rule
In the Rules Editor, you can specify defaults per recipient for enabling encryption, signing and PGP/MIME, and to define what OpenPGP key(s) to use. In this dialog, you can specify the rules for a single recipient, and for a group of recipients with very similar attributes.
Set OpenPGP Rules for
Contains the email addresses of the recipients (without names, i.e. just an address like somebody@email.domain). You can specify several email addresses, separated by spaces. The address specified here can consist of only the domain section so that mail to any address at that domain will be matched, e.g. @email.domain will allow matching to body@email.domain, somebody@email.domain, anybody@email.domain, etc.
Apply rule if recipient ...
This modifies the matching of the email addresses. If multiple addresses are entered, the setting will apply to all. The examples below are based on body@email.domain entered in the OpenPGP Rules field above.
Is exactly: with this setting, the rule will only trigger on emails to body@email.domain (exact, case insensitive matching).
Contains: with this setting, any email address containing the string is matched, e.g. anybody@email.domain or body@email.domain.net
Begins with: with this setting, any email address starting with the string is matched, e.g. body@email.domain.net, body@email.domain-name.com.
Ends with: with this setting, any email address ending with the string is matched, e.g. anybody@email.domain , somebody@email.domain.
Continue with the next rule for the matching address
Enabling this function will allow you to define a rule but not have to specify a KeyID in the Use the following OpenPGP keys: field, so that the email address is used to check for a key at the time of sending. Also, further rules for the same address(es) will be processed as well.
Do not check further rules for the matching address
Enabling this function stops processing any other rules for the matching address(es) if this rule is matched; i.e. rule processing continues with the next recipient.
Use the following OpenPGP keys:
Use the Select Key(s).. button to select the recipient keys to be used for encryption. As in the action above, no further rules for the matching address(es) are processed.
Default for Signing
Enable or disable message signing. This either uses or overrides what you have specified in the message composition window. The values are:
Never: disable signing, even if it was enabled in the message composition window (overrules the other values)
Yes, if selected from in Message Composition: leave signing as specified in the message composition window
Always: enable signing, even if it was not enabled in the message composition window
These signing settings are applied for all rules that match. If one of the rules disables signing, the message will not be signed, regardless of other rules that specify Always.
Encryption
Enable or disable message encryption. The allowed settings and their meaning are the same as for message signing.
PGP/MIME
Enable or disable the use of the PGP/MIME (RFC 3156) message encoding. If PGP/MIME is disabled, the messages are encoded using "inline PGP". The allowed values and their meaning are the same as for message signing.
The rules are processed in the order displayed in the list in the OpenPGP Rules Editor. Whenever a rule matches a recipient and contains a OpenPGP Key ID, in addition to using the specified Key ID, the recipient is not considered anymore when processing further rules.
enigmail/lang/tr/help/initError.html 0000664 0000000 0000000 00000004536 13213001347 0020006 0 ustar 00root root 0000000 0000000
Enigmail Help: How to Resolve Problems with Initializing OpenPGP
Enigmail Help
How to Resolve Problems with Initializing OpenPGP
There are several reasons why initializing OpenPGP does not succeed. The most common ones are described below;
for more information please visit the Enigmail Support page.
GnuPG could not be found
In order for OpenPGP to work, the tool GnuPG needs to be installed.
If GnuPG cannot be found, then first make sure that the executable gpg.exe (on Windows; gpg on other platforms) is installed on your computer.
If GnuPG is installed, and OpenPGP cannot find it, then you need to manually set the path to GnuPG in the OpenPGP Preferences (menu OpenPGP > Preferences)
Enigmime failed to initialize
OpenPGP works only if it is built using the same build environment as Thunderbird or SeaMonkey was built. This means that you can use the official Enigmail releases only if you use the official releases of Thunderbird or SeaMonkey provided by mozilla.org.
If you use a Thunderbird or SeaMonkey version coming from some other source (e.g. the provider of your Linux distribution), or if you built the application yourself, you should either use an Enigmail version built by the same source, or build Enigmail yourself. For building Enigmail, refer to the Source Code section on the Enigmail home page. Please don't file any bug report concerning this problem, it is not solvable.
This button can be used for several purposes: decrypt, verify, or import public keys. Normally decryption/verification happens automatically, although this can be disabled through a preference. However, if this fails, usually a short error message will appear in the Enigmail status line. If you click the Decrypt button, you will be able to see a more detailed error message, including the output from the GnuPG command.
Pen and Key icons in Message Header display
The Pen and Key icons in the Message Header display indicate if the message you are reading was signed and/or encrypted and if the signature is good, i.e. the message has not been changed since it was signed. If the message has been changed, the Pen icon will change to a Broken Pen to indicate that the signature is bad. Right clicking on either the Pen or Key icons will bring up a menu with the following options:
OpenPGP Security info: allows you to view the output status from GnuPG for the message.
Copy OpenPGP Security info: copies the output status from GnuPG to the clipboard; to paste into a reply message, etc.
View OpenPGP Photo ID: allows you to view the Photo ID of the person who sent the message, if they have a photo embedded in their Public Key. (This option will only be enabled if a Photo ID exists in their key.)
S/MIME Security info: allows you to view the S/MIME Security Info for the message.
If you do not have keyserver-options auto-key-retrieve set in your gpg.conf file and you read a message which is signed or encrypted, you will see a Pen icon in the headers display area with a Question mark on it, the Enigmail status line in the headers area will say Part of the message signed; click pen icon for details and the message in the Message Pane will show all the OpenPGP message block indicators and the signature block.
You may also see this if you have keyserver-options auto-key-retrieve set in your gpg.conf file and the OpenPGP key is not available on the default keyserver.
Clicking on the Pen and Question mark icon will bring up a window advising that the key is unavailable in your keyring. Clicking on OK will bring up another window with a list of keyservers from which you can select to download the sender's public key from.
To configure the list of keyservers you wish to use, go to Enigmail -> Preferences -> Basic tab and enter the keyserver addresses in the Keyserver(s): box, separated by a comma. The first keyserver in the list will be used as the default.
Attachments named *.pgp, *.asc and *.gpg are recognized as attachments that can be handled specially by Enigmail. Right clicking on such an attachment enables two special menu items in the context menu: Decrypt and Open and Decrypt and Save. Use these two menu items if you want Enigmail to decrypt an attachment before opening or saving it. If an attachment is recognized as an OpenPGP key file, you are offered to import the keys it into your keyrings.
In the Rules Editor, you can specify defaults per recipient for enabling encryption, signing and PGP/MIME, and to define what OpenPGP key(s) to use. Each rule consists of 5 fields and is represented on a single line:
Email
The e-mail(s) from the To:, Cc: and Bcc: fields to match. The matching works on substrings (Further details can be found in the Edit Rule dialog)
OpenPGP Key(s)
a list of OpenPGP Key ID's to use for the recipient
Sign
enable or disable message signing. This either uses or overrides what you have specified in the message composition window. The values are:
Never: disable signing, even if it was enabled in the message composition window (overrules the other values)
Possible: leave signing as specified in the message composition window
Always: enable signing, even if it was not enabled in the message composition window
These signing settings are applied for all rules that match. If one of the rules disables signing, the message will not be signed, regardless of other rules that specify Always.
Encrypt
enable or disable message encryption. The allowed settings and their meaning are the same as for message signing.
PGP/MIME
enable or disable the use of the PGP/MIME (RFC 3156) message encoding. If PGP/MIME is disabled, the messages are encoded using "inline PGP". The allowed values and their meaning a re the same as for message signing.
The rules are processed in the order displayed in the list. Whenever a rule matches a recipient and contains a OpenPGP Key ID, in addition to using the specified Key ID, the recipient is not considered anymore when processing further rules.
Note: The rule editor is not yet complete. It is possible to write some more advanced rules by directly editing the rules file (these rules should then not be edited anymore in the rule editor). Further information for directly editing the file is available on the Enigmail Homepage
In the Sending Preferences you can choose the general model and preferences for encryption.
Convenient Encryption
With these settings, emails are encrypted without confirmation whenever possible.
This setup is appropriate, if you just want to improve your privacy by sending emails encyrpted instead of unencrypted if that's possible.
The effect is like sending emails as letters instead of postcards. Unlike postcards, letters usually hide their contents while in transit.
Note however that as with letters you can't be sure that nobody is opening the letter while it is in transit (although, some technical effort is necessary for that).
A concrete risk is that you accidentally use "faked keys" you got from somewhere or somebody claiming that the key belongs to the person you want to send emails to. To avoid this risk, you can either use the trust model of PGP (see below) or you should always verify, whether the fingerprint of a public key is correct.
Manual Encryption
This option allows you to specify the different preferences for encryption according to your needs. You can specify
whether replies to encrypted/signed emails should automatically also be encrypted/signed-
whether to use the trust model of OpenPGP to accept keys (this means that to use a key you either have to sign the key or have enough other people you trust having signed the key).
whether you want to automatically send emails encrypted if all keys are accepted.
whether and when you want to finally confirm sending an email.
This modifies the matching of the email addresses. If multiple addresses are entered, the setting will apply to all. The examples below are based on body@email.domain entered in the OpenPGP Rules field above.
ChÃnh xác là : vá»›i thiết láºp nà y, các quy tắc sẽ chỉ kÃch hoạt ở những thư Ä‘iện tỠđến body@email.domain (chÃnh xác, không so sánh chữ hoa/thưá»ng).
These signing settings are applied for all rules that match. If one of the rules disables signing, the message will not be signed, regardless of other rules that specify Always.
enigmail/lang/vi/help/initError.html 0000664 0000000 0000000 00000004536 13213001347 0017777 0 ustar 00root root 0000000 0000000
Enigmail Help: How to Resolve Problems with Initializing OpenPGP
Enigmail Help
How to Resolve Problems with Initializing OpenPGP
There are several reasons why initializing OpenPGP does not succeed. The most common ones are described below;
for more information please visit the Enigmail Support page.
GnuPG could not be found
In order for OpenPGP to work, the tool GnuPG needs to be installed.
If GnuPG cannot be found, then first make sure that the executable gpg.exe (on Windows; gpg on other platforms) is installed on your computer.
If GnuPG is installed, and OpenPGP cannot find it, then you need to manually set the path to GnuPG in the OpenPGP Preferences (menu OpenPGP > Preferences)
Enigmime failed to initialize
OpenPGP works only if it is built using the same build environment as Thunderbird or SeaMonkey was built. This means that you can use the official Enigmail releases only if you use the official releases of Thunderbird or SeaMonkey provided by mozilla.org.
If you use a Thunderbird or SeaMonkey version coming from some other source (e.g. the provider of your Linux distribution), or if you built the application yourself, you should either use an Enigmail version built by the same source, or build Enigmail yourself. For building Enigmail, refer to the Source Code section on the Enigmail home page. Please don't file any bug report concerning this problem, it is not solvable.
Nút nà y có thể được dùng cho nhiá»u mục Ä‘Ãch: giải mã, xác nháºn, hoặc nháºp các khóa công và o. Thông thưá»ng thì việc giải mã/xác nháºn xảy ra tá»± động, mặc dù Ä‘iá»u nà y có thể bị tắt qua má»™t tùy thÃch. Tuy nhiên, nếu Ä‘iá»u nà y không là m được thì má»™t thông báo lá»—i ngắn sẽ thưá»ng xuất hiện trong dòng trạng thái cá»§a Enigmail. Nếu bạn nhấn nút Giải mã, bạn sẽ có thể thấy má»™t thông báo lá»—i chi tiết hÆ¡n, kể luôn kết qá»§a cá»§a lệnh GnuPG.
Các biểu tượng cá»§a Bút và Khóa trong hiển thị Äầu đỠTin nhắn
The Pen and Key icons in the Message Header display indicate if the message you are reading was signed and/or encrypted and if the signature is good, i.e. the message has not been changed since it was signed. If the message has been changed, the Pen icon will change to a Broken Pen to indicate that the signature is bad. Right clicking on either the Pen or Key icons will bring up a menu with the following options:
In the Sending Preferences you can choose the general model and preferences for encryption.
Convenient Encryption
With these settings, emails are encrypted without confirmation whenever possible.
This setup is appropriate, if you just want to improve your privacy by sending emails encyrpted instead of unencrypted if that's possible.
The effect is like sending emails as letters instead of postcards. Unlike postcards, letters usually hide their contents while in transit.
Note however that as with letters you can't be sure that nobody is opening the letter while it is in transit (although, some technical effort is necessary for that).
A concrete risk is that you accidentally use "faked keys" you got from somewhere or somebody claiming that the key belongs to the person you want to send emails to. To avoid this risk, you can either use the trust model of PGP (see below) or you should always verify, whether the fingerprint of a public key is correct.
Manual Encryption
This option allows you to specify the different preferences for encryption according to your needs. You can specify
whether replies to encrypted/signed emails should automatically also be encrypted/signed-
whether to use the trust model of OpenPGP to accept keys (this means that to use a key you either have to sign the key or have enough other people you trust having signed the key).
whether you want to automatically send emails encrypted if all keys are accepted.
whether and when you want to finally confirm sending an email.
enigmail/lang/zh-CN/help/initError.html 0000664 0000000 0000000 00000004536 13213001347 0020300 0 ustar 00root root 0000000 0000000
Enigmail Help: How to Resolve Problems with Initializing OpenPGP
Enigmail Help
How to Resolve Problems with Initializing OpenPGP
There are several reasons why initializing OpenPGP does not succeed. The most common ones are described below;
for more information please visit the Enigmail Support page.
GnuPG could not be found
In order for OpenPGP to work, the tool GnuPG needs to be installed.
If GnuPG cannot be found, then first make sure that the executable gpg.exe (on Windows; gpg on other platforms) is installed on your computer.
If GnuPG is installed, and OpenPGP cannot find it, then you need to manually set the path to GnuPG in the OpenPGP Preferences (menu OpenPGP > Preferences)
Enigmime failed to initialize
OpenPGP works only if it is built using the same build environment as Thunderbird or SeaMonkey was built. This means that you can use the official Enigmail releases only if you use the official releases of Thunderbird or SeaMonkey provided by mozilla.org.
If you use a Thunderbird or SeaMonkey version coming from some other source (e.g. the provider of your Linux distribution), or if you built the application yourself, you should either use an Enigmail version built by the same source, or build Enigmail yourself. For building Enigmail, refer to the Source Code section on the Enigmail home page. Please don't file any bug report concerning this problem, it is not solvable.
In the Sending Preferences you can choose the general model and preferences for encryption.
Convenient Encryption
With these settings, emails are encrypted without confirmation whenever possible.
This setup is appropriate, if you just want to improve your privacy by sending emails encyrpted instead of unencrypted if that's possible.
The effect is like sending emails as letters instead of postcards. Unlike postcards, letters usually hide their contents while in transit.
Note however that as with letters you can't be sure that nobody is opening the letter while it is in transit (although, some technical effort is necessary for that).
A concrete risk is that you accidentally use "faked keys" you got from somewhere or somebody claiming that the key belongs to the person you want to send emails to. To avoid this risk, you can either use the trust model of PGP (see below) or you should always verify, whether the fingerprint of a public key is correct.
Manual Encryption
This option allows you to specify the different preferences for encryption according to your needs. You can specify
whether replies to encrypted/signed emails should automatically also be encrypted/signed-
whether to use the trust model of OpenPGP to accept keys (this means that to use a key you either have to sign the key or have enough other people you trust having signed the key).
whether you want to automatically send emails encrypted if all keys are accepted.
whether and when you want to finally confirm sending an email.
Enable/Disable sending signed mail. User is notified, if signing fails.
Encrypt message
Enable/Disable encryption to all recipient(s) before sending. User is notified, if encryption fails.
If Display selection when necessary is set in Preferences -> Key Selection tab, a list of keys will pop up if there are addresses in the list of recipients for the message for whom you have no public key.
If Never display OpenPGP key selection dialog is set in Preferences -> Key Selection tab, and there are addresses in the list of recipients for the message for whom you have no public key, the message will be sent unencrypted.
Use PGP/MIME for this message
Enable/Disable the use of PGP/MIME for this message.
If you know the recipient(s) can read mail using the PGP/MIME format, you should use it.
This feature is dependent on the settings in Preferences -> PGP/MIME tab being set to Allow to use PGP/MIME or Always use PGP/MIME.
Default composition options
Signing/Encryption Options...: shortcut to Account Settings -> OpenPGP Options.
Send options...: shortcut to Preferences -> Send tab.
Key selection options...: shortcut to Preferences -> Key Selection tab.
PGP/MIME options...: shortcut to Preferences -> PGP/MIME tab.
Undo encryption
If there is a failure when actually sending mail, such as the POP server not accepting the request, Enigmail will not know about it, and the encrypted message will continue to be displayed in the Compose window. Choosing this menu item will undo the encryption/signing, reverting the Compose window back to its original text.
As a temporary fix, this option may also be used to decrypt the quoted text when replying to encrypted messages. Enigmail should automatically decrypt the quoted message, but if that fails for some reason, you can use this menu item to force it.
Insert public key
insert ASCII-armored public key block at the current cursor location in the Compose window. You will be prompted for the email addresses of the key(s) to be inserted. Keys inserted in this manner will automatically be recognized at the receiving end by Enigmail. After key insertion, you may still choose to sign/encrypt the mail as needed. Also, do not insert more than one key block in a message; just specify multiple email addresses, separated by commas or spaces, when prompted.
Clear save passphrase
Clears cached passphrase. Useful if you have multiple passphrases.
Help
Displays Help information from the website (this page).
Using the Enigmail Rules Editor: Edit OpenPGP Rule
In the Rules Editor, you can specify defaults per recipient for enabling encryption, signing and PGP/MIME, and to define what OpenPGP key(s) to use. In this dialog, you can specify the rules for a single recipient, and for a group of recipients with very similar attributes.
Set OpenPGP Rules for
Contains the email addresses of the recipients (without names, i.e. just an address like somebody@email.domain). You can specify several email addresses, separated by spaces. The address specified here can consist of only the domain section so that mail to any address at that domain will be matched, e.g. @email.domain will allow matching to body@email.domain, somebody@email.domain, anybody@email.domain, etc.
Apply rule if recipient ...
This modifies the matching of the email addresses. If multiple addresses are entered, the setting will apply to all. The examples below are based on body@email.domain entered in the OpenPGP Rules field above.
Is exactly: with this setting, the rule will only trigger on emails to body@email.domain (exact, case insensitive matching).
Contains: with this setting, any email address containing the string is matched, e.g. anybody@email.domain or body@email.domain.net
Begins with: with this setting, any email address starting with the string is matched, e.g. body@email.domain.net, body@email.domain-name.com.
Ends with: with this setting, any email address ending with the string is matched, e.g. anybody@email.domain , somebody@email.domain.
Continue with the next rule for the matching address
Enabling this function will allow you to define a rule but not have to specify a KeyID in the Use the following OpenPGP keys: field, so that the email address is used to check for a key at the time of sending. Also, further rules for the same address(es) will be processed as well.
Do not check further rules for the matching address
Enabling this function stops processing any other rules for the matching address(es) if this rule is matched; i.e. rule processing continues with the next recipient.
Use the following OpenPGP keys:
Use the Select Key(s).. button to select the recipient keys to be used for encryption. As in the action above, no further rules for the matching address(es) are processed.
Default for Signing
Enable or disable message signing. This either uses or overrides what you have specified in the message composition window. The values are:
Never: disable signing, even if it was enabled in the message composition window (overrules the other values)
Yes, if selected from in Message Composition: leave signing as specified in the message composition window
Always: enable signing, even if it was not enabled in the message composition window
These signing settings are applied for all rules that match. If one of the rules disables signing, the message will not be signed, regardless of other rules that specify Always.
Encryption
Enable or disable message encryption. The allowed settings and their meaning are the same as for message signing.
PGP/MIME
Enable or disable the use of the PGP/MIME (RFC 3156) message encoding. If PGP/MIME is disabled, the messages are encoded using "inline PGP". The allowed values and their meaning are the same as for message signing.
The rules are processed in the order displayed in the list in the OpenPGP Rules Editor. Whenever a rule matches a recipient and contains a OpenPGP Key ID, in addition to using the specified Key ID, the recipient is not considered anymore when processing further rules.
enigmail/lang/zh-TW/help/initError.html 0000664 0000000 0000000 00000004536 13213001347 0020332 0 ustar 00root root 0000000 0000000
Enigmail Help: How to Resolve Problems with Initializing OpenPGP
Enigmail Help
How to Resolve Problems with Initializing OpenPGP
There are several reasons why initializing OpenPGP does not succeed. The most common ones are described below;
for more information please visit the Enigmail Support page.
GnuPG could not be found
In order for OpenPGP to work, the tool GnuPG needs to be installed.
If GnuPG cannot be found, then first make sure that the executable gpg.exe (on Windows; gpg on other platforms) is installed on your computer.
If GnuPG is installed, and OpenPGP cannot find it, then you need to manually set the path to GnuPG in the OpenPGP Preferences (menu OpenPGP > Preferences)
Enigmime failed to initialize
OpenPGP works only if it is built using the same build environment as Thunderbird or SeaMonkey was built. This means that you can use the official Enigmail releases only if you use the official releases of Thunderbird or SeaMonkey provided by mozilla.org.
If you use a Thunderbird or SeaMonkey version coming from some other source (e.g. the provider of your Linux distribution), or if you built the application yourself, you should either use an Enigmail version built by the same source, or build Enigmail yourself. For building Enigmail, refer to the Source Code section on the Enigmail home page. Please don't file any bug report concerning this problem, it is not solvable.
This button can be used for several purposes: decrypt, verify, or import public keys. Normally decryption/verification happens automatically, although this can be disabled through a preference. However, if this fails, usually a short error message will appear in the Enigmail status line. If you click the Decrypt button, you will be able to see a more detailed error message, including the output from the GnuPG command.
Pen and Key icons in Message Header display
The Pen and Key icons in the Message Header display indicate if the message you are reading was signed and/or encrypted and if the signature is good, i.e. the message has not been changed since it was signed. If the message has been changed, the Pen icon will change to a Broken Pen to indicate that the signature is bad. Right clicking on either the Pen or Key icons will bring up a menu with the following options:
OpenPGP Security info: allows you to view the output status from GnuPG for the message.
Copy OpenPGP Security info: copies the output status from GnuPG to the clipboard; to paste into a reply message, etc.
View OpenPGP Photo ID: allows you to view the Photo ID of the person who sent the message, if they have a photo embedded in their Public Key. (This option will only be enabled if a Photo ID exists in their key.)
S/MIME Security info: allows you to view the S/MIME Security Info for the message.
If you do not have keyserver-options auto-key-retrieve set in your gpg.conf file and you read a message which is signed or encrypted, you will see a Pen icon in the headers display area with a Question mark on it, the Enigmail status line in the headers area will say Part of the message signed; click pen icon for details and the message in the Message Pane will show all the OpenPGP message block indicators and the signature block.
You may also see this if you have keyserver-options auto-key-retrieve set in your gpg.conf file and the OpenPGP key is not available on the default keyserver.
Clicking on the Pen and Question mark icon will bring up a window advising that the key is unavailable in your keyring. Clicking on OK will bring up another window with a list of keyservers from which you can select to download the sender's public key from.
To configure the list of keyservers you wish to use, go to Enigmail -> Preferences -> Basic tab and enter the keyserver addresses in the Keyserver(s): box, separated by a comma. The first keyserver in the list will be used as the default.
Attachments named *.pgp, *.asc and *.gpg are recognized as attachments that can be handled specially by Enigmail. Right clicking on such an attachment enables two special menu items in the context menu: Decrypt and Open and Decrypt and Save. Use these two menu items if you want Enigmail to decrypt an attachment before opening or saving it. If an attachment is recognized as an OpenPGP key file, you are offered to import the keys it into your keyrings.
In the Rules Editor, you can specify defaults per recipient for enabling encryption, signing and PGP/MIME, and to define what OpenPGP key(s) to use. Each rule consists of 5 fields and is represented on a single line:
Email
The e-mail(s) from the To:, Cc: and Bcc: fields to match. The matching works on substrings (Further details can be found in the Edit Rule dialog)
OpenPGP Key(s)
a list of OpenPGP Key ID's to use for the recipient
Sign
enable or disable message signing. This either uses or overrides what you have specified in the message composition window. The values are:
Never: disable signing, even if it was enabled in the message composition window (overrules the other values)
Possible: leave signing as specified in the message composition window
Always: enable signing, even if it was not enabled in the message composition window
These signing settings are applied for all rules that match. If one of the rules disables signing, the message will not be signed, regardless of other rules that specify Always.
Encrypt
enable or disable message encryption. The allowed settings and their meaning are the same as for message signing.
PGP/MIME
enable or disable the use of the PGP/MIME (RFC 3156) message encoding. If PGP/MIME is disabled, the messages are encoded using "inline PGP". The allowed values and their meaning a re the same as for message signing.
The rules are processed in the order displayed in the list. Whenever a rule matches a recipient and contains a OpenPGP Key ID, in addition to using the specified Key ID, the recipient is not considered anymore when processing further rules.
Note: The rule editor is not yet complete. It is possible to write some more advanced rules by directly editing the rules file (these rules should then not be edited anymore in the rule editor). Further information for directly editing the file is available on the Enigmail Homepage
In the Sending Preferences you can choose the general model and preferences for encryption.
Convenient Encryption
With these settings, emails are encrypted without confirmation whenever possible.
This setup is appropriate, if you just want to improve your privacy by sending emails encyrpted instead of unencrypted if that's possible.
The effect is like sending emails as letters instead of postcards. Unlike postcards, letters usually hide their contents while in transit.
Note however that as with letters you can't be sure that nobody is opening the letter while it is in transit (although, some technical effort is necessary for that).
A concrete risk is that you accidentally use "faked keys" you got from somewhere or somebody claiming that the key belongs to the person you want to send emails to. To avoid this risk, you can either use the trust model of PGP (see below) or you should always verify, whether the fingerprint of a public key is correct.
Manual Encryption
This option allows you to specify the different preferences for encryption according to your needs. You can specify
whether replies to encrypted/signed emails should automatically also be encrypted/signed-
whether to use the trust model of OpenPGP to accept keys (this means that to use a key you either have to sign the key or have enough other people you trust having signed the key).
whether you want to automatically send emails encrypted if all keys are accepted.
whether and when you want to finally confirm sending an email.
If it is important for you that content you send encrypted can't be read by other people or organizations, you should use the manual preferences at least choose the option to accept keys only if you or other people signed them. While this model reduces the risk of using faked keys, it requires that you actively sign keys and declare owner trust using the key managament dialog.
enigmail/package/ 0000775 0000000 0000000 00000000000 13213001347 0014230 5 ustar 00root root 0000000 0000000 enigmail/package/.gitattributes 0000664 0000000 0000000 00000000013 13213001347 0017115 0 ustar 00root root 0000000 0000000 *.rdf text
enigmail/package/Makefile 0000664 0000000 0000000 00000004522 13213001347 0015673 0 ustar 00root root 0000000 0000000 # 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/.
DEPTH = ..
include $(DEPTH)/config/autoconf.mk
PREF_JS_EXPORTS = $(srcdir)/prefs/enigmail.js
COMPFILES = \
enigmail.js \
pgpmimeHandler.js \
mimeEncrypt.js \
prefs-service.js \
msgCompFields.js
PREFFILES = prefs/enigmail.js
MODFILES = \
app.jsm \
armor.jsm \
attachment.jsm \
card.jsm \
clipboard.jsm \
commandLine.jsm \
configBackup.jsm \
configure.jsm \
constants.jsm \
data.jsm \
decryption.jsm \
decryptPermanently.jsm \
dialog.jsm \
encryption.jsm \
core.jsm \
errorHandling.jsm \
funcs.jsm \
gpgAgent.jsm \
protocolHandler.jsm \
events.jsm \
execution.jsm \
expiry.jsm \
files.jsm \
filters.jsm \
fixExchangeMsg.jsm \
glodaMime.jsm \
glodaUtils.jsm \
gpg.jsm \
hash.jsm \
httpProxy.jsm \
installGnuPG.jsm \
key.jsm \
keyEditor.jsm \
keyRing.jsm \
keyserver.jsm \
lazy.jsm \
locale.jsm \
log.jsm \
mime.jsm \
mimeDecrypt.jsm \
mimeVerify.jsm \
os.jsm \
passwordCheck.jsm \
passwords.jsm \
pipeConsole.jsm \
prefs.jsm \
promise.jsm \
rng.jsm \
rules.jsm \
streams.jsm \
system.jsm \
time.jsm \
timer.jsm \
trust.jsm \
uris.jsm \
verify.jsm \
windows.jsm
all: deploy
deploy: $(PREFFILES) $(COMPFILES) $(MODFILES)
$(DEPTH)/util/install -m 644 $(DIST)/components $(COMPFILES)
$(DEPTH)/util/install -m 644 $(DIST)/defaults/preferences $(PREFFILES)
$(DEPTH)/util/install -m 644 $(DIST)/modules $(MODFILES)
clean:
$(DEPTH)/util/install -u $(DIST)/components $(COMPFILES)
$(DEPTH)/util/install -u $(DIST)/defaults/preferences $(PREFFILES)
$(DEPTH)/util/install -u $(DIST)/modules $(MODFILES)
enigmail/package/app.jsm 0000664 0000000 0000000 00000004156 13213001347 0015531 0 ustar 00root root 0000000 0000000 /*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 = ["EnigmailApp"];
const Cc = Components.classes;
const Ci = Components.interfaces;
const Cu = Components.utils;
Cu.import("resource://gre/modules/AddonManager.jsm"); /*global AddonManager: false */
Cu.import("resource://enigmail/log.jsm"); /*global EnigmailLog: false */
const DIR_SERV_CONTRACTID = "@mozilla.org/file/directory_service;1";
const ENIG_EXTENSION_GUID = "{847b3a00-7ab1-11d4-8f02-006008948af5}";
const SEAMONKEY_ID = "{92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}";
const XPCOM_APPINFO = "@mozilla.org/xre/app-info;1";
const EnigmailApp = {
/**
* Platform application name (e.g. Thunderbird)
*/
getName: function() {
return Cc[XPCOM_APPINFO].getService(Ci.nsIXULAppInfo).name;
},
/**
* Return the directory holding the current profile as nsIFile object
*/
getProfileDirectory: function() {
let ds = Cc[DIR_SERV_CONTRACTID].getService(Ci.nsIProperties);
return ds.get("ProfD", Ci.nsIFile);
},
isSuite: function() {
// return true if Seamonkey, false otherwise
return Cc[XPCOM_APPINFO].getService(Ci.nsIXULAppInfo).ID == SEAMONKEY_ID;
},
getVersion: function() {
EnigmailLog.DEBUG("app.jsm: getVersion\n");
EnigmailLog.DEBUG("app.jsm: installed version: " + EnigmailApp.version + "\n");
return EnigmailApp.version;
},
getInstallLocation: function() {
return EnigmailApp.installLocation;
},
setVersion: function(version) {
EnigmailApp.version = version;
},
setInstallLocation: function(location) {
EnigmailApp.installLocation = location;
},
registerAddon: function(addon) {
EnigmailApp.setVersion(addon.version);
EnigmailApp.setInstallLocation(addon.getResourceURI("").QueryInterface(Ci.nsIFileURL).file);
},
initAddon: function() {
AddonManager.getAddonByID(ENIG_EXTENSION_GUID, EnigmailApp.registerAddon);
}
};
EnigmailApp.initAddon();
enigmail/package/armor.jsm 0000664 0000000 0000000 00000013734 13213001347 0016073 0 ustar 00root root 0000000 0000000 /*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 = ["EnigmailArmor"];
Components.utils.import("resource://enigmail/log.jsm"); /* global EnigmailLog: false */
const Ci = Components.interfaces;
const nsIEnigmail = Ci.nsIEnigmail;
// Locates STRing in TEXT occurring only at the beginning of a line
function indexOfArmorDelimiter(text, str, offset) {
let currentOffset = offset;
while (currentOffset < text.length) {
let loc = text.indexOf(str, currentOffset);
if (loc === -1 || loc === 0 || text.charAt(loc - 1) == "\n") {
return loc;
}
currentOffset = loc + str.length;
}
return -1;
}
function searchBlankLine(str, then) {
var offset = str.search(/\n\s*\r?\n/);
if (offset === -1) {
return "";
}
else {
return then(offset);
}
}
function indexOfNewline(str, off, then) {
var offset = str.indexOf("\n", off);
if (offset === -1) {
return "";
}
else {
return then(offset);
}
}
const EnigmailArmor = {
// Locates offsets bracketing PGP armored block in text,
// starting from given offset, and returns block type string.
// beginIndex = offset of first character of block
// endIndex = offset of last character of block (newline)
// If block is not found, the null string is returned;
locateArmoredBlock: function(text, offset, indentStr, beginIndexObj, endIndexObj, indentStrObj) {
EnigmailLog.DEBUG("enigmail.js: Enigmail.locateArmoredBlock: " + offset + ", '" + indentStr + "'\n");
beginIndexObj.value = -1;
endIndexObj.value = -1;
var beginIndex = indexOfArmorDelimiter(text, indentStr + "-----BEGIN PGP ", offset);
if (beginIndex == -1) {
var blockStart = text.indexOf("-----BEGIN PGP ");
if (blockStart >= 0) {
var indentStart = text.search(/\n.*\-\-\-\-\-BEGIN PGP /) + 1;
indentStrObj.value = text.substring(indentStart, blockStart);
indentStr = indentStrObj.value;
beginIndex = indexOfArmorDelimiter(text, indentStr + "-----BEGIN PGP ", offset);
}
}
if (beginIndex == -1)
return "";
// Locate newline at end of armor header
offset = text.indexOf("\n", beginIndex);
if (offset == -1)
return "";
var endIndex = indexOfArmorDelimiter(text, indentStr + "-----END PGP ", offset);
if (endIndex == -1)
return "";
// Locate newline at end of PGP block
endIndex = text.indexOf("\n", endIndex);
if (endIndex == -1) {
// No terminating newline
endIndex = text.length - 1;
}
var blockHeader = text.substr(beginIndex, offset - beginIndex + 1);
var blockRegex = new RegExp("^" + indentStr +
"-----BEGIN PGP (.{1,30})-----\\s*\\r?\\n");
var matches = blockHeader.match(blockRegex);
var blockType = "";
if (matches && (matches.length > 1)) {
blockType = matches[1];
EnigmailLog.DEBUG("enigmail.js: Enigmail.locateArmoredBlock: blockType=" + blockType + "\n");
}
if (blockType == "UNVERIFIED MESSAGE") {
// Skip any unverified message block
return EnigmailArmor.locateArmoredBlock(text, endIndex + 1, indentStr, beginIndexObj, endIndexObj, indentStrObj);
}
beginIndexObj.value = beginIndex;
endIndexObj.value = endIndex;
return blockType;
},
/*
* locateArmoredBlocks returns an array with GPGBlock positions
*
* Struct:
* int obj.begin
* int obj.end
* string obj.blocktype
*
*
* @param string text
*
* @return empty array if no block was found
*
*/
locateArmoredBlocks: function(text) {
var beginObj = {};
var endObj = {};
var blocks = [];
var i = 0;
var b;
while ((b = EnigmailArmor.locateArmoredBlock(text, i, "", beginObj, endObj, {})) !== "") {
blocks.push({
begin: beginObj.value,
end: endObj.value,
blocktype: b
});
i = endObj.value;
}
EnigmailLog.DEBUG("enigmail.js: locateArmorBlocks: Found " + blocks.length + " Blocks\n");
return blocks;
},
extractSignaturePart: function(signatureBlock, part) {
EnigmailLog.DEBUG("enigmail.js: Enigmail.extractSignaturePart: part=" + part + "\n");
return searchBlankLine(signatureBlock, function(offset) {
return indexOfNewline(signatureBlock, offset + 1, function(offset) {
var beginIndex = signatureBlock.indexOf("-----BEGIN PGP SIGNATURE-----", offset + 1);
if (beginIndex == -1) {
return "";
}
if (part === nsIEnigmail.SIGNATURE_TEXT) {
return signatureBlock.substr(offset + 1, beginIndex - offset - 1).
replace(/^- -/, "-").
replace(/\n- -/g, "\n-").
replace(/\r- -/g, "\r-");
}
return indexOfNewline(signatureBlock, beginIndex, function(offset) {
var endIndex = signatureBlock.indexOf("-----END PGP SIGNATURE-----", offset);
if (endIndex == -1) {
return "";
}
var signBlock = signatureBlock.substr(offset, endIndex - offset);
return searchBlankLine(signBlock, function(armorIndex) {
if (part == nsIEnigmail.SIGNATURE_HEADERS) {
return signBlock.substr(1, armorIndex);
}
return indexOfNewline(signBlock, armorIndex + 1, function(armorIndex) {
if (part == nsIEnigmail.SIGNATURE_ARMOR) {
return signBlock.substr(armorIndex, endIndex - armorIndex).
replace(/\s*/g, "");
}
else {
return "";
}
});
});
});
});
});
},
registerOn: function(target) {
target.locateArmoredBlock = EnigmailArmor.locateArmoredBlock;
target.locateArmoredBlocks = EnigmailArmor.locateArmoredBlocks;
target.extractSignaturePart = EnigmailArmor.extractSignaturePart;
}
};
enigmail/package/attachment.jsm 0000664 0000000 0000000 00000003643 13213001347 0017101 0 ustar 00root root 0000000 0000000 /*global Components: false, escape: false, unescape: 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 = ["EnigmailAttachment"];
const Cu = Components.utils;
Cu.import("resource://enigmail/execution.jsm"); /*global EnigmailExecution: false */
Cu.import("resource://enigmail/log.jsm"); /*global EnigmailLog: false */
Cu.import("resource://enigmail/gpgAgent.jsm"); /*global EnigmailGpgAgent: false */
Cu.import("resource://enigmail/passwords.jsm"); /*global EnigmailPassword: false */
Cu.import("resource://enigmail/gpg.jsm"); /*global EnigmailGpg: false */
Cu.import("resource://enigmail/data.jsm"); /*global EnigmailData: false */
const EnigmailAttachment = {
getFileName: function(parent, byteData) {
EnigmailLog.DEBUG("attachment.jsm: getFileName\n");
const args = EnigmailGpg.getStandardArgs(true).
concat(EnigmailPassword.command()).
concat(["--decrypt"]);
const listener = EnigmailExecution.newSimpleListener(
function _stdin(pipe) {
EnigmailLog.DEBUG("attachment.jsm: getFileName: _stdin\n");
pipe.write(byteData);
pipe.write("\n");
pipe.close();
});
listener.stdout = function(data) {};
const proc = EnigmailExecution.execStart(EnigmailGpgAgent.agentPath, args, false, parent, listener, {});
if (!proc) {
return null;
}
proc.wait();
const matches = listener.stderrData.match(/^(\[GNUPG:\] PLAINTEXT [0-9]+ [0-9]+ )(.*)$/m);
if (matches && (matches.length > 2)) {
var filename = matches[2];
if (filename.indexOf(" ") > 0) {
filename = filename.replace(/ .*$/, "");
}
return EnigmailData.convertToUnicode(unescape(filename), "utf-8");
}
else {
return null;
}
}
};
enigmail/package/card.jsm 0000664 0000000 0000000 00000002254 13213001347 0015657 0 ustar 00root root 0000000 0000000 /*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 = ["EnigmailCard"];
const Cu = Components.utils;
Cu.import("resource://enigmail/log.jsm"); /*global EnigmailLog: false */
Cu.import("resource://enigmail/execution.jsm"); /*global EnigmailExecution: false */
Cu.import("resource://enigmail/gpg.jsm"); /*global EnigmailGpg: false */
const EnigmailCard = {
getCardStatus: function(exitCodeObj, errorMsgObj) {
EnigmailLog.DEBUG("card.jsm: EnigmailCard.getCardStatus\n");
const args = EnigmailGpg.getStandardArgs(false).
concat(["--status-fd", "2", "--fixed-list-mode", "--with-colons", "--card-status"]);
const statusMsgObj = {};
const statusFlagsObj = {};
const outputTxt = EnigmailExecution.execCmd(EnigmailGpg.agentPath, args, "", exitCodeObj, statusFlagsObj, statusMsgObj, errorMsgObj);
if ((exitCodeObj.value === 0) && !outputTxt) {
exitCodeObj.value = -1;
return "";
}
return outputTxt;
}
};
enigmail/package/chrome.manifest 0000775 0000000 0000000 00000015171 13213001347 0017245 0 ustar 00root root 0000000 0000000 content enigmail jar:chrome/enigmail.jar!/content/enigmail/
locale enigmail en-US jar:chrome/enigmail.jar!/locale/en-US/
# Skin for TBird Mac OS X
skin enigmail classic/1.0 jar:chrome/enigmail.jar!/skin/tb-mac/enigmail/ application!={92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a} os=Darwin
# Skin for TBird Windows
skin enigmail classic/1.0 jar:chrome/enigmail.jar!/skin/tb-win-xp/enigmail/ application!={92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a} os=WINNT osversion<6
skin enigmail classic/1.0 jar:chrome/enigmail.jar!/skin/aero/enigmail/ application!={92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a} os=WINNT osversion>=6
skin enigmail classic/1.0 jar:chrome/enigmail.jar!/skin/tb-win-xp/enigmail/ application!={92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a} os=OS2
# Skin for TBird other OS (e.g. Linux)
skin enigmail classic/1.0 jar:chrome/enigmail.jar!/skin/tb-linux/enigmail/ application!={92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a} os=Linux
skin enigmail classic/1.0 jar:chrome/enigmail.jar!/skin/tb-linux/enigmail/ application!={92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a} os=SunOS
skin enigmail classic/1.0 jar:chrome/enigmail.jar!/skin/tb-linux/enigmail/ application!={92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a} os=FreeBSD
skin enigmail classic/1.0 jar:chrome/enigmail.jar!/skin/tb-linux/enigmail/ application!={92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a} os=OpenBSD
skin enigmail classic/1.0 jar:chrome/enigmail.jar!/skin/tb-linux/enigmail/ application!={92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a} os=NetBSD
skin enigmail classic/1.0 jar:chrome/enigmail.jar!/skin/tb-linux/enigmail/ application!={92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a} os=AIX
skin enigmail classic/1.0 jar:chrome/enigmail.jar!/skin/tb-linux/enigmail/ application!={92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a} os=HP-UX
skin enigmail classic/1.0 jar:chrome/enigmail.jar!/skin/tb-linux/enigmail/ application!={92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a} os=DragonFly
# Skin for SeaMonkey
skin enigmail classic/1.0 jar:chrome/enigmail.jar!/skin/classic-seamonkey/enigmail/ application={92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}
skin enigmail modern/1.0 jar:chrome/enigmail.jar!/skin/modern/enigmail/
overlay chrome://messenger/content/messengercompose/messengercompose.xul chrome://enigmail/content/enigmailCheckLanguage.xul
overlay chrome://messenger/content/messengercompose/messengercompose.xul chrome://enigmail/content/enigmailMsgComposeOverlay.xul
overlay chrome://messenger/content/mailWindowOverlay.xul chrome://enigmail/content/enigmailCheckLanguage.xul
overlay chrome://messenger/content/messenger.xul chrome://enigmail/content/columnOverlay.xul
overlay chrome://messenger/content/csMailWindowOverlay.xul chrome://enigmail/content/enigmailCheckLanguage.xul
# Overlay for mailWindowOverlay on Spicebird
overlay chrome://messenger/content/csMailWindowOverlay.xul chrome://enigmail/content/messengerOverlay-tbird.xul
# Overlay for mailWindowOverlay on Thunderbird
overlay chrome://messenger/content/mailWindowOverlay.xul chrome://enigmail/content/messengerOverlay-tbird.xul application!={92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}
overlay chrome://enigmail/content/messengerOverlay-tbird.xul chrome://enigmail/content/enigmailMessengerOverlay.xul application!={92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}
# Overlay for mailWindowOverlay on SeaMonkey
overlay chrome://messenger/content/mailWindowOverlay.xul chrome://enigmail/content/messengerOverlay-sm.xul application={92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}
overlay chrome://enigmail/content/messengerOverlay-sm.xul chrome://enigmail/content/enigmailMessengerOverlay.xul application={92650c4d-4b8e-4d2a-b7eb-24ecf4f6b63a}
overlay chrome://messenger/content/msgHdrViewOverlay.xul chrome://enigmail/content/enigmailMsgHdrViewOverlay.xul
overlay chrome://messenger/content/FilterEditor.xul chrome://enigmail/content/enigmailFilterEditorOverlay.xul
overlay chrome://messenger/content/msgPrintEngine.xul chrome://enigmail/content/enigmailMsgPrintOverlay.xul
overlay chrome://messenger/content/am-identity-edit.xul chrome://enigmail/content/enigmailAmIdEditOverlay.xul
overlay chrome://messenger/content/am-identity-edit.xul chrome://enigmail/content/enigmailEditIdentity.xul
overlay chrome://messenger/content/addressbook/addressbook.xul chrome://enigmail/content/enigmailAbCardViewOverlay.xul
overlay chrome://messenger/content/addressbook/csContactsOverlay.xul chrome://enigmail/content/enigmailAbCardViewOverlay.xul
overlay chrome://messenger/content/addressbook/abContactsPanel.xul chrome://enigmail/content/enigmailAbContactsPanel.xul
overlay chrome://global/content/customizeToolbar.xul chrome://enigmail/content/enigmailCustToolOverlay.xul
overlay chrome://enigmail/content/am-enigprefs.xul chrome://enigmail/content/enigmailEditIdentity.xul
overlay chrome://enigmail/content/am-enigprefs-edit.xul chrome://enigmail/content/enigmailEditIdentity.xul
# Resource module registration
resource enigmail modules/
## Gecko 2.0 JavaScript component registration
# Enigmail
component {847b3a01-7ab1-11d4-8f02-006008948af5} components/enigmail.js
contract @mozdev.org/enigmail/enigmail;1 {847b3a01-7ab1-11d4-8f02-006008948af5}
# EnigmailProtocolHandler
component {847b3a11-7ab1-11d4-8f02-006008948af5} components/enigmail.js
contract @mozilla.org/network/protocol;1?name=enigmail {847b3a11-7ab1-11d4-8f02-006008948af5}
# Command line service
component {847b3ab1-7ab1-11d4-8f02-006008948af5} components/enigmail.js
contract @mozilla.org/enigmail/cline-handler;1 {847b3ab1-7ab1-11d4-8f02-006008948af5}
category command-line-handler cline-enigmail @mozilla.org/enigmail/cline-handler;1
# EnigMsgCompFields
component {847b3a30-7ab1-11d4-8f02-006008948af5} components/msgCompFields.js
contract @mozdev.org/enigmail/composefields;1 {847b3a30-7ab1-11d4-8f02-006008948af5}
# registration of service to decrypt PGP/MIME messages
component {7514cbeb-2bfd-4b2c-829b-1a4691fa0ac8} components/pgpmimeHandler.js
contract @mozilla.org/mime/pgp-mime-js-decrypt;1 {7514cbeb-2bfd-4b2c-829b-1a4691fa0ac8}
# registration of service to create PGP/MIME enrypted messages
component {1b040e64-e704-42b9-b05a-942e569afffc} components/mimeEncrypt.js
contract @mozilla.org/messengercompose/composesecure;1 {1b040e64-e704-42b9-b05a-942e569afffc}
# Preference Service
component {847b3ab0-7ab1-11d4-8f02-006008948af5} components/prefs-service.js
contract @mozilla.org/accountmanager/extension;1?name=enigprefs {847b3ab0-7ab1-11d4-8f02-006008948af5}
category mailnews-accountmanager-extensions enigmail-account-manager-extension @mozilla.org/accountmanager/extension;1?name=enigprefs
## interface specifiacations
interfaces components/enigmail.xpt
enigmail/package/clipboard.jsm 0000664 0000000 0000000 00000007252 13213001347 0016710 0 ustar 00root root 0000000 0000000 /*global Components: false */
/*
* 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 = ["EnigmailClipboard"];
// Import the Services module for future use, if we're not in
// a browser window where it's already loaded.
Components.utils.import('resource://gre/modules/Services.jsm');
const Ci = Components.interfaces;
const Cc = Components.classes;
// Create a constructor for the built-in supports-string class.
const nsSupportsString = Components.Constructor("@mozilla.org/supports-string;1", "nsISupportsString");
function SupportsString(str) {
// Create an instance of the supports-string class
var res = nsSupportsString();
// Store the JavaScript string that we want to wrap in the new nsISupportsString object
res.data = str;
return res;
}
// Create a constructor for the built-in transferable class
const nsTransferable = Components.Constructor("@mozilla.org/widget/transferable;1", "nsITransferable");
// Create a wrapper to construct an nsITransferable instance and set its source to the given window, when necessary
function Transferable(source) {
let res = nsTransferable();
if ('init' in res) {
// When passed a Window object, find a suitable privacy context for it.
if (source instanceof Ci.nsIDOMWindow)
source = source.QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIWebNavigation);
res.init(source);
}
return res;
}
var EnigmailClipboard = {
/**
* Get the content string of a clipboard
*
* @param window : nsIWindow or nsIDOMWindow of caller
* @param clipBoardType: Number - clipboard type according to nsIClipboard
*
* @return String - content of clipBoard
*/
getClipboardContent: function(window, clipBoardType) {
if (!window) throw "erorr - window must not be null";
let clipBoard = Cc["@mozilla.org/widget/clipboard;1"].getService(Ci.nsIClipboard);
let data = {};
let cBoardContent = "";
if (clipBoardType !== clipBoard.kSelectionClipboard || clipBoard.supportsSelectionClipboard()) {
try {
let transferable = Transferable(window);
transferable.addDataFlavor("text/unicode");
clipBoard.getData(transferable, clipBoardType);
let flavour = {};
let length = {};
transferable.getAnyTransferData(flavour, data, length);
cBoardContent = data.value.QueryInterface(Ci.nsISupportsString).data;
}
catch (ex) {}
}
return cBoardContent;
},
/**
* Set the global (and if available, the selection clipboard)
*
* @param str: String - data to set
* @param clipBoardType: Number - clipboard type according to nsIClipboard.
* If not provided, the global plus the selection clipboard will be used
*
* @return Boolean: true - success / false - failure
*/
setClipboardContent: function(str, clipBoardType) {
let useClipboard = clipBoardType;
if (clipBoardType === undefined) {
useClipboard = Ci.nsIClipboard.kGlobalClipboard;
}
try {
let clipBoard = Cc["@mozilla.org/widget/clipboard;1"].getService(Ci.nsIClipboard);
let clipBoardHlp = Cc["@mozilla.org/widget/clipboardhelper;1"].getService(Ci.nsIClipboardHelper);
clipBoardHlp.copyStringToClipboard(str, useClipboard);
if (clipBoard.supportsSelectionClipboard() &&
(useClipboard === Ci.nsIClipboard.kSelectionClipboard || clipBoardType === undefined)) {
clipBoardHlp.copyStringToClipboard(str, Ci.nsIClipboard.kSelectionClipboard);
}
}
catch (ex) {
return false;
}
return true;
}
};
enigmail/package/commandLine.jsm 0000664 0000000 0000000 00000003355 13213001347 0017177 0 ustar 00root root 0000000 0000000 /*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 = ["EnigmailCommandLine"];
const Cc = Components.classes;
const Ci = Components.interfaces;
const Cu = Components.utils;
Cu.import("resource://gre/modules/XPCOMUtils.jsm"); /*global XPCOMUtils: false */
const NS_ENIGCLINE_SERVICE_CID = Components.ID("{847b3ab1-7ab1-11d4-8f02-006008948af5}");
const NS_CLINE_SERVICE_CONTRACTID = "@mozilla.org/enigmail/cline-handler;1";
const nsICommandLineHandler = Ci.nsICommandLineHandler;
const nsIFactory = Ci.nsIFactory;
const nsISupports = Ci.nsISupports;
function Handler() {}
Handler.prototype = {
classDescription: "Enigmail Key Management CommandLine Service",
classID: NS_ENIGCLINE_SERVICE_CID,
contractID: NS_CLINE_SERVICE_CONTRACTID,
_xpcom_categories: [{
category: "command-line-handler",
entry: "m-cline-enigmail",
service: false
}],
QueryInterface: XPCOMUtils.generateQI([nsICommandLineHandler, nsIFactory, nsISupports]),
// nsICommandLineHandler
handle: function(cmdLine) {
if (cmdLine.handleFlag("pgpkeyman", false)) {
cmdLine.preventDefault = true; // do not open main app window
const wwatch = Cc["@mozilla.org/embedcomp/window-watcher;1"].getService(Ci.nsIWindowWatcher);
wwatch.openWindow(null, "chrome://enigmail/content/enigmailKeyManager.xul", "_blank", "chrome,dialog=no,all", cmdLine);
}
},
helpInfo: " -pgpkeyman Open the OpenPGP key management.\n",
lockFactory: function(lock) {}
};
const EnigmailCommandLine = {
Handler: Handler
};
enigmail/package/configBackup.jsm 0000664 0000000 0000000 00000015276 13213001347 0017351 0 ustar 00root root 0000000 0000000 /*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 = ["EnigmailConfigBackup"];
Components.utils.import("resource://enigmail/log.jsm"); /* global EnigmailLog: false */
Components.utils.import("resource://enigmail/rules.jsm"); /* global EnigmailRules: false */
Components.utils.import("resource://enigmail/files.jsm"); /* global EnigmailFiles: false */
Components.utils.import("resource://enigmail/prefs.jsm"); /* global EnigmailPrefs: false */
const Cc = Components.classes;
const Ci = Components.interfaces;
const TYPE_BOOL = 1;
const TYPE_CHAR = 2;
const TYPE_INT = 3;
const IdentityPref = {
enablePgp: TYPE_BOOL,
pgpkeyId: TYPE_CHAR,
pgpKeyMode: TYPE_INT,
pgpSignPlain: TYPE_BOOL,
pgpSignEncrypted: TYPE_BOOL,
defaultSigningPolicy: TYPE_INT,
defaultEncryptionPolicy: TYPE_INT,
openPgpHeaderMode: TYPE_INT,
openPgpUrlName: TYPE_CHAR,
pgpMimeMode: TYPE_BOOL,
attachPgpKey: TYPE_BOOL,
autoEncryptDrafts: TYPE_BOOL
};
var EnigmailConfigBackup = {
getAccountManager: function() {
let amService = Cc["@mozilla.org/messenger/account-manager;1"].getService(Ci.nsIMsgAccountManager);
return amService;
},
/**
* itereate over all identities and execute a callback function for each found element
*
* @param callbackFunc function - the callback for each identity
* The function takes the identity as 1st argument, i.e.
* callbackFunc(nsIMsgIdentity)
* @return - undefined
*/
forAllIdentitites: function(callbackFunc) {
let amService = this.getAccountManager();
amService.LoadAccounts(); // ensure accounts are really loaded
let a = amService.allIdentities;
for (let i = 0; i < a.length; i++) {
let id = a.queryElementAt(i, Ci.nsIMsgIdentity);
try {
callbackFunc(id);
}
catch (ex) {
EnigmailLog.DEBUG("configBackup.jsm: forAllIdentitites: exception " + ex.toString() + "\n");
}
}
},
/**
* backup Enigmail preferences to a file
*
* @param outputFile nsIFile - handle to file to be saved
*
* @return 0: success, other values: failure
*/
backupPrefs: function(outputFile) {
EnigmailLog.DEBUG("configBackup.jsm: backupPrefs\n");
// user preference
let prefObj = {
enigmailPrefs: EnigmailPrefs.getAllPrefs(),
mailIdentities: {}
};
function getIdentityPrefs(identity) {
if (!identity.getBoolAttribute("enablePgp")) return; // do nothing if Enigmail disabled
let keyObj = {
emailAddress: identity.email.toLowerCase(),
identityName: identity.identityName
};
for (let pref in IdentityPref) {
switch (IdentityPref[pref]) {
case TYPE_BOOL:
keyObj[pref] = identity.getBoolAttribute(pref);
break;
case TYPE_INT:
keyObj[pref] = identity.getIntAttribute(pref);
break;
case TYPE_CHAR:
keyObj[pref] = identity.getCharAttribute(pref);
break;
}
}
prefObj.mailIdentities[identity.key] = keyObj;
}
this.forAllIdentitites(getIdentityPrefs);
// per-recipient rules (aka pgpRules.xml)
var rulesFile = EnigmailRules.getRulesFile();
if (rulesFile.exists()) {
prefObj.rules = EnigmailFiles.readFile(rulesFile);
}
// serialize everything to UTF-8 encoded JSON.
var strm = Cc["@mozilla.org/network/file-output-stream;1"].createInstance(Ci.nsIFileOutputStream);
var nativeJSON = Cc["@mozilla.org/dom/json;1"].createInstance(Ci.nsIJSON);
try {
strm.init(outputFile, -1, -1, 0);
nativeJSON.encodeToStream(strm, "UTF-8", false, prefObj);
strm.close();
}
catch (ex) {
return -1;
}
return 0;
},
/**
* Restore Enigmail preferences from a file as generated by backpPrefs()
*
* @param inputFile nsIFile - handle to file to be saved
*
* @return Object: {
* retVal: Number - 0: success, other values: failure
* unmatchedIds: Array (String): keys of identities
* }
*/
restorePrefs: function(inputFile) {
EnigmailLog.DEBUG("configBackup.jsm: restorePrefs\n");
var prefObj;
var returnObj = {
retVal: -1,
unmatchedIds: []
};
function setIdentityPref(identity) {
for (let k in prefObj.mailIdentities) {
if (prefObj.mailIdentities[k].emailAddress === identity.email.toLowerCase()) {
EnigmailLog.DEBUG("configBackup.jsm: setIdentityPref: restoring values for " + identity.email + "\n");
prefObj.mailIdentities[k].foundMatchingEmail = true;
let keyObj = prefObj.mailIdentities[k];
for (let pref in IdentityPref) {
switch (IdentityPref[pref]) {
case TYPE_BOOL:
identity.setBoolAttribute(pref, keyObj[pref]);
break;
case TYPE_INT:
identity.setIntAttribute(pref, keyObj[pref]);
break;
case TYPE_CHAR:
identity.setCharAttribute(pref, keyObj[pref]);
break;
}
}
return;
}
}
EnigmailLog.DEBUG("configBackup.jsm: setIdentityPref: no matching data for " + identity.email + "\n");
}
// Profile must be a single UTF-8 encoded JSON object.
var strm = Cc["@mozilla.org/network/file-input-stream;1"].createInstance(Ci.nsIFileInputStream);
var nativeJSON = Cc["@mozilla.org/dom/json;1"].createInstance(Ci.nsIJSON);
try {
strm.init(inputFile, -1, -1, 0);
prefObj = nativeJSON.decodeFromStream(strm, "UTF-8", false);
strm.close();
var nsIPB = Ci.nsIPrefBranch;
var branch = EnigmailPrefs.getPrefBranch();
// Set all options recorded in the JSON file.
for (let name in prefObj.enigmailPrefs) {
EnigmailPrefs.setPref(name, prefObj.enigmailPrefs[name]);
}
this.forAllIdentitites(setIdentityPref);
for (let i in prefObj.mailIdentities) {
if (!("foundMatchingEmail" in prefObj.mailIdentities[i])) {
returnObj.unmatchedIds.push(prefObj.mailIdentities[i].identityName);
}
}
let am = this.getAccountManager();
am.saveAccountInfo();
EnigmailPrefs.savePrefs();
if ("rules" in prefObj) {
EnigmailRules.loadRulesFromString(prefObj.rules);
EnigmailRules.saveRulesFile();
}
}
catch (ex) {
EnigmailLog.ERROR("configBackup.jsm: restorePrefs - exception " + ex.toString() + "\n");
return returnObj;
}
returnObj.retVal = 0;
return returnObj;
}
};
enigmail/package/configure.jsm 0000664 0000000 0000000 00000021325 13213001347 0016727 0 ustar 00root root 0000000 0000000 /*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/.
*/
/*global Components: false */
"use strict";
var EXPORTED_SYMBOLS = ["EnigmailConfigure"];
const Cc = Components.classes;
const Ci = Components.interfaces;
const Cu = Components.utils;
/*global EnigmailLog: false, EnigmailPrefs: false, EnigmailTimer: false, EnigmailApp: false, EnigmailLocale: false, EnigmailDialog: false, EnigmailWindows: false */
Cu.import("resource://enigmail/log.jsm");
Cu.import("resource://enigmail/prefs.jsm");
Cu.import("resource://enigmail/timer.jsm");
Cu.import("resource://enigmail/app.jsm");
Cu.import("resource://enigmail/locale.jsm");
Cu.import("resource://enigmail/dialog.jsm");
Cu.import("resource://enigmail/windows.jsm");
function upgradeRecipientsSelection() {
// Upgrade perRecipientRules and recipientsSelectionOption to
// new recipientsSelection
var keySel = EnigmailPrefs.getPref("recipientsSelectionOption");
var perRecipientRules = EnigmailPrefs.getPref("perRecipientRules");
var setVal = 2;
/*
1: rules only
2: rules & email addresses (normal)
3: email address only (no rules)
4: manually (always prompt, no rules)
5: no rules, no key selection
*/
switch (perRecipientRules) {
case 0:
switch (keySel) {
case 0:
setVal = 5;
break;
case 1:
setVal = 3;
break;
case 2:
setVal = 4;
break;
default:
setVal = 2;
}
break;
case 1:
setVal = 2;
break;
case 2:
setVal = 1;
break;
default:
setVal = 2;
}
// set new pref
EnigmailPrefs.setPref("recipientsSelection", setVal);
// clear old prefs
EnigmailPrefs.getPrefBranch().clearUserPref("perRecipientRules");
EnigmailPrefs.getPrefBranch().clearUserPref("recipientsSelectionOption");
}
function upgradePrefsSending() {
EnigmailLog.DEBUG("enigmailCommon.jsm: upgradePrefsSending()\n");
var cbs = EnigmailPrefs.getPref("confirmBeforeSend");
var ats = EnigmailPrefs.getPref("alwaysTrustSend");
var ksfr = EnigmailPrefs.getPref("keepSettingsForReply");
EnigmailLog.DEBUG("enigmailCommon.jsm: upgradePrefsSending cbs=" + cbs + " ats=" + ats + " ksfr=" + ksfr + "\n");
// Upgrade confirmBeforeSend (bool) to confirmBeforeSending (int)
switch (cbs) {
case false:
EnigmailPrefs.setPref("confirmBeforeSending", 0); // never
break;
case true:
EnigmailPrefs.setPref("confirmBeforeSending", 1); // always
break;
}
// Upgrade alwaysTrustSend (bool) to acceptedKeys (int)
switch (ats) {
case false:
EnigmailPrefs.setPref("acceptedKeys", 0); // valid
break;
case true:
EnigmailPrefs.setPref("acceptedKeys", 1); // all
break;
}
// if all settings are default settings, use convenient encryption
if (cbs === false && ats === true && ksfr === true) {
EnigmailPrefs.setPref("encryptionModel", 0); // convenient
EnigmailLog.DEBUG("enigmailCommon.jsm: upgradePrefsSending() encryptionModel=0 (convenient)\n");
}
else {
EnigmailPrefs.setPref("encryptionModel", 1); // manually
EnigmailLog.DEBUG("enigmailCommon.jsm: upgradePrefsSending() encryptionModel=1 (manually)\n");
}
// clear old prefs
EnigmailPrefs.getPrefBranch().clearUserPref("confirmBeforeSend");
EnigmailPrefs.getPrefBranch().clearUserPref("alwaysTrustSend");
}
function upgradeHeadersView() {
// all headers hack removed -> make sure view is correct
var hdrMode = null;
try {
hdrMode = EnigmailPrefs.getPref("show_headers");
}
catch (ex) {}
if (!hdrMode) hdrMode = 1;
try {
EnigmailPrefs.getPrefBranch().clearUserPref("show_headers");
}
catch (ex) {}
EnigmailPrefs.getPrefRoot().setIntPref("mail.show_headers", hdrMode);
}
function upgradeCustomHeaders() {
try {
var extraHdrs = " " + EnigmailPrefs.getPrefRoot().getCharPref("mailnews.headers.extraExpandedHeaders").toLowerCase() + " ";
var extraHdrList = [
"x-enigmail-version",
"content-transfer-encoding",
"openpgp",
"x-mimeole",
"x-bugzilla-reason",
"x-php-bug"
];
for (let hdr in extraHdrList) {
extraHdrs = extraHdrs.replace(" " + extraHdrList[hdr] + " ", " ");
}
extraHdrs = extraHdrs.replace(/^ */, "").replace(/ *$/, "");
EnigmailPrefs.getPrefRoot().setCharPref("mailnews.headers.extraExpandedHeaders", extraHdrs);
}
catch (ex) {}
}
/**
* Change from global PGP/MIME setting to per-identity setting
*/
function upgradeOldPgpMime() {
var pgpMimeMode = false;
try {
pgpMimeMode = (EnigmailPrefs.getPref("usePGPMimeOption") == 2);
}
catch (ex) {
return;
}
try {
var accountManager = Cc["@mozilla.org/messenger/account-manager;1"].getService(Ci.nsIMsgAccountManager);
for (var i = 0; i < accountManager.allIdentities.length; i++) {
var id = accountManager.allIdentities.queryElementAt(i, Ci.nsIMsgIdentity);
if (id.getBoolAttribute("enablePgp")) {
id.setBoolAttribute("pgpMimeMode", pgpMimeMode);
}
}
EnigmailPrefs.getPrefBranch().clearUserPref("usePGPMimeOption");
}
catch (ex) {}
}
/**
* Change the default to PGP/MIME for all accounts, except nntp
*/
function defaultPgpMime() {
let accountManager = Cc["@mozilla.org/messenger/account-manager;1"].getService(Ci.nsIMsgAccountManager);
let changedSomething = false;
for (let acct = 0; acct < accountManager.accounts.length; acct++) {
let ac = accountManager.accounts.queryElementAt(acct, Ci.nsIMsgAccount);
if (ac.incomingServer.type.search(/(pop3|imap|movemail)/) >= 0) {
for (let i = 0; i < ac.identities.length; i++) {
let id = ac.identities.queryElementAt(i, Ci.nsIMsgIdentity);
if (id.getBoolAttribute("enablePgp") && !id.getBoolAttribute("pgpMimeMode")) {
changedSomething = true;
}
id.setBoolAttribute("pgpMimeMode", true);
}
}
}
if (EnigmailPrefs.getPref("advancedUser") && changedSomething) {
EnigmailDialog.alert(null,
EnigmailLocale.getString("preferences.defaultToPgpMime"));
}
}
const EnigmailConfigure = {
configureEnigmail: function(win, startingPreferences) {
EnigmailLog.DEBUG("configure.jsm: configureEnigmail\n");
let oldVer = EnigmailPrefs.getPref("configuredVersion");
let vc = Cc["@mozilla.org/xpcom/version-comparator;1"].getService(Ci.nsIVersionComparator);
if (oldVer === "") {
EnigmailWindows.openSetupWizard(win, false);
}
else {
if (oldVer < "0.95") {
try {
upgradeHeadersView();
upgradeOldPgpMime();
upgradeRecipientsSelection();
}
catch (ex) {}
}
if (vc.compare(oldVer, "1.0") < 0) {
upgradeCustomHeaders();
}
if (vc.compare(oldVer, "1.7a1pre") < 0) {
// 1: rules only
// => assignKeysByRules true; rest false
// 2: rules & email addresses (normal)
// => assignKeysByRules/assignKeysByEmailAddr/assignKeysManuallyIfMissing true
// 3: email address only (no rules)
// => assignKeysByEmailAddr/assignKeysManuallyIfMissing true
// 4: manually (always prompt, no rules)
// => assignKeysManuallyAlways true
// 5: no rules, no key selection
// => assignKeysByRules/assignKeysByEmailAddr true
upgradePrefsSending();
}
if (vc.compare(oldVer, "1.7") < 0) {
// open a modal dialog. Since this might happen during the opening of another
// window, we have to do this asynchronously
EnigmailTimer.setTimeout(
function _cb() {
var doIt = EnigmailDialog.confirmDlg(win,
EnigmailLocale.getString("enigmailCommon.versionSignificantlyChanged"),
EnigmailLocale.getString("enigmailCommon.checkPreferences"),
EnigmailLocale.getString("dlg.button.close"));
if (!startingPreferences && doIt) {
// same as:
// - EnigmailWindows.openPrefWindow(window, true, 'sendingTab');
// but
// - without starting the service again because we do that right now
// - and modal (waiting for its end)
win.openDialog("chrome://enigmail/content/pref-enigmail.xul",
"_blank", "chrome,resizable=yes,modal", {
'showBasic': true,
'clientType': 'thunderbird',
'selectTab': 'sendingTab'
});
}
}, 100);
}
if (vc.compare(oldVer, "1.9a2pre") < 0) {
defaultPgpMime();
}
}
EnigmailPrefs.setPref("configuredVersion", EnigmailApp.getVersion());
EnigmailPrefs.savePrefs();
}
};
enigmail/package/constants.jsm 0000664 0000000 0000000 00000002106 13213001347 0016756 0 ustar 00root root 0000000 0000000 /*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 = ["EnigmailConstants"];
const EnigmailConstants = {
POSSIBLE_PGPMIME: -2081,
// possible values for
// - encryptByRule, signByRules, pgpmimeByRules
// - encryptForced, signForced, pgpmimeForced (except CONFLICT)
// NOTE:
// - values 0/1/2 are used with this fixed semantics in the persistent rules
// - see also enigmailEncryptionDlg.xul
ENIG_NEVER: 0,
ENIG_UNDEF: 1,
ENIG_ALWAYS: 2,
ENIG_AUTO_ALWAYS: 22,
ENIG_CONFLICT: 99,
ENIG_FINAL_UNDEF: -1,
ENIG_FINAL_NO: 0,
ENIG_FINAL_YES: 1,
ENIG_FINAL_FORCENO: 10,
ENIG_FINAL_FORCEYES: 11,
ENIG_FINAL_SMIME_DISABLED: 98, // disabled to to preferring S/MIME
ENIG_FINAL_CONFLICT: 99,
MIME_HANDLER_UNDEF: 0,
MIME_HANDLER_SMIME: 1,
MIME_HANDLER_PGPMIME: 2,
nsIEnigmail: Components.interfaces.nsIEnigmail
};
enigmail/package/core.jsm 0000664 0000000 0000000 00000004743 13213001347 0015703 0 ustar 00root root 0000000 0000000 /*global Components: false, Enigmail: 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 = ["EnigmailCore"];
const Cc = Components.classes;
const Ci = Components.interfaces;
const enigmailHolder = {
svc: null
}; // Global Enigmail Service
let envList = null; // currently filled from enigmail.js
function lazy(importName, name) {
let holder = null;
return function(f) {
if (!holder) {
if (f) {
holder = f();
}
else {
const result = {};
Components.utils.import("resource://enigmail/" + importName, result);
holder = result[name];
}
}
return holder;
};
}
const EnigmailCore = {
version: "",
init: function(enigmailVersion) {
this.version = enigmailVersion;
},
/**
* get and or initialize the Enigmail service,
* including the handling for upgrading old preferences to new versions
*
* @win: - nsIWindow: parent window (optional)
* @startingPreferences - Boolean: true - called while switching to new preferences
* (to avoid re-check for preferences)
*/
getService: function(win, startingPreferences) {
// Lazy initialization of Enigmail JS component (for efficiency)
if (enigmailHolder.svc) {
return enigmailHolder.svc.initialized ? enigmailHolder.svc : null;
}
try {
enigmailHolder.svc = Cc["@mozdev.org/enigmail/enigmail;1"].createInstance(Ci.nsIEnigmail);
return enigmailHolder.svc.wrappedJSObject.getService(enigmailHolder, win, startingPreferences);
}
catch (ex) {
return null;
}
},
getEnigmailService: function() {
return enigmailHolder.svc;
},
setEnigmailService: function(v) {
enigmailHolder.svc = v;
},
ensuredEnigmailService: function(f) {
if (!enigmailHolder.svc) {
EnigmailCore.setEnigmailService(f());
}
return enigmailHolder.svc;
},
getKeyRing: lazy("keyRing.jsm", "EnigmailKeyRing"),
/**
* obtain a list of all environment variables
*
* @return: Array of Strings with the following structrue
* variable_name=variable_content
*/
getEnvList: function() {
return envList;
},
addToEnvList: function(str) {
EnigmailCore.getEnvList().push(str);
},
initEnvList: function() {
envList = [];
}
};
enigmail/package/data.jsm 0000664 0000000 0000000 00000007275 13213001347 0015667 0 ustar 00root root 0000000 0000000 /*global Components: false, EnigmailLog: false, unescape: false, atob: false, btoa: 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 = ["EnigmailData"];
const Cc = Components.classes;
const Ci = Components.interfaces;
const SCRIPTABLEUNICODECONVERTER_CONTRACTID = "@mozilla.org/intl/scriptableunicodeconverter";
const HEX_TABLE = "0123456789abcdef";
function converter(charset) {
let unicodeConv = Cc[SCRIPTABLEUNICODECONVERTER_CONTRACTID].getService(Ci.nsIScriptableUnicodeConverter);
unicodeConv.charset = charset || "utf-8";
return unicodeConv;
}
const EnigmailData = {
getUnicodeData: function(data) {
// convert output from subprocess to Unicode
var tmpStream = Cc["@mozilla.org/io/string-input-stream;1"].createInstance(Ci.nsIStringInputStream);
tmpStream.setData(data, data.length);
var inStream = Cc["@mozilla.org/scriptableinputstream;1"].createInstance(Ci.nsIScriptableInputStream);
inStream.init(tmpStream);
return inStream.read(tmpStream.available());
},
extractMessageId: function(uri) {
var messageId = "";
var matches = uri.match(/^enigmail:message\/(.+)/);
if (matches && (matches.length > 1)) {
messageId = matches[1];
}
return messageId;
},
extractMimeMessageId: function(uri) {
var messageId = "";
var matches = uri.match(/^enigmail:mime-message\/(.+)/);
if (matches && (matches.length > 1)) {
messageId = matches[1];
}
return messageId;
},
decodeQuotedPrintable: function(str) {
return unescape(str.replace(/%/g, "=25").replace(/\=/g, '%'));
},
decodeBase64: function(str) {
return atob(str.replace(/[\s\r\n]*/g, ""));
},
/***
* Encode a string in base64, with a max. line length of 72 characters
*/
encodeBase64: function(str) {
return btoa(str).replace(/(.{72})/g, "$1\r\n");
},
convertToUnicode: function(text, charset) {
if (!text || (charset && (charset.toLowerCase() == "iso-8859-1"))) {
return text;
}
// Encode plaintext
try {
return converter(charset).ConvertToUnicode(text);
}
catch (ex) {
return text;
}
},
convertFromUnicode: function(text, charset) {
if (!text) {
return "";
}
try {
return converter(charset).ConvertFromUnicode(text);
}
catch (ex) {
return text;
}
},
convertGpgToUnicode: function(text) {
if (typeof(text) === "string") {
text = text.replace(/\\x3a/ig, "\\e3A");
var a = text.search(/\\x[0-9a-fA-F]{2}/);
while (a >= 0) {
var ch = unescape('%' + text.substr(a + 2, 2));
var r = new RegExp("\\" + text.substr(a, 4));
text = text.replace(r, ch);
a = text.search(/\\x[0-9a-fA-F]{2}/);
}
text = EnigmailData.convertToUnicode(text, "utf-8").replace(/\\e3A/g, ":");
}
return text;
},
pack: function(value, bytes) {
let str = '';
let mask = 0xff;
for (let j = 0; j < bytes; j++) {
str = String.fromCharCode((value & mask) >> j * 8) + str;
mask <<= 8;
}
return str;
},
unpack: function(str) {
let len = str.length;
let value = 0;
for (let j = 0; j < len; j++) {
value <<= 8;
value |= str.charCodeAt(j);
}
return value;
},
bytesToHex: function(str) {
let len = str.length;
let hex = '';
for (let j = 0; j < len; j++) {
let charCode = str.charCodeAt(j);
hex += HEX_TABLE.charAt((charCode & 0xf0) >> 4) +
HEX_TABLE.charAt((charCode & 0x0f));
}
return hex;
}
};
enigmail/package/decryptPermanently.jsm 0000664 0000000 0000000 00000111564 13213001347 0020644 0 ustar 00root root 0000000 0000000 /*global Components: false, btoa: 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 = ["EnigmailDecryptPermanently"];
const Cu = Components.utils;
Cu.import("resource://gre/modules/AddonManager.jsm"); /*global AddonManager: false */
Cu.import("resource://gre/modules/XPCOMUtils.jsm"); /*global XPCOMUtils: false */
Cu.import("resource://enigmail/log.jsm"); /*global EnigmailLog: false */
Cu.import("resource://enigmail/armor.jsm"); /*global EnigmailArmor: false */
Cu.import("resource://enigmail/locale.jsm"); /*global EnigmailLocale: false */
Cu.import("resource://enigmail/execution.jsm"); /*global EnigmailExecution: false */
Cu.import("resource://enigmail/dialog.jsm"); /*global EnigmailDialog: false */
Cu.import("resource://enigmail/glodaUtils.jsm"); /*global GlodaUtils: false */
Cu.import("resource://enigmail/promise.jsm"); /*global Promise: false */
Cu.import("resource:///modules/MailUtils.js"); /*global MailUtils: false */
Cu.import("resource://enigmail/core.jsm"); /*global EnigmailCore: false */
Cu.import("resource://enigmail/gpgAgent.jsm"); /*global EnigmailGpgAgent: false */
Cu.import("resource://enigmail/gpg.jsm"); /*global EnigmailGpg: false */
Cu.import("resource://enigmail/streams.jsm"); /*global EnigmailStreams: false */
Cu.import("resource://enigmail/passwords.jsm"); /*global EnigmailPassword: false */
Cu.import("resource://enigmail/mime.jsm"); /*global EnigmailMime: false */
Cu.import("resource://enigmail/data.jsm"); /*global EnigmailData: false */
Cu.import("resource://enigmail/attachment.jsm"); /*global EnigmailAttachment: false */
/*global MimeBody: false, MimeUnknown: false, MimeMessageAttachment: false */
/*global msgHdrToMimeMessage: false, MimeMessage: false, MimeContainer: false */
Cu.import("resource://enigmail/glodaMime.jsm");
var EC = EnigmailCore;
const Cc = Components.classes;
const Ci = Components.interfaces;
const nsIEnigmail = Components.interfaces.nsIEnigmail;
const STATUS_OK = 0;
const STATUS_FAILURE = 1;
const STATUS_NOT_REQUIRED = 2;
const IOSERVICE_CONTRACTID = "@mozilla.org/network/io-service;1";
/*
* Decrypt a message and copy it to a folder
*
* @param nsIMsgDBHdr hdr Header of the message
* @param String destFolder Folder URI
* @param Boolean move If true the original message will be deleted
*
* @return a Promise that we do that
*/
const EnigmailDecryptPermanently = {
/***
* dispatchMessages
*
* Because Thunderbird throws all messages at once at us thus we have to rate limit the dispatching
* of the message processing. Because there is only a negligible performance gain when dispatching
* several message at once we serialize to not overwhelm low power devices.
*
* The function is implemented such that the 1st call (requireSync == true) is a synchronous function,
* while any other call is asynchronous. This is required to make the filters work correctly in case
* there are other filters that work on the message. (see bug 374).
*
* Parameters
* aMsgHdrs: Array of nsIMsgDBHdr
* targetFolder: String; target folder URI
* move: Boolean: type of action; true = "move" / false = "copy"
* requireSync: Boolean: true = require function to behave synchronously
* false = async function (no useful return value)
*
**/
dispatchMessages: function(aMsgHdrs, targetFolder, move, requireSync) {
var inspector = Cc["@mozilla.org/jsinspector;1"].getService(Ci.nsIJSInspector);
var promise = EnigmailDecryptPermanently.decryptMessage(aMsgHdrs[0], targetFolder, move);
var done = false;
var processNext = function(data) {
aMsgHdrs.splice(0, 1);
if (aMsgHdrs.length > 0) {
EnigmailDecryptPermanently.dispatchMessages(aMsgHdrs, targetFolder, move, false);
}
else {
// last message was finished processing
done = true;
inspector.exitNestedEventLoop();
}
};
promise.then(processNext);
promise.catch(function(err) {
processNext(null);
});
if (requireSync && !done) {
// wait here until all messages processed, such that the function returns
// synchronously
inspector.enterNestedEventLoop({
value: 0
});
}
},
decryptMessage: function(hdr, destFolder, move) {
return new Promise(
function(resolve, reject) {
let msgUriSpec = hdr.folder.getUriForMsg(hdr);
const msgSvc = Cc["@mozilla.org/messenger;1"].createInstance(Ci.nsIMessenger).
messageServiceFromURI(msgUriSpec);
const decrypt = new DecryptMessageIntoFolder(destFolder, move, resolve);
try {
msgHdrToMimeMessage(hdr, decrypt, decrypt.messageParseCallback, true, {
examineEncryptedParts: false,
partsOnDemand: false
});
}
catch (ex) {
reject("msgHdrToMimeMessage failed");
}
return;
}
);
}
};
function DecryptMessageIntoFolder(destFolder, move, resolve) {
this.destFolder = destFolder;
this.move = move;
this.resolve = resolve;
this.foundPGP = 0;
this.mime = null;
this.hdr = null;
this.decryptionTasks = [];
this.subject = "";
}
DecryptMessageIntoFolder.prototype = {
messageParseCallback: function(hdr, mime) {
this.hdr = hdr;
this.mime = mime;
var self = this;
try {
if (!mime) {
this.resolve(true);
return;
}
if (!("content-type" in mime.headers)) {
mime.headers["content-type"] = ["text/plain"];
}
var ct = getContentType(getHeaderValue(mime, 'content-type'));
var pt = getProtocol(getHeaderValue(mime, 'content-type'));
this.subject = GlodaUtils.deMime(getHeaderValue(mime, 'subject'));
if (!ct) {
this.resolve(true);
return;
}
this.walkMimeTree(this.mime, this.mime);
this.decryptINLINE(this.mime);
if (this.foundPGP < 0) {
// decryption failed
this.resolve(true);
return;
}
for (let i in this.mime.allAttachments) {
let a = this.mime.allAttachments[i];
let suffixIndexEnd = a.name.toLowerCase().lastIndexOf('.pgp');
if (suffixIndexEnd < 0) {
suffixIndexEnd = a.name.toLowerCase().lastIndexOf('.asc');
}
if (suffixIndexEnd > 0 &&
a.contentType.search(/application\/pgp-signature/i) < 0) {
// possible OpenPGP attachment
let p = self.decryptAttachment(a, a.name.substring(0, suffixIndexEnd));
this.decryptionTasks.push(p);
}
else {
let p = this.readAttachment(a);
this.decryptionTasks.push(p);
}
}
Promise.all(this.decryptionTasks).then(
function(tasks) {
self.allTasks = tasks;
for (let a in tasks) {
switch (tasks[a].status) {
case STATUS_NOT_REQUIRED:
tasks[a].name = tasks[a].origName;
break;
case STATUS_OK:
++self.foundPGP;
break;
case STATUS_FAILURE:
// attachment did not decrypt successfully
self.resolve(true);
return;
default:
// no valid result?!
tasks[a].name = tasks[a].origName;
}
}
if (self.foundPGP === 0) {
self.resolve(true);
return;
}
var msg = self.mimeToString(self.mime, true);
if (!msg || msg === "") {
// no message data found
self.resolve(true);
return;
}
//XXX Do we wanna use the tmp for this?
var tempFile = Cc["@mozilla.org/file/directory_service;1"].getService(Ci.nsIProperties).get("TmpD", Ci.nsIFile);
tempFile.append("message.eml");
tempFile.createUnique(0, 384); // == 0600, octal is deprecated
// ensure that file gets deleted on exit, if something goes wrong ...
var extAppLauncher = Cc["@mozilla.org/mime;1"].getService(Ci.nsPIExternalAppLauncher);
var foStream = Cc["@mozilla.org/network/file-output-stream;1"].createInstance(Ci.nsIFileOutputStream);
foStream.init(tempFile, 2, 0x200, false); // open as "write only"
foStream.write(msg, msg.length);
foStream.close();
extAppLauncher.deleteTemporaryFileOnExit(tempFile);
//
// This was taken from the HeaderToolsLite Example Addon "original by Frank DiLecce"
//
// this is interesting: nsIMsgFolder.copyFileMessage seems to have a bug on Windows, when
// the nsIFile has been already used by foStream (because of Windows lock system?), so we
// must initialize another nsIFile object, pointing to the temporary file
var fileSpec = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsIFile);
fileSpec.initWithPath(tempFile.path);
const copySvc = Cc["@mozilla.org/messenger/messagecopyservice;1"].getService(Ci.nsIMsgCopyService);
var copyListener = {
QueryInterface: function(iid) {
if (iid.equals(Ci.nsIMsgCopyServiceListener) || iid.equals(Ci.nsISupports)) {
return this;
}
EnigmailLog.DEBUG("decryptPermanently.jsm: copyListener error\n");
throw Components.results.NS_NOINTERFACE;
},
GetMessageId: function(messageId) {},
OnProgress: function(progress, progressMax) {},
OnStartCopy: function() {},
SetMessageKey: function(key) {},
OnStopCopy: function(statusCode) {
if (statusCode !== 0) {
//XXX complain?
EnigmailLog.DEBUG("decryptPermanently.jsm: Error copying message: " + statusCode + "\n");
try {
tempFile.remove(false);
}
catch (ex) {
try {
fileSpec.remove(false);
}
catch (e2) {
EnigmailLog.DEBUG("decryptPermanently.jsm: Could not delete temp file\n");
}
}
self.resolve(true);
return;
}
EnigmailLog.DEBUG("decryptPermanently.jsm: Copy complete\n");
if (self.move) {
EnigmailLog.DEBUG("decryptPermanently.jsm: Delete original\n");
var folderInfoObj = {};
self.hdr.folder.getDBFolderInfoAndDB(folderInfoObj).DeleteMessage(self.hdr.messageKey, null, true);
}
try {
tempFile.remove(false);
}
catch (ex) {
try {
fileSpec.remove(false);
}
catch (e2) {
EnigmailLog.DEBUG("decryptPermanently.jsm: Could not delete temp file\n");
}
}
EnigmailLog.DEBUG("decryptPermanently.jsm: Cave Johnson. We're done\n");
self.resolve(true);
}
};
copySvc.CopyFileMessage(fileSpec, MailUtils.getFolderForURI(self.destFolder, false), self.hdr,
false, 0, null, copyListener, null);
}
).catch(
function catchErr(errorMsg) {
EnigmailLog.DEBUG("decryptPermanently.jsm: Promise.catchErr: " + errorMsg + "\n");
self.resolve(false);
}
);
}
catch (ex) {
EnigmailLog.DEBUG("decryptPermanently.jsm: messageParseCallback: caught error " + ex.toString() + "\n");
self.resolve(false);
}
},
readAttachment: function(attachment, strippedName) {
return new Promise(
function(resolve, reject) {
EnigmailLog.DEBUG("decryptPermanently.jsm: readAttachment\n");
let o;
var f = function _cb(data) {
EnigmailLog.DEBUG("decryptPermanently.jsm: readAttachment - got data (" + data.length + ")\n");
o = {
type: "attachment",
data: data,
name: strippedName ? strippedName : attachment.name,
partName: attachment.partName,
origName: attachment.name,
status: STATUS_NOT_REQUIRED
};
resolve(o);
};
try {
var bufferListener = EnigmailStreams.newStringStreamListener(f);
var ioServ = Cc[IOSERVICE_CONTRACTID].getService(Components.interfaces.nsIIOService);
var msgUri = ioServ.newURI(attachment.url, null, null);
var channel = ioServ.newChannelFromURI(msgUri);
channel.asyncOpen(bufferListener, msgUri);
}
catch (ex) {
reject(o);
}
}
);
},
decryptAttachment: function(attachment, strippedName) {
var self = this;
return new Promise(
function(resolve, reject) {
EnigmailLog.DEBUG("decryptPermanently.jsm: decryptAttachment\n");
self.readAttachment(attachment, strippedName).then(
function(o) {
var attachmentHead = o.data.substr(0, 30);
if (attachmentHead.match(/\-\-\-\-\-BEGIN PGP \w{5,10} KEY BLOCK\-\-\-\-\-/)) {
// attachment appears to be a PGP key file, we just go-a-head
resolve(o);
return;
}
var enigmailSvc = EnigmailCore.getService();
var args = EnigmailGpg.getStandardArgs(true);
args = args.concat(EnigmailPassword.command());
args.push("-d");
var statusMsgObj = {};
var cmdLineObj = {};
var exitCode = -1;
var statusFlagsObj = {};
var errorMsgObj = {};
statusFlagsObj.value = 0;
var listener = EnigmailExecution.newSimpleListener(
function _stdin(pipe) {
// try to get original file name if file does not contain suffix
if (strippedName.indexOf(".") < 0) {
let s = EnigmailAttachment.getFileName(null, o.data);
if (s) o.name = s;
}
pipe.write(o.data);
pipe.close();
}
);
do {
var proc = EnigmailExecution.execStart(EnigmailGpgAgent.agentPath, args, false, null, listener, statusFlagsObj);
if (!proc) {
resolve(o);
return;
}
// Wait for child STDOUT to close
proc.wait();
EnigmailExecution.execEnd(listener, statusFlagsObj, statusMsgObj, cmdLineObj, errorMsgObj);
if ((listener.stdoutData && listener.stdoutData.length > 0) ||
(statusFlagsObj.value & nsIEnigmail.DECRYPTION_OKAY)) {
EnigmailLog.DEBUG("decryptPermanently.jsm: decryptAttachment: decryption OK\n");
exitCode = 0;
}
else if (statusFlagsObj.value & nsIEnigmail.DECRYPTION_FAILED) {
EnigmailLog.DEBUG("decryptPermanently.jsm: decryptAttachment: decryption failed\n");
if (EnigmailGpgAgent.useGpgAgent()) {
// since we cannot find out if the user wants to cancel
// we should ask
let msg = EnigmailLocale.getString("converter.decryptAtt.failed", [attachment.name, self.subject]);
if (!EnigmailDialog.confirmDlg(null, msg,
EnigmailLocale.getString("dlg.button.retry"), EnigmailLocale.getString("dlg.button.skip"))) {
o.status = STATUS_FAILURE;
resolve(o);
return;
}
}
}
else if (statusFlagsObj.value & nsIEnigmail.DECRYPTION_INCOMPLETE) {
// failure; message not complete
EnigmailLog.DEBUG("decryptPermanently.jsm: decryptAttachment: decryption incomplete\n");
o.status = STATUS_FAILURE;
resolve(o);
return;
}
else {
// there is nothing to be decrypted
EnigmailLog.DEBUG("decryptPermanently.jsm: decryptAttachment: no decryption required\n");
o.status = STATUS_NOT_REQUIRED;
resolve(o);
return;
}
} while (exitCode !== 0);
EnigmailLog.DEBUG("decryptPermanently.jsm: decryptAttachment: decrypted to " + listener.stdoutData.length + " bytes\n");
o.data = listener.stdoutData;
o.status = STATUS_OK;
resolve(o);
}
);
}
);
},
/*
* The following functions walk the MIME message structure and decrypt if they find something to decrypt
*/
// the sunny world of PGP/MIME
walkMimeTree: function(mime, parent) {
EnigmailLog.DEBUG("decryptPermanently.jsm: walkMimeTree:\n");
let ct = getContentType(getHeaderValue(mime, 'content-type'));
EnigmailLog.DEBUG("decryptPermanently.jsm: walkMimeTree: part=" + mime.partName + " - " + ct + "\n");
// assign part name on lowest possible level -> that's where the attachment
// really belongs to
for (let i in mime.allAttachments) {
mime.allAttachments[i].partName = mime.partName;
}
if (this.isPgpMime(mime) || this.isSMime(mime)) {
let p = this.decryptPGPMIME(parent, mime.partName);
this.decryptionTasks.push(p);
}
else if (this.isBrokenByExchange(mime)) {
let p = this.decryptAttachment(mime.parts[0].parts[2], "decrypted.txt");
mime.isBrokenByExchange = true;
mime.parts[0].parts[2].name = "ignore.txt";
this.decryptionTasks.push(p);
}
else if (typeof(mime.body) == "string") {
EnigmailLog.DEBUG(" body size: " + mime.body.length + "\n");
}
for (var i in mime.parts) {
this.walkMimeTree(mime.parts[i], mime);
}
},
/***
*
* Detect if mime part is PGP/MIME message that got modified by MS-Exchange:
*
* - multipart/mixed Container with
* - application/pgp-encrypted Attachment with name "PGPMIME Version Identification"
* - application/octet-stream Attachment with name "encrypted.asc" having the encrypted content in base64
* - see:
* - http://www.mozilla-enigmail.org/forum/viewtopic.php?f=4&t=425
* - http://sourceforge.net/p/enigmail/forum/support/thread/4add2b69/
*/
isBrokenByExchange: function(mime) {
EnigmailLog.DEBUG("decryptPermanently.jsm: isBrokenByExchange:\n");
try {
if (mime.parts && mime.parts.length && mime.parts.length == 1 &&
mime.parts[0].parts && mime.parts[0].parts.length && mime.parts[0].parts.length == 3 &&
mime.parts[0].headers["content-type"][0].indexOf("multipart/mixed") >= 0 &&
mime.parts[0].parts[0].size === 0 &&
mime.parts[0].parts[0].headers["content-type"][0].search(/multipart\/encrypted/i) < 0 &&
mime.parts[0].parts[0].headers["content-type"][0].indexOf("text/plain") >= 0 &&
mime.parts[0].parts[1].headers["content-type"][0].indexOf("application/pgp-encrypted") >= 0 &&
mime.parts[0].parts[1].headers["content-type"][0].search(/multipart\/encrypted/i) < 0 &&
mime.parts[0].parts[1].headers["content-type"][0].search(/PGPMIME Versions? Identification/i) >= 0 &&
mime.parts[0].parts[2].headers["content-type"][0].indexOf("application/octet-stream") >= 0 &&
mime.parts[0].parts[2].headers["content-type"][0].indexOf("encrypted.asc") >= 0) {
EnigmailLog.DEBUG("decryptPermanently.jsm: isBrokenByExchange: found message broken by MS-Exchange\n");
return true;
}
}
catch (ex) {}
return false;
},
isPgpMime: function(mime) {
EnigmailLog.DEBUG("decryptPermanently.jsm: isPgpMime:\n");
try {
var ct = mime.contentType;
if (!ct) return false;
if (!('content-type' in mime.headers)) return false;
var pt = getProtocol(getHeaderValue(mime, 'content-type'));
if (!pt) return false;
if (ct.toLowerCase() == "multipart/encrypted" && pt == "application/pgp-encrypted") {
return true;
}
}
catch (ex) {
//EnigmailLog.DEBUG("decryptPermanently.jsm: isPgpMime:"+ex+"\n");
}
return false;
},
// smime-type=enveloped-data
isSMime: function(mime) {
EnigmailLog.DEBUG("decryptPermanently.jsm: isSMime:\n");
try {
var ct = mime.contentType;
if (!ct) return false;
if (!('content-type' in mime.headers)) return false;
var pt = getSMimeProtocol(getHeaderValue(mime, 'content-type'));
if (!pt) return false;
if (ct.toLowerCase() == "application/pkcs7-mime" && pt == "enveloped-data") {
return true;
}
}
catch (ex) {
EnigmailLog.DEBUG("decryptPermanently.jsm: isSMime:" + ex + "\n");
}
return false;
},
decryptPGPMIME: function(mime, part) {
EnigmailLog.DEBUG("decryptPermanently.jsm: decryptPGPMIME: part=" + part + "\n");
var self = this;
return new Promise(
function(resolve, reject) {
var m = Cc["@mozilla.org/messenger/mimeheaders;1"].createInstance(Ci.nsIMimeHeaders);
var messenger = Cc["@mozilla.org/messenger;1"].getService(Ci.nsIMessenger);
let msgSvc = messenger.messageServiceFromURI(self.hdr.folder.getUriForMsg(self.hdr));
let u = {};
msgSvc.GetUrlForUri(self.hdr.folder.getUriForMsg(self.hdr), u, null);
let op = (u.value.spec.indexOf("?") > 0 ? "&" : "?");
let url = u.value.spec + op + 'part=' + part + "&header=enigmailConvert";
EnigmailLog.DEBUG("decryptPermanently.jsm: getting data from URL " + url + "\n");
let s = EnigmailStreams.newStringStreamListener(
function analyzeDecryptedData(data) {
EnigmailLog.DEBUG("decryptPermanently.jsm: analyzeDecryptedData: got " + data.length + " bytes\n");
if (EnigmailLog.getLogLevel() > 5) {
EnigmailLog.DEBUG("*** start data ***\n'" + data + "'\n***end data***\n");
}
let subpart = mime.parts[0];
let o = {
type: "mime",
name: "",
origName: "",
data: "",
partName: part,
status: STATUS_OK
};
if (data.length === 0) {
// fail if no data found
o.status = STATUS_FAILURE;
resolve(o);
return;
}
let bodyIndex = data.search(/\n\s*\r?\n/);
if (bodyIndex < 0) {
bodyIndex = 0;
}
else {
++bodyIndex;
}
if (data.substr(bodyIndex).search(/\r?\n$/) === 0) {
o.status = STATUS_FAILURE;
resolve(o);
return;
}
m.initialize(data.substr(0, bodyIndex));
let ct = m.extractHeader("content-type", false) || "";
let boundary = getBoundary(getHeaderValue(mime, 'content-type'));
if (!boundary) boundary = EnigmailMime.createBoundary();
// append relevant headers
mime.headers['content-type'] = "multipart/mixed; boundary=\"" + boundary + "\"";
o.data = "--" + boundary + "\n";
o.data += "Content-Type: " + ct + "\n";
let h = m.extractHeader("content-transfer-encoding", false);
if (h) o.data += "content-transfer-encoding: " + h + "\n";
h = m.extractHeader("content-description", true);
if (h) o.data += "content-description: " + h + "\n";
o.data += data.substr(bodyIndex);
if (subpart) {
subpart.body = undefined;
subpart.headers['content-type'] = ct;
}
resolve(o);
}
);
var ioServ = Components.classes[IOSERVICE_CONTRACTID].getService(Components.interfaces.nsIIOService);
try {
var channel = ioServ.newChannel(url, null, null);
channel.asyncOpen(s, null);
}
catch (e) {
EnigmailLog.DEBUG("decryptPermanently.jsm: decryptPGPMIME: exception " + e + "\n");
}
}
);
},
//inline wonderland
decryptINLINE: function(mime) {
EnigmailLog.DEBUG("decryptPermanently.jsm: decryptINLINE:\n");
if (typeof mime.body !== 'undefined') {
let ct = getContentType(getHeaderValue(mime, 'content-type'));
if (ct == "text/html") {
mime.body = this.stripHTMLFromArmoredBlocks(mime.body);
}
var enigmailSvc = EnigmailCore.getService();
var exitCodeObj = {};
var statusFlagsObj = {};
var userIdObj = {};
var sigDetailsObj = {};
var errorMsgObj = {};
var keyIdObj = {};
var blockSeparationObj = {
value: ""
};
var encToDetailsObj = {};
var signatureObj = {};
signatureObj.value = "";
var uiFlags = nsIEnigmail.UI_INTERACTIVE | nsIEnigmail.UI_UNVERIFIED_ENC_OK;
var plaintexts = [];
var blocks = EnigmailArmor.locateArmoredBlocks(mime.body);
var tmp = [];
for (let i = 0; i < blocks.length; i++) {
if (blocks[i].blocktype == "MESSAGE") {
tmp.push(blocks[i]);
}
}
blocks = tmp;
if (blocks.length < 1) {
return 0;
}
let charset = "utf-8";
for (let i = 0; i < blocks.length; i++) {
let plaintext = null;
do {
let ciphertext = mime.body.substring(blocks[i].begin, blocks[i].end + 1);
if (ciphertext.length === 0) {
break;
}
let hdr = ciphertext.search(/(\r\r|\n\n|\r\n\r\n)/);
if (hdr > 0) {
let chset = ciphertext.substr(0, hdr).match(/^(charset:)(.*)$/mi);
if (chset && chset.length == 3) {
charset = chset[2].trim();
}
}
plaintext = enigmailSvc.decryptMessage(null, uiFlags, ciphertext, signatureObj, exitCodeObj, statusFlagsObj,
keyIdObj, userIdObj, sigDetailsObj, errorMsgObj, blockSeparationObj, encToDetailsObj);
if (!plaintext || plaintext.length === 0) {
if (statusFlagsObj.value & nsIEnigmail.DISPLAY_MESSAGE) {
EnigmailDialog.alert(null, errorMsgObj.value);
this.foundPGP = -1;
return -1;
}
if (statusFlagsObj.value & nsIEnigmail.DECRYPTION_FAILED) {
if (EnigmailGpgAgent.useGpgAgent()) {
// since we cannot find out if the user wants to cancel
// we should ask
let msg = EnigmailLocale.getString("converter.decryptBody.failed", this.subject);
if (!EnigmailDialog.confirmDlg(null, msg,
EnigmailLocale.getString("dlg.button.retry"), EnigmailLocale.getString("dlg.button.skip"))) {
this.foundPGP = -1;
return -1;
}
}
}
else if (statusFlagsObj.value & nsIEnigmail.DECRYPTION_INCOMPLETE) {
this.foundPGP = -1;
return -1;
}
}
if (ct == "text/html") {
plaintext = plaintext.replace(/\n/ig, " \n");
}
if (plaintext) {
plaintexts.push(plaintext);
}
} while (!plaintext || plaintext === "");
}
var decryptedMessage = mime.body.substring(0, blocks[0].begin) + plaintexts[0];
for (let i = 1; i < blocks.length; i++) {
decryptedMessage += mime.body.substring(blocks[i - 1].end + 1, blocks[i].begin + 1) + plaintexts[i];
}
decryptedMessage += mime.body.substring(blocks[(blocks.length - 1)].end + 1);
// enable base64 encoding if non-ASCII character(s) found
let j = decryptedMessage.search(/[^\x01-\x7F]/);
if (j >= 0) {
mime.headers['content-transfer-encoding'] = ['base64'];
mime.body = EnigmailData.encodeBase64(decryptedMessage);
}
else {
mime.body = decryptedMessage;
mime.headers['content-transfer-encoding'] = ['8bit'];
}
let origCharset = getCharset(getHeaderValue(mime, 'content-type'));
if (origCharset) {
mime.headers['content-type'] = getHeaderValue(mime, 'content-type').replace(origCharset, charset);
}
else {
mime.headers['content-type'] = getHeaderValue(mime, 'content-type') + "; charset=" + charset;
}
this.foundPGP = 1;
return 1;
}
if (typeof mime.parts !== 'undefined' && mime.parts.length > 0) {
var ret = 0;
for (let part in mime.parts) {
ret += this.decryptINLINE(mime.parts[part]);
}
return ret;
}
let ct = getContentType(getHeaderValue(mime, 'content-type'));
EnigmailLog.DEBUG("decryptPermanently.jsm: Decryption skipped: " + ct + "\n");
return 0;
},
stripHTMLFromArmoredBlocks: function(text) {
var index = 0;
var begin = text.indexOf("-----BEGIN PGP");
var end = text.indexOf("-----END PGP");
while (begin > -1 && end > -1) {
let sub = text.substring(begin, end);
sub = sub.replace(/(<([^>]+)>)/ig, "");
sub = sub.replace(/&[A-z]+;/ig, "");
text = text.substring(0, begin) + sub + text.substring(end);
index = end + 10;
begin = text.indexOf("-----BEGIN PGP", index);
end = text.indexOf("-----END PGP", index);
}
return text;
},
/******
*
* We have the technology we can rebuild.
*
* Function to reassemble the message from the MIME Tree
* into a String.
*
******/
mimeToString: function(mime, topLevel) {
EnigmailLog.DEBUG("decryptPermanently.jsm: mimeToString: part: '" + mime.partName + "', is of type '" + typeof(mime) + "'\n");
let ct = getContentType(getHeaderValue(mime, 'content-type'));
if (!ct) {
return "";
}
let boundary = getBoundary(getHeaderValue(mime, 'content-type'));
let msg = "";
if (mime.isBrokenByExchange) {
EnigmailLog.DEBUG("decryptPermanently.jsm: mimeToString: MS-Exchange fix\n");
for (let j in this.allTasks) {
if (this.allTasks[j].partName == mime.parts[0].partName) {
boundary = EnigmailMime.createBoundary();
msg += getRfc822Headers(mime.headers, ct, "content-type");
msg += 'Content-Type: multipart/mixed; boundary="' + boundary + '"\r\n\r\n';
msg += "This is a multi-part message in MIME format.";
msg += "\r\n--" + boundary + "\r\n";
msg += this.allTasks[j].data;
msg += "\r\n--" + boundary + "--\r\n";
return msg;
}
}
}
else if (mime instanceof MimeMessageAttachment) {
for (let j in this.allTasks) {
if (this.allTasks[j].partName == mime.partName &&
this.allTasks[j].origName == mime.name) {
let a = this.allTasks[j];
EnigmailLog.DEBUG("decryptPermanently.jsm: mimeToString: attaching " + j + " as '" + a.name + "'\n");
for (let header in mime.headers) {
if (!(a.status == STATUS_OK && header == "content-type")) {
msg += prettyPrintHeader(header, mime.headers[header]) + "\r\n";
}
}
if (a.type == "attachment") {
if (a.status == STATUS_OK) {
msg += "Content-Type: application/octet-stream; name=\"" + a.name + "\"\r\n";
msg += "Content-Disposition: attachment; filename\"" + a.name + "\"\r\n";
}
msg += "Content-Transfer-Encoding: base64\r\n\r\n";
msg += EnigmailData.encodeBase64(a.data) + "\r\n";
}
}
}
}
else if (mime instanceof MimeContainer || mime instanceof MimeUnknown) {
for (let j in this.allTasks) {
if (this.allTasks[j].partName == mime.partName &&
this.allTasks[j].type == "mime") {
let a = this.allTasks[j];
msg += a.data;
mime.noBottomBoundary = true;
}
}
}
else if (mime instanceof MimeMessage && ct.substr(0, 5) == "text/") {
let subct = mime.parts[0].headers['content-type'];
if (subct) {
mime.headers['content-type'] = subct;
}
subct = mime.parts[0].headers['content-transfer-encoding'];
if (subct) {
mime.headers['content-transfer-encoding'] = subct;
}
msg += getRfc822Headers(mime.headers, ct);
msg += "\r\n" + mime.parts[0].body + "\r\n";
return msg;
}
else {
if (!topLevel && (mime instanceof MimeMessage)) {
let mimeName = mime.name;
if (!mimeName || mimeName === "") {
mimeName = getHeaderValue(mime, 'subject') + ".eml";
}
msg += 'Content-Type: message/rfc822; name="' + EnigmailMime.encodeHeaderValue(mimeName) + '\r\n';
msg += 'Content-Transfer-Encoding: 7bit\r\n';
msg += 'Content-Disposition: attachment; filename="' + EnigmailMime.encodeHeaderValue(mimeName) + '"\r\n\r\n';
}
msg += getRfc822Headers(mime.headers, ct);
msg += "\r\n";
if (mime.body) {
msg += mime.body + "\r\n";
}
else if ((mime instanceof MimeMessage) && ct.substr(0, 5) != "text/") {
msg += "This is a multi-part message in MIME format.\r\n";
}
}
for (let i in mime.parts) {
let subPart = this.mimeToString(mime.parts[i], false);
if (subPart.length > 0) {
if (boundary && !(mime instanceof MimeMessage)) {
msg += "--" + boundary + "\r\n";
}
msg += subPart + "\r\n";
}
}
if (ct.indexOf("multipart/") === 0 && !(mime instanceof MimeContainer)) {
if (!mime.noBottomBoundary) {
msg += "--" + boundary + "--\r\n";
}
}
return msg;
}
};
/**
* Format a mime header
*
* e.g. content-type -> Content-Type
*/
function formatHeader(headerLabel) {
return headerLabel.replace(/^.|(\-.)/g, function(match) {
return match.toUpperCase();
});
}
function formatMimeHeader(headerLabel, headerValue) {
if (headerLabel.search(/^(sender|from|reply-to|to|cc|bcc)$/i) === 0) {
return formatHeader(headerLabel) + ": " + EnigmailMime.formatHeaderData(EnigmailMime.formatEmailAddress(headerValue));
}
else {
return formatHeader(headerLabel) + ": " + EnigmailMime.formatHeaderData(EnigmailMime.encodeHeaderValue(headerValue));
}
}
function prettyPrintHeader(headerLabel, headerData) {
let hdrData = "";
if (Array.isArray(headerData)) {
let h = [];
for (let i in headerData) {
h.push(formatMimeHeader(headerLabel, GlodaUtils.deMime(headerData[i])));
}
return h.join("\r\n");
}
else {
return formatMimeHeader(headerLabel, GlodaUtils.deMime(String(headerData)));
}
}
function getHeaderValue(mimeStruct, header) {
EnigmailLog.DEBUG("decryptPermanently.jsm: getHeaderValue: '" + header + "'\n");
try {
if (header in mimeStruct.headers) {
if (typeof mimeStruct.headers[header] == "string") {
return mimeStruct.headers[header];
}
else {
return mimeStruct.headers[header].join(" ");
}
}
else {
return "";
}
}
catch (ex) {
EnigmailLog.DEBUG("decryptPermanently.jsm: getHeaderValue: header not present\n");
return "";
}
}
/***
* get the formatted headers for MimeMessage objects
*
* @headerArr: Array of headers (key/value pairs), such as mime.headers
* @ignoreHeadersArr: Array of headers to exclude from returning
*
* @return: String containing formatted header list
*/
function getRfc822Headers(headerArr, contentType, ignoreHeadersArr) {
let hdrs = "";
let ignore = [];
if (contentType.indexOf("multipart/") >= 0) {
ignore = ['content-transfer-encoding',
'content-disposition',
'content-description'
];
}
if (ignoreHeadersArr) {
ignore = ignore.concat(ignoreHeadersArr);
}
for (let i in headerArr) {
if (ignore.indexOf(i) < 0) {
hdrs += prettyPrintHeader(i, headerArr[i]) + "\r\n";
}
}
return hdrs;
}
function getContentType(shdr) {
try {
shdr = String(shdr);
return shdr.match(/([A-z-]+\/[A-z-]+)/)[1].toLowerCase();
}
catch (e) {
EnigmailLog.DEBUG("decryptPermanently.jsm: getContentType: " + e + "\n");
return null;
}
}
// return the content of the boundary parameter
function getBoundary(shdr) {
try {
shdr = String(shdr);
return shdr.match(/boundary="?([A-z0-9'()+_,-.\/:=?]+)"?/i)[1];
}
catch (e) {
EnigmailLog.DEBUG("decryptPermanently.jsm: getBoundary: " + e + "\n");
return null;
}
}
function getCharset(shdr) {
try {
shdr = String(shdr);
return shdr.match(/charset="?([A-z0-9'()+_,-.\/:=?]+)"?/)[1].toLowerCase();
}
catch (e) {
EnigmailLog.DEBUG("decryptPermanently.jsm: getCharset: " + e + "\n");
return null;
}
}
function getProtocol(shdr) {
try {
shdr = String(shdr);
return shdr.match(/protocol="?([A-z0-9'()+_,-.\/:=?]+)"?/)[1].toLowerCase();
}
catch (e) {
EnigmailLog.DEBUG("decryptPermanently.jsm: getProtocol: " + e + "\n");
return "";
}
}
function getSMimeProtocol(shdr) {
try {
shdr = String(shdr);
return shdr.match(/smime-type="?([A-z0-9'()+_,-.\/:=?]+)"?/)[1].toLowerCase();
}
catch (e) {
EnigmailLog.DEBUG("decryptPermanently.jsm: getSMimeProtocol: " + e + "\n");
return "";
}
}
enigmail/package/decryption.jsm 0000664 0000000 0000000 00000066555 13213001347 0017144 0 ustar 00root root 0000000 0000000 /*global Components: false, EnigmailData: false, EnigmailLog: false, EnigmailPrefs: false, EnigmailLocale: false, EnigmailArmor: false, EnigmailExecution: false, EnigmailDialog: 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 = ["EnigmailDecryption"];
const Ci = Components.interfaces;
const Cu = Components.utils;
Cu.import("resource://enigmail/core.jsm"); /*global EnigmailCore: false */
Cu.import("resource://enigmail/data.jsm");
Cu.import("resource://enigmail/log.jsm");
Cu.import("resource://enigmail/prefs.jsm");
Cu.import("resource://enigmail/armor.jsm");
Cu.import("resource://enigmail/locale.jsm");
Cu.import("resource://enigmail/data.jsm");
Cu.import("resource://enigmail/execution.jsm");
Cu.import("resource://enigmail/dialog.jsm");
Cu.import("resource://enigmail/httpProxy.jsm"); /*global EnigmailHttpProxy: false */
Cu.import("resource://enigmail/gpgAgent.jsm"); /*global EnigmailGpgAgent: false */
Cu.import("resource://enigmail/files.jsm"); /*global EnigmailFiles: false */
Cu.import("resource://enigmail/gpg.jsm"); /*global EnigmailGpg: false */
Cu.import("resource://enigmail/errorHandling.jsm"); /*global EnigmailErrorHandling: false */
Cu.import("resource://enigmail/keyRing.jsm"); /*global EnigmailKeyRing: false */
Cu.import("resource://enigmail/key.jsm"); /*global EnigmailKey: false */
Cu.import("resource://enigmail/passwords.jsm"); /*global EnigmailPassword: false */
const nsIEnigmail = Ci.nsIEnigmail;
const EC = EnigmailCore;
const STATUS_ERROR = nsIEnigmail.BAD_SIGNATURE | nsIEnigmail.DECRYPTION_FAILED;
const STATUS_DECRYPTION_OK = nsIEnigmail.DECRYPTION_OKAY;
const STATUS_GOODSIG = nsIEnigmail.GOOD_SIGNATURE;
const NS_WRONLY = 0x02;
function statusObjectFrom(signatureObj, exitCodeObj, statusFlagsObj, keyIdObj, userIdObj, sigDetailsObj, errorMsgObj, blockSeparationObj, encToDetailsObj) {
return {
signature: signatureObj,
exitCode: exitCodeObj,
statusFlags: statusFlagsObj,
keyId: keyIdObj,
userId: userIdObj,
sigDetails: sigDetailsObj,
message: errorMsgObj,
blockSeparation: blockSeparationObj,
encToDetails: encToDetailsObj
};
}
function newStatusObject() {
return statusObjectFrom({
value: ""
}, {}, {}, {}, {}, {}, {}, {}, {});
}
const EnigmailDecryption = {
decryptMessageStart: function(win, verifyOnly, noOutput, listener,
statusFlagsObj, errorMsgObj, mimeSignatureFile,
maxOutputLength) {
EnigmailLog.DEBUG("enigmailCommon.jsm: decryptMessageStart: verifyOnly=" + verifyOnly + "\n");
if (!EnigmailCore.getService(win)) {
EnigmailLog.ERROR("enigmailCommon.jsm: decryptMessageStart: not yet initialized\n");
errorMsgObj.value = EnigmailLocale.getString("notInit");
return null;
}
if (EnigmailKeyRing.isGeneratingKey()) {
errorMsgObj.value = EnigmailLocale.getString("notComplete");
return null;
}
var args = EnigmailGpg.getStandardArgs(true);
var keyserver = EnigmailPrefs.getPref("autoKeyRetrieve");
if (keyserver && keyserver !== "") {
keyserver = keyserver.trim();
args.push("--keyserver-options");
var keySrvArgs = "auto-key-retrieve";
var srvProxy = EnigmailHttpProxy.getHttpProxy(keyserver);
if (srvProxy) {
keySrvArgs += ",http-proxy=" + srvProxy;
}
args.push(keySrvArgs);
args.push("--keyserver");
args.push(keyserver);
}
if (noOutput) {
args.push("--verify");
if (mimeSignatureFile) {
args.push(mimeSignatureFile);
args.push("-");
}
}
else {
if (maxOutputLength) {
args.push("--max-output");
args.push(String(maxOutputLength));
}
args.push("--decrypt");
}
var proc = EnigmailExecution.execStart(EnigmailGpgAgent.agentPath,
args, !verifyOnly, win,
listener, statusFlagsObj);
if (statusFlagsObj.value & nsIEnigmail.MISSING_PASSPHRASE) {
EnigmailLog.ERROR("enigmailCommon.jsm: decryptMessageStart: Error - no passphrase supplied\n");
errorMsgObj.value = EnigmailLocale.getString("noPassphrase");
return null;
}
return proc;
},
decryptMessageEnd: function(stderrStr, exitCode, outputLen, verifyOnly, noOutput, uiFlags, retStatusObj) {
EnigmailLog.DEBUG("enigmailCommon.jsm: decryptMessageEnd: uiFlags=" + uiFlags + ", verifyOnly=" + verifyOnly + ", noOutput=" + noOutput + "\n");
stderrStr = stderrStr.replace(/\r\n/g, "\n");
EnigmailLog.DEBUG("enigmailCommon.jsm: decryptMessageEnd: stderrStr=\n" + stderrStr + "\n");
var interactive = uiFlags & nsIEnigmail.UI_INTERACTIVE;
var pgpMime = uiFlags & nsIEnigmail.UI_PGP_MIME;
var allowImport = uiFlags & nsIEnigmail.UI_ALLOW_KEY_IMPORT;
var unverifiedEncryptedOK = uiFlags & nsIEnigmail.UI_UNVERIFIED_ENC_OK;
var j;
retStatusObj.statusFlags = 0;
retStatusObj.errorMsg = "";
retStatusObj.blockSeparation = "";
var errorMsg = EnigmailErrorHandling.parseErrorOutput(stderrStr, retStatusObj);
if (retStatusObj.statusFlags & STATUS_ERROR) {
retStatusObj.errorMsg = errorMsg;
}
else {
retStatusObj.errorMsg = "";
}
if (pgpMime) {
retStatusObj.statusFlags |= verifyOnly ? nsIEnigmail.PGP_MIME_SIGNED : nsIEnigmail.PGP_MIME_ENCRYPTED;
}
var statusMsg = retStatusObj.statusMsg;
exitCode = EnigmailExecution.fixExitCode(exitCode, retStatusObj);
if ((exitCode === 0) && !noOutput && !outputLen &&
((retStatusObj.statusFlags & (STATUS_DECRYPTION_OK | STATUS_GOODSIG)) === 0)) {
exitCode = -1;
}
if (retStatusObj.statusFlags & nsIEnigmail.DISPLAY_MESSAGE && retStatusObj.extendedStatus.search(/\bdisp:/) >= 0) {
EnigmailDialog.alert(null, statusMsg);
return -1;
}
var errLines;
if (statusMsg) {
errLines = statusMsg.split(/\r?\n/);
}
else {
// should not really happen ...
errLines = stderrStr.split(/\r?\n/);
}
// possible STATUS Patterns (see GPG dod DETAILS.txt):
// one of these should be set for a signature:
var goodsigPat = /GOODSIG (\w{16}) (.*)$/i;
var badsigPat = /BADSIG (\w{16}) (.*)$/i;
var expsigPat = /EXPSIG (\w{16}) (.*)$/i;
var expkeysigPat = /EXPKEYSIG (\w{16}) (.*)$/i;
var revkeysigPat = /REVKEYSIG (\w{16}) (.*)$/i;
var errsigPat = /ERRSIG (\w{16}) (.*)$/i;
// additional infos for good signatures:
var validSigPat = /VALIDSIG (\w+) (.*) (\d+) (.*)/i;
// hint for a certain key id:
var userIdHintPat = /USERID_HINT (\w{16}) (.*)$/i;
// to find out for which recipients the email was encrypted:
var encToPat = /ENC_TO (\w{16}) (.*)$/i;
var matches;
var signed = false;
var goodOrExpOrRevSignature = false;
var sigKeyId = ""; // key of sender
var sigUserId = ""; // user ID of sender
var sigDetails = "";
var encToDetails = "";
var encToArray = []; // collect ENC_TO lines here
for (j = 0; j < errLines.length; j++) {
EnigmailLog.DEBUG("enigmailCommon.jsm: decryptMessageEnd: process: " + errLines[j] + "\n");
// ENC_TO entry
// - collect them for later processing to print details
matches = errLines[j].match(encToPat);
if (matches && (matches.length > 2)) {
encToArray.push("0x" + matches[1]);
}
// USERID_HINT entry
// - NOTE: NO END of loop
// ERROR: wrong to set userId because ecom is NOT the sender:
//matches = errLines[j].match(userIdHintPat);
//if (matches && (matches.length > 2)) {
// sigKeyId = matches[1];
// sigUserId = matches[2];
//}
// check for one of the possible SIG entries:
// GOODSIG entry
matches = errLines[j].match(goodsigPat);
if (matches && (matches.length > 2)) {
if (signed) {
EnigmailLog.DEBUG("enigmailCommon.jsm: decryptMessageEnd: OOPS: multiple SIGN entries\n");
}
signed = true;
goodOrExpOrRevSignature = true;
sigKeyId = matches[1];
sigUserId = matches[2];
}
else {
// BADSIG entry => signature found but bad
matches = errLines[j].match(badsigPat);
if (matches && (matches.length > 2)) {
if (signed) {
EnigmailLog.DEBUG("enigmailCommon.jsm: decryptMessageEnd: OOPS: multiple SIGN entries\n");
}
signed = true;
goodOrExpOrRevSignature = false;
sigKeyId = matches[1];
sigUserId = matches[2];
}
else {
// EXPSIG entry => expired signature found
matches = errLines[j].match(expsigPat);
if (matches && (matches.length > 2)) {
if (signed) {
EnigmailLog.DEBUG("enigmailCommon.jsm: decryptMessageEnd: OOPS: multiple SIGN entries\n");
}
signed = true;
goodOrExpOrRevSignature = true;
sigKeyId = matches[1];
sigUserId = matches[2];
}
else {
// EXPKEYSIG entry => signature found but key expired
matches = errLines[j].match(expkeysigPat);
if (matches && (matches.length > 2)) {
if (signed) {
EnigmailLog.DEBUG("enigmailCommon.jsm: decryptMessageEnd: OOPS: multiple SIGN entries\n");
}
signed = true;
goodOrExpOrRevSignature = true;
sigKeyId = matches[1];
sigUserId = matches[2];
}
else {
// REVKEYSIG entry => signature found but key revoked
matches = errLines[j].match(revkeysigPat);
if (matches && (matches.length > 2)) {
if (signed) {
EnigmailLog.DEBUG("enigmailCommon.jsm: decryptMessageEnd: OOPS: multiple SIGN entries\n");
}
signed = true;
goodOrExpOrRevSignature = true;
sigKeyId = matches[1];
sigUserId = matches[2];
}
else {
// ERRSIG entry => signature found but key not usable or unavailable
matches = errLines[j].match(errsigPat);
if (matches && (matches.length > 2)) {
if (signed) {
EnigmailLog.DEBUG("enigmailCommon.jsm: decryptMessageEnd: OOPS: multiple SIGN entries\n");
}
signed = true;
goodOrExpOrRevSignature = false;
sigKeyId = matches[1];
// no user id with ecom istatus entry
}
}
}
}
}
}
} // end loop of processing errLines
if (goodOrExpOrRevSignature) {
for (j = 0; j < errLines.length; j++) {
matches = errLines[j].match(validSigPat);
if (matches && (matches.length > 4)) {
if (matches[4].length == 40)
// in case of several subkeys refer to the main key ID.
// Only works with PGP V4 keys (Fingerprint length ==40)
sigKeyId = matches[4].substr(-16);
}
if (matches && (matches.length > 2)) {
sigDetails = errLines[j].substr(9);
break;
}
}
}
if (sigUserId && sigKeyId && EnigmailPrefs.getPref("displaySecondaryUid")) {
let keyObj = EnigmailKeyRing.getKeyById(sigKeyId);
if (keyObj) {
if (keyObj.photoAvailable) {
retStatusObj.statusFlags |= nsIEnigmail.PHOTO_AVAILABLE;
}
sigUserId = EnigmailKeyRing.getValidUids(sigKeyId).join("\n");
}
}
else if (sigUserId) {
sigUserId = EnigmailData.convertToUnicode(sigUserId, "UTF-8");
}
// add list of keys used for encryption if known (and their user IDs) if known
// Parsed status messages are something like (here the German version):
// [GNUPG:] ENC_TO AAAAAAAAAAAAAAAA 1 0
// [GNUPG:] ENC_TO 5B820D2D4553884F 16 0
// [GNUPG:] ENC_TO 37904DF2E631552F 1 0
// [GNUPG:] ENC_TO BBBBBBBBBBBBBBBB 1 0
// gpg: verschlüsselt mit 3072-Bit RSA Schlüssel, ID BBBBBBBB, erzeugt 2009-11-28
// "Joe Doo "
// [GNUPG:] NO_SECKEY E71712DF47BBCC40
// gpg: verschlüsselt mit RSA Schlüssel, ID AAAAAAAA
// [GNUPG:] NO_SECKEY AAAAAAAAAAAAAAAA
if (encToArray.length > 0) {
// for each key also show an associated user ID if known:
for (var encIdx = 0; encIdx < encToArray.length; ++encIdx) {
var localKeyId = encToArray[encIdx];
// except for ID 00000000, which signals hidden keys
if (localKeyId != "0x0000000000000000") {
let localKey = EnigmailKeyRing.getKeyById(localKeyId);
if (localKey) {
encToArray[encIdx] += " (" + localKey.userId + ")";
}
}
else {
encToArray[encIdx] = EnigmailLocale.getString("hiddenKey");
}
}
encToDetails = "\n " + encToArray.join(",\n ") + "\n";
}
retStatusObj.userId = sigUserId;
retStatusObj.keyId = sigKeyId;
retStatusObj.sigDetails = sigDetails;
retStatusObj.encToDetails = encToDetails;
if (signed) {
var trustPrefix = "";
if (retStatusObj.statusFlags & nsIEnigmail.UNTRUSTED_IDENTITY) {
trustPrefix += EnigmailLocale.getString("prefUntrusted") + " ";
}
if (retStatusObj.statusFlags & nsIEnigmail.REVOKED_KEY) {
trustPrefix += EnigmailLocale.getString("prefRevoked") + " ";
}
if (retStatusObj.statusFlags & nsIEnigmail.EXPIRED_KEY_SIGNATURE) {
trustPrefix += EnigmailLocale.getString("prefExpiredKey") + " ";
}
else if (retStatusObj.statusFlags & nsIEnigmail.EXPIRED_SIGNATURE) {
trustPrefix += EnigmailLocale.getString("prefExpired") + " ";
}
if (goodOrExpOrRevSignature) {
retStatusObj.errorMsg = trustPrefix + EnigmailLocale.getString("prefGood", [sigUserId]);
/* + ", " + EnigmailLocale.getString("keyId") + " 0x" + sigKeyId.substring(8,16); */
}
else {
if (sigUserId.length > 0) {
retStatusObj.errorMsg = trustPrefix + EnigmailLocale.getString("prefBad", [sigUserId]);
}
if (!exitCode)
exitCode = 1;
}
}
if (retStatusObj.statusFlags & nsIEnigmail.UNVERIFIED_SIGNATURE) {
retStatusObj.keyId = EnigmailKey.extractPubkey(statusMsg);
if (retStatusObj.statusFlags & nsIEnigmail.DECRYPTION_OKAY) {
exitCode = 0;
}
}
if (exitCode !== 0) {
// Error processing
EnigmailLog.DEBUG("enigmailCommon.jsm: decryptMessageEnd: command execution exit code: " + exitCode + "\n");
}
return exitCode;
},
/**
* Decrypts a PGP ciphertext and returns the the plaintext
*
*in @parent a window object
*in @uiFlags see flag options in nsIEnigmail.idl, UI_INTERACTIVE, UI_ALLOW_KEY_IMPORT
*in @cipherText a string containing a PGP Block
*out @signatureObj
*out @exitCodeObj contains the exit code
*out @statusFlagsObj see status flags in nslEnigmail.idl, GOOD_SIGNATURE, BAD_SIGNATURE
*out @keyIdObj holds the key id
*out @userIdObj holds the user id
*out @sigDetailsObj
*out @errorMsgObj error string
*out @blockSeparationObj
*out @encToDetailsObj returns in details, which keys the mesage was encrypted for (ENC_TO entries)
*
* @return string plaintext ("" if error)
*
*/
decryptMessage: function(parent, uiFlags, cipherText,
signatureObj, exitCodeObj,
statusFlagsObj, keyIdObj, userIdObj, sigDetailsObj, errorMsgObj,
blockSeparationObj, encToDetailsObj) {
const esvc = EnigmailCore.getEnigmailService();
EnigmailLog.DEBUG("enigmail.js: Enigmail.decryptMessage: " + cipherText.length + " bytes, " + uiFlags + "\n");
if (!cipherText)
return "";
var interactive = uiFlags & nsIEnigmail.UI_INTERACTIVE;
var allowImport = uiFlags & nsIEnigmail.UI_ALLOW_KEY_IMPORT;
var unverifiedEncryptedOK = uiFlags & nsIEnigmail.UI_UNVERIFIED_ENC_OK;
var oldSignature = signatureObj.value;
EnigmailLog.DEBUG("enigmail.js: Enigmail.decryptMessage: oldSignature=" + oldSignature + "\n");
signatureObj.value = "";
exitCodeObj.value = -1;
statusFlagsObj.value = 0;
keyIdObj.value = "";
userIdObj.value = "";
errorMsgObj.value = "";
var beginIndexObj = {};
var endIndexObj = {};
var indentStrObj = {};
var blockType = EnigmailArmor.locateArmoredBlock(cipherText, 0, "", beginIndexObj, endIndexObj, indentStrObj);
if (!blockType || blockType == "SIGNATURE") {
errorMsgObj.value = EnigmailLocale.getString("noPGPblock");
statusFlagsObj.value |= nsIEnigmail.DISPLAY_MESSAGE;
return "";
}
var publicKey = (blockType == "PUBLIC KEY BLOCK");
var verifyOnly = (blockType == "SIGNED MESSAGE");
var pgpBlock = cipherText.substr(beginIndexObj.value,
endIndexObj.value - beginIndexObj.value + 1);
if (indentStrObj.value) {
var indentRegexp = new RegExp("^" + indentStrObj.value, "gm");
pgpBlock = pgpBlock.replace(indentRegexp, "");
if (indentStrObj.value.substr(-1) == " ") {
var indentRegexpStr = "^" + indentStrObj.value.replace(/ $/m, "$");
indentRegexp = new RegExp(indentRegexpStr, "gm");
pgpBlock = pgpBlock.replace(indentRegexp, "");
}
}
// HACK to better support messages from Outlook: if there are empty lines, drop them
if (pgpBlock.search(/MESSAGE-----\r?\n\r?\nVersion/) >= 0) {
EnigmailLog.DEBUG("enigmail.js: Enigmail.decryptMessage: apply Outlook empty line workaround\n");
pgpBlock = pgpBlock.replace(/\r?\n\r?\n/g, "\n");
}
var head = cipherText.substr(0, beginIndexObj.value);
var tail = cipherText.substr(endIndexObj.value + 1,
cipherText.length - endIndexObj.value - 1);
if (publicKey) {
if (!allowImport) {
errorMsgObj.value = EnigmailLocale.getString("keyInMessageBody");
statusFlagsObj.value |= nsIEnigmail.DISPLAY_MESSAGE;
statusFlagsObj.value |= nsIEnigmail.INLINE_KEY;
return "";
}
// Import public key
exitCodeObj.value = EnigmailKeyRing.importKey(parent, true, pgpBlock, "",
errorMsgObj);
if (exitCodeObj.value === 0) {
statusFlagsObj.value |= nsIEnigmail.IMPORTED_KEY;
}
return "";
}
var newSignature = "";
if (verifyOnly) {
newSignature = EnigmailArmor.extractSignaturePart(pgpBlock, nsIEnigmail.SIGNATURE_ARMOR);
if (oldSignature && (newSignature != oldSignature)) {
EnigmailLog.ERROR("enigmail.js: Enigmail.decryptMessage: Error - signature mismatch " + newSignature + "\n");
errorMsgObj.value = EnigmailLocale.getString("sigMismatch");
statusFlagsObj.value |= nsIEnigmail.DISPLAY_MESSAGE;
return "";
}
}
var startErrorMsgObj = {};
var noOutput = false;
var listener = EnigmailExecution.newSimpleListener(
function _stdin(pipe) {
pipe.write(pgpBlock);
pipe.close();
});
var maxOutput = pgpBlock.length * 100; // limit output to 100 times message size
// to avoid DoS attack
var proc = EnigmailDecryption.decryptMessageStart(parent, verifyOnly, noOutput, listener,
statusFlagsObj, startErrorMsgObj,
null, maxOutput);
if (!proc) {
errorMsgObj.value = startErrorMsgObj.value;
statusFlagsObj.value |= nsIEnigmail.DISPLAY_MESSAGE;
return "";
}
// Wait for child to close
proc.wait();
var plainText = EnigmailData.getUnicodeData(listener.stdoutData);
var retStatusObj = {};
var exitCode = EnigmailDecryption.decryptMessageEnd(EnigmailData.getUnicodeData(listener.stderrData), listener.exitCode,
plainText.length, verifyOnly, noOutput,
uiFlags, retStatusObj);
exitCodeObj.value = exitCode;
statusFlagsObj.value = retStatusObj.statusFlags;
errorMsgObj.value = retStatusObj.errorMsg;
userIdObj.value = retStatusObj.userId;
keyIdObj.value = retStatusObj.keyId;
sigDetailsObj.value = retStatusObj.sigDetails;
if (encToDetailsObj) {
encToDetailsObj.value = retStatusObj.encToDetails;
}
blockSeparationObj.value = retStatusObj.blockSeparation;
if ((head.search(/\S/) >= 0) ||
(tail.search(/\S/) >= 0)) {
statusFlagsObj.value |= nsIEnigmail.PARTIALLY_PGP;
}
if (exitCodeObj.value === 0) {
// Normal return
var doubleDashSeparator = false;
try {
doubleDashSeparator = EnigmailPrefs.getPrefBranch().getBoolPref("doubleDashSeparator");
}
catch (ex) {}
if (doubleDashSeparator && (plainText.search(/(\r|\n)-- +(\r|\n)/) < 0)) {
// Workaround for MsgCompose stripping trailing spaces from sig separator
plainText = plainText.replace(/(\r|\n)--(\r|\n)/, "$1-- $2");
}
statusFlagsObj.value |= nsIEnigmail.DISPLAY_MESSAGE;
if (verifyOnly && indentStrObj.value) {
plainText = plainText.replace(/^/gm, indentStrObj.value);
}
return EnigmailDecryption.inlineInnerVerification(parent, uiFlags, plainText,
statusObjectFrom(signatureObj, exitCodeObj, statusFlagsObj, keyIdObj, userIdObj,
sigDetailsObj, errorMsgObj, blockSeparationObj, encToDetailsObj));
}
var pubKeyId = keyIdObj.value;
if (statusFlagsObj.value & nsIEnigmail.BAD_SIGNATURE) {
if (verifyOnly && indentStrObj.value) {
// Probably replied message that could not be verified
errorMsgObj.value = EnigmailLocale.getString("unverifiedReply") + "\n\n" + errorMsgObj.value;
return "";
}
// Return bad signature (for checking later)
signatureObj.value = newSignature;
}
else if (pubKeyId &&
(statusFlagsObj.value & nsIEnigmail.UNVERIFIED_SIGNATURE)) {
var innerKeyBlock;
if (verifyOnly) {
// Search for indented public key block in signed message
var innerBlockType = EnigmailArmor.locateArmoredBlock(pgpBlock, 0, "- ", beginIndexObj, endIndexObj, indentStrObj);
if (innerBlockType == "PUBLIC KEY BLOCK") {
innerKeyBlock = pgpBlock.substr(beginIndexObj.value,
endIndexObj.value - beginIndexObj.value + 1);
innerKeyBlock = innerKeyBlock.replace(/- -----/g, "-----");
statusFlagsObj.value |= nsIEnigmail.INLINE_KEY;
EnigmailLog.DEBUG("enigmail.js: Enigmail.decryptMessage: innerKeyBlock found\n");
}
}
if (allowImport) {
var importedKey = false;
if (innerKeyBlock) {
var importErrorMsgObj = {};
var exitStatus = EnigmailKeyRing.importKey(parent, true, innerKeyBlock,
pubKeyId, importErrorMsgObj);
importedKey = (exitStatus === 0);
if (exitStatus > 0) {
EnigmailDialog.alert(parent, EnigmailLocale.getString("cantImport") + importErrorMsgObj.value);
}
}
if (importedKey) {
// Recursive call; note that nsIEnigmail.UI_ALLOW_KEY_IMPORT is unset
// to break the recursion
var uiFlagsDeep = interactive ? nsIEnigmail.UI_INTERACTIVE : 0;
signatureObj.value = "";
return EnigmailDecryption.decryptMessage(parent, uiFlagsDeep, pgpBlock,
signatureObj, exitCodeObj, statusFlagsObj,
keyIdObj, userIdObj, sigDetailsObj, errorMsgObj);
}
}
if (plainText && !unverifiedEncryptedOK) {
// Append original PGP block to unverified message
plainText = "-----BEGIN PGP UNVERIFIED MESSAGE-----\r\n" + plainText +
"-----END PGP UNVERIFIED MESSAGE-----\r\n\r\n" + pgpBlock;
}
}
return verifyOnly ? "" : plainText;
},
inlineInnerVerification: function(parent, uiFlags, text, statusObject) {
EnigmailLog.DEBUG("enigmail.js: Enigmail.inlineInnerVerification\n");
if (text && text.indexOf("-----BEGIN PGP SIGNED MESSAGE-----") === 0) {
var status = newStatusObject();
var newText = EnigmailDecryption.decryptMessage(parent, uiFlags, text,
status.signature, status.exitCode, status.statusFlags, status.keyId, status.userId,
status.sigDetails, status.message, status.blockSeparation, status.encToDetails);
if (status.exitCode.value === 0) {
text = newText;
// merge status into status object:
statusObject.statusFlags.value = statusObject.statusFlags.value | status.statusFlags.value;
statusObject.keyId.value = status.keyId.value;
statusObject.userId.value = status.userId.value;
statusObject.sigDetails.value = status.sigDetails.value;
statusObject.message.value = status.message.value;
// we don't merge encToDetails
}
}
return text;
},
decryptAttachment: function(parent, outFile, displayName, byteData,
exitCodeObj, statusFlagsObj, errorMsgObj) {
const esvc = EnigmailCore.getEnigmailService();
EnigmailLog.DEBUG("enigmail.js: Enigmail.decryptAttachment: parent=" + parent + ", outFileName=" + outFile.path + "\n");
var attachmentHead = byteData.substr(0, 200);
if (attachmentHead.match(/\-\-\-\-\-BEGIN PGP \w{5,10} KEY BLOCK\-\-\-\-\-/)) {
// attachment appears to be a PGP key file
if (EnigmailDialog.confirmDlg(parent, EnigmailLocale.getString("attachmentPgpKey", [displayName]),
EnigmailLocale.getString("keyMan.button.import"), EnigmailLocale.getString("dlg.button.view"))) {
var preview = EnigmailKey.getKeyListFromKeyBlock(byteData, errorMsgObj);
exitCodeObj.keyList = preview;
var exitStatus = 0;
if (errorMsgObj.value === "") {
if (preview.length > 0) {
if (preview.length == 1) {
exitStatus = EnigmailDialog.confirmDlg(parent, EnigmailLocale.getString("doImportOne", [preview[0].name, preview[0].id]));
}
else {
exitStatus = EnigmailDialog.confirmDlg(parent,
EnigmailLocale.getString("doImportMultiple", [
preview.map(function(a) {
return "\t" + a.name + " (" + a.id + ")";
}).
join("\n")
]));
}
if (exitStatus) {
exitCodeObj.value = EnigmailKeyRing.importKey(parent, false, byteData, "", errorMsgObj);
statusFlagsObj.value = nsIEnigmail.IMPORTED_KEY;
}
else {
exitCodeObj.value = 0;
statusFlagsObj.value = nsIEnigmail.DISPLAY_MESSAGE;
}
}
}
}
else {
exitCodeObj.value = 0;
statusFlagsObj.value = nsIEnigmail.DISPLAY_MESSAGE;
}
return true;
}
var outFileName = EnigmailFiles.getEscapedFilename(EnigmailFiles.getFilePathReadonly(outFile.QueryInterface(Ci.nsIFile), NS_WRONLY));
var args = EnigmailGpg.getStandardArgs(true);
args = args.concat(["-o", outFileName, "--yes"]);
args = args.concat(EnigmailPassword.command());
args.push("-d");
statusFlagsObj.value = 0;
var listener = EnigmailExecution.newSimpleListener(
function _stdin(pipe) {
pipe.write(byteData);
pipe.close();
});
var proc = EnigmailExecution.execStart(EnigmailGpgAgent.agentPath, args, false, parent,
listener, statusFlagsObj);
if (!proc) {
return false;
}
// Wait for child STDOUT to close
proc.wait();
var statusMsgObj = {};
var cmdLineObj = {};
exitCodeObj.value = EnigmailExecution.execEnd(listener, statusFlagsObj, statusMsgObj, cmdLineObj, errorMsgObj);
return true;
},
registerOn: function(target) {
target.decryptMessage = EnigmailDecryption.decryptMessage;
target.decryptAttachment = EnigmailDecryption.decryptAttachment;
}
};
enigmail/package/dialog.jsm 0000664 0000000 0000000 00000032615 13213001347 0016211 0 ustar 00root root 0000000 0000000 /*global Components: false, EnigmailLocale: false, EnigmailLog: false, EnigmailWindows: false, EnigmailPrefs: 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 = ["EnigmailDialog"];
const Cc = Components.classes;
const Ci = Components.interfaces;
const Cu = Components.utils;
Cu.import("resource://enigmail/locale.jsm");
Cu.import("resource://enigmail/log.jsm");
Cu.import("resource://enigmail/windows.jsm");
Cu.import("resource://enigmail/prefs.jsm");
const BUTTON_POS_0 = 1;
const BUTTON_POS_1 = 1 << 8;
const BUTTON_POS_2 = 1 << 16;
const gPromptSvc = Cc["@mozilla.org/embedcomp/prompt-service;1"].getService(Ci.nsIPromptService);
const LOCAL_FILE_CONTRACTID = "@mozilla.org/file/local;1";
const EnigmailDialog = {
/***
* Confirmation dialog with OK / Cancel buttons (both customizable)
*
* @win: nsIWindow - parent window to display modal dialog; can be null
* @mesg: String - message text
* @okLabel: String - OPTIONAL label for OK button
* @cancelLabel: String - OPTIONAL label for cancel button
*
* @return: Boolean - true: OK pressed / false: Cancel or ESC pressed
*/
confirmDlg: function(win, mesg, okLabel, cancelLabel) {
var buttonTitles = 0;
if (!okLabel && !cancelLabel) {
buttonTitles = (gPromptSvc.BUTTON_TITLE_YES * BUTTON_POS_0) +
(gPromptSvc.BUTTON_TITLE_NO * BUTTON_POS_1);
}
else {
if (okLabel) {
buttonTitles += (gPromptSvc.BUTTON_TITLE_IS_STRING * gPromptSvc.BUTTON_POS_0);
}
else {
buttonTitles += gPromptSvc.BUTTON_TITLE_OK * BUTTON_POS_0;
}
if (cancelLabel) {
buttonTitles += (gPromptSvc.BUTTON_TITLE_IS_STRING * gPromptSvc.BUTTON_POS_1);
}
else {
buttonTitles += gPromptSvc.BUTTON_TITLE_CANCEL * BUTTON_POS_1;
}
}
let buttonPressed = gPromptSvc.confirmEx(win,
EnigmailLocale.getString("enigConfirm"),
mesg,
buttonTitles,
okLabel, cancelLabel, null,
null, {});
return (buttonPressed === 0);
},
/**
* Displays an alert dialog.
*
* @win: nsIWindow - parent window to display modal dialog; can be null
* @mesg: String - message text
*
* no return value
*/
alert: function(win, mesg) {
if (mesg.length > 1000) {
EnigmailDialog.longAlert(win, mesg, null, EnigmailLocale.getString("dlg.button.close"));
}
else {
try {
gPromptSvc.alert(win, EnigmailLocale.getString("enigAlert"), mesg);
}
catch (ex) {
EnigmailLog.writeException("alert", ex);
}
}
},
/**
* Displays an alert dialog with 1-3 optional buttons.
*
* @win: nsIWindow - parent window to display modal dialog; can be null
* @mesg: String - message text
* @checkBoxLabel: String - if not null, display checkbox with text; the
* checkbox state is returned in checkedObj.value
* @button-Labels: String - use "&" to indicate access key
* use "buttonType:label" or ":buttonType" to indicate special button types
* (buttonType is one of cancel, help, extra1, extra2)
* @checkedObj: Object - holding the checkbox value
*
* @return: 0-2: button Number pressed
* -1: ESC or close window button pressed
*
*/
longAlert: function(win, mesg, checkBoxLabel, okLabel, labelButton2, labelButton3, checkedObj) {
var result = {
value: -1,
checked: false
};
if (!win) {
win = EnigmailWindows.getBestParentWin();
}
win.openDialog("chrome://enigmail/content/enigmailAlertDlg.xul", "",
"chrome,dialog,modal,centerscreen,resizable", {
msgtext: mesg,
checkboxLabel: checkBoxLabel,
button1: okLabel,
button2: labelButton2,
button3: labelButton3
},
result);
if (checkBoxLabel) {
checkedObj.value = result.checked;
}
return result.value;
},
/**
* Display a dialog with a message and a text entry field
*
* @win: nsIWindow - parent window to display modal dialog; can be null
* @mesg: String - message text
* @valueObj: Object - object to hold the entered text in .value
*
* @return: Boolean - true if OK was pressed / false otherwise
*/
promptValue: function(win, mesg, valueObj) {
return gPromptSvc.prompt(win, EnigmailLocale.getString("enigPrompt"),
mesg, valueObj, "", {});
},
/**
* Display an alert message with an OK button and a checkbox to hide
* the message in the future.
* In case the checkbox was pressed in the past, the dialog is skipped
*
* @win: nsIWindow - the parent window to hold the modal dialog
* @mesg: String - the localized message to display
* @prefText: String - the name of the Enigmail preference to read/store the
* the future display status
*/
alertPref: function(win, mesg, prefText) {
const display = true;
const dontDisplay = false;
let prefValue = EnigmailPrefs.getPref(prefText);
if (prefValue === display) {
let checkBoxObj = {
value: false
};
let buttonPressed = gPromptSvc.confirmEx(win,
EnigmailLocale.getString("enigAlert"),
mesg, (gPromptSvc.BUTTON_TITLE_OK * BUTTON_POS_0),
null, null, null,
EnigmailLocale.getString("dlgNoPrompt"), checkBoxObj);
if (checkBoxObj.value && buttonPressed === 0) {
EnigmailPrefs.setPref(prefText, dontDisplay);
}
}
},
/**
* Display an alert dialog together with the message "this dialog will be
* displayed |counter| more times".
* If |counter| is 0, the dialog is not displayed.
*
* @win: nsIWindow - the parent window to hold the modal dialog
* @countPrefName: String - the name of the Enigmail preference to read/store the
* the |counter| value
* @mesg: String - the localized message to display
*
*/
alertCount: function(win, countPrefName, mesg) {
let alertCount = EnigmailPrefs.getPref(countPrefName);
if (alertCount <= 0)
return;
alertCount--;
EnigmailPrefs.setPref(countPrefName, alertCount);
if (alertCount > 0) {
mesg += EnigmailLocale.getString("repeatPrefix", [alertCount]) + " ";
mesg += (alertCount == 1) ? EnigmailLocale.getString("repeatSuffixSingular") : EnigmailLocale.getString("repeatSuffixPlural");
}
else {
mesg += EnigmailLocale.getString("noRepeat");
}
EnigmailDialog.alert(win, mesg);
},
/**
* Display a confirmation dialog with OK / Cancel buttons (both customizable) and
* a checkbox to remember the selected choice.
*
*
* @win: nsIWindow - parent window to display modal dialog; can be null
* @mesg: String - message text
* @prefText String - the name of the Enigmail preference to read/store the
* the future display status.
* the default action is chosen
* @okLabel: String - OPTIONAL label for OK button
* @cancelLabel: String - OPTIONAL label for cancel button
*
* @return: Boolean - true: 1 pressed / 0: Cancel pressed / -1: ESC pressed
*
* If the dialog is not displayed:
* - if @prefText is type Boolean: return 1
* - if @prefText is type Number: return the last choice of the user
*/
confirmPref: function(win, mesg, prefText, okLabel, cancelLabel) {
const notSet = 0;
const yes = 1;
const no = 2;
const display = true;
const dontDisplay = false;
var buttonTitles = 0;
if (!okLabel && !cancelLabel) {
buttonTitles = (gPromptSvc.BUTTON_TITLE_YES * BUTTON_POS_0) +
(gPromptSvc.BUTTON_TITLE_NO * BUTTON_POS_1);
}
else {
if (okLabel) {
buttonTitles += (gPromptSvc.BUTTON_TITLE_IS_STRING * gPromptSvc.BUTTON_POS_0);
}
else {
buttonTitles += gPromptSvc.BUTTON_TITLE_OK * BUTTON_POS_0;
}
if (cancelLabel) {
buttonTitles += (gPromptSvc.BUTTON_TITLE_IS_STRING * gPromptSvc.BUTTON_POS_1);
}
else {
buttonTitles += gPromptSvc.BUTTON_TITLE_CANCEL * BUTTON_POS_1;
}
}
var prefValue = EnigmailPrefs.getPref(prefText);
if (typeof(prefValue) != "boolean") {
// number: remember user's choice
switch (prefValue) {
case notSet:
{
let checkBoxObj = {
value: false
};
let buttonPressed = gPromptSvc.confirmEx(win,
EnigmailLocale.getString("enigConfirm"),
mesg,
buttonTitles,
okLabel, cancelLabel, null,
EnigmailLocale.getString("dlgKeepSetting"), checkBoxObj);
if (checkBoxObj.value) {
EnigmailPrefs.setPref(prefText, (buttonPressed === 0 ? yes : no));
}
return (buttonPressed === 0 ? 1 : 0);
}
case yes:
return 1;
case no:
return 0;
default:
return -1;
}
}
else {
// boolean: "do not show this dialog anymore" (and return default)
switch (prefValue) {
case display:
{
let checkBoxObj = {
value: false
};
let buttonPressed = gPromptSvc.confirmEx(win,
EnigmailLocale.getString("enigConfirm"),
mesg,
buttonTitles,
okLabel, cancelLabel, null,
EnigmailLocale.getString("dlgNoPrompt"), checkBoxObj);
if (checkBoxObj.value) {
EnigmailPrefs.setPref(prefText, false);
}
return (buttonPressed === 0 ? 1 : 0);
}
case dontDisplay:
return 1;
default:
return -1;
}
}
},
/**
* Display a "open file" or "save file" dialog
*
* win: nsIWindow - parent window
* title: String - window title
* displayDir: String - optional: directory to be displayed
* save: Boolean - true = Save file / false = Open file
* defaultExtension: String - optional: extension for the type of files to work with, e.g. "asc"
* defaultName: String - optional: filename, incl. extension, that should be suggested to
* the user as default, e.g. "keys.asc"
* filterPairs: Array - optional: [title, extension], e.g. ["Pictures", "*.jpg; *.png"]
*
* return value: nsIFile object representing the file to load or save
*/
filePicker: function(win, title, displayDir, save, defaultExtension, defaultName, filterPairs) {
EnigmailLog.DEBUG("enigmailCommon.jsm: filePicker: " + save + "\n");
let filePicker = Cc["@mozilla.org/filepicker;1"].createInstance();
filePicker = filePicker.QueryInterface(Ci.nsIFilePicker);
let mode = save ? Ci.nsIFilePicker.modeSave : Ci.nsIFilePicker.modeOpen;
filePicker.init(win, title, mode);
if (displayDir) {
var localFile = Cc[LOCAL_FILE_CONTRACTID].createInstance(Ci.nsIFile);
try {
localFile.initWithPath(displayDir);
filePicker.displayDirectory = localFile;
}
catch (ex) {}
}
if (defaultExtension) {
filePicker.defaultExtension = defaultExtension;
}
if (defaultName) {
filePicker.defaultString = defaultName;
}
let nfilters = 0;
if (filterPairs && filterPairs.length) {
nfilters = filterPairs.length / 2;
}
for (let index = 0; index < nfilters; index++) {
filePicker.appendFilter(filterPairs[2 * index], filterPairs[2 * index + 1]);
}
filePicker.appendFilters(Ci.nsIFilePicker.filterAll);
if (filePicker.show() == Ci.nsIFilePicker.returnCancel) {
return null;
}
return filePicker.file.QueryInterface(Ci.nsIFile);
},
/**
* Displays a dialog with success/failure information after importing
* keys.
*
* @win: nsIWindow - parent window to display modal dialog; can be null
* @mesg: String - message text
* @checkBoxLabel: String - if not null, display checkbox with text; the
* checkbox state is returned in checkedObj.value
* @button-Labels: String - use "&" to indicate access key
* use "buttonType:label" or ":buttonType" to indicate special button types
* (buttonType is one of cancel, help, extra1, extra2)
* @checkedObj: Object - holding the checkbox value
*
* @return: 0-2: button Number pressed
* -1: ESC or close window button pressed
*
*/
keyImportDlg: function(win, keyList, checkBoxLabel, okLabel, labelButton2, labelButton3, checkedObj) {
var result = {
value: -1,
checked: false
};
if (!win) {
win = EnigmailWindows.getBestParentWin();
}
win.openDialog("chrome://enigmail/content/enigmailKeyImportInfo.xul", "",
"chrome,dialog,modal,centerscreen,resizable", {
keyList: keyList,
checkboxLabel: checkBoxLabel,
button1: okLabel,
},
result);
if (checkBoxLabel) {
checkedObj.value = result.checked;
}
return result.value;
},
/**
* return a pre-initialized prompt service
*/
getPromptSvc: function() {
return gPromptSvc;
}
};
EnigmailWindows.alert = EnigmailDialog.alert;
enigmail/package/encryption.jsm 0000664 0000000 0000000 00000042341 13213001347 0017141 0 ustar 00root root 0000000 0000000 /*global Components: false, EnigmailCore: false, EnigmailLog: false, EnigmailPrefs: false, EnigmailApp: false, EnigmailLocale: false, EnigmailDialog: 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 = ["EnigmailEncryption"];
Components.utils.import("resource://enigmail/core.jsm");
Components.utils.import("resource://enigmail/data.jsm"); /*global EnigmailData: false */
Components.utils.import("resource://enigmail/log.jsm");
Components.utils.import("resource://enigmail/prefs.jsm");
Components.utils.import("resource://enigmail/app.jsm");
Components.utils.import("resource://enigmail/locale.jsm");
Components.utils.import("resource://enigmail/dialog.jsm");
Components.utils.import("resource://enigmail/gpgAgent.jsm"); /*global EnigmailGpgAgent: false */
Components.utils.import("resource://enigmail/gpg.jsm"); /*global EnigmailGpg: false */
Components.utils.import("resource://enigmail/errorHandling.jsm"); /*global EnigmailErrorHandling: false */
Components.utils.import("resource://enigmail/execution.jsm"); /*global EnigmailExecution: false */
Components.utils.import("resource://enigmail/files.jsm"); /*global EnigmailFiles: false */
Components.utils.import("resource://enigmail/passwords.jsm"); /*global EnigmailPassword: false */
Components.utils.import("resource://enigmail/funcs.jsm"); /*global EnigmailFuncs: false */
Components.utils.import("resource://enigmail/keyRing.jsm"); /*global EnigmailKeyRing: false */
const Cc = Components.classes;
const Ci = Components.interfaces;
const nsIEnigmail = Ci.nsIEnigmail;
var EC = EnigmailCore;
const gMimeHashAlgorithms = [null, "sha1", "ripemd160", "sha256", "sha384", "sha512", "sha224", "md5"];
const ENC_TYPE_MSG = 0;
const ENC_TYPE_ATTACH_BINARY = 1;
const ENC_TYPE_ATTACH_ASCII = 2;
const GPG_COMMENT_OPT = "Using GnuPG with %s - http://www.enigmail.net/";
const EnigmailEncryption = {
getEncryptCommand: function(fromMailAddr, toMailAddr, bccMailAddr, hashAlgorithm, sendFlags, isAscii, errorMsgObj) {
EnigmailLog.DEBUG("encryption.jsm: getEncryptCommand: hashAlgorithm=" + hashAlgorithm + "\n");
try {
fromMailAddr = EnigmailFuncs.stripEmail(fromMailAddr);
toMailAddr = EnigmailFuncs.stripEmail(toMailAddr);
bccMailAddr = EnigmailFuncs.stripEmail(bccMailAddr);
}
catch (ex) {
errorMsgObj.value = EnigmailLocale.getString("invalidEmail");
return null;
}
var defaultSend = sendFlags & nsIEnigmail.SEND_DEFAULT;
var signMsg = sendFlags & nsIEnigmail.SEND_SIGNED;
var encryptMsg = sendFlags & nsIEnigmail.SEND_ENCRYPTED;
var usePgpMime = sendFlags & nsIEnigmail.SEND_PGP_MIME;
var useDefaultComment = false;
try {
useDefaultComment = EnigmailPrefs.getPref("useDefaultComment");
}
catch (ex) {}
var hushMailSupport = false;
try {
hushMailSupport = EnigmailPrefs.getPref("hushMailSupport");
}
catch (ex) {}
var detachedSig = (usePgpMime || (sendFlags & nsIEnigmail.SEND_ATTACHMENT)) && signMsg && !encryptMsg;
var toAddrList = toMailAddr.split(/\s*,\s*/);
var bccAddrList = bccMailAddr.split(/\s*,\s*/);
var k;
var encryptArgs = EnigmailGpg.getStandardArgs(true);
if (!useDefaultComment)
encryptArgs = encryptArgs.concat(["--comment", GPG_COMMENT_OPT.replace(/\%s/, EnigmailApp.getName())]);
var angledFromMailAddr = ((fromMailAddr.search(/^0x/) === 0) || hushMailSupport) ?
fromMailAddr : "<" + fromMailAddr + ">";
angledFromMailAddr = angledFromMailAddr.replace(/([\"\'\`])/g, "\\$1");
if (signMsg && hashAlgorithm) {
encryptArgs = encryptArgs.concat(["--digest-algo", hashAlgorithm]);
}
if (encryptMsg) {
switch (isAscii) {
case ENC_TYPE_MSG:
encryptArgs.push("-a");
encryptArgs.push("-t");
break;
case ENC_TYPE_ATTACH_ASCII:
encryptArgs.push("-a");
}
encryptArgs.push("--encrypt");
if (signMsg)
encryptArgs.push("--sign");
if (sendFlags & nsIEnigmail.SEND_ALWAYS_TRUST) {
encryptArgs.push("--trust-model");
encryptArgs.push("always");
}
if ((sendFlags & nsIEnigmail.SEND_ENCRYPT_TO_SELF) && fromMailAddr)
encryptArgs = encryptArgs.concat(["--encrypt-to", angledFromMailAddr]);
for (k = 0; k < toAddrList.length; k++) {
toAddrList[k] = toAddrList[k].replace(/\'/g, "\\'");
if (toAddrList[k].length > 0) {
encryptArgs.push("-r");
if (toAddrList[k].search(/^GROUP:/) === 0) {
// groups from gpg.conf file
encryptArgs.push(toAddrList[k].substr(6));
}
else {
encryptArgs.push((hushMailSupport || (toAddrList[k].search(/^0x/) === 0)) ? toAddrList[k] : "<" + toAddrList[k] + ">");
}
}
}
for (k = 0; k < bccAddrList.length; k++) {
bccAddrList[k] = bccAddrList[k].replace(/\'/g, "\\'");
if (bccAddrList[k].length > 0) {
encryptArgs.push("--hidden-recipient");
encryptArgs.push((hushMailSupport || (bccAddrList[k].search(/^0x/) === 0)) ? bccAddrList[k] : "<" + bccAddrList[k] + ">");
}
}
}
else if (detachedSig) {
encryptArgs = encryptArgs.concat(["-s", "-b"]);
switch (isAscii) {
case ENC_TYPE_MSG:
encryptArgs = encryptArgs.concat(["-a", "-t"]);
break;
case ENC_TYPE_ATTACH_ASCII:
encryptArgs.push("-a");
}
}
else if (signMsg) {
encryptArgs = encryptArgs.concat(["-t", "--clearsign"]);
}
if (fromMailAddr) {
encryptArgs = encryptArgs.concat(["-u", angledFromMailAddr]);
}
return encryptArgs;
},
/**
* Determine if the sender key ID or user ID can be used for signing and/or encryption
*
* @param sendFlags: Number - the send Flags; need to contain SEND_SIGNED and/or SEND_ENCRYPTED
* @param fromMailAddr: String - the sender email address or key ID
*
* @return Object:
* - keyId: String - the found key ID, or null if fromMailAddr is not valid
* - errorMsg: String - the erorr message if key not valid, or null if key is valid
*/
determineOwnKeyUsability: function(sendFlags, fromMailAddr) {
EnigmailLog.DEBUG("encryption.jsm: determineOwnKeyUsability: sendFlags=" + sendFlags + ", sender=" + fromMailAddr + "\n");
let keyList = [];
let ret = {
keyId: null,
errorMsg: null
};
let sign = (sendFlags & nsIEnigmail.SEND_SIGNED ? true : false);
let encrypt = (sendFlags & nsIEnigmail.SEND_ENCRYPTED ? true : false);
if (fromMailAddr.search(/^(0x)?[A-Z0-9]+$/) === 0) {
// key ID specified
let key = EnigmailKeyRing.getKeyById(fromMailAddr);
keyList.push(key);
}
else {
// email address specified
keyList = EnigmailKeyRing.getKeysByUserId(fromMailAddr);
}
if (keyList.length === 0) {
ret.errorMsg = EnigmailLocale.getString("errorOwnKeyUnusable", fromMailAddr);
return ret;
}
if (sign) {
keyList = keyList.reduce(function _f(p, keyObj) {
if (keyObj.getSigningValidity().keyValid) p.push(keyObj);
return p;
}, []);
}
if (encrypt) {
keyList = keyList.reduce(function _f(p, keyObj) {
if (keyObj && keyObj.getEncryptionValidity().keyValid) p.push(keyObj);
return p;
}, []);
}
if (keyList.length === 0) {
if (sign) {
ret.errorMsg = EnigmailErrorHandling.determineInvSignReason(fromMailAddr);
}
else {
ret.errorMsg = EnigmailErrorHandling.determineInvRcptReason(fromMailAddr);
}
}
else {
// TODO: use better algorithm
ret.keyId = keyList[0].fpr;
}
return ret;
},
encryptMessageStart: function(win, uiFlags, fromMailAddr, toMailAddr, bccMailAddr,
hashAlgorithm, sendFlags, listener, statusFlagsObj, errorMsgObj) {
EnigmailLog.DEBUG("encryption.jsm: encryptMessageStart: uiFlags=" + uiFlags + ", from " + fromMailAddr + " to " + toMailAddr + ", hashAlgorithm=" + hashAlgorithm + " (" + EnigmailData.bytesToHex(
EnigmailData.pack(sendFlags, 4)) + ")\n");
let keyUseability = this.determineOwnKeyUsability(sendFlags, fromMailAddr);
if (!keyUseability.keyId) {
EnigmailLog.DEBUG("encryption.jsm: encryptMessageStart: own key invalid\n");
errorMsgObj.value = keyUseability.errorMsg;
statusFlagsObj.value = nsIEnigmail.INVALID_RECIPIENT | nsIEnigmail.NO_SECKEY | nsIEnigmail.DISPLAY_MESSAGE;
return null;
}
// TODO: else - use the found key ID
var pgpMime = uiFlags & nsIEnigmail.UI_PGP_MIME;
var hashAlgo = gMimeHashAlgorithms[EnigmailPrefs.getPref("mimeHashAlgorithm")];
if (hashAlgorithm) {
hashAlgo = hashAlgorithm;
}
errorMsgObj.value = "";
if (!sendFlags) {
EnigmailLog.DEBUG("encryption.jsm: encryptMessageStart: NO ENCRYPTION!\n");
errorMsgObj.value = EnigmailLocale.getString("notRequired");
return null;
}
if (!EnigmailCore.getService(win)) {
EnigmailLog.ERROR("encryption.jsm: encryptMessageStart: not yet initialized\n");
errorMsgObj.value = EnigmailLocale.getString("notInit");
return null;
}
var encryptArgs = EnigmailEncryption.getEncryptCommand(fromMailAddr, toMailAddr, bccMailAddr, hashAlgo, sendFlags, ENC_TYPE_MSG, errorMsgObj);
if (!encryptArgs)
return null;
var signMsg = sendFlags & nsIEnigmail.SEND_SIGNED;
var proc = EnigmailExecution.execStart(EnigmailGpgAgent.agentPath, encryptArgs, signMsg, win, listener, statusFlagsObj);
if (statusFlagsObj.value & nsIEnigmail.MISSING_PASSPHRASE) {
EnigmailLog.ERROR("encryption.jsm: encryptMessageStart: Error - no passphrase supplied\n");
errorMsgObj.value = "";
}
if (pgpMime && errorMsgObj.value) {
EnigmailDialog.alert(win, errorMsgObj.value);
}
return proc;
},
encryptMessageEnd: function(fromMailAddr, stderrStr, exitCode, uiFlags, sendFlags, outputLen, retStatusObj) {
EnigmailLog.DEBUG("encryption.jsm: encryptMessageEnd: uiFlags=" + uiFlags + ", sendFlags=" + EnigmailData.bytesToHex(EnigmailData.pack(sendFlags, 4)) + ", outputLen=" + outputLen + "\n");
var pgpMime = uiFlags & nsIEnigmail.UI_PGP_MIME;
var defaultSend = sendFlags & nsIEnigmail.SEND_DEFAULT;
var signMsg = sendFlags & nsIEnigmail.SEND_SIGNED;
var encryptMsg = sendFlags & nsIEnigmail.SEND_ENCRYPTED;
retStatusObj.statusFlags = 0;
retStatusObj.errorMsg = "";
retStatusObj.blockSeparation = "";
if (!EnigmailCore.getService().initialized) {
EnigmailLog.ERROR("encryption.jsm: encryptMessageEnd: not yet initialized\n");
retStatusObj.errorMsg = EnigmailLocale.getString("notInit");
return -1;
}
EnigmailErrorHandling.parseErrorOutput(stderrStr, retStatusObj);
exitCode = EnigmailExecution.fixExitCode(exitCode, retStatusObj);
if ((exitCode === 0) && !outputLen) {
exitCode = -1;
}
if (exitCode !== 0 && (signMsg || encryptMsg)) {
// GnuPG might return a non-zero exit code, even though the message was correctly
// signed or encryped -> try to fix the exit code
var correctedExitCode = 0;
if (signMsg) {
if (!(retStatusObj.statusFlags & nsIEnigmail.SIG_CREATED)) correctedExitCode = exitCode;
}
if (encryptMsg) {
if (!(retStatusObj.statusFlags & nsIEnigmail.END_ENCRYPTION)) correctedExitCode = exitCode;
}
exitCode = correctedExitCode;
}
EnigmailLog.DEBUG("encryption.jsm: encryptMessageEnd: command execution exit code: " + exitCode + "\n");
if (retStatusObj.statusFlags & nsIEnigmail.DISPLAY_MESSAGE) {
if (retStatusObj.extendedStatus.search(/\bdisp:/) >= 0) {
retStatusObj.errorMsg = retStatusObj.statusMsg;
}
else {
if (fromMailAddr.search(/^0x/) === 0) {
fromMailAddr = fromMailAddr.substr(2);
}
if (fromMailAddr.search(/^[A-F0-9]{8,40}$/i) === 0) {
fromMailAddr = "[A-F0-9]+" + fromMailAddr;
}
let s = new RegExp("^(\\[GNUPG:\\] )?INV_(RECP|SGNR) [0-9]+ (\\<|0x)?" + fromMailAddr + "\\>?", "m");
if (retStatusObj.statusMsg.search(s) >= 0) {
retStatusObj.errorMsg += "\n\n" + EnigmailLocale.getString("keyError.resolutionAction");
}
else if (retStatusObj.statusMsg.length > 0) {
retStatusObj.errorMsg = retStatusObj.statusMsg;
}
}
}
else if (retStatusObj.statusFlags & nsIEnigmail.INVALID_RECIPIENT) {
retStatusObj.errorMsg = retStatusObj.statusMsg;
}
else if (exitCode !== 0) {
retStatusObj.errorMsg = EnigmailLocale.getString("badCommand");
}
return exitCode;
},
encryptMessage: function(parent, uiFlags, plainText, fromMailAddr, toMailAddr, bccMailAddr, sendFlags,
exitCodeObj, statusFlagsObj, errorMsgObj) {
EnigmailLog.DEBUG("enigmail.js: Enigmail.encryptMessage: " + plainText.length + " bytes from " + fromMailAddr + " to " + toMailAddr + " (" + sendFlags + ")\n");
exitCodeObj.value = -1;
statusFlagsObj.value = 0;
errorMsgObj.value = "";
if (!plainText) {
EnigmailLog.DEBUG("enigmail.js: Enigmail.encryptMessage: NO ENCRYPTION!\n");
exitCodeObj.value = 0;
EnigmailLog.DEBUG(" <=== encryptMessage()\n");
return plainText;
}
var defaultSend = sendFlags & nsIEnigmail.SEND_DEFAULT;
var signMsg = sendFlags & nsIEnigmail.SEND_SIGNED;
var encryptMsg = sendFlags & nsIEnigmail.SEND_ENCRYPTED;
if (encryptMsg) {
// First convert all linebreaks to newlines
plainText = plainText.replace(/\r\n/g, "\n");
plainText = plainText.replace(/\r/g, "\n");
// we need all data in CRLF according to RFC 4880
plainText = plainText.replace(/\n/g, "\r\n");
}
var inspector = Cc["@mozilla.org/jsinspector;1"].createInstance(Ci.nsIJSInspector);
var listener = EnigmailExecution.newSimpleListener(
function _stdin(pipe) {
pipe.write(plainText);
pipe.close();
},
function _done(exitCode) {
// unlock wait
if (inspector.eventLoopNestLevel > 0) {
inspector.exitNestedEventLoop();
}
});
var proc = EnigmailEncryption.encryptMessageStart(parent, uiFlags,
fromMailAddr, toMailAddr, bccMailAddr,
null, sendFlags,
listener, statusFlagsObj, errorMsgObj);
if (!proc) {
exitCodeObj.value = -1;
EnigmailLog.DEBUG(" <=== encryptMessage()\n");
return "";
}
// Wait for child pipes to close
inspector.enterNestedEventLoop(0);
var retStatusObj = {};
exitCodeObj.value = EnigmailEncryption.encryptMessageEnd(fromMailAddr, EnigmailData.getUnicodeData(listener.stderrData), listener.exitCode,
uiFlags, sendFlags,
listener.stdoutData.length,
retStatusObj);
statusFlagsObj.value = retStatusObj.statusFlags;
statusFlagsObj.statusMsg = retStatusObj.statusMsg;
errorMsgObj.value = retStatusObj.errorMsg;
if ((exitCodeObj.value === 0) && listener.stdoutData.length === 0)
exitCodeObj.value = -1;
if (exitCodeObj.value === 0) {
// Normal return
EnigmailLog.DEBUG(" <=== encryptMessage()\n");
return EnigmailData.getUnicodeData(listener.stdoutData);
}
// Error processing
EnigmailLog.DEBUG("enigmail.js: Enigmail.encryptMessage: command execution exit code: " + exitCodeObj.value + "\n");
return "";
},
encryptAttachment: function(parent, fromMailAddr, toMailAddr, bccMailAddr, sendFlags, inFile, outFile,
exitCodeObj, statusFlagsObj, errorMsgObj) {
EnigmailLog.DEBUG("encryption.jsm: EnigmailEncryption.encryptAttachment infileName=" + inFile.path + "\n");
statusFlagsObj.value = 0;
sendFlags |= nsIEnigmail.SEND_ATTACHMENT;
let asciiArmor = false;
try {
asciiArmor = EnigmailPrefs.getPrefBranch().getBoolPref("inlineAttachAsciiArmor");
}
catch (ex) {}
const asciiFlags = (asciiArmor ? ENC_TYPE_ATTACH_ASCII : ENC_TYPE_ATTACH_BINARY);
let args = EnigmailEncryption.getEncryptCommand(fromMailAddr, toMailAddr, bccMailAddr, "", sendFlags, asciiFlags, errorMsgObj);
if (!args) {
return null;
}
const signMessage = (sendFlags & nsIEnigmail.SEND_SIGNED);
if (signMessage) {
args = args.concat(EnigmailPassword.command());
}
const inFilePath = EnigmailFiles.getEscapedFilename(EnigmailFiles.getFilePathReadonly(inFile.QueryInterface(Ci.nsIFile)));
const outFilePath = EnigmailFiles.getEscapedFilename(EnigmailFiles.getFilePathReadonly(outFile.QueryInterface(Ci.nsIFile)));
args = args.concat(["--yes", "-o", outFilePath, inFilePath]);
let cmdErrorMsgObj = {};
const msg = EnigmailExecution.execCmd(EnigmailGpgAgent.agentPath, args, "", exitCodeObj, statusFlagsObj, {}, cmdErrorMsgObj);
if (exitCodeObj.value !== 0) {
if (cmdErrorMsgObj.value) {
errorMsgObj.value = EnigmailFiles.formatCmdLine(EnigmailGpgAgent.agentPath, args);
errorMsgObj.value += "\n" + cmdErrorMsgObj.value;
}
else {
errorMsgObj.value = "An unknown error has occurred";
}
return "";
}
return msg;
},
registerOn: function(target) {
target.encryptMessage = EnigmailEncryption.encryptMessage;
target.encryptAttachment = EnigmailEncryption.encryptAttachment;
}
};
enigmail/package/enigmail.js 0000664 0000000 0000000 00000027264 13213001347 0016366 0 ustar 00root root 0000000 0000000 /*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";
const Cu = Components.utils;
Cu.import("resource://gre/modules/XPCOMUtils.jsm"); /*global XPCOMUtils: false */
Cu.import("resource://enigmail/subprocess.jsm"); /*global subprocess: false */
Cu.import("resource://enigmail/pipeConsole.jsm"); /*global EnigmailConsole: false */
Cu.import("resource://enigmail/core.jsm"); /*global EnigmailCore: false */
Cu.import("resource://enigmail/gpgAgent.jsm"); /*global EnigmailGpgAgent: false */
Cu.import("resource://enigmail/encryption.jsm"); /*global EnigmailEncryption: false */
Cu.import("resource://enigmail/decryption.jsm"); /*global EnigmailDecryption: false */
Cu.import("resource://enigmail/protocolHandler.jsm"); /*global EnigmailProtocolHandler: false */
Cu.import("resource://enigmail/rules.jsm"); /*global EnigmailRules: false */
Cu.import("resource://enigmail/filters.jsm"); /*global EnigmailFilters: false */
Cu.import("resource://enigmail/armor.jsm"); /*global EnigmailArmor: false */
Cu.import("resource://enigmail/log.jsm"); /*global EnigmailLog: false */
Cu.import("resource://enigmail/os.jsm"); /*global EnigmailOS: false */
Cu.import("resource://enigmail/locale.jsm"); /*global EnigmailLocale: false */
Cu.import("resource://enigmail/commandLine.jsm"); /*global EnigmailCommandLine: false */
Cu.import("resource://enigmail/prefs.jsm"); /*global EnigmailPrefs: false */
Cu.import("resource://enigmail/uris.jsm"); /*global EnigmailURIs: false */
Cu.import("resource://enigmail/verify.jsm"); /*global EnigmailVerifyAttachment: false */
Cu.import("resource://enigmail/mimeVerify.jsm"); /*global EnigmailVerify: false */
Cu.import("resource://enigmail/windows.jsm"); /*global EnigmailWindows: false */
Cu.import("resource://enigmail/dialog.jsm"); /*global EnigmailDialog: false */
Cu.import("resource://enigmail/configure.jsm"); /*global EnigmailConfigure: false */
Cu.import("resource://enigmail/app.jsm"); /*global EnigmailApp: false */
/* Implementations supplied by this module */
const NS_ENIGMAIL_CONTRACTID = "@mozdev.org/enigmail/enigmail;1";
const NS_ENIGMAIL_CID =
Components.ID("{847b3a01-7ab1-11d4-8f02-006008948af5}");
// Contract IDs and CIDs used by this module
const NS_OBSERVERSERVICE_CONTRACTID = "@mozilla.org/observer-service;1";
const Cc = Components.classes;
const Ci = Components.interfaces;
// Interfaces
const nsISupports = Ci.nsISupports;
const nsIObserver = Ci.nsIObserver;
const nsIEnvironment = Ci.nsIEnvironment;
const nsIEnigmail = Ci.nsIEnigmail;
const NS_XPCOM_SHUTDOWN_OBSERVER_ID = "xpcom-shutdown";
///////////////////////////////////////////////////////////////////////////////
// Enigmail encryption/decryption service
///////////////////////////////////////////////////////////////////////////////
function getLogDirectoryPrefix() {
try {
return EnigmailPrefs.getPrefBranch().getCharPref("logDirectory") || "";
}
catch (ex) {
return "";
}
}
function initializeLogDirectory() {
const prefix = getLogDirectoryPrefix();
if (prefix) {
EnigmailLog.setLogLevel(5);
EnigmailLog.setLogDirectory(prefix);
EnigmailLog.DEBUG("enigmail.js: Logging debug output to " + prefix + "/enigdbug.txt\n");
}
}
function initializeLogging(env) {
const nspr_log_modules = env.get("NSPR_LOG_MODULES");
const matches = nspr_log_modules.match(/enigmail.js:(\d+)/);
if (matches && (matches.length > 1)) {
EnigmailLog.setLogLevel(Number(matches[1]));
EnigmailLog.WARNING("enigmail.js: Enigmail: LogLevel=" + matches[1] + "\n");
}
}
function initializeSubprocessLogging(env) {
const nspr_log_modules = env.get("NSPR_LOG_MODULES");
const matches = nspr_log_modules.match(/subprocess:(\d+)/);
subprocess.registerLogHandler(function(txt) {
EnigmailLog.ERROR("subprocess.jsm: " + txt);
});
if (matches && matches.length > 1 && matches[1] > 2) {
subprocess.registerDebugHandler(function(txt) {
EnigmailLog.DEBUG("subprocess.jsm: " + txt);
});
}
}
function initializeAgentInfo() {
if (EnigmailGpgAgent.useGpgAgent() && (!EnigmailOS.isDosLike())) {
if (!EnigmailGpgAgent.isDummy()) {
EnigmailCore.addToEnvList("GPG_AGENT_INFO=" + EnigmailGpgAgent.gpgAgentInfo.envStr);
}
}
}
function failureOn(ex, status) {
status.initializationError = EnigmailLocale.getString("enigmailNotAvailable");
EnigmailLog.ERROR("enigmail.js: Enigmail.initialize: Error - " + status.initializationError + "\n");
EnigmailLog.DEBUG("enigmail.js: Enigmail.initialize: exception=" + ex.toString() + "\n");
throw Components.results.NS_ERROR_FAILURE;
}
function getEnvironment(status) {
try {
return Cc["@mozilla.org/process/environment;1"].getService(nsIEnvironment);
}
catch (ex) {
failureOn(ex, status);
}
}
function initializeEnvironment(env) {
// Initialize global environment variables list
const passEnv = ["GNUPGHOME", "GPGDIR", "ETC",
"ALLUSERSPROFILE", "APPDATA", "BEGINLIBPATH",
"COMMONPROGRAMFILES", "COMSPEC", "DBUS_SESSION_BUS_ADDRESS", "DISPLAY",
"ENIGMAIL_PASS_ENV", "ENDLIBPATH",
"GTK_IM_MODULE",
"HOME", "HOMEDRIVE", "HOMEPATH",
"LANG", "LANGUAGE", "LC_ALL", "LC_COLLATE", "LC_CTYPE",
"LC_MESSAGES", "LC_MONETARY", "LC_NUMERIC", "LC_TIME",
"LOCPATH", "LOGNAME", "LD_LIBRARY_PATH", "MOZILLA_FIVE_HOME",
"NLSPATH", "PATH", "PATHEXT", "PROGRAMFILES", "PWD",
"QT_IM_MODULE",
"SHELL", "SYSTEMDRIVE", "SYSTEMROOT",
"TEMP", "TMP", "TMPDIR", "TZ", "TZDIR", "UNIXROOT",
"USER", "USERPROFILE", "WINDIR", "XAUTHORITY",
"XMODIFIERS"
];
const passList = env.get("ENIGMAIL_PASS_ENV");
if (passList) {
const passNames = passList.split(":");
for (var k = 0; k < passNames.length; k++) {
passEnv.push(passNames[k]);
}
}
EnigmailCore.initEnvList();
for (var j = 0; j < passEnv.length; j++) {
const envName = passEnv[j];
const envValue = env.get(envName);
if (envValue) {
EnigmailCore.addToEnvList(envName + "=" + envValue);
}
}
EnigmailLog.DEBUG("enigmail.js: Enigmail.initialize: Ec.envList = " + EnigmailCore.getEnvList() + "\n");
}
function initializeObserver(on) {
// Register to observe XPCOM shutdown
const obsServ = Cc[NS_OBSERVERSERVICE_CONTRACTID].getService().
QueryInterface(Ci.nsIObserverService);
obsServ.addObserver(on, NS_XPCOM_SHUTDOWN_OBSERVER_ID, false);
}
function Enigmail() {
this.wrappedJSObject = this;
}
Enigmail.prototype = {
classDescription: "Enigmail",
classID: NS_ENIGMAIL_CID,
contractID: NS_ENIGMAIL_CONTRACTID,
initialized: false,
initializationAttempted: false,
initializationError: "",
_xpcom_factory: {
createInstance: function(aOuter, iid) {
// Enigmail is a service -> only instanciate once
return EnigmailCore.ensuredEnigmailService(function() {
return new Enigmail();
});
},
lockFactory: function(lock) {}
},
QueryInterface: XPCOMUtils.generateQI([nsIEnigmail, nsIObserver, nsISupports]),
observe: function(aSubject, aTopic, aData) {
EnigmailLog.DEBUG("enigmail.js: Enigmail.observe: topic='" + aTopic + "' \n");
if (aTopic == NS_XPCOM_SHUTDOWN_OBSERVER_ID) {
// XPCOM shutdown
this.finalize();
}
else {
EnigmailLog.DEBUG("enigmail.js: Enigmail.observe: no handler for '" + aTopic + "'\n");
}
},
finalize: function() {
EnigmailLog.DEBUG("enigmail.js: Enigmail.finalize:\n");
if (!this.initialized) return;
EnigmailGpgAgent.finalize();
EnigmailLog.onShutdown();
EnigmailLog.setLogLevel(3);
this.initializationError = "";
this.initializationAttempted = false;
this.initialized = false;
},
initialize: function(domWindow, version) {
this.initializationAttempted = true;
EnigmailLog.DEBUG("enigmail.js: Enigmail.initialize: START\n");
if (this.initialized) return;
initializeLogDirectory();
EnigmailCore.setEnigmailService(this);
this.environment = getEnvironment(this);
initializeLogging(this.environment);
initializeSubprocessLogging(this.environment);
initializeEnvironment(this.environment);
try {
EnigmailConsole.write("Initializing Enigmail service ...\n");
}
catch (ex) {
failureOn(ex, this);
}
EnigmailGpgAgent.setAgentPath(domWindow, this);
EnigmailGpgAgent.detectGpgAgent(domWindow, this);
initializeAgentInfo();
initializeObserver(this);
this.initialized = true;
EnigmailLog.DEBUG("enigmail.js: Enigmail.initialize: END\n");
},
reinitialize: function() {
this.initialized = false;
this.initializationAttempted = true;
EnigmailConsole.write("Reinitializing Enigmail service ...\n");
EnigmailGpgAgent.setAgentPath(null, this);
this.initialized = true;
},
getService: function(holder, win, startingPreferences) {
if (!win) {
win = EnigmailWindows.getBestParentWin();
}
EnigmailLog.DEBUG("enigmail.js: svc = " + holder.svc + "\n");
if (!holder.svc.initialized) {
const firstInitialization = !holder.svc.initializationAttempted;
try {
// Initialize enigmail
EnigmailCore.init(EnigmailApp.getVersion());
holder.svc.initialize(win, EnigmailApp.getVersion());
try {
// Reset alert count to default value
EnigmailPrefs.getPrefBranch().clearUserPref("initAlert");
}
catch (ex) {}
}
catch (ex) {
if (firstInitialization) {
// Display initialization error alert
const errMsg = (holder.svc.initializationError ? holder.svc.initializationError : EnigmailLocale.getString("accessError")) +
"\n\n" + EnigmailLocale.getString("initErr.howToFixIt");
const checkedObj = {
value: false
};
if (EnigmailPrefs.getPref("initAlert")) {
const r = EnigmailDialog.longAlert(win, "Enigmail: " + errMsg,
EnigmailLocale.getString("dlgNoPrompt"),
null, EnigmailLocale.getString("initErr.setupWizard.button"),
null, checkedObj);
if (r >= 0 && checkedObj.value) {
EnigmailPrefs.setPref("initAlert", false);
}
if (r == 1) {
// start setup wizard
EnigmailWindows.openSetupWizard(win, false);
return Enigmail.getService(holder, win);
}
}
if (EnigmailPrefs.getPref("initAlert")) {
holder.svc.initializationAttempted = false;
holder.svc = null;
}
}
return null;
}
const configuredVersion = EnigmailPrefs.getPref("configuredVersion");
EnigmailLog.DEBUG("enigmailCommon.jsm: getService: " + configuredVersion + "\n");
if (firstInitialization && holder.svc.initialized &&
EnigmailGpgAgent.agentType === "pgp") {
EnigmailDialog.alert(win, EnigmailLocale.getString("pgpNotSupported"));
}
if (holder.svc.initialized && (EnigmailApp.getVersion() != configuredVersion)) {
EnigmailConfigure.configureEnigmail(win, startingPreferences);
}
}
return holder.svc.initialized ? holder.svc : null;
}
}; // Enigmail.prototype
EnigmailArmor.registerOn(Enigmail.prototype);
EnigmailDecryption.registerOn(Enigmail.prototype);
EnigmailEncryption.registerOn(Enigmail.prototype);
EnigmailRules.registerOn(Enigmail.prototype);
EnigmailURIs.registerOn(Enigmail.prototype);
EnigmailVerifyAttachment.registerOn(Enigmail.prototype);
EnigmailVerify.registerContentTypeHandler();
// This variable is exported implicitly and should not be refactored or removed
const NSGetFactory = XPCOMUtils.generateNSGetFactory([Enigmail, EnigmailProtocolHandler, EnigmailCommandLine.Handler]);
EnigmailFilters.registerAll();
enigmail/package/errorHandling.jsm 0000664 0000000 0000000 00000044650 13213001347 0017552 0 ustar 00root root 0000000 0000000 /*global Components: false, EnigmailLog: false, EnigmailLocale: false, EnigmailData: false, EnigmailCore: 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 = ["EnigmailErrorHandling"];
const Ci = Components.interfaces;
const Cu = Components.utils;
Cu.import("resource://enigmail/log.jsm");
Cu.import("resource://enigmail/locale.jsm");
Cu.import("resource://enigmail/data.jsm");
Cu.import("resource://enigmail/core.jsm");
Cu.import("resource://enigmail/system.jsm"); /* global EnigmailSystem: false */
Cu.import("resource://enigmail/lazy.jsm"); /* global EnigmailLazy: false */
const getEnigmailKeyRing = EnigmailLazy.loader("enigmail/keyRing.jsm", "EnigmailKeyRing");
const nsIEnigmail = Ci.nsIEnigmail;
const gStatusFlags = {
GOODSIG: nsIEnigmail.GOOD_SIGNATURE,
BADSIG: nsIEnigmail.BAD_SIGNATURE,
ERRSIG: nsIEnigmail.UNVERIFIED_SIGNATURE,
EXPSIG: nsIEnigmail.EXPIRED_SIGNATURE,
REVKEYSIG: nsIEnigmail.GOOD_SIGNATURE,
EXPKEYSIG: nsIEnigmail.EXPIRED_KEY_SIGNATURE,
KEYEXPIRED: nsIEnigmail.EXPIRED_KEY,
KEYREVOKED: nsIEnigmail.REVOKED_KEY,
NO_PUBKEY: nsIEnigmail.NO_PUBKEY,
NO_SECKEY: nsIEnigmail.NO_SECKEY,
IMPORTED: nsIEnigmail.IMPORTED_KEY,
INV_RECP: nsIEnigmail.INVALID_RECIPIENT,
MISSING_PASSPHRASE: nsIEnigmail.MISSING_PASSPHRASE,
BAD_PASSPHRASE: nsIEnigmail.BAD_PASSPHRASE,
BADARMOR: nsIEnigmail.BAD_ARMOR,
NODATA: nsIEnigmail.NODATA,
ERROR: nsIEnigmail.BAD_SIGNATURE | nsIEnigmail.DECRYPTION_FAILED,
DECRYPTION_FAILED: nsIEnigmail.DECRYPTION_FAILED,
DECRYPTION_OKAY: nsIEnigmail.DECRYPTION_OKAY,
TRUST_UNDEFINED: nsIEnigmail.UNTRUSTED_IDENTITY,
TRUST_NEVER: nsIEnigmail.UNTRUSTED_IDENTITY,
TRUST_MARGINAL: nsIEnigmail.UNTRUSTED_IDENTITY,
TRUST_FULLY: nsIEnigmail.TRUSTED_IDENTITY,
TRUST_ULTIMATE: nsIEnigmail.TRUSTED_IDENTITY,
CARDCTRL: nsIEnigmail.CARDCTRL,
SC_OP_FAILURE: nsIEnigmail.SC_OP_FAILURE,
UNKNOWN_ALGO: nsIEnigmail.UNKNOWN_ALGO,
SIG_CREATED: nsIEnigmail.SIG_CREATED,
END_ENCRYPTION: nsIEnigmail.END_ENCRYPTION,
INV_SGNR: 0x100000000,
IMPORT_OK: 0x200000000,
FAILURE: 0x400000000
};
// taken from libgpg-error: gpg-error.h
const GPG_SOURCE_SYSTEM = {
GPG_ERR_SOURCE_UNKNOWN: 0,
GPG_ERR_SOURCE_GCRYPT: 1,
GPG_ERR_SOURCE_GPG: 2,
GPG_ERR_SOURCE_GPGSM: 3,
GPG_ERR_SOURCE_GPGAGENT: 4,
GPG_ERR_SOURCE_PINENTRY: 5,
GPG_ERR_SOURCE_SCD: 6,
GPG_ERR_SOURCE_GPGME: 7,
GPG_ERR_SOURCE_KEYBOX: 8,
GPG_ERR_SOURCE_KSBA: 9,
GPG_ERR_SOURCE_DIRMNGR: 10,
GPG_ERR_SOURCE_GSTI: 11,
GPG_ERR_SOURCE_GPA: 12,
GPG_ERR_SOURCE_KLEO: 13,
GPG_ERR_SOURCE_G13: 14,
GPG_ERR_SOURCE_ASSUAN: 15,
GPG_ERR_SOURCE_TLS: 17,
GPG_ERR_SOURCE_ANY: 31
};
/**
* Handling of specific error codes from GnuPG
*
* @param c Object - the retStatusObj
* @param errorNumber String - the error number as printed by GnuPG
*/
function handleErrorCode(c, errorNumber) {
if (errorNumber && errorNumber.search(/^[0-9]+$/) === 0) {
let errNum = Number(errorNumber);
let sourceSystem = errNum >> 24;
let errorCode = errNum & 0xFFFFFF;
switch (errorCode) {
case 11: // bad Passphrase
case 87: // bad PIN
badPassphrase(c);
break;
case 177: // no passphrase
case 178: // no PIN
missingPassphrase(c);
break;
case 99: // operation canceled
if (sourceSystem === GPG_SOURCE_SYSTEM.GPG_ERR_SOURCE_PINENTRY) {
missingPassphrase(c);
}
break;
case 77: // no agent
case 78: // agent error
case 80: // assuan server fault
case 81: // assuan error
c.statusFlags |= Ci.nsIEnigmail.DISPLAY_MESSAGE;
c.retStatusObj.extendedStatus += "disp:get_passphrase ";
c.retStatusObj.statusMsg = EnigmailLocale.getString("errorHandling.gpgAgentError") + "\n\n" + EnigmailLocale.getString("errorHandling.readFaq");
c.isError = true;
break;
case 85: // no pinentry
case 86: // pinentry error
c.statusFlags |= Ci.nsIEnigmail.DISPLAY_MESSAGE;
c.retStatusObj.extendedStatus += "disp:get_passphrase ";
c.retStatusObj.statusMsg = EnigmailLocale.getString("errorHandling.pinentryError") + "\n\n" + EnigmailLocale.getString("errorHandling.readFaq");
c.isError = true;
break;
case 92: // no dirmngr
case 93: // dirmngr error
c.statusFlags |= Ci.nsIEnigmail.DISPLAY_MESSAGE;
c.retStatusObj.extendedStatus += "disp:get_passphrase ";
c.retStatusObj.statusMsg = EnigmailLocale.getString("errorHandling.dirmngrError") + "\n\n" + EnigmailLocale.getString("errorHandling.readFaq");
c.isError = true;
break;
case 2:
case 3:
case 149:
case 188:
c.statusFlags |= Ci.nsIEnigmail.UNKNOWN_ALGO;
break;
case 15:
c.statusFlags |= Ci.nsIEnigmail.BAD_ARMOR;
break;
case 58:
c.statusFlags |= Ci.nsIEnigmail.NODATA;
break;
}
}
}
/**
* Special treatment for some ERROR messages from GnuPG
*
* extendedStatus are preceeded by "disp:" if an error message is set in statusMsg
*
* isError is set to true if this is a hard error that makes further processing of
* the status codes useless
*/
function handleError(c) {
/*
check_hijacking: gpg-agent was hijacked by some other process (like gnome-keyring)
proc_pkt.plaintext: multiple plaintexts seen
pkdecrypt_failed: public key decryption failed
keyedit.passwd: error changing the passphrase
card_key_generate: key generation failed (card)
key_generate: key generation failed
keyserver_send: keyserver send failed
get_passphrase: gpg-agent cannot query the passphrase from pinentry (GnuPG 2.0.x)
*/
var lineSplit = c.statusLine.split(/ +/);
if (lineSplit.length > 0) {
if (lineSplit.length >= 3) {
// first check if the error code is a specifically treated hard failure
handleErrorCode(c, lineSplit[2]);
if (c.isError) return true;
}
switch (lineSplit[1]) {
case "check_hijacking":
c.statusFlags |= Ci.nsIEnigmail.DISPLAY_MESSAGE;
c.retStatusObj.extendedStatus += "disp:invalid_gpg_agent ";
c.retStatusObj.statusMsg = EnigmailLocale.getString("errorHandling.gpgAgentInvalid") + "\n\n" + EnigmailLocale.getString("errorHandling.readFaq");
c.isError = true;
break;
case "get_passphrase":
c.statusFlags |= Ci.nsIEnigmail.DISPLAY_MESSAGE;
c.retStatusObj.extendedStatus += "disp:get_passphrase ";
c.retStatusObj.statusMsg = EnigmailLocale.getString("errorHandling.pinentryError") + "\n\n" + EnigmailLocale.getString("errorHandling.readFaq");
c.isError = true;
break;
case "proc_pkt.plaintext":
c.retStatusObj.extendedStatus += "multiple_plaintexts ";
c.isError = true;
break;
case "pkdecrypt_failed":
c.retStatusObj.extendedStatus += "pubkey_decrypt ";
handleErrorCode(c, lineSplit[2]);
break;
case "keyedit.passwd":
c.retStatusObj.extendedStatus += "passwd_change_failed ";
break;
case "card_key_generate":
case "key_generate":
c.retStatusObj.extendedStatus += "key_generate_failure ";
break;
case "keyserver_send":
c.retStatusObj.extendedStatus += "keyserver_send_failed ";
c.isError = true;
break;
default:
return false;
}
return true;
}
else {
return false;
}
}
// handle GnuPG FAILURE message (GnuPG 2.1.10 and newer)
function failureMessage(c) {
let lineSplit = c.statusLine.split(/ +/);
if (lineSplit.length >= 3) {
handleErrorCode(c, lineSplit[2]);
}
}
function missingPassphrase(c) {
c.statusFlags |= Ci.nsIEnigmail.MISSING_PASSPHRASE;
if (c.retStatusObj.statusMsg.indexOf(EnigmailLocale.getString("missingPassphrase")) < 0) {
c.statusFlags |= Ci.nsIEnigmail.DISPLAY_MESSAGE;
c.flag = 0;
EnigmailLog.DEBUG("errorHandling.jsm: missingPassphrase: missing passphrase\n");
c.retStatusObj.statusMsg += EnigmailLocale.getString("missingPassphrase") + "\n";
}
}
function badPassphrase(c) {
c.statusFlags |= Ci.nsIEnigmail.MISSING_PASSPHRASE;
if (!(c.statusFlags & Ci.nsIEnigmail.BAD_PASSPHRASE)) {
c.statusFlags |= Ci.nsIEnigmail.BAD_PASSPHRASE;
c.flag = 0;
EnigmailLog.DEBUG("errorHandling.jsm: badPassphrase: bad passphrase\n");
c.retStatusObj.statusMsg += EnigmailLocale.getString("badPhrase") + "\n";
}
}
function invalidSignature(c) {
if (c.isError) return;
var lineSplit = c.statusLine.split(/ +/);
c.statusFlags |= Ci.nsIEnigmail.DISPLAY_MESSAGE;
c.flag = 0;
let keySpec = lineSplit[2];
if (keySpec) {
EnigmailLog.DEBUG("errorHandling.jsm: invalidRecipient: detected invalid sender " + keySpec + " / code: " + lineSplit[1] + "\n");
c.retStatusObj.errorMsg += EnigmailErrorHandling.determineInvSignReason(keySpec);
}
}
function invalidRecipient(c) {
if (c.isError) return;
var lineSplit = c.statusLine.split(/ +/);
c.statusFlags |= Ci.nsIEnigmail.DISPLAY_MESSAGE;
c.flag = 0;
let keySpec = lineSplit[2];
if (keySpec) {
EnigmailLog.DEBUG("errorHandling.jsm: invalidRecipient: detected invalid recipient " + keySpec + " / code: " + lineSplit[1] + "\n");
c.retStatusObj.errorMsg += EnigmailErrorHandling.determineInvRcptReason(keySpec);
}
}
function importOk(c) {
var lineSplit = c.statusLine.split(/ +/);
if (lineSplit.length > 1) {
EnigmailLog.DEBUG("errorHandling.jsm: importOk: key imported: " + lineSplit[2] + "\n");
}
else {
EnigmailLog.DEBUG("errorHandling.jsm: importOk: key without FPR imported\n");
}
let importFlag = Number(lineSplit[1]);
if (importFlag & (1 | 2 | 8)) {
EnigmailCore.getKeyRing().clearCache();
}
}
function unverifiedSignature(c) {
var lineSplit = c.statusLine.split(/ +/);
if (lineSplit.length > 7 && lineSplit[7] == "4") {
c.flag = Ci.nsIEnigmail.UNKNOWN_ALGO;
}
}
function noData(c) {
// Recognize only "NODATA 1"
if (c.statusLine.search(/NODATA 1\b/) < 0) {
c.flag = 0;
}
}
function decryptionFailed(c) {
c.inDecryptionFailed = true;
}
function cardControl(c) {
var lineSplit = c.statusLine.split(/ +/);
if (lineSplit[1] == "3") {
c.detectedCard = lineSplit[2];
}
else {
c.errCode = Number(lineSplit[1]);
if (c.errCode == 1) c.requestedCard = lineSplit[2];
}
}
function setupFailureLookup() {
var result = {};
result[Ci.nsIEnigmail.DECRYPTION_FAILED] = decryptionFailed;
result[Ci.nsIEnigmail.NODATA] = noData;
result[Ci.nsIEnigmail.CARDCTRL] = cardControl;
result[Ci.nsIEnigmail.UNVERIFIED_SIGNATURE] = unverifiedSignature;
result[Ci.nsIEnigmail.MISSING_PASSPHRASE] = missingPassphrase;
result[Ci.nsIEnigmail.BAD_PASSPHRASE] = badPassphrase;
result[gStatusFlags.INV_RECP] = invalidRecipient;
result[gStatusFlags.INV_SGNR] = invalidSignature;
result[gStatusFlags.IMPORT_OK] = importOk;
result[gStatusFlags.FAILURE] = failureMessage;
return result;
}
function ignore() {}
const failureLookup = setupFailureLookup();
function handleFailure(c, errorFlag) {
c.flag = gStatusFlags[errorFlag]; // yields known flag or undefined
(failureLookup[c.flag] || ignore)(c);
// if known flag, story it in our status
if (c.flag) {
c.statusFlags |= c.flag;
}
}
function newContext(errOutput, retStatusObj) {
retStatusObj.statusMsg = "";
retStatusObj.errorMsg = "";
retStatusObj.extendedStatus = "";
retStatusObj.blockSeparation = "";
return {
errOutput: errOutput,
retStatusObj: retStatusObj,
errArray: [],
statusArray: [],
errCode: 0,
detectedCard: null,
requestedCard: null,
errorMsg: "",
statusPat: /^\[GNUPG:\] /,
statusFlags: 0,
plaintextCount: 0,
withinCryptoMsg: false,
cryptoStartPat: /^BEGIN_DECRYPTION/,
cryptoEndPat: /^END_DECRYPTION/,
plaintextPat: /^PLAINTEXT /,
plaintextLengthPat: /^PLAINTEXT_LENGTH /
};
}
function splitErrorOutput(errOutput) {
var errLines = errOutput.split(/\r?\n/);
// Discard last null string, if any
if ((errLines.length > 1) && !errLines[errLines.length - 1]) {
errLines.pop();
}
return errLines;
}
function parseErrorLine(errLine, c) {
if (errLine.search(c.statusPat) === 0) {
// status line
c.statusLine = errLine.replace(c.statusPat, "");
c.statusArray.push(c.statusLine);
// extract first word as flag
var matches = c.statusLine.match(/^((\w+)\b)/);
if (matches && (matches.length > 1)) {
let isError = (matches[1] == "ERROR");
(isError ? handleError : handleFailure)(c, matches[1]);
}
}
else {
// non-status line (details of previous status command)
c.errArray.push(errLine);
// save details of DECRYPTION_FAILED message ass error message
if (c.inDecryptionFailed) {
c.errorMsg += errLine;
}
}
}
function detectForgedInsets(c) {
// detect forged message insets
for (var j = 0; j < c.statusArray.length; j++) {
if (c.statusArray[j].search(c.cryptoStartPat) === 0) {
c.withinCryptoMsg = true;
}
else if (c.withinCryptoMsg && c.statusArray[j].search(c.cryptoEndPat) === 0) {
c.withinCryptoMsg = false;
}
else if (c.statusArray[j].search(c.plaintextPat) === 0) {
++c.plaintextCount;
if ((c.statusArray.length > j + 1) && (c.statusArray[j + 1].search(c.plaintextLengthPat) === 0)) {
var matches = c.statusArray[j + 1].match(/(\w+) (\d+)/);
if (matches.length >= 3) {
c.retStatusObj.blockSeparation += (c.withinCryptoMsg ? "1" : "0") + ":" + matches[2] + " ";
}
}
else {
// strange: we got PLAINTEXT XX, but not PLAINTEXT_LENGTH XX
c.retStatusObj.blockSeparation += (c.withinCryptoMsg ? "1" : "0") + ":0 ";
}
}
}
if (c.plaintextCount > 1) {
c.statusFlags |= (Ci.nsIEnigmail.PARTIALLY_PGP | Ci.nsIEnigmail.DECRYPTION_FAILED | Ci.nsIEnigmail.BAD_SIGNATURE);
}
}
function buildErrorMessageForCardCtrl(c, errCode, detectedCard) {
var errorMsg = "";
switch (errCode) {
case 1:
if (detectedCard) {
errorMsg = EnigmailLocale.getString("sc.wrongCardAvailable", [c.detectedCard, c.requestedCard]);
}
else {
errorMsg = EnigmailLocale.getString("sc.insertCard", [c.requestedCard]);
}
break;
case 2:
errorMsg = EnigmailLocale.getString("sc.removeCard");
break;
case 4:
errorMsg = EnigmailLocale.getString("sc.noCardAvailable");
break;
case 5:
errorMsg = EnigmailLocale.getString("sc.noReaderAvailable");
break;
}
return errorMsg;
}
function parseErrorOutputWith(c) {
EnigmailLog.DEBUG("errorHandling.jsm: parseErrorOutputWith: status message: \n" + c.errOutput + "\n");
c.errLines = splitErrorOutput(c.errOutput);
c.isError = false; // set to true if a hard error was found
// parse all error lines
c.inDecryptionFailed = false; // to save details of encryption failed messages
for (var j = 0; j < c.errLines.length; j++) {
var errLine = c.errLines[j];
parseErrorLine(errLine, c);
if (c.isError) break;
}
detectForgedInsets(c);
c.retStatusObj.blockSeparation = c.retStatusObj.blockSeparation.replace(/ $/, "");
c.retStatusObj.statusFlags = c.statusFlags;
if (c.retStatusObj.statusMsg.length === 0) c.retStatusObj.statusMsg = c.statusArray.join("\n");
if (c.errorMsg.length === 0) {
c.errorMsg = c.errArray.map(function f(str, idx) {
return EnigmailSystem.convertNativeToUnicode(str);
}, EnigmailSystem).join("\n");
}
else {
c.errorMsg = EnigmailSystem.convertNativeToUnicode(c.errorMsg);
}
if ((c.statusFlags & Ci.nsIEnigmail.CARDCTRL) && c.errCode > 0) {
c.errorMsg = buildErrorMessageForCardCtrl(c, c.errCode, c.detectedCard);
c.statusFlags |= Ci.nsIEnigmail.DISPLAY_MESSAGE;
}
EnigmailLog.DEBUG("errorHandling.jsm: parseErrorOutputWith: statusFlags = " + EnigmailData.bytesToHex(EnigmailData.pack(c.statusFlags, 4)) + "\n");
EnigmailLog.DEBUG("errorHandling.jsm: parseErrorOutputWith: return with c.errorMsg = " + c.errorMsg + "\n");
return c.errorMsg;
}
var EnigmailErrorHandling = {
parseErrorOutput: function(errOutput, retStatusObj) {
var context = newContext(errOutput, retStatusObj);
return parseErrorOutputWith(context);
},
/**
* Determin why a given key or userID cannot be used for signing
*
* @param keySpec String - key ID or user ID
*
* @return String - the reason(s) as message to display to the user
* "" in case the key is valid
*/
determineInvSignReason: function(keySpec) {
EnigmailLog.DEBUG("errorHandling.jsm: determineInvSignReason: keySpec: " + keySpec + "\n");
let reasonMsg = "";
if (keySpec.search(/^(0x)?[0-9A-F]+$/) === 0) {
let key = getEnigmailKeyRing().getKeyById(keySpec);
if (!key) {
reasonMsg = EnigmailLocale.getString("keyError.keyIdNotFound", keySpec);
}
else {
let r = key.getSigningValidity();
if (!r.keyValid) reasonMsg = r.reason;
}
}
else {
let keys = getEnigmailKeyRing().getKeysByUserId(keySpec);
if (!keys || keys.length === 0) {
reasonMsg = EnigmailLocale.getString("keyError.keySpecNotFound", keySpec);
}
else {
for (let i in keys) {
let r = keys[i].getSigningValidity();
if (!r.keyValid) reasonMsg += r.reason + "\n";
}
}
}
return reasonMsg;
},
/**
* Determin why a given key or userID cannot be used for encryption
*
* @param keySpec String - key ID or user ID
*
* @return String - the reason(s) as message to display to the user
* "" in case the key is valid
*/
determineInvRcptReason: function(keySpec) {
EnigmailLog.DEBUG("errorHandling.jsm: determineInvRcptReason: keySpec: " + keySpec + "\n");
let reasonMsg = "";
if (keySpec.search(/^(0x)?[0-9A-F]+$/) === 0) {
let key = getEnigmailKeyRing().getKeyById(keySpec);
if (!key) {
reasonMsg = EnigmailLocale.getString("keyError.keyIdNotFound", keySpec);
}
else {
let r = key.getEncryptionValidity();
if (!r.keyValid) reasonMsg = r.reason;
}
}
else {
let keys = getEnigmailKeyRing().getKeysByUserId(keySpec);
if (!keys || keys.length === 0) {
reasonMsg = EnigmailLocale.getString("keyError.keySpecNotFound", keySpec);
}
else {
for (let i in keys) {
let r = keys[i].getEncryptionValidity();
if (!r.keyValid) reasonMsg += r.reason + "\n";
}
}
}
return reasonMsg;
}
};
enigmail/package/events.jsm 0000664 0000000 0000000 00000002347 13213001347 0016255 0 ustar 00root root 0000000 0000000 /*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 = ["EnigmailEvents"];
const Cc = Components.classes;
const Ci = Components.interfaces;
const Cu = Components.utils;
Cu.import("resource://enigmail/log.jsm"); /*global EnigmailLog: false */
Cu.import("resource://enigmail/timer.jsm"); /*global EnigmailTimer: false */
/****
* DEPRECATED - Use timer.jsm instead
*/
const EnigmailEvents = {
/**
* dispatch event aynchronously to the main thread
*
* @callbackFunction: Function - any function specification
* @sleepTimeMs: Number - optional number of miliseconds to delay
* (0 if not specified)
* @arrayOfArgs: Array - arguments to pass to callbackFunction
*/
dispatchEvent: function(callbackFunction, sleepTimeMs = 0, arrayOfArgs) {
EnigmailLog.DEBUG("enigmailCommon.jsm: dispatchEvent f=" + callbackFunction.name + "\n");
return EnigmailTimer.setTimeout(function _f() {
callbackFunction(arrayOfArgs);
}, sleepTimeMs);
}
};
enigmail/package/execution.jsm 0000664 0000000 0000000 00000031147 13213001347 0016754 0 ustar 00root root 0000000 0000000 /*global Components: false, EnigmailData: false, EnigmailFiles: false, EnigmailLog: false, subprocess: false, EnigmailErrorHandling: false, EnigmailCore: 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 = ["EnigmailExecution"];
const Cc = Components.classes;
const Ci = Components.interfaces;
const Cu = Components.utils;
Cu.import("resource://enigmail/data.jsm");
Cu.import("resource://enigmail/files.jsm");
Cu.import("resource://enigmail/log.jsm");
Cu.import("resource://enigmail/subprocess.jsm");
Cu.import("resource://enigmail/errorHandling.jsm");
Cu.import("resource://enigmail/core.jsm");
Cu.import("resource://enigmail/os.jsm"); /*global EnigmailOS: false */
Cu.import("resource://enigmail/system.jsm"); /*global EnigmailSystem: false */
const nsIEnigmail = Ci.nsIEnigmail;
const EnigmailExecution = {
agentType: "",
/**
* execStart Listener Object
*
* The listener object must implement at least the following methods:
*
* stdin(pipe) - OPTIONAL - write data to subprocess stdin via |pipe| hanlde
* stdout(data) - receive |data| from subprocess stdout
* stderr(data) - receive |data| from subprocess stderr
* done(exitCode) - receive signal when subprocess has terminated
*/
/**
* start a subprocess (usually gpg) that gets and/or receives data via stdin/stdout/stderr.
*
* @command: either: String - full path to executable
* or: nsIFile object referencing executable
* @args: Array of Strings: command line parameters for executable
* @needPassphrase: Boolean - is a passphrase required for the action?
* if true, the password may be promted using a dialog
* (unless alreday cached or gpg-agent is used)
* @domWindow: nsIWindow - window on top of which password dialog is shown
* @listener: Object - Listener to interact with subprocess; see spec. above
* @statusflagsObj: Object - .value will hold status Flags
*
* @return: handle to suprocess
*/
execStart: function(command, args, needPassphrase, domWindow, listener, statusFlagsObj) {
EnigmailLog.WRITE("execution.jsm: execStart: " +
"command = " + EnigmailFiles.formatCmdLine(command, args) +
", needPassphrase=" + needPassphrase +
", domWindow=" + domWindow +
", listener=" + listener + "\n");
listener = listener || {};
statusFlagsObj.value = 0;
var proc = null;
listener.command = command;
EnigmailLog.CONSOLE("enigmail> " + EnigmailFiles.formatCmdLine(command, args) + "\n");
try {
proc = subprocess.call({
command: command,
arguments: args,
environment: EnigmailCore.getEnvList(),
charset: null,
bufferedOutput: true,
stdin: function(pipe) {
if (listener.stdin) listener.stdin(pipe);
},
stdout: function(data) {
listener.stdout(data);
},
stderr: function(data) {
listener.stderr(data);
},
done: function(result) {
try {
listener.done(result.exitCode);
}
catch (ex) {
EnigmailLog.writeException("execution.jsm", ex);
}
},
mergeStderr: false
});
}
catch (ex) {
EnigmailLog.ERROR("execution.jsm: execStart: subprocess.call failed with '" + ex.toString() + "'\n");
EnigmailLog.DEBUG(" enigmail> DONE with FAILURE\n");
return null;
}
EnigmailLog.DEBUG(" enigmail> DONE\n");
return proc;
},
/*
requirements for listener object:
exitCode
stderrData
*/
execEnd: function(listener, statusFlagsObj, statusMsgObj, cmdLineObj, errorMsgObj, blockSeparationObj) {
EnigmailLog.DEBUG("execution.jsm: execEnd:\n");
cmdLineObj.value = listener.command;
var exitCode = listener.exitCode;
var errOutput = listener.stderrData;
EnigmailLog.DEBUG("execution.jsm: execEnd: exitCode = " + exitCode + "\n");
EnigmailLog.DEBUG("execution.jsm: execEnd: errOutput = " + errOutput + "\n");
var retObj = {};
errorMsgObj.value = EnigmailErrorHandling.parseErrorOutput(errOutput, retObj);
statusFlagsObj.value = retObj.statusFlags;
statusMsgObj.value = retObj.statusMsg;
if (!blockSeparationObj) blockSeparationObj = {};
blockSeparationObj.value = retObj.blockSeparation;
if (errOutput.search(/jpeg image of size \d+/) > -1) {
statusFlagsObj.value |= nsIEnigmail.PHOTO_AVAILABLE;
}
if (blockSeparationObj && blockSeparationObj.value.indexOf(" ") > 0) {
exitCode = 2;
}
EnigmailLog.CONSOLE(EnigmailData.convertFromUnicode(errorMsgObj.value) + "\n");
return exitCode;
},
/**
* Execute a command and return the output from stdout
* No input and no statusFlags are returned.
*/
simpleExecCmd: function(command, args, exitCodeObj, errorMsgObj) {
EnigmailLog.WRITE("execution.jsm: EnigmailExecution.simpleExecCmd: command = " + command + " " + args.join(" ") + "\n");
var outputData = "";
var errOutput = "";
EnigmailLog.CONSOLE("enigmail> " + EnigmailFiles.formatCmdLine(command, args) + "\n");
try {
subprocess.call({
command: command,
arguments: args,
charset: null,
environment: EnigmailCore.getEnvList(),
done: function(result) {
exitCodeObj.value = result.exitCode;
outputData = result.stdout;
errOutput = result.stderr;
},
mergeStderr: false
}).wait();
}
catch (ex) {
EnigmailLog.ERROR("execution.jsm: EnigmailExecution.simpleExecCmd: " + command.path + " failed\n");
EnigmailLog.DEBUG(" enigmail> DONE with FAILURE\n");
exitCodeObj.value = -1;
}
EnigmailLog.DEBUG(" enigmail> DONE\n");
if (errOutput) {
errorMsgObj.value = errOutput;
}
EnigmailLog.DEBUG("execution.jsm: EnigmailExecution.simpleExecCmd: exitCode = " + exitCodeObj.value + "\n");
EnigmailLog.DEBUG("execution.jsm: EnigmailExecution.simpleExecCmd: errOutput = " + errOutput + "\n");
return outputData;
},
/**
* Execute a command and return the output from stdout.
* Accepts input and returns error message and statusFlags.
*/
execCmd: function(command, args, input, exitCodeObj, statusFlagsObj, statusMsgObj,
errorMsgObj, retStatusObj) {
EnigmailLog.WRITE("execution.jsm: EnigmailExecution.execCmd: subprocess = '" + command.path + "'\n");
if ((typeof input) != "string") input = "";
var preInput = "";
var outputData = "";
var errOutput = "";
EnigmailLog.CONSOLE("enigmail> " + EnigmailFiles.formatCmdLine(command, args) + "\n");
var procBuilder = new EnigmailExecution.processBuilder();
procBuilder.setCommand(command);
procBuilder.setArguments(args);
procBuilder.setEnvironment(EnigmailCore.getEnvList());
procBuilder.setStdin(
function(pipe) {
if (input.length > 0 || preInput.length > 0) {
pipe.write(preInput + input);
}
pipe.close();
}
);
procBuilder.setDone(
function(result) {
if (result.stdout) outputData = result.stdout;
if (result.stderr) errOutput = result.stderr;
exitCodeObj.value = result.exitCode;
}
);
var proc = procBuilder.build();
try {
subprocess.call(proc).wait();
}
catch (ex) {
EnigmailLog.ERROR("execution.jsm: EnigmailExecution.execCmd: subprocess.call failed with '" + ex.toString() + "'\n");
EnigmailLog.DEBUG(" enigmail> DONE with FAILURE\n");
exitCodeObj.value = -1;
}
EnigmailLog.DEBUG(" enigmail> DONE\n");
if (proc.resultData) outputData = proc.resultData;
if (proc.errorData) errOutput = proc.errorData;
EnigmailLog.DEBUG("execution.jsm: EnigmailExecution.execCmd: exitCode = " + exitCodeObj.value + "\n");
EnigmailLog.DEBUG("execution.jsm: EnigmailExecution.execCmd: errOutput = " + errOutput + "\n");
if (!retStatusObj) {
retStatusObj = {};
}
errorMsgObj.value = EnigmailErrorHandling.parseErrorOutput(errOutput, retStatusObj);
statusFlagsObj.value = retStatusObj.statusFlags;
statusMsgObj.value = retStatusObj.statusMsg;
var blockSeparation = retStatusObj.blockSeparation;
exitCodeObj.value = EnigmailExecution.fixExitCode(exitCodeObj.value, statusFlagsObj);
if (blockSeparation.indexOf(" ") > 0) {
exitCodeObj.value = 2;
}
EnigmailLog.CONSOLE(errorMsgObj.value + "\n");
return outputData;
},
/**
* Fix the exit code of GnuPG (which may be wrong in some circumstances)
*
* @exitCode: Number - the exitCode obtained from GnuPG
* @statusFlagsObj: Object - the statusFlagsObj as received from parseErrorOutput()
*
* @return: Number - fixed exit code
*/
fixExitCode: function(exitCode, statusFlagsObj) {
EnigmailLog.DEBUG("execution.jsm: EnigmailExecution.fixExitCode: agentType: " + EnigmailExecution.agentType + " exitCode: " + exitCode + " statusFlags " + statusFlagsObj.statusFlags + "\n");
let statusFlags = statusFlagsObj.statusFlags;
if (exitCode !== 0) {
if ((statusFlags & (nsIEnigmail.BAD_PASSPHRASE | nsIEnigmail.UNVERIFIED_SIGNATURE)) &&
(statusFlags & nsIEnigmail.DECRYPTION_OKAY)) {
EnigmailLog.DEBUG("enigmailCommon.jsm: Enigmail.fixExitCode: Changing exitCode for decrypted msg " + exitCode + "->0\n");
exitCode = 0;
}
if ((EnigmailExecution.agentType === "gpg") && (exitCode == 256) && (EnigmailOS.getOS() == "WINNT")) {
EnigmailLog.WARNING("enigmailCommon.jsm: Enigmail.fixExitCode: Using gpg and exit code is 256. You seem to use cygwin-gpg, activating countermeasures.\n");
if (statusFlags & (nsIEnigmail.BAD_PASSPHRASE | nsIEnigmail.UNVERIFIED_SIGNATURE)) {
EnigmailLog.WARNING("enigmailCommon.jsm: Enigmail.fixExitCode: Changing exitCode 256->2\n");
exitCode = 2;
}
else {
EnigmailLog.WARNING("enigmailCommon.jsm: Enigmail.fixExitCode: Changing exitCode 256->0\n");
exitCode = 0;
}
}
}
else {
if (statusFlags & (nsIEnigmail.INVALID_RECIPIENT | nsIEnigmail.DECRYPTION_FAILED | nsIEnigmail.BAD_ARMOR |
nsIEnigmail.MISSING_PASSPHRASE | nsIEnigmail.BAD_PASSPHRASE)) {
exitCode = 1;
}
else if (typeof(statusFlagsObj.extendedStatus) === "string" && statusFlagsObj.extendedStatus.search(/\bdisp:/) >= 0) {
exitCode = 1;
}
}
return exitCode;
},
processBuilder: function() {
this.process = {};
this.setCommand = function(command) {
this.process.command = command;
};
this.setArguments = function(args) {
this.process.arguments = args;
};
this.setEnvironment = function(envList) {
this.process.environment = envList;
};
this.setStdin = function(stdin) {
this.process.stdin = stdin;
};
this.setStdout = function(stdout) {
this.process.stdout = stdout;
};
this.setDone = function(done) {
this.process.done = done;
};
this.build = function() {
this.process.charset = null;
this.process.mergeStderr = false;
this.process.resultData = "";
this.process.errorData = "";
this.process.exitCode = -1;
return this.process;
};
return this;
},
execCmd2: function(command, args, stdinFunc, stdoutFunc, doneFunc) {
var procBuilder = new EnigmailExecution.processBuilder();
procBuilder.setCommand(command);
procBuilder.setArguments(args);
procBuilder.setEnvironment(EnigmailCore.getEnvList());
procBuilder.setStdin(stdinFunc);
procBuilder.setStdout(stdoutFunc);
procBuilder.setDone(doneFunc);
var proc = procBuilder.build();
subprocess.call(proc).wait();
},
/**
* simple listener for using with execStart
*
* stdinFunc: optional function to write to stdin
* doneFunc : optional function that is called when the process is terminated
*/
newSimpleListener: function(stdinFunc, doneFunc) {
let simpleListener = {
stdoutData: "",
stderrData: "",
exitCode: -1,
stdin: function(pipe) {
if (stdinFunc) {
stdinFunc(pipe);
}
else {
pipe.close();
}
},
stdout: function(data) {
simpleListener.stdoutData += data;
},
stderr: function(data) {
simpleListener.stderrData += data;
},
done: function(exitCode) {
simpleListener.exitCode = exitCode;
if (doneFunc) {
doneFunc(exitCode);
}
}
};
return simpleListener;
}
};
enigmail/package/expiry.jsm 0000664 0000000 0000000 00000013502 13213001347 0016264 0 ustar 00root root 0000000 0000000 /*global Components: false, Number: false, Math: false, Date: false, JSON: 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 = ["EnigmailExpiry"];
const Cc = Components.classes;
const Ci = Components.interfaces;
const Cu = Components.utils;
Cu.import("resource://enigmail/locale.jsm"); /*global EnigmailLocale: false */
Cu.import("resource://enigmail/keyRing.jsm"); /*global EnigmailKeyRing: false */
Cu.import("resource://enigmail/prefs.jsm"); /*global EnigmailPrefs: false */
Cu.import("resource://enigmail/log.jsm"); /*global EnigmailLog: false */
Cu.import("resource://enigmail/core.jsm"); /*global EnigmailCore: false */
const nsIEnigmail = Ci.nsIEnigmail;
const DAY = 86400; // number of seconds of 1 day
var EnigmailExpiry = {
/**
* Check whether some key pairs expire in less than N days from now.
*
* @param keySpecArr - Array: list of key IDs or User IDs
* @param numDay - Number: number of days from now
*
* @return Array - list of keys that will expire
*/
getExpiryForKeySpec: function(keySpecArr, numDays) {
EnigmailLog.DEBUG("expiry.jsm: getExpiryForKeySpec()\n");
let now = Math.floor(Date.now() / 1000);
let enigmailSvc = EnigmailCore.getService();
if (!enigmailSvc) return [];
let result = keySpecArr.reduce(function(p, keySpec) {
let keys;
if (keySpec.search(/^(0x)?[0-9A-F]{8,40}$/i) === 0) {
let key = EnigmailKeyRing.getKeyById(keySpec);
if (!key) return p;
keys = [key];
}
else {
keys = EnigmailKeyRing.getKeysByUserId(keySpec);
if (keys.length === 0) return p;
}
let maxExpiry = Number.MIN_VALUE;
let maxKey = null;
for (let i in keys) {
let ex = keys[i].getKeyExpiry();
if (ex > maxExpiry) {
maxExpiry = ex;
maxKey = keys[i];
}
}
if (maxExpiry < now + (DAY * numDays) && maxExpiry >= now) p.push(maxKey);
return p;
}, []);
result = uniqueKeyList(result);
return result;
},
/**
* Determine the configured key specifications for all identities
* where Enigmail is enabled
*
* @return Array of Strings - list of keyId and email addresses
*/
getKeysSpecForIdentities: function() {
EnigmailLog.DEBUG("expiry.jsm: getKeysSpecForIdentities()\n");
let accountManager = Cc["@mozilla.org/messenger/account-manager;1"].getService(Ci.nsIMsgAccountManager);
let keySpecList = [];
for (let acct = 0; acct < accountManager.accounts.length; acct++) {
let ac = accountManager.accounts.queryElementAt(acct, Ci.nsIMsgAccount);
for (let i = 0; i < ac.identities.length; i++) {
let id = ac.identities.queryElementAt(i, Ci.nsIMsgIdentity);
if (id.getBoolAttribute("enablePgp")) {
if (id.getIntAttribute("pgpKeyMode") === 1) {
keySpecList.push(id.getCharAttribute("pgpkeyId"));
}
else {
keySpecList.push(id.email);
}
}
}
}
return keySpecList;
},
/**
* Check if all keys of all configured identities are still valid in N days.
* (N is configured via warnKeyExpiryNumDays; 0 = disable the check)
*
* @return Array of keys - the keys that have expired since the last check
* null in case no check was performed
*/
getNewlyExpiredKeys: function() {
EnigmailLog.DEBUG("expiry.jsm: getNewlyExpiredKeys()\n");
let numDays = EnigmailPrefs.getPref("warnKeyExpiryNumDays");
if (numDays < 1) return null;
let now = Date.now();
let lastResult = {
expiredList: [],
lastCheck: 0
};
let lastRes = EnigmailPrefs.getPref("keyCheckResult");
if (lastRes.length > 0) {
lastResult = JSON.parse(lastRes);
}
if (now - lastResult.lastCheck < DAY * 1000) return null;
let keys = this.getKeysSpecForIdentities();
if (keys.length === 0) {
lastResult.lastCheck = now;
EnigmailPrefs.setPref("keyCheckResult", JSON.stringify(lastResult));
return [];
}
let expired = this.getExpiryForKeySpec(keys, numDays);
let expiredList = expired.reduce(function _f(p, key) {
p.push(key.keyId);
return p;
}, []);
let newResult = {
expiredList: expiredList,
lastCheck: now
};
EnigmailPrefs.setPref("keyCheckResult", JSON.stringify(newResult));
let warnList = expired.reduce(function _f(p, key) {
if (lastResult.expiredList.indexOf(key.keyId) < 0) {
p.push(key);
}
return p;
}, []);
return warnList;
},
keyExpiryCheck: function() {
EnigmailLog.DEBUG("expiry.jsm: keyExpiryCheck()\n");
let expiredKeys = this.getNewlyExpiredKeys();
if (!expiredKeys || expiredKeys.length === 0) return "";
let numDays = EnigmailPrefs.getPref("warnKeyExpiryNumDays");
if (expiredKeys.length === 1) {
return EnigmailLocale.getString("expiry.keyExpiresSoon", [getKeyDesc(expiredKeys[0]), numDays]);
}
else {
let keyDesc = "";
for (let i = 0; i < expiredKeys.length; i++) {
keyDesc += "- " + getKeyDesc(expiredKeys[i]) + "\n";
}
return EnigmailLocale.getString("expiry.keysExpireSoon", [numDays, keyDesc]);
}
}
};
/**
* Remove duplicate key Object elements from an array
*
* @param arr - Array of key Objects to be worked on
*
* @return Array - the array without duplicates
*/
function uniqueKeyList(arr) {
return arr.reduce(function(p, c) {
let r = p.find(function _f(e, i, a) {
if (e.keyId === c.keyId) return true;
});
if (r === undefined) p.push(c);
return p;
}, []);
}
function getKeyDesc(key) {
return '"' + key.userId + '" (key ID ' + key.fprFormatted + ')';
}
enigmail/package/files.jsm 0000664 0000000 0000000 00000023744 13213001347 0016057 0 ustar 00root root 0000000 0000000 /*global Components: false, EnigmailLog: false, EnigmailOS: false, EnigmailData: 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 = ["EnigmailFiles"];
const Cc = Components.classes;
const Ci = Components.interfaces;
const Cu = Components.utils;
Cu.import("resource://enigmail/data.jsm"); /* global EnigmailData: false */
Cu.import("resource://enigmail/os.jsm"); /* global EnigmailOS: false */
Cu.import("resource://enigmail/lazy.jsm"); /* global EnigmailLazy: false */
const {
TextDecoder, TextEncoder, OS
} = Cu.import("resource://gre/modules/osfile.jsm", {});
const lazyLog = EnigmailLazy.loader("enigmail/log.jsm", "EnigmailLog");
const NS_FILE_CONTRACTID = "@mozilla.org/file/local;1";
const NS_LOCAL_FILE_CONTRACTID = "@mozilla.org/file/local;1";
const NS_LOCALFILEOUTPUTSTREAM_CONTRACTID =
"@mozilla.org/network/file-output-stream;1";
const NS_IOSERVICE_CONTRACTID = "@mozilla.org/network/io-service;1";
const NS_SCRIPTABLEINPUTSTREAM_CONTRACTID = "@mozilla.org/scriptableinputstream;1";
const DIRSERVICE_CONTRACTID = "@mozilla.org/file/directory_service;1";
const NS_RDONLY = 0x01;
const NS_WRONLY = 0x02;
const NS_CREATE_FILE = 0x08;
const NS_TRUNCATE = 0x20;
const DEFAULT_FILE_PERMS = 0x180; // equals 0600
const EnigmailFiles = {
isAbsolutePath: function(filePath, isDosLike) {
// Check if absolute path
if (isDosLike) {
return ((filePath.search(/^\w+:\\/) === 0) || (filePath.search(/^\\\\/) === 0) ||
(filePath.search(/^\/\//) === 0));
}
else {
return (filePath.search(/^\//) === 0);
}
},
resolvePath: function(filePath, envPath, isDosLike) {
lazyLog().DEBUG("files.jsm: resolvePath: filePath=" + filePath + "\n");
if (EnigmailFiles.isAbsolutePath(filePath, isDosLike))
return filePath;
if (!envPath)
return null;
var fileNames = filePath.split(";");
var pathDirs = envPath.split(isDosLike ? ";" : ":");
for (var i = 0; i < fileNames.length; i++) {
for (var j = 0; j < pathDirs.length; j++) {
try {
var pathDir = Cc[NS_FILE_CONTRACTID].createInstance(Ci.nsIFile);
lazyLog().DEBUG("files.jsm: resolvePath: checking for " + pathDirs[j] + "/" + fileNames[i] + "\n");
EnigmailFiles.initPath(pathDir, pathDirs[j]);
try {
if (pathDir.exists() && pathDir.isDirectory()) {
pathDir.appendRelativePath(fileNames[i]);
if (pathDir.exists() && !pathDir.isDirectory()) {
return pathDir;
}
}
}
catch (ex) {}
}
catch (ex) {}
}
}
return null;
},
createFileStream: function(filePath, permissions) {
try {
var localFile;
if (typeof filePath == "string") {
localFile = Cc[NS_LOCAL_FILE_CONTRACTID].createInstance(Ci.nsIFile);
EnigmailFiles.initPath(localFile, filePath);
}
else {
localFile = filePath.QueryInterface(Ci.nsIFile);
}
if (localFile.exists()) {
if (localFile.isDirectory() || !localFile.isWritable())
throw Components.results.NS_ERROR_FAILURE;
if (!permissions)
permissions = localFile.permissions;
}
if (!permissions)
permissions = DEFAULT_FILE_PERMS;
var flags = NS_WRONLY | NS_CREATE_FILE | NS_TRUNCATE;
var fileStream = Cc[NS_LOCALFILEOUTPUTSTREAM_CONTRACTID].createInstance(Ci.nsIFileOutputStream);
fileStream.init(localFile, flags, permissions, 0);
return fileStream;
}
catch (ex) {
lazyLog().ERROR("files.jsm: createFileStream: Failed to create " + filePath + "\n");
return null;
}
},
// path initialization function
// uses persistentDescriptor in case that initWithPath fails
// (seems to happen frequently with UTF-8 characters in path names)
initPath: function(localFileObj, pathStr) {
localFileObj.initWithPath(pathStr);
if (!localFileObj.exists()) {
localFileObj.persistentDescriptor = pathStr;
}
},
/**
* Read the contents of a text file into a string
*
* @param fileObj: Object (nsIFile)
*
* @return String (file contents)
*/
readFile: function(fileObj) {
let fileContents = "";
if (fileObj.exists()) {
let inspector = Cc["@mozilla.org/jsinspector;1"].createInstance(Ci.nsIJSInspector);
let decoder = new TextDecoder();
OS.File.read(fileObj.path).then(arr => {
fileContents = decoder.decode(arr); // Convert this array to a text
inspector.exitNestedEventLoop();
}).catch(err => {
inspector.exitNestedEventLoop();
});
inspector.enterNestedEventLoop(0); // wait for async process to terminate
}
return fileContents;
},
/** Read the contents of a file with binary data into a string
* @param fileObj: Object (nsIFile)
*
* @return String (file contents)
*/
readBinaryFile: function(fileObj) {
let fileContents = "";
if (fileObj.exists()) {
let inspector = Cc["@mozilla.org/jsinspector;1"].createInstance(Ci.nsIJSInspector);
OS.File.read(fileObj.path).then(arr => {
for (let i = 0; i < arr.length; i++) {
fileContents += String.fromCharCode(arr[i]);
}
inspector.exitNestedEventLoop();
}).catch(err => {
inspector.exitNestedEventLoop();
});
inspector.enterNestedEventLoop(0); // wait for async process to terminate
}
return fileContents;
},
formatCmdLine: function(command, args) {
function getQuoted(str) {
let i = str.indexOf(" ");
if (i >= 0) {
return '"' + str + '"';
}
else {
return str;
}
}
var cmdStr = getQuoted(EnigmailFiles.getFilePathDesc(command)) + " ";
var argStr = args.map(getQuoted).join(" ").replace(/\\\\/g, '\\');
return cmdStr + argStr;
},
getFilePathDesc: function(nsFileObj) {
if (EnigmailOS.getOS() == "WINNT") {
return nsFileObj.persistentDescriptor;
}
else {
return nsFileObj.path;
}
},
getFilePath: function(nsFileObj) {
return EnigmailData.convertToUnicode(EnigmailFiles.getFilePathDesc(nsFileObj), "utf-8");
},
getEscapedFilename: function(fileNameStr) {
if (EnigmailOS.isDosLike()) {
// escape the backslashes and the " character (for Windows and OS/2)
fileNameStr = fileNameStr.replace(/([\\\"])/g, "\\$1");
}
if (EnigmailOS.getOS() == "WINNT") {
// replace leading "\\" with "//"
fileNameStr = fileNameStr.replace(/^\\\\*/, "//");
}
return fileNameStr;
},
/**
* get the temporary folder
*
* @return nsIFile object holding a reference to the temp directory
*/
getTempDirObj: function() {
const TEMPDIR_PROP = "TmpD";
try {
let dsprops = Cc[DIRSERVICE_CONTRACTID].getService().
QueryInterface(Ci.nsIProperties);
return dsprops.get(TEMPDIR_PROP, Ci.nsIFile);
}
catch (ex) {
// let's guess ...
let tmpDirObj = Cc[NS_FILE_CONTRACTID].createInstance(Ci.nsIFile);
if (EnigmailOS.getOS() == "WINNT") {
tmpDirObj.initWithPath("C:/TEMP");
}
else {
tmpDirObj.initWithPath("/tmp");
}
return tmpDirObj;
}
},
/**
* get the temporary folder as string
*
* @return String containing the temp directory name
*/
getTempDir: function() {
return EnigmailFiles.getTempDirObj().path;
},
/**
* create a new folder as subfolder of the temporary directory
*
* @param dirName String - name of subfolder
* @param unique Boolean - if true, the directory is guaranteed to be unique
*
* @return nsIFile object holding a reference to the created directory
*/
createTempSubDir: function(dirName, unique = false) {
let localFile = EnigmailFiles.getTempDirObj().clone();
localFile.append(dirName);
if (unique) {
localFile.createUnique(Ci.nsIFile.DIRECTORY_TYPE, 509 /* = 0775 */ );
}
else {
localFile.create(Ci.nsIFile.DIRECTORY_TYPE, 509 /* = 0775 */ );
}
return localFile;
},
/**
* Write data to a file
* @filePath |string| or |nsIFile| object - the file to be created
* @data |string| - the data to write to the file
* @permissions |number| - file permissions according to Unix spec (0600 by default)
*
* @return true if data was written successfully, false otherwise
*/
writeFileContents: function(filePath, data, permissions) {
try {
var fileOutStream = EnigmailFiles.createFileStream(filePath, permissions);
if (data.length) {
if (fileOutStream.write(data, data.length) != data.length) {
throw Components.results.NS_ERROR_FAILURE;
}
fileOutStream.flush();
}
fileOutStream.close();
}
catch (ex) {
EnigmailLog.ERROR("files.jsm: writeFileContents: Failed to write to " + filePath + "\n");
return false;
}
return true;
},
// return the useable path (for gpg) of a file object
getFilePathReadonly: function(nsFileObj, creationMode) {
if (creationMode === null) creationMode = NS_RDONLY;
return nsFileObj.path;
},
/**
* Create an empty ZIP file
*
* @param nsFileObj - nsIFile object: reference to the file to be created
*
* @return nsIZipWriter object allow to perform write operations on the ZIP file
*/
createZipFile: function(nsFileObj) {
let zipW = Cc['@mozilla.org/zipwriter;1'].createInstance(Ci.nsIZipWriter);
zipW.open(nsFileObj, NS_WRONLY | NS_CREATE_FILE | NS_TRUNCATE);
return zipW;
},
/**
* Open a ZIP file for reading
*
* @param nsFileObj - nsIFile object: reference to the file to be created
*
* @return nsIZipReader object allow to perform read operations on the ZIP file
*/
openZipFile: function(nsFileObj) {
let zipR = Cc['@mozilla.org/libjar/zip-reader;1'].createInstance(Ci.nsIZipReader);
zipR.open(nsFileObj);
return zipR;
}
};
enigmail/package/filters.jsm 0000664 0000000 0000000 00000006556 13213001347 0016427 0 ustar 00root root 0000000 0000000 /*global Components: false, EnigmailDecryptPermanently: false, EnigmailCore: false, EnigmailLog: false, EnigmailLocale: false, EnigmailDialog: 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 = ["EnigmailFilters"];
Components.utils.import("resource://enigmail/core.jsm");
Components.utils.import("resource://enigmail/decryptPermanently.jsm");
Components.utils.import("resource://enigmail/log.jsm");
Components.utils.import("resource://enigmail/locale.jsm");
Components.utils.import("resource://enigmail/dialog.jsm");
const Cc = Components.classes;
const Ci = Components.interfaces;
/********************************************************************************
Filter actions for decrypting messages permanently
********************************************************************************/
/**
* filter action for creating a decrypted version of the mail and
* deleting the original mail at the same time
*/
const filterActionMoveDecrypt = {
id: "enigmail@enigmail.net#filterActionMoveDecrypt",
name: EnigmailLocale.getString("filter.decryptMove.label"),
value: "movemessage",
apply: function(aMsgHdrs, aActionValue, aListener, aType, aMsgWindow) {
EnigmailLog.DEBUG("enigmail.js: filterActionMoveDecrypt: Move to: " + aActionValue + "\n");
var msgHdrs = [];
for (var i = 0; i < aMsgHdrs.length; i++) {
msgHdrs.push(aMsgHdrs.queryElementAt(i, Ci.nsIMsgDBHdr));
}
EnigmailDecryptPermanently.dispatchMessages(msgHdrs, aActionValue, true, true);
return;
},
isValidForType: function(type, scope) {
return true;
},
validateActionValue: function(value, folder, type) {
EnigmailDialog.alert(null, EnigmailLocale.getString("filter.decryptMove.warnExperimental"));
if (value === "") {
return EnigmailLocale.getString("filter.folderRequired");
}
return null;
},
allowDuplicates: false,
isAsync: false,
needsBody: true
};
/**
* filter action for creating a decrypted copy of the mail, leaving the original
* message untouched
*/
const filterActionCopyDecrypt = {
id: "enigmail@enigmail.net#filterActionCopyDecrypt",
name: EnigmailLocale.getString("filter.decryptCopy.label"),
value: "copymessage",
apply: function(aMsgHdrs, aActionValue, aListener, aType, aMsgWindow) {
EnigmailLog.DEBUG("enigmail.js: filterActionCopyDecrypt: Copy to: " + aActionValue + "\n");
var msgHdrs = [];
for (var i = 0; i < aMsgHdrs.length; i++) {
msgHdrs.push(aMsgHdrs.queryElementAt(i, Ci.nsIMsgDBHdr));
}
EnigmailDecryptPermanently.dispatchMessages(msgHdrs, aActionValue, false, true);
return;
},
isValidForType: function(type, scope) {
return true;
},
validateActionValue: function(value, folder, type) {
if (value === "") {
return EnigmailLocale.getString("filter.folderRequired");
}
return null;
},
allowDuplicates: false,
isAsync: false,
needsBody: true
};
const EnigmailFilters = {
registerAll: function() {
var filterService = Cc["@mozilla.org/messenger/services/filters;1"].getService(Ci.nsIMsgFilterService);
filterService.addCustomAction(filterActionMoveDecrypt);
filterService.addCustomAction(filterActionCopyDecrypt);
}
};
enigmail/package/fixExchangeMsg.jsm 0000664 0000000 0000000 00000033013 13213001347 0017643 0 ustar 00root root 0000000 0000000 /*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 = ["EnigmailFixExchangeMsg"];
const Cu = Components.utils;
Cu.import("resource:///modules/MailUtils.js"); /*global MailUtils: false */
Cu.import("resource://enigmail/core.jsm"); /*global EnigmailCore: false */
Cu.import("resource://enigmail/funcs.jsm"); /*global EnigmailFuncs: false */
Cu.import("resource://enigmail/log.jsm"); /*global EnigmailLog: false */
Cu.import("resource://enigmail/promise.jsm"); /*global Promise: false */
Cu.import("resource://enigmail/streams.jsm"); /*global EnigmailStreams: false */
const EC = EnigmailCore;
const Cc = Components.classes;
const Ci = Components.interfaces;
const nsIEnigmail = Components.interfaces.nsIEnigmail;
const IOSERVICE_CONTRACTID = "@mozilla.org/network/io-service;1";
/*
* Fix a broken message from MS-Exchange and replace it with the original message
*
* @param nsIMsgDBHdr hdr Header of the message to fix (= pointer to message)
* @param String brokenByApp Type of app that created the message. Currently one of
* exchange, iPGMail
* @param String destFolderUri optional destination Folder URI
*
* @return Promise; upon success, the promise returns the messageKey
*/
const EnigmailFixExchangeMsg = {
fixExchangeMessage: function(hdr, brokenByApp, destFolderUri) {
var self = this;
return new Promise(
function fixExchangeMessage_p(resolve, reject) {
let msgUriSpec = hdr.folder.getUriForMsg(hdr);
EnigmailLog.DEBUG("fixExchangeMsg.jsm: fixExchangeMessage: msgUriSpec: " + msgUriSpec + "\n");
self.hdr = hdr;
self.destFolder = hdr.folder;
self.resolve = resolve;
self.reject = reject;
self.brokenByApp = brokenByApp;
if (destFolderUri) {
self.destFolder = MailUtils.getFolderForURI(destFolderUri, false);
}
let messenger = Cc["@mozilla.org/messenger;1"].createInstance(Ci.nsIMessenger);
self.msgSvc = messenger.messageServiceFromURI(msgUriSpec);
let p = self.getMessageBody();
p.then(
function resolved(fixedMsgData) {
EnigmailLog.DEBUG("fixExchangeMsg.jsm: fixExchangeMessage: got fixedMsgData\n");
self.copyToTargetFolder(fixedMsgData);
});
p.catch(
function rejected(reason) {
EnigmailLog.DEBUG("fixExchangeMsg.jsm: fixExchangeMessage: caught rejection: " + reason + "\n");
reject();
return;
});
}
);
},
getMessageBody: function() {
EnigmailLog.DEBUG("fixExchangeMsg.jsm: getMessageBody:\n");
var self = this;
return new Promise(
function(resolve, reject) {
let u = {};
self.msgSvc.GetUrlForUri(self.hdr.folder.getUriForMsg(self.hdr), u, null);
let op = (u.value.spec.indexOf("?") > 0 ? "&" : "?");
let url = u.value.spec; // + op + 'part=' + part+"&header=enigmailConvert";
EnigmailLog.DEBUG("fixExchangeMsg.jsm: getting data from URL " + url + "\n");
let s = EnigmailStreams.newStringStreamListener(
function analyzeData(data) {
EnigmailLog.DEBUG("fixExchangeMsg.jsm: analyzeDecryptedData: got " + data.length + " bytes\n");
if (EnigmailLog.getLogLevel() > 5) {
EnigmailLog.DEBUG("*** start data ***\n'" + data + "'\n***end data***\n");
}
let hdrEnd = data.search(/\r?\n\r?\n/);
if (hdrEnd <= 0) {
// cannot find end of header data
reject(0);
return;
}
let hdrLines = data.substr(0, hdrEnd).split(/\r?\n/);
let hdrObj = self.getFixedHeaderData(hdrLines);
if (hdrObj.headers.length === 0 || hdrObj.boundary.length === 0) {
reject(1);
return;
}
let boundary = hdrObj.boundary;
let body;
switch (self.brokenByApp) {
case "exchange":
body = self.getCorrectedExchangeBodyData(data.substr(hdrEnd + 2), boundary);
break;
case "iPGMail":
body = self.getCorrectediPGMailBodyData(data.substr(hdrEnd + 2), boundary);
break;
default:
EnigmailLog.ERROR("fixExchangeMsg.jsm: getMessageBody: unknown appType " + self.brokenByApp + "\n");
reject(99);
return;
}
if (body) {
resolve(hdrObj.headers + "\r\n" + body);
return;
}
else {
reject(2);
return;
}
}
);
var ioServ = Components.classes[IOSERVICE_CONTRACTID].getService(Components.interfaces.nsIIOService);
try {
var channel = ioServ.newChannel(url, null, null);
channel.asyncOpen(s, null);
}
catch (e) {
EnigmailLog.DEBUG("fixExchangeMsg.jsm: getMessageBody: exception " + e + "\n");
}
}
);
},
/**
* repair header data, such that they are working for PGP/MIME
*
* @return: object: {
* headers: String - all headers ready for appending to message
* boundary: String - MIME part boundary (incl. surrounding "" or '')
* }
*/
getFixedHeaderData: function(hdrLines) {
EnigmailLog.DEBUG("fixExchangeMsg.jsm: getFixedHeaderData: hdrLines[]:'" + hdrLines.length + "'\n");
let r = {
headers: "",
boundary: ""
};
for (let i = 0; i < hdrLines.length; i++) {
if (hdrLines[i].search(/^content-type:/i) >= 0) {
// Join the rest of the content type lines together.
// See RFC 2425, section 5.8.1
let contentTypeLine = hdrLines[i];
i++;
while (i < hdrLines.length) {
// Does the line start with a space or a tab, followed by something else?
if (hdrLines[i].search(/^[ \t]+?/) === 0) {
contentTypeLine += hdrLines[i];
i++;
}
else {
// we got the complete content-type header
contentTypeLine = contentTypeLine.replace(/[\r\n]/g, "");
let h = EnigmailFuncs.getHeaderData(contentTypeLine);
r.boundary = h.boundary || "";
break;
}
}
}
else {
r.headers += hdrLines[i] + "\r\n";
}
}
r.boundary = r.boundary.replace(/^(['"])(.*)(['"])/, "$2");
r.headers += 'Content-Type: multipart/encrypted;\r\n' +
' protocol="application/pgp-encrypted";\r\n' +
' boundary="' + r.boundary + '"\r\n' +
'X-Enigmail-Info: Fixed broken PGP/MIME message\r\n';
return r;
},
/**
* Get corrected body for MS-Exchange messages
*/
getCorrectedExchangeBodyData: function(bodyData, boundary) {
EnigmailLog.DEBUG("fixExchangeMsg.jsm: getCorrectedExchangeBodyData: boundary='" + boundary + "'\n");
let boundRx = new RegExp("^--" + boundary, "gm");
let match = boundRx.exec(bodyData);
if (match.index < 0) {
EnigmailLog.DEBUG("fixExchangeMsg.jsm: getCorrectedExchangeBodyData: did not find index of mime type to skip\n");
return null;
}
let skipStart = match.index;
// found first instance -- that's the message part to ignore
match = boundRx.exec(bodyData);
if (match.index <= 0) {
EnigmailLog.DEBUG("fixExchangeMsg.jsm: getCorrectedExchangeBodyData: did not find boundary of PGP/MIME version identification\n");
return null;
}
let versionIdent = match.index;
if (bodyData.substring(skipStart, versionIdent).search(/^content-type:[ \t]*text\/(plain|html)/mi) < 0) {
EnigmailLog.DEBUG("fixExchangeMsg.jsm: getCorrectedExchangeBodyData: first MIME part is not content-type text/plain or text/html\n");
return null;
}
match = boundRx.exec(bodyData);
if (match.index < 0) {
EnigmailLog.DEBUG("fixExchangeMsg.jsm: getCorrectedExchangeBodyData: did not find boundary of PGP/MIME encrypted data\n");
return null;
}
let encData = match.index;
let mimeHdr = Cc["@mozilla.org/messenger/mimeheaders;1"].createInstance(Ci.nsIMimeHeaders);
mimeHdr.initialize(bodyData.substring(versionIdent, encData));
let ct = mimeHdr.extractHeader("content-type", false);
if (!ct || ct.search(/application\/pgp-encrypted/i) < 0) {
EnigmailLog.DEBUG("fixExchangeMsg.jsm: getCorrectedExchangeBodyData: wrong content-type of version-identification\n");
EnigmailLog.DEBUG(" ct = '" + ct + "'\n");
return null;
}
mimeHdr.initialize(bodyData.substr(encData, 5000));
ct = mimeHdr.extractHeader("content-type", false);
if (!ct || ct.search(/application\/octet-stream/i) < 0) {
EnigmailLog.DEBUG("fixExchangeMsg.jsm: getCorrectedExchangeBodyData: wrong content-type of PGP/MIME data\n");
EnigmailLog.DEBUG(" ct = '" + ct + "'\n");
return null;
}
return bodyData.substr(versionIdent);
},
/**
* Get corrected body for iPGMail messages
*/
getCorrectediPGMailBodyData: function(bodyData, boundary) {
EnigmailLog.DEBUG("fixExchangeMsg.jsm: getCorrectediPGMailBodyData: boundary='" + boundary + "'\n");
let boundRx = new RegExp("^--" + boundary, "gm");
let match = boundRx.exec(bodyData);
if (match.index < 0) {
EnigmailLog.DEBUG("fixExchangeMsg.jsm: getCorrectediPGMailBodyData: did not find index of mime type to skip\n");
return null;
}
let skipStart = match.index;
// found first instance -- that's the message part to ignore
match = boundRx.exec(bodyData);
if (match.index <= 0) {
EnigmailLog.DEBUG("fixExchangeMsg.jsm: getCorrectediPGMailBodyData: did not find boundary of text/plain msg part\n");
return null;
}
let encData = match.index;
match = boundRx.exec(bodyData);
if (match.index < 0) {
EnigmailLog.DEBUG("fixExchangeMsg.jsm: getCorrectediPGMailBodyData: did not find end boundary of PGP/MIME encrypted data\n");
return null;
}
let mimeHdr = Cc["@mozilla.org/messenger/mimeheaders;1"].createInstance(Ci.nsIMimeHeaders);
mimeHdr.initialize(bodyData.substr(encData, 5000));
let ct = mimeHdr.extractHeader("content-type", false);
if (!ct || ct.search(/application\/pgp-encrypted/i) < 0) {
EnigmailLog.DEBUG("fixExchangeMsg.jsm: getCorrectediPGMailBodyData: wrong content-type of PGP/MIME data\n");
EnigmailLog.DEBUG(" ct = '" + ct + "'\n");
return null;
}
return "--" + boundary + "\r\n" +
"Content-Type: application/pgp-encrypted\r\n" +
"Content-Description: PGP/MIME version identification\r\n\r\n" +
"Version: 1\r\n\r\n" +
bodyData.substring(encData, match.index).
replace(/^Content-Type: +application\/pgp-encrypted/im,
"Content-Type: application/octet-stream") +
"--" + boundary + "--\r\n";
},
copyToTargetFolder: function(msgData) {
var self = this;
var tempFile = Cc["@mozilla.org/file/directory_service;1"].getService(Ci.nsIProperties).get("TmpD", Ci.nsIFile);
tempFile.append("message.eml");
tempFile.createUnique(0, 384); // octal 0600 - since octal is deprected in JS
// ensure that file gets deleted on exit, if something goes wrong ...
var extAppLauncher = Cc["@mozilla.org/mime;1"].getService(Ci.nsPIExternalAppLauncher);
var foStream = Cc["@mozilla.org/network/file-output-stream;1"].createInstance(Ci.nsIFileOutputStream);
foStream.init(tempFile, 2, 0x200, false); // open as "write only"
foStream.write(msgData, msgData.length);
foStream.close();
extAppLauncher.deleteTemporaryFileOnExit(tempFile);
// note: nsIMsgFolder.copyFileMessage seems to have a bug on Windows, when
// the nsIFile has been already used by foStream (because of Windows lock system?), so we
// must initialize another nsIFile object, pointing to the temporary file
var fileSpec = Cc["@mozilla.org/file/local;1"].createInstance(Ci.nsIFile);
fileSpec.initWithPath(tempFile.path);
var copyListener = {
QueryInterface: function(iid) {
if (iid.equals(Ci.nsIMsgCopyServiceListener) || iid.equals(Ci.nsISupports)) {
return this;
}
throw Components.results.NS_NOINTERFACE;
},
msgKey: null,
GetMessageId: function(messageId) {},
OnProgress: function(progress, progressMax) {},
OnStartCopy: function() {},
SetMessageKey: function(key) {
this.msgKey = key;
},
OnStopCopy: function(statusCode) {
if (statusCode !== 0) {
EnigmailLog.DEBUG("fixExchangeMsg.jsm: error copying message: " + statusCode + "\n");
tempFile.remove(false);
self.reject(3);
return;
}
EnigmailLog.DEBUG("fixExchangeMsg.jsm: copy complete\n");
EnigmailLog.DEBUG("fixExchangeMsg.jsm: deleting message key=" + self.hdr.messageKey + "\n");
let msgArray = Cc["@mozilla.org/array;1"].createInstance(Ci.nsIMutableArray);
msgArray.appendElement(self.hdr, false);
self.hdr.folder.deleteMessages(msgArray, null, true, false, null, false);
EnigmailLog.DEBUG("fixExchangeMsg.jsm: deleted original message\n");
tempFile.remove(false);
self.resolve(this.msgKey);
return;
}
};
let copySvc = Cc["@mozilla.org/messenger/messagecopyservice;1"].getService(Ci.nsIMsgCopyService);
copySvc.CopyFileMessage(fileSpec, this.destFolder, null, false, this.hdr.flags, null, copyListener, null);
}
};
enigmail/package/funcs.jsm 0000664 0000000 0000000 00000026617 13213001347 0016075 0 ustar 00root root 0000000 0000000 /*global Components: false, escape: 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 = ["EnigmailFuncs"];
/*
* Common Enigmail crypto-related GUI functionality
*
*/
const Cc = Components.classes;
const Ci = Components.interfaces;
const Cu = Components.utils;
Cu.import("resource://enigmail/log.jsm"); /*global EnigmailLog: false */
Cu.import("resource://enigmail/prefs.jsm"); /*global EnigmailPrefs: false */
Cu.import("resource://enigmail/locale.jsm"); /*global EnigmailLocale: false */
var gTxtConverter = null;
const EnigmailFuncs = {
/**
* get a list of plain email addresses without name or surrounding <>
* @param mailAddrs |string| - address-list encdoded in Unicode as specified in RFC 2822, 3.4
* separated by , or ;
*
* @return |string| - list of pure email addresses separated by ","
*/
stripEmail: function(mailAddresses) {
// EnigmailLog.DEBUG("funcs.jsm: stripEmail(): mailAddresses=" + mailAddresses + "\n");
const SIMPLE = "[^<>,]+"; // RegExp for a simple email address (e.g. a@b.c)
const COMPLEX = "[^<>,]*<[^<>, ]+>"; // RegExp for an address containing <...> (e.g. Name )
const MatchAddr = new RegExp("^(" + SIMPLE + "|" + COMPLEX + ")(," + SIMPLE + "|," + COMPLEX + ")*$");
let mailAddrs = mailAddresses;
let qStart, qEnd;
while ((qStart = mailAddrs.indexOf('"')) >= 0) {
qEnd = mailAddrs.indexOf('"', qStart + 1);
if (qEnd < 0) {
EnigmailLog.ERROR("funcs.jsm: stripEmail: Unmatched quote in mail address: '" + mailAddresses + "'\n");
throw Components.results.NS_ERROR_FAILURE;
}
mailAddrs = mailAddrs.substring(0, qStart) + mailAddrs.substring(qEnd + 1);
}
// replace any ";" by ","; remove leading/trailing ","
mailAddrs = mailAddrs.replace(/[,;]+/g, ",").replace(/^,/, "").replace(/,$/, "");
if (mailAddrs.length === 0) return "";
// having two <..> <..> in one email, or things like is an error
if (mailAddrs.search(MatchAddr) < 0) {
EnigmailLog.ERROR("funcs.jsm: stripEmail: Invalid <..> brackets in mail address: '" + mailAddresses + "'\n");
throw Components.results.NS_ERROR_FAILURE;
}
// We know that the "," and the < > are at the right places, thus we can split by ","
let addrList = mailAddrs.split(/,/);
for (let i in addrList) {
// Extract pure e-mail address list (strip out anything before angle brackets and any whitespace)
addrList[i] = addrList[i].replace(/^([^<>]*<)([^<>]+)(>)$/, "$2").replace(/\s/g, "");
}
// remove repeated, trailing and leading "," (again, as there may be empty addresses)
mailAddrs = addrList.join(",").replace(/,,/g, ",").replace(/^,/, "").replace(/,$/, "");
return mailAddrs;
},
/**
* Hide all menu entries and other XUL elements that are considered for
* advanced users. The XUL items must contain 'advanced="true"' or
* 'advanced="reverse"'.
*
* @obj: |object| - XUL tree element
* @attribute: |string| - attribute to set or remove (i.e. "hidden" or "collapsed")
* @dummy: |object| - anything
*
* no return value
*/
collapseAdvanced: function(obj, attribute, dummy) {
EnigmailLog.DEBUG("funcs.jsm: collapseAdvanced:\n");
var advancedUser = EnigmailPrefs.getPref("advancedUser");
obj = obj.firstChild;
while (obj) {
if (obj.getAttribute("advanced") == "true") {
if (advancedUser) {
obj.removeAttribute(attribute);
}
else {
obj.setAttribute(attribute, "true");
}
}
else if (obj.getAttribute("advanced") == "reverse") {
if (advancedUser) {
obj.setAttribute(attribute, "true");
}
else {
obj.removeAttribute(attribute);
}
}
obj = obj.nextSibling;
}
},
/**
* determine default values for signing and encryption.
* Translates "old-style" defaults (pre-Enigmail v1.0) to "current" defaults
*
* @identiy - nsIMsgIdentity object
*
* no return values
*/
getSignMsg: function(identity) {
EnigmailLog.DEBUG("funcs.jsm: getSignMsg: identity.key=" + identity.key + "\n");
var sign = null;
EnigmailPrefs.getPref("configuredVersion"); // dummy call to getPref to ensure initialization
var prefRoot = EnigmailPrefs.getPrefRoot();
if (prefRoot.getPrefType("mail.identity." + identity.key + ".pgpSignPlain") === 0) {
if (prefRoot.getPrefType("mail.identity." + identity.key + ".pgpSignMsg") === 0) {
sign = identity.getBoolAttribute("pgpAlwaysSign");
identity.setBoolAttribute("pgpSignEncrypted", sign);
identity.setBoolAttribute("pgpSignPlain", sign);
}
else {
sign = identity.getIntAttribute("pgpSignMsg");
identity.setBoolAttribute("pgpSignEncrypted", sign == 1);
identity.setBoolAttribute("pgpSignPlain", sign > 0);
}
prefRoot.deleteBranch("mail.identity." + identity.key + ".pgpSignMsg");
prefRoot.deleteBranch("mail.identity." + identity.key + ".pgpAlwaysSign");
}
},
/**
* this function tries to mimic the Thunderbird plaintext viewer
*
* @plainTxt - |string| containing the plain text data
*
* @ return HTML markup to display mssage
*/
formatPlaintextMsg: function(plainTxt) {
if (!gTxtConverter)
gTxtConverter = Cc["@mozilla.org/txttohtmlconv;1"].createInstance(Ci.mozITXTToHTMLConv);
var prefRoot = EnigmailPrefs.getPrefRoot();
var fontStyle = "";
// set the style stuff according to perferences
switch (prefRoot.getIntPref("mail.quoted_style")) {
case 1:
fontStyle = "font-weight: bold; ";
break;
case 2:
fontStyle = "font-style: italic; ";
break;
case 3:
fontStyle = "font-weight: bold; font-style: italic; ";
break;
}
switch (prefRoot.getIntPref("mail.quoted_size")) {
case 1:
fontStyle += "font-size: large; ";
break;
case 2:
fontStyle += "font-size: small; ";
break;
}
fontStyle += "color: " + prefRoot.getCharPref("mail.citation_color") + ";";
var convFlags = Ci.mozITXTToHTMLConv.kURLs;
if (prefRoot.getBoolPref("mail.display_glyph"))
convFlags |= Ci.mozITXTToHTMLConv.kGlyphSubstitution;
if (prefRoot.getBoolPref("mail.display_struct"))
convFlags |= Ci.mozITXTToHTMLConv.kStructPhrase;
// start processing the message
plainTxt = plainTxt.replace(/\r\n/g, "\n").replace(/\r/g, "\n");
var lines = plainTxt.split(/\n/);
var oldCiteLevel = 0;
var citeLevel = 0;
var preface = "";
var logLineStart = {
value: 0
};
var isSignature = false;
for (var i = 0; i < lines.length; i++) {
preface = "";
oldCiteLevel = citeLevel;
if (lines[i].search(/^[\> \t]*\>$/) === 0)
lines[i] += " ";
citeLevel = gTxtConverter.citeLevelTXT(lines[i], logLineStart);
if (citeLevel > oldCiteLevel) {
preface = '';
for (let j = 0; j < citeLevel - oldCiteLevel; j++) {
preface += '