-
Notifications
You must be signed in to change notification settings - Fork 0
An XMPP daemon written in C (previously targeting the deprecated Google Wave Protocol)
License
mortehu/Vink
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
CRYPT-CR Server: uniq, salt Client: SHA256(uniq ":" crypt(salt, passwd)) XOR passwd SETTING UP DNS You need a record like this in your DNS server configuration: _xmpp-server._tcp IN SRV 0 10 5222 xmpp xmpp is the hostname of the server the vink daemon is running on. If your domain is "example.org", this would mean "host.example.org" handles the "user@example.org" addresses. SETTING UP TLS A TLS server needs a private key and a certificate that verifies the owner of this private key. The certificate is usually provided by a Certificate Authority (CA). To create the private key, run: openssl genrsa -out /etc/vink.d/privkey.pem To create a certificate signing request for this key, run: openssl req -key /etc/vink.d/privkey.pem -new -out key.csr The "Common Name" certificate parameter is what software will look at to verify host names. If your server is hosting "user@example.org", you need to enter "example.org" as your Common Name. Now you submit the "key.csr" file to a Certificate Authority, and you will get a certificate chain in return. Save that file as "/etc/vink.d/certiciates.pem". The reason why we call it a chain, is that there may be a series of certificates verifying each other, before ultimately ending up with a signature from someone trusted by all the major operating systems. You do not need the certificate from a Certificate Authority if you're only doing testing, or running on a closed network. To sign your own certiicate, run this command instead of the second command: openssl req -key /etc/vink.d/privkey.pem -new -x509 -out /etc/vink.d/certificates.pem SSL test: openssl s_client -CAfile /etc/ssl/certs/ca-certificates.crt -host wave.rashbox.org -port 5222 Discovery result from acmewave.com 2009-11-07 <iq type="result" id="157-3" from="acmewave.com" to="rashbox.org"> <query xmlns="http://jabber.org/protocol/disco#info"> <identity category="server" name="Openfire Server" type="im"/> <identity category="pubsub" type="pep"/> <feature var="google:jingleinfo"/> <feature var="http://jabber.org/protocol/address"/> <feature var="http://jabber.org/protocol/commands"/> <feature var="http://jabber.org/protocol/disco#info"/> <feature var="http://jabber.org/protocol/disco#items"/> <feature var="http://jabber.org/protocol/offline"/> <feature var="http://jabber.org/protocol/pubsub"/> <feature var="http://jabber.org/protocol/pubsub#collections"/> <feature var="http://jabber.org/protocol/pubsub#config-node"/> <feature var="http://jabber.org/protocol/pubsub#create-and-configure"/> <feature var="http://jabber.org/protocol/pubsub#create-nodes"/> <feature var="http://jabber.org/protocol/pubsub#default_access_model_open"/> <feature var="http://jabber.org/protocol/pubsub#delete-nodes"/> <feature var="http://jabber.org/protocol/pubsub#get-pending"/> <feature var="http://jabber.org/protocol/pubsub#instant-nodes"/> <feature var="http://jabber.org/protocol/pubsub#item-ids"/> <feature var="http://jabber.org/protocol/pubsub#manage-subscriptions"/> <feature var="http://jabber.org/protocol/pubsub#meta-data"/> <feature var="http://jabber.org/protocol/pubsub#modify-affiliations"/> <feature var="http://jabber.org/protocol/pubsub#multi-subscribe"/> <feature var="http://jabber.org/protocol/pubsub#outcast-affiliation"/> <feature var="http://jabber.org/protocol/pubsub#persistent-items"/> <feature var="http://jabber.org/protocol/pubsub#presence-notifications"/> <feature var="http://jabber.org/protocol/pubsub#publish"/> <feature var="http://jabber.org/protocol/pubsub#publisher-affiliation"/> <feature var="http://jabber.org/protocol/pubsub#purge-nodes"/> <feature var="http://jabber.org/protocol/pubsub#retract-items"/> <feature var="http://jabber.org/protocol/pubsub#retrieve-affiliations"/> <feature var="http://jabber.org/protocol/pubsub#retrieve-default"/> <feature var="http://jabber.org/protocol/pubsub#retrieve-items"/> <feature var="http://jabber.org/protocol/pubsub#retrieve-subscriptions"/> <feature var="http://jabber.org/protocol/pubsub#subscribe"/> <feature var="http://jabber.org/protocol/pubsub#subscription-options"/> <feature var="http://jabber.org/protocol/rsm"/> <feature var="jabber:iq:last"/> <feature var="jabber:iq:privacy"/> <feature var="jabber:iq:private"/> <feature var="jabber:iq:register"/> <feature var="jabber:iq:roster"/> <feature var="jabber:iq:time"/> <feature var="jabber:iq:version"/> <feature var="urn:xmpp:ping"/> <feature var="vcard-temp"/> </query> </iq>
About
An XMPP daemon written in C (previously targeting the deprecated Google Wave Protocol)
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published