20180808_jeffrey - silenceuncrio/diary GitHub Wiki
0905
幫忙從 M300 poring WAN / Ethernet
到 52xxz 去
目前看來 52xxz 是擁有 WAN / Ethernet
這個網頁的
1110
查出來是 52xxz 的 connmgr.cgi 的 _chg_wproto_apply()
出了問題
會發現雖然 source code 都沒改
但 52xxz 和 M300 的行為卻不一樣
問題的根源如下
如以下的範例
char char_x;
memset(&char_x, 0, sizeof(char_x));
printf("char_x = %d\n", char_x);
int *p_int = &char_x;
*p_int = 1;
printf("char_x = %d\n", char_x);
M300 執行結果為
char_x = 0
char_x = 1
52xxz 執行結果為
char_x = 0
char_x = 0
原始的 _chg_wproto_apply()
code 如下
static void _chg_wproto_apply()
{
int res = ICOS_GetSetting(MODULE_CONNMGR, CHG_WPROTO, 0, &WanProtocol, sizeof(WanProtocol));
if (res != ICOS_SUCCESS)
{
jweb.http.status(500);
jweb.out.json.fail("ICOS_GetSetting fail");
}
jweb.in.to_int("weth_static_v4", &WanProtocol.weth_static_v4);
jweb.in.to_int("weth_dhcp_v4", &WanProtocol.weth_dhcp_v4);
jweb.in.to_int("dhcp_v6", &WanProtocol.dhcp_v6);
jweb.in.to_int("weth_pppoe_v4v6", &WanProtocol.weth_pppoe_v4v6);
jweb.in.to_int("wlte_ppp_v4v6", &WanProtocol.wlte_ppp_v4v6);
res = ICOS_Apply(MODULE_CONNMGR, CHG_WPROTO, 0, &WanProtocol, sizeof(WanProtocol));
if (res != ICOS_SUCCESS)
{
jweb.http.status(500);
jweb.out.json.fail("ICOS_Apply fail");
}
jweb.out.json.ok();
}
52xxz 要換一種寫法
+@@ -139,11 +145,19 @@ static void _chg_wproto_apply()
jweb.out.json.fail("ICOS_GetSetting fail");
}
- jweb.in.to_int("weth_static_v4", &WanProtocol.weth_static_v4);
- jweb.in.to_int("weth_dhcp_v4", &WanProtocol.weth_dhcp_v4);
- jweb.in.to_int("dhcp_v6", &WanProtocol.dhcp_v6);
- jweb.in.to_int("weth_pppoe_v4v6", &WanProtocol.weth_pppoe_v4v6);
- jweb.in.to_int("wlte_ppp_v4v6", &WanProtocol.wlte_ppp_v4v6);
+ int weth_static_v4, weth_dhcp_v4, dhcp_v6, weth_pppoe_v4v6, wlte_ppp_v4v6;
+
+ jweb.in.to_int("weth_static_v4", &weth_static_v4);
+ jweb.in.to_int("weth_dhcp_v4", &weth_dhcp_v4);
+ jweb.in.to_int("dhcp_v6", &dhcp_v6);
+ jweb.in.to_int("weth_pppoe_v4v6", &weth_pppoe_v4v6);
+ jweb.in.to_int("wlte_ppp_v4v6", &wlte_ppp_v4v6);
+
+ WanProtocol.weth_static_v4 = weth_static_v4;
+ WanProtocol.weth_dhcp_v4 = weth_dhcp_v4;
+ WanProtocol.dhcp_v6 = dhcp_v6;
+ WanProtocol.weth_pppoe_v4v6 = weth_pppoe_v4v6;
+ WanProtocol.wlte_ppp_v4v6 = wlte_ppp_v4v6;
res = ICOS_Apply(MODULE_CONNMGR, CHG_WPROTO, 0, &WanProtocol, sizeof(WanProtocol));
if (res != ICOS_SUCCESS)
1120
commit adc76dad136d4504e00b8254590d3fa08932d9d5
Author: jeffrey <[email protected]>
Date: Wed Aug 8 11:19:32 2018 +0800
correct the problem occur at 52xxz platform:
- connmgr.cgi?act=chg_wproto_apply
proscend/prosrc/webcgi/connmgr.c | 24 +++++++++++++++++++-----
1 file changed, 19 insertions(+), 5 deletions(-)
1140
剛剛把整個 CGI 掃了一遍
並沒有其他 jweb.in.to_int()
與 char
型態變數混用的情況
1450
找到一篇 A Complete Firebase in React Authentication Tutorial
1510
commit 36ad4d3261873820bdb230e85b6d8527c12fca8d
Author: jeffrey <[email protected]>
Date: Wed Aug 8 15:10:23 2018 +0800
let the 'shdslbis.cgi' support the 'status' act
proscend/prosrc/webcgi/shdslbis.c | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)
1545
G.Shdsl.bis 的 status page
commit a221a80183a4a0b92c5af308a21b956ba7071c9b
Refs: [develop], {origin/develop}, {origin/HEAD}
Author: jeffrey <[email protected]>
Date: Wed Aug 8 15:44:01 2018 +0800
- add a menu group 'G.Shdsl.bis'
- status page for 'G.Shdsl.bis': first step
.../prosrc/www/app/feature/shdslbis_status.html | 28 +++++++++++
proscend/prosrc/www/app/feature/shdslbis_status.js | 54 ++++++++++++++++++++++
proscend/prosrc/www/app/locale-en.json | 12 ++++-
proscend/prosrc/www/app/locale-fr.json | 8 ++++
proscend/prosrc/www/app/locale-zh-tw.json | 8 ++++
proscend/prosrc/www/app/services/icos.service.js | 3 ++
proscend/prosrc/www/src/index.html.src | 1 +
proscend/prosrc/www/src/menu.html.src | 25 ++++++++--
8 files changed, 132 insertions(+), 7 deletions(-)
還沒美化
不過堪用
1605
幫 G.Shdsl.bis 找一個堪用的 icon
commit d16662301940b6abb477bf84f8d06f6671696962
Refs: [develop], {origin/develop}, {origin/HEAD}
Author: jeffrey <[email protected]>
Date: Wed Aug 8 16:03:36 2018 +0800
change the icon for 'G.Shdsl.bin'
proscend/prosrc/www/app/feature/shdslbis.html | 2 +-
proscend/prosrc/www/app/feature/shdslbis_status.html | 2 +-
proscend/prosrc/www/src/menu.html.src | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
1745
commit 10c42b4d610d9253799a623794647675073befa5
Refs: [develop], {origin/develop}, {origin/HEAD}
Author: jeffrey <[email protected]>
Date: Wed Aug 8 17:42:17 2018 +0800
remove nav-tab 'ping health' from 'WAN / Ethernet' web page
proscend/prosrc/www/app/feature/wanEthernet.html | 118 -----------------------
proscend/prosrc/www/app/feature/wanEthernet.js | 32 +-----
2 files changed, 2 insertions(+), 148 deletions(-)