Commit Graph
83 Commits
Author SHA1 Message Date
link2xt f8907e3c83 feat: add wildcard pattern support to provider database 2024-02-06 21:02:28 +00:00
bjoern bff4a2259f chore: update provider-db (#4949) 2023-11-07 01:12:31 +00:00
link2xt dbe9d7e34e refactor(provider): create provider database entries at compile time
According to cargo-llvm-lines it reduces the number of lines
in the crate by 0.7%.
2023-09-05 00:03:34 +00:00
link2xt 9d7bdf369d refactor: use slices instead of vectors in provider database 2023-09-03 20:19:58 +00:00
iequidoo c8988f5a55 maybe_add_time_based_warnings(): Use release date instead of the provider DB update one (#4213)
bjoern <r10s@b44t.com> wrote:
> maybe_add_time_based_warnings() requires some date guaranteed to be in the near past. based on
this known date we check if the system clock is wrong (if earlier than known date) and if the used
Delta Chat version may be outdated (1 year passed since known date). while this does not catch all
situations, it catches quite some errors with comparable few effort.
>
> figuring out the date guaranteed to be in the near past is a bit tricky. that time, we added
get_provider_update_timestamp() for exactly that purpose - it is checked manually by some dev and
updated from time to time, usually before a release.
>
> however, meanwhile, the provider-db gets updated less frequently - things might be settled a bit
more - and, get_provider_update_timestamp() was also changed to return the date of the last commit,
instead of last run. while that seem to be more on-purpose, we cannot even do an “empty” database
update to update the known date.
>
> as get_provider_update_timestamp() is not used for anything else, maybe we should completely
remove that function and replace it by get_last_release_timestamp that is then updated by
./scripts/set_core_version.py - the result of that is reviewed manually anyway, so that seems to be
a good place (i prefer manual review here and mistrust further automation as also dev or ci clocks
may be wrong :)
2023-04-06 22:00:02 -04:00
link2xt a32a3b8cca Construct HashMaps in provider database from array
This saves 450 lines according to `cargo llvm-lines --release`.
2023-03-17 18:30:37 +00:00
link2xt 8e9bb8b06e Check provider database with CI
scripts/update-provider-database.sh checks out the provider database
and updates data.rs file,
making it easier to update.

CI uses this script to check that checked in data.rs
corresponds to the provider database repository.
2023-02-26 21:27:21 +00:00
link2xt 45abaff275 Update provider database 2023-02-21 14:41:13 +00:00
iequidoo 15c9efaa95 Update provider/update.py according to the struct Provider changes 2023-02-21 10:53:15 -03:00
iequidoo 3b5227c42a Move strict_tls, max_smtp_rcpt_to from Provider to ProviderOptions 2023-02-20 14:09:27 -03:00
iequidoo 604c4fcb71 Delete messages to the Trash folder for Gmail by default (#3957)
Gmail archives messages marked as `\Deleted` by default if those messages aren't in the Trash. But
if move them to the Trash instead, they will be auto-deleted in 30 days.
2023-02-20 14:09:27 -03:00
link2xt 4615c84f31 Automatically group imports using nightly rustfmt 2023-01-19 13:13:25 +00:00
link2xt 3986bb6c4e Fix provider update script 2023-01-06 00:44:15 +00:00
link2xt 10349b7be4 Update provider database 2023-01-06 00:39:40 +00:00
link2xt 3023d3c358 Don't use deprecated chrono functions 2022-12-11 23:43:00 +00:00
link2xt c0d1c97490 Simplify provider update script with pathlib 2022-08-13 13:57:44 +00:00
B. Petersen 522040810d update 163.com in provider database 2022-07-05 18:00:42 +02:00
bjoern cd27c143c3 update provider database (#3399)
ran `./src/provider/update.py ../provider-db/_providers/ > src/provider/data.rs`
2022-06-04 16:43:56 +02:00
bjoern 95a54a43ff update provider database (#3284)
ran `./src/provider/update.py ../provider-db/_providers/ > src/provider/data.rs`
2022-05-03 23:57:53 +02:00
bjoern a43fc47bb6 update provider database (#3043)
* update provider database

ran `./src/provider/update.py ../provider-db/_providers/ > src/provider/data.rs`

* update changelog
2022-01-31 16:07:20 +01:00
B. Petersen 728c8b4663 pull in update for mail.de in provider-db 2022-01-11 15:00:26 +01:00
B. Petersen fab9563cd5 update provider database
ran `./src/provider/update.py ../provider-db/_providers/ > src/provider/data.rs`
2022-01-11 15:00:26 +01:00
link2xt 8d3a1e84c3 Remove mvbox_watch option and use mvbox_move instead 2021-12-18 13:55:01 +00:00
bjoern 82819a642f update provider database (#2718) 2021-09-29 12:59:38 +02:00
bjoern 339d46ecf0 update provider database, add yggmail and mail2tor (#2608)
* allow dotless domains and hostnames

* update provider database

ran ./src/provider/update.py ../provider-db/_providers/ > src/provider/data.rs
to pull in recent changes from https://github.com/deltachat/provider-db
2021-08-20 10:48:27 +02:00
B. Petersen b8dad1dbaf add support for socket PLAIN coming from provider-db 2021-08-15 20:28:09 +03:00
bjoern a6e1dc4f16 update provider database (#2565)
ran ./src/provider/update.py ../provider-db/_providers/ > src/provider/data.rs
to pull in recent changes from https://github.com/deltachat/provider-db
2021-07-28 15:22:02 +02:00
B. Petersen b017af78ce update provider database
ran `./src/provider/update.py ../provider-db/_providers/ > src/provider/data.rs`
to pull in recent changes from https://github.com/deltachat/provider-db
2021-06-07 16:19:05 +02:00
link2xt d179dced4e Get rid of mod.rs files.
Since Rust 2018 [1] it is no longer required to move module code to
`mod.rs` when submodules are added. This eliminates common problem of
having multiple buffers named `mod.rs` in editor.

[1] https://doc.rust-lang.org/edition-guide/rust-2018/module-system/path-clarity.html#no-more-modrs
2021-04-23 22:45:45 +03:00
link2xt a795ae98ee Test saving and loading of LoginParam 2021-04-16 21:47:39 +03:00
link2xt 244260a978 Fix nightly clippy and rustc errors 2021-04-12 21:33:52 +03:00
B. Petersen 36aef6499d update provider database 2021-03-18 21:55:33 +01:00
B. Petersen 4ba9c2fafa fix clippy error on generating rust code from python 2021-03-18 21:55:33 +01:00
link2xt a88893f262 clippy: fix needless_borrow 2021-02-14 00:55:23 +03:00
Alexander Krotov 5e8e77dfb6 clippy: forbid wildcard_imports 2021-01-12 12:06:13 +03:00
Alexander Krotov f4c8ffca4c Query MX records during provider autoconfiguration
Previously MX records were queried only for OAuth 2 configuration and
did not affect the list of servers tried. User was required to manually
configure the servers for Google Workspace (former GSuite) domains.

Now MX records are queried during configuration. If provider is found in
offline database, its ID, corresponding to the filename, is saved as
`configured_provider`.

`configured_provider` is also set during database migration if email
address uses the domain from the provider database, but no MX querying
is done.
2021-01-10 00:19:43 +03:00
Alexander Krotov 4690ba017f Update provider database with server fixes 2020-12-27 02:37:14 +03:00
Alexander Krotov 38ead5b72c Enable strict TLS by default
Now strict TLS should be explicitly turned off.

By default it is only turned off for nauta provider.
2020-12-27 02:36:11 +03:00
B. Petersen bf83f6d4ad read settings from provider-db-globals, not from -config-defaults 2020-10-31 14:20:16 +01:00
Hocuri 34af492afb Rename fetch_existing to fetch_existing_msgs, add comment (#2042) 2020-10-24 12:10:36 +02:00
B. Petersen 75df8f762c update provider-db 2020-10-23 17:19:47 +02:00
Alexander Krotov 67cddedf7e Switch from lazy_static to once_cell 2020-10-18 15:47:21 +03:00
B. Petersen c323798386 update provider-db, second time today 2020-10-16 21:43:18 +02:00
B. Petersen 7a82fd4bbd update provider-db
ran `./src/provider/update.py ../provider-db/_providers/ > src/provider/data.rs`
to pull in fetch_existing setting for nauta.
2020-10-16 16:19:07 +02:00
B. Petersen 2095962466 update provider-database
executed `python3 src/provider/update.py ../provider-db/_providers/ > src/provider/data.rs`
2020-09-22 10:35:04 +02:00
B. Petersen 277bbfaead add a function to get the timestamp of the last provider-db update 2020-09-19 12:40:02 +02:00
Floris Bruynooghe ee27c7d9d4 Run clippy on tests and examples 2020-09-05 18:13:16 +02:00
Alexander Krotov 4481ab18f5 configure: try multiple servers for each protocol
LoginParamNew structure, which contained possible IMAP and SMTP
configurations to try is replaced with uniform vectors of ServerParams
structures. These vectors are initialized from provider database, online
Mozilla or Outlook XML configuration or user entered parameters.

During configuration, vectors of ServerParams are expanded to replace
unknown values with all possible variants, which are tried one by one
until configuration succeeds or all variants for a particular protocol
(IMAP or SMTP) are exhausted.

ServerParams structure is moved into configure submodule, and all
dependencies on it outside of this submodule are removed.
2020-08-27 23:11:25 +03:00
0fc57bdb35 Separate IMAP and SMTP configuration
Co-Authored-By: link2xt <ilabdsf@gmail.com>
Co-Authored-By: bjoern <r10s@b44t.com>
2020-08-22 21:29:39 +03:00
B. Petersen 7ffefdff89 update provider-database 2020-08-13 22:42:29 +02:00