Giter Site home page Giter Site logo

vines's Introduction

Vines XMPP Server

Vines is an XMPP chat server that supports thousands of simultaneous connections, using EventMachine for asynchronous IO. User data is stored in a SQL database, CouchDB, MongoDB, Redis, the file system, or a custom storage implementation that you provide. LDAP authentication can be used so user names and passwords aren't stored in the chat database. SSL encryption is mandatory on all client and server connections.

The server includes support for web chat clients, using BOSH (XMPP over HTTP). A sample web application is available in the vines-web gem.

Additional documentation can be found at getvines.org.

Usage

$ gem install vines
$ vines init wonderland.lit
$ cd wonderland.lit && vines start

Login with your favorite chat program (iChat, Adium, Pidgin, etc.) to start chatting!

Dependencies

Vines requires Ruby 1.9.3 or better. Instructions for installing the needed OS packages, as well as Ruby itself, are available at http://www.getvines.org/ruby.

Development

$ script/bootstrap
$ script/tests

Standards support

Vines implements the full XMPP specs in RFC 6120 and RFC 6121. It also implements the following extensions.

Contact

License

Vines is released under the MIT license. Check the LICENSE file for details.

vines's People

Contributors

benlangfeld avatar dgraham avatar elijh avatar fyafighter avatar jbarnette avatar monban avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vines's Issues

multi_json conflicts

when I run vines start -d, I get the following message

Unable to activate couchrest-1.1.2, because multi_json-1.2.0 conflicts with multi_json (~> 1.0.0)

Clients can not join muc room.

When a client on a client connection sends a presence with an explicit to jid, and this jid was not previously allowed to receive broadcast presence, the presence is not transmitted. This filtering is done in lib/vines/stanza/presence.rb:45 in revision cb72247.

I have not read the corresponding parts of the RFC, but I am fairly sure this must be wrong. If a client joins a muc(multi user chat) room as in XEP-0045, the client sends a presence to the room. Such a presence to a room is ignored. Therefore a client connected to vines can not join a muc room on any server.

undefined method `[]' for nil:NilClass

After installing everything and running vines-services init app.com

I get "undefined method `[]' for nil:NilClass" after putting in the name and password of my first user.

Any ideas?

suspected version checking error during gem install

OS: x86 Ubuntu, and PPC Debian -- same result

Ruby Version: ruby 1.9.2dev (2010-07-02) [i486-linux] & ruby 1.9.2dev (2010-07-11) [powerpc-linux]

Your installer does not accept my versions of Ruby, probably because of the 'dev' suffix. Given the >grrr< slowness of the distro maintainers in keeping ruby updated in the package manager, I've had to resort to adding a ppa for ubuntu, and compiling from scratch on the PPC unit.

Given the hoops I have to jump through to get a nearly current version of ruby on my systems, I am appealing to you to accept my ruby version with a more flexible version of the version checking code, rather than having me running around attempting to rebuild it all on my systems. They are, after all, valid 1.9.2 installations.

Thanks,

mistergibson

OpenSSL::PKey::RSA.generate sometimes fails in test

Ubuntu 14.04
Ruby 2.1.2
Vines HEAD

80% of the time, all 900 assertions run without issue, 20% of the time I get this:

monban@caesura:~/vines$ script/tests
Run options: --seed 63033

# Running:

................................................................................................................................................................................................................................................................E.....................................................................................................................................

Finished in 2.687001s, 145.1432 runs/s, 334.2016 assertions/s.

  1) Error:
Vines::Store#test_0001_parses certificate files:
OpenSSL::PKey::RSAError: BN lib
    /home/monban/vines/test/store_test.rb:106:in `generate'
    /home/monban/vines/test/store_test.rb:106:in `certificate'
    /home/monban/vines/test/store_test.rb:13:in `block (2 levels) in <top (required)>'

390 runs, 898 assertions, 0 failures, 1 errors, 0 skips
rake aborted!
Command failed with status (1): [ruby -I"lib:test:test/storage" -I"/home/monban/vines/.bundle/gems/ruby/2.0.0/gems/rake-10.1.1/lib" "/home/monban/vines/.bundle/gems/ruby/2.0.0/gems/rake-10.1.1/lib/rake/rake_test_loader.rb" "test/**/*_test.rb" ]

Tasks: TOP => test
(See full trace by running task with --trace)

Seems to be some kind of race condition? It does not always occur with the same seed. I am also NOT able to reproduce it by doing this:

require 'openssl'
10000.times { OpenSSL::PKey::RSA.generate(256) }

That runs flawlessly every time.

Funny note, the bug does NOT appear on Ruby HEAD. The shipping version of eventmachine does not compile against Ruby HEAD, but the latest version from the repo DOES, so it might be related to eventmachine#457?

In any event the problem will likely resolve itself with new versions of Ruby, and I'm not sure if this happens in actual production (haven't seen it yet) or just because of the way this test is run. This is mostly for documentation purposes if (when) people see it running Vines on Ruby 2.1.2.

Doesn't send initial presence to yourself

Vines doesn't send you your initial presence, which you MUST according to Section 4.2.2 of XMPP IM:

The user's server MUST also broadcast initial presence from the
user's newly available resource to all of the user's available
resources, including the resource that generated the presence
notification in the first place (i.e., an entity is implicitly
subscribed to its own presence).

Based on a quick look at lib/vines/stanza/presence.rb I would guess that switching the order of presence broadcasting and stream.available! should fix this.

No such file or directory - ../server/conf/certs/wonderland.lit.crt

~: vines-services init wonderland.lit
Creating a new chat user account
User ID: cooluser
Password:
Created user: [email protected]
Started vines server: vines start -d
Started vines services component: vines-services start -d
No such file or directory - ../server/conf/certs/wonderland.lit.crt

why does it appear "No such file or directory - ../server/conf/certs/wonderland.lit.crt"

Document supported XEPs

It is very hard to know which XEP are implemented, which aren't : one has to guess it from reading several pages on the website.
A page listing all implemented XEPs (Prosody does : this is good. see http://prosody.im/doc/xeplist) would be very useful. I don't think it would be useful to list unimplemented XEPs (Prosody does, this is bad)
Thanks

jRuby issue: FATAL -- vines: XMPP server stopped

Hi, I did the simple Vines server install, and it worked fine with MRI on my Linux Mint 12 box.

But when I tried it with jRuby 1.7.4, the server starts correctly, but as soon as I log in one of the users (alice or arthur) in Pidgin, the server crashes with this message:

serial number must be a positive integer
[2013-09-09T02:20:12Z] FATAL -- vines: XMPP server stopped

jruby

Hi,
How do I use jruby to run vines?

jruby is 1.9.2 compatible, doesn't it?

RFCs and XEPs support page with VERSION

Is the project still active

Hi Guys,

I am just wondering if this project still alive. Cause, as i see, last commit is really old.

Kind regards

compliant with devise

It will be simpler to run any rails app as web interface instead js web if we will store authentication info compliant with devise defaults. What are you think about it?

Unable to connect with ChatSecure(Android) client

Vines server running with default config. Pidgin connects normaly.
But SecureChat shows "Signing in ..." and doesnt connect

ubuntu@ubuntu-VirtualBox:~/vines/local.lit$ vines start
[2014-04-08T15:42:06Z]  INFO -- vines: XMPP server started
[2014-04-08T15:42:06Z]  INFO -- vines: Accepting client connections on 0.0.0.0:5222
[2014-04-08T15:42:06Z]  INFO -- vines: Accepting server connections on 0.0.0.0:5269
[2014-04-08T15:42:06Z]  INFO -- vines: Accepting http connections on 0.0.0.0:5280
[2014-04-08T15:42:06Z]  INFO -- vines: Accepting component connections on 0.0.0.0:5347

[2014-04-08T15:42:15Z]  INFO -- vines: Stream connected:        192.168.1.2:38712 -> 192.168.1.6:5222

[2014-04-08T15:42:15Z] DEBUG -- vines: Received stanza:         192.168.1.2:38712 -> 192.168.1.6:5222

<stream:stream xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" to="local.lit" version="1.0"/>



[2014-04-08T15:42:15Z] DEBUG -- vines: Sent stanza:              192.168.1.6:5222 -> 192.168.1.2:38712

<stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' xml:lang='en' id='99222cc1-e5df-4a07-99c1-a5a6fef6266f' from='local.lit' version='1.0'>



[2014-04-08T15:42:15Z] DEBUG -- vines: Sent stanza:              192.168.1.6:5222 -> 192.168.1.2:38712

<stream:features>

  <starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls">

    <required/>

  </starttls>

</stream:features>



[2014-04-08T15:42:15Z] DEBUG -- vines: Received stanza:         192.168.1.2:38712 -> 192.168.1.6:5222

<starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/>



[2014-04-08T15:42:15Z] DEBUG -- vines: Sent stanza:              192.168.1.6:5222 -> 192.168.1.2:38712

<proceed xmlns="urn:ietf:params:xml:ns:xmpp-tls"/>



[2014-04-08T15:42:16Z] DEBUG -- vines: Received stanza:         192.168.1.2:38712 -> 192.168.1.6:5222

<stream:stream xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" to="local.lit" version="1.0"/>



[2014-04-08T15:42:16Z] DEBUG -- vines: Sent stanza:              192.168.1.6:5222 -> 192.168.1.2:38712

<stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' xml:lang='en' id='2fac751d-7018-4c4c-bd61-8c13b6326f63' from='local.lit' version='1.0'>



[2014-04-08T15:42:16Z] DEBUG -- vines: Sent stanza:              192.168.1.6:5222 -> 192.168.1.2:38712

<stream:features>

  <mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl">

    <mechanism>PLAIN</mechanism>

  </mechanisms>

</stream:features>



[2014-04-08T15:42:16Z] DEBUG -- vines: Received stanza:         192.168.1.2:38712 -> 192.168.1.6:5222

<auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="PLAIN">YWxpY2UAYWxpY2UAc2VjcjN0</auth>



[2014-04-08T15:42:16Z]  INFO -- vines: Authenticating user: [email protected]

[2014-04-08T15:42:16Z]  INFO -- vines: Authentication succeeded: [email protected]

[2014-04-08T15:42:16Z] DEBUG -- vines: Sent stanza:              192.168.1.6:5222 -> 192.168.1.2:38712

<success xmlns="urn:ietf:params:xml:ns:xmpp-sasl"/>



[2014-04-08T15:42:16Z] DEBUG -- vines: Received stanza:         192.168.1.2:38712 -> 192.168.1.6:5222

<stream:stream xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" to="local.lit" version="1.0"/>



[2014-04-08T15:42:16Z] DEBUG -- vines: Sent stanza:              192.168.1.6:5222 -> 192.168.1.2:38712

<stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' xml:lang='en' id='890f0c03-f22b-485a-a64d-b16e997a2f96' from='local.lit' version='1.0'>



[2014-04-08T15:42:16Z] DEBUG -- vines: Sent stanza:              192.168.1.6:5222 -> 192.168.1.2:38712

<stream:features>

  <bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/>

</stream:features>



[2014-04-08T15:42:16Z] DEBUG -- vines: Received stanza:         192.168.1.2:38712 -> 192.168.1.6:5222

<iq id="k0305-5261" type="set">

  <bind xmlns="urn:ietf:params:xml:ns:xmpp-bind">

    <resource/>

  </bind>

</iq>



[2014-04-08T15:42:16Z] DEBUG -- vines: Sent stanza:              192.168.1.6:5222 -> 192.168.1.2:38712

<iq id="k0305-5261" type="result">

  <bind xmlns="urn:ietf:params:xml:ns:xmpp-bind">

    <jid>[email protected]/f3cba9a2-b6ce-47a6-870c-f7531703671e</jid>

  </bind>

</iq>



[2014-04-08T15:42:16Z] DEBUG -- vines: Sent stanza:              192.168.1.6:5222 -> 192.168.1.2:38712

<stream:features/>



[2014-04-08T15:42:19Z]  INFO -- vines: Stream connected:        192.168.1.2:38713 -> 192.168.1.6:5222

[2014-04-08T15:42:19Z] DEBUG -- vines: Received stanza:         192.168.1.2:38713 -> 192.168.1.6:5222

<stream:stream xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" to="local.lit" version="1.0"/>



[2014-04-08T15:42:19Z] DEBUG -- vines: Sent stanza:              192.168.1.6:5222 -> 192.168.1.2:38713

<stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' xml:lang='en' id='0241401f-060e-43f6-b88a-31f077ac7953' from='local.lit' version='1.0'>



[2014-04-08T15:42:19Z] DEBUG -- vines: Sent stanza:              192.168.1.6:5222 -> 192.168.1.2:38713

<stream:features>

  <starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls">

    <required/>

  </starttls>

</stream:features>



[2014-04-08T15:42:19Z] DEBUG -- vines: Received stanza:         192.168.1.2:38713 -> 192.168.1.6:5222

<starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/>



[2014-04-08T15:42:19Z] DEBUG -- vines: Sent stanza:              192.168.1.6:5222 -> 192.168.1.2:38713

<proceed xmlns="urn:ietf:params:xml:ns:xmpp-tls"/>



[2014-04-08T15:42:19Z] DEBUG -- vines: Received stanza:         192.168.1.2:38713 -> 192.168.1.6:5222

<stream:stream xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" to="local.lit" version="1.0"/>



[2014-04-08T15:42:19Z] DEBUG -- vines: Sent stanza:              192.168.1.6:5222 -> 192.168.1.2:38713

<stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' xml:lang='en' id='3c82a88f-aae3-4b76-b9ff-dc294bccf982' from='local.lit' version='1.0'>



[2014-04-08T15:42:19Z] DEBUG -- vines: Sent stanza:              192.168.1.6:5222 -> 192.168.1.2:38713

<stream:features>

  <mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl">

    <mechanism>PLAIN</mechanism>

  </mechanisms>

</stream:features>



[2014-04-08T15:42:19Z] DEBUG -- vines: Received stanza:         192.168.1.2:38713 -> 192.168.1.6:5222

<auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="PLAIN">YWxpY2UAYWxpY2UAc2VjcjN0</auth>



[2014-04-08T15:42:19Z]  INFO -- vines: Authenticating user: [email protected]

[2014-04-08T15:42:19Z]  INFO -- vines: Authentication succeeded: [email protected]

[2014-04-08T15:42:19Z] DEBUG -- vines: Sent stanza:              192.168.1.6:5222 -> 192.168.1.2:38713

<success xmlns="urn:ietf:params:xml:ns:xmpp-sasl"/>



[2014-04-08T15:42:19Z] DEBUG -- vines: Received stanza:         192.168.1.2:38713 -> 192.168.1.6:5222

<stream:stream xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" to="local.lit" version="1.0"/>



[2014-04-08T15:42:19Z] DEBUG -- vines: Sent stanza:              192.168.1.6:5222 -> 192.168.1.2:38713

<stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' xml:lang='en' id='9b0d7a0a-d533-464c-85cd-52c9d54df7c3' from='local.lit' version='1.0'>



[2014-04-08T15:42:19Z] DEBUG -- vines: Sent stanza:              192.168.1.6:5222 -> 192.168.1.2:38713

<stream:features>

  <bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/>

</stream:features>



[2014-04-08T15:42:19Z] DEBUG -- vines: Received stanza:         192.168.1.2:38713 -> 192.168.1.6:5222

<iq id="k0305-5263" type="set">

  <bind xmlns="urn:ietf:params:xml:ns:xmpp-bind">

    <resource/>

  </bind>

</iq>



[2014-04-08T15:42:19Z] DEBUG -- vines: Sent stanza:              192.168.1.6:5222 -> 192.168.1.2:38713

<iq id="k0305-5263" type="result">

  <bind xmlns="urn:ietf:params:xml:ns:xmpp-bind">

    <jid>[email protected]/fc6bdcbc-5748-49bb-aa44-77a813030ca0</jid>

  </bind>

</iq>



[2014-04-08T15:42:19Z] DEBUG -- vines: Sent stanza:              192.168.1.6:5222 -> 192.168.1.2:38713

<stream:features/>



[2014-04-08T15:43:19Z]  INFO -- vines: Stream connected:        192.168.1.2:38714 -> 192.168.1.6:5222

[2014-04-08T15:43:19Z] DEBUG -- vines: Received stanza:         192.168.1.2:38714 -> 192.168.1.6:5222

<stream:stream xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" to="local.lit" version="1.0"/>



[2014-04-08T15:43:19Z] DEBUG -- vines: Sent stanza:              192.168.1.6:5222 -> 192.168.1.2:38714

<stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' xml:lang='en' id='45db5773-8b8d-4c7f-94ec-40eb5160f691' from='local.lit' version='1.0'>



[2014-04-08T15:43:19Z] DEBUG -- vines: Sent stanza:              192.168.1.6:5222 -> 192.168.1.2:38714

<stream:features>

  <starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls">

    <required/>

  </starttls>

</stream:features>



[2014-04-08T15:43:19Z] DEBUG -- vines: Received stanza:         192.168.1.2:38714 -> 192.168.1.6:5222

<starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/>



[2014-04-08T15:43:19Z] DEBUG -- vines: Sent stanza:              192.168.1.6:5222 -> 192.168.1.2:38714

<proceed xmlns="urn:ietf:params:xml:ns:xmpp-tls"/>



[2014-04-08T15:43:19Z] DEBUG -- vines: Received stanza:         192.168.1.2:38714 -> 192.168.1.6:5222

<stream:stream xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" to="local.lit" version="1.0"/>



[2014-04-08T15:43:19Z] DEBUG -- vines: Sent stanza:              192.168.1.6:5222 -> 192.168.1.2:38714

<stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' xml:lang='en' id='a286ab98-8de3-465f-ad90-b0d0cc068d10' from='local.lit' version='1.0'>



[2014-04-08T15:43:19Z] DEBUG -- vines: Sent stanza:              192.168.1.6:5222 -> 192.168.1.2:38714

<stream:features>

  <mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl">

    <mechanism>PLAIN</mechanism>

  </mechanisms>

</stream:features>



[2014-04-08T15:43:19Z] DEBUG -- vines: Received stanza:         192.168.1.2:38714 -> 192.168.1.6:5222

<auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="PLAIN">YWxpY2UAYWxpY2UAc2VjcjN0</auth>



[2014-04-08T15:43:19Z]  INFO -- vines: Authenticating user: [email protected]

[2014-04-08T15:43:19Z]  INFO -- vines: Authentication succeeded: [email protected]

[2014-04-08T15:43:19Z] DEBUG -- vines: Sent stanza:              192.168.1.6:5222 -> 192.168.1.2:38714

<success xmlns="urn:ietf:params:xml:ns:xmpp-sasl"/>



[2014-04-08T15:43:19Z] DEBUG -- vines: Received stanza:         192.168.1.2:38714 -> 192.168.1.6:5222

<stream:stream xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" to="local.lit" version="1.0"/>



[2014-04-08T15:43:19Z] DEBUG -- vines: Sent stanza:              192.168.1.6:5222 -> 192.168.1.2:38714

<stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' xml:lang='en' id='72118971-6349-49a4-ae82-3cee2d6db7b6' from='local.lit' version='1.0'>



[2014-04-08T15:43:19Z] DEBUG -- vines: Sent stanza:              192.168.1.6:5222 -> 192.168.1.2:38714

<stream:features>

  <bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/>

</stream:features>



[2014-04-08T15:43:19Z] DEBUG -- vines: Received stanza:         192.168.1.2:38714 -> 192.168.1.6:5222

<iq id="k0305-5265" type="set">

  <bind xmlns="urn:ietf:params:xml:ns:xmpp-bind">

    <resource/>

  </bind>

</iq>



[2014-04-08T15:43:19Z] DEBUG -- vines: Sent stanza:              192.168.1.6:5222 -> 192.168.1.2:38714

<iq id="k0305-5265" type="result">

  <bind xmlns="urn:ietf:params:xml:ns:xmpp-bind">

    <jid>[email protected]/17d04964-48a4-4b3d-a7ae-ac6fd8c27275</jid>

  </bind>

</iq>



[2014-04-08T15:43:19Z] DEBUG -- vines: Sent stanza:              192.168.1.6:5222 -> 192.168.1.2:38714

<stream:features/>



[2014-04-08T15:44:20Z]  INFO -- vines: Stream connected:        192.168.1.2:38715 -> 192.168.1.6:5222

[2014-04-08T15:44:20Z] DEBUG -- vines: Received stanza:         192.168.1.2:38715 -> 192.168.1.6:5222

<stream:stream xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" to="local.lit" version="1.0"/>



[2014-04-08T15:44:20Z] DEBUG -- vines: Sent stanza:              192.168.1.6:5222 -> 192.168.1.2:38715

<stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' xml:lang='en' id='9b36af7e-f9e4-4a0f-9aee-c1cbed7ca221' from='local.lit' version='1.0'>



[2014-04-08T15:44:20Z] DEBUG -- vines: Sent stanza:              192.168.1.6:5222 -> 192.168.1.2:38715

<stream:features>

  <starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls">

    <required/>

  </starttls>

</stream:features>



[2014-04-08T15:44:20Z] DEBUG -- vines: Received stanza:         192.168.1.2:38715 -> 192.168.1.6:5222

<starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"/>



[2014-04-08T15:44:20Z] DEBUG -- vines: Sent stanza:              192.168.1.6:5222 -> 192.168.1.2:38715

<proceed xmlns="urn:ietf:params:xml:ns:xmpp-tls"/>



[2014-04-08T15:44:20Z] DEBUG -- vines: Received stanza:         192.168.1.2:38715 -> 192.168.1.6:5222

<stream:stream xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" to="local.lit" version="1.0"/>



[2014-04-08T15:44:20Z] DEBUG -- vines: Sent stanza:              192.168.1.6:5222 -> 192.168.1.2:38715

<stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' xml:lang='en' id='fde120bf-a141-43df-82ac-c3d56734c466' from='local.lit' version='1.0'>



[2014-04-08T15:44:20Z] DEBUG -- vines: Sent stanza:              192.168.1.6:5222 -> 192.168.1.2:38715

<stream:features>

  <mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl">

    <mechanism>PLAIN</mechanism>

  </mechanisms>

</stream:features>



[2014-04-08T15:44:20Z] DEBUG -- vines: Received stanza:         192.168.1.2:38715 -> 192.168.1.6:5222

<auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="PLAIN">YWxpY2UAYWxpY2UAc2VjcjN0</auth>



[2014-04-08T15:44:20Z]  INFO -- vines: Authenticating user: [email protected]

[2014-04-08T15:44:20Z]  INFO -- vines: Authentication succeeded: [email protected]

[2014-04-08T15:44:20Z] DEBUG -- vines: Sent stanza:              192.168.1.6:5222 -> 192.168.1.2:38715

<success xmlns="urn:ietf:params:xml:ns:xmpp-sasl"/>



[2014-04-08T15:44:20Z] DEBUG -- vines: Received stanza:         192.168.1.2:38715 -> 192.168.1.6:5222

<stream:stream xmlns="jabber:client" xmlns:stream="http://etherx.jabber.org/streams" to="local.lit" version="1.0"/>



[2014-04-08T15:44:20Z] DEBUG -- vines: Sent stanza:              192.168.1.6:5222 -> 192.168.1.2:38715

<stream:stream xmlns='jabber:client' xmlns:stream='http://etherx.jabber.org/streams' xml:lang='en' id='9783b830-f4b5-4a00-b61d-9f1b842fa1fb' from='local.lit' version='1.0'>



[2014-04-08T15:44:20Z] DEBUG -- vines: Sent stanza:              192.168.1.6:5222 -> 192.168.1.2:38715

<stream:features>

  <bind xmlns="urn:ietf:params:xml:ns:xmpp-bind"/>

</stream:features>



[2014-04-08T15:44:20Z] DEBUG -- vines: Received stanza:         192.168.1.2:38715 -> 192.168.1.6:5222

<iq id="k0305-5268" type="set">

  <bind xmlns="urn:ietf:params:xml:ns:xmpp-bind">

    <resource/>

  </bind>

</iq>



[2014-04-08T15:44:20Z] DEBUG -- vines: Sent stanza:              192.168.1.6:5222 -> 192.168.1.2:38715

<iq id="k0305-5268" type="result">

  <bind xmlns="urn:ietf:params:xml:ns:xmpp-bind">

    <jid>[email protected]/3432b5eb-eddc-4c35-b206-8d3dea3c2c19</jid>

  </bind>

</iq>



[2014-04-08T15:44:20Z] DEBUG -- vines: Sent stanza:              192.168.1.6:5222 -> 192.168.1.2:38715

<stream:features/>

XEP-0443: XMPP Compliance Suites 2021

Please add support of XEP-0443: XMPP Compliance Suites 2021: https://xmpp.org/extensions/xep-0443.html

Which replaces:

Vines Agent won't start

So, first of all this is the first issue i am reporting on an github repo, so please be patient with me ;)

i am using debian 7.6 on an proxmox openvz container.
everything is installed as told on getvines.org.

after installation and first start i have taken a look at the web interface, but it showed nothing.
the systems page showed an console and a button where i should choose an server (a few things to choose but nothing active)
but .... the pages: services, files and setup are as blank as a unprinted sheet of paper.
so i checked if the agent is active -> its not.

i tried to start it with "vines-agent start"
and it gave me this:

root@vm02:~# vines-agent init mydomain.pw 
/usr/lib/ruby/1.9.1/rubygems/custom_require.rb:60:in `require': cannot load such file -- active_support/core_ext/class/attribute (LoadError)
    from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:60:in `rescue in require'
    from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:35:in `require'
    from /var/lib/gems/1.9.1/gems/blather-0.8.8/lib/blather.rb:83:in `block in <top (required)>'
    from /var/lib/gems/1.9.1/gems/blather-0.8.8/lib/blather.rb:4:in `each'
    from /var/lib/gems/1.9.1/gems/blather-0.8.8/lib/blather.rb:4:in `<top (required)>'
    from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
    from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
    from /var/lib/gems/1.9.1/gems/vines-agent-0.1.4/lib/vines/agent.rb:31:in `block in <top (required)>'
    from /var/lib/gems/1.9.1/gems/vines-agent-0.1.4/lib/vines/agent.rb:5:in `each'
    from /var/lib/gems/1.9.1/gems/vines-agent-0.1.4/lib/vines/agent.rb:5:in `<top (required)>'
    from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
    from /usr/lib/ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
    from /var/lib/gems/1.9.1/gems/vines-agent-0.1.4/bin/vines-agent:5:in `<top (required)>'
    from /usr/local/bin/vines-agent:23:in `load'
    from /usr/local/bin/vines-agent:23:in `<main>'

if anyone has an idea how to fix this ... i will spend him an virtual beer ;)

MySQL key length issue

$ vines schema somedomain.com
-- create_table(:users, {:force=>false})
-> 0.0160s
-- add_index(:users, :jid, {:unique=>true})
Schema creation failed: Mysql::Error: Specified key was too long; max key length is 767 bytes: CREATE UNIQUE INDEX index_users_on_jid ON users (jid)

Unable to convert UTF-8 to..... US-ASCII

getting these errors when I install through gem:

unable to convert "\xF1" to UTF-8 in conversion from ASCII-8BIT to UTF-8 to US-ASCII for README, skipping
unable to convert "\xF1" to UTF-8 in conversion from ASCII-8BIT to UTF-8 to US-ASCII for README.rdoc, skipping
unable to convert "\xC3" to UTF-8 in conversion from ASCII-8BIT to UTF-8 to US-ASCII for TAGS, skipping

gemspec and Gemfile

How about to add gemspec and Gemfile to the repo? It would help in development.

Suggestion: Move to Celluloid/Celluloid-IO

Dear Developers:

I wanted to suggest you re-code your event management around this library: https://github.com/celluloid/celluloid

I, like you, used eventmachine for a long time - but Celluloid is a far more real concurrency, particularly under JRuby. Their work in this area is brilliant and was born out of frustrations with eventmachine and communications edge cases. I know you've invested a lot in the current direction, but do please take a look at Celluloid & Celluloid-IO and see for yourself.

Thanks,

ssl_verify_peer does close the connection also for outbound connections

In lib/vines/stream.rb#L94 it is writen:

    def ssl_verify_peer(pem)
      # EM is supposed to close the connection when this returns false,
      # but it only does that for inbound connections, not when we
      # make a connection to another server.
      @store.trusted?(pem).tap do |trusted|
        close_connection unless trusted
      end
    end

Fortunatelly that is an already fixed bug (in EM master branch). Take a look to this report:

I also recommend you to check this bug I've found using EM with TLS:

And I've not tested this one:

Implement XEP-0220

http://xmpp.org/extensions/xep-0220.html


I am currently working on some chat implementation for Diaspora (diaspora/diaspora#5073)
and the server dialback protocol would be very important for us. I would love to see vines as
a default xmpp server for diaspora.

I could start working on that but I am pretty sure someone with deeper knowledge could do it in less time. Suggestions? Thoughts?

Cheers

MySQL key length issue again

$ vines schema wonderland.lit
-- create_table(:users, {:force=>false})
-> 0.1843s
-- add_index(:users, :jid, {:unique=>true})
Schema creation failed: Mysql2::Error: Specified key was too long; max key length is 767 bytes: CREATE UNIQUE INDEX index_users_on_jid ON users (jid)

$ gem list vines

*** LOCAL GEMS ***

vines (0.4.7)
vines-agent (0.1.4)
vines-couchdb (0.1.0)
vines-services (0.1.4)
vines-sql (0.1.0)
vines-web (0.1.1)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.