services

package
v0.0.0-...-c5d900d Latest Latest
Warning

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

Go to latest
Published: Jan 10, 2019 License: Apache-2.0 Imports: 58 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var GinMode string
View Source
var HTTPMasterService = fx.Provide(func(lc fx.Lifecycle, args *arguments.Args, collector collectors.Collector, consumer consumers.Consumer, logger log15.Logger) *HTTPMasterServer {
	if args.Secret == nil {
		return nil
	}
	s := NewHTTPMasterServer(args, collector, consumer, logger)
	utils.Append(lc, s, logger)
	return s
})
View Source
var HTTPService = fx.Provide(func(lc fx.Lifecycle, args *arguments.Args, collector collectors.Collector, forwarder forwarders.Forwarder, p parser.Parser, logger log15.Logger) *HTTPServer {
	s := NewHTTPServer(args, collector, forwarder, p, logger)
	utils.Append(lc, s, logger)
	return s
})
View Source
var IMAPMonitorService = fx.Provide(func(lc fx.Lifecycle, c *cli.Context, collector collectors.Collector, forwarder forwarders.Forwarder, logger log15.Logger) (*IMAPMonitor, error) {
	s, err := NewIMAPMonitor(c, collector, forwarder, logger)
	if err != nil {
		return nil, err
	}
	if lc != nil {
		utils.Append(lc, s, logger)
	}
	return s, nil
})
View Source
var MilterService = fx.Provide(func(lc fx.Lifecycle, args *arguments.Args, collector collectors.Collector, forwarder forwarders.Forwarder, p parser.Parser, logger log15.Logger) *MilterServer {
	s := NewMilterServer(args, collector, forwarder, logger)
	if lc != nil {
		utils.Append(lc, s, logger)
	}
	return s
})
View Source
var SMTPService = fx.Provide(func(lc fx.Lifecycle, args *arguments.Args, backend smtp.Backend, p parser.Parser, logger log15.Logger) *SMTPServer {
	s := NewSMTPService(args, backend, logger)
	utils.Append(lc, s, logger)
	return s
})

Functions

func Builder

func Builder(c *cli.Context, args *arguments.Args, invoke fx.Option, logger log15.Logger) *fx.App

func IMAPMonitorAction

func IMAPMonitorAction(c *cli.Context) error

func MilterAction

func MilterAction(c *cli.Context) error

func NewRecipient

func NewRecipient(secret *memguard.LockedBuffer) (*pake.Pake, error)

func NewSMTPBackend

func NewSMTPBackend(args *arguments.Args, collector collectors.Collector, forwarder forwarders.Forwarder, logger log15.Logger) smtp.Backend

func SMTPAction

func SMTPAction(c *cli.Context) error

func WorkerAction

func WorkerAction(c *cli.Context) error

Types

type Backend

type Backend struct {
	Port      int
	Collector collectors.Collector
	Forwarder forwarders.Forwarder
	Logger    log15.Logger
}

func (*Backend) AnonymousLogin

func (b *Backend) AnonymousLogin() (smtp.User, error)

func (*Backend) Login

func (b *Backend) Login(username, password string) (smtp.User, error)

type CurrentIncrements

type CurrentIncrements struct {
	// contains filtered or unexported fields
}

func NewIncrements

func NewIncrements() *CurrentIncrements

func (*CurrentIncrements) Check

func (i *CurrentIncrements) Check(workerID ulid.ULID, increment uint64) error

func (*CurrentIncrements) Erase

func (i *CurrentIncrements) Erase(workerID ulid.ULID)

func (*CurrentIncrements) NewWorker

func (i *CurrentIncrements) NewWorker(workerID ulid.ULID)

type HTTPEngine

type HTTPEngine *gin.Engine

func NewHTTPEngine

func NewHTTPEngine(collector collectors.Collector, forwarder forwarders.Forwarder, p parser.Parser, logger log15.Logger) HTTPEngine

type HTTPMasterEngine

type HTTPMasterEngine *gin.Engine

func NewHTTPMasterEngine

func NewHTTPMasterEngine(secret *memguard.LockedBuffer, collector collectors.Collector, consumer consumers.Consumer, logger log15.Logger) HTTPMasterEngine

type HTTPMasterServer

type HTTPMasterServer struct {
	*http.Server
	// contains filtered or unexported fields
}

func NewHTTPMasterServer

func NewHTTPMasterServer(args *arguments.Args, collector collectors.Collector, consumer consumers.Consumer, logger log15.Logger) *HTTPMasterServer

func (HTTPMasterServer) Name

func (s HTTPMasterServer) Name() string

func (HTTPMasterServer) Start

func (s HTTPMasterServer) Start(ctx context.Context) error

type HTTPServer

type HTTPServer struct {
	*http.Server
	// contains filtered or unexported fields
}

func NewHTTPServer

func NewHTTPServer(args *arguments.Args, collector collectors.Collector, forwarder forwarders.Forwarder, p parser.Parser, logger log15.Logger) *HTTPServer

func (HTTPServer) Name

func (s HTTPServer) Name() string

func (HTTPServer) Start

func (s HTTPServer) Start(ctx context.Context) error

type IMAPMonitor

type IMAPMonitor struct {
	URI string
	// contains filtered or unexported fields
}

func NewIMAPMonitor

func NewIMAPMonitor(c *cli.Context, collector collectors.Collector, forwarder forwarders.Forwarder, logger log15.Logger) (*IMAPMonitor, error)

func (*IMAPMonitor) Close

func (m *IMAPMonitor) Close() error

func (*IMAPMonitor) Name

func (m *IMAPMonitor) Name() string

func (*IMAPMonitor) Prestart

func (m *IMAPMonitor) Prestart() error

func (*IMAPMonitor) Start

func (m *IMAPMonitor) Start(ctx context.Context) error

type MilterImpl

type MilterImpl struct {
	Collector collectors.Collector
	Forwarder forwarders.Forwarder
	// contains filtered or unexported fields
}

func NewMilterImpl

func NewMilterImpl(collector collectors.Collector, forwarder forwarders.Forwarder) *MilterImpl

func (*MilterImpl) Body

func (e *MilterImpl) Body(m *milter.Modifier) (milter.Response, error)

func (*MilterImpl) BodyChunk

func (e *MilterImpl) BodyChunk(chunk []byte, m *milter.Modifier) (milter.Response, error)

func (*MilterImpl) Connect

func (e *MilterImpl) Connect(host string, family string, port uint16, addr net.IP, m *milter.Modifier) (milter.Response, error)

func (*MilterImpl) Header

func (e *MilterImpl) Header(name, value string, m *milter.Modifier) (milter.Response, error)

func (*MilterImpl) Headers

func (e *MilterImpl) Headers(headers textproto.MIMEHeader, m *milter.Modifier) (milter.Response, error)

func (*MilterImpl) Helo

func (e *MilterImpl) Helo(name string, m *milter.Modifier) (milter.Response, error)

func (*MilterImpl) MailFrom

func (e *MilterImpl) MailFrom(from string, m *milter.Modifier) (milter.Response, error)

func (*MilterImpl) RcptTo

func (e *MilterImpl) RcptTo(rcptTo string, m *milter.Modifier) (milter.Response, error)

type MilterServer

type MilterServer struct {
	Collector  collectors.Collector
	Forwarder  forwarders.Forwarder
	ListenAddr string
	ListenPort int
	Logger     log15.Logger
	Listener   net.Listener
}

func NewMilterServer

func NewMilterServer(args *arguments.Args, collector collectors.Collector, forwarder forwarders.Forwarder, logger log15.Logger) *MilterServer

func (*MilterServer) Name

func (s *MilterServer) Name() string

func (*MilterServer) Prestart

func (s *MilterServer) Prestart() error

func (*MilterServer) Start

func (s *MilterServer) Start(ctx context.Context) error

func (*MilterServer) Stop

func (s *MilterServer) Stop(context.Context) error

type PakeRecipients

type PakeRecipients struct {
	// contains filtered or unexported fields
}

func NewPakeRecipients

func NewPakeRecipients() *PakeRecipients

func (*PakeRecipients) Erase

func (r *PakeRecipients) Erase(workerID ulid.ULID)

func (*PakeRecipients) Get

func (r *PakeRecipients) Get(workerID ulid.ULID) (recipient *pake.Pake, err error)

func (*PakeRecipients) Has

func (r *PakeRecipients) Has(workerID ulid.ULID) bool

func (*PakeRecipients) Put

func (r *PakeRecipients) Put(workerID ulid.ULID, recipient *pake.Pake) error

type SMTPServer

type SMTPServer struct {
	*smtp.Server
	// contains filtered or unexported fields
}

func NewSMTPService

func NewSMTPService(args *arguments.Args, backend smtp.Backend, logger log15.Logger) *SMTPServer

func (*SMTPServer) Name

func (s *SMTPServer) Name() string

func (*SMTPServer) Prestart

func (s *SMTPServer) Prestart() error

func (*SMTPServer) Start

func (s *SMTPServer) Start(ctx context.Context) error

type SessionKeyStore

type SessionKeyStore struct {
	// contains filtered or unexported fields
}

func NewSessionKeyStore

func NewSessionKeyStore() *SessionKeyStore

func (*SessionKeyStore) Erase

func (r *SessionKeyStore) Erase(workerID ulid.ULID)

func (*SessionKeyStore) Get

func (r *SessionKeyStore) Get(workerID ulid.ULID) (key *memguard.LockedBuffer, err error)

func (*SessionKeyStore) Has

func (r *SessionKeyStore) Has(workerID ulid.ULID) bool

func (*SessionKeyStore) Put

func (r *SessionKeyStore) Put(workerID ulid.ULID, key []byte) error

type User

type User struct {
	Port      int
	Collector collectors.Collector
	Forwarder forwarders.Forwarder
	Logger    log15.Logger
	Stop      <-chan struct{}
}

func (*User) Logout

func (u *User) Logout() error

func (*User) Send

func (u *User) Send(from string, to []string, r io.Reader) error

type WorkerClient

type WorkerClient struct {
	HTTP           *http.Client
	MasterHostPort string

	PingURL   string
	SubmitURL string
	WorkURL   string
	ByeURL    string
	ACKURL    string
	Auth1URL  string
	Auth2URL  string
	// contains filtered or unexported fields
}

func NewWorker

func NewWorker(secret *memguard.LockedBuffer, hostport string, logger log15.Logger) *WorkerClient

func (*WorkerClient) ACK

func (w *WorkerClient) ACK(ctx context.Context, uid ulid.ULID) error

func (*WorkerClient) Auth

func (w *WorkerClient) Auth(ctx context.Context) error

Jump to

Keyboard shortcuts

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