Jonathon Reinhart
918df65a3a
Require that networks in allowed_nets are networks and not hosts
2021-03-13 20:40:25 -05:00
Jonathon Reinhart
0503c12ccd
Allow "allowed_nets" to be empty, meaning any network is allowed
2021-03-13 20:34:48 -05:00
Jonathon Reinhart
ef3f9c8ea0
Move parsing of "allowed_nets" out to ConfigLoad()
...
This has several benefits:
- Configuration errors are caught at startup rather than upon a connection
- connectionChecker() has less work to do for each connection
2021-03-13 20:34:48 -05:00
Jonathon Reinhart
4036213dd5
Simplify peerIP determination in connectionChecker()
...
peerIP = net.ParseIP(addr.IP.String())
can be simplified to just:
peerIP = addr.IP
but we can also skip the safe cast since we know the net.Addr will always
be net.TCPAddr because we only have TCP listeners.
2021-03-13 20:19:07 -05:00
Bernhard Fröhlich
2475cadbad
Merge pull request #16 from decke/discard
...
Discard mail if remote_host is not set
2021-03-13 19:06:08 +01:00
Jonathon Reinhart
20ca816160
Discard mail if remote_host is not set
...
This is useful for test environments.
2021-03-13 09:28:04 -05:00
Bernhard Fröhlich
d1933a2e35
Merge pull request #15 from decke/structured-logging
...
Add structured logging via logrus
2021-03-13 11:02:19 +01:00
Jonathon Reinhart
9921b38046
Explicitly configure default logfile for stderr
2021-03-13 03:25:57 -05:00
Jonathon Reinhart
095fba119a
Change default logfile to empty string (meaning stderr)
...
The causes logrus to write to stderr.
2021-03-13 03:25:57 -05:00
Jonathon Reinhart
34cb47c364
Implement structured logs using logrus
...
This was based loosely on an earlier implementation by
Danny Kopping <danny.kopping@grafana.com >
2021-03-13 03:25:57 -05:00
Bernhard Froehlich
b36ed8eddb
net/smtp: adds support for the SMTPUTF8 extension
...
Obtained from: https://github.com/golang/go/issues/19860
2021-02-25 21:15:16 +00:00
Bernhard Froehlich
822dbbce7d
Bump Go to 1.15 for CI builds
2021-02-17 19:31:36 +00:00
Bernhard Fröhlich
42f5c68f0b
Merge pull request #12 from decke/dependabot/github_actions/actions/setup-go-v2.1.3
...
Bump actions/setup-go from v1 to v2.1.3
2021-02-17 20:30:36 +01:00
dependabot[bot]
cd2dab8f8f
Bump actions/setup-go from v1 to v2.1.3
...
Bumps [actions/setup-go](https://github.com/actions/setup-go ) from v1 to v2.1.3.
- [Release notes](https://github.com/actions/setup-go/releases )
- [Commits](https://github.com/actions/setup-go/compare/v1...37335c7bb261b353407cff977110895fa0b4f7d8 )
Signed-off-by: dependabot[bot] <support@github.com >
2021-02-17 19:29:13 +00:00
Bernhard Froehlich
f2af99dc52
Add github-actions to dependabot config
2021-02-17 19:28:08 +00:00
Bernhard Froehlich
23e10bb03e
Add dependabot.yml for automatic Go dependency checking
2021-02-17 19:23:20 +00:00
Bernhard Froehlich
5ba64c5c6e
Add new Release Workflow using Github Actions and wangyoucao577/go-release-action
v1.5.0
2021-02-17 12:49:24 +00:00
Bernhard Froehlich
7f34fcbc99
gofmt: Fix formatting
2021-02-16 15:57:50 +00:00
Bernhard Froehlich
97943c87e7
Update go dependencies
2021-02-16 15:33:12 +00:00
Bernhard Froehlich
fefeccec39
Remove weak CBC cipher suites and bump minimum TLS version to TLS 1.2
2021-02-16 15:31:53 +00:00
Bernhard Fröhlich
c781938999
Merge pull request #11 from JonathonReinhart/minor-cleanup-fixes
...
Minor cleanup and fixes
2021-02-16 15:36:52 +01:00
Jonathon Reinhart
009ae8f73a
hasher: Check number of arguments
...
This makes for a better user experience than a go segfault.
2021-02-15 00:18:15 -05:00
Jonathon Reinhart
70dfe6b128
Only call AuthLoadFile() once at startup
2021-02-15 00:08:37 -05:00
Jonathon Reinhart
7fa0eebf95
Simplify range code for setting up listeners
2021-02-15 00:00:38 -05:00
Jonathon Reinhart
ecf830865c
Add helpful log messages for various error cases
2021-02-14 23:49:17 -05:00
Jonathon Reinhart
4fd6bb1004
Refactor common code in listener setup
2021-02-14 23:30:31 -05:00
Jonathon Reinhart
fd3f513b18
Don't run ListenAndServe in a goroutine
...
Any errors returned in ListenAndServe() (e.g. port already in use) will be
swallowed and not evident to the user.
2021-02-14 23:24:25 -05:00
Jonathon Reinhart
b202a2209e
Refactor out getTLSConfig()
2021-02-14 23:21:42 -05:00
Jonathon Reinhart
0e8986ca79
Expand allowedUsers email field to support comma-separated and domains ( #9 )
...
* Expand allowedUsers email field to support comma-separated and domains
Closes #8
* Refactor AuthFetch() to return AuthUser struct
Also, this breaks out a parseLine() function which can be easily tested.
* Ignore empty addrs after splitting commas
This ignores a trailing comma
* Add tests for auth parseLine()
* Update documentation in smtprelay.ini
* Fix bug where addrAllowed() was incorrectly case-sensitive
* Update allowedUsers allowed domain format to require leading @
This disambiguates a local user ('john.smith') from a domain ('example.com')
2021-02-14 22:16:18 +01:00
Bernhard Fröhlich
5c2e28ac36
Merge pull request #7 from JonathonReinhart/allow-empty-auth-email
...
Allow email field to be empty in allowedUsers file to accept any sending address
2021-02-09 14:18:06 +01:00
Jonathon Reinhart
f33105f83c
Allow email field to be empty in allowedUsers file
...
In this case, it is not checked.
2021-02-09 00:00:36 -05:00
Bernhard Fröhlich
9040a456cf
Create codeql-analysis.yml
2020-09-28 21:26:31 +02:00
Bernhard Fröhlich
d5c5e25d03
Merge pull request #4 from simon04/addresses
...
Fix typo "addresses"
2020-09-04 15:14:35 +02:00
Simon Legner
999cfea307
Fix typo "addresses"
2020-09-03 14:06:20 +02:00
Bernhard Froehlich
f166c13350
Bump Version string
2020-06-14 18:51:16 +00:00
Bernhard Froehlich
ed1c3a9888
Merge branch 'master' of github.com:decke/smtprelay
v1.4.0
2020-06-07 17:19:52 +00:00
Bernhard Froehlich
6f3bd16988
The check if authentication was properly done is redundant now as of smtpd v0.2.0
...
See: 32be721d71
2020-06-07 17:17:28 +00:00
Bernhard Froehlich
4e0bf0908d
Update dependencies
2020-06-07 17:15:57 +00:00
Bernhard Fröhlich
6662fb7155
Merge pull request #3 from nwillems/add-hasher-tool
...
Add helper to do hashing
2020-06-06 07:58:51 +02:00
Nicolai Willems
076fd65dea
Use default cost for bcrypt
2020-06-05 22:48:33 +02:00
Bernhard Froehlich
880c3c365c
Update dependencies and chrj/smtpd to latest master which contains a fix for us
2020-06-04 08:41:19 +00:00
Nicolai Willems
36673ae3f0
Add helper to do hashing
2020-05-24 21:07:29 +02:00
Bernhard Froehlich
b42ad6ddc9
Add release script as requested in #2
2020-05-20 18:33:40 +00:00
Bernhard Froehlich
999ccab778
Fix spelling
2020-05-16 10:44:04 +00:00
Bernhard Froehlich
53c2c27647
Support LOGIN authentication on outgoing SMTP server
...
PR: #1
Obtained from: https://gist.github.com/andelf/5118732
2020-05-15 21:08:17 +00:00
Bernhard Froehlich
2afbe67407
Add Go Report Card badge
2020-05-11 13:56:24 +00:00
Bernhard Froehlich
00b96161b3
Remove duplication of TLS cipher suites for tls:// and startssl://
2020-05-11 13:52:25 +00:00
Bernhard Froehlich
e10cbcdbb0
Update crypto dependency
2020-05-11 13:33:33 +00:00
Bernhard Froehlich
0e643f7230
Update CI to go 1.14
2020-03-02 10:46:59 +00:00
Bernhard Froehlich
324585c63c
Update list of cipher suites and add ciphers for TLS 1.3
2020-03-02 10:45:02 +00:00