Przeglądaj źródła

Merge commit '7dc81b92c288ea75a806e07e32a9cd23f1343f2d' into new_mbed_tls

balbekova 7 lat temu
rodzic
commit
76b9aebe7f

+ 1 - 1
config/common_config.h

@@ -27,7 +27,7 @@
 /**
   * @brief  Версия прошивки
   */
-#define VERSION                         "1.0"
+#define VERSION                         "1.1.a"
    
 /**
   * @brief  Адрес сектора настроек

+ 16 - 9
modules/HTTP_Server/http_server.c

@@ -2277,18 +2277,25 @@ void ssl_server(void *pvParameters)
 				if (TotalData == size)
 				{
 					printf("receive %s \r\n", sendBuf);
-					if(strstr(sendBuf, "BEGIN CERTIFICATE") != NULL){
+					if(strstr(sendBuf, "BEGIN CERTIFICATE") != NULL && size){
 
 						DataOffset = strstr(sendBuf, "-----END CERTIFICATE");
 						uint32_t len_crt = (uint32_t)(DataOffset - sendBuf) + 25;
-						memset(sSettings.our_srv_crt, 0, sizeof(sSettings.our_srv_crt));
-						memcpy(sSettings.our_srv_crt, sendBuf, len_crt);
-						strcat(sendBuf,  "\r\n");
-						HTTP_SaveSettings();
-
-						memset(sendBuf, 0, sizeof(sendBuf));
-						 strcpy(sendBuf, "HTTP/1.1 200 OK\r\n\r\n");
-						 strcat(sendBuf,"1");
+						if(len_crt < sizeof(sSettings.our_srv_crt)){
+							memset(sSettings.our_srv_crt, 0, sizeof(sSettings.our_srv_crt));
+							memcpy(sSettings.our_srv_crt, sendBuf, len_crt);
+							strcat(sendBuf,  "\r\n");
+							HTTP_SaveSettings();
+
+							memset(sendBuf, 0, sizeof(sendBuf));
+							 strcpy(sendBuf, "HTTP/1.1 200 OK\r\n\r\n");
+							 strcat(sendBuf,"1");
+						}
+						else{
+							memset(sendBuf, 0, sizeof(sendBuf));
+							strcpy(sendBuf, "HTTP/1.1 200 OK\r\n\r\n");
+							strcat(sendBuf,"Некорректный сертефикат");
+						}
 					}
 					else{
 						memset(sendBuf, 0, sizeof(sendBuf));

+ 36 - 3
modules/settings_api.c

@@ -312,6 +312,10 @@ void SETTINGS_Load(void)
 {
   uint32_t loadCRC;  // CRC из flash
   uint32_t newCRC;   // CRC загруженной структуры настроек
+  bool need_default = false;
+
+  WEB_PARAMS_t sWebParamsBackup;
+  BOOT_PARAMS_t bootParamsBackup;
 
   SETTINGS_ReadFromFlash((uint8_t*)&sSettings, sizeof(sSettings));
   /* Считываем CRC из флеш памяти */
@@ -321,9 +325,38 @@ void SETTINGS_Load(void)
   newCRC = SETTINGS_GetCRC();
 
   if (loadCRC != newCRC) {
-	   SETTINGS_SetAllDefault();
-	   SETTINGS_Save();
-   }
+	 /*  SETTINGS_SetAllDefault();
+	   SETTINGS_Save();*/
+	  	  need_default = true;
+	}
+	/* CRC совпала, проверяем контрольное слово если слово не совпадает
+	   то это значит, что поплыла структура нстроек, прошиваем дефолт */
+	else if (sSettings.controlWorld != SETTINGS_CONTROL_WORD)
+	{
+		need_default = true;
+	}
+
+  /* Прошиваем дефолтные настройки если нужно */
+  if (need_default) {
+
+    /* Бэкапим сетевые параметры загрузчика */
+    memcpy(&sWebParamsBackup, &sSettings.sWebParams, sizeof(sWebParamsBackup));
+
+    /* Бэкапим флаги загрузчика */
+    memcpy(&bootParamsBackup, &sSettings.bootParams, sizeof(bootParamsBackup));
+    loadCRC = sSettings.CritSecCRC;
+    newCRC = SETTINGS_GetCritSecCRC();
+    SETTINGS_SetAllDefault();
+    if (loadCRC == newCRC) {
+		/* Применяем флаги загрузчика */
+		memcpy(&sSettings.bootParams, &bootParamsBackup, sizeof(sSettings.bootParams));
+
+		/* Применяем сетевые параметры загрузчика */
+		memcpy(&sSettings.sWebParams, &sWebParamsBackup, sizeof(sSettings.sWebParams));
+    }
+
+	SETTINGS_Save();
+  }
 }
 
 /**

+ 2 - 1
stm32/system/stm32f4xx.h

@@ -95,7 +95,8 @@
   */           
 
 #if !defined  (HSE_VALUE) 
-  #define HSE_VALUE    ((uint32_t)25000000) /*!< Value of the External oscillator in Hz */
+ #define HSE_VALUE    ((uint32_t)25000000) /*!< Value of the External oscillator in Hz */
+//#define HSE_VALUE    ((uint32_t)50000000) /*!< Value of the External oscillator in Hz */
 #endif /* HSE_VALUE */
 
 /**

+ 1 - 1
stm32/system/system_stm32f4xx.c

@@ -152,7 +152,7 @@
 
 /************************* PLL Parameters *************************************/
 /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */
-#define PLL_M      25
+#define PLL_M     25//50//
 #define PLL_N      336
 
 /* SYSCLK = PLL_VCO / PLL_P */

+ 54 - 1
thirdparty/PolarSSL/library/certs.c

@@ -129,7 +129,7 @@ const char test_ca_pwd[] = "PolarSSLTest";
 "/WzRyYRBRjAI49mzHX6raleqnw==\r\n"
 "-----END CERTIFICATE-----\r\n";*/
 
-const char test_srv_crt[] =
+/*const char test_srv_crt[] =
 "-----BEGIN CERTIFICATE-----\r\n"
 "MIIDPjCCAiYCCQDwZ+UdnJyNSzANBgkqhkiG9w0BAQsFADBbMQswCQYDVQQGEwJS\r\n"
 "VTEPMA0GA1UECAwGTW9zY293MQ8wDQYDVQQHDAZNb3Njb3cxDjAMBgNVBAoMBVJv\r\n"
@@ -149,6 +149,29 @@ const char test_srv_crt[] =
 "5+bbkgswmP9Lal5pm50sKdQCdfvJbka8clyyprs4TCg0+AhKK4suZJdRhDJsRktl\r\n"
 "X1bzKo+ZYY94a8uwOQjPiOFGhJHQsvco20MeOAm3QattFybmN46EbprPqgAvia4l\r\n"
 "RfENNoQyvaSvlpyL2d+DYs7F\r\n"
+"-----END CERTIFICATE-----\r\n";*/
+
+
+const char test_srv_crt[] =
+"-----BEGIN CERTIFICATE-----\r\n"
+"MIIDODCCAiACCQDwZ+UdnJyNVzANBgkqhkiG9w0BAQsFADBbMQswCQYDVQQGEwJS\r\n"
+"VTEPMA0GA1UECAwGTW9zY293MQ8wDQYDVQQHDAZNb3Njb3cxDjAMBgNVBAoMBVJv\r\n"
+"dGVrMQswCQYDVQQLDAJtYTENMAsGA1UEAwwEa2F0ZTAeFw0xNzA5MDQxMjQzMTJa\r\n"
+"Fw0zMTA1MTQxMjQzMTJaMGExCzAJBgNVBAYTAlJVMQ8wDQYDVQQIDAZNb3Njb3cx\r\n"
+"DzANBgNVBAcMBk1vc2NvdzELMAkGA1UECgwCSVQxCzAJBgNVBAsMAklUMRYwFAYD\r\n"
+"VQQDDA0xOTIuMTY4LjE0Ljc2MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKC\r\n"
+"AQEA8SVOegbQsoFrT83ExWmHtDotXCBz2uTTTWL7GhkmyD882y8io3pH5ShyBow+\r\n"
+"UeC/DvMvD9xGGH03lo3TZQaZQBw6N/JpaoIZkV+oOEnIXfru3X3CotqgKsKWyrM+\r\n"
+"PsWORpo5c3r58H/8m15iMH8NBVaA8Lpm5bgzHXD2chVLDSb39Cmn0X5TPDXOrvp2\r\n"
+"NZzdWxycdpc3G35UM0PpwBsaIAIC77uLZOmVXxojjzGyjlFNNb92UsAw5aKbEFXB\r\n"
+"DaNGBlFDvpvjZfaXDwWbg9wWjQXyYEo9zZxkCVX4qhlGHvY50C1+ZRG5d0YK9Slv\r\n"
+"60636wXQNGTDgFW83h+pZfhzUwIDAQABMA0GCSqGSIb3DQEBCwUAA4IBAQAbzGxW\r\n"
+"gqvad8d3em5i07Lz/xWKIQ++P78miF/TwEPGR23Z+N0uUXCIb9hJygjcQRlo+mp7\r\n"
+"XnrMI9wW1+Je2JTpavwNilpdLkglDCU9gX4hbMCO/a7K5AbCOilD84VpG9pfLe3p\r\n"
+"/NdJr4H2xMBnm6l/931ZjeUW+8bsWpdAOUSNOGmvQIRzAjHuRRzcb0JseZw30alT\r\n"
+"XFg5WMdx4yQrAtYS8tuAYciOs+oZg+VIxSSqvVMqaLHYdV1UjkPZGD9duu7T+ZY2\r\n"
+"7PrBg/eNrBhoxTPxNNUDDWD/+N32vdozdNm6mDUQ2RL6SnFwxERLKVODin/gg7iy\r\n"
+"/55oNFhDrNaZBl+u\r\n"
 "-----END CERTIFICATE-----\r\n";
 
 /*
@@ -181,6 +204,7 @@ const char test_srv_key[] =
 "mKsIVRBq4IfwiwyMNG2BYZQAwbSDjjPtn/kPBduPzPj7eriByhI=\r\n"
 "-----END RSA PRIVATE KEY-----\r\n";
 */
+/*
 const char test_srv_key[] =
 "-----BEGIN RSA PRIVATE KEY-----\r\n"
 "MIIEoQIBAAKCAQEAqDtsMg7c+iOS5r6gLP+h6LRpu7Tgjgkb4fL6+1Gclso7rW0W\r\n"
@@ -208,6 +232,35 @@ const char test_srv_key[] =
 "6wKBgQDCFssxwe2Z/3jIKrenqKd6yLxEz/1XyEHksRDQuLz8oavSQzda8xN0EZm5\r\n"
 "xczOyxGoXUkT33K8KvNMQSSYrtw34sf1+mJCCW6Bvs9df6uZikUS4i6udpAoaa7X\r\n"
 "8Xfgyw/TJJ/Y/LV2iuQNKvXPRLvNUqLktjYZZ4cNlLq7gchvfw==\r\n"
+"-----END RSA PRIVATE KEY-----\r\n";*/
+
+const char test_srv_key[] =
+"-----BEGIN RSA PRIVATE KEY-----\r\n"
+"MIIEowIBAAKCAQEA8SVOegbQsoFrT83ExWmHtDotXCBz2uTTTWL7GhkmyD882y8i\r\n"
+"o3pH5ShyBow+UeC/DvMvD9xGGH03lo3TZQaZQBw6N/JpaoIZkV+oOEnIXfru3X3C\r\n"
+"otqgKsKWyrM+PsWORpo5c3r58H/8m15iMH8NBVaA8Lpm5bgzHXD2chVLDSb39Cmn\r\n"
+"0X5TPDXOrvp2NZzdWxycdpc3G35UM0PpwBsaIAIC77uLZOmVXxojjzGyjlFNNb92\r\n"
+"UsAw5aKbEFXBDaNGBlFDvpvjZfaXDwWbg9wWjQXyYEo9zZxkCVX4qhlGHvY50C1+\r\n"
+"ZRG5d0YK9Slv60636wXQNGTDgFW83h+pZfhzUwIDAQABAoIBABj2Q6leCzxvKSyZ\r\n"
+"oETPJ70ASLHAqj1+cmEQXe3VrK4N3b7SokNJ5SdTiHolCk5vdVeW1MhPhPIEBD0R\r\n"
+"cVCD3llEksI31bGwxfTGciNhf9w6nX9QBVXWS74hZnqVE1xsFs44KLpLgJPkq8Fp\r\n"
+"g8CBZlenHLHOmdgtuRzTFK+6hIpXyuAoRlGiIPz3uXnXi9E5UXkLTbrRWibl+DGV\r\n"
+"j1Qr89YEGgj8Z9xDDaMWvEC5lUfYp0NYRlSBVyBpWvRLrzy38BVi51VgZqzsOO2u\r\n"
+"5rERmN2hjykyuCeoLbjyFghVzX7tuRTKlI95n5DxYgl9/ctL38TLTJ4eTptXVuxv\r\n"
+"ZgmtyAECgYEA/TII/qiGtA21MM00HmgfbLwdwAJYq1D8WZ+na6p4Kp+Q971F99Nd\r\n"
+"95cSmnD9CFsQCr92jOiAsL3NKRWM+1jwmgiGypj0nx5SlfYtVKBipDEBbjEx0hol\r\n"
+"S7nB4fQSsLcMjuebriMaPfTStVil0rIM33lp1E8EcL00D8SX1NbOkskCgYEA89Ea\r\n"
+"YO/kzk9hlMQmu7K67E42JxdMPszrEda3BiuM5cReUyfzu7G8wJGGWliNMWQ9ERqH\r\n"
+"VtHOwoEskEHHbnIDGCr2EZbe9n55hPMdi7hLL16koyyb/gbF/H6uFuvrMZrPZzDi\r\n"
+"XcPYuec+sZQPaif8mQW4TtyC3KmMdWj9eQwAJzsCgYA7X2hMjyhHQI+kifoWx0PX\r\n"
+"M6WmSOaSBcOnIJEZ5jeXhyNvdKrbmm0Gih6KqMQtGW2Bl7QtBrhmuZtKbwtIRWrm\r\n"
+"M+mnyIZUab/j+n5WweVfqz4yoMaWBhuIzl5wpdNcLRB80kLnasPUk3x1mfwIlEgA\r\n"
+"f3AZoQ3hgfybVfZkqpp2QQKBgQDGYI1Q7/8/qbDgxRQqxgp2uFAxUDB2LG7a7dOu\r\n"
+"zoJudG62xBv4zG2iVQV2vvPqiv9wyh/yEPVkpotmuE6W22cPI+1gdFvnPRKMjO6u\r\n"
+"Pv3VhfD43xPxBPvULBJjjgKoMqir8kdMOUw+PhtxiuFb4zsQGmpSp/JFriIdaZZL\r\n"
+"Beud/wKBgCjIika+PDXcqvQYH62g7tCDzMAb2e7qEgVEWCtYDUXa38wgzSeHWiO2\r\n"
+"oKaf2s3b2altOc+EiZOVYkYLEyiWjEoYzWXM4s8gUbY0a8jjZ+2+z8CUcHB3jI8A\r\n"
+"ao6TDRp9QDcooYRAGxKfNm4JYEparTAtLKD3aHsjooA3ivNVpngC\r\n"
 "-----END RSA PRIVATE KEY-----\r\n";
 
 const char test_cli_crt[] =