forked from community/product-iots
Merge branch 'master' of https://github.com/wso2/product-iots into remote-control
commit
8513714247
File diff suppressed because it is too large
Load Diff
@ -1,78 +0,0 @@
|
||||
@echo off
|
||||
|
||||
REM ---------------------------------------------------------------------------
|
||||
REM Copyright 2017 WSO2, Inc. http://www.wso2.org
|
||||
REM
|
||||
REM Licensed under the Apache License, Version 2.0 (the "License");
|
||||
REM you may not use this file except in compliance with the License.
|
||||
REM You may obtain a copy of the License at
|
||||
REM
|
||||
REM http://www.apache.org/licenses/LICENSE-2.0
|
||||
REM
|
||||
REM Unless required by applicable law or agreed to in writing, software
|
||||
REM distributed under the License is distributed on an "AS IS" BASIS,
|
||||
REM WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
REM See the License for the specific language governing permissions and
|
||||
REM limitations under the License.
|
||||
|
||||
rem ---------------------------------------------------------------------------
|
||||
rem Main Script for WSO2 Carbon
|
||||
rem
|
||||
rem Environment Variable Prequisites
|
||||
rem
|
||||
rem CARBON_HOME Home of CARBON installation. If not set I will try
|
||||
rem to figure it out.
|
||||
rem
|
||||
rem JAVA_HOME Must point at your Java Development Kit installation.
|
||||
rem
|
||||
rem JAVA_OPTS (Optional) Java runtime options used when the commands
|
||||
rem is executed.
|
||||
rem ---------------------------------------------------------------------------
|
||||
|
||||
rem --------- NOTE: This is an edited wso2server.sh script to facilitate
|
||||
rem spark environment variables for WSO2DAS!
|
||||
|
||||
rem ----- if JAVA_HOME is not set we're not happy ------------------------------
|
||||
:checkJava
|
||||
|
||||
if "%JAVA_HOME%" == "" goto noJavaHome
|
||||
if not exist "%JAVA_HOME%\bin\java.exe" goto noJavaHome
|
||||
goto checkServer
|
||||
|
||||
:noJavaHome
|
||||
echo "You must set the JAVA_HOME variable before running CARBON."
|
||||
goto end
|
||||
|
||||
rem ----- Only set CARBON_HOME if not already set ----------------------------
|
||||
:checkServer
|
||||
rem %~sdp0 is expanded pathname of the current script under NT with spaces in the path removed
|
||||
set CARBON_HOME=%~sdp0..
|
||||
echo "%CARBON_HOME%\bin\version.txt"
|
||||
SET curDrive=%cd:~0,1%
|
||||
SET wsasDrive=%CARBON_HOME:~0,1%
|
||||
if not "%curDrive%" == "%wsasDrive%" %wsasDrive%:
|
||||
|
||||
rem find CARBON_HOME if it does not exist due to either an invalid value passed
|
||||
rem by the user or the %0 problem on Windows 9x
|
||||
if not exist "%CARBON_HOME%\bin\version.txt" goto noServerHome
|
||||
|
||||
goto startServers
|
||||
|
||||
:noServerHome
|
||||
echo CARBON_HOME is set incorrectly or CARBON could not be located. Please set CARBON_HOME.
|
||||
echo %CARBON_HOME%
|
||||
goto end
|
||||
|
||||
:startServers
|
||||
start %CARBON_HOME%\wso2\broker\bin\wso2server.bat --run -Dprofile="broker-default"
|
||||
timeout /T 10
|
||||
start %CARBON_HOME%\bin\iot-server.bat --run
|
||||
timeout /T 10
|
||||
start %CARBON_HOME%\wso2\analytics\bin\wso2server.bat --run -Dprofile="analytics-default"
|
||||
|
||||
|
||||
:end
|
||||
goto endlocal
|
||||
|
||||
:endlocal
|
||||
:END
|
@ -1,86 +0,0 @@
|
||||
#!/bin/sh
|
||||
#start-all.sh
|
||||
# ----------------------------------------------------------------------------
|
||||
# Copyright 2016 WSO2, Inc. http://www.wso2.org
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
cygwin=false;
|
||||
darwin=false;
|
||||
os400=false;
|
||||
mingw=false;
|
||||
case "`uname`" in
|
||||
CYGWIN*) cygwin=true;;
|
||||
MINGW*) mingw=true;;
|
||||
OS400*) os400=true;;
|
||||
Darwin*) darwin=true
|
||||
if [ -z "$JAVA_VERSION" ] ; then
|
||||
JAVA_VERSION="CurrentJDK"
|
||||
else
|
||||
echo "Using Java version: $JAVA_VERSION"
|
||||
fi
|
||||
if [ -z "$JAVA_HOME" ] ; then
|
||||
JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/${JAVA_VERSION}/Home
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
# resolve links - $0 may be a softlink
|
||||
PRG="$0"
|
||||
|
||||
while [ -h "$PRG" ]; do
|
||||
ls=`ls -ld "$PRG"`
|
||||
link=`expr "$ls" : '.*-> \(.*\)$'`
|
||||
if expr "$link" : '.*/.*' > /dev/null; then
|
||||
PRG="$link"
|
||||
else
|
||||
PRG=`dirname "$PRG"`/"$link"
|
||||
fi
|
||||
done
|
||||
|
||||
# Get standard environment variables
|
||||
PRGDIR=`dirname "$PRG"`
|
||||
|
||||
# Only set CARBON_HOME if not already set
|
||||
[ -z "$CARBON_HOME" ] && CARBON_HOME=`cd "$PRGDIR/.." ; pwd`
|
||||
|
||||
###########################################################################
|
||||
NAME=start-all
|
||||
# Daemon name, where is the actual executable
|
||||
IOT_INIT_SCRIPT="$CARBON_HOME/bin/iot-server.sh"
|
||||
ANALYTICS_INIT_SCRIPT="$CARBON_HOME/wso2/analytics/bin/wso2server.sh"
|
||||
BROKER_INIT_SCRIPT="$CARBON_HOME/wso2/broker/bin/wso2server.sh"
|
||||
|
||||
# If the daemon is not there, then exit.
|
||||
|
||||
if [ ! -z "$*" ]; then
|
||||
exit;
|
||||
else
|
||||
trap "sh $CARBON_HOME/bin/stop-all.sh; exit;" INT TERM
|
||||
fi
|
||||
sh $BROKER_INIT_SCRIPT -Dprofile="broker-default" $* &
|
||||
sleep 10
|
||||
sh $IOT_INIT_SCRIPT $* &
|
||||
sleep 10
|
||||
sh $ANALYTICS_INIT_SCRIPT -Dprofile="analytics-default" $* &
|
||||
|
||||
|
||||
if [ ! -z "$*" ]; then
|
||||
exit;
|
||||
else
|
||||
trap "sh $CARBON_HOME/bin/stop-all.sh; exit;" INT TERM
|
||||
while :
|
||||
do
|
||||
sleep 60
|
||||
done
|
||||
fi
|
@ -1,48 +0,0 @@
|
||||
#!/bin/sh
|
||||
#stop-all.sh
|
||||
# ----------------------------------------------------------------------------
|
||||
# Copyright 2016 WSO2, Inc. http://www.wso2.org
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
|
||||
PRG="$0"
|
||||
|
||||
while [ -h "$PRG" ]; do
|
||||
ls=`ls -ld "$PRG"`
|
||||
link=`expr "$ls" : '.*-> \(.*\)$'`
|
||||
if expr "$link" : '.*/.*' > /dev/null; then
|
||||
PRG="$link"
|
||||
else
|
||||
PRG=`dirname "$PRG"`/"$link"
|
||||
fi
|
||||
done
|
||||
|
||||
# Get standard environment variables
|
||||
PRGDIR=`dirname "$PRG"`
|
||||
|
||||
# Only set CARBON_HOME if not already set
|
||||
[ -z "$CARBON_HOME" ] && CARBON_HOME=`cd "$PRGDIR/.." ; pwd`
|
||||
|
||||
###########################################################################
|
||||
NAME=stop-all
|
||||
# Daemon name, where is the actual executables
|
||||
IOT_INIT_SCRIPT="$CARBON_HOME/bin/iot-server.sh"
|
||||
ANALYTICS_INIT_SCRIPT="$CARBON_HOME/wso2/analytics/bin/wso2server.sh"
|
||||
MB_INIT_SCRIPT="$CARBON_HOME/wso2/broker/bin/wso2server.sh"
|
||||
|
||||
sh $ANALYTICS_INIT_SCRIPT stop
|
||||
sh $IOT_INIT_SCRIPT stop
|
||||
sh $MB_INIT_SCRIPT stop
|
||||
|
||||
exit
|
@ -1,244 +1,63 @@
|
||||
Release Notes - WSO2 IOT Server - Version 3.0.0
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<body>
|
||||
|
||||
<a href="http://wso2.com/products/iot-server/">
|
||||
<img src="http://b.content.wso2.com/sites/all/common/images/product-logos/IoT-server.svg" alt="WSO2 IoT Server" />
|
||||
</a><p></p>
|
||||
|
||||
<a href='https://opensource.org/licenses/Apache-2.0'><img src='https://img.shields.io/badge/License-Apache%202.0-blue.svg'></a><br/>
|
||||
|
||||
<h1>Release Note - WSO2 IoT Server Version 3.1.0</h1>
|
||||
|
||||
<h2>We are pleased to announce WSO2 IoT Server 3.1.0.</h2>
|
||||
|
||||
<p>WSO2 IoT Server is one of the most adaptive Apache licensed open source IoT platforms available today. It provides best of breed technologies for device manufacturers to develop connected products as well as rich integration and smart analytics capabilities for system integrators to adopt devices into systems they build. </p>
|
||||
|
||||
<p>These capabilities involve device management, smart analytics, API and app management for devices, transport extensions for MQTT, XMPP and many more.</p>
|
||||
|
||||
<h4>What's new in WSO2 IoTS 3.1.0</h4>
|
||||
|
||||
<h2> Bug
|
||||
</h2>
|
||||
<ul>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-181'>IOTS-181</a>] - The Graphs are rendered incorrectly
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-182'>IOTS-182</a>] - The units are missing from Y axis
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-222'>IOTS-222</a>] - INSTALL.txt needs to be updated
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-262'>IOTS-262</a>] - APIThrottleHandler Unable to find throttling info continuously printed.
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-4'>IOTS-4</a>] - Fresh Pack - Table Not Found: X1234_DeviceGRAVITYSummaryData
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-115'>IOTS-115</a>] - Edit Role: The domain name can be typed
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-116'>IOTS-116</a>] - Edit Role: The user is unable to change name
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-119'>IOTS-119</a>] - When existing role name is used to create a role no validation message is shown
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-128'>IOTS-128</a>] - Previously selected permission tree is shown for another admin user
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-138'>IOTS-138</a>] - Remove the admin-device-access role permission
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-144'>IOTS-144</a>] - Operations Log: the data doesn't load
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-170'>IOTS-170</a>] - Proper validation is not fired when an invalid domain is used to login
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-179'>IOTS-179</a>] - Users who register from APIM Store can login to IOTS and enroll devices
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-190'>IOTS-190</a>] - Multi Tenancy: error 500 loads on logging for the first time.
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-198'>IOTS-198</a>] - wso2.anonymous.user in API-Store does not have permission to access custom device types API
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-202'>IOTS-202</a>] - OAuth2BasedMQTTAuthenticator errors thrown if server is bounced while MQTT clients are publishing
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-226'>IOTS-226</a>] - MqttException thrown when a device is pushing erroneous events
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-227'>IOTS-227</a>] - When a device is publishing erroneous events at a high rate over MQTT other device events are dropped
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-244'>IOTS-244</a>] - MQTT clients can authenticate/authorize using tokens generated with credentials not belonging to them
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-255'>IOTS-255</a>] - [External APIM] https-ep in deviceConfig.properties is not populated with APIM details
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-256'>IOTS-256</a>] - Errors thrown at HTTP Gateway profile startup
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-257'>IOTS-257</a>] - transports not bound for HTTP Gateway profile node
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-259'>IOTS-259</a>] - ERROR - js {} thrown from devicemgt
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-260'>IOTS-260</a>] - Error loading properties from a file printed due to missing properties files
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-269'>IOTS-269</a>] - [Intermittent] Force shutdown fails with errors
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-270'>IOTS-270</a>] - Arduino device type control events are lost if the server is restarted
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-274'>IOTS-274</a>] - [IOT] /oauth2/token cannot be called directly
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-277'>IOTS-277</a>] - Accessing swagger definition failed with CNF
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-315'>IOTS-315</a>] - Missing the start-all.bat and stop-all.bat files
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-339'>IOTS-339</a>] - Error occurred while registering device management plugin 'android'
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-369'>IOTS-369</a>] - Add missing grant types in identity.xml
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-378'>IOTS-378</a>] - Windows Device location is not showing in Device view page
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-391'>IOTS-391</a>] - Notification Pane position issue
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-18'>IOTS-18</a>] - Need to add refresh token generation in Android Sense agent.
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-103'>IOTS-103</a>] - Grouping: need a mechanisam to add devices to a group from the grouping page
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-108'>IOTS-108</a>] - When user shares device policies fails with 401
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-118'>IOTS-118</a>] - Change Role permissions: Selecting the rights need to be synced correctly
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-120'>IOTS-120</a>] - Last name should allow space in-between when creating / editing the name
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-151'>IOTS-151</a>] - Server startup fails when configured to use Oracle
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-168'>IOTS-168</a>] - A role with permission assigned to a user is not functioning
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-173'>IOTS-173</a>] - Same device can be added multiple times to the same group
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-178'>IOTS-178</a>] - User cannot login to APIM store with IOT credentials
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-183'>IOTS-183</a>] - Some buttons are not visible
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-193'>IOTS-193</a>] - Policies: User is unable to add a policy
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-200'>IOTS-200</a>] - IllegalTransactionStateException when trying to add a new policy
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-204'>IOTS-204</a>] - Duplicate log4j.properties file in CARBON_HOME/repository
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-212'>IOTS-212</a>] - [External APIM] NPE thrown when downloading virtual fire alarm, rasp pi and arduino agents
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-218'>IOTS-218</a>] - Group: when a device is removed from the group the device is completely removed from the devices list
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-232'>IOTS-232</a>] - Multi Tenancy: error 500 loads when user access the system
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-236'>IOTS-236</a>] - Sharing a group fails silently if there is group with the same name and no roles are selected
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-239'>IOTS-239</a>] - SSO failing due to getting the access token from APIM
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-254'>IOTS-254</a>] - samples-deployer build fails with missing dependency
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-263'>IOTS-263</a>] - [UI] Same device can be added to a group multiple times
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-344'>IOTS-344</a>] - Need to remove Android IOT gadget from IoT Core Dashboard
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-346'>IOTS-346</a>] - Cannot view devices when registered as a new user
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-356'>IOTS-356</a>] - When UI is configured to use Gateway, Cannot Login
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-365'>IOTS-365</a>] - Make Policy Management to be part of device management
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-366'>IOTS-366</a>] - Dynamic values for push notification needs to have default values
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-137'>IOTS-137</a>] - -Detup fails, logging exceptions
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-151'>IOTS-151</a>] - Server startup fails when configured to use Oracle
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-160'>IOTS-160</a>] - Although two roles are shown in roles section several roles are shown when assigning to users
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-172'>IOTS-172</a>] - The db scripts are not executed with -Dsetup
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-176'>IOTS-176</a>] - Creating a New Device Type - device-deployer build failed
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-177'>IOTS-177</a>] - Device types fail to register to IOTS when configured with Oracle db
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-184'>IOTS-184</a>] - Windows startup error on hadoop
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-195'>IOTS-195</a>] - Single sign-on(SSO) cannot enable Between devicemgt and DS
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-201'>IOTS-201</a>] - DashboardDeployer Gadget directory copying to Wrong path
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-316'>IOTS-316</a>] - Publisher and store apps are not working
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-319'>IOTS-319</a>] - Implement enrolment functionality for AndroidSens
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-325'>IOTS-325</a>] - Unable to delete policies associated with a group
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-330'>IOTS-330</a>] - Policy not added for Virtual firealarm
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-332'>IOTS-332</a>] - Devices listing page doesn't honor analyticsEnabled and groupingEnabled configs
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-333'>IOTS-333</a>] - Devices listing page doesn't honor analyticsEnabled and groupingEnabled configs
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-335'>IOTS-335</a>] - View Dashboard Permissions missing in the role permission tree
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-337'>IOTS-337</a>] - Permissions (except device-mgt permissions) added through carbon console gets removed when adding permissions through deviceMgt UI
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-340'>IOTS-340</a>] - NPE for username thrown on Broker
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h2> Task
|
||||
</h2>
|
||||
<ul>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-292'>IOTS-292</a>] - Migrating to synapse gateway
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-381'>IOTS-381</a>] - device type listing fails when only windows and android features are installed
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-363'>IOTS-363</a>] - Windows and IOS enrollment related UI page Logos (Wso2 EMM) should be changed into wso2 IOT
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-307'>IOTS-307</a>] - Stabilize Android Sense + Integrating with new dashboard
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<h2> Improvement
|
||||
</h2>
|
||||
<ul>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-145'>IOTS-145</a>] - Remove the second confirmation message to remove a user or role
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-282'>IOTS-282</a>] - Distributed setup - device-key-manager node gives 405 when try to access /devicemgt
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-370'>IOTS-370</a>] - Move adapter configs as global configs
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-374'>IOTS-374</a>] - Updating font wso2 to newest version
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-379'>IOTS-379</a>] - Modal markup fixes
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-382'>IOTS-382</a>] - Windows 10 Reboot operation support
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-383'>IOTS-383</a>] - Modal opening for multiple times
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-390'>IOTS-390</a>] - Missing action buttons on details views
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-392'>IOTS-392</a>] - Inconsistent notification pane messege
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-394'>IOTS-394</a>] - Data table selection issue
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-397'>IOTS-397</a>] - Advance Search for devices view
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-171'>IOTS-171</a>] - Register User Form: username message
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-187'>IOTS-187</a>] - The UI for Role creation should have an option for the user to tick if he wants to have the group name prefix added
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-271'>IOTS-271</a>] - Viewing Group Details
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-273'>IOTS-273</a>] - about.html is for UES
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-283'>IOTS-283</a>] - Distributed Setup - mqtt profile - Class not found error
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-306'>IOTS-306</a>] - Refactoring permission to scope mapping
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-348'>IOTS-348</a>] - OOTB H2 needs to be shared with DAS and Core
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-351'>IOTS-351</a>] - Windows 10 Device Location support
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-352'>IOTS-352</a>] - CDMF Android agent must use the new gateway DCR endpoints
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-362'>IOTS-362</a>] - UI configurations need to refactor
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-368'>IOTS-368</a>] - Federated login page should be compatible with Windows 10 Laptop
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-334'>IOTS-334</a>] - Add three buttons to improve device enrollment screens
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-336'>IOTS-336</a>] - The UI to download the Android Agent uses the old EMM UI
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-338'>IOTS-338</a>] - Windows 10 MDM support
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-341'>IOTS-341</a>] - Re-word message when selecting roles for group sharing
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-342'>IOTS-342</a>] - Re-word the message for adding users to the role when sharing a group with users
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
|
||||
<h2> Sub-task
|
||||
</h2>
|
||||
<ul>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-354'>IOTS-354</a>] - Test Android with Gateway
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-355'>IOTS-355</a>] - Test Windows with Gateway
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-359'>IOTS-359</a>] - Re-Enable Integration tests for the new IOT pack.
|
||||
</li>
|
||||
<li>[<a href='https://wso2.org/jira/browse/IOTS-360'>IOTS-360</a>] - Modify the existing tests and make them working for the current IOT pack.
|
||||
</li>
|
||||
</ul>
|
||||
<li>A complete API-driven device type definition eliminating the necessity to create deployable plugins</li>
|
||||
<li>Support for location based services such as Geofencing and alerting as a reusable functionality</li>
|
||||
<li>A redesigned device overview page for better user experience</li>
|
||||
<li>Improved product profiles for scalable deployment</li>
|
||||
<li>Performance enhancements</li>
|
||||
<li>Enhancements to prebuilt agents</li>
|
||||
</ul>
|
||||
|
||||
<h4>Documentation</h4>
|
||||
|
||||
Documentations: <a href='https://docs.wso2.com/display/IoTS310/WSO2+IoT+Server+Documentation'> WSO2 IoT Server Documentation</a>
|
||||
|
||||
<h4>Known Issues</h4>
|
||||
|
||||
The known set of issues this version can be found <a href='https://github.com/wso2/product-iots/issues?q=is%3Aopen+is%3Aissue+label%3A3.1.0-RC1'> here.</a>
|
||||
|
||||
<h3>Engaging with Community</h3>
|
||||
|
||||
<h4>Mailing Lists</h4>
|
||||
|
||||
<p>Join our mailing list and correspondence with the developers directly.</p>
|
||||
|
||||
<p>Developer list: <a href="mailto:dev@wso2.org">dev@wso2.org</a> | <a href="mailto:dev-request@wso2.org?subject=subscribe">Subscribe</a> | <a href="http://mail.wso2.org/mailarchive/dev/">Mail Archive</a></p>
|
||||
|
||||
<h4>Reporting Issues</h4>
|
||||
|
||||
<p>We encourage you to report issues, documentation faults and feature requests regarding WSO2 IoT Server through <a href="https://github.com/wso2/product-iots/issues">WSO2 IoT GIT Issues</a>.</p>
|
||||
|
||||
<h4>Discussion Forums</h4>
|
||||
|
||||
<p>We encourage you to use <a href="http://stackoverflow.com/questions/tagged/wso2iots%20or%20wso2emm%20or%20wso2iot%20or%20wso2-emm">stackoverflow</a> to engage with developers as well as other users.</p>
|
||||
|
||||
<p>For more information about WSO2 IoT Server, please see <a href="http://wso2.com/products/iot-server">http://wso2.com/products/iot-server</a> or visit the <a href="http://wso2.com/library/">WSO2 Oxygen Tank</a> developer portal for additional resources.</p>
|
||||
|
||||
<p>Thank you for your interest in WSO2 IoT Server.</p>
|
||||
|
||||
<p><strong><em>The WSO2 IoT Server Team</em></strong></p>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,551 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo ""
|
||||
echo "----------------------------------------"
|
||||
echo "WSO2 IoT Server IP configuration tool"
|
||||
echo "----------------------------------------"
|
||||
|
||||
|
||||
##################################### IP configs related to broker ####################################
|
||||
|
||||
echo ""
|
||||
echo ">>> Step 1: Change current IP address of the IoT Core"
|
||||
|
||||
echo ""
|
||||
echo "Please enter the IoT Core IP that you need to replace (if you are trying out IoT server for the first time this will be localhost)"
|
||||
read val1;
|
||||
|
||||
while [[ -z $val1 ]]; do #if $val1 is a zero length String
|
||||
echo "Please enter the IoT Core IP that you need to replace (if you are trying out IoT server for the first time this will be localhost)"
|
||||
read val1;
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo "Please enter your current IP"
|
||||
read val2;
|
||||
|
||||
while [[ -z $val2 ]]; do #if $val2 is a zero length String
|
||||
echo "Please enter your current IP"
|
||||
read val2;
|
||||
done
|
||||
|
||||
|
||||
echo "--------------------------------------"
|
||||
echo "All your " + $val1 + " IP's are replaced with " +$val2 ;
|
||||
echo "--------------------------------------"
|
||||
|
||||
replaceText='s/localhost/'$val1'/g'
|
||||
|
||||
echo "Changing <IoT_HOME>/conf/carbon.xml"
|
||||
sed -i '' -e 's#\(<HostName>\)'$val1'\(</HostName>\)#\1'$val2'\2#g' ../conf/carbon.xml
|
||||
sed -i '' -e 's#\(<MgtHostName>\)'$val1'\(</MgtHostName>\)#\1'$val2'\2#g' ../conf/carbon.xml
|
||||
echo "Completed!!"
|
||||
|
||||
#--------------------
|
||||
echo "Changing <IoT_HOME>/conf/app-manager.xml"
|
||||
sed -i '' -e 's#\(<IdentityProviderUrl>\)https\:\/\/'$val1'\:\${mgt\.transport\.https\.port}\/samlsso\(</IdentityProviderUrl>\)#\1'https://$val2:9443/samlsso'\2#g' ../conf/app-manager.xml
|
||||
echo "Completed!!"
|
||||
|
||||
#--------------------
|
||||
echo "Changing <IoT_HOME>/conf/identity/sso-idp-config.xml"
|
||||
sed -i '' -e 's/'$val1'/'$val2'/g' ../conf/identity/sso-idp-config.xml
|
||||
echo "Completed!!"
|
||||
|
||||
#--------------------
|
||||
echo "Changing <IoT_HOME>/conf/iot-api-config.xml"
|
||||
sed -i '' -e 's/'$val1'/'$val2'/g' ../conf/iot-api-config.xml
|
||||
echo "Completed!!"
|
||||
|
||||
#--------------------
|
||||
echo "Changing <IoT_HOME>/repository/deployment/server/jaggeryapps/devicemgt/app/conf/app-conf.json"
|
||||
sed -i -e 's/"identityProvider.*/\"identityProviderUrl\"\ :\ "https\:\/\/'$val2':9443\/samlsso\"\,/' ../repository/deployment/server/jaggeryapps/devicemgt/app/conf/app-conf.json
|
||||
sed -i -e 's/"acs.*/\"acs\"\ :\ "https\:\/\/'$val2':9443\/devicemgt\/uuf\/sso\/acs\"\,/' ../repository/deployment/server/jaggeryapps/devicemgt/app/conf/app-conf.json
|
||||
echo "Completed!!"
|
||||
|
||||
#--------------------
|
||||
echo "Changing <IoT_HOME>/repository/deployment/server/jaggeryapps/api-store/site/conf/site.json"
|
||||
sed -i -e 's/"identityProvider.*/\"identityProviderUrl\"\ :\ "https\:\/\/'$val2':9443\/samlsso\"\,/' ../repository/deployment/server/jaggeryapps/api-store/site/conf/site.json
|
||||
echo "Completed!!"
|
||||
|
||||
#--------------------
|
||||
echo "Changing <IoT_HOME>/repository/deployment/server/jaggeryapps/portal/configs/designer.json"
|
||||
sed -i -e 's/"acs.*/\"acs\"\ :\ "https\:\/\/'$val2':9443\/portal\/acs\"\,/' ../repository/deployment/server/jaggeryapps/portal/configs/designer.json
|
||||
echo "Completed!!"
|
||||
|
||||
#--------------------
|
||||
echo "Changing <IoT_HOME>/conf/api-manager.xml"
|
||||
if grep -q '<!-- Server URL of the API key manager -->' ../conf/api-manager.xml;
|
||||
then
|
||||
echo 'found'
|
||||
sed -i -e 's|<!-- Server URL of the API key manager -->||' ../conf/api-manager.xml
|
||||
fi
|
||||
|
||||
if grep -q '<ServerURL>https:\/\/\${carbon.local.ip}:\${mgt.transport.https.port}\${carbon.context}services\/<\/ServerURL>' ../conf/api-manager.xml;
|
||||
then
|
||||
echo 'found'
|
||||
sed -i -e 's/<ServerURL>https:\/\/\${carbon.local.ip}:\${mgt.transport.https.port}\${carbon.context}services\/<\/ServerURL>//' ../conf/api-manager.xml
|
||||
fi
|
||||
|
||||
if grep -q '<ServerURL>https:\/\/'$val2':\${mgt.transport.https.port}\${carbon.context}services\/<\/ServerURL>' ../conf/api-manager.xml;
|
||||
then
|
||||
echo 'found'
|
||||
sed -i -e 's/<ServerURL>https:\/\/'$val2':\${mgt.transport.https.port}\${carbon.context}services\/<\/ServerURL>//' ../conf/api-manager.xml
|
||||
fi
|
||||
|
||||
sed -i '' -e 's/<APIKeyValidator>/<APIKeyValidator><!-- Server URL of the API key manager --><ServerURL>https:\/\/'$val2'\:\$\{mgt\.transport\.https\.port\}\$\{carbon\.context\}services\/<\/ServerURL>/g' ../conf/api-manager.xml
|
||||
echo "Completed!!"
|
||||
|
||||
#--------------------
|
||||
if grep -q '<RevokeAPIURL>https:\/\/localhost:\${https.nio.port}\/revoke<\/RevokeAPIURL>' ../conf/api-manager.xml;
|
||||
then
|
||||
sed -i -e 's|<RevokeAPIURL>https:\/\/localhost:\${https.nio.port}\/revoke<\/RevokeAPIURL>|<RevokeAPIURL>https:\/\/'$val2':\${https.nio.port}\/revoke<\/RevokeAPIURL>|' ../conf/api-manager.xml
|
||||
fi
|
||||
|
||||
if grep -q '<RevokeAPIURL>https:\/\/'$val1':\${https.nio.port}\/revoke<\/RevokeAPIURL>' ../conf/api-manager.xml;
|
||||
then
|
||||
sed -i -e 's|<RevokeAPIURL>https:\/\/'$val1':\${https.nio.port}\/revoke<\/RevokeAPIURL>|<RevokeAPIURL>https:\/\/'$val2':\${https.nio.port}\/revoke<\/RevokeAPIURL>|' ../conf/api-manager.xml
|
||||
fi
|
||||
|
||||
#--------------------
|
||||
echo "Changing <IoT_HOME>/conf/etc/webapp-publisher-config.xml"
|
||||
sed -i '' -e 's#\(<EnabledUpdateApi>\)false\(</EnabledUpdateApi>\)#\1'true'\2#g' ../conf/etc/webapp-publisher-config.xml
|
||||
echo "Completed!!"
|
||||
|
||||
#--------------------
|
||||
echo "Changing <IoT_HOME>/bin/iot-server.sh"
|
||||
sed -i -e 's/-Diot.core.host.*/-Diot.core.host="'$val2'" \\/' ../bin/iot-server.sh
|
||||
sed -i -e 's/-Diot.keymanager.host.*/-Diot.keymanager.host="'$val2'" \\/' ../bin/iot-server.sh
|
||||
sed -i -e 's/-Diot.gateway.host.*/-Diot.gateway.host="'$val2'" \\/' ../bin/iot-server.sh
|
||||
echo "Completed!!"
|
||||
|
||||
#----------------------
|
||||
echo ""
|
||||
echo "Changing hostURL of <IoT_HOME>/wso2/broker/conf/broker.xml"
|
||||
if grep -q '<property name="hostURL">https://'$val1':9443/services/OAuth2TokenValidationService</property>' ../wso2/broker/conf/broker.xml;
|
||||
then
|
||||
echo "found"
|
||||
sed -i -e 's|<property name="hostURL">https:\/\/'$val1':9443\/services\/OAuth2TokenValidationService</\property>|<property name="hostURL">https:\/\/'$val2':9443\/services\/OAuth2TokenValidationService</\property>|' ../wso2/broker/conf/broker.xml
|
||||
echo "Completed!!"
|
||||
fi
|
||||
|
||||
#------------------------
|
||||
echo ""
|
||||
echo "Changing tokenEndpoint of <IoT_HOME>/wso2/broker/conf/broker.xml"
|
||||
if grep -q '<property name="tokenEndpoint">https:\/\/'$val1':8243</\property>' ../wso2/broker/conf/broker.xml;
|
||||
then
|
||||
echo "found"
|
||||
sed -i -e 's|<property name="tokenEndpoint">https:\/\/'$val1':8243</\property>|<property name="tokenEndpoint">https:\/\/'$val2':8243</\property>|' ../wso2/broker/conf/broker.xml
|
||||
echo "Completed!!"
|
||||
fi
|
||||
|
||||
#--------------------------
|
||||
echo ""
|
||||
echo "Changing deviceMgtServerUrl of <IoT_HOME>/wso2/broker/conf/broker.xml"
|
||||
if grep -q '<property name="deviceMgtServerUrl">https:\/\/'$val1':8243</\property>' ../wso2/broker/conf/broker.xml;
|
||||
then
|
||||
echo "found"
|
||||
sed -i -e 's|<property name="deviceMgtServerUrl">https:\/\/'$val1':8243</\property>|<property name="deviceMgtServerUrl">https:\/\/'$val2':8243</\property>|' ../wso2/broker/conf/broker.xml
|
||||
echo "Completed!!"
|
||||
fi
|
||||
|
||||
#--------------------
|
||||
echo "Changing <IoT_HOME>/wso2/analytics/bin/wso2server.sh"
|
||||
sed -i -e 's/-Diot.keymanager.host.*/-Diot.keymanager.host="'$val2'" \\/' ../wso2/analytics/bin/wso2server.sh
|
||||
sed -i -e 's/-Diot.gateway.host.*/-Diot.gateway.host="'$val2'" \\/' ../wso2/analytics/bin/wso2server.sh
|
||||
echo "Completed!!"
|
||||
|
||||
#--------------------
|
||||
echo "Changing <IoT_HOME>/wso2/analytics/repository/deployment/server/jaggeryapps/portal/configs/designer.json"
|
||||
sed -i -e 's/"identityProviderURL.*/\"identityProviderURL\"\:\"https\:\/\/'$val2':9443\/samlsso\"\,/' ../wso2/analytics/repository/deployment/server/jaggeryapps/portal/configs/designer.json
|
||||
sed -i -e 's/"dynamicClientAppRegistrationServiceURL.*/\"dynamicClientAppRegistrationServiceURL\"\:\"https\:\/\/'$val2':9443\/dynamic-client-web\/register\"\,/' ../wso2/analytics/repository/deployment/server/jaggeryapps/portal/configs/designer.json
|
||||
sed -i -e 's/"apiManagerClientAppRegistrationServiceURL.*/\"apiManagerClientAppRegistrationServiceURL\"\:\"https\:\/\/'$val2':9443\/api-application-registration\/register\/tenants\"\,/' ../wso2/analytics/repository/deployment/server/jaggeryapps/portal/configs/designer.json
|
||||
sed -i -e 's/"tokenServiceURL.*/\"tokenServiceURL\"\: \"https\:\/\/'$val2':9443\/oauth2\/token\"/' ../wso2/analytics/repository/deployment/server/jaggeryapps/portal/configs/designer.json
|
||||
sed -i -e 's/"hostname.*/\"hostname\"\: \"'$val2'\"\,/' ../wso2/analytics/repository/deployment/server/jaggeryapps/portal/configs/designer.json
|
||||
echo "Completed!!"
|
||||
|
||||
##################################### IP configs related to broker ####################################
|
||||
echo ""
|
||||
echo ""
|
||||
echo ">>> Step 2: Change current IP address of the IoT Broker"
|
||||
echo "-------------------------------------------------------"
|
||||
|
||||
echo ""
|
||||
echo "Please enter the IoT Broker IP that you need to replace (if you are trying out IoT server for the first time this will be localhost)"
|
||||
read val3;
|
||||
|
||||
while [[ -z $val3 ]]; do #if $val1 is a zero length String
|
||||
echo "Please enter the IoT Broker IP that you need to replace (if you are trying out IoT server for the first time this will be localhost)"
|
||||
read val3;
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo "Please enter your current IP"
|
||||
read val4;
|
||||
|
||||
while [[ -z $val4 ]]; do #if $val2 is a zero length String
|
||||
echo "Please enter your current IP"
|
||||
read val4;
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo "--------------------------------------"
|
||||
echo "All your " + $val3 + " IP's are replaced with " +$val4 ;
|
||||
echo "--------------------------------------"
|
||||
|
||||
#--------------------
|
||||
echo "Changing <IoT_HOME>/wso2/analytics/bin/wso2server.sh"
|
||||
sed -i -e 's/-Dmqtt.broker.host.*/-Dmqtt.broker.host="'$val4'" \\/' ../wso2/analytics/bin/wso2server.sh
|
||||
echo "Completed!!"
|
||||
|
||||
#--------------------
|
||||
echo "Changing <IoT_HOME>/bin/iot-server.sh"
|
||||
sed -i -e 's/-Dmqtt.broker.host.*/-Dmqtt.broker.host="'$val4'" \\/' ../bin/iot-server.sh
|
||||
echo "Completed!!"
|
||||
|
||||
|
||||
|
||||
|
||||
##################################### IP configs related to analytics ####################################
|
||||
|
||||
echo ""
|
||||
echo ""
|
||||
echo ">>> Step 3: Change current IP address of the IoT Analytics"
|
||||
echo "-------------------------------------------------------"
|
||||
|
||||
echo ""
|
||||
echo "Please enter the IoT Analytics IP that you need to replace (if you are trying out IoT server for the first time
|
||||
this will be localhost)"
|
||||
read val5;
|
||||
|
||||
while [[ -z $val5 ]]; do #if $val1 is a zero length String
|
||||
echo "Please enter the IoT Analytics IP that you need to replace (if you are trying out IoT server for the first time this will be localhost)"
|
||||
read val5;
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo "Please enter your current IP"
|
||||
read val6;
|
||||
|
||||
while [[ -z $val6 ]]; do #if $val2 is a zero length String
|
||||
echo "Please enter your current IP"
|
||||
read val6;
|
||||
done
|
||||
|
||||
echo ""
|
||||
echo "--------------------------------------"
|
||||
echo "All your " + $val5 + " IP's are replaced with " +$val6 ;
|
||||
echo "--------------------------------------"
|
||||
|
||||
#--------------------
|
||||
echo "Changing <IoT_HOME>/bin/iot-server.sh"
|
||||
sed -i -e 's/-Diot.analytics.host.*/-Diot.analytics.host="'$val6'" \\/' ../bin/iot-server.sh
|
||||
echo "Completed!!"
|
||||
|
||||
echo "Changing <IoT_HOME>/wso2/analytics/repository/deployment/server/jaggeryapps/portal/configs/designer.json"
|
||||
sed -i -e 's/"acs.*/\"acs\"\:\"https\:\/\/'$val6':9445\/portal\/acs\"\,/' ../wso2/analytics/repository/deployment/server/jaggeryapps/portal/configs/designer.json
|
||||
sed -i -e 's/"callbackUrl.*/\"callbackUrl\"\:\"https\:\/\/'$val6':9445\/portal\"\,/' ../wso2/analytics/repository/deployment/server/jaggeryapps/portal/configs/designer.json
|
||||
echo "Completed!!"
|
||||
|
||||
echo ""
|
||||
echo "--------------------------------------------"
|
||||
echo "Generating SSL certificates for the profiles"
|
||||
echo "--------------------------------------------"
|
||||
echo ""
|
||||
|
||||
B_SUBJ=''
|
||||
C_SUBJ=''
|
||||
A_SUBJ=''
|
||||
SERVER_ADDRESS=''
|
||||
slash='/'
|
||||
equal='='
|
||||
|
||||
buildSubject(){
|
||||
if [ $1 = "CN" ]; then
|
||||
echo "Please provide Common Name "
|
||||
read val
|
||||
while [[ -z $val ]]; do #if $val is a zero length String
|
||||
echo "Common name(your server IP/hostname) cannot be null. Please enter the Common name."
|
||||
read val;
|
||||
done
|
||||
if [ -n $val ]; then #This is true if $val is not empty (If $val is not a non zero length String)
|
||||
if [ $3 = "C" ]; then
|
||||
C_SUBJ="$C_SUBJ$slash$1$equal$val"
|
||||
return
|
||||
elif [ $3 = "B" ]; then
|
||||
B_SUBJ="$B_SUBJ$slash$1$equal$val"
|
||||
return
|
||||
else
|
||||
A_SUBJ="$A_SUBJ$slash$1$equal$val"
|
||||
SERVER_ADDRESS=$val
|
||||
return
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
echo "Please provide "$2". Press Enter to skip."
|
||||
read val;
|
||||
if [ ! -z $val ]; then #If $val is not a zero length String; This is same as if[ -n $val]; then
|
||||
if [ $3 = "C" ]; then
|
||||
C_SUBJ="$C_SUBJ$slash$1$equal$val"
|
||||
return
|
||||
elif [ $3 = "B" ]; then
|
||||
B_SUBJ="$B_SUBJ$slash$1$equal$val"
|
||||
return
|
||||
else
|
||||
A_SUBJ="$A_SUBJ$slash$1$equal$val"
|
||||
return
|
||||
fi
|
||||
fi
|
||||
}
|
||||
mkdir tmp
|
||||
echo ''
|
||||
echo '=======Enter Values for IoT Core SSL Certificate======='
|
||||
|
||||
buildSubject 'C' 'Country' 'C'
|
||||
buildSubject 'ST' 'State' 'C'
|
||||
buildSubject 'L' 'Location' 'C'
|
||||
buildSubject 'O' 'Organization' 'C'
|
||||
buildSubject 'OU' 'Organizational Unit' 'C'
|
||||
buildSubject 'emailAddress' 'Email Address' 'C'
|
||||
buildSubject 'CN' 'Common Name' 'C'
|
||||
|
||||
echo ""
|
||||
echo 'Provided IoT Core SSL Subject : ' $C_SUBJ
|
||||
|
||||
echo 'If you have a different IoT Core Keystore password please enter it here. Press Enter to use the default password.'
|
||||
read -s password
|
||||
if [ ! -z $password ]; then
|
||||
SSL_PASS=$password
|
||||
else
|
||||
SSL_PASS="wso2carbon"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "Generating SSL Certificate for IoT Core"
|
||||
openssl genrsa -out ./tmp/c.key 4096
|
||||
openssl req -new -key ./tmp/c.key -out ./tmp/c.csr -subj $C_SUBJ
|
||||
openssl x509 -req -days 730 -in ./tmp/c.csr -signkey ./tmp/c.key -set_serial 044324884 -out ./tmp/c.crt
|
||||
|
||||
echo "Export to PKCS12"
|
||||
openssl pkcs12 -export -out ./tmp/CKEYSTORE.p12 -inkey ./tmp/c.key -in ./tmp/c.crt -name "wso2carbon" -password pass:$SSL_PASS
|
||||
|
||||
echo "Export PKCS12 to JKS"
|
||||
keytool -importkeystore -srckeystore ./tmp/CKEYSTORE.p12 -srcstoretype PKCS12 -destkeystore ../repository/resources/security/wso2carbon.jks -deststorepass wso2carbon -srcstorepass wso2carbon -noprompt
|
||||
keytool -importkeystore -srckeystore ./tmp/CKEYSTORE.p12 -srcstoretype PKCS12 -destkeystore ../repository/resources/security/client-truststore.jks -deststorepass wso2carbon -srcstorepass wso2carbon -noprompt
|
||||
|
||||
|
||||
|
||||
##################
|
||||
echo ""
|
||||
echo 'Use same values for IoT Broker SSL Cerificate? (Y/N)'
|
||||
response=''
|
||||
read response
|
||||
if [ $response = "y" -o $response = "Y" ]; then
|
||||
B_SUBJ=$C_SUBJ
|
||||
else
|
||||
echo ''
|
||||
echo '=======Enter Values for IoT Broker SSL Certificate======='
|
||||
|
||||
buildSubject 'C' 'Country' 'B'
|
||||
buildSubject 'ST' 'State' 'B'
|
||||
buildSubject 'L' 'Location' 'B'
|
||||
buildSubject 'O' 'Organization' 'B'
|
||||
buildSubject 'OU' 'Organizational Unit' 'B'
|
||||
buildSubject 'emailAddress' 'Email Address' 'B'
|
||||
buildSubject 'CN' 'Common Name' 'B'
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo 'Provided IoT Broker SSL Subject : ' $B_SUBJ
|
||||
|
||||
echo 'If you have a different IoT Broker Keystore password please enter it here. Press Enter to use the default password.'
|
||||
read -s password
|
||||
if [ ! -z $password ]; then
|
||||
SSL_PASS=$password
|
||||
else
|
||||
SSL_PASS="wso2carbon"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "Generating SSL Certificate for IoT Broker"
|
||||
openssl genrsa -out ./tmp/b.key 4096
|
||||
openssl req -new -key ./tmp/b.key -out ./tmp/b.csr -subj $B_SUBJ
|
||||
openssl x509 -req -days 730 -in ./tmp/b.csr -signkey ./tmp/b.key -set_serial 044324885 -out ./tmp/b.crt
|
||||
|
||||
echo "Export to PKCS12"
|
||||
openssl pkcs12 -export -out ./tmp/BKEYSTORE.p12 -inkey ./tmp/b.key -in ./tmp/b.crt -name "wso2carbon" -password pass:$SSL_PASS
|
||||
|
||||
echo "Export PKCS12 to JKS"
|
||||
keytool -importkeystore -srckeystore ./tmp/BKEYSTORE.p12 -srcstoretype PKCS12 -destkeystore ../wso2/broker/repository/resources/security/wso2carbon.jks -deststorepass wso2carbon -srcstorepass wso2carbon -noprompt
|
||||
keytool -importkeystore -srckeystore ./tmp/BKEYSTORE.p12 -srcstoretype PKCS12 -destkeystore ../wso2/broker/repository/resources/security/client-truststore.jks -deststorepass wso2carbon -srcstorepass wso2carbon -noprompt
|
||||
|
||||
|
||||
|
||||
######################
|
||||
echo ""
|
||||
echo 'Use same values for IoT Analytics SSL Cerificate? (Y/N)'
|
||||
response=''
|
||||
read response
|
||||
if [ $response = "y" -o $response = "Y" ]; then
|
||||
A_SUBJ=$C_SUBJ
|
||||
else
|
||||
echo ''
|
||||
echo '=======Enter Values for IoT Analytics SSL Certificate======='
|
||||
|
||||
buildSubject 'C' 'Country' 'A'
|
||||
buildSubject 'ST' 'State' 'A'
|
||||
buildSubject 'L' 'Location' 'A'
|
||||
buildSubject 'O' 'Organization' 'A'
|
||||
buildSubject 'OU' 'Organizational Unit' 'A'
|
||||
buildSubject 'emailAddress' 'Email Address' 'A'
|
||||
buildSubject 'CN' 'Common Name' 'A'
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo 'Provided IoT Analytics SSL Subject : ' $A_SUBJ
|
||||
|
||||
echo 'If you have a different IoT Analytics Keystore password please enter it here. Press Enter to use the default password.'
|
||||
read -s password
|
||||
if [ ! -z $password ]; then
|
||||
SSL_PASS=$password
|
||||
else
|
||||
SSL_PASS="wso2carbon"
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "Generating SSL Certificate for IoT Analytics"
|
||||
openssl genrsa -out ./tmp/a.key 4096
|
||||
openssl req -new -key ./tmp/a.key -out ./tmp/a.csr -subj $A_SUBJ
|
||||
openssl x509 -req -days 730 -in ./tmp/a.csr -signkey ./tmp/a.key -set_serial 044324886 -out ./tmp/a.crt
|
||||
|
||||
echo "Export to PKCS12"
|
||||
openssl pkcs12 -export -out ./tmp/AKEYSTORE.p12 -inkey ./tmp/a.key -in ./tmp/a.crt -name "wso2carbon" -password pass:$SSL_PASS
|
||||
|
||||
echo "Export PKCS12 to JKS"
|
||||
keytool -importkeystore -srckeystore ./tmp/AKEYSTORE.p12 -srcstoretype PKCS12 -destkeystore ../wso2/analytics/repository/resources/security/wso2carbon.jks -deststorepass wso2carbon -srcstorepass wso2carbon -noprompt
|
||||
keytool -importkeystore -srckeystore ./tmp/AKEYSTORE.p12 -srcstoretype PKCS12 -destkeystore ../wso2/analytics/repository/resources/security/client-truststore.jks -deststorepass wso2carbon -srcstorepass wso2carbon -noprompt
|
||||
|
||||
|
||||
#########################
|
||||
# If importing certificate exist in the client trust stores delete the existing certificate
|
||||
echo ""
|
||||
echo "Deleting existing certificates in client trust stores"
|
||||
|
||||
if keytool -list -storepass wso2carbon -alias wso2broker -keystore ../repository/resources/security/client-truststore.jks >/dev/null; then
|
||||
echo "Deleting wso2broker public cert in core client truststore"
|
||||
keytool -delete -alias wso2broker -keystore ../repository/resources/security/client-truststore.jks -storepass wso2carbon
|
||||
fi
|
||||
|
||||
if keytool -list -storepass wso2carbon -alias wso2analytics -keystore ../repository/resources/security/client-truststore.jks >/dev/null; then
|
||||
echo "Deleting wso2analytics public cert in core client truststore"
|
||||
keytool -delete -alias wso2analytics -keystore ../repository/resources/security/client-truststore.jks -storepass wso2carbon
|
||||
fi
|
||||
|
||||
if keytool -list -storepass wso2carbon -alias wso2iotcore -keystore ../wso2/broker/repository/resources/security/client-truststore.jks >/dev/null; then
|
||||
echo "Deleting wso2iotcore public cert in broker client truststore"
|
||||
keytool -delete -alias wso2iotcore -keystore ../wso2/broker/repository/resources/security/client-truststore.jks -storepass wso2carbon
|
||||
fi
|
||||
|
||||
if keytool -list -storepass wso2carbon -alias wso2analytics -keystore ../wso2/broker/repository/resources/security/client-truststore.jks >/dev/null; then
|
||||
echo "Deleting wso2analytics public cert in broker client truststore"
|
||||
keytool -delete -alias wso2analytics -keystore ../wso2/broker/repository/resources/security/client-truststore.jks -storepass wso2carbon
|
||||
fi
|
||||
|
||||
if keytool -list -storepass wso2carbon -alias wso2iotcore -keystore ../wso2/analytics/repository/resources/security/client-truststore.jks >/dev/null; then
|
||||
echo "Deleting wso2iotcore public cert in analytics client truststore"
|
||||
keytool -delete -alias wso2iotcore -keystore ../wso2/analytics/repository/resources/security/client-truststore.jks -storepass wso2carbon
|
||||
fi
|
||||
|
||||
if keytool -list -storepass wso2carbon -alias wso2broker -keystore ../wso2/analytics/repository/resources/security/client-truststore.jks >/dev/null; then
|
||||
echo "Deleting wso2broker public cert in analytics client truststore"
|
||||
keytool -delete -alias wso2broker -keystore ../wso2/analytics/repository/resources/security/client-truststore.jks -storepass wso2carbon
|
||||
fi
|
||||
|
||||
if keytool -list -storepass wso2carbon -alias wso2carbonjwt -keystore ../repository/resources/security/client-truststore.jks >/dev/null; then
|
||||
echo "Deleting JWT public cert in client truststore"
|
||||
keytool -delete -alias wso2carbonjwt -keystore ../repository/resources/security/client-truststore.jks -storepass wso2carbon
|
||||
fi
|
||||
|
||||
#########################
|
||||
# copying certificates to client trust stores
|
||||
echo ""
|
||||
echo "Copying certificates to client trust stores"
|
||||
|
||||
# copying broker and analytics certificates to IoT core client trust store
|
||||
keytool -import -alias wso2broker -file ./tmp/b.crt -keystore ../repository/resources/security/client-truststore.jks -storepass wso2carbon -noprompt
|
||||
keytool -import -alias wso2analytics -file ./tmp/a.crt -keystore ../repository/resources/security/client-truststore.jks -storepass wso2carbon -noprompt
|
||||
|
||||
# copying core and analytics certificates to IoT broker client trust store
|
||||
keytool -import -alias wso2iotcore -file ./tmp/c.crt -keystore ../wso2/broker/repository/resources/security/client-truststore.jks -storepass wso2carbon -noprompt
|
||||
keytool -import -alias wso2analytics -file ./tmp/a.crt -keystore ../wso2/broker/repository/resources/security/client-truststore.jks -storepass wso2carbon -noprompt
|
||||
|
||||
# copying core and broker certificates to IoT analytics client trust store
|
||||
keytool -import -alias wso2iotcore -file ./tmp/c.crt -keystore ../wso2/analytics/repository/resources/security/client-truststore.jks -storepass wso2carbon -noprompt
|
||||
keytool -import -alias wso2broker -file ./tmp/b.crt -keystore ../wso2/analytics/repository/resources/security/client-truststore.jks -storepass wso2carbon -noprompt
|
||||
|
||||
echo ""
|
||||
echo "Generating JWT keystore"
|
||||
echo "-------------------------"
|
||||
|
||||
echo ""
|
||||
echo "Please enter your gateway IP"
|
||||
echo "(If you are going to run IoT server on a single machine, use IoT core IP)"
|
||||
read val10;
|
||||
|
||||
while [[ -z $val10 ]]; do #if $val2 is a zero length String
|
||||
echo "Please enter your current IP"
|
||||
read val10;
|
||||
done
|
||||
|
||||
JWT_SUBJ="CN=$val10,OU=IOT,O=WSO2,L=Colombo,S=Western,C=LK"
|
||||
|
||||
echo ""
|
||||
echo 'Provided Subject for JWT : ' $JWT_SUBJ
|
||||
|
||||
keytool -genkey -alias wso2carbon -keyalg RSA -keysize 2048 -keystore ../repository/resources/security/wso2carbonjwt.jks -dname $JWT_SUBJ -storepass wso2carbon -keypass wso2carbon
|
||||
cp -R ../repository/resources/security/wso2carbonjwt.jks ../wso2/analytics/repository/resources/security/
|
||||
|
||||
echo ""
|
||||
echo "Changing <IoT_HOME>/conf/etc/jwt.properties"
|
||||
sed -i -e 's/#KeyStore=.*/KeyStore=repository\/resources\/security\/wso2carbonjwt.jks/' ../conf/etc/jwt.properties
|
||||
sed -i -e 's/#KeyStorePassword=.*/KeyStorePassword=wso2carbon/' ../conf/etc/jwt.properties
|
||||
sed -i -e 's/#PrivateKeyAlias=.*/PrivateKeyAlias=wso2carbon/' ../conf/etc/jwt.properties
|
||||
sed -i -e 's/#PrivateKeyPassword=.*/PrivateKeyPassword=wso2carbon/' ../conf/etc/jwt.properties
|
||||
sed -i -e 's/default-jwt-client=.*/default-jwt-client=false/' ../conf/etc/jwt.properties
|
||||
|
||||
echo ""
|
||||
echo "Changing <IoT_HOME>/wso2/analytics/conf/etc/jwt.properties"
|
||||
sed -i -e 's/#KeyStore=.*/KeyStore=repository\/resources\/security\/wso2carbonjwt.jks/' ../wso2/analytics/conf/etc/jwt.properties
|
||||
sed -i -e 's/#KeyStorePassword=.*/KeyStorePassword=wso2carbon/' ../wso2/analytics/conf/etc/jwt.properties
|
||||
sed -i -e 's/#PrivateKeyAlias=.*/PrivateKeyAlias=wso2carbon/' ../wso2/analytics/conf/etc/jwt.properties
|
||||
sed -i -e 's/#PrivateKeyPassword=.*/PrivateKeyPassword=wso2carbon/' ../wso2/analytics/conf/etc/jwt.properties
|
||||
sed -i -e 's/default-jwt-client=.*/default-jwt-client=false/' ../wso2/analytics/conf/etc/jwt.properties
|
||||
|
||||
ehco ""
|
||||
echo "Setting up the public certificate for the default idp"
|
||||
if hash tac; then
|
||||
VAR=$(keytool -exportcert -alias wso2carbon -keystore ../repository/resources/security/wso2carbonjwt.jks -rfc -storepass wso2carbon | tail -n +2 | tac | tail -n +2 | tac | tr -cd "[:print:]");
|
||||
else
|
||||
VAR=$(keytool -exportcert -alias wso2carbon -keystore ../repository/resources/security/wso2carbonjwt.jks -rfc -storepass wso2carbon | tail -n +2 | tail -r | tail -n +2 | tail -r | tr -cd "[:print:]"); fi
|
||||
|
||||
echo ""
|
||||
echo "Printing certificate"
|
||||
echo "-----------------------"
|
||||
echo $VAR
|
||||
sed -i '' -e 's#<Certificate>.*#<Certificate>'"$VAR"'</Certificate>#g' ../conf/identity/identity-providers/iot_default.xml
|
||||
|
||||
echo ""
|
||||
if [ -e "../conf/identity/identity-providers/iot_default.xml-e" ]; then
|
||||
echo "IDP temp file exists, hence removing"
|
||||
rm -f ../conf/identity/identity-providers/iot_default.xml-e
|
||||
fi
|
||||
|
||||
echo ""
|
||||
echo "Storing JWT public cert in client truststore"
|
||||
keytool -exportcert -alias wso2carbon -keystore ../repository/resources/security/wso2carbonjwt.jks -rfc -storepass wso2carbon -file ./tmp/jwtcert
|
||||
keytool -importcert -alias wso2carbonjwt -keystore ../repository/resources/security/client-truststore.jks -storepass wso2carbon -file ./tmp/jwtcert -noprompt
|
||||
|
||||
sed -i -e 's/<Parameter Name="wso2.org\/products\/iot">.*/<Parameter Name="wso2.org\/products\/iot">wso2carbonjwt<\/Parameter>/' ../conf/etc/webapp-authenticator-config.xml
|
||||
|
||||
echo ""
|
||||
echo "Configuration Completed!!!"
|
Binary file not shown.
Binary file not shown.
Loading…
Reference in new issue