mbox series

[bug#59018,0/1] OAuth2 for mbsync

Message ID cover.1667583886.git.peter@polidoro.io
Headers show
Series OAuth2 for mbsync | expand

Message

Peter Polidoro Nov. 4, 2022, 5:56 p.m. UTC
From: Peter Polidoro <peter@polidoro.io>

I am trying to get OAuth2 working for mbsync so I can check an email account
that has discontinued basic authorization.

Following these steps:
https://github.com/harishkrupo/oauth2ms/blob/main/steps.org

I am at the point of needing the xoauth2 sasl plugin to make mbsync work with
the XOAUTH2 AuthMech. Perhaps that is already a part of Guix, but I was unable
to find it.

Here is an implementation of the xoaut2 sasl plugin that I attempted to package:
https://github.com/moriyoshi/cyrus-sasl-xoauth2

It seems to compile correctly, but I was unsure of how to do the configuration
in order to make it install into the proper location. It defaults into
installing it to:
/usr/lib/sasl2

Perhaps it instead needs to go into the /lib/sasl2 directory within the
cyrus-sasl package, but I do not know how to specify that in this package's
configuration.

I assume that if cyrus-sasl is able to detect and use this plugin then it will
have the ability to use XOAUTH2 making mbsync work correctly, but that would
have to be tested to make sure more configuration is not needed.

Peter Polidoro (1):
  gnu: Add cyrus-sasl-xoauth2.

 gnu/packages/cyrus-sasl.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

Comments

dan Nov. 6, 2022, 9:12 p.m. UTC | #1
He peter,

Thanks for the work.  Did you just forget to submit the patch 
file?
\( Nov. 6, 2022, 9:18 p.m. UTC | #2
On Sun Nov 6, 2022 at 9:12 PM GMT, dan wrote:
> Thanks for the work.  Did you just forget to submit the patch 
> file?

Funny. The patch seems to have appeared in my inbox, but not on mumi's or debbugs' UI...

    -- (
dan Nov. 7, 2022, 1:32 a.m. UTC | #3
Nov 7, 2022 5:18:25 AM ( <paren@disroot.org>:

> On Sun Nov 6, 2022 at 9:12 PM GMT, dan wrote:
>> Thanks for the work.  Did you just forget to submit the patch
>> file?
>
> Funny. The patch seems to have appeared in my inbox, but not on mumi's 
> or debbugs' UI...
>
>     -- (
> Funny. The patch seems to have appeared in my inbox, but not on mumi's 
> or debbugs' UI...

My bad, it's actually #59019
Ludovic Courtès Nov. 15, 2022, 10:49 a.m. UTC | #4
Hi,

peter@polidoro.io skribis:

> It seems to compile correctly, but I was unsure of how to do the configuration
> in order to make it install into the proper location. It defaults into
> installing it to:
> /usr/lib/sasl2
>
> Perhaps it instead needs to go into the /lib/sasl2 directory within the
> cyrus-sasl package, but I do not know how to specify that in this package's
> configuration.

Adding files to another package is not possible.

Packages usually have a search path environment variable for plugins.  I
don’t see one for cyrus-sasl (I just grepped for “getenv” so I might
have overlooked it).  The “Guix way” would be to have cyrus-sasl honor,
say, $CYRUS_SASL_PLUGIN_PATH and look for plugins in those directories,
add a search path to the package¹, and have the plugin installed in
$prefix/lib/sasl2 like you did.

Could you check whether cyrus-sasl already has such a mechanism, or add
one (possibly discussing with upstream), and send updated patches?

Nitpick:

> +    (description "XOAUTH2 mechanism plugin for cyrus-sasl.")

Also, please improve the description².

Thanks in advance,
Ludo’.

¹ https://guix.gnu.org/manual/devel/en/html_node/Search-Paths.html
² https://guix.gnu.org/manual/devel/en/html_node/Synopses-and-Descriptions.html