Code Monkey home page Code Monkey logo

crossbar-examples's People

Contributors

agronholm avatar antonymott avatar appleboy avatar bmsleight avatar codelectron avatar cord-b avatar dab0bby avatar darkl avatar estan avatar goeddea avatar haizaar avatar hawkowl avatar kneufeld avatar markope avatar mbonneau avatar meejah avatar oberstet avatar om26er avatar paranic avatar pawankaushal avatar robnagler avatar rogererens avatar seno-ark avatar taion avatar terrycojones avatar tiagocoutinho 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

crossbar-examples's Issues

Wireless MCU / 6loWPAN-WAMP bridge example

Handshake error

Hi,

I'm encrypting my crossbar component as the tls encryption says, but in the client side I'm getting the following error:

autobahn.js:5398 WebSocket connection to 'wss://192.168.0.106:7000/ws' failed: WebSocket opening handshake was canceled
I only configured the .crossbar/config.json file, but should I configure any other file (On client side) to make it work?

When I run this on localhost, everything works fine.

Warning: primary log target selected twice at ...

(python351_1) oberstet@thinkpad-t430s:~/scm/crossbario/crossbarexamples/sharedregs/python$ crossbar start
2016-01-25T21:46:19+0100 [Controller   9389] Automatically choosing optimal Twisted reactor
2016-01-25T21:46:19+0100 [Controller   9389] Running on Linux and optimal reactor (epoll) was installed.
2016-01-25T21:46:19+0100 [Controller   9389]      __  __  __  __  __  __      __     __
2016-01-25T21:46:19+0100 [Controller   9389]     /  `|__)/  \/__`/__`|__) /\ |__)  |/  \
2016-01-25T21:46:19+0100 [Controller   9389]     \__,|  \\__/.__/.__/|__)/~~\|  \. |\__/
2016-01-25T21:46:19+0100 [Controller   9389]                                         
2016-01-25T21:46:19+0100 [Controller   9389]     Crossbar.io Version: 0.12.0
2016-01-25T21:46:19+0100 [Controller   9389]     Node Public Key: 109be48b5710b2363a517200e434929ec14ca111d27fe53e4d704a64350063a8
2016-01-25T21:46:19+0100 [Controller   9389] 
2016-01-25T21:46:19+0100 [Controller   9389] Running from node directory '/home/oberstet/scm/crossbario/crossbarexamples/sharedregs/python/.crossbar'
2016-01-25T21:46:19+0100 [Controller   9389] Controller process starting (CPython-EPollReactor) ..
2016-01-25T21:46:19+0100 [Controller   9389] Node configuration loaded from 'config.json'
2016-01-25T21:46:19+0100 [Controller   9389] Node ID 'thinkpad-t430s' set from hostname
2016-01-25T21:46:19+0100 [Controller   9389] Using default node shutdown triggers ['shutdown_on_worker_exit']
2016-01-25T21:46:19+0100 [Controller   9389] Joined realm 'crossbar' on node management router
2016-01-25T21:46:19+0100 [Controller   9389] Starting Router with ID 'worker1'...
2016-01-25T21:46:19+0100 [Router       9393] Worker process starting (CPython-EPollReactor) ..
2016-01-25T21:46:20+0100 [Controller   9389] Router with ID 'worker1' and PID 9393 started
2016-01-25T21:46:20+0100 [Router       9393] Realm 'realm1' started
2016-01-25T21:46:20+0100 [Controller   9389] Router 'worker1': realm 'realm1' (named 'realm1') started
2016-01-25T21:46:20+0100 [Controller   9389] Router 'worker1': role 'role1' (named 'anonymous') started on realm 'realm1'
2016-01-25T21:46:20+0100 [Router       9393] MyComponent: add2() registered!
2016-01-25T21:46:20+0100 [Controller   9389] Router 'worker1': component 'component1' started
2016-01-25T21:46:20+0100 [Router       9393] MyComponent: add2() registered!
2016-01-25T21:46:20+0100 [Controller   9389] Router 'worker1': component 'component2' started
2016-01-25T21:46:20+0100 [Router       9393] Site starting on 8080
2016-01-25T21:46:20+0100 [Controller   9389] Router 'worker1': transport 'transport1' started
2016-01-25T21:46:20+0100 [Controller   9389] Starting Container with ID 'worker2'...
2016-01-25T21:46:20+0100 [Container    9397] Worker process starting (CPython-EPollReactor) ..
2016-01-25T21:46:20+0100 [Controller   9389] Container with ID 'worker2' and PID 9397 started
2016-01-25T21:46:20+0100 [Controller   9389] Container 'worker2': component 'component1' started
2016-01-25T21:46:20+0100 [Controller   9389] Container 'worker2': component 'component2' started
2016-01-25T21:46:20+0100 [Controller   9389] Starting Container with ID 'worker3'...
2016-01-25T21:46:20+0100 [Container    9397] MyComponent: add2() registered!
2016-01-25T21:46:20+0100 [Container    9397] MyComponent: add2() registered!
2016-01-25T21:46:21+0100 [Container    9401] Worker process starting (CPython-EPollReactor) ..
2016-01-25T21:46:21+0100 [Controller   9389] Container with ID 'worker3' and PID 9401 started
2016-01-25T21:46:21+0100 [Controller   9389] Container 'worker3': component 'component1' started
2016-01-25T21:46:21+0100 [Controller   9389] Container 'worker3': component 'component2' started
2016-01-25T21:46:21+0100 [Controller   9389] Using guest worker executable '/home/oberstet/python351_1/bin/python' (executable path detected from environment)
2016-01-25T21:46:21+0100 [Controller   9389] Starting Guest with ID 'worker4'...
2016-01-25T21:46:21+0100 [Controller   9389] Guest with ID 'worker4' and PID 9407 started
2016-01-25T21:46:21+0100 [Controller   9389] Guest 'worker4': started
2016-01-25T21:46:21+0100 [Controller   9389] Using guest worker executable '/home/oberstet/python351_1/bin/python' (executable path detected from environment)
2016-01-25T21:46:21+0100 [Controller   9389] Starting Guest with ID 'worker5'...
2016-01-25T21:46:21+0100 [Controller   9389] Guest with ID 'worker5' and PID 9408 started
2016-01-25T21:46:21+0100 [Controller   9389] Guest 'worker5': started
2016-01-25T21:46:21+0100 [Container    9401] MyComponent: add2() registered!
2016-01-25T21:46:21+0100 [Container    9401] MyComponent: add2() registered!
2016-01-25T21:46:21+0100 [Guest        9407] 2016-01-25 21:46:21+0100 [-] Log opened.
2016-01-25T21:46:21+0100 [Guest        9408] 2016-01-25 21:46:21+0100 [-] Log opened.
2016-01-25T21:46:21+0100 [Guest        9407] 2016-01-25 21:46:21+0100 [-] Warning: primary log target selected twice at </home/oberstet/scm/crossbario/txaio/txaio/tx.py:272> - previously selected at </home/oberstet/python351_1/lib/python3.5/site-packages/twisted/python/log.py:210>.  Remove one of the calls to beginLoggingTo.
2016-01-25T21:46:21+0100 [Guest        9408] 2016-01-25 21:46:21+0100 [-] Warning: primary log target selected twice at </home/oberstet/scm/crossbario/txaio/txaio/tx.py:272> - previously selected at </home/oberstet/python351_1/lib/python3.5/site-packages/twisted/python/log.py:210>.  Remove one of the calls to beginLoggingTo.
2016-01-25T21:46:21+0100 [Guest        9407] 2016-01-25T21:46:21+0100 Warning: primary log target selected twice at </home/oberstet/scm/crossbario/txaio/txaio/tx.py:272> - previously selected at </home/oberstet/python351_1/lib/python3.5/site-packages/twisted/python/log.py:210>.  Remove one of the calls to beginLoggingTo.
2016-01-25T21:46:21+0100 [Guest        9407] 2016-01-25 21:46:21+0100 [-] MyComponent: add2() registered!
2016-01-25T21:46:21+0100 [Guest        9408] 2016-01-25T21:46:21+0100 Warning: primary log target selected twice at </home/oberstet/scm/crossbario/txaio/txaio/tx.py:272> - previously selected at </home/oberstet/python351_1/lib/python3.5/site-packages/twisted/python/log.py:210>.  Remove one of the calls to beginLoggingTo.
2016-01-25T21:46:21+0100 [Guest        9408] 2016-01-25 21:46:21+0100 [-] MyComponent: add2() registered!
2016-01-25T21:57:56+0100 [Router       9393] add2 called on MyComponent (PID 9393, Session 5970876971034500)
2016-01-25T21:57:57+0100 [Router       9393] add2 called on MyComponent (PID 9393, Session 8443751640989243)
2016-01-25T21:57:57+0100 [Container    9397] add2 called on MyComponent (PID 9397, Session 5149267214028377)
2016-01-25T21:57:57+0100 [Container    9397] add2 called on MyComponent (PID 9397, Session 1539605536192093)
2016-01-25T21:57:58+0100 [Container    9401] add2 called on MyComponent (PID 9401, Session 7740305374783621)
2016-01-25T21:57:58+0100 [Container    9401] add2 called on MyComponent (PID 9401, Session 6278628218830184)
2016-01-25T21:57:58+0100 [Guest        9407] 2016-01-25T21:46:21+0100 MyComponent: add2() registered!
2016-01-25T21:57:58+0100 [Guest        9407] 2016-01-25 21:57:58+0100 [-] add2 called on MyComponent (PID 9407, Session 3006621289207861)
2016-01-25T21:57:58+0100 [Guest        9408] 2016-01-25T21:46:21+0100 MyComponent: add2() registered!
2016-01-25T21:57:58+0100 [Guest        9408] 2016-01-25 21:57:58+0100 [-] add2 called on MyComponent (PID 9408, Session 3445421943169208)
2016-01-25T21:57:58+0100 [Router       9393] add2 called on MyComponent (PID 9393, Session 5970876971034500)
2016-01-25T21:57:59+0100 [Router       9393] add2 called on MyComponent (PID 9393, Session 8443751640989243)
2016-01-25T21:57:59+0100 [Container    9397] add2 called on MyComponent (PID 9397, Session 5149267214028377)
2016-01-25T21:57:59+0100 [Container    9397] add2 called on MyComponent (PID 9397, Session 1539605536192093)
2016-01-25T21:57:59+0100 [Container    9401] add2 called on MyComponent (PID 9401, Session 7740305374783621)
2016-01-25T21:57:59+0100 [Container    9401] add2 called on MyComponent (PID 9401, Session 6278628218830184)
2016-01-25T21:57:59+0100 [Guest        9407] 2016-01-25T21:57:58+0100 add2 called on MyComponent (PID 9407, Session 3006621289207861)
2016-01-25T21:57:59+0100 [Guest        9407] 2016-01-25 21:57:59+0100 [-] add2 called on MyComponent (PID 9407, Session 3006621289207861)
2016-01-25T21:58:00+0100 [Guest        9408] 2016-01-25T21:57:58+0100 add2 called on MyComponent (PID 9408, Session 3445421943169208)
2016-01-25T21:58:00+0100 [Guest        9408] 2016-01-25 21:58:00+0100 [-] add2 called on MyComponent (PID 9408, Session 3445421943169208)
2016-01-25T21:58:00+0100 [Router       9393] add2 called on MyComponent (PID 9393, Session 5970876971034500)
2016-01-25T21:58:00+0100 [Router       9393] add2 called on MyComponent (PID 9393, Session 8443751640989243)

Excluding subscribers demo does not work

I was trying to use eligible_authid in this way:

$session->publish('com.user.' . $details->caller_authid . '.update_points', [$user->points], null, ["eligible_authid" => [$details->caller_authid]]);

but I was receiving ProtocolError: invalid type <type 'unicode'> for value in 'eligible_authid' option in PUBLISH. I did not know this is Crossbar or Thruway issue so I decided to try example. But when I execute crossbar start then I am getting:

invalid attribute value 'universal' for attribute 'type' in transport item

authenticate/wampcradynamic/python doesn't work with python 3.4

Using crossbar 0.11.1, I tried the example : authenticate/wampcradynamic/python with python 3.4.
Many exceptions are thrown in the crossbar console and the web client can't connect.
on_challenge isn't even fired.

Works fine on Python 2.7

Edit: it may be twisted that isn't compatible with Python 3.
Is this possible to have an example working on python 3?

Just want run TLS examples !

root@ubuntu:/home/adel/crosstest/static# crossbar start
2016-02-25T03:00:13-0800 [Controller 14190] Automatically choosing optimal Twisted reactor
2016-02-25T03:00:13-0800 [Controller 14190] Running on Linux and optimal reactor (epoll) was installed.
2016-02-25T03:00:13-0800 [Controller 14190] Stale Crossbar.io PID file (pointing to non-existing process with PID 14181) /home/adel/crosstest/static/.crossbar/node.pid removed
2016-02-25T03:00:13-0800 [Controller 14190] __ __ __ __ __ __ __ __
2016-02-25T03:00:13-0800 [Controller 14190] / |__)/ \/__/`|) /\ |) |/
2016-02-25T03:00:13-0800 [Controller 14190] *,| */.
/./|)/~~| . |__/
2016-02-25T03:00:13-0800 [Controller 14190]
2016-02-25T03:00:13-0800 [Controller 14190] Version: 0.11.2
2016-02-25T03:00:13-0800 [Controller 14190]
2016-02-25T03:00:13-0800 [Controller 14190] Starting from node directory /home/adel/crosstest/static/.crossbar
2016-02-25T03:00:14-0800 [Controller 14190] Loading node configuration file '/home/adel/crosstest/static/.crossbar/config.json
2016-02-25T03:00:14-0800 [Controller 14190] *** Configuration validation failed ***
2016-02-25T03:00:14-0800 [Controller 14190] invalid authentication method key 'tls' - must be one of ['ticket', 'cookie', 'wampcra', 'anonymous']

i ve tried the 2 examples of tls authentication.. but just check the last error .. despite im running the same version of crossbar 0.11.2 like oberstet run his example !! cant understand wats going.
NB : im newbie on crossbar .. i dont know much on config and workers and containers ..want simple explanation of wat i ve to do THANK YOU

anonymous auth

hello! I have working project with dynamic auth. hire is my crossbar config and next authenticator.py

Now I need to add anonymous role for registration script. And my question is can I have anonymous auth with this configuration and how should i call anonymous auth from client code??

I writed simple test with anonymous auth and got error. Looks like anonymous auth is not as simple as just create connection without authid and onchallenge

  it('#connect(anonimus)', function (done) {
    let anonymousConnection= new AutobahnConnection({
      url: `${config.WAMP.schema}://${config.WAMP.host}:${config.WAMP.port}/${config.WAMP.path}`,
      realm: "kopa",
      authmethods: ['anonymous'],
    })
    anonymousConnection.onopen= ()=>done()
    anonymousConnection.onclose= (reason, data)=>done(data)

    anonymousConnection.open();
  })
{"reason":"wamp.error.not_authorized","message":"internal error: role auto-activation not yet implemented","retry_delay":null,"retry_count":null,"will_retry":false}

config.json

{
    "version": 2,
    "workers": [
        {
            "type": "router",
            "options": {
                "pythonpath": [
                    ".",
                    "/usr/lib/python3/dist-packages"
                ]
            },
            "realms": [
                {
                    "name": "kopa",
                    "roles": [
                        {
                            "name": "server",
                            "permissions": [
                                {
                                    "uri": "ru",
                                    "match": "prefix",
                                    "allow": {
                                        "call": true,
                                        "register": true,
                                        "publish": true,
                                        "subscribe": true
                                    },
                                    "disclose": {
                                        "caller": true,
                                        "publisher": true
                                    },
                                    "cache": true
                                }
                            ]
                        },
                        {
                            "name": "kopnik",
                            "permissions": [
                                {
                                    "uri": "ru",
                                    "match": "prefix",
                                    "allow": {
                                        "call": true,
                                        "register": true,
                                        "publish": true,
                                        "subscribe": true
                                    },
                                    "disclose": {
                                        "caller": true,
                                        "publisher": true
                                    },
                                    "cache": false
                                }
                            ]
                        },
                        {
                            "name": "anonymous",
                            "permissions": [
                                {
                                    "uri": "ru.kopa.registration",
                                    "allow": {
                                        "call": true,
                                        "register": false,
                                        "publish": false,
                                        "subscribe": false
                                    }
                                }
                            ]
                        },
                        {
                            "name": "authenticator",
                            "permissions": [
                                {
                                    "uri": "com.example.authenticate",
                                    "match": "prefix",
                                    "allow": {
                                        "call": false,
                                        "register": true,
                                        "publish": false,
                                        "subscribe": false
                                    },
                                    "disclose": {
                                        "caller": false,
                                        "publisher": false
                                    },
                                    "cache": false
                                }
                            ]
                        },
                    ]
                }
            ],
            "transports": [
                {
                    "type": "web",
                    "endpoint": {
                        "type": "tcp",
                        "port": 8080
                    },
                    "paths": {
                        "/": {
                            "type": "static",
                            "directory": "../../kp-client"
                        },
                        "ws": {
                            "type": "websocket",
                            "serializers": [
                                "json"
                            ],
                            "auth": {
                                "ticket": {
                                    "type": "dynamic",
                                    "authenticator": "com.example.authenticate"
                                },
                                "anonymous": {
                                    "type": "static",
                                    "role": "frontend"
                                }
                            }
                        }
                    }
                }
            ],
            "components": [
                {
                    "type": "class",
                    "classname": "authenticator.AuthenticatorSession",
                    "realm": "kopa",
                    "role": "authenticator"
                }
            ]
        }
    ]
}

autenticator.py

import os
from pprint import pprint

import six

from twisted.internet.defer import inlineCallbacks

from autobahn.twisted.wamp import ApplicationSession
from autobahn.wamp.exception import ApplicationError

try:
    import psycopg2
except ImportError:
    from psycopg2cffi import compat, connect
    compat.register()
import bcrypt
import os
import json
import sys


CFG_FILENAME='../cfg/config.json'

class AuthenticatorSession(ApplicationSession):

    @inlineCallbacks
    def onJoin(self, details):

        def authenticate(realm, authid, details):
            try:
                ticket = details['ticket']
                print("authenticating: realm='{}', authid='{}', ticket='{}'".format(realm, authid, ticket))

                db_conn = None
                conf_name = os.environ.get('NODE_ENV', 'development')
                if not os.path.exists(CFG_FILENAME):
                    raise Exception('Config file not found')
                data = open(CFG_FILENAME, 'r').read()
                params = json.loads(data).get(conf_name)
                if params is None:
                    raise Exception('Config section %s not found' % conf_name)
                db_conn = connect(
                    host=params.get('host'),
                    database=params.get('database'),
                    user=params.get('username'),
                    password=params.get('password')
                )

                cursor = db_conn.cursor()
                #cursor.execute('SELECT password FROM public."Kopnik" WHERE email=\'%(authid)s\' '  % {'authid':authid})
                cursor.execute("SELECT password FROM public.\"Kopnik\" WHERE email= %s", [authid])

                rowcount = cursor.rowcount
                db_conn.commit()

                # ัŽะทะฒะตั€ะฐ ะฝะตั‚ ะฒ ะฑะด
                if rowcount == 0:
                    if authid == params.get("server").get("username") and ticket == params.get("server").get("password"):
                        print('Authentication successfull')
                        return u'server'
                    raise ApplicationError("com.example.incorrect_username_or_password", "Incorrect username or password {}".format(authid))
                for item in cursor.fetchall():
                    if bcrypt.hashpw(bytes(ticket), item[0]) == item[0]:
                        print('Authentication successfull')
                        return u'kopnik'
                raise ApplicationError("com.example.incorrect_username_or_password", "Incorrect username or password {}".format(authid))

            except Exception as e:
                print(e)
                raise e

        try:
            yield self.register(authenticate, 'com.example.authenticate')
            print("WAMP-Ticket dynamic authenticator registered!")
        except Exception as e:
            print("Failed to register dynamic authenticator: {0}".format(e))

Provide direct links to demo instances

When a user surf to https://demo.crossbar.io, the VM the user is directed to will be based on geo-DNS (http://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-policy.html#routing-policy-latency) (the instance "closest" to the user / with lowest latency) will be selected automatically.

For testing purposes, a user might want to directly connect to the underlying instances.

We should have a jump-page or a section on the demo landing pages that lists the URLs of the instances - currently:

TLS client certs with containers example is broken

https://github.com/crossbario/crossbar-examples/tree/master/encryption/tls

It correctly loads both the server and client certs:

2017-04-17T15:44:40+0200 [Container   12143 crossbar.worker._appsession_loader] Starting class 'backend.BackendSession'
2017-04-17T15:44:40+0200 [Container   12143 crossbar.worker.worker.NativeWorkerSession] TLS client using explicit trust (2 certificates)
2017-04-17T15:44:40+0200 [Container   12143 crossbar.worker.worker.NativeWorkerSession] TLS client trust root CA certificate loaded from '/home/oberstet/scm/crossbario/crossbar-examples/encryption/tls/.crossbar/ca.cert.pem'
2017-04-17T15:44:40+0200 [Container   12143 crossbar.worker.worker.NativeWorkerSession] TLS client trust root CA certificate loaded from '/home/oberstet/scm/crossbario/crossbar-examples/encryption/tls/.crossbar/intermediate.cert.pem'
2017-04-17T15:44:40+0200 [Container   12143 crossbar.worker.worker.NativeWorkerSession] Loaded client TLS key from '/home/oberstet/scm/crossbario/crossbar-examples/encryption/tls/.crossbar/client.key'
2017-04-17T15:44:40+0200 [Container   12143 crossbar.worker.worker.NativeWorkerSession] Loaded client TLS certificate from '/home/oberstet/scm/crossbario/crossbar-examples/encryption/tls/.crossbar/client.crt' (cn='b'client_0'', sha256=b'7E:66:9A:C1:'..)

However, then it blows up (this only shows up at --loglevel=debug, which is also a (user experience) problem):

2017-04-17T15:44:40+0200 [Container   12143 autobahn.twisted.websocket.WebSocketClientProtocol] connection to tcp4:127.0.0.1:8083 established
2017-04-17T15:44:40+0200 [Container   12143 autobahn.twisted.websocket.WebSocketClientProtocol] GET /ws HTTP/1.1
User-Agent: AutobahnPython/0.18.2
Host: localhost:8083
Upgrade: WebSocket
Connection: Upgrade
Pragma: no-cache
Cache-Control: no-cache
Sec-WebSocket-Key: JjsCCJLnEbk+qU4tp9AHug==
Sec-WebSocket-Protocol: wamp.2.cbor.batched,wamp.2.cbor,wamp.2.msgpack.batched,wamp.2.msgpack,wamp.2.ubjson.batched,wamp.2.ubjson,wamp.2.json.batched,wamp.2.json
Sec-WebSocket-Version: 13


2017-04-17T15:44:40+0200 [Container   12143 autobahn.twisted.websocket.WebSocketClientProtocol] Connection made to tcp4:127.0.0.1:8083
2017-04-17T15:44:40+0200 [Controller  12134 crossbar.router.router.Router] Validate 'call_result' for 'crossbar.worker.worker-002.start_component'
2017-04-17T15:44:40+0200 [Controller  12134 crossbar.controller.node.Node] Container 'worker-002': component 'component-001' started
2017-04-17T15:44:40+0200 [Controller  12134 crossbar.controller.node.Node] Local node configuration applied successfully!
2017-04-17T15:44:40+0200 [Container   12143 autobahn.twisted.websocket.WebSocketClientProtocol] Connection to/from tcp4:127.0.0.1:8083 lost (<class 'OpenSSL.SSL.Error'>): [('SSL routines', 'ssl3_get_server_certificate', 'certificate verify failed')])
2017-04-17T15:44:40+0200 [Container   12143 autobahn.twisted.websocket.WebSocketClientProtocol] _connectionLost: [Failure instance: Traceback: <class 'OpenSSL.SSL.Error'>: [('SSL routines', 'ssl3_get_server_certificate', 'certificate verify failed')]
/home/oberstet/cpy361_1/lib/python3.6/site-packages/twisted/internet/posixbase.py:597:_doReadOrWrite
/home/oberstet/cpy361_1/lib/python3.6/site-packages/twisted/internet/tcp.py:208:doRead
/home/oberstet/cpy361_1/lib/python3.6/site-packages/twisted/internet/tcp.py:214:_dataReceived
/home/oberstet/cpy361_1/lib/python3.6/site-packages/twisted/protocols/tls.py:315:dataReceived
--- <exception caught here> ---
/home/oberstet/cpy361_1/lib/python3.6/site-packages/twisted/protocols/tls.py:235:_checkHandshakeStatus
/home/oberstet/cpy361_1/lib/python3.6/site-packages/OpenSSL/SSL.py:1426:do_handshake
/home/oberstet/cpy361_1/lib/python3.6/site-packages/OpenSSL/SSL.py:1174:_raise_ssl_error
/home/oberstet/cpy361_1/lib/python3.6/site-packages/OpenSSL/_util.py:48:exception_from_error_queue
]
2017-04-17T15:44:40+0200 [Container   12143 crossbar.worker.worker.NativeWorkerSession] Lost connection to component 'component-001' with code '1006'.
2017-04-17T15:44:40+0200 [Container   12143 crossbar.worker.worker.NativeWorkerSession] connection was closed uncleanly (peer dropped the TCP connection without previous WebSocket closing handshake)

The hello example is broken for Python

There are a bunch of files containing {{ appname }} instead of hello. I guess the correct solution is to fix whatever tool it is that made this example. But I don't have access to that tool. So in the meantime it would be nice if the most basic example actually worked...... Pull request coming up.

example for I2C sensor reading

Hi,
finally after the whole installations and configurations I am able to run you examples like the yun_potentiometer. They run great and I love the fast response which is without crossbar/autobahn not possible.
Now I want to implement my I2C sensors. Unfortunetely I completly failed with this target.
I tried it with sysex commands, but due to lags of information which (and how) parameters I have to use to read for example the address 0x58, I can't continue.

Thanks for your help.

Hello Python Examples - assert(topic is None or type(topic) == six.text_type)

Disclaimer: I am new to Crossbar which might explain the issues I am running into. It definitely explains of course why I am trying to run the examples... :)

I am using a Crossbar install via pip. The version an system details are as follows:
Crossbar.io : 17.3.1 (Crossbar.io COMMUNITY)
Autobahn : 0.18.1 (with JSON, MessagePack, CBOR, UBJSON)
Twisted : 17.1.0-EPollReactor
LMDB : 0.92/lmdb-0.9.18
Python : 2.7.13/CPython
OS : Linux-4.10.8-200.fc25.x86_64+debug-x86_64-with-fedora-25-Twenty_Five
Machine : x86_64
Release key : RWRGxs0uB6vQemWGPeBt7nLG53ADoOtZy/Vve3BjlaXDqkCiVhCs7Zrv

I tried to run crossbar init --template hello:python --appdir hello with this setup but it does not work. There no templates other than the default template installed. I did install Crossbar with [all].
Since this did not work, I turned to this repo with the examples. The toplevel Readme asserts:

The examples are self-contained and ready to run. Each of the example directories contains an Crossbar.io configuration. In order to run the example, just got to its directory and do crossbar start. Hence

cd hello/python
crossbar start

[startup omitted]
File "/usr/lib/python2.7/site-packages/autobahn/wamp/protocol.py", line 1251, in subscribe
assert(topic is None or type(topic) == six.text_type)

topic is not None but crossbar.worker.worker-002.container.on_component_stop and apparently a unicode string because that's what six.text_type asserts.

I don't think that has anything to do with the particular Python example but with Crossbar/Autobahn Python itself but I have no idea where the on_component_stop method comes form.

unicode URIs Django Realtime Monitoring example

When I execute the client.py in django realtime monitoring example with python 2.7 I have the next error:

Traceback (most recent call last):
File "client.py", line 139, in
app.run(url="ws://%s:8000/ws" % SERVER, debug=False, debug_wamp=False)
File "C:\Users\Daniel\PythonProjects\DjangoCrossbar\env\lib\site-packages\autobahn\twisted\wamp.py", line 394, in run
debug=debug, debug_wamp=debug_wamp, debug_app=debug_app)
File "C:\Users\Daniel\PythonProjects\DjangoCrossbar\env\lib\site-packages\autobahn\twisted\wamp.py", line 133, in init
assert(type(url) == six.text_type)
AssertionError

I saw a similar issue in "Fix demos for unicode URIs on 10 Sep 2014" but I don't know if it is the same.

ERROR after running crossbar.start in hello java app

I have followed all the steps mentioned in readme but i am getting this error

2016-11-10T15:50:18+0530 [Controller 10452]
2016-11-10T15:50:18+0530 [Controller 10452] Running from node directory 'C:\Users\surya\Desktop\java.crossbar'
2016-11-10T15:50:18+0530 [Controller 10452] Controller process starting (CPython-SelectReactor) ..
2016-11-10T15:50:18+0530 [Controller 10452] Using default node shutdown triggers [u'shutdown_on_worker_exit']
2016-11-10T15:50:18+0530 [Controller 10452] Joined realm 'crossbar' on node management router
2016-11-10T15:50:18+0530 [Controller 10452] Configuring node from local configuration ...
2016-11-10T15:50:18+0530 [Controller 10452] Starting 2 workers ...
2016-11-10T15:50:18+0530 [Controller 10452] Starting Router with ID 'worker-001'...
2016-11-10T15:50:19+0530 [Router 6456] Worker process starting (CPython-IOCPReactor) ..
2016-11-10T15:50:20+0530 [Controller 10452] Router with ID 'worker-001' and PID 6456 started
2016-11-10T15:50:20+0530 [Router 6456] Realm 'realm1' started
2016-11-10T15:50:20+0530 [Controller 10452] Router 'worker-001': realm 'realm-001' (named 'realm1') started
2016-11-10T15:50:20+0530 [Controller 10452] Router 'worker-001': role 'role-001' (named 'anonymous') started on realm 'realm-001'
2016-11-10T15:50:20+0530 [Router 6456] role role-001 on realm realm-001 started
2016-11-10T15:50:20+0530 [Controller 10452] Router 'worker-001': transport 'transport-001' started
2016-11-10T15:50:20+0530 [Controller 10452] Using guest worker executable 'c:\programdata\oracle\java\javapath\java.exe' (executable path detected from environment)
2016-11-10T15:50:20+0530 [Controller 10452] Starting Guest with ID 'worker-002'...
2016-11-10T15:50:20+0530 [Controller 10452] Guest with ID 'worker-002' and PID 3320 started
2016-11-10T15:50:20+0530 [Controller 10452] Guest 'worker-002': started
2016-11-10T15:50:20+0530 [Controller 10452] Local node configuration applied.
2016-11-10T15:50:20+0530 [Router 6456] Site starting on 8080
2016-11-10T15:50:21+0530 [Guest 3320] Error: Could not find or load main class ws.wamp.jawampa.CrossbarExample
2016-11-10T15:50:21+0530 [Controller 10452] Guest worker-002 exited with error A process has ended with a probable error condition: process ended with exit code 1.

Fix broken node configs in examples

Here is what crossbar upgrade and crossbar check just did:

(python279_1)oberstet@thinkpad-t430s:~/scm/crossbario/crossbarexamples$ make upgrade
find . -name "config.json" -exec crossbar upgrade --cbdir={} \;
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/userconfig/python/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/rest/subscriber/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/rest/callee/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/rest/caller_performance/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/rest/webhooks/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/rest/caller/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/rest/publisher/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/rest/publisher_tls/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/app/alarm/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/app/weights/wpadeuro/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/app/weights/wpadlab/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/pi/xboxcontroller/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/pi/sampleplayer/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/pi/speechsynth/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/pi/tempmon/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/pi/camera/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/yun/ambientlight/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/yun/potentiometer/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/yun/accelerometer/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/yun/serial_to_wamp/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/yun/tilt/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/yun/weighingpad/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/yun/lights/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/yun/tutorial/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/yun/buttons/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/tessel/accelerometer/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/tessel/camera/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/browser/browserremote/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/browser/livewidgets/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/browser/revealremote/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/event-history/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/longpoll_curl/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/reactjs/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/encryption/tls/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/encryption/cryptobox/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/kivy/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/sharedregs/cpp/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/sharedregs/python/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/expressjs/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/metaapi/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/wsgi/.crossbar/config.json
Configuration already is at latest version 2 - nothing to upgrade
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/docker/disclose/crossbar/.crossbar/config.json
Configuration already is at latest version 2 - nothing to upgrade
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/database/oracle/publisher/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/database/postgresql/caller/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/database/postgresql/publisher/.crossbar/config.json
Configuration already is at latest version 2 - nothing to upgrade
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/django/realtimemonitor/.crossbar/config.json
Configuration already is at latest version 2 - nothing to upgrade
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/longpoll/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/work/call_from_handler/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/work/jsonresource/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/work/dbconn/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/work/validate/python/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/work/votegame/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/flash/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/disclose/.crossbar/config.json
Configuration already is at latest version 2 - nothing to upgrade
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/patternregs/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/wss/python/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/demos/sliders/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/demos/gauges/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/demos/notification/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/demos/videocontrol/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/demos/colorpicker/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/demos/dashboard/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/demos/beatbox/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/demos/votes/nodejs/.crossbar/config.json
Configuration already is at latest version 2 - nothing to upgrade
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/demos/votes/kivy/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/demos/votes/python/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/demos/votes/browser/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/demos/_demo_launcher/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/demos/_demo_launcher/web/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/demos/chat/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/demos/spread/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/demos/non_functional/cursor_sync/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/demos/pubsub/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/demos/visitors_counter/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/demos/editform/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/hello/nodejs/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/hello/java/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/hello/cpp_tls/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/hello/cpp/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/hello/csharp/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/hello/python/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/hello/tessel/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/hello/erlang/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/hello/php/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/hello/browser/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/patternsubs/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/benchmark/rpc_roundtrip/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/benchmark/websocket/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/authentication/tls/static/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/authentication/tls/dynamic/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/authentication/advanced/.crossbar/config.json
Configuration already is at latest version 2 - nothing to upgrade
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/authentication/cookie/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/authentication/ticket/totp/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/authentication/ticket/static/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/authentication/ticket/dynamic/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/authentication/wampcra/static/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/authentication/wampcra/dynamic/nodejs/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/authentication/wampcra/dynamic/python/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/authentication/wampcra/dynamic/php/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/authentication/cryptosign/static/.crossbar/config.json
Configuration already is at latest version 2 - nothing to upgrade
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/authentication/cryptosign/dynamic/.crossbar/config.json
Configuration already is at latest version 2 - nothing to upgrade
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/authentication/anonymous/static/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/authentication/anonymous/dynamic/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/fileupload/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/templates/worker-templates/.crossbar/config.json
Configuration already is at latest version 2 - nothing to upgrade
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/templates/realm-templates/.crossbar/config.json
Configuration already is at latest version 2 - nothing to upgrade
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/templates/management-api/.crossbar/config.json
Configuration already is at latest version 2 - nothing to upgrade
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/container/failure7/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/container/failure3/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/container/failure6/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/container/failure2/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/container/failure1/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/container/working/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/container/failure4/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/container/failure8/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/container/failure5/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/router/failure3/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/router/failure6/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/router/failure2/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/router/failure1/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/router/working/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/router/failure4/.crossbar/config.json
Upgrading configuration from version 1 to version 2
Upgrading local configuration file /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/router/failure5/.crossbar/config.json
Upgrading configuration from version 1 to version 2
(python279_1)oberstet@thinkpad-t430s:~/scm/crossbario/crossbarexamples$ make check
find . -name "config.json" -exec crossbar check --cbdir={} \;
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/userconfig/python/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/rest/subscriber/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/rest/callee/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/rest/caller_performance/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/rest/webhooks/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/rest/caller/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/rest/publisher/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/rest/publisher_tls/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/app/alarm/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/app/weights/wpadeuro/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/app/weights/wpadlab/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/pi/xboxcontroller/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/pi/sampleplayer/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/pi/speechsynth/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/pi/tempmon/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/pi/camera/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/yun/ambientlight/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/yun/potentiometer/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/yun/accelerometer/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/yun/serial_to_wamp/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/yun/tilt/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/yun/weighingpad/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/yun/lights/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/yun/tutorial/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/yun/buttons/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/tessel/accelerometer/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/tessel/camera/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/browser/browserremote/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/browser/livewidgets/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/iotcookbook/device/browser/revealremote/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/event-history/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/longpoll_curl/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/reactjs/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/encryption/tls/.crossbar/config.json
Error: File 'client.crt' for 'certificate' in TLS configuration not found
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/encryption/cryptobox/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/kivy/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/sharedregs/cpp/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/sharedregs/python/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/expressjs/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/metaapi/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/wsgi/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/docker/disclose/crossbar/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/database/oracle/publisher/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/database/postgresql/caller/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/database/postgresql/publisher/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/django/realtimemonitor/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/longpoll/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/work/call_from_handler/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/work/jsonresource/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/work/dbconn/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/work/validate/python/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/work/votegame/config.json
Error: encountered unknown attribute 'processes' in top-level configuration
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/flash/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/disclose/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/patternregs/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/wss/python/.crossbar/config.json
Error: 'ca_certificates' contains non-existant path 'server_cert.pem'
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/demos/sliders/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/demos/gauges/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/demos/notification/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/demos/videocontrol/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/demos/colorpicker/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/demos/dashboard/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/demos/beatbox/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/demos/votes/nodejs/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/demos/votes/kivy/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/demos/votes/python/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/demos/votes/browser/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/demos/_demo_launcher/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/demos/_demo_launcher/web/config.json
Error: encountered unknown attribute 'enable_hixie76' in WebSocket options
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/demos/chat/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/demos/spread/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/demos/non_functional/cursor_sync/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/demos/pubsub/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/demos/visitors_counter/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/demos/editform/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/hello/nodejs/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/hello/java/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/hello/cpp_tls/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/hello/cpp/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/hello/csharp/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/hello/python/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/hello/tessel/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/hello/erlang/.crossbar/config.json
Error: encountered unknown attribute 'serializer' in RawSocket transport configuration
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/hello/php/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/hello/browser/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/patternsubs/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/benchmark/rpc_roundtrip/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/benchmark/websocket/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/authentication/tls/static/.crossbar/config.json
Error: File 'client.crt' for 'certificate' in TLS configuration not found
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/authentication/tls/dynamic/.crossbar/config.json
Error: File 'client.crt' for 'certificate' in TLS configuration not found
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/authentication/advanced/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/authentication/cookie/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/authentication/ticket/totp/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/authentication/ticket/static/.crossbar/config.json
Environment variable $MYTICKET not set - needed in configuration 'auth.ticket.principals["client2"].ticket'
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/authentication/ticket/dynamic/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/authentication/wampcra/static/.crossbar/config.json
Environment variable $MYSECRET not set - needed in configuration 'auth.wampcra.users["homer"].secret'
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/authentication/wampcra/dynamic/nodejs/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/authentication/wampcra/dynamic/python/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/authentication/wampcra/dynamic/php/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/authentication/cryptosign/static/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/authentication/cryptosign/dynamic/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/authentication/anonymous/static/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/authentication/anonymous/dynamic/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/fileupload/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/templates/worker-templates/.crossbar/config.json
Error: encountered unknown attribute 'template' in container configuration
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/templates/realm-templates/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/templates/management-api/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/container/failure7/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/container/failure3/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/container/failure6/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/container/failure2/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/container/failure1/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/container/working/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/container/failure4/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/container/failure8/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/container/failure5/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/router/failure3/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/router/failure6/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/router/failure2/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/router/failure1/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/router/working/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/router/failure4/.crossbar/config.json
Ok, node configuration looks good!
Checking local node configuration file: /home/oberstet/scm/crossbario/crossbarexamples/containers/failures/router/failure5/.crossbar/config.json
Ok, node configuration looks good!
(python279_1)oberstet@thinkpad-t430s:~/scm/crossbario/crossbarexamples$ 

Fix stuff after removal of directly included AutobahnJS

There are a number of demos that contained directly included AutobahnJS versions:

(cpy351_1) oberstet@corei7ub1310:~/scm/crossbario/crossbarexamples$ find . -name "autobahn.*" -type f
./demos/editform/web/js/autobahn.js
./demos/editform/web/js/autobahn.min.jgz
./demos/editform/web/js/autobahn.min.js
./demos/visitors_counter/js/autobahn.min.js
./iotcookbook/app/alarm/frontend/js/autobahn.min.jgz
./iotcookbook/app/alarm/frontend/js/autobahn.min.old.js
./iotcookbook/app/alarm/frontend/js/autobahn.min_old.js
./iotcookbook/app/weights/wpadlab/web/autobahn.min.js

I have already removed those now!

Make sure, stuff still works. The right was is to have this in the HTML:

      <script>AUTOBAHN_DEBUG = false;</script>
      <script src="http://autobahn.s3.amazonaws.com/autobahnjs/latest/autobahn.min.jgz"></script>

Fix editform demo: disclose_me is deprecated

disclose_me is now removed. There is still this:

(cpy351_1) oberstet@corei7ub1310:~/scm/crossbario/crossbarexamples$ find . -name "*.js" -type f -exec grep -Hi "disclose" {} \;
./demos/editform/web/js/editform.js:      self.session.call(callURI, [], saveSet, { disclose_me: true }).then(
./demos/editform/web/js/editform.js:      self.session.call("form:delete", [listItem.id()], {}, { disclose_me: true }).then(
./demos/editform/web/js/editform.js:      self.session.call("form:reset", [], {}, { disclose_me: true }).then(

crossbar unable to start for the real time monitor using django

2015-05-13 11:56:06+0800 [Controller 5214] Crossbar.io 0.10.4 starting
2015-05-13 11:56:06+0800 [Controller 5214] Running on CPython using EPollReactor reactor
2015-05-13 11:56:06+0800 [Controller 5214] Starting from node directory /home/moxlotus/Documents/realtimemonitor/.crossbar
2015-05-13 11:56:06+0800 [Controller 5214] Starting from local configuration '/home/moxlotus/Documents/realtimemonitor/.crossbar/config.json'
2015-05-13 11:56:06+0800 [Controller 5214] Traceback (most recent call last):
2015-05-13 11:56:06+0800 [Controller 5214] File "/usr/local/bin/crossbar", line 9, in
2015-05-13 11:56:06+0800 [Controller 5214] load_entry_point('crossbar==0.10.4', 'console_scripts', 'crossbar')()
2015-05-13 11:56:06+0800 [Controller 5214] File "/usr/local/lib/python2.7/dist-packages/crossbar/controller/cli.py", line 665, in run
2015-05-13 11:56:06+0800 [Controller 5214] options.func(options)
2015-05-13 11:56:06+0800 [Controller 5214] File "/usr/local/lib/python2.7/dist-packages/crossbar/controller/cli.py", line 404, in run_command_start
2015-05-13 11:56:06+0800 [Controller 5214] node.start()
2015-05-13 11:56:06+0800 [Controller 5214] File "/usr/local/lib/python2.7/dist-packages/crossbar/controller/node.py", line 108, in start
2015-05-13 11:56:06+0800 [Controller 5214] config = check_config_file(configfile, silence=True)
2015-05-13 11:56:06+0800 [Controller 5214] File "/usr/local/lib/python2.7/dist-packages/crossbar/common/checkconfig.py", line 1876, in check_config_file
2015-05-13 11:56:06+0800 [Controller 5214] check_config(config, silence)
2015-05-13 11:56:06+0800 [Controller 5214] File "/usr/local/lib/python2.7/dist-packages/crossbar/common/checkconfig.py", line 1850, in check_config
2015-05-13 11:56:06+0800 [Controller 5214] check_worker(worker, silence)
2015-05-13 11:56:06+0800 [Controller 5214] File "/usr/local/lib/python2.7/dist-packages/crossbar/common/checkconfig.py", line 1754, in check_worker
2015-05-13 11:56:06+0800 [Controller 5214] check_router(worker, silence)
2015-05-13 11:56:06+0800 [Controller 5214] File "/usr/local/lib/python2.7/dist-packages/crossbar/common/checkconfig.py", line 1499, in check_router
2015-05-13 11:56:06+0800 [Controller 5214] check_router_transport(transport, silence)
2015-05-13 11:56:06+0800 [Controller 5214] File "/usr/local/lib/python2.7/dist-packages/crossbar/common/checkconfig.py", line 1253, in check_router_transport
2015-05-13 11:56:06+0800 [Controller 5214] check_listening_transport_web(transport)
2015-05-13 11:56:06+0800 [Controller 5214] File "/usr/local/lib/python2.7/dist-packages/crossbar/common/checkconfig.py", line 871, in check_listening_transport_web
2015-05-13 11:56:06+0800 [Controller 5214] check_paths(paths)
2015-05-13 11:56:06+0800 [Controller 5214] File "/usr/local/lib/python2.7/dist-packages/crossbar/common/checkconfig.py", line 926, in check_paths
2015-05-13 11:56:06+0800 [Controller 5214] check_web_path_service(p, paths[p], nested)
2015-05-13 11:56:06+0800 [Controller 5214] File "/usr/local/lib/python2.7/dist-packages/crossbar/common/checkconfig.py", line 822, in check_web_path_service
2015-05-13 11:56:06+0800 [Controller 5214] raise Exception("invalid type '{}' for sub-path service in Web transport path service '{}' configuration\n\n{}".format(ptype, path, config))
2015-05-13 11:56:06+0800 [Controller 5214] Exception: invalid type 'pusher' for sub-path service in Web transport path service 'notify' configuration
2015-05-13 11:56:06+0800 [Controller 5214]
2015-05-13 11:56:06+0800 [Controller 5214] {u'realm': u'realm1', u'role': u'anonymous', u'type': u'pusher'}

How can this be solved?

Config unit tests

Add a make test which recursively walks the repo, finds config.json files, and checks the configuration using the checkconfig() function from Crossbar.io

LongPoll example not working

Hi Guys,

I've tried the long poll example but unfortunately i can't make it work.

This is the errors that i got on console

"XMLHttpRequest cannot load http://local.crossbar-longpoll.dev:8080/lp/open. Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://local.crossbar-longpoll.dev' is therefore not allowed access. The response had HTTP status code 501."

I believed this is a CORS issue but i'm not sure how to fix this for crossbar example and make it work.

I have also created my own using on Voryx/Thruway and run "crossbar start" inside NGINX and websocket is working perfectly with autobahn js but i'm facing same issue that i encountered on the example for the longpoll transports. I have tried to set headers on thruway but it's not working and i believed that thruway doesn't support long poll, so how to work around the long poll? i have also checked the documentation of crossbario and found that i can set allowed_origins for websocket type, is there an available options like allowed_origins for longpoll transport?

I have also found on net while searching for a solution on my issue that i can comment out line 5572 on autobahn.js "req.setRequestHeader("Content-type", "application/json; charset=utf-8");", i tried it and it does work but i think it's not a good idea.

did i miss something on configuration or anything to make the long poll transport works for old browser versions.

Your help and advice will be much appreciated
more power :) ;)

Thanks,

Cookie example is broken

I just cloned the auth example with cookie:

https://github.com/crossbario/crossbarexamples/blob/master/authenticate/cookie/.crossbar/config.json

It raises:

Exception: Web transport 'WebSocket' path service - encountered unknown attribute 'cookie'

Removing the offending line leads to:

Exception: invalid authentication method key 'cookie' - must be one of ['ticket', 'wampcra', 'anonymous']

@oberstet : i need cookies for the polymer demo as I'm making a auction simulation so is there a workaround so I don't need to wait for the patch ?

Exception on start

I pulled the last version from your repository, as also the autobahn-python repository. After installing both, I get the following error on startup:

[Controller  76141] Traceback (most recent call last):  
[Controller  76141]   File "/usr/local/lib/python2.7/site-packages/crossbar-0.13.0-py2.7.egg/crossbar/controller/node.py", line 497, in start
[Controller  76141]     yield self._startup(self._config)
[Controller  76141] TypeError: __init__() got an unexpected keyword argument 'debug'

I tried to uninstall and reinstall the libraries, but this didn't help. The error occurs when I try to run a example from the repo.

Do you have any guess, how I can fix it?

Run client.py and get AssertionError

Hi,

I am able to successfully run a crossbar node. Then, I want to start a client which is not on the same machine as Django and crossbar node, and I got the AssertionError as follows:
(The monitor.py is the same as client.py)

ubuntu@some-ip:~/wamp_monitor$ python monitor.py 
Traceback (most recent call last):
  File "monitor.py", line 143, in <module>
    app.run(url="ws://%s:80/ws" % SERVER, debug=False, debug_wamp=False)
  File "/usr/local/lib/python2.7/dist-packages/autobahn/twisted/wamp.py", line 381, in run
    debug=debug, debug_wamp=debug_wamp, debug_app=debug_app)
  File "/usr/local/lib/python2.7/dist-packages/autobahn/twisted/wamp.py", line 134, in __init__
    assert(type(url) == six.text_type)
AssertionError

Any suggestion?
Thanks

Sliders demo on Android

problems when trying the slider-demo on android:
symptoms: slider goes to 100% on first press, in some cases I was able to point the slider(only master volume) to specific values but mostly the behaviour was unpredictable or nothing happened.
As im looking to implement this on mobile-devices I got a little concerned.
running on:
android 6.0.1
chrome 53.0.2785

Generic bridge image

Create an overlay image for the Yun that contains a program that:

  • upon startup, gets a JSON document via HTTPS from a preconfigured URL
  • the JSON in turn contains:
    • a URL for a JavaScript file to fetch and run
    • the JS program is run on Node, and can import Autobahn and Cylon
  • when the program exits successfully, it is immediately restarted
  • when the program exits with error or abnormally, the Yun is rebooted
  • when the Yun boots, it runs and supervises this program automatically

registration details in wamp.registration.on_register meta event

It would be useful if on_register meta event not only sends the registration ID, but also other registration details, such as the URI etc.

It looks like it is possible to get the required details from the registraion ID by making extra API calls, but it would be lot easier if the event itself sends that data as, say kwargs or some other (instead of forcing the user to make additional calls).

For example, for fail-over scenarios, such as the example shown here, monitoring the pairs on_register and unregister can help decide the monitoring function to decide if any action is needed or not (e.g. restart the failed server) without having to make additional calls (burdening the server and also causing latency).

Retaining old messages

Is it possible to publish the messages in "retain" mode (where, the subscribers who join late do not miss the earlier posted messages and get them immediately upon subscription).

For example, publisher created with "retain" mode (and optional buffer length, say n), keeps track of the last n posted messages and pushes them immediately to all new subscribers as and when they signup.

It would be very useful function to support, as it helps in syncing the producer-consumer properly.

MQTT is good example of where this is supported, and is very useful, especially in bridged/forwarded cluster scenarios.

NumPy / Numba examples

  1. Have a WAMP backend component written using Python, AutobahnPython and Twisted that does complex statistics / signal processing using NumPy and Numba.

The component runs work on a background worker thread pool (it calls a function which runs Numba code using http://twistedmatrix.com/documents/current/api/twisted.internet.threads.deferToThread.html).

This demonstrates native code speed plus multi-core.

Then extend the example for scaling out to multiple nodes using Crossbar.io shared registrations.

  1. Have a WAMP backend component written Python, AutobahnPython and Twisted that persists NumPy arrays in LMDB using PyLMDB:

Basic example for PostgreSQL programming

Migrated from crossbario/crossbar#271:

Followed the guide: http://crossbar.io/docs/Database-Programming-with-PostgreSQL/ using psycopg2 as database driver.
Although that guide doesn't mention how to run the example, or how to assemble the source files from working with Crossbar I assume I need the three files: server, html and config.json and that I make a directory structure from other crossbar examples for remote procedures.

I tried both twisted adbapi and txpostgres (I'd prefer txpostgres so database connections are in "asynchronous mode").
What I tried and the directory structure I created:
created directory ~/hello with sub-directories .crossbar and web

  • saved config (listed at end of article) as ~/hello/.crossbar/config.json
  • saved server ~/hello/hello.py
  • saved client ~/hello/web/index.html
    In the ~/hello folder, I try /opt/crossbar/bin/crossbar start --cbdir ~/hello/.crossbar, it terminates "ImportError: No module named txpostgres" and with adbapi example, "No module named psycopg2"
    Tried both as $home user and sudo su, but same error.

What I double-checked:
psycopg2-2.6 (latest) installed from source and all tests run successfully. Pip install txpostgres, tested fine txpostgres examples of module usage from http://txpostgres.readthedocs.org/en/latest/usage.html
It's like my crossbar binary can't see that I've installed psycopg2 and txpostgres

dynamic WAMP-CRA php authentication does not work?

I am trying to figure out how to get user id from php session, so I decided to examine dynamic wamp-cra php authentication example, but in web console I see:

Ok, AutobahnJS loaded 0.11.2
index.html:29 onchallenge wampcra Objectchallenge: "{"authid": "joe", "authrole": "frontend", "authmethod": "wampcra", "authprovider": "dynamic", "session": 617402676297463, "nonce": "FcpJPBnDse0pfUzHq/VYNihAZ2AvRNQZl0Ktmza3A3kWGeL74zTZRSz5fAzAX8xM", "timestamp": "2017-03-12T08:37:16.069Z"}"__proto__: Object
index.html:33 authenticating via 'wampcra' and challenge '{"authid": "joe", "authrole": "frontend", "authmethod": "wampcra", "authprovider": "dynamic", "session": 617402676297463, "nonce": "FcpJPBnDse0pfUzHq/VYNihAZ2AvRNQZl0Ktmza3A3kWGeL74zTZRSz5fAzAX8xM", "timestamp": "2017-03-12T08:37:16.069Z"}'
index.html:55 connected session with ID 617402676297463
index.html:56 authenticated using method 'wampcra' and provider 'dynamic'
index.html:57 authenticated with authid 'joe' and authrole 'frontend'
index.html:78 registration failed - this is expected, error: "wamp.error.not_authorized"
index.html:97 event published to topic com.example.topic1
index.html:100 publication to topic com.example.topic2 failed, error: "wamp.error.not_authorized"
index.html:97 event published to topic com.foobar.topic1
index.html:100 publication to topic com.foobar.topic2 failed, error: "wamp.error.not_authorized" index.html:63 call result 5

Is this expected?

RESTCallee isn't working

I'm getting this response from the rest callee example.

{"args":["no callee registered for procedure 'com.myapp.rest'"],"error":"wamp.error.no_such_procedure"}

Something changed on Crossbar?

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.