Commit Graph
90 Commits
Author SHA1 Message Date
Adam Cooke ecd09a2445 chore: upgrade rails to 7.0 and other dependencies 2024-02-23 22:51:37 +00:00
Adam Cooke cfc1c9b73e docs: update SECURITY policy 2024-02-23 22:51:37 +00:00
Adam Cooke 38465de120 refactor: remove unnecessary modules 2024-02-23 22:51:37 +00:00
Adam Cooke b8ad732152 refactor: move tracking middleware 2024-02-23 22:51:37 +00:00
Adam Cooke 64b2704b02 refactor: move lib/postal/user_creator to app/util/user_creator 2024-02-23 22:51:37 +00:00
Adam Cooke e3bc9da253 refactor: move lib/postal/received_header to app/lib/received_header 2024-02-23 22:51:36 +00:00
Adam Cooke 5cc9eb3df7 refactor: move lib/postal/reply_separator to app/lib/reply_separator 2024-02-23 22:51:36 +00:00
Adam Cooke 321ab95936 refactor: move lib/postal/smtp_server to app/lib/smtp_server 2024-02-23 22:51:36 +00:00
Adam Cooke 73a55a5053 refactor: move senders in to app/senders/ 2024-02-23 22:51:36 +00:00
Adam Cooke eb246bb4e7 refactor: move app/util/* to app/lib/ 2024-02-23 22:51:36 +00:00
Adam Cooke 93fc120f44 refactor: move worker from lib/worker to app/lib/worker 2024-02-23 22:51:36 +00:00
Adam Cooke a44e1f9081 refactor: refactors message dequeueing (#2810) 2024-02-23 22:51:36 +00:00
Adam Cooke 07eb15246f docs: update docs for how IP address allocation works
closes #2209
2024-02-23 22:51:35 +00:00
Adam Cooke 8765d8e57a test: add tests for DNSResolver 2024-02-23 22:51:35 +00:00
Adam Cooke ee86311525 test: move Postal::RpecHelpers to spec/helpers 2024-02-23 22:51:35 +00:00
Adam Cooke 1a4158699c refactor: refactor DNS resolution
This commit also adds some of tests for the Domain model. It was during the writing of these tests that the DNS resolution refactoring requirement became apparent.
2024-02-23 22:51:34 +00:00
Adam Cooke 3bbbc70bc1 test: move TestLogger to spec/helpers 2024-02-23 22:51:34 +00:00
Adam Cooke 2023200d91 test: add tests for Server model 2024-02-23 22:51:34 +00:00
Adam Cooke 8b61100082 test: additional tests for batched messages when unqueueing messages 2024-02-23 22:51:34 +00:00
Adam Cooke 27b7ced3bc chore: remove non-breaking spaces from comments 2024-02-23 22:51:34 +00:00
Adam Cooke b4016f6b49 test: add tests for message unqueueing
This adds a comprehensive set of tests for the message unqueueing service.

Additionally, it improves how message databases are used for testing environments.
2024-02-23 22:51:34 +00:00
Adam Cooke e0403ba641 refactor: refactor webhook deliveries 2024-02-23 22:51:33 +00:00
Adam Cooke 6eb16c3fab chore: add script for generating smtp TLS certificates 2024-02-23 22:51:33 +00:00
Adam Cooke 8d21adcbd4 docs: add quick contributing instructions 2024-02-23 22:51:33 +00:00
Adam Cooke dc8e895bfe feat: new background work process
This removes all previous dependencies on RabbitMQ and the need to run separate cron and requeueing processes.
2024-02-23 22:51:33 +00:00
Adam Cooke 7c23994d24 fix: use correct method for disconnecting smtp connections 2024-02-13 15:57:59 +00:00
Adam Cooke 42ab5b3a6b fix: explicitly disable TLS & starttls for unknown SSL modes
closes #2564
2024-02-13 15:57:48 +00:00
Adam Cooke f9f7fb30fe fix: retry mysql connections on message DB pool 2024-02-13 15:56:40 +00:00
Adam Cooke b8cb563553 Merge pull request #2801 from postalserver/smtp-tests
Tests for the SMTP Server
2024-02-13 15:55:57 +00:00
Adam Cooke e83e2a5e33 Merge pull request #2799 from postalserver/remove-server-fd
Remove SMTP server reloading
2024-02-13 15:55:30 +00:00
Adam Cooke c3c304e98b refactor: remove reloading on the smtp server 2024-02-13 15:51:44 +00:00
Adam Cooke c83601af69 chore: silence message DB migrations during provisioning 2024-02-13 11:56:48 +00:00
Adam Cooke 6214892710 chore: annotate models 2024-02-13 11:46:35 +00:00
Adam Cooke 1fceef7cea fix: add ruby platform to gemfile 2024-02-12 18:14:29 +00:00
Adam Cooke dece1d487a test: add initial tests for Postal::SMTPServer::Client 2024-02-12 18:07:44 +00:00
Adam Cooke ec636661d5 style(rubocop): remaining offences 2024-02-12 09:55:20 +00:00
Adam Cooke c6326a6524 style(rubocop): Style/MultilineBlockChain 2024-02-12 09:55:19 +00:00
Adam Cooke 013b3ea931 style(rubocop): Style/PreferredHashMethods 2024-02-12 09:55:19 +00:00
Adam Cooke ffcb707247 style(rubocop): Style/MissingRespondToMissing 2024-02-12 09:55:19 +00:00
Adam Cooke 83ac764510 style(rubocop): Style/HashExcept 2024-02-12 09:55:19 +00:00
Adam Cooke c995027ff5 style(rubocop): Style/HashEachMethods 2024-02-12 09:55:19 +00:00
Adam Cooke ec7dcf4f9a style(rubocop): Lint/UnderscorePrefixedVariableName 2024-02-12 09:55:19 +00:00
Adam Cooke 278ef0886a style(rubocop): Lint/SuppressedException 2024-02-12 09:55:18 +00:00
Adam Cooke bab6346239 style(rubocop): Lint/DuplicateMethods 2024-02-12 09:55:18 +00:00
Adam Cooke a1dc0f77ac style(rubocop): Lint/DuplicateBranch 2024-02-12 09:55:18 +00:00
Adam Cooke 0e0aca06c9 style(rubocop): Layout/* 2024-02-12 09:55:18 +00:00
Adam Cooke 9ce28a427f style(rubocop): Style/SelectByRegexp 2024-02-12 09:55:18 +00:00
Adam Cooke 157d11457c style(rubocop): Style/GlobalVars 2024-02-12 09:55:18 +00:00
Adam Cooke e896f4689a style(rubocop): Style/ClassAndModuleChildren 2024-02-12 09:55:18 +00:00
Adam Cooke b9f3f313f8 style(rubocop): Style/AndOr 2024-02-12 09:55:17 +00:00
Adam Cooke 4674e63b5f style(rubocop): Lint/MissingSuper 2024-02-12 09:55:15 +00:00
Adam Cooke be97f43308 style(rubocop): disable Style/SpecialGlobalVars 2024-02-12 09:40:35 +00:00
Adam Cooke 75be690748 style(rubocop): Style/GlobalStdStream 2024-02-12 09:40:35 +00:00
Adam Cooke 9563f30c96 style(rubocop): Naming/MemoizedInstanceVariableName 2024-02-12 09:40:34 +00:00
Adam Cooke 00a02f2655 style(rubocop): Style/SafeNavigation 2024-02-12 09:40:34 +00:00
Adam Cooke 04a34831c7 style(rubocop): Style/For 2024-02-12 09:40:34 +00:00
Adam Cooke 6a58ecf605 style(rubocop): Style/IdenticalConditionalBranches 2024-02-12 09:40:31 +00:00
Adam Cooke 6ad56ee9c9 style(rubocop): Lint/IneffectiveAccessModifier 2024-02-10 23:03:28 +00:00
Adam Cooke c558f1c69c style(rubocop): Style/NumericPredicate 2024-02-10 22:59:30 +00:00
Adam Cooke 7119e8642d style(rubocop): Lint/ShadowingOuterLocalVariable 2024-02-10 22:51:09 +00:00
Adam Cooke bd85920565 style(rubocop): Style/WordArray 2024-02-10 22:39:43 +00:00
Adam Cooke 129dffab9e style(rubocop): Style/MutableConstant 2024-02-10 17:34:29 +00:00
Adam Cooke d508772a40 style(rubocop): disable Style/StringConcatenation cop 2024-02-10 17:30:32 +00:00
Adam Cooke b0ac9ef0b9 style(rubocop): relax method length and block nexting for now 2024-02-10 17:26:45 +00:00
Adam Cooke a5d5ba5326 style(rubocop): Layout/MultilineMethodCallBraceLayout 2024-02-10 17:25:45 +00:00
Adam Cooke 919a60116c style(rubocop): Naming/FileName 2024-02-10 17:24:37 +00:00
Adam Cooke 0cf35a8392 style(rubocop): Layout/EmptyLines 2024-02-10 17:23:24 +00:00
Adam Cooke 12a5ef3279 style(rubocop): Lint/RedundantStringCoercion 2024-02-10 17:22:59 +00:00
Adam Cooke 0966b44018 style(rubocop): Lint/ShadowedException 2024-02-10 17:21:54 +00:00
Adam Cooke 389ea77050 style(rubocop): Security/YAMLLoad 2024-02-10 17:21:08 +00:00
Adam Cooke ee94e4e1a0 style(rubocop): Lint/UnusedBlockArgument 2024-02-10 17:20:13 +00:00
Adam Cooke 7590a46234 style(rubocop): Lint/UselessAssignment 2024-02-10 17:18:24 +00:00
Adam Cooke 25d7d66b47 test: FactoryBot.lint will lint all registered factories 2024-02-10 17:18:24 +00:00
Adam Cooke cfd8d63321 style(rubocop): Layout/EmptyLinesAroundBlockBody 2024-02-10 17:18:24 +00:00
Adam Cooke 1cf665a0cf test: remove FACTORIES_EXCLUDED_FROM_LINT 2024-02-10 17:18:24 +00:00
Adam Cooke 930cf39dba style(rubocop): disable complexity cops for now 2024-02-10 17:18:23 +00:00
Adam Cooke 6d4dea7f7f style(rubocop): update rubocop rules 2024-02-10 17:18:23 +00:00
Adam Cooke e142d0da5f style(rubocop): Layout/LineLength 2024-02-10 17:18:23 +00:00
Adam Cooke 59f299b704 style(rubocop): Layout/LeadingCommentSpace 2024-02-10 17:18:23 +00:00
Adam Cooke b4cc81264c style(rubocop): Style/StringLiterals 2024-02-10 17:18:23 +00:00
Adam Cooke 0e4ed5ca03 style(rubocop): Layout/EmptyLineAfterMagicComment 2024-02-10 17:18:23 +00:00
Adam Cooke 6ab36c09c9 style(rubocop): Style/FrozenStringLiteralComment 2024-02-10 17:18:22 +00:00
Adam Cooke ba5bfbd6a0 fix: fix bug with received header in SMTP server 2024-02-10 17:17:06 +00:00
Adam Cooke ed2e62b94f feat: remove strip_received_headers config option
This previously removed all Received headers which were sent to the smtp
server when enabled. This is not something that should be happening.
2024-02-07 09:45:12 +00:00
Adam Cooke 15f9671b66 feat: privacy mode
Adds support for hiding IP addresses & hostnames associated with clients sending
authenticated mail in to Postal over SMTP and HTTP
2024-02-07 09:45:09 +00:00
Adam Cooke f05c2e4503 fix: upgrade nokogiri 2024-02-06 13:15:27 +00:00
Adam Cooke 7bc5230cba fix: re-add reconnect: true to database
This is deprecated and, in my tests, isn't needed but to avoid any
potential issues I am re-adding it here. When we upgrade to Rails 7.1,
we can remove this and that'll handle reconnections as appropriate.
2024-02-06 13:14:21 +00:00
Adam Cooke b9edcf5b7d test: rename database spec file 2024-02-06 12:43:28 +00:00
Adam Cooke 54306a9748 fix: adds new connection pool which will discard failed clients
closes #2780
2024-02-06 12:43:28 +00:00
Adam Cooke 4528a14d27 fix: fixes issue starting application in production mode
I haven't observed these all that recently and these fixes are temporary until
I have time to look properly.
2024-02-03 22:17:51 +00:00