-
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
"[email protected]" 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 "[email protected]", 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