Removed useHTTPS from NodeConfiguration as it's not needed by the node. (#2375)

It's still expected to be present in node.conf if the web server needs to use SSL.
This commit is contained in:
Shams Asari 2018-01-17 17:47:40 +00:00 committed by GitHub
parent 6edf95506b
commit d19eb4a9d7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
13 changed files with 12 additions and 24 deletions

View File

@ -4,4 +4,3 @@ trustStorePassword : "trustpass"
p2pAddress : "localhost:10002" p2pAddress : "localhost:10002"
rpcAddress : "localhost:10003" rpcAddress : "localhost:10003"
webAddress : "localhost:10004" webAddress : "localhost:10004"
useHTTPS : false

View File

@ -4,4 +4,3 @@ trustStorePassword : "trustpass"
p2pAddress : "localhost:10005" p2pAddress : "localhost:10005"
rpcAddress : "localhost:10006" rpcAddress : "localhost:10006"
webAddress : "localhost:10007" webAddress : "localhost:10007"
useHTTPS : false

View File

@ -6,4 +6,3 @@ webAddress : "localhost:10001"
notary : { notary : {
validating : true validating : true
} }
useHTTPS : false

View File

@ -43,7 +43,6 @@ Simple Notary configuration file.
notary : { notary : {
validating : false validating : false
} }
useHTTPS : false
devMode : true devMode : true
compatibilityZoneURL : "https://cz.corda.net" compatibilityZoneURL : "https://cz.corda.net"
@ -129,10 +128,6 @@ path to the node's base directory.
Only one of ``raft``, ``bftSMaRt`` or ``custom`` configuration values may be specified. Only one of ``raft``, ``bftSMaRt`` or ``custom`` configuration values may be specified.
:useHTTPS: If false the node's web server will be plain HTTP. If true the node will use the same certificate and private
key from the ``<workspace>/certificates/sslkeystore.jks`` file as the ArtemisMQ port for HTTPS. If HTTPS is enabled
then unencrypted HTTP traffic to the node's **webAddress** port is not supported.
:rpcUsers: A list of users who are authorised to access the RPC system. Each user in the list is a config object with the :rpcUsers: A list of users who are authorised to access the RPC system. Each user in the list is a config object with the
following fields: following fields:

View File

@ -46,7 +46,6 @@ handling, and ensures the Corda service is run at boot.
myLegalName : "O=Bank of Breakfast Tea, L=London, C=GB" myLegalName : "O=Bank of Breakfast Tea, L=London, C=GB"
keyStorePassword : "cordacadevpass" keyStorePassword : "cordacadevpass"
trustStorePassword : "trustpass" trustStorePassword : "trustpass"
useHTTPS : false
devMode : false devMode : false
rpcUsers=[ rpcUsers=[
{ {
@ -217,7 +216,6 @@ at boot, and means the Corda service stays running with no users connected to th
keyStorePassword : "cordacadevpass" keyStorePassword : "cordacadevpass"
trustStorePassword : "trustpass" trustStorePassword : "trustpass"
extraAdvertisedServiceIds: [ "" ] extraAdvertisedServiceIds: [ "" ]
useHTTPS : false
devMode : false devMode : false
rpcUsers=[ rpcUsers=[
{ {

View File

@ -4,4 +4,3 @@ trustStorePassword : "trustpass"
p2pAddress : "my-network-map:10000" p2pAddress : "my-network-map:10000"
webAddress : "localhost:10001" webAddress : "localhost:10001"
sshdAddress : "localhost:10002" sshdAddress : "localhost:10002"
useHTTPS : false

View File

@ -10,7 +10,6 @@ dataSourceProperties : {
p2pAddress : "my-corda-node:10002" p2pAddress : "my-corda-node:10002"
rpcAddress : "my-corda-node:10003" rpcAddress : "my-corda-node:10003"
webAddress : "localhost:10004" webAddress : "localhost:10004"
useHTTPS : false
rpcUsers : [ rpcUsers : [
{ username=user1, password=letmein, permissions=[ StartFlow.net.corda.protocols.CashProtocol ] } { username=user1, password=letmein, permissions=[ StartFlow.net.corda.protocols.CashProtocol ] }
] ]

View File

@ -17,8 +17,6 @@ import java.util.*
val Int.MB: Long get() = this * 1024L * 1024L val Int.MB: Long get() = this * 1024L * 1024L
interface NodeConfiguration : NodeSSLConfiguration { interface NodeConfiguration : NodeSSLConfiguration {
// myLegalName should be only used in the initial network registration, we should use the name from the certificate instead of this.
// TODO: Remove this so we don't accidentally use this identity in the code?
val myLegalName: CordaX500Name val myLegalName: CordaX500Name
val emailAddress: String val emailAddress: String
val exportJMXto: String val exportJMXto: String
@ -34,8 +32,6 @@ interface NodeConfiguration : NodeSSLConfiguration {
val notary: NotaryConfig? val notary: NotaryConfig?
val activeMQServer: ActiveMqServerConfiguration val activeMQServer: ActiveMqServerConfiguration
val additionalNodeInfoPollingFrequencyMsec: Long val additionalNodeInfoPollingFrequencyMsec: Long
// TODO Remove as this is only used by the driver
val useHTTPS: Boolean
val p2pAddress: NetworkHostAndPort val p2pAddress: NetworkHostAndPort
val rpcAddress: NetworkHostAndPort? val rpcAddress: NetworkHostAndPort?
val messagingServerAddress: NetworkHostAndPort? val messagingServerAddress: NetworkHostAndPort?
@ -114,7 +110,6 @@ data class NodeConfigurationImpl(
// TODO typesafe config supports the notion of durations. Make use of that by mapping it to java.time.Duration. // TODO typesafe config supports the notion of durations. Make use of that by mapping it to java.time.Duration.
// Then rename this to messageRedeliveryDelay and make it of type Duration // Then rename this to messageRedeliveryDelay and make it of type Duration
override val messageRedeliveryDelaySeconds: Int = 30, override val messageRedeliveryDelaySeconds: Int = 30,
override val useHTTPS: Boolean,
override val p2pAddress: NetworkHostAndPort, override val p2pAddress: NetworkHostAndPort,
override val rpcAddress: NetworkHostAndPort?, override val rpcAddress: NetworkHostAndPort?,
// TODO This field is slightly redundant as p2pAddress is sufficient to hold the address of the node's MQ broker. // TODO This field is slightly redundant as p2pAddress is sufficient to hold the address of the node's MQ broker.

View File

@ -14,7 +14,6 @@ database = {
exportHibernateJMXStatistics = "false" exportHibernateJMXStatistics = "false"
} }
devMode = true devMode = true
useHTTPS = false
h2port = 0 h2port = 0
useTestClock = false useTestClock = false
verifierType = InMemory verifierType = InMemory

View File

@ -40,7 +40,6 @@ class NodeConfigurationImplTest {
dataSourceProperties = makeTestDataSourceProperties(ALICE_NAME.organisation), dataSourceProperties = makeTestDataSourceProperties(ALICE_NAME.organisation),
rpcUsers = emptyList(), rpcUsers = emptyList(),
verifierType = VerifierType.InMemory, verifierType = VerifierType.InMemory,
useHTTPS = false,
p2pAddress = NetworkHostAndPort("localhost", 0), p2pAddress = NetworkHostAndPort("localhost", 0),
rpcAddress = NetworkHostAndPort("localhost", 1), rpcAddress = NetworkHostAndPort("localhost", 1),
messagingServerAddress = null, messagingServerAddress = null,

View File

@ -71,7 +71,7 @@ data class SpringBootDriverDSL(private val driverDSL: DriverDSLImpl) : InternalD
} }
private fun queryWebserver(handle: NodeHandle, process: Process, checkUrl: String): WebserverHandle { private fun queryWebserver(handle: NodeHandle, process: Process, checkUrl: String): WebserverHandle {
val protocol = if (handle.configuration.useHTTPS) "https://" else "http://" val protocol = if (handle.useHTTPS) "https://" else "http://"
val url = URL(URL("$protocol${handle.webAddress}"), checkUrl) val url = URL(URL("$protocol${handle.webAddress}"), checkUrl)
val client = OkHttpClient.Builder().connectTimeout(5, TimeUnit.SECONDS).readTimeout(10, TimeUnit.SECONDS).build() val client = OkHttpClient.Builder().connectTimeout(5, TimeUnit.SECONDS).readTimeout(10, TimeUnit.SECONDS).build()

View File

@ -15,8 +15,8 @@ import net.corda.node.internal.StartedNode
import net.corda.node.services.config.NodeConfiguration import net.corda.node.services.config.NodeConfiguration
import net.corda.node.services.config.VerifierType import net.corda.node.services.config.VerifierType
import net.corda.testing.DUMMY_NOTARY_NAME import net.corda.testing.DUMMY_NOTARY_NAME
import net.corda.testing.node.User
import net.corda.testing.node.NotarySpec import net.corda.testing.node.NotarySpec
import net.corda.testing.node.User
import net.corda.testing.node.internal.DriverDSLImpl import net.corda.testing.node.internal.DriverDSLImpl
import net.corda.testing.node.internal.genericDriver import net.corda.testing.node.internal.genericDriver
import net.corda.testing.node.internal.getTimestampAsDirectoryName import net.corda.testing.node.internal.getTimestampAsDirectoryName
@ -41,6 +41,7 @@ sealed class NodeHandle {
abstract val rpc: CordaRPCOps abstract val rpc: CordaRPCOps
abstract val configuration: NodeConfiguration abstract val configuration: NodeConfiguration
abstract val webAddress: NetworkHostAndPort abstract val webAddress: NetworkHostAndPort
abstract val useHTTPS: Boolean
/** /**
* Stops the referenced node. * Stops the referenced node.
@ -52,6 +53,7 @@ sealed class NodeHandle {
override val rpc: CordaRPCOps, override val rpc: CordaRPCOps,
override val configuration: NodeConfiguration, override val configuration: NodeConfiguration,
override val webAddress: NetworkHostAndPort, override val webAddress: NetworkHostAndPort,
override val useHTTPS: Boolean,
val debugPort: Int?, val debugPort: Int?,
val process: Process, val process: Process,
private val onStopCallback: () -> Unit private val onStopCallback: () -> Unit
@ -70,6 +72,7 @@ sealed class NodeHandle {
override val rpc: CordaRPCOps, override val rpc: CordaRPCOps,
override val configuration: NodeConfiguration, override val configuration: NodeConfiguration,
override val webAddress: NetworkHostAndPort, override val webAddress: NetworkHostAndPort,
override val useHTTPS: Boolean,
val node: StartedNode<Node>, val node: StartedNode<Node>,
val nodeThread: Thread, val nodeThread: Thread,
private val onStopCallback: () -> Unit private val onStopCallback: () -> Unit

View File

@ -327,7 +327,7 @@ class DriverDSLImpl(
} }
private fun queryWebserver(handle: NodeHandle, process: Process): WebserverHandle { private fun queryWebserver(handle: NodeHandle, process: Process): WebserverHandle {
val protocol = if (handle.configuration.useHTTPS) "https://" else "http://" val protocol = if (handle.useHTTPS) "https://" else "http://"
val url = URL("$protocol${handle.webAddress}/api/status") val url = URL("$protocol${handle.webAddress}/api/status")
val client = OkHttpClient.Builder().connectTimeout(5, TimeUnit.SECONDS).readTimeout(60, TimeUnit.SECONDS).build() val client = OkHttpClient.Builder().connectTimeout(5, TimeUnit.SECONDS).readTimeout(60, TimeUnit.SECONDS).build()
@ -605,10 +605,14 @@ class DriverDSLImpl(
val baseDirectory = config.corda.baseDirectory.createDirectories() val baseDirectory = config.corda.baseDirectory.createDirectories()
localNetworkMap?.networkParametersCopier?.install(baseDirectory) localNetworkMap?.networkParametersCopier?.install(baseDirectory)
localNetworkMap?.nodeInfosCopier?.addConfig(baseDirectory) localNetworkMap?.nodeInfosCopier?.addConfig(baseDirectory)
val onNodeExit: () -> Unit = { val onNodeExit: () -> Unit = {
localNetworkMap?.nodeInfosCopier?.removeConfig(baseDirectory) localNetworkMap?.nodeInfosCopier?.removeConfig(baseDirectory)
countObservables.remove(config.corda.myLegalName) countObservables.remove(config.corda.myLegalName)
} }
val useHTTPS = config.typesafe.run { hasPath("useHTTPS") && getBoolean("useHTTPS") }
if (startInProcess ?: startNodesInProcess) { if (startInProcess ?: startNodesInProcess) {
val nodeAndThreadFuture = startInProcessNode(executorService, config, cordappPackages) val nodeAndThreadFuture = startInProcessNode(executorService, config, cordappPackages)
shutdownManager.registerShutdown( shutdownManager.registerShutdown(
@ -622,7 +626,7 @@ class DriverDSLImpl(
return nodeAndThreadFuture.flatMap { (node, thread) -> return nodeAndThreadFuture.flatMap { (node, thread) ->
establishRpc(config, openFuture()).flatMap { rpc -> establishRpc(config, openFuture()).flatMap { rpc ->
allNodesConnected(rpc).map { allNodesConnected(rpc).map {
NodeHandle.InProcess(rpc.nodeInfo(), rpc, config.corda, webAddress, node, thread, onNodeExit) NodeHandle.InProcess(rpc.nodeInfo(), rpc, config.corda, webAddress, useHTTPS, node, thread, onNodeExit)
} }
} }
} }
@ -651,7 +655,7 @@ class DriverDSLImpl(
} }
processDeathFuture.cancel(false) processDeathFuture.cancel(false)
log.info("Node handle is ready. NodeInfo: ${rpc.nodeInfo()}, WebAddress: $webAddress") log.info("Node handle is ready. NodeInfo: ${rpc.nodeInfo()}, WebAddress: $webAddress")
NodeHandle.OutOfProcess(rpc.nodeInfo(), rpc, config.corda, webAddress, debugPort, process, onNodeExit) NodeHandle.OutOfProcess(rpc.nodeInfo(), rpc, config.corda, webAddress, useHTTPS, debugPort, process, onNodeExit)
} }
} }
} }