Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Send NickServ messages when SASL is disabled #999

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from

Commits on Feb 25, 2020

  1. Send NickServ messages when SASL is disabled

    I'm not sure this is the correct user interface, so I'm writing this patch as
    more of a way to describe my issue.
    
    I'm running my own instance of this appservice, and I'm using it to connect to
    OFTC.  OFTC supports SASL, but requires a certificate-based authentication
    mechanism as opposed to the password-based mechanism that's supported by this
    appservice.  As a result, even after sending a "!storepass irc.oftc.net
    $PASSWORD" I don't get logged in and still must identify with NickServ manually
    whenever the appservice reconnects to OFTC.  In practice I just keep getting
    kicked from the one OFTC channel I care about, which requires registered nicks.
    
    I can think of two possible ways to fix this: either add support
    certificate-based SASL authentication (which seems complicated) or add support
    for NickServ.  I chose to add support for NickServ, which simply involves
    sending a private message to NickServ containing the user's password.
    
    I think that's a sound feature, but I don't like how it's exposed to the user.
    With this patch the appservice will send a NickServ message containing the
    user's password whenever SASL is disabled in the server's configuration file.
    While this works for me, I'm not sure it's a good idea to just start sending
    out passwords with such an implicit configuration option.
    
    If I was to spend some more time on this, I'd probably do something like add an
    "authentication_mechanism" configuration option that can be set to either
    "none" (which would do nothing, aka sasl=false), "sasl_password" (which would
    do sasl=true) or "nickserv" (which would do this).  Since there's a bit of
    plumbing involved and I've never written any typescript before, I wanted to
    send this patch out before going any farther -- if you're not interested in
    NickServ auth then I can just carry the patch myself.
    
    Signed-off-by: Palmer Dabbelt <[email protected]>
    palmer-dabbelt committed Feb 25, 2020
    Configuration menu
    Copy the full SHA
    1cfdc14 View commit details
    Browse the repository at this point in the history