Browse Source

[Improve][Modularization][Module_OcppBackend]

2021.01.07 / Folus Wen

Actions:
1. TLS cerfication expired validation enable depend on make definition.
2. Time server add 0.europe.pool.ntp.org for Europe area.

Files:
1. As follow commit history

Image version: D0.00.XX.XXXX.XX
Image checksum: XXXXXXXX

Hardware PWB P/N : XXXXXXX
Hardware Version : XXXXXXX
FolusWen 4 years ago
parent
commit
692926a1a6

+ 2 - 2
EVSE/Modularization/Makefile

@@ -61,12 +61,12 @@ WebServiceLib:
 
 Ocpp16:
 	rm -f OcppBackend; 
-	$(CC) -D $(Project) -D__USE_XOPEN -D_GNU_SOURCE ./ocppfiles/Module_OcppBackend.c ./ocppfiles/MessageHandler.c ./ocppfiles/JsonParser.c ./ocppfiles/SystemLogMessage.c ./ocppfiles/hashmap.c ./ocppfiles/common.c -I ../Projects -I ../GPL/libwebsockets-2.2.2-stable/release/include -I ../GPL/json-c-json-c-0.13.1-20180305/release/include -L ../GPL/libwebsockets-2.2.2-stable/release/lib -L ../GPL/openssl-1.0.2g/release/lib -L ../GPL/json-c-json-c-0.13.1-20180305/release/lib -lwebsockets -luuid -lpthread -lc -lsqlite3 -ljson-c -o OcppBackend
+	$(CC) -D $(TLS_EXPIRED) -D $(Project) -D__USE_XOPEN -D_GNU_SOURCE ./ocppfiles/Module_OcppBackend.c ./ocppfiles/MessageHandler.c ./ocppfiles/JsonParser.c ./ocppfiles/SystemLogMessage.c ./ocppfiles/hashmap.c ./ocppfiles/common.c -I ../Projects -I ../GPL/libwebsockets-2.2.2-stable/release/include -I ../GPL/json-c-json-c-0.13.1-20180305/release/include -L ../GPL/libwebsockets-2.2.2-stable/release/lib -L ../GPL/openssl-1.0.2g/release/lib -L ../GPL/json-c-json-c-0.13.1-20180305/release/lib -lwebsockets -luuid -lpthread -lc -lsqlite3 -ljson-c -o OcppBackend
 	mv -f OcppBackend ../rootfs/root/
 
 Ocpp20:
 	rm -f OcppBackend20;
-	$(CC) -D $(Project) -D__USE_XOPEN -D_GNU_SOURCE ./ocpp20/Module_OcppBackend20.c ./ocpp20/MessageHandler.c ./ocpp20/JsonParser.c ./ocpp20/SystemLogMessage.c ./ocpp20/hashmap.c ./ocpp20/common.c -I ../Projects -I ../GPL/libwebsockets-2.2.2-stable/release/include -I ../GPL/json-c-json-c-0.13.1-20180305/release/include -L ../GPL/libwebsockets-2.2.2-stable/release/lib -L ../GPL/openssl-1.0.2g/release/lib -L ../GPL/json-c-json-c-0.13.1-20180305/release/lib -lwebsockets -luuid -lpthread -lc -lsqlite3 -ljson-c -o OcppBackend20
+	$(CC) -D $(TLS_EXPIRED) -D $(Project) -D__USE_XOPEN -D_GNU_SOURCE ./ocpp20/Module_OcppBackend20.c ./ocpp20/MessageHandler.c ./ocpp20/JsonParser.c ./ocpp20/SystemLogMessage.c ./ocpp20/hashmap.c ./ocpp20/common.c -I ../Projects -I ../GPL/libwebsockets-2.2.2-stable/release/include -I ../GPL/json-c-json-c-0.13.1-20180305/release/include -L ../GPL/libwebsockets-2.2.2-stable/release/lib -L ../GPL/openssl-1.0.2g/release/lib -L ../GPL/json-c-json-c-0.13.1-20180305/release/lib -lwebsockets -luuid -lpthread -lc -lsqlite3 -ljson-c -o OcppBackend20
 	mv -f OcppBackend20 ../rootfs/root/
 
 

+ 12 - 0
EVSE/Modularization/ocpp20/Module_OcppBackend20.c

@@ -322,6 +322,9 @@ static int OCPP20Callback(struct lws *wsi, enum lws_callback_reasons reason, voi
 		case LWS_CALLBACK_PROTOCOL_DESTROY:
 			DEBUG_INFO("LWS_CALLBACK_PROTOCOL_DESTROY\n");
 			break;
+		case LWS_CALLBACK_RECEIVE_PONG:
+			DEBUG_INFO("LWS_CALLBACK_RECEIVE_PONG\n");
+			break;
 		default:
 			DEBUG_INFO("Reason = %d\n", reason);
 			break;
@@ -362,6 +365,7 @@ void* ConnectWsServer(void* data)  //int ConnectWsServer()
 		DEBUG_INFO("NTP synchronize with Microsoft\n", system("/usr/sbin/ntpd -nqp time.windows.com &"));
 		DEBUG_INFO("NTP synchronize with China\n", system("/usr/sbin/ntpd -nqp cn.ntp.org.cn &"));
 		DEBUG_INFO("NTP synchronize with Taiwan\n", system("/usr/sbin/ntpd -nqp tock.stdtime.gov.tw &"));
+		DEBUG_INFO("NTP synchronize with Europe\n", system("/usr/sbin/ntpd -nqp 0.europe.pool.ntp.org &"));
 	}
 
 	if(context!=NULL)
@@ -439,7 +443,15 @@ void* ConnectWsServer(void* data)  //int ConnectWsServer()
 	ConnInfo.ietf_version_or_minus_one = -1;
 
 	if(use_ssl)
+	{
+#ifdef TLS_VALID_CERT_EXPIRED
+		ConnInfo.ssl_connection = LCCSCF_USE_SSL | LCCSCF_ALLOW_SELFSIGNED | LCCSCF_SKIP_SERVER_CERT_HOSTNAME_CHECK;
+		DEBUG_INFO("TLS does not allow expired certification.\n");
+#else
 		ConnInfo.ssl_connection = LCCSCF_USE_SSL | LCCSCF_ALLOW_SELFSIGNED | LCCSCF_SKIP_SERVER_CERT_HOSTNAME_CHECK | LCCSCF_ALLOW_EXPIRED;
+		DEBUG_INFO("TLS allow expired certification.\n");
+#endif
+	}
 
 	wsi_client = lws_client_connect_via_info(&ConnInfo);
 	if (!wsi_client)

+ 13 - 0
EVSE/Modularization/ocppfiles/Module_OcppBackend.c

@@ -373,6 +373,9 @@ static int OCPP16Callback(struct lws *wsi, enum lws_callback_reasons reason, voi
 		case LWS_CALLBACK_PROTOCOL_DESTROY:
 			DEBUG_INFO("LWS_CALLBACK_PROTOCOL_DESTROY\n");
 			break;
+		case LWS_CALLBACK_RECEIVE_PONG:
+			DEBUG_INFO("LWS_CALLBACK_RECEIVE_PONG\n");
+			break;
 		default:
 			DEBUG_INFO("Reason = %d\n", reason);
 			break;
@@ -420,6 +423,7 @@ void* ConnectWsServer(void* data)  //int ConnectWsServer()
 		DEBUG_INFO("NTP synchronize with Microsoft\n", system("/usr/sbin/ntpd -nqp time.windows.com &"));
 		DEBUG_INFO("NTP synchronize with China\n", system("/usr/sbin/ntpd -nqp cn.ntp.org.cn &"));
 		DEBUG_INFO("NTP synchronize with Taiwan\n", system("/usr/sbin/ntpd -nqp tock.stdtime.gov.tw &"));
+		DEBUG_INFO("NTP synchronize with Europe\n", system("/usr/sbin/ntpd -nqp 0.europe.pool.ntp.org &"));
 	}
 
 	if(context!=NULL)
@@ -495,7 +499,16 @@ void* ConnectWsServer(void* data)  //int ConnectWsServer()
 	ConnInfo.ietf_version_or_minus_one = -1;
 
 	if(use_ssl)
+	{
+#ifdef TLS_VALID_CERT_EXPIRED
+		ConnInfo.ssl_connection = LCCSCF_USE_SSL | LCCSCF_ALLOW_SELFSIGNED | LCCSCF_SKIP_SERVER_CERT_HOSTNAME_CHECK;
+		DEBUG_INFO("TLS does not allow expired certification.\n");
+#else
 		ConnInfo.ssl_connection = LCCSCF_USE_SSL | LCCSCF_ALLOW_SELFSIGNED | LCCSCF_SKIP_SERVER_CERT_HOSTNAME_CHECK | LCCSCF_ALLOW_EXPIRED;
+		DEBUG_INFO("TLS allow expired certification.\n");
+#endif
+	}
+
 
 	wsi_client = lws_client_connect_via_info(&ConnInfo);
 	if (!wsi_client)

+ 17 - 17
Makefile

@@ -53,7 +53,7 @@ Taurus-rootfs:
 	@echo     Building User rootfs
 	@echo =================================
 #	@cd EVSE/GPL;make all
-	@cd EVSE/Modularization;make all
+	@cd EVSE/Modularization;make TLS_EXPIRED=TLS_PASS_CERT_EXPIRED all
 	@cd EVSE/Projects/Taurus/Apps;make all
 	@rm -f EVSE/Projects/Taurus/Images/ramdisk.gz
 	@dd if=/dev/zero of=/dev/ram0 bs=1k count=131072
@@ -128,7 +128,7 @@ DD360-rootfs:
 	@echo     Building User rootfs
 	@echo =================================
 #	@cd EVSE/GPL;make Project=DD360 all
-	@cd EVSE/Modularization;make Project=DD360 all
+	@cd EVSE/Modularization;make TLS_EXPIRED=TLS_PASS_CERT_EXPIRED Project=DD360 all
 	@cd EVSE/Projects/DD360/Apps;make Project=DD360 all
 	@rm -f EVSE/Projects/DD360/Images/ramdisk.gz
 	@dd if=/dev/zero of=EVSE/Projects/DD360/Images/ramdisk bs=1k count=131072
@@ -307,7 +307,7 @@ DM30-rootfs:
 	@echo     Building User rootfs
 	@echo =================================
 #	@cd EVSE/GPL;make all
-	@cd EVSE/Modularization;make Project=DM30 all
+	@cd EVSE/Modularization;make TLS_EXPIRED=TLS_PASS_CERT_EXPIRED Project=DM30 all
 	@cd EVSE/Projects/DM30/Apps;make Project=DM30 Project_Debug_Option=0 all
 	@rm -f EVSE/Projects/DM30/Images/ramdisk.gz
 	@dd if=/dev/zero of=/dev/ram0 bs=1k count=131072
@@ -335,7 +335,7 @@ DM30-DEBUG-rootfs:
 	@echo =================================
 	@echo     Building DM30 debug rootfs
 	@echo =================================
-	@cd EVSE/Modularization;make Project=DM30 all
+	@cd EVSE/Modularization;make TLS_EXPIRED=TLS_PASS_CERT_EXPIRED Project=DM30 all
 	@cd EVSE/Projects/DM30/Apps;make Project=DM30 Project_Debug_Option=1 all
 	@rm -f EVSE/Projects/DM30/Images/ramdisk.gz
 	@dd if=/dev/zero of=/dev/ram0 bs=1k count=131072
@@ -402,7 +402,7 @@ DW30-rootfs:
 	@echo     Building User rootfs
 	@echo =================================
 #	@cd EVSE/GPL;make all
-	@cd EVSE/Modularization;make Project=DW30 all
+	@cd EVSE/Modularization;make TLS_EXPIRED=TLS_PASS_CERT_EXPIRED Project=DW30 all
 	@cd EVSE/Projects/DW30/Apps;make Project=DW30 Project_Debug_Option=0 all
 	@rm -f EVSE/Projects/DW30/Images/ramdisk.gz
 	@dd if=/dev/zero of=/dev/ram0 bs=1k count=131072
@@ -430,7 +430,7 @@ DW30-DEBUG-rootfs:
 	@echo =================================
 	@echo     Building DW30 debug rootfs
 	@echo =================================
-	@cd EVSE/Modularization;make Project=DW30 all
+	@cd EVSE/Modularization;make TLS_EXPIRED=TLS_PASS_CERT_EXPIRED Project=DW30 all
 	@cd EVSE/Projects/DW30/Apps;make Project=DW30 Project_Debug_Option=1 all
 	@rm -f EVSE/Projects/DW30/Images/ramdisk.gz
 	@dd if=/dev/zero of=/dev/ram0 bs=1k count=131072
@@ -501,7 +501,7 @@ DS60-120-rootfs:
 	@echo     Building User rootfs
 	@echo =================================
 #	@cd EVSE/GPL;make all
-	@cd EVSE/Modularization;make Project=DS60120 all
+	@cd EVSE/Modularization;make TLS_EXPIRED=TLS_PASS_CERT_EXPIRED Project=DS60120 all
 	@cd EVSE/Projects/DS60-120/Apps;make Project=DS60120 all
 	@rm -f EVSE/Projects/DS60-120/Images/ramdisk.gz
 	@dd if=/dev/zero of=/dev/ram0 bs=1k count=131072
@@ -572,7 +572,7 @@ AW-Regular-rootfs:
 	@echo     Building User rootfs
 	@echo =================================
 #	@cd EVSE/GPL;make all
-	@cd EVSE/Modularization;make Project=AWRegular all
+	@cd EVSE/Modularization;make TLS_EXPIRED=TLS_PASS_CERT_EXPIRED Project=AWRegular all
 	@cd EVSE/Projects/AW-Regular/Apps;make Project=AWRegular all
 	@rm -f EVSE/Projects/AW-Regular/Images/ramdisk.gz
 	@dd if=/dev/zero of=/dev/ram0 bs=1k count=131072
@@ -643,7 +643,7 @@ BYTON-GB-rootfs:
 	@echo     Building User rootfs
 	@echo =================================
 #	@cd EVSE/GPL;make all
-	@cd EVSE/Modularization;make Project=BYTONGB all
+	@cd EVSE/Modularization;make TLS_EXPIRED=TLS_PASS_CERT_EXPIRED Project=BYTONGB all
 	@cd EVSE/Projects/BYTON-GB/Apps;make Project=BYTONGB all
 	@rm -f EVSE/Projects/BYTON-GB/Images/ramdisk.gz
 	@dd if=/dev/zero of=/dev/ram0 bs=1k count=131072
@@ -1067,7 +1067,7 @@ Noodoe-rootfs:
 	@echo     Building User rootfs
 	@echo =================================
 #	@cd EVSE/GPL;make Project=Noodoe all
-	@cd EVSE/Modularization;make Project=Noodoe all
+	@cd EVSE/Modularization;make TLS_EXPIRED=TLS_VALID_CERT_EXPIRED Project=Noodoe all
 	@cd EVSE/Projects/Noodoe/Apps;make Project=Noodoe all
 	@rm -f EVSE/Projects/Noodoe/Images/ramdisk.gz
 	@dd if=/dev/zero of=/dev/ram0 bs=1k count=131072
@@ -1140,7 +1140,7 @@ PlugIt360-rootfs:
 	@echo     Building User rootfs
 	@echo =================================
 #	@cd EVSE/GPL;make Project=PlugIt360 all
-	@cd EVSE/Modularization;make Project=PlugIt360 all
+	@cd EVSE/Modularization;make TLS_EXPIRED=TLS_PASS_CERT_EXPIRED Project=PlugIt360 all
 	@cd EVSE/Projects/PlugIt360/Apps;make Project=PlugIt360 all
 	@rm -f EVSE/Projects/PlugIt360/Images/ramdisk.gz
 	@dd if=/dev/zero of=/dev/ram0 bs=1k count=131072
@@ -1213,7 +1213,7 @@ AW-CCS-rootfs:
 	@echo     Building User rootfs
 	@echo =================================
 #	@cd EVSE/GPL;make Project=AWCCS all
-	@cd EVSE/Modularization;make Project=AWCCS all
+	@cd EVSE/Modularization;make TLS_EXPIRED=TLS_PASS_CERT_EXPIRED Project=AWCCS all
 	@cd EVSE/Projects/AW-CCS/Apps;make Project=AWCCS all
 	@rm -f EVSE/Projects/AW-CCS/Images/ramdisk.gz
 	@dd if=/dev/zero of=/dev/ram0 bs=1k count=131072
@@ -1285,7 +1285,7 @@ DO360-rootfs:
 	@echo     Building User rootfs
 	@echo =================================
 #	@cd EVSE/GPL;make Project=DO360 all
-	@cd EVSE/Modularization;make Project=DO360 all
+	@cd EVSE/Modularization;make TLS_EXPIRED=TLS_PASS_CERT_EXPIRED Project=DO360 all
 	@cd EVSE/Projects/DO360/Apps;make Project=DO360 all
 	@rm -f EVSE/Projects/DO360/Images/ramdisk.gz
 	@dd if=/dev/zero of=/dev/ram0 bs=1k count=131072
@@ -1358,7 +1358,7 @@ ATE-rootfs:
 	@echo     Building User rootfs
 	@echo =================================
 #	@cd EVSE/GPL;make Project=ATE all
-	@cd EVSE/Modularization;make Project=ATE all
+	@cd EVSE/Modularization;make TLS_EXPIRED=TLS_PASS_CERT_EXPIRED Project=ATE all
 	@cd EVSE/Projects/ATE/Apps;make Project=ATE all
 	@rm -f EVSE/Projects/ATE/Images/ramdisk.gz
 	@dd if=/dev/zero of=/dev/ram0 bs=1k count=131072
@@ -1431,7 +1431,7 @@ Zanobe-rootfs:
 	@echo     Building User rootfs
 	@echo =================================
 #	@cd EVSE/GPL;make Project=Zanobe all
-	@cd EVSE/Modularization;make Project=Zanobe all
+	@cd EVSE/Modularization;make TLS_EXPIRED=TLS_PASS_CERT_EXPIRED Project=Zanobe all
 	@cd EVSE/Projects/Zanobe/Apps;make Project=Zanobe all
 	@rm -f EVSE/Projects/Zanobe/Images/ramdisk.gz
 	@dd if=/dev/zero of=/dev/ram0 bs=1k count=131072
@@ -1504,7 +1504,7 @@ e4you-rootfs:
 	@echo     Building User rootfs
 	@echo =================================
 #	@cd EVSE/GPL;make Project=e4you all
-	@cd EVSE/Modularization;make Project=e4you all
+	@cd EVSE/Modularization;make TLS_EXPIRED=TLS_PASS_CERT_EXPIRED Project=e4you all
 	@cd EVSE/Projects/e4you/Apps;make Project=e4you all
 	@rm -f EVSE/Projects/e4you/Images/ramdisk.gz
 	@dd if=/dev/zero of=/dev/ram0 bs=1k count=131072
@@ -1577,7 +1577,7 @@ DD360Audi-rootfs:
 	@echo     Building User rootfs
 	@echo =================================
 #	@cd EVSE/GPL;make Project=DD360Audi all
-	@cd EVSE/Modularization;make Project=DD360Audi all
+	@cd EVSE/Modularization;make TLS_EXPIRED=TLS_VALID_CERT_EXPIRED Project=DD360Audi all
 	@cd EVSE/Projects/DD360Audi/Apps;make Project=DD360Audi all
 	@rm -f EVSE/Projects/DD360Audi/Images/ramdisk.gz
 	@dd if=/dev/zero of=/dev/ram0 bs=1k count=131072

+ 1 - 1
run_gen_make_script.sh

@@ -46,7 +46,7 @@ echo -e "\t@echo ================================="
 echo -e "\t@echo     Building User rootfs"
 echo -e "\t@echo ================================="
 echo -e "#\t@cd EVSE/GPL;make Project=$1 all"
-echo -e "\t@cd EVSE/Modularization;make Project=$1 all"
+echo -e "\t@cd EVSE/Modularization;make TLS_EXPIRED=TLS_PASS_CERT_EXPIRED Project=$1 all"
 echo -e "\t@cd EVSE/Projects/$1/Apps;make Project=$1 all"
 echo -e "\t@rm -f EVSE/Projects/$1/Images/ramdisk.gz"
 echo -e "\t@dd if=/dev/zero of=/dev/ram0 bs=1k count=131072"