exim.git
5 years agoDANE: current src version
Viktor Dukhovni [Wed, 16 Dec 2015 21:47:49 +0000 (21:47 +0000)]
DANE: current src version

5 years agoDANE: fix testcase 2/0/1 TLSA record
Jeremy Harris [Tue, 15 Dec 2015 18:52:14 +0000 (18:52 +0000)]
DANE: fix testcase 2/0/1 TLSA record

5 years agoTestsuite: GnuTLS version changes
Jeremy Harris [Wed, 16 Dec 2015 12:04:41 +0000 (12:04 +0000)]
Testsuite: GnuTLS version changes

5 years agoTestsuite: OpenSSL version changes
Jeremy Harris [Tue, 15 Dec 2015 21:28:45 +0000 (21:28 +0000)]
Testsuite: OpenSSL version changes

5 years agoEvents: testsuite updates
Jeremy Harris [Mon, 14 Dec 2015 19:55:45 +0000 (19:55 +0000)]
Events: testsuite updates

5 years agoEvents: move from Experimental to mainline
Jeremy Harris [Mon, 14 Dec 2015 17:28:52 +0000 (17:28 +0000)]
Events: move from Experimental to mainline

5 years agotidying
Jeremy Harris [Sun, 13 Dec 2015 13:38:02 +0000 (13:38 +0000)]
tidying

5 years agoTestsuite: add testcase for Redis. Bug 1755
Jeremy Harris [Sat, 12 Dec 2015 00:31:01 +0000 (00:31 +0000)]
Testsuite: add testcase for Redis.  Bug 1755

5 years agoRedis: fix lookups to handle (quoted) spaces embedded in parts
Jeremy Harris [Fri, 11 Dec 2015 17:42:55 +0000 (17:42 +0000)]
Redis: fix lookups to handle (quoted) spaces embedded in parts
of the query string, and make ${quote_redis:} do that quoting.  Bug 1745

6 years agoI18N: Move EAI support from Experimental to mainline exim-4_87_RC1
Jeremy Harris [Wed, 9 Dec 2015 17:29:26 +0000 (17:29 +0000)]
I18N: Move EAI support from Experimental to mainline

6 years agoTestsuite: divert server log away from case 0611 to help with runtime ordering changes
Jeremy Harris [Wed, 9 Dec 2015 13:28:43 +0000 (13:28 +0000)]
Testsuite: divert server log away from case 0611 to help with runtime ordering changes

6 years agoPROXY: fix mismerge
Jeremy Harris [Tue, 8 Dec 2015 22:40:58 +0000 (22:40 +0000)]
PROXY: fix mismerge

6 years agoTestsuite: fix to ignore SUPPORT_PROXY debug output difference
Jeremy Harris [Tue, 8 Dec 2015 22:39:07 +0000 (22:39 +0000)]
Testsuite: fix to ignore SUPPORT_PROXY debug output difference

6 years agoSOCKS: Add log_selector support.
Jeremy Harris [Tue, 8 Dec 2015 22:21:58 +0000 (22:21 +0000)]
SOCKS: Add log_selector support.
Also make the proxy_* variables meaningful for events associated with proxied transports.

6 years agoPROXY: Move Proxy Protocol support from Experimental to mainline.
Jeremy Harris [Sat, 5 Dec 2015 20:21:51 +0000 (20:21 +0000)]
PROXY: Move Proxy Protocol support from Experimental to mainline.
No testsuite coverage yet.

6 years agoSOCKS: downgrade from DISABLE_SOCKS to SUPPORT_SOCKS in Local/Makefile
Jeremy Harris [Tue, 8 Dec 2015 16:56:15 +0000 (16:56 +0000)]
SOCKS: downgrade from DISABLE_SOCKS to SUPPORT_SOCKS in Local/Makefile

6 years agoSOCKS: move from Experimental to mainline
Jeremy Harris [Mon, 7 Dec 2015 15:22:38 +0000 (15:22 +0000)]
SOCKS: move from Experimental to mainline

6 years agoDocs: more index entries
Jeremy Harris [Sun, 6 Dec 2015 19:10:15 +0000 (19:10 +0000)]
Docs: more index entries

6 years agoSPAMD/malware: Log service identity with errors. Bug 1740
Jeremy Harris [Fri, 4 Dec 2015 17:58:24 +0000 (17:58 +0000)]
SPAMD/malware: Log service identity with errors.  Bug 1740

6 years agoDKIM: replace pdkim module debugging trace facility with Exim standard
Jeremy Harris [Wed, 2 Dec 2015 19:56:38 +0000 (19:56 +0000)]
DKIM: replace pdkim module debugging trace facility with Exim standard

6 years agoTestsuite: Use the configure results in Makefile
Heiko Schlittermann (HS12-RIPE) [Wed, 2 Dec 2015 20:56:35 +0000 (21:56 +0100)]
Testsuite: Use the configure results in Makefile

6 years agoTestsuite: remove accidently included fakens.s file
Heiko Schlittermann (HS12-RIPE) [Wed, 2 Dec 2015 19:20:16 +0000 (20:20 +0100)]
Testsuite: remove accidently included fakens.s file

6 years agoTestsuite: fakens: check for sys/socket.h
Heiko Schlittermann (HS12-RIPE) [Wed, 2 Dec 2015 18:44:10 +0000 (19:44 +0100)]
Testsuite: fakens: check for sys/socket.h

FreeBSD seems to need it for AF_INET

6 years agoTestsuite: helpful diagnostic for configuration fault
Jeremy Harris [Wed, 2 Dec 2015 17:23:33 +0000 (17:23 +0000)]
Testsuite: helpful diagnostic for configuration fault

6 years agoDKIM: fix simple body verify for trailing empty lines after text
Jeremy Harris [Wed, 2 Dec 2015 16:48:26 +0000 (16:48 +0000)]
DKIM: fix simple body verify for trailing empty lines after text

6 years agoDKIM: $dkim_key_length visibility variable. Bug 1311
Jeremy Harris [Tue, 1 Dec 2015 00:01:33 +0000 (00:01 +0000)]
DKIM: $dkim_key_length visibility variable. Bug 1311

6 years agoDKIM: Project coding standards
Jeremy Harris [Mon, 30 Nov 2015 19:43:56 +0000 (19:43 +0000)]
DKIM: Project coding standards

6 years agoDocs: De-clarify the rfc2047 default charset
Heiko Schlittermann (HS12-RIPE) [Mon, 30 Nov 2015 10:36:51 +0000 (11:36 +0100)]
Docs: De-clarify the rfc2047 default charset

6 years agoDKIM: fix relaxed body verify for a newline-only body. Bug 963
Jeremy Harris [Sun, 29 Nov 2015 01:36:06 +0000 (01:36 +0000)]
DKIM: fix relaxed body verify for a newline-only body.  Bug 963

6 years agoSeparate PolarSSL from PDKIM. Bug 1192
Andreas Metzler [Sun, 14 Jun 2015 20:10:48 +0000 (21:10 +0100)]
Separate PolarSSL from PDKIM.  Bug 1192

This is intended to be a step towards replacing the PolarSSL code
with either OpenSSL of GnuTLS equivalents.

6 years agoDKIM: relaxed body canonicalisation should ignore whitespace at EOL
Jeremy Harris [Sun, 29 Nov 2015 01:12:38 +0000 (01:12 +0000)]
DKIM: relaxed body canonicalisation should ignore whitespace at EOL
and empty lines at EOM.  Bug 1721

6 years agoDocs: Update example for multi value attributes
Heiko Schlittermann (HS12-RIPE) [Sun, 29 Nov 2015 12:31:11 +0000 (13:31 +0100)]
Docs: Update example for multi value attributes

6 years agoLDAP: Fix separator for multiple attrs and ldapm
Heiko Schlittermann (HS12-RIPE) [Sun, 29 Nov 2015 00:51:13 +0000 (01:51 +0100)]
LDAP: Fix separator for multiple attrs and ldapm

Schema:
    attributetype ( NAME foo … )
    attributetype ( NAME foo1 SUP foo …)
    attributetype ( NAME foo2 SUP foo …)

Objects in Directory:
    dn: …
    foo1: foo, bar
    foo1: baz
    foo2: buz

Query and response:
    ldap://<HOST>/<BASE>?foo1?sub?<filter>
    -> foo,, bar,baz

    ldap://<HOST>/<BASE>?foo2?sub?<filter>
    -> buz

    ldap://<HOST>/<BASE>?foo1,foo2?sub?<filter>
    -> foo1="foo,, bar,baz" foo2="buz"

    ldap://<HOST>/<BASE>?foo?sub?<filter>
    -> foo,, bar,baz,buz

The same holds for ldam, but with multiple lines, for each
object one single line.

6 years agoLDAP: Fix comment formatting
Heiko Schlittermann (HS12-RIPE) [Sun, 29 Nov 2015 00:50:20 +0000 (01:50 +0100)]
LDAP: Fix comment formatting

6 years agoLDAP: Fix debug messages
Heiko Schlittermann (HS12-RIPE) [Sun, 29 Nov 2015 00:42:51 +0000 (01:42 +0100)]
LDAP: Fix debug messages

6 years agoLDAP: internal rename of attr_count
Heiko Schlittermann (HS12-RIPE) [Sun, 29 Nov 2015 00:30:46 +0000 (01:30 +0100)]
LDAP: internal rename of attr_count

This avoids ambiguity with valuecount, rescount and others.
attrs_requested is more expressive, IMHO.

6 years agoLDAP: Fix comment about delimiter
Heiko Schlittermann (HS12-RIPE) [Sun, 29 Nov 2015 00:39:37 +0000 (01:39 +0100)]
LDAP: Fix comment about delimiter

6 years agoTestsuite: permit "client" utility to pass trailing spaces from script input lines
Jeremy Harris [Sat, 28 Nov 2015 23:29:24 +0000 (23:29 +0000)]
Testsuite: permit "client" utility to pass trailing spaces from script input lines

6 years agoDocs: Add note on -D commandline option restriction. Bug 1154
Jeremy Harris [Thu, 26 Nov 2015 20:56:36 +0000 (20:56 +0000)]
Docs: Add note on -D commandline option restriction.  Bug 1154

6 years agoEvents: add docs note
Jeremy Harris [Sun, 22 Nov 2015 18:40:29 +0000 (18:40 +0000)]
Events: add docs note

6 years agoFix potential misaligned ipv6 result records from DNS search
Jeremy Harris [Sun, 22 Nov 2015 00:29:16 +0000 (00:29 +0000)]
Fix potential misaligned ipv6 result records from DNS search

6 years agoTestsuite: fakens/inet_pton on solaris again
Heiko Schlittermann (HS12-RIPE) [Wed, 25 Nov 2015 21:04:32 +0000 (22:04 +0100)]
Testsuite: fakens/inet_pton on solaris again

6 years agoTestsuite: fakens/inet_pton on solaris again
Heiko Schlittermann (HS12-RIPE) [Wed, 25 Nov 2015 21:04:32 +0000 (22:04 +0100)]
Testsuite: fakens/inet_pton on solaris again

6 years agoTestsuite: search for libs providing inet_{ntop,pton}
Heiko Schlittermann (HS12-RIPE) [Wed, 25 Nov 2015 20:15:03 +0000 (21:15 +0100)]
Testsuite: search for libs providing inet_{ntop,pton}

6 years agoTestsuite: Add Ustrtok() to quieten solaris' compiler
Heiko Schlittermann (HS12-RIPE) [Wed, 25 Nov 2015 20:02:40 +0000 (21:02 +0100)]
Testsuite: Add Ustrtok() to quieten solaris' compiler

6 years agoMIME: fix crash on filenames having null charset. Bug 1730
Jeremy Harris [Wed, 25 Nov 2015 17:49:03 +0000 (17:49 +0000)]
MIME: fix crash on filenames having null charset.  Bug 1730

6 years agoTestsuite: fix 1003 log
Heiko Schlittermann (HS12-RIPE) [Tue, 24 Nov 2015 15:32:55 +0000 (16:32 +0100)]
Testsuite: fix 1003 log

The IPv6 address of the connecting *is* resolveable.

6 years agoTestsuite: Fix fakens parser for A and AAAA RRs
Heiko Schlittermann (HS12-RIPE) [Mon, 23 Nov 2015 22:57:04 +0000 (23:57 +0100)]
Testsuite: Fix fakens parser for A and AAAA RRs

6 years agoTestsuite: fakens include unistd.h for sleep
Heiko Schlittermann (HS12-RIPE) [Mon, 23 Nov 2015 20:17:48 +0000 (21:17 +0100)]
Testsuite: fakens include unistd.h for sleep

6 years agoSOCKS: Support priority groups and weighted-random selection from
Jeremy Harris [Sat, 21 Nov 2015 20:07:34 +0000 (20:07 +0000)]
SOCKS: Support priority groups and weighted-random selection from
multiple proxes.  Bug 1720

6 years agoMySQL: support MySQL config file option group names. Bug 1701
Jeremy Harris [Sat, 14 Nov 2015 17:32:29 +0000 (17:32 +0000)]
MySQL: support MySQL config file option group names.  Bug 1701

6 years agoDocs: minor correction
Jeremy Harris [Mon, 16 Nov 2015 11:46:58 +0000 (11:46 +0000)]
Docs: minor correction

6 years agoGF: Changelog entry for bug 1715
Graeme Fowler [Tue, 17 Nov 2015 16:23:51 +0000 (16:23 +0000)]
GF: Changelog entry for bug 1715

6 years agoGF: Fix esoteric race condition in exicyclog
Graeme Fowler [Tue, 17 Nov 2015 14:01:28 +0000 (14:01 +0000)]
GF: Fix esoteric race condition in exicyclog

6 years agoEvents: add recipient-deferred events, both per-host and all-hosts.
Jasen Betts [Tue, 10 Nov 2015 16:58:33 +0000 (16:58 +0000)]
Events: add recipient-deferred events, both per-host and all-hosts.

6 years agoChange notes for -bP
Jeremy Harris [Sat, 14 Nov 2015 14:45:23 +0000 (14:45 +0000)]
Change notes for -bP

6 years agoHide hidden lines for -bP config
Heiko Schlittermann (HS12-RIPE) [Fri, 13 Nov 2015 09:51:00 +0000 (10:51 +0100)]
Hide hidden lines for -bP config

6 years agoAdd -bP config_file
Heiko Schlittermann (HS12-RIPE) [Thu, 12 Nov 2015 11:20:59 +0000 (12:20 +0100)]
Add -bP config_file

The -bP configure_file is still supported, but should fade out
eventually. config_file matches better the expansion $config_file.

6 years agoAdd support for -bP config
Heiko Schlittermann (HS12-RIPE) [Thu, 12 Nov 2015 11:14:14 +0000 (12:14 +0100)]
Add support for -bP config

6 years agoLogging: support +outgoing_port on defer lines and per-host error lines
Jeremy Harris [Tue, 10 Nov 2015 23:12:26 +0000 (23:12 +0000)]
Logging: support +outgoing_port on defer lines and per-host error lines

6 years agoTestsuite: reorder for dependencies; rename TPDA to events
Jeremy Harris [Tue, 10 Nov 2015 19:01:58 +0000 (19:01 +0000)]
Testsuite: reorder for dependencies; rename TPDA to events

6 years agoExpansions: New ${ipv6denorm:<string>} and ${ipv6norm:<string>} operators. Bug 1650
Jeremy Harris [Wed, 4 Nov 2015 18:20:04 +0000 (18:20 +0000)]
Expansions: New ${ipv6denorm:<string>} and ${ipv6norm:<string>} operators.  Bug 1650

6 years agoTestsuite: perl executable location may differ
Jeremy Harris [Sun, 8 Nov 2015 18:56:19 +0000 (18:56 +0000)]
Testsuite: perl executable location may differ

6 years agoTestsuite: fix fallout from TLS-by-default
Jeremy Harris [Sun, 8 Nov 2015 17:40:59 +0000 (17:40 +0000)]
Testsuite: fix fallout from TLS-by-default

Also handle testsuite run user different from testsuite files owner

6 years agoTLS: Default tls_advertise_hosts to "*". Bug 1709
Jeremy Harris [Sun, 1 Nov 2015 19:46:28 +0000 (19:46 +0000)]
TLS: Default tls_advertise_hosts to "*".  Bug 1709

Make the option available in non-TLS builds, and clear in testsuite
confs as needed to keep TLS and non-TLS testcase outputs the same.

An error is logged at startup if tls_advertise_hosts is nonempty
but tls_certificate is not set.

6 years agoTestsuite: Add munge for EXPERIMENTAL_DSN_INFO
Jeremy Harris [Sat, 7 Nov 2015 12:48:06 +0000 (12:48 +0000)]
Testsuite: Add munge for EXPERIMENTAL_DSN_INFO

6 years agoDKIM: fix non-debug build. Bug 1713
Jasen Betts [Sat, 7 Nov 2015 11:53:52 +0000 (11:53 +0000)]
DKIM: fix non-debug build.  Bug 1713

6 years agoTransport: permit an empty string for the transport_filter option. Bug 1714
Jeremy Harris [Fri, 6 Nov 2015 15:55:25 +0000 (15:55 +0000)]
Transport: permit an empty string for the transport_filter option.  Bug 1714

6 years agoPRDR: Introduce $prdr_requested flag variable. Bug 1712
Jeremy Harris [Tue, 3 Nov 2015 14:40:56 +0000 (14:40 +0000)]
PRDR: Introduce $prdr_requested flag variable.  Bug 1712

6 years agoRadius: Change name of header file for RADIUSCLIENTNEW to match Fedora and (apparentl...
Jeremy Harris [Mon, 2 Nov 2015 23:59:49 +0000 (23:59 +0000)]
Radius: Change name of header file for RADIUSCLIENTNEW to match Fedora and (apparently) Gentoo.

Also include a hack to avoid a definition conflict between that Radius header
and a DBM header.

This work imported from Gentoo (more than one author).

6 years agoAvoid misaligned access in cached lookup. Bug 1708
Jeremy Harris [Mon, 2 Nov 2015 19:03:26 +0000 (19:03 +0000)]
Avoid misaligned access in cached lookup.  Bug 1708

6 years agoSource: Remove trailing whitespaces from src/*.{h,c}
Heiko Schlittermann (HS12-RIPE) [Sat, 31 Oct 2015 21:47:29 +0000 (22:47 +0100)]
Source: Remove trailing whitespaces from src/*.{h,c}

6 years agoLookups: Do not escape percent or underbar in the ${quote_pgsql: } operator. Bug...
Jeremy Harris [Fri, 30 Oct 2015 14:54:17 +0000 (14:54 +0000)]
Lookups: Do not escape percent or underbar in the ${quote_pgsql: } operator.  Bug 1706

6 years agoCygwin: update from Exim Cygwin maintainer. Bug 1707
Jeremy Harris [Fri, 30 Oct 2015 15:35:29 +0000 (15:35 +0000)]
Cygwin: update from Exim Cygwin maintainer.  Bug 1707

6 years agoDocs: fix naming of the ldap_default_servers option
Heiko Schlittermann (HS12-RIPE) [Thu, 29 Oct 2015 12:24:15 +0000 (13:24 +0100)]
Docs: fix naming of the ldap_default_servers option

6 years agoTestsuite: allow for sudo -u <user> in test scripts
Heiko Schlittermann (HS12-RIPE) [Tue, 27 Oct 2015 21:49:20 +0000 (22:49 +0100)]
Testsuite: allow for sudo -u <user> in test scripts

6 years agoDocs: minor tweaks
Jeremy Harris [Tue, 27 Oct 2015 14:21:25 +0000 (14:21 +0000)]
Docs: minor tweaks

6 years agoManualroute: use same host for all RCPTs of a message, even under hosts_randomize...
Eric Andresen [Tue, 27 Oct 2015 14:10:32 +0000 (14:10 +0000)]
Manualroute: use same host for all RCPTs of a message, even under hosts_randomize.  Bug 830

Patch from author adjusted by JH to retain MX priorities when /MX indirection is used.

6 years agoTestsuite: followon -bt output changes
Jeremy Harris [Mon, 26 Oct 2015 19:01:09 +0000 (19:01 +0000)]
Testsuite: followon -bt output changes

6 years agoTestsuite: deal better with -bt output and long test-system ipv4 addresses
Jeremy Harris [Mon, 26 Oct 2015 12:24:39 +0000 (12:24 +0000)]
Testsuite: deal better with -bt output and long test-system ipv4 addresses

6 years agoPipe transport: fix log_defer_output option. Bug 840
Jeremy Harris [Sun, 25 Oct 2015 22:42:22 +0000 (22:42 +0000)]
Pipe transport: fix log_defer_output option.  Bug 840

6 years agoDKIM: ignore space & tab embedded in base64 during decode. Bug 1700
Jeremy Harris [Thu, 15 Oct 2015 20:40:17 +0000 (21:40 +0100)]
DKIM: ignore space & tab embedded in base64 during decode.  Bug 1700

6 years agocode tidying
Jeremy Harris [Thu, 15 Oct 2015 19:36:27 +0000 (20:36 +0100)]
code tidying

6 years agoDoc: clarify the syntax of the "begin <section>"
Heiko Schlittermann (HS12-RIPE) [Tue, 20 Oct 2015 17:13:15 +0000 (19:13 +0200)]
Doc: clarify the syntax of the "begin <section>"

6 years agoMerge remote-tracking branch 'github/pr/34'
Phil Pennock [Sat, 17 Oct 2015 20:02:41 +0000 (16:02 -0400)]
Merge remote-tracking branch 'github/pr/34'

GitHub user @puleglot "Alexander Tsoy" reported build failures for
RADIUS:
> Was broken by commits 93a6fce and 55414b2

These are the recent const-ification work.  Changes LGTM.

6 years agoUtils: exiqgrep error/usage if there are non-understood arguments. Bug 1586
Jeremy Harris [Sat, 17 Oct 2015 19:47:46 +0000 (20:47 +0100)]
Utils: exiqgrep error/usage if there are non-understood arguments.  Bug 1586

6 years agoFix conflicting types errors in radius auth
Alexander Tsoy [Sat, 17 Oct 2015 17:39:10 +0000 (20:39 +0300)]
Fix conflicting types errors in radius auth

Was broken by commits 93a6fce2 and 55414b25

6 years agoCheck maximum (folded) line length in default spec file data ACL and smtp transport...
Jeremy Harris [Tue, 13 Oct 2015 16:04:03 +0000 (17:04 +0100)]
Check maximum (folded) line length in default spec file data ACL and smtp transport.  Bug 1684

6 years agoLog deferred deliveries for transport max_parallel
Jeremy Harris [Tue, 13 Oct 2015 10:43:34 +0000 (11:43 +0100)]
Log deferred deliveries for transport max_parallel

6 years agomax_parallel transport option. Bug 1698
Jeremy Harris [Tue, 13 Oct 2015 00:40:27 +0000 (01:40 +0100)]
max_parallel transport option.  Bug 1698

6 years agomax_parallel transport option
Jeremy Harris [Thu, 8 Oct 2015 22:59:27 +0000 (23:59 +0100)]
max_parallel transport option

6 years agoFix typo in debug output
Heiko Schlittermann (HS12-RIPE) [Thu, 1 Oct 2015 08:58:18 +0000 (10:58 +0200)]
Fix typo in debug output

6 years agoHandle >1 parallelism in serialize db entries
Jeremy Harris [Sun, 11 Oct 2015 13:53:41 +0000 (14:53 +0100)]
Handle >1 parallelism in serialize db entries

6 years agocode tidying
Jeremy Harris [Sun, 11 Oct 2015 11:22:50 +0000 (12:22 +0100)]
code tidying

6 years agoTidying
Jeremy Harris [Sat, 3 Oct 2015 22:19:58 +0000 (23:19 +0100)]
Tidying

6 years agoSOCKS: fix function prototype
Jeremy Harris [Sat, 3 Oct 2015 21:04:24 +0000 (22:04 +0100)]
SOCKS: fix function prototype

6 years agoTestsuite: nail testcase to ipv4 to avoid output difference in non-6 build
Jeremy Harris [Wed, 30 Sep 2015 17:05:10 +0000 (18:05 +0100)]
Testsuite: nail testcase to ipv4 to avoid output difference in non-6 build

6 years agoIncrease verbosity of (panic)log message for string_sprintf overflow
Jeremy Harris [Wed, 30 Sep 2015 15:23:42 +0000 (16:23 +0100)]
Increase verbosity of (panic)log message for string_sprintf overflow

6 years agoTestsuite: nail testcase to ipv4 to avoid output difference in 4+6 environment
Jeremy Harris [Tue, 29 Sep 2015 20:05:36 +0000 (21:05 +0100)]
Testsuite: nail testcase to ipv4 to avoid output difference in 4+6 environment

6 years agoFix gnutls library version check, for system certs feature. Bug 1691
Jeremy Harris [Tue, 29 Sep 2015 19:14:59 +0000 (20:14 +0100)]
Fix gnutls library version check, for system certs feature. Bug 1691