Consensys/quorum-examples

Tessera serverConfigs[2] "cors" property triggers error: CrossDomainConfig is only allowed in ThirdParty server

ctjlewis opened this issue · 2 comments

System information

Geth version:

Geth                                                                                    │                                                                                        
Version: 1.8.18-stable                                                                  │                                                                                        
Git Commit: 20c95e5d836ebe94431ff5848e894dd938f4e147                                    │                                                                                        
Quorum Version: 2.4.0                                                                   │                                                                                        
Architecture: amd64                                                                     │                                                                                        
Protocol Versions: [63 62]                                                              │                                                                                        
Network Id: 1337                                                                        │                                                                                        
Go Version: go1.11.13                                                                   │                                                                                        
Operating System: linux                                                                 │                                                                                        
GOPATH=                                                                                 │                                                                                        
GOROOT=/home/travis/.gimme/versions/go1.11.13.linux.amd64   

OS & Version: Linux quorum 5.3.0-1009-gcp #10-Ubuntu SMP Fri Nov 15 07:02:18 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

Branch, Commit Hash or Release: dc04f59374a307b966f783c594d469f04f558384, up-to-date

Environment: vagrant

Expected behavior

The nodes should start, and the dialog should confirm that nodes 1-7 are listening on ICP and HTTP.

Actual behavior

Repeated "Node [N] is not listening on [protocol]" messages, alongside hints to check logs.

Steps to reproduce the behavior

  1. Prepare environment, build Quorum, build Tessera. Enter quorum-examples/examples/7nodes directory.
  2. Initialize keystores etc. with ./tessera-init.sh and attempt to start the nodes with ./tessera-start.sh.
  3. Receive hint: Tessera is taking a long time to start. Look at the Tessera logs in qdata/logs/ for help diagnosing the problem.
  4. See in tessera{n}.log files: DomainConfig is only allowed in ThirdParty server.

Error Logs

quorum-examples/examples/7nodes/qdata/logs/tessera1.log:
Config validation issue: serverConfigs[2].<list element> Invalid server config. CrossDomainConfig is only allowed in ThirdParty server

Diagnosis

tessera-init.sh provides a serverConfigs array in the JSON written to ${DDIR}/tessera-config-09-${i}.json, and at index 2 we have a cors property set for a serverConfig with type: "P2P" (and not type: "ThirdParty"), which is causing the error. Deleting it completely is likely a security concern, but doing so does clear this error up.

Is removing the cors property from that serverConfig element safe?

I had the same problem

The cors property is only relevant in the ThirdParty config, so should only be added there.
I'll check the quorum-examples and update that.
Thanks.