sasl

package
v0.0.175 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 9, 2026 License: Apache-2.0 Imports: 1 Imported by: 0

Documentation

Overview

Package sasl provides SASL authentication mechanism selection and parsing utilities.

Index

Constants

This section is empty.

Variables

MechanismPrecedence lists mechanisms from strongest to weakest for auto-selection.

Functions

This section is empty.

Types

type Mechanism

type Mechanism string

Mechanism represents a SASL authentication mechanism.

const (
	MechanismPlain   Mechanism = "PLAIN"
	MechanismLogin   Mechanism = "LOGIN"
	MechanismCramMD5 Mechanism = "CRAM-MD5"
	MechanismGSSAPI  Mechanism = "GSSAPI"
	MechanismXOAuth2 Mechanism = "XOAUTH2"
)

func ParseMechanisms

func ParseMechanisms(capabilities []string) []Mechanism

ParseMechanisms parses the SASL mechanisms from an IMAP CAPABILITY response. It looks for capability tokens of the form "AUTH=<MECHANISM>" (case-insensitive, per RFC 3501 §2.6 which states capability names are not case-sensitive).

func SelectStrongest

func SelectStrongest(available []Mechanism, allowPlain bool) (Mechanism, bool)

SelectStrongest returns the strongest available mechanism from the advertised list, filtered by allowPlain (if false, PLAIN and LOGIN are excluded unless no other option).

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL