Documentation
¶
Overview ¶
Package module provides XMPP functionality.
Index ¶
- type IQProcessor
- type Module
- type Modules
- func (m *Modules) AllModules() []Module
- func (m *Modules) IsEnabled(moduleName string) bool
- func (m *Modules) IsModuleIQ(iq *stravaganza.IQ) bool
- func (m *Modules) ProcessIQ(ctx context.Context, iq *stravaganza.IQ) error
- func (m *Modules) Start(ctx context.Context) error
- func (m *Modules) Stop(ctx context.Context) error
- func (m *Modules) StreamFeatures(ctx context.Context, domain string) ([]stravaganza.Element, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type IQProcessor ¶
type IQProcessor interface {
Module
// MatchesNamespace tells whether iq child namespace corresponds to this module.
// The serverTarget parameter will be true in case iq target is a server entity.
MatchesNamespace(namespace string, serverTarget bool) bool
// ProcessIQ will be invoked whenever iq stanza should be processed by this module.
ProcessIQ(ctx context.Context, iq *stravaganza.IQ) error
}
IQProcessor represents an iq processor module type.
type Module ¶
type Module interface {
// Name returns specific module name.
Name() string
// StreamFeature returns module stream feature element.
StreamFeature(ctx context.Context, domain string) (stravaganza.Element, error)
// ServerFeatures returns module server features.
ServerFeatures(ctx context.Context) ([]string, error)
// AccountFeatures returns module account features.
AccountFeatures(ctx context.Context) ([]string, error)
// Start starts module.
Start(ctx context.Context) error
// Stop stops module.
Stop(ctx context.Context) error
}
Module represents generic module interface.
type Modules ¶
type Modules struct {
// contains filtered or unexported fields
}
Modules is the global module hub.
func NewModules ¶
func NewModules( mods []Module, hosts *host.Hosts, router router.Router, hk *hook.Hooks, logger kitlog.Logger, ) *Modules
NewModules returns a new initialized Modules instance.
func (*Modules) AllModules ¶
AllModules returns all configured modules.
func (*Modules) IsModuleIQ ¶
func (m *Modules) IsModuleIQ(iq *stravaganza.IQ) bool
IsModuleIQ returns true in case iq stanza should be handled by modules.
func (*Modules) StreamFeatures ¶
StreamFeatures returns stream features of all registered modules.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package accountactivity tracks user login/logout events via hooks.
|
Package accountactivity tracks user login/logout events via hooks. |
|
Package announce implements the Server Announce / MOTD module.
|
Package announce implements the Server Announce / MOTD module. |
|
Package antispam provides XMPP functionality.
|
Package antispam provides XMPP functionality. |
|
Package blockstrangers silently drops incoming S2S messages from JIDs that are not in the recipient's roster.
|
Package blockstrangers silently drops incoming S2S messages from JIDs that are not in the recipient's roster. |
|
Package certwatch monitors TLS certificate expiry for all configured hosts.
|
Package certwatch monitors TLS certificate expiry for all configured hosts. |
|
Package motd implements a Message of the Day module.
|
Package motd implements a Message of the Day module. |
|
Package mucrtbl implements a MUC Real-Time Block List.
|
Package mucrtbl implements a MUC Real-Time Block List. |
|
Package offline provides XMPP functionality.
|
Package offline provides XMPP functionality. |
|
Package prescounter implements presence subscription flood detection.
|
Package prescounter implements presence subscription flood detection. |
|
Package roster provides XMPP functionality.
|
Package roster provides XMPP functionality. |
|
Package sharedroster implements server-managed shared roster groups (mod_shared_roster).
|
Package sharedroster implements server-managed shared roster groups (mod_shared_roster). |
|
Package webregister provides a simple HTML registration page.
|
Package webregister provides a simple HTML registration page. |
|
Package xep0004 implements XEP-0004: Data Forms.
|
Package xep0004 implements XEP-0004: Data Forms. |
|
Package xep0012 provides XMPP functionality.
|
Package xep0012 provides XMPP functionality. |
|
Package xep0016 implements XEP-0016: Privacy Lists.
|
Package xep0016 implements XEP-0016: Privacy Lists. |
|
Package xep0030 implements XEP-0030 Service Discovery.
|
Package xep0030 implements XEP-0030 Service Discovery. |
|
Package xep0033 implements Extended Stanza Addressing (XEP-0033) feature advertisement.
|
Package xep0033 implements Extended Stanza Addressing (XEP-0033) feature advertisement. |
|
Package xep0045 provides XMPP functionality.
|
Package xep0045 provides XMPP functionality. |
|
Package xep0049 provides XMPP functionality.
|
Package xep0049 provides XMPP functionality. |
|
Package xep0050 provides XMPP functionality.
|
Package xep0050 provides XMPP functionality. |
|
Package xep0054 provides XMPP functionality.
|
Package xep0054 provides XMPP functionality. |
|
Package xep0055 implements Jabber Search (XEP-0055).
|
Package xep0055 implements Jabber Search (XEP-0055). |
|
Package xep0059 implements XEP-0059: Result Set Management.
|
Package xep0059 implements XEP-0059: Result Set Management. |
|
Package xep0060 implements XEP-0060: Publish-Subscribe.
|
Package xep0060 implements XEP-0060: Publish-Subscribe. |
|
Package xep0065 implements XEP-0065: SOCKS5 Bytestreams.
|
Package xep0065 implements XEP-0065: SOCKS5 Bytestreams. |
|
Package xep0066 implements XEP-0066: Out of Band Data.
|
Package xep0066 implements XEP-0066: Out of Band Data. |
|
Package xep0077 implements XEP-0077: In-Band Registration.
|
Package xep0077 implements XEP-0077: In-Band Registration. |
|
Package xep0084 implements XEP-0084: User Avatar.
|
Package xep0084 implements XEP-0084: User Avatar. |
|
Package xep0085 implements XEP-0085: Chat State Notifications.
|
Package xep0085 implements XEP-0085: Chat State Notifications. |
|
Package xep0092 implements XEP-0092: Software Version.
|
Package xep0092 implements XEP-0092: Software Version. |
|
Package xep0115 implements XEP-0115: Entity Capabilities.
|
Package xep0115 implements XEP-0115: Entity Capabilities. |
|
Package xep0133 provides XMPP functionality.
|
Package xep0133 provides XMPP functionality. |
|
Package xep0153 implements XEP-0153: vCard-Based Avatars.
|
Package xep0153 implements XEP-0153: vCard-Based Avatars. |
|
Package xep0156 implements XEP-0156: Discovering Alternative XMPP Connection Methods.
|
Package xep0156 implements XEP-0156: Discovering Alternative XMPP Connection Methods. |
|
Package xep0157 implements XEP-0157: Contact Addresses for XMPP Services.
|
Package xep0157 implements XEP-0157: Contact Addresses for XMPP Services. |
|
Package xep0178 implements XEP-0178: Best Practices for Use of SASL EXTERNAL.
|
Package xep0178 implements XEP-0178: Best Practices for Use of SASL EXTERNAL. |
|
Package xep0184 implements XEP-0184: Message Delivery Receipts.
|
Package xep0184 implements XEP-0184: Message Delivery Receipts. |
|
Package xep0191 provides XMPP functionality.
|
Package xep0191 provides XMPP functionality. |
|
Package xep0198 provides XMPP functionality.
|
Package xep0198 provides XMPP functionality. |
|
queue
Package streamqueue provides XMPP functionality.
|
Package streamqueue provides XMPP functionality. |
|
Package xep0199 provides XMPP functionality.
|
Package xep0199 provides XMPP functionality. |
|
Package xep0202 provides XMPP functionality.
|
Package xep0202 provides XMPP functionality. |
|
Package xep0206 provides XMPP functionality.
|
Package xep0206 provides XMPP functionality. |
|
Package xep0215 implements XEP-0215: External Service Discovery.
|
Package xep0215 implements XEP-0215: External Service Discovery. |
|
Package xep0227 implements XEP-0227: Portable Import/Export Format for XMPP-IM Servers.
|
Package xep0227 implements XEP-0227: Portable Import/Export Format for XMPP-IM Servers. |
|
Package xep0231 implements Bits of Binary (XEP-0231) feature advertisement.
|
Package xep0231 implements Bits of Binary (XEP-0231) feature advertisement. |
|
Package xep0279 implements XEP-0279: Server IP Check.
|
Package xep0279 implements XEP-0279: Server IP Check. |
|
Package xep0280 implements XEP-0280: Message Carbons.
|
Package xep0280 implements XEP-0280: Message Carbons. |
|
Package xep0292 implements XEP-0292: vCard4 Over XMPP.
|
Package xep0292 implements XEP-0292: vCard4 Over XMPP. |
|
Package xep0308 provides XMPP functionality.
|
Package xep0308 provides XMPP functionality. |
|
Package xep0313 implements XEP-0313: Message Archive Management.
|
Package xep0313 implements XEP-0313: Message Archive Management. |
|
Package xep0328 implements JID Prep (XEP-0328) feature advertisement.
|
Package xep0328 implements JID Prep (XEP-0328) feature advertisement. |
|
Package xep0333 implements XEP-0333: Displayed Markers.
|
Package xep0333 implements XEP-0333: Displayed Markers. |
|
Package xep0352 implements XEP-0352: Client State Indication.
|
Package xep0352 implements XEP-0352: Client State Indication. |
|
Package xep0353 implements XEP-0353: Jingle Message Initiation.
|
Package xep0353 implements XEP-0353: Jingle Message Initiation. |
|
Package xep0355 implements Namespace Delegation (XEP-0355) feature advertisement.
|
Package xep0355 implements Namespace Delegation (XEP-0355) feature advertisement. |
|
Package xep0356 implements Privileged Entity (XEP-0356) feature advertisement.
|
Package xep0356 implements Privileged Entity (XEP-0356) feature advertisement. |
|
Package xep0357 implements XEP-0357 Push Notifications.
|
Package xep0357 implements XEP-0357 Push Notifications. |
|
Package xep0359 implements XEP-0359: Unique and Stable Stanza IDs.
|
Package xep0359 implements XEP-0359: Unique and Stable Stanza IDs. |
|
Package xep0363 implements XEP-0363: HTTP File Upload.
|
Package xep0363 implements XEP-0363: HTTP File Upload. |
|
Package xep0369 implements MIX (XEP-0369/XEP-0405) — Mediated Information eXchange.
|
Package xep0369 implements MIX (XEP-0369/XEP-0405) — Mediated Information eXchange. |
|
Package xep0377 implements XEP-0377: Spam Reporting.
|
Package xep0377 implements XEP-0377: Spam Reporting. |
|
Package xep0380 implements XEP-0380: Explicit Message Encryption.
|
Package xep0380 implements XEP-0380: Explicit Message Encryption. |
|
Package xep0392 implements XEP-0392: Consistent Color Generation.
|
Package xep0392 implements XEP-0392: Consistent Color Generation. |
|
Package xep0394 implements XEP-0394: Message Markup.
|
Package xep0394 implements XEP-0394: Message Markup. |
|
Package xep0397 implements XEP-0397: Instant Stream Resumption.
|
Package xep0397 implements XEP-0397: Instant Stream Resumption. |
|
Package xep0398 implements XEP-0398: User Avatar to vCard-Based Avatars Conversion.
|
Package xep0398 implements XEP-0398: User Avatar to vCard-Based Avatars Conversion. |
|
Package xep0401 provides XMPP functionality.
|
Package xep0401 provides XMPP functionality. |
|
Package xep0411 implements XEP-0411: Bookmarks Conversion.
|
Package xep0411 implements XEP-0411: Bookmarks Conversion. |
|
Package xep0421 provides XMPP functionality.
|
Package xep0421 provides XMPP functionality. |
|
Package xep0424 implements XEP-0424: Message Retraction.
|
Package xep0424 implements XEP-0424: Message Retraction. |
|
Package xep0425 provides XMPP functionality.
|
Package xep0425 provides XMPP functionality. |
|
Package xep0433 implements XEP-0433: Extended Channel Search.
|
Package xep0433 implements XEP-0433: Extended Channel Search. |
|
Package xep0440 implements XEP-0440: SASL Channel-Binding Type Capability.
|
Package xep0440 implements XEP-0440: SASL Channel-Binding Type Capability. |
|
Package xep0441 implements MAM Extended (XEP-0441) feature advertisement.
|
Package xep0441 implements MAM Extended (XEP-0441) feature advertisement. |
|
Package xep0444 implements XEP-0444: Message Reactions.
|
Package xep0444 implements XEP-0444: Message Reactions. |
|
Package xep0453 implements XEP-0453: DOAP usage in XMPP.
|
Package xep0453 implements XEP-0453: DOAP usage in XMPP. |
|
Package xep0461 provides XMPP functionality.
|
Package xep0461 provides XMPP functionality. |
|
Package xep0482 provides XMPP functionality.
|
Package xep0482 provides XMPP functionality. |
|
Package xep0485 implements XEP-0485: PubSub Server Information.
|
Package xep0485 implements XEP-0485: PubSub Server Information. |
|
Package xep0490 implements XEP-0490: Message Displayed Synchronization.
|
Package xep0490 implements XEP-0490: Message Displayed Synchronization. |
Click to show internal directories.
Click to hide internal directories.