Git Product home page Git Product logo

haraka-config's Introduction

Haraka - a Node.js Mail Server

Tests Coverage Status

Haraka is a highly scalable node.js email server with a modular plugin architecture. Haraka can serve thousands of concurrent connections and deliver thousands of messages per second. Haraka and plugins are written in asynchronous JS and are very fast.

Haraka has very good spam protection (see plugins) and works well as a filtering MTA. It also works well as a MSA running on port 587 with auth and dkim_sign plugins enabled.

Haraka makes no attempt to be a mail store (like Exchange or Postfix/Exim/Qmail), a LDA, nor an IMAP server (like Dovecot or Courier). Haraka is typically used with such systems.

Haraka has a scalable outbound mail delivery engine built in. Mail marked as relaying (such as via an auth plugin) is automatically queued for outbound delivery.

Getting Help

Screencast

Getting started with Haraka

Why Use Haraka?

Haraka's plugin architecture provides an easily extensible MTA that complements traditional MTAs that excel at managing mail stores but do not have sufficient filtering.

The plugin system makes it easy to code new features. A typical example is providing qmail-like extended addresses to an Exchange system, whereby you could receive mail as [email protected], and yet still have it correctly routed to [email protected]. This is a few lines of code in Haraka.

Plugins are provided for running mail through SpamAssassin, validating HELO names, checking DNS Blocklists, and many others.

Installing Haraka

Haraka requires node.js to run. Install Haraka with npm:

# If the second command gives "nobody" errors, uncomment & run the next command
# npm -g config set user root
npm install -g Haraka

After installation, use the haraka binary to set up the service.

Running Haraka

First, create the service:

haraka -i /path/to/haraka_test

That creates the directory haraka_test with config and plugin directories within. It also sets the host name used by Haraka to the output of hostname.

If hostname is not correct, edit config/host_list. For example, to receive mail addressed to [email protected], add domain.com to the config/host_list file.

Finally, start Haraka using root permissions:

haraka -c /path/to/haraka_test

And it will run.

Configure Haraka

To choose which plugins run, edit config/plugins. Plugins control the overall behaviour of Haraka. By default, only messages to domains listed in config/host_list will be accepted and then delivered via the smtp-forward plugin. Configure the destination in config/smtp_forward.ini.

Read the Fine Manual

haraka -h plugins/$name

The docs detail how each plugin is configured. After editing config/plugins, restart Haraka and enjoy!

Running from git

If you are unable to use npm to install Haraka, you can run from git by following these steps:

First clone the repository:

$ git clone https://github.com/haraka/Haraka.git
$ cd Haraka

Install Haraka's node.js dependencies locally:

$ npm install

Edit config/plugins and config/smtp.ini to specify the plugins and config you want.

Finally run Haraka:

$ node haraka.js

License and Author

Haraka is MIT licensed - see the LICENSE file for details.

Haraka is a project started by Matt Sergeant, a 10 year veteran of the email and anti-spam world. Previous projects have been the project leader for SpamAssassin and a hacker on Qpsmtpd.

haraka-config's People

Contributors

baudehlo avatar greenkeeper[bot] avatar louis-lau avatar msimerson avatar oreoluwa avatar pssgcsim avatar wesitos avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

haraka-config's Issues

An in-range update of eslint-plugin-haraka is breaking the build ๐Ÿšจ

The devDependency eslint-plugin-haraka was updated from 1.0.9 to 1.0.10.

๐Ÿšจ View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

eslint-plugin-haraka is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • โœ… continuous-integration/appveyor/branch: AppVeyor build succeeded (Details).
  • โŒ continuous-integration/travis-ci/push: The Travis CI build failed (Details).

FAQ and help

There is a collection of frequently asked questions. If those donโ€™t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot ๐ŸŒด

config: modernize & standardize

  • populate [files] in package.json. Delete .npmignore.
  • automated code linting. #3308
    • dep: eslint-plugin-haraka -> @haraka/eslint-config
    • update 'lint' script in package.json
    • verify 'lint' CI test config
  • lint: remove duplicate / stale rules from .eslintrc
  • automated code formatting (see also #3308)
  • automated CI testing.
    • mostly done, verify that local copy of ci.yml is up-to-date.
  • CONTRIBUTORS: see 3309
  • consistent naming of "special" files like CHANGELOG.md.
  • CHANGELOG: verify links at bottom (due to inconsistent tag naming)
    • latest .release does this, fixes most, and warns of errors it can't fix
  • verify GitHub repo About link points to npm package
  • convert test suites to mocha "style"
    • works great today and with node --test in v18+

An in-range update of eslint is breaking the build ๐Ÿšจ

The devDependency eslint was updated from 6.7.0 to 6.7.1.

๐Ÿšจ View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

eslint is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • โŒ ci-test-win (windows-latest, 12.x): There are 1 failures, 0 warnings, and 0 notices.
  • โœ… ci-test (ubuntu-latest, 12.x): null
  • โœ… lint (12.x): null
  • โœ… ci-test (ubuntu-latest, 10.x): null
  • โŒ ci-test-win (windows-latest, 10.x): There are 1 failures, 0 warnings, and 0 notices.
  • โœ… ci-test (ubuntu-latest, 8.x): null
  • โŒ ci-test-win (windows-latest, 8.x): There are 1 failures, 0 warnings, and 0 notices.

Release Notes for v6.7.1
  • dd1e9f4 Fix: revert changes to key-spacing due to regression (#12598) (Kai Cataldo)
  • c644b54 Docs: Update README team and sponsors (ESLint Jenkins)
Commits

The new version differs by 4 commits.

  • af95154 6.7.1
  • 9361824 Build: changelog update for 6.7.1
  • dd1e9f4 Fix: revert changes to key-spacing due to regression (#12598)
  • c644b54 Docs: Update README team and sponsors

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those donโ€™t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot ๐ŸŒด

default booleans in default config

When there's a default config residing in Haraka dir and you're working on Haraka/plugins/xx.js , it won't consider the boolean that's been specified in that default config. Instead, it will take whatever "default" has been specified via this.config.get's booleans option. Works fine with user config residing in config dir.

echo 'bleh = false' > Haraka/config/xx.ini
// xx.js:
const cfg = this.config.get('xx.ini', { booleans: [ '+main.bleh' ] })
assert(cfg.main.bleh == false)

An in-range update of eslint is breaking the build ๐Ÿšจ

The devDependency eslint was updated from 6.5.1 to 6.6.0.

๐Ÿšจ View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

eslint is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • โœ… ci-test (ubuntu-latest, 12.x): null
  • โŒ ci-test-win (windows-latest, 12.x): There are 1 failures, 0 warnings, and 0 notices.
  • โœ… ci-test (ubuntu-latest, 10.x): null
  • โŒ ci-test-win (windows-latest, 10.x): There are 1 failures, 0 warnings, and 0 notices.
  • โŒ ci-test-win (windows-latest, 8.x): There are 1 failures, 0 warnings, and 0 notices.
  • โœ… lint (12.x): null
  • โœ… ci-test (ubuntu-latest, 8.x): null

Release Notes for v6.6.0
  • 39dfe08 Update: false positives in function-call-argument-newline (fixes #12123) (#12280) (Scott O'Hara)
  • 4d84210 Update: improve report location for no-trailing-spaces (fixes #12315) (#12477) (Milos Djermanovic)
  • c6a7745 Update: no-trailing-spaces false negatives after comments (fixes #12479) (#12480) (Milos Djermanovic)
  • 0bffe95 Fix: no-misleading-character-class crash on invalid regex (fixes #12169) (#12347) (Milos Djermanovic)
  • c6a9a3b Update: Add enforceForIndexOf option to use-isnan (fixes #12207) (#12379) (Milos Djermanovic)
  • 364877b Update: measure plugin loading time and output in debug message (#12395) (Victor Homyakov)
  • 1744fab Fix: operator-assignment removes and duplicates comments (#12485) (Milos Djermanovic)
  • 52ca11a Fix: operator-assignment invalid autofix with adjacent tokens (#12483) (Milos Djermanovic)
  • 0f6d0dc Fix: CLIEngine#addPlugin reset lastConfigArrays (fixes #12425) (#12468) (Toru Nagashima)
  • 923a8cb Chore: Fix lint failure in JSDoc comment (#12489) (Brandon Mills)
  • aac3be4 Update: Add ignored prop regex no-param-reassign (#11275) (Luke Bennett)
  • e5382d6 Chore: Remove unused parameter in dot-location (#12464) (Milos Djermanovic)
  • 49faefb Fix: no-obj-calls false positive (fixes #12437) (#12467) (Toru Nagashima)
  • b3dbd96 Fix: problematic installation issue (fixes #11018) (#12309) (Toru Nagashima)
  • cd7c29b Sponsors: Sync README with website (ESLint Jenkins)
  • 8233873 Docs: Add note about Node.js requiring SSL support (fixes #11413) (#12475) (Nicholas C. Zakas)
  • 89e8aaf Fix: improve report location for no-tabs (#12471) (Milos Djermanovic)
  • 7dffe48 Update: Enable function string option in comma-dangle (fixes #12058) (#12462) (YeonJuan)
  • e15e1f9 Docs: fix doc for no-unneeded-ternary rule (fixes #12098) (#12410) (Sam Rae)
  • b1dc58f Sponsors: Sync README with website (ESLint Jenkins)
  • 61749c9 Chore: Provide debug log for parser errors (#12474) (Brad Zacher)
  • 7c8bbe0 Update: enforceForOrderingRelations no-unsafe-negation (fixes #12163) (#12414) (Sam Rae)
  • 349ed67 Update: improve report location for no-mixed-operators (#12328) (Chiawen Chen)
  • a102eaa Fix: prefer-numeric-literals invalid autofix with adjacent tokens (#12387) (Milos Djermanovic)
  • 6e7c18d Update: enforceForNewInMemberExpressions no-extra-parens (fixes #12428) (#12436) (Milos Djermanovic)
  • 51fbbd7 Fix: array-bracket-newline consistent error with comments (fixes #12416) (#12441) (Milos Djermanovic)
  • e657d4c Fix: report full dot location in dot-location (#12452) (Milos Djermanovic)
  • 2d6e345 Update: make isSpaceBetweenTokens() ignore newline in comments (#12407) (YeonJuan)
  • 84f71de Update: remove default overrides in keyword-spacing (fixes #12369) (#12411) (YeonJuan)
  • 18a0b0e Update: improve report location for no-space-in-parens (#12364) (Chiawen Chen)
  • d61c8a5 Update: improve report location for no-multi-spaces (#12329) (Chiawen Chen)
  • 561093f Upgrade: bump inquirer to ^7.0.0 (#12440) (Joe Graham)
  • fb633b2 Chore: Add a script for testing with more control (#12444) (Eric Wang)
  • 012ec51 Sponsors: Sync README with website (ESLint Jenkins)
  • 874fe16 New: pass cwd from cli engine (#12389) (Eric Wang)
  • b962775 Update: no-self-assign should detect member expression with this (#12279) (Tibor Blenessy)
  • 02977f2 Docs: Clarify eslint:recommended semver policy (#12429) (Kevin Partington)
  • 97045ae Docs: Fixes object type for rules in "Use a Plugin" (#12409) (Daisy Develops)
  • 24ca088 Docs: Fix typo in v6 migration guide (#12412) (Benjamim Sonntag)
  • b094008 Chore: update version parameter name (#12402) (Toru Nagashima)
  • e5637ba Chore: enable jsdoc/require-description (#12365) (Kai Cataldo)
  • d31f337 Sponsors: Sync README with website (ESLint Jenkins)
  • 7ffb22f Chore: Clean up inline directive parsing (#12375) (Jordan Eldredge)
  • 84467c0 Docs: fix wrong max-depth example (fixes #11991) (#12358) (Gabriel R Sezefredo)
  • 3642342 Docs: Fix minor formatting/grammar errors (#12371) (cherryblossom000)
  • c47fa0d Docs: Fix missing word in sentence (#12361) (Dan Boulet)
  • 8108f49 Chore: enable additional eslint-plugin-jsdoc rules (#12336) (Kai Cataldo)
  • b718d2e Chore: update issue template with --eslint-fix flag (#12352) (James George)
  • 20ba14d Sponsors: Sync README with website (ESLint Jenkins)
  • 566a947 Sponsors: Sync README with website (ESLint Jenkins)
  • 070cbd0 Sponsors: Sync README with website (ESLint Jenkins)
Commits

The new version differs by 53 commits.

  • 879c373 6.6.0
  • c8ba30a Build: changelog update for 6.6.0
  • 39dfe08 Update: false positives in function-call-argument-newline (fixes #12123) (#12280)
  • 4d84210 Update: improve report location for no-trailing-spaces (fixes #12315) (#12477)
  • c6a7745 Update: no-trailing-spaces false negatives after comments (fixes #12479) (#12480)
  • 0bffe95 Fix: no-misleading-character-class crash on invalid regex (fixes #12169) (#12347)
  • c6a9a3b Update: Add enforceForIndexOf option to use-isnan (fixes #12207) (#12379)
  • 364877b Update: measure plugin loading time and output in debug message (#12395)
  • 1744fab Fix: operator-assignment removes and duplicates comments (#12485)
  • 52ca11a Fix: operator-assignment invalid autofix with adjacent tokens (#12483)
  • 0f6d0dc Fix: CLIEngine#addPlugin reset lastConfigArrays (fixes #12425) (#12468)
  • 923a8cb Chore: Fix lint failure in JSDoc comment (#12489)
  • aac3be4 Update: Add ignored prop regex no-param-reassign (#11275)
  • e5382d6 Chore: Remove unused parameter in dot-location (#12464)
  • 49faefb Fix: no-obj-calls false positive (fixes #12437) (#12467)

There are 53 commits in total.

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those donโ€™t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot ๐ŸŒด

An in-range update of eslint-plugin-haraka is breaking the build ๐Ÿšจ

Version 1.0.9 of eslint-plugin-haraka just got published.

Branch Build failing ๐Ÿšจ
Dependency eslint-plugin-haraka
Current Version 1.0.8
Type devDependency

This version is covered by your current version range and after updating it in your project the build failed.

As eslint-plugin-haraka is โ€œonlyโ€ a devDependency of this project it might not break production or downstream projects, but โ€œonlyโ€ your build or test tools โ€“ preventing new deploys or publishes.

I recommend you give this issue a high priority. Iโ€™m sure you can resolve this ๐Ÿ’ช

Status Details
  • โŒ continuous-integration/appveyor/branch Waiting for AppVeyor build to complete Details
  • โŒ continuous-integration/travis-ci/push The Travis CI build failed Details

Commits

The new version differs by 1 commits.

  • 87ab6c2 remove no-useless-escape rule (inherited from recommended)

See the full diff

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot ๐ŸŒด

An in-range update of eslint-plugin-haraka is breaking the build ๐Ÿšจ

The devDependency eslint-plugin-haraka was updated from 1.0.11 to 1.0.12.

๐Ÿšจ View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

eslint-plugin-haraka is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • โœ… ci-test (ubuntu-latest, 12.x): null
  • โŒ ci-test-win (windows-latest, 12.x): There are 1 failures, 0 warnings, and 0 notices.
  • โœ… ci-test (ubuntu-latest, 10.x): null
  • โŒ lint (12.x): There are 1 failures, 0 warnings, and 0 notices.
  • โŒ ci-test-win (windows-latest, 10.x): There are 1 failures, 0 warnings, and 0 notices.
  • โœ… ci-test (ubuntu-latest, 8.x): null
  • โŒ ci-test-win (windows-latest, 8.x): There are 1 failures, 0 warnings, and 0 notices.

Commits

The new version differs by 1 commits.

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those donโ€™t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot ๐ŸŒด

An in-range update of eslint is breaking the build ๐Ÿšจ

The devDependency eslint was updated from 6.6.0 to 6.7.0.

๐Ÿšจ View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

eslint is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • โŒ ci-test-win (windows-latest, 12.x): There are 1 failures, 0 warnings, and 0 notices.
  • โŒ ci-test-win (windows-latest, 10.x): There are 1 failures, 0 warnings, and 0 notices.
  • โŒ ci-test-win (windows-latest, 8.x): There are 1 failures, 0 warnings, and 0 notices.
  • โœ… ci-test (ubuntu-latest, 12.x): null
  • โœ… ci-test (ubuntu-latest, 10.x): null
  • โœ… lint (12.x): null
  • โœ… ci-test (ubuntu-latest, 8.x): null

Release Notes for v6.7.0
  • 312a88f New: Add grouped-accessor-pairs rule (fixes #12277) (#12331) (Milos Djermanovic)
  • 5c68f5f Update: Add 'lexicalBindings' to no-implicit-globals and change messages (#11996) (Milos Djermanovic)
  • 6eaad96 New: Add suggestions API (#12384) (Will Douglas)
  • b336fbe Fix: indent rule with JSX spread props (#12581) (Nathan Woltman)
  • 97c745d Update: Report assignment expression location in no-cond-assign (#12465) (Milos Djermanovic)
  • 0f01f3d Update: Check member expressions with this in operator-assignment (#12495) (Milos Djermanovic)
  • 62c7038 Fix: invalid token checking in computed-property-spacing (fixes #12198) (#12533) (YeonJuan)
  • 4f8a1ee Update: Add enforceForClassMembers option to no-useless-computed-key (#12110) (ark120202)
  • 1a2eb99 New: new rule no-constructor-return (fixes #12481) (#12529) (Pig Fang)
  • ca3b2a6 New: ignorePatterns in config files (refs eslint/rfcs#22) (#12274) (Toru Nagashima)
  • 60204a3 Docs: Added another Textmate 2 bundle. (#12580) (Ryan Fitzer)
  • 62623f9 Fix: preserve whitespace in multiline-comment-style (fixes #12312) (#12316) (Kai Cataldo)
  • 17a8849 New: Add no-dupe-else-if rule (fixes #12469) (#12504) (Milos Djermanovic)
  • 41a78fd Update: improve location for semi and comma-dangle (#12380) (Chiawen Chen)
  • 0a480f8 Docs: Change "Code Conventions" link in pull-requests.md (#12401) (Denis Sikuler)
  • fed20bb Fix: require-await crash on global await (#12571) (Brad Zacher)
  • b8030fc Update: deprecate personal config (fixes #11914, refs eslint/rfcs#32) (#12426) (Toru Nagashima)
  • 40c8c32 Fix: improve report location for object-curly-spacing (#12563) (Milos Djermanovic)
  • 1110045 Fix: ignore marker-only comments in spaced-comment (fixes #12036) (#12558) (Milos Djermanovic)
  • 6503cb8 Update: Fix uglified object align in key-spacing (fixes #11414) (#12472) (YeonJuan)
  • 40791af Docs: clarify ignoreDestructuring option in the camelcase rule (#12553) (Milos Djermanovic)
  • 07d398d Chore: Add GitHub organization to Sponsor button (#12562) (Brandon Mills)
  • a477707 Chore: Format style guide links so they can be clicked (#12189) (Ivan V)
  • 0f7edef Update: add react plugin config for eslint init (#12446) (Ibrahim Rouis)
  • 448ff1e Update: Report '\08' and '\09' in no-octal-escape (fixes #12080) (#12526) (Milos Djermanovic)
  • 45aa6a3 New: Add no-setter-return rule (fixes #12285) (#12346) (Milos Djermanovic)
  • 0afb518 Fix: invalid autofix in function-call-argument-newline (fixes #12454) (#12539) (YeonJuan)
  • 90305e0 Update: Depcrecate isSpaceBetweenTokens() (#12519) (Kai Cataldo)
  • 41b1e43 New: add option for camelcase (fixes #12527) (#12528) (Pig Fang)
  • f49f1e0 Upgrade: upgrade optionator to avoid license issue (fixes #11536) (#12537) (Pig Fang)
  • 0286b57 Docs: Clean up Getting Started Guide (#12544) (Nicholas C. Zakas)
  • 575a98d Chore: Add funding field to package.json (#12543) (Nicholas C. Zakas)
  • 9e29e18 Fix: sourceCode#isSpaceBetweenTokens() checks non-adjacent tokens (#12491) (Kai Cataldo)
  • 5868550 Docs: add notice about function keyword in keyword-spacing (#12524) (Pig Fang)
  • bb556d5 Fix: curly multi reports single lexical declarations (fixes #11908) (#12513) (Milos Djermanovic)
  • ac60621 Fix: unexpected autofix in prefer-const (fixes #12514) (#12521) (YeonJuan)
  • 990065e Update: curly multi-or-nest flagging semis on next line (fixes #12370) (#12378) (cherryblossom000)
  • 084a8a6 Fix: no-cond-assign with always option reports switch case clauses (#12470) (Milos Djermanovic)
  • 7e41355 Update: improve report location for space-infix-ops (#12324) (Chiawen Chen)
  • 94ff921 Update: Add capIsConstructor option to no-invalid-this (fixes #12271) (#12308) (Milos Djermanovic)
  • de65de6 New: Add prefer-exponentiation-operator rule (fixes #10482) (#12360) (Milos Djermanovic)
  • c78f4a7 Update: Allow JSX exception in no-inline-comments (fixes #11270) (#12388) (Milos Djermanovic)
  • e17fb90 New: allowAfterThisConstructor for no-underscore-dangle (fixes #11488) (#11489) (sripberger)
  • 287ca56 Build: update CI for Node.js 13 (#12496) (Toru Nagashima)
  • 98e1d50 Upgrade: globals to v12.1.0 (#12296) (Tony Brix)
  • 8ac71a3 Sponsors: Sync README with website (ESLint Jenkins)
  • 4e142ea Docs: Update README team and sponsors (ESLint Jenkins)
Commits

The new version differs by 49 commits.

  • 61848b4 6.7.0
  • 9162db9 Build: changelog update for 6.7.0
  • 312a88f New: Add grouped-accessor-pairs rule (fixes #12277) (#12331)
  • 5c68f5f Update: Add 'lexicalBindings' to no-implicit-globals and change messages (#11996)
  • 6eaad96 New: Add suggestions API (#12384)
  • b336fbe Fix: indent rule with JSX spread props (#12581)
  • 97c745d Update: Report assignment expression location in no-cond-assign (#12465)
  • 0f01f3d Update: Check member expressions with this in operator-assignment (#12495)
  • 62c7038 Fix: invalid token checking in computed-property-spacing (fixes #12198) (#12533)
  • 4f8a1ee Update: Add enforceForClassMembers option to no-useless-computed-key (#12110)
  • 1a2eb99 New: new rule no-constructor-return (fixes #12481) (#12529)
  • ca3b2a6 New: ignorePatterns in config files (refs eslint/rfcs#22) (#12274)
  • 60204a3 Docs: Added another Textmate 2 bundle. (#12580)
  • 62623f9 Fix: preserve whitespace in multiline-comment-style (fixes #12312) (#12316)
  • 17a8849 New: Add no-dupe-else-if rule (fixes #12469) (#12504)

There are 49 commits in total.

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those donโ€™t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot ๐ŸŒด

Add support for environment variables

As best practices today is to use environment variables as config parameters, it would make sense to use it for environment based variables.
For example in my use case, I want to have rcpt_to.in_host_list plugin to check for environment variable to be set if there is no file. So kind of a fall back method.

An in-range update of eslint-plugin-haraka is breaking the build ๐Ÿšจ

Version 1.0.8 of eslint-plugin-haraka just got published.

Branch Build failing ๐Ÿšจ
Dependency eslint-plugin-haraka
Current Version 1.0.7
Type devDependency

This version is covered by your current version range and after updating it in your project the build failed.

As eslint-plugin-haraka is โ€œonlyโ€ a devDependency of this project it might not break production or downstream projects, but โ€œonlyโ€ your build or test tools โ€“ preventing new deploys or publishes.

I recommend you give this issue a high priority. Iโ€™m sure you can resolve this ๐Ÿ’ช

Status Details
  • โœ… continuous-integration/appveyor/branch AppVeyor build succeeded Details
  • โŒ continuous-integration/travis-ci/push The Travis CI build failed Details

Commits

The new version differs by 4 commits.

  • a5b007d import lint updates from haraka/.eslintrc (#13)
  • 1d563c2 Repo badges (#11)
  • e1d8fe0 docs(readme): add Greenkeeper badge (#10)
  • a4947f1 add appveyor.yml (#9)

See the full diff

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot ๐ŸŒด

smtp.json / smtp.yaml are not loaded properly

Describe the bug

Haraka does not load smtp.yaml or smtp.json if smtp.ini does not exist.

Expected behavior

Haraka should either crash although smtp.json or smtp.yaml is present or it should load one of them.

Observed behavior

The existence of smtp.json or smtp.yaml prevents Haraka from crashing. See this check.

Steps To Reproduce

  • haraka --install "${HARAKA_HOME}"
  • first case: rm "${HARAKA_HOME}/config/smtp.ini"
    • Haraka does crash when started.
  • second case: mv "${HARAKA_HOME}/config/smtp.ini" "${HARAKA_HOME}/config/smtp.yaml"
    • Haraka does not crash when started.
    • When putting log statements in the config loader, one can observe that only smtp.ini is requested. smtp.yaml or smtp.json are never requested.
    • If a JSON / HJSON file is not found, the loader checks whether the same file with .yaml exists (see here). This is not done for INI files.

System Info:

Haraka Haraka.js โ€” Version: 3.0.1
Node v19.7.0
OS Linux 060427c22453 6.2.8-arch1-1 haraka/Haraka#1 SMP PREEMPT_DYNAMIC Wed, 22 Mar 2023 22:52:35 +0000 x86_64 Linux
openssl OpenSSL 3.0.8 7 Feb 2023 (Library: OpenSSL 3.0.8 7 Feb 2023)

Additional context

Haraka runs inside an Alpine Docker container with Alpine version 3.17.2.

An in-range update of eslint is breaking the build ๐Ÿšจ

The devDependency eslint was updated from 5.16.0 to 6.0.0.

๐Ÿšจ View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

eslint is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • โœ… continuous-integration/appveyor/branch: AppVeyor build succeeded (Details).
  • โŒ continuous-integration/travis-ci/push: The Travis CI build failed (Details).

Release Notes for v6.0.0
  • 81aa06b Upgrade: [email protected] (#11869) (Teddy Katz)
  • 5f022bc Fix: no-else-return autofix produces name collisions (fixes #11069) (#11867) (Milos Djermanovic)
  • ded9548 Fix: multiline-comment-style incorrect message (#11864) (golopot)
  • cad074d Docs: Add JSHint W047 compat to no-floating-decimal (#11861) (Timo Tijhof)
  • 41f6304 Upgrade: sinon (#11855) (Toru Nagashima)
  • 167ce87 Chore: remove unuseable profile command (#11854) (Toru Nagashima)
  • c844c6f Fix: max-len properly ignore trailing comments (fixes #11838) (#11841) (ZYSzys)
  • 1b5661a Fix: no-var should not fix variables named 'let' (fixes #11830) (#11832) (Milos Djermanovic)
  • 4d75956 Build: CI with Azure Pipelines (#11845) (Toru Nagashima)
  • 1db3462 Chore: rm superfluous argument & fix perf-multifiles-targets (#11834) (่–›ๅฎš่ฐ”็š„็Œซ)
  • c57a4a4 Upgrade: @babel/polyfill => core-js v3 (#11833) (่–›ๅฎš่ฐ”็š„็Œซ)
  • 65faa04 Docs: Clarify prefer-destructuring array/object difference (fixes #9970) (#11851) (Oliver Sieweke)
  • 81c3823 Fix: require-atomic-updates reports parameters (fixes #11723) (#11774) (Toru Nagashima)
  • aef8ea1 Sponsors: Sync README with website (ESLint Jenkins)
Commits

The new version differs by 134 commits.

  • a7985a6 6.0.0
  • be74dd9 Build: changelog update for 6.0.0
  • 81aa06b Upgrade: [email protected] (#11869)
  • 5f022bc Fix: no-else-return autofix produces name collisions (fixes #11069) (#11867)
  • ded9548 Fix: multiline-comment-style incorrect message (#11864)
  • cad074d Docs: Add JSHint W047 compat to no-floating-decimal (#11861)
  • 41f6304 Upgrade: sinon (#11855)
  • 167ce87 Chore: remove unuseable profile command (#11854)
  • c844c6f Fix: max-len properly ignore trailing comments (fixes #11838) (#11841)
  • 1b5661a Fix: no-var should not fix variables named 'let' (fixes #11830) (#11832)
  • 4d75956 Build: CI with Azure Pipelines (#11845)
  • 1db3462 Chore: rm superfluous argument & fix perf-multifiles-targets (#11834)
  • c57a4a4 Upgrade: @babel/polyfill => core-js v3 (#11833)
  • 65faa04 Docs: Clarify prefer-destructuring array/object difference (fixes #9970) (#11851)
  • 81c3823 Fix: require-atomic-updates reports parameters (fixes #11723) (#11774)

There are 134 commits in total.

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those donโ€™t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot ๐ŸŒด

Add option to load main config in the beginning

The README mentions that it is possible to have one JSON / YAML file containing the configuration for different files. I really like that because Haraka uses many different configuration files.

However, I think (if I understood the code correctly) that the config loader can only use cached results from such a file if it has been loaded before. But I didn't find any option to load an additional config file on startup (of course it's possible via a plugin). So the only possibility of using the feature mentioned above I could find is to abuse a JSON / YAML config file that is loaded and include other configuration files in it (using the ! syntax). Additionally, I am not sure if there even are any JSON / YAML files that are loaded on startup by default and there always has to be a smtp.* (otherwise Haraka terminates), so that file can not be replaced easily

So it's really hacky to use the ! syntax to keep all configuration options in one main config file. Maybe a possible solution could be to load a main configuration file (e.g. main.json or main.yaml) on startup if present so all other configuration files can theoretically be defined there with the ! syntax if somebody prefers to do so.

An in-range update of eslint-plugin-haraka is breaking the build ๐Ÿšจ

Version 1.0.6 of eslint-plugin-haraka just got published.

Branch Build failing ๐Ÿšจ
Dependency eslint-plugin-haraka
Current Version 1.0.5
Type devDependency

This version is covered by your current version range and after updating it in your project the build failed.

As eslint-plugin-haraka is โ€œonlyโ€ a devDependency of this project it might not break production or downstream projects, but โ€œonlyโ€ your build or test tools โ€“ preventing new deploys or publishes.

I recommend you give this issue a high priority. Iโ€™m sure you can resolve this ๐Ÿ’ช

Status Details
  • โœ… continuous-integration/appveyor/branch AppVeyor build succeeded Details
  • โŒ continuous-integration/travis-ci/push The Travis CI build failed Details

Commits

The new version differs by 6 commits.

  • 99d1051 bump version
  • 0906a4a reduce no-useless-escape to warn only
  • 968b392 SublimeLint breaks if you don't use full path (#4)
  • d6ab389 add node env to .eslintrc
  • c04dd99 add .eslintrc.json
  • 508f6b7 version bump 1.0.5

See the full diff

Not sure how things should work exactly?

There is a collection of frequently asked questions and of course you may always ask my humans.


Your Greenkeeper Bot ๐ŸŒด

Problems with overriding via yaml?

I noticed that when adding a smtp.yaml to the config path, the values are not being loaded on startup.

Example: no smtp.ini present in config path and smtp.yaml has contents

"!smtp.ini":
  "main":
     "nodes": 0
"!smtpgreeting": [ "This is some custom greeting!"]

The logoutput on startup then includes:

Overriding file smtp.ini with config from /usr/local/haraka/config/smtp.yaml
Overriding file smtpgreeting with config from /usr/local/haraka/config/smtp.yaml
[WARN] [-] [core] smtp.ini.nodes unset, using 1, see https://github.com/haraka/Haraka/wiki/Performance-Tuning

which tells me, that my override was not applied.

Printing out the contents of Server.cfg at where this message is being printed yields:

{
  "main": {
     "daemonize":false,
     "strict_rfc1869":false,
     "smtputf8":true,
     "graceful_shutdown":false
  },
 "headers":{
     "add_received":true,
     "show_version":true,
     "clean_auth_results":true
 }
}

which apparently are the passed default booleans in the Server.config.get('smtp.ini'...... call in Server.load_smtp_ini.

Weirdly enough, the !smtpgreeting override works and is being loaded/used.

edit: this problem only applies to .ini file overrides

I also tried to comment out the default booleans in Server.load_smtp_ini and in this case the !smpt.ini override is being loaded correctly.

I suspect that there could be a problem in configfile.js, specifically in get_cache_key() regarding the way booleans are handled there since I noticed that they get appended to the name for some reason?

Maybe I also have a misconception about how this mechanism is supposed to work, especially regarding the booleans.
The documentation is a little bit sparse on this detail.

Any help or pointers would be welcome!

An in-range update of eslint is breaking the build ๐Ÿšจ

Version 5.0.0 of eslint was just published.

Branch Build failing ๐Ÿšจ
Dependency [eslint](https://github.com/eslint/eslint)
Current Version 4.19.1
Type devDependency

This version is covered by your current version range and after updating it in your project the build failed.

eslint is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • โœ… continuous-integration/appveyor/branch AppVeyor build succeeded Details
  • โŒ continuous-integration/travis-ci/push The Travis CI build could not complete due to an error Details

Release Notes v5.0.0

Release blogpost

Migration guide

  • 0feedfd New: Added max-lines-per-function rule (fixes #9842) (#10188) (peteward44)
  • daefbdb Upgrade: eslint-scope and espree to 4.0.0 (refs #10458) (#10500) (Brandon Mills)
  • 077358b Docs: no-process-exit: recommend process.exitCode (#10478) (Andres Kalle)
  • f93d6ff Fix: do not fail on unknown operators from custom parsers (fixes #10475) (#10476) (Rubรฉn Norte)
  • 05343fd Fix: add parens for yield statement (fixes #10432) (#10468) (Pig Fang)
  • d477c5e Fix: check destructuring for "no-shadow-restricted-names" (fixes #10467) (#10470) (Pig Fang)
  • 7a7580b Update: Add considerPropertyDescriptor option to func-name-matching (#9078) (Dieter Luypaert)
  • e0a0418 Fix: crash on optional catch binding (#10429) (Toru Nagashima)
  • de4dba9 Docs: styling team members (#10460) (่–›ๅฎš่ฐ”็š„็Œซ)
  • 5e453a3 Docs: display team members in tables. (#10433) (่–›ๅฎš่ฐ”็š„็Œซ)
  • b1895eb Docs: Restore intentional spelling mistake (#10459) (Wilfred Hughes)
Commits

The new version differs by 148 commits.

  • 36ced0a 5.0.0
  • 5fd5632 Build: changelog update for 5.0.0
  • 0feedfd New: Added max-lines-per-function rule (fixes #9842) (#10188)
  • daefbdb Upgrade: eslint-scope and espree to 4.0.0 (refs #10458) (#10500)
  • 077358b Docs: no-process-exit: recommend process.exitCode (#10478)
  • f93d6ff Fix: do not fail on unknown operators from custom parsers (fixes #10475) (#10476)
  • 05343fd Fix: add parens for yield statement (fixes #10432) (#10468)
  • d477c5e Fix: check destructuring for "no-shadow-restricted-names" (fixes #10467) (#10470)
  • 7a7580b Update: Add considerPropertyDescriptor option to func-name-matching (#9078)
  • e0a0418 Fix: crash on optional catch binding (#10429)
  • de4dba9 Docs: styling team members (#10460)
  • 5e453a3 Docs: display team members in tables. (#10433)
  • b1895eb Docs: Restore intentional spelling mistake (#10459)
  • a9da57d 5.0.0-rc.0
  • 3ac3df6 Build: changelog update for 5.0.0-rc.0

There are 148 commits in total.

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those donโ€™t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot ๐ŸŒด

Version 10 of node.js has been released

Version 10 of Node.js (code name Dubnium) has been released! ๐ŸŽŠ

To see what happens to your code in Node.js 10, Greenkeeper has created a branch with the following changes:

  • Added the new Node.js version to your .travis.yml
  • The new Node.js version is in-range for the engines in 1 of your package.json files, so that was left alone

If youโ€™re interested in upgrading this repo to Node.js 10, you can open a PR with these changes. Please note that this issue is just intended as a friendly reminder and the PR as a possible starting point for getting your code running on Node.js 10.

More information on this issue

Greenkeeper has checked the engines key in any package.json file, the .nvmrc file, and the .travis.yml file, if present.

  • engines was only updated if it defined a single version, not a range.
  • .nvmrc was updated to Node.js 10
  • .travis.yml was only changed if there was a root-level node_js that didnโ€™t already include Node.js 10, such as node or lts/*. In this case, the new version was appended to the list. We didnโ€™t touch job or matrix configurations because these tend to be quite specific and complex, and itโ€™s difficult to infer what the intentions were.

For many simpler .travis.yml configurations, this PR should suffice as-is, but depending on what youโ€™re doing it may require additional work or may not be applicable at all. Weโ€™re also aware that you may have good reasons to not update to Node.js 10, which is why this was sent as an issue and not a pull request. Feel free to delete it without comment, Iโ€™m a humble robot and wonโ€™t feel rejected ๐Ÿค–


FAQ and help

There is a collection of frequently asked questions. If those donโ€™t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot ๐ŸŒด

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.