exim.git
9 years ago TLS: downgrade fail of cert-based authentication from log message to debug messsage
Jeremy Harris [Sun, 13 Sep 2015 14:26:34 +0000 (15:26 +0100)]
TLS: downgrade fail of cert-based authentication from log message to debug messsage

9 years agofix docs messup
Jeremy Harris [Sat, 12 Sep 2015 14:57:17 +0000 (15:57 +0100)]
fix docs messup

9 years agoNew $callout_address variable to record spamd (etc) address. Bug 1652
Jeremy Harris [Sat, 12 Sep 2015 14:00:45 +0000 (15:00 +0100)]
New $callout_address variable to record spamd (etc) address.  Bug 1652

9 years agoDocs: Typo, make long option name searchable.
Heiko Schlittermann (HS12-RIPE) [Thu, 10 Sep 2015 20:01:53 +0000 (22:01 +0200)]
Docs: Typo, make long option name searchable.

This is related to Bug 1197 and was fixed there for another
long option.

9 years agoDSN: Under EXPERIMENTAL_DSN_INFO add extras to bounce messages. Bug 1686
Jeremy Harris [Wed, 9 Sep 2015 15:03:38 +0000 (16:03 +0100)]
DSN: Under EXPERIMENTAL_DSN_INFO add extras to bounce messages.  Bug 1686

9 years ago Capture substrings in ACL regex= . Bug 425.
Jeremy Harris [Tue, 8 Sep 2015 22:05:20 +0000 (23:05 +0100)]
Capture substrings in ACL regex= .  Bug 425.

9 years agoTestsuite: a DSN case for a remote-MTA specified by name rather than IP
Jeremy Harris [Thu, 3 Sep 2015 15:13:18 +0000 (16:13 +0100)]
Testsuite: a DSN case for a remote-MTA specified by name rather than IP

9 years agoeditorconfig philosophy, more vim hints
Phil Pennock [Fri, 28 Aug 2015 19:03:23 +0000 (15:03 -0400)]
editorconfig philosophy, more vim hints

9 years agoCommon .editorconfig file for text editors
Phil Pennock [Fri, 28 Aug 2015 03:15:01 +0000 (23:15 -0400)]
Common .editorconfig file for text editors

9 years agoUpdate ChangeLog about Bug 1671
Heiko Schlittermann (HS12-RIPE) [Tue, 25 Aug 2015 11:37:47 +0000 (13:37 +0200)]
Update ChangeLog about Bug 1671

9 years agoClose logs after daemon-process exceptional write. Bug 728
Jeremy Harris [Tue, 25 Aug 2015 09:36:27 +0000 (10:36 +0100)]
Close logs after daemon-process exceptional write.  Bug 728

9 years agoDocs: clarify header_syntax acl condition return value
Jeremy Harris [Sun, 23 Aug 2015 17:34:36 +0000 (18:34 +0100)]
Docs: clarify header_syntax acl condition return value

9 years agoRemember the fail reason for verify=headers_syntax. Bug 264
Jeremy Harris [Fri, 21 Aug 2015 17:08:39 +0000 (18:08 +0100)]
Remember the fail reason for verify=headers_syntax.  Bug 264

9 years agoFix post-transport-crash: safeguard for missing spool BUG 1671
Heiko Schlittermann (HS12-RIPE) [Thu, 20 Aug 2015 11:58:06 +0000 (13:58 +0200)]
Fix post-transport-crash: safeguard for missing spool BUG 1671

Based on a proposal from Wolfgang Breyha.

9 years agoAdd a .ctags file to src
Heiko Schlittermann (HS12-RIPE) [Fri, 21 Aug 2015 10:26:50 +0000 (12:26 +0200)]
Add a .ctags file to src

9 years agoTestsuite: auto-detect the Exim binary in ../src/build*
Heiko Schlittermann (HS12) [Wed, 19 Aug 2015 16:17:51 +0000 (18:17 +0200)]
Testsuite: auto-detect the Exim binary in ../src/build*

9 years agoTestsuite: Update README about flavours
Heiko Schlittermann (HS12-RIPE) [Wed, 19 Aug 2015 16:18:22 +0000 (18:18 +0200)]
Testsuite: Update README about flavours

9 years agoTestsuite: Update debian8 flavour for 5600
Heiko Schlittermann (HS12-RIPE) [Wed, 19 Aug 2015 14:43:35 +0000 (16:43 +0200)]
Testsuite: Update debian8 flavour for 5600

9 years agoFix post-transport-crash.
Heiko Schlittermann (HS12-RIPE) [Wed, 19 Aug 2015 13:22:41 +0000 (15:22 +0200)]
Fix post-transport-crash.

The crash probably was introduced in a39bd74d3e94 and
needs 'split_spool_directory=yes' to expose.

Thanks to Wolfgang Breyha, who found the same fix.

9 years agoDocs: add note on spf lookup type, in experimental-spec
Jeremy Harris [Mon, 17 Aug 2015 18:08:52 +0000 (19:08 +0100)]
Docs: add note on spf lookup type, in experimental-spec

9 years agoDocs: Remove trailing whitespace
Heiko Schlittermann (HS12-RIPE) [Mon, 17 Aug 2015 15:38:47 +0000 (17:38 +0200)]
Docs: Remove trailing whitespace

9 years agoDocs: Clarify white space in $h_<name> expansion
Heiko Schlittermann (HS12-RIPE) [Mon, 17 Aug 2015 15:37:08 +0000 (17:37 +0200)]
Docs: Clarify white space in $h_<name> expansion

9 years agoImprove the consistency of logging incoming and outgoing interfaces.
Tony Finch [Thu, 13 Aug 2015 14:16:51 +0000 (15:16 +0100)]
Improve the consistency of logging incoming and outgoing interfaces.

The I= interface field on outgoing lines is now after the H= remote
host field, same as incoming lines. There is a separate outgoing_interface
log selector which allows you to disable the outgoing I= field.

(slight massaging by JH)

9 years agoOverhaul the debug_selector and log_selector machinery to support variable-length...
Tony Finch [Thu, 13 Aug 2015 14:16:48 +0000 (15:16 +0100)]
Overhaul the debug_selector and log_selector machinery to support variable-length bit vectors. No functional change.

9 years agoFix timeout adjustment in c528cec4
Heiko Schlittermann (HS12-RIPE) [Wed, 12 Aug 2015 22:20:12 +0000 (00:20 +0200)]
Fix timeout adjustment in c528cec4

9 years agoTestsuite: Add short help to server
Heiko Schlittermann (HS12) [Wed, 12 Aug 2015 22:13:51 +0000 (00:13 +0200)]
Testsuite: Add short help to server

9 years agoAdjust the timeout after interrupted select()
Heiko Schlittermann (HS12-RIPE) [Wed, 12 Aug 2015 21:45:44 +0000 (23:45 +0200)]
Adjust the timeout after interrupted select()

9 years agoGnuTLS: avoid whining about OCSP when not requested by config
Jeremy Harris [Tue, 11 Aug 2015 21:54:53 +0000 (22:54 +0100)]
GnuTLS: avoid whining about OCSP when not requested by config

9 years agoFix ESMTP MAIL command option processing
Heiko Schlittermann (HS12-RIPE) [Tue, 11 Aug 2015 15:36:29 +0000 (17:36 +0200)]
Fix ESMTP MAIL command option processing

If the address containes spaces, the option processing
was confused.

9 years agoBuild: Make test_{os,parse,dbfn,string} work
Heiko Schlittermann (HS12-RIPE) [Tue, 11 Aug 2015 07:13:11 +0000 (09:13 +0200)]
Build: Make test_{os,parse,dbfn,string} work

9 years agoTestsuite: Add test for MAIL with spaces + options
Heiko Schlittermann (HS12) [Mon, 10 Aug 2015 16:10:26 +0000 (18:10 +0200)]
Testsuite: Add test for MAIL with spaces + options

9 years agoReally re-select() when interrupted.
Heiko Schlittermann (HS12-RIPE) [Sun, 9 Aug 2015 22:39:36 +0000 (00:39 +0200)]
Really re-select() when interrupted.

9 years agoCompiler quietening
Heiko Schlittermann (HS12-RIPE) [Sun, 9 Aug 2015 21:29:44 +0000 (23:29 +0200)]
Compiler quietening

9 years agoOpenSSL: fix complile on pre-EC-capable library versions
Jeremy Harris [Thu, 6 Aug 2015 20:38:33 +0000 (21:38 +0100)]
OpenSSL: fix complile on pre-EC-capable library versions

9 years agoDup GnuTLS test to OpenSSL
Jeremy Harris [Wed, 5 Aug 2015 20:19:40 +0000 (21:19 +0100)]
Dup GnuTLS test to OpenSSL

9 years agoTestsuite: Avoid requesting TLS cert-status requests from GnuTLS test utility unless...
Jeremy Harris [Wed, 5 Aug 2015 15:01:50 +0000 (16:01 +0100)]
Testsuite: Avoid requesting TLS cert-status requests from GnuTLS test utility unless wanted

9 years agoTestsuite: pass GnuTLS despite OCSP whining
Jeremy Harris [Sun, 2 Aug 2015 15:09:54 +0000 (16:09 +0100)]
Testsuite: pass GnuTLS despite OCSP whining

9 years agoDocs: add notes on library version limitations on OCSP stapling. Bug 1664
Jeremy Harris [Sun, 2 Aug 2015 13:33:56 +0000 (14:33 +0100)]
Docs: add notes on library version limitations on OCSP stapling.  Bug 1664

9 years agoGnuTLS: avoid using OCSP on buggy library versions. Bug 1664
Jeremy Harris [Sun, 2 Aug 2015 12:53:15 +0000 (13:53 +0100)]
GnuTLS: avoid using OCSP on buggy library versions.  Bug 1664

9 years agoTestsuite: Add testcase for OCSP-nonaware client, to supporting server. Bug 1664
Jeremy Harris [Sun, 2 Aug 2015 12:44:31 +0000 (13:44 +0100)]
Testsuite: Add testcase for OCSP-nonaware client, to supporting server.  Bug 1664

The logfile here is for (I hope) the passing case, though the fixed GnuTLS library
is not yet available.  Also due to the bug, client-gnutls is not usable for the
test; client-openssl must be used - meaning that a GnuTLS-only system cannot run
the testcase:

  OCSP-GnuTLS/5650 OCSP stapling, server
  ** Command 15 ("client-ssl", starting at line 98)
  ** Return code 127 (expected 0)

9 years agoDocs: Add a note about the maximum spam bar length
Heiko Schlittermann (HS12-RIPE) [Thu, 30 Jul 2015 07:43:51 +0000 (09:43 +0200)]
Docs: Add a note about the maximum spam bar length

9 years agoDocs: Clarify the "any output" phrase
Heiko Schlittermann (HS12-RIPE) [Wed, 29 Jul 2015 21:55:09 +0000 (23:55 +0200)]
Docs: Clarify the "any output" phrase

9 years agoAdd ref from logging chapter to slow_lookup_log main config option
Jeremy Harris [Sun, 26 Jul 2015 17:21:33 +0000 (18:21 +0100)]
Add ref from logging chapter to slow_lookup_log main config option

9 years agoCompiler quietening
Jeremy Harris [Sun, 28 Jun 2015 14:14:02 +0000 (15:14 +0100)]
Compiler quietening

9 years agoDocs: add detail on keys for lookups
Jeremy Harris [Sat, 25 Jul 2015 12:50:43 +0000 (13:50 +0100)]
Docs: add detail on keys for lookups

9 years agoClean docs for next release
Jeremy Harris [Sun, 26 Jul 2015 15:54:16 +0000 (16:54 +0100)]
Clean docs for next release

9 years agoDoc: parallel builds (make -j) work exim-4_86
Heiko Schlittermann (HS12-RIPE) [Thu, 23 Jul 2015 21:20:37 +0000 (23:20 +0200)]
Doc: parallel builds (make -j) work

9 years agoDocs: emphasize that the smtp_connection log selector applies to inbound exim-4_86_RC5
Jeremy Harris [Thu, 16 Jul 2015 15:25:53 +0000 (16:25 +0100)]
Docs: emphasize that the smtp_connection log selector applies to inbound

9 years agoAdd check on tls_auth pseudo-command. Bug 1659
Jeremy Harris [Wed, 15 Jul 2015 22:45:39 +0000 (23:45 +0100)]
Add check on tls_auth pseudo-command.  Bug 1659

9 years agoCompile with DISABLE_PRDR set
Phil Pennock [Sun, 12 Jul 2015 23:28:30 +0000 (23:28 +0000)]
Compile with DISABLE_PRDR set

9 years agoMultiple typo fixes.
Andreas Metzler [Sat, 4 Jul 2015 16:07:21 +0000 (18:07 +0200)]
Multiple typo fixes.

9 years agoBump LOCAL_SCAN_ABI_VERSION.
Andreas Metzler [Thu, 2 Jul 2015 06:48:58 +0000 (08:48 +0200)]
Bump LOCAL_SCAN_ABI_VERSION.

In 4.86 the size of struct recipient_item changed when EXPERIMENTAL_DSN
was made default. This broke the local scan ABI (rebuild required).
See <http://bugs.debian.org/790616>.

9 years agoChange note exim-4_86_RC4
Jeremy Harris [Sat, 27 Jun 2015 15:01:28 +0000 (16:01 +0100)]
Change note

9 years agoDocs: add note on string lists
Jeremy Harris [Thu, 25 Jun 2015 16:17:30 +0000 (17:17 +0100)]
Docs: add note on string lists

9 years agoFix error message for router headers_remove expansion failure
Jeremy Harris [Sun, 21 Jun 2015 13:36:01 +0000 (14:36 +0100)]
Fix error message for router headers_remove expansion failure
Associated with Bug 1533

9 years agoDoc: Fix typo
Heiko Schlittermann (HS12-RIPE) [Mon, 22 Jun 2015 21:10:13 +0000 (23:10 +0200)]
Doc: Fix typo

9 years agoDoc: Update dns_trust_aa documentation
Heiko Schlittermann (HS12) [Mon, 22 Jun 2015 20:02:30 +0000 (22:02 +0200)]
Doc: Update dns_trust_aa documentation

9 years agoDocs: mark up with changebars
Jeremy Harris [Mon, 22 Jun 2015 13:17:07 +0000 (14:17 +0100)]
Docs: mark up with changebars

9 years agoFix support of $spam_ variables at delivery time. Bug 1647
Jeremy Harris [Mon, 22 Jun 2015 12:21:04 +0000 (13:21 +0100)]
Fix support of $spam_ variables at delivery time.  Bug 1647

This change is forced on us by the documentation claiming clearly
the support is there, though the code does not and never has.
The doc change that introduced the claim is 7d9f747b5ef8

9 years agoTestsuite: fix operator precedence in dns_extract_auth_name()
Jeremy Harris [Mon, 22 Jun 2015 12:55:12 +0000 (14:55 +0200)]
Testsuite: fix operator precedence in dns_extract_auth_name()

9 years agoTestsuite: Add a first test for dns_trust_aa
Heiko Schlittermann (HS12) [Mon, 22 Jun 2015 09:44:36 +0000 (11:44 +0200)]
Testsuite: Add a first test for dns_trust_aa

9 years agoTestsuite: fakens may return AUTHORITY records
Heiko Schlittermann (HS12) [Mon, 22 Jun 2015 07:57:02 +0000 (09:57 +0200)]
Testsuite: fakens may return AUTHORITY records

If an entry in db.<zone> is prefixed with "AA ", fakens
will put a valid NS record into the AUTHORITY section of the
returned packet. This will be used by dns_trust_aa checks.

9 years agoBefore importing a certificate, free any previous one. Bug 1648
Jeremy Harris [Mon, 22 Jun 2015 09:32:01 +0000 (10:32 +0100)]
Before importing a certificate, free any previous one.  Bug 1648
Second try

9 years agoExtract NS/SOA in dns_extract_auth_name() more precisly.
Heiko Schlittermann (HS12) [Sun, 21 Jun 2015 15:06:37 +0000 (17:06 +0200)]
Extract NS/SOA in dns_extract_auth_name() more precisly.

9 years agoFix and extend the checks in dns_is_secure()
Heiko Schlittermann (HS12) [Sun, 21 Jun 2015 15:03:50 +0000 (17:03 +0200)]
Fix and extend the checks in dns_is_secure()

9 years agoChange note
Jeremy Harris [Sun, 21 Jun 2015 18:07:47 +0000 (19:07 +0100)]
Change note

9 years agoBefore importing a certificate, free any previous one. Bug 1648
Jeremy Harris [Sun, 21 Jun 2015 17:17:09 +0000 (18:17 +0100)]
Before importing a certificate, free any previous one.  Bug 1648

Because the SSL libraries do not use Exim's heap management
this was a memory-leak in "exim -bp".

9 years agoDocs: add warning on list-sep in headerss_remove
Jeremy Harris [Sun, 21 Jun 2015 13:26:16 +0000 (14:26 +0100)]
Docs: add warning on list-sep in headerss_remove

9 years agoDocs typo exim-4_86_RC3
Jeremy Harris [Sat, 20 Jun 2015 16:46:42 +0000 (17:46 +0100)]
Docs typo

9 years agoFix build script. Bug 1646
Gedalya [Sat, 20 Jun 2015 13:33:14 +0000 (14:33 +0100)]
Fix build script.  Bug 1646

9 years agoAdd docs and massage coding standards for dns_trust_aa
Jeremy Harris [Sat, 20 Jun 2015 14:20:54 +0000 (15:20 +0100)]
Add docs and massage coding standards for dns_trust_aa

9 years agoAdd dns_trust_aa
Heiko Schlittermann (HS12) [Fri, 19 Jun 2015 22:45:00 +0000 (00:45 +0200)]
Add dns_trust_aa

This new global option allows to trust the AA bit for
specific domains the same way we'd trust the AD bit.

9 years agoDocs: clarify notes on .ifdef Bug 1155
Jeremy Harris [Tue, 16 Jun 2015 18:56:28 +0000 (19:56 +0100)]
Docs: clarify notes on .ifdef   Bug 1155

9 years agoDocs: clarify notes on Events
Jeremy Harris [Mon, 15 Jun 2015 16:43:43 +0000 (17:43 +0100)]
Docs: clarify notes on Events

9 years agoDSN: fix null deref when bounce is due to conn-timeout. Bug 1630
Wolfgang Breyha [Mon, 15 Jun 2015 13:52:36 +0000 (14:52 +0100)]
DSN: fix null deref when bounce is due to conn-timeout.  Bug 1630

9 years agoClarify that preceding 10ca4f was provided by Wolfgang Breyha
Wolfgang Breyha [Mon, 15 Jun 2015 14:43:43 +0000 (15:43 +0100)]
Clarify that preceding 10ca4f was provided by Wolfgang Breyha

Massaged by JH

9 years agoAdd tls_eccurve main config option. Bug 1397
Jeremy Harris [Tue, 26 May 2015 15:36:08 +0000 (16:36 +0100)]
Add tls_eccurve  main config option.  Bug 1397

Patch from Suse, massaged by JH

9 years agominor tidying
Jeremy Harris [Fri, 12 Jun 2015 16:19:09 +0000 (17:19 +0100)]
minor tidying

9 years agoDoc fix: server_secret expansions should fail exim-4_86_RC2
Phil Pennock [Sat, 13 Jun 2015 01:07:05 +0000 (01:07 +0000)]
Doc fix: server_secret expansions should fail

The `cyrusless_sasl` authenticator example failed to explicitly fail if
no result was found from the lookup.  Using `server_secret`, we should
_always_ fail instead of expanding to an empty string.

Doc-fix only.

9 years agoTestsuite: additional EC encryptions seen
Jeremy Harris [Wed, 10 Jun 2015 20:33:06 +0000 (21:33 +0100)]
Testsuite: additional EC encryptions seen

9 years agoTestsuite: Increase test delays and retry rule times
Jeremy Harris [Wed, 10 Jun 2015 19:37:33 +0000 (20:37 +0100)]
Testsuite: Increase test delays and retry rule times
to allow slow hosts more reliable testing

9 years agoTestsuite: less agressive PID-hiding
Jeremy Harris [Tue, 9 Jun 2015 22:00:39 +0000 (23:00 +0100)]
Testsuite: less agressive PID-hiding

9 years agoTestsuite: quietening
Jeremy Harris [Tue, 9 Jun 2015 21:08:49 +0000 (22:08 +0100)]
Testsuite: quietening

9 years agoRevert "Show the DNSSEC status (ad=) always in -bt/-bv output"
Heiko Schlittermann (HS12) [Tue, 9 Jun 2015 20:14:26 +0000 (22:14 +0200)]
Revert "Show the DNSSEC status (ad=) always in -bt/-bv output"

This reverts commit e7a1b6ff65f1bebbc290f2a4fd7554fde00ae2f6.
It's not production grade, since the wording (ad vs. trusted)
is not final yet.

9 years agoTestsuite: avoid IPv6 to avoid "no route to host" log lines
Jeremy Harris [Tue, 9 Jun 2015 15:46:12 +0000 (16:46 +0100)]
Testsuite: avoid IPv6 to avoid "no route to host" log lines

9 years agoTighter guard for POLLRDHUP
Jeremy Harris [Tue, 9 Jun 2015 12:02:18 +0000 (13:02 +0100)]
Tighter guard for POLLRDHUP

9 years agoTruncate delay when peer closes connection. Bug 348
Jeremy Harris [Mon, 8 Jun 2015 20:48:50 +0000 (21:48 +0100)]
Truncate delay when peer closes connection.  Bug 348

This is now possible on Linux, at least.

9 years agoTestsuite: avoid IPv6 interfaces to avoid extra debug stderr lines
Jeremy Harris [Sun, 7 Jun 2015 21:07:24 +0000 (22:07 +0100)]
Testsuite: avoid IPv6 interfaces to avoid extra debug stderr lines

9 years agoContent scan: Use ETIMEDOUT not ETIME, as having better portability. Bug 1640
Andreas Metzler [Sun, 7 Jun 2015 14:16:35 +0000 (15:16 +0100)]
Content scan: Use ETIMEDOUT not ETIME, as having better portability.  Bug 1640

9 years agoPRDR: enable server-side in the default config
Jeremy Harris [Sat, 6 Jun 2015 20:59:05 +0000 (21:59 +0100)]
PRDR: enable server-side in the default config

9 years agoLogging: add log_selector items in the default config. Bug 1333
Jeremy Harris [Sat, 6 Jun 2015 20:43:29 +0000 (21:43 +0100)]
Logging: add log_selector items in the default config.  Bug 1333

9 years agoDoc: Add DKIM info in main sections. Bug 1607
Jeremy Harris [Sat, 6 Jun 2015 19:53:21 +0000 (20:53 +0100)]
Doc: Add DKIM info in main sections.  Bug 1607

9 years agoDSN: fix null deref when bounce is due to conn-timeout. Bug 1630
Wolfgang Breyha [Sat, 6 Jun 2015 19:07:04 +0000 (20:07 +0100)]
DSN: fix null deref when bounce is due to conn-timeout.  Bug 1630

9 years agoSpamd: add missing initialiser. Rspamd mode was incorrectly sometimes seen.
Jeremy Harris [Sat, 6 Jun 2015 18:35:16 +0000 (19:35 +0100)]
Spamd: add missing initialiser.  Rspamd mode was incorrectly sometimes seen.

Reported-by: Andreas Metzler
9 years agoGuard routing against a null-deref. Bug 1639
Jeremy Harris [Fri, 5 Jun 2015 14:30:33 +0000 (15:30 +0100)]
Guard routing against a null-deref.  Bug 1639

9 years agorelease tooling: unbreak website build when not verbose
Phil Pennock [Fri, 5 Jun 2015 04:44:20 +0000 (00:44 -0400)]
release tooling: unbreak website build when not verbose

9 years agorelease tooling: let make cmd be overriden exim-4_86_RC1
Phil Pennock [Fri, 5 Jun 2015 03:31:50 +0000 (23:31 -0400)]
release tooling: let make cmd be overriden

Also let tar flag actually take an argument

9 years agoCopyright year updates (things touched in 2015)
Phil Pennock [Fri, 5 Jun 2015 02:43:13 +0000 (22:43 -0400)]
Copyright year updates (things touched in 2015)

Update current year in docs and banner copyright in src/src/globals.c

Rest of changes from:

    vi $(git whatchanged --since=2015-01-01 | grep '^:100' | sed -n 's/^[^M]*M//p' | sort -u | fgrep -v test/)

Note that there are a lot of changes made because of const propagation;
I opted to include the copyright year updates in that, but we could be
doing a better job with who gets the copyright credit for these changes.

Changes visible with:

    git diff $(git rev-list -n1 --before="2015-01-01" master)

9 years agoTLS authenticator
Jeremy Harris [Thu, 4 Jun 2015 19:28:25 +0000 (20:28 +0100)]
TLS authenticator

9 years agorefactor build script
Jeremy Harris [Sun, 31 May 2015 22:04:01 +0000 (23:04 +0100)]
refactor build script