Commit graph

4052 commits

Author SHA1 Message Date
Michael Gratton
68a985a76c Support building with Enchant 2.x
This adds support for Enchant 2 named "enchant" and Enchant 2 named
"enchant-2" (!)
2019-01-16 11:12:31 +11:00
Michael Gratton
f80fe6b7c0 Merge branch 'wip/187-flatpak-ci-wrong-branch' into 'master'
Update Gitlab CI Flatpak build with standard template

Closes #187

See merge request GNOME/geary!86
2019-01-16 00:00:33 +00:00
Michael Gratton
ed7d0b67c2 Merge branch 'whitespace-collapsing' into 'master'
Only collapse runs of space, tab, carriage return, and newline

Closes #184

See merge request GNOME/geary!83
2019-01-15 23:41:38 +00:00
Michael Gratton
3a932cf5fc Merge branch 'wip/712902-empty-gmail-folder' into 'master'
Do not add childless, non openable folders entry in sidemenu

See merge request GNOME/geary!84
2019-01-15 23:40:26 +00:00
Michael Gratton
4bef867407 Update Gitlab CI Flatpak build with standard template
See: https://gitlab.gnome.org/GNOME/citemplates
2019-01-16 10:39:41 +11:00
Michael Gratton
23ea1589cd Fix build with new FolderPath API 2019-01-15 14:19:07 +11:00
Alex Henrie
82cd2d92e1 Only collapse runs of space, tab, carriage return, and newline
Closes #184
2019-01-14 19:54:14 -07:00
Gautier Pelloux-Prayer
804a76820a Do not add non openable folders entry in sidemenu. Bug 712902 2019-01-15 13:39:17 +11:00
Michael Gratton
36cfa14689 Reducing padding in conversation viewer list 2019-01-15 12:21:03 +11:00
Michael Gratton
cb10822782 Fix build warnings 2019-01-15 12:20:33 +11:00
Michael Gratton
ae918090be Fix possible critical when removing an account is removed 2019-01-15 12:19:22 +11:00
Michael Gratton
9818146b5a Fix local accounts for special-case providers not configured correctly 2019-01-15 12:18:08 +11:00
Michael Gratton
5152581a0c Merge branch 'wip/181-special-folder-dupes' into 'master'
Fix special folder duplicates

Closes #181

See merge request GNOME/geary!82
2019-01-14 14:08:49 +00:00
Michael Gratton
bb0060b571 Rework GenericAccount::ensure_special_folder_asyc yet again
This time, it was overriding SPECIAL-USE attrs based on the config file,
causing bad config folders to be used as GMail specials. Now, it checks
the folder is already set as the special type before going looking for
it by name.
2019-01-15 00:20:37 +11:00
Michael Gratton
b1461d84b5 Add some useful debugging to GenericAcount 2019-01-15 00:20:37 +11:00
Michael Gratton
1ed0f5acbf Fix ambiguous test in AccountInformation.set_special_folder 2019-01-15 00:20:37 +11:00
Michael Gratton
e1fd9daa83 Fix pathological FolderPath.is_equal() case, add unit test 2019-01-15 00:20:37 +11:00
Michael Gratton
ddbe6e0b09 Revamp Geary.FolderPath implementation
Convert getters that look like properties into actual properties,
remove unused and redundant public and internal API, convert
implementation to use a tree that aucyally maintains references between
steps, rather than each creating a new list of path steps and
manipulating that.
2019-01-15 00:20:37 +11:00
Michael Gratton
423a1dcbf0 Add additional FolderPath unit tests 2019-01-15 00:19:46 +11:00
Michael Gratton
5a22e8e4a2 Convert Geary.FolderRoot to be an actual root, not just a top-level
Instead of each top-level IMAP folder being a FolderRoot object, then
children of that being FolderPath objects, this makes FolderRoot an
"empty" FolderPath, so that both top-level and descendant folders are
plain FolderPath objects. Aside from being more technically correct,
this means that empty namespace roots can now be used interchangably
with non-empty namespace roots (addressing issue #181), and custom
folder implementations no longer need to provide their own trivial,
custom FolderRoot.

To support this, a notion of an IMAP root and a local root have been
added from which all remote and local folder paths are now derived,
existing places that assume top-level == root have been fixed, and
unit tests have been added.
2019-01-15 00:18:45 +11:00
Michael Gratton
41bb79da94 Stop duplicate inboxes being created, not being listed
Since duplicates are being cleand up on startup, this ensures dups
never exist in the DB.
2019-01-14 12:05:29 +11:00
Michael Gratton
46bb4d1b6c Ensure MinimalFolder remote open forces closed on hard errors
Minimal folder should force a folder closed when an error occurrs that
it isn't going to be able to recover from.
2019-01-14 11:43:01 +11:00
Michael Gratton
b0f85b3af8 Ensure accounts don't accidentially create multiple inbox-type folders 2019-01-14 11:28:13 +11:00
Michael Gratton
4fefda9695 Remove unwanted debuging cruft 2019-01-14 11:05:54 +11:00
Michael Gratton
faf7a2bdfd Add some unit tests for Geary.ImapDb.Account folder management 2019-01-14 11:01:03 +11:00
Piotr Drąg
ccee4259fe Update Polish translation 2019-01-12 13:07:34 +01:00
Christian Schröder
5db8f03f05 Update German translation 2019-01-11 18:45:32 +00:00
Michael Gratton
668e4b469a Merge branch 'buildfix' into 'master'
Meson build fixes for FreeBSD

See merge request GNOME/geary!78
2019-01-10 12:20:58 +00:00
Michael Gratton
fdf1eba646 Merge branch 'wip/misc-warning-fixes' into 'master'
Misc build warning fixes

See merge request GNOME/geary!81
2019-01-10 12:17:30 +00:00
Michael Gratton
018f700d0d Fix unhandled error warning, tidy up error handling 2019-01-10 23:09:36 +11:00
Michael Gratton
319ea1dada Fix meson config warning 2019-01-10 23:09:12 +11:00
Michael Gratton
9df110bc30 Merge branch 'nullfix' into 'master'
PropertyCommand: check for null before calling printf

See merge request GNOME/geary!79
2019-01-10 07:07:58 +00:00
Michael Gratton
da2d676088 Merge branch 'wip/20-cert-pinning' into 'master'
Support TLS certificate pinning when GCR can't find usable PKCS#11 slots

Closes #20

See merge request GNOME/geary!80
2019-01-10 06:53:24 +00:00
Michael Gratton
6b9ae903fb Re-enable GCR support for cert pinning
This re-adds support for using GCR for pinning certs, but only if GCR
is in a known good state. If so, pinned certs will be stored using GCR,
if not, they will be stored in Geary's XDG data dirs as a fallback.
2019-01-10 17:33:37 +11:00
Michael Gratton
812bce2a2f Fix brown-paper-bag file name typo 2019-01-10 15:10:20 +11:00
Michael Gratton
9ade041f1e Implement loading and saving certs in CertificateManager 2019-01-10 14:44:33 +11:00
Michael Gratton
cda0e7f49e Simplify CertificateManager's db pinned cert management
Rather than store a list of pinned certs each with a set of idenities,
just use a map of idenities to certs. This simplifies both storage,
lookup, retreival, and will allow pins to be persisted on a per-identity
bassis, allowing a cert to be saved for one host but not saved for
another.
2019-01-10 14:44:33 +11:00
Michael Gratton
97971ce38d Don't prompt for untrusted host as validation when account exists 2019-01-10 14:44:33 +11:00
Michael Gratton
1a2bb280ba Handle untrusted certs when adding a editing account server details
Move common code for prompting for cert errors to the account editor,
use that when validating an account from the server pane.
2019-01-10 14:44:10 +11:00
Greg V
0b62f6eefd PropertyCommand: check for null before calling printf
On FreeBSD, this would crash in vasprintf_l, because you're not supposed
to printf(NULL, ...).
2019-01-09 13:08:58 +03:00
Greg V
b8ae8865ea Fix meson targets for contractor contract 2019-01-09 12:50:13 +03:00
Greg V
f09e5d7c6d Use backup extension when calling sed -i
BSD sed doesn't support -i without the backup extension.
2019-01-09 12:30:49 +03:00
Greg V
e4d368736a Use sqlite dependency when checking FTS
On FreeBSD, checking sqlite.h without the dependency would look at
/usr/include/sqlite.h (base system version) instead of
/usr/local/include/sqlite.h (ports version, which has FTS and everything).
2019-01-09 12:29:34 +03:00
Michael Gratton
2e344d7ce1 Handle untrusted certs when adding a new account
Make the cert mamager easily available to acccount editor panes, hook up
to untrusted-host when validating the new account and prompt to pin
certs as needed.
2019-01-09 15:26:50 +11:00
Michael Gratton
c0b5d44575 Don't block handling GTlsConnection::accept-certificate
The docs for accept-certificate require that clients do not block while
handling it, and Geary will typically prompt the user when handling it.

This fix schedules handling the signal to be executed seperately on the
main loop.
2019-01-09 15:22:19 +11:00
Michael Gratton
1fa342ca51 Remove now unsed Endpoint.trust_untrusted_host prop and related code 2019-01-09 15:22:19 +11:00
Michael Gratton
0d93696d6c Don't update status for IMAP connection problems multiple times
This moves connection error notification in ImapClientService to one
place, so status updates and errors are only reported once, and the
correct status changes are made. This fixes TLS cert problems both
being reported as such, and as a service problem.
2019-01-09 15:22:19 +11:00
Michael Gratton
82c972f09c Replace controller's GCR pinning impl with new CertificateManager class
The new class encapsulates cert pinning functionality and provides a
GIO GTlsDatabase implementation for hooking pinned certs directly into
GTlsConnection. Initial impl just stores pinned certs in memory for now.
2019-01-09 15:22:19 +11:00
Michael Gratton
67ec69a931 Modernise cert prompting impl to work with new account status infobars 2019-01-09 15:22:19 +11:00
Michael Gratton
884500a02b Add Geary.ProblemType for TLS cert validation errors, clarify login errs 2019-01-09 15:22:19 +11:00