| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
For debugging.
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
|
|
|
|
|
|
|
| |
If the mail functions are not being used then the ticket will get stale,
check the timestamp before returning it and refresh if too old.
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
|
|
|
|
|
|
|
| |
Not sure when gmail sends a message ID without a labelId stanza, but
apparently it happens rarely.
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
|
|
|
|
|
|
|
|
| |
With the ability to run as a broker for IMAP/SMTP we can limit the scopes
requested based on the configuration. Add a fake _CMS_ protocol that
refers to the scopes required to operate internally.
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
|
|
|
|
|
|
|
| |
Latest mutt can do this for MS and GMail providers, provide support for
getting the right scope and some examples how to set it up.
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
|
|
|
|
|
|
|
|
|
| |
The global history_id covers all labels, if we see it change then do a
delta query to all the labels to figure things out.
This reduces the amount of server traffic if there are multiple labels.
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
|
|
|
|
|
|
|
|
|
|
|
| |
File "/home/jgg/oss/sync/cloud_mdir_sync/maildir.py", line 210, in force_content
self._store_msg(msgs[content_hash])
File "/home/jgg/oss/sync/cloud_mdir_sync/maildir.py", line 145, in _store_msg
self.msgdb.write_content(cloudmsg.content_hash, msg.fn)
File "/home/jgg/oss/sync/cloud_mdir_sync/messages.py", line 279, in write_content
assert content_hash in self.file_hashes
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
|
|
|
|
|
|
| |
gmail occasionally returns this.
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
|
|
|
|
|
|
|
|
| |
Starting a browser tab per authentication attempt makes a mess, so long as
there is something in auth_redirs then the active browser tab will
eventually get redirected to the new auth being added.
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
|
|
|
|
|
|
|
| |
aio-http is much better, requests seems to get stuck occasionaly. This
allows all GMail accounts to acquire access tokens concurrently.
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
AIO does not seem to strictly pipeline work, so it is possible for a very
large number of message download tasks to be scheduled. Each one that gets
scheduled opens a file descriptor, and so we can run out of them fairly
fast.
Strictly limit the number of open files per mailbox during message
downloading.
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The OAUTH credential server allows CMS to ack as an OAUTH broker and
supply bearer tokens to other applications in the system. Currently this
only support SMTP tokens for outbound mail delivery.
A UNIX domain socket is used to communicate between the SMTP agent and CMS.
A simple one line protocol is used to specify the account requested and
CMS returns the plain XAOUTH2 response string. The agent is responsible to
base64 encode it.
This works for GMail and O365 mailboxes.
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
|
|
|
|
|
|
|
|
| |
Directly connect the 'account' API objects to their mailbox users through
the config language instead of trying to fix it up after the fact with
a dictionary.
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Occasionally gmail returns history records that have junk in them, for
instance messages IDs that don't exist. This appears to be a bug.
Using the latest history ID seems to guarantee that a subsequent history
query will be empty and we can then avoid the junk and start again.
Go back to full query if delta fails for any reason.
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
|
|
|
|
|
|
|
| |
Since size is used to print the log message, even on failure, set it
to some value.
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
|
|
|
|
|
|
|
|
| |
All cases where gather is called intend that the tasks will complete
successfully or all cancel at the first error. Add a little wrapper to
achieve this.
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
|
|
|
|
|
|
|
| |
Access to the headers like List-ID allows some client side filtering of
incoming messages.
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
|
|
|
|
|
|
|
| |
The mailboxes can only be linked to a single msgdb, always take it from
the mailbox cfg.
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
|
|
|
|
|
|
| |
Make sure it is always set
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
|
|
Basic support for GMail using the REST API
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
|