E-MailRelay
Public Member Functions | List of all members
GVerifiers::UserVerifier Class Reference

A concrete Verifier class that verifies against the password database (ie. More...

#include <guserverifier.h>

+ Inheritance diagram for GVerifiers::UserVerifier:
+ Collaboration diagram for GVerifiers::UserVerifier:

Public Member Functions

 UserVerifier (GNet::EventState es, const GSmtp::Verifier::Config &config, const std::string &spec)
 Constructor. More...
 
- Public Member Functions inherited from GSmtp::Verifier
virtual void verify (const Request &)=0
 Checks a recipient address and asynchronously returns a GSmtp::VerifierStatus structure to indicate whether the address is a local mailbox, what the full name is, and the canonical address.
 
virtual G::Slot::Signal< Command, const VerifierStatus & > & doneSignal ()=0
 Returns a signal that is emit()ed when the verify() request is complete.
 
virtual void cancel ()=0
 Aborts any current processing.
 
virtual ~Verifier ()=default
 Destructor.
 

Additional Inherited Members

- Public Types inherited from GSmtp::Verifier
enum class  Command { VRFY , RCPT }
 

Detailed Description

A concrete Verifier class that verifies against the password database (ie.

getpwnam() or LookupAccountName()).

The first part of the recipient address has to match an entry in the password database and the second part has to match the configured domain name. A sub-range for the password database entries can be configured via the 'spec' string. This has a sensible default that excludes system accounts. The domain name match is case insensitive.

By default the matching addresses are returned as valid local mailboxes and non-matching addresses are rejected. With "remote" the matching addresses are returned as remote. With "check" the non-matching addresses are returned as valid and remote.

The returned mailbox names are the account names as read from the password database, optionally with seven-bit uppercase letters converted to lowercase.

Definition at line 55 of file guserverifier.h.

Constructor & Destructor Documentation

◆ UserVerifier()

GVerifiers::UserVerifier::UserVerifier ( GNet::EventState  es,
const GSmtp::Verifier::Config config,
const std::string &  spec 
)

Constructor.

The spec string is semi-colon separated list of values including a uid range and "lc"/"lowercase" eg. "1000-1002;pm;lc".

Definition at line 30 of file guserverifier.cpp.


The documentation for this class was generated from the following files: