Skip to content

skriptble/nine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

6+1+2+0 = nine

Nine is an XMPP 6120 library. It contains the components necessary to build an XMPP server or client. The library is broken into several packages, each of which handles a specific piece of the 6120 specification’s functionality. These include:

Stream

The stream package is responsible for separating the underlying transport layers (TCP implemented here, BOSH implemented in gabble) from the XMPP application logic (stanza handling).

SASL

Handles the SASL related functionality.

Namespace

Maps constants to XMPP namespaces. This helps in avoiding mistyping a namespace.

JID

Handles JID creation and validation.

Element

Handles element parsing, marshalling, and manipulation.

Element/Stanza

Handles stanza specific transformation and manipulation.

Bind

Handles stream negotiation binding.

Prototype

Under the cmd/prototype directory is a prototype implementation of an RFC 6120 XMPP server. It only handles stream negotiation, however it can be expanded to handle other types of XMPP logic. The prototype requires a signed certificate and key to startup properly. A self signed key works for this purpose.

About

Nine is an XMPP core library (RFC 6120)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages