20160815_jeffrey - silenceuncrio/diary GitHub Wiki

Index

0940

再確認一片燒錄好的 NAND Flash

1025

拿了 14 號的板子請 PHT 再幫我換 NAND Flash

開起來了

為了不要影響到別人... 我請 ariel 到小會議室跟他報告一下好消息

也告知 ariel MfgTool 需要的 USB Port 只需要燒錄製具有就可以

出貨的產品根本不需要這個 USB Port

1115

目前還是以 dual image 為優先 priority

1120

上禮拜從 20 Free Bootstrap 3 Admin Dashboard Templates For Your Web App 2016 先下載了 Siminta

繼續研究

1315

BOOTSTRAP SIDE MENU TEMPLATE 可以單純的的只觀察 bootstrap 和 metismenu.js 的配合方式

1510

65+ Best Free Bootstrap Admin Templates

這邊也蠻多 admin 的 templates 可以參考

1520

估一下 schedule 給 ariel

Pri Features Schedule Resource
1 Factory Reset 9月23日 Jeffery
1 Update Frimware through web (include Dual Image) 9月30日 Jeffery
1 Web server+HTTPS 9月9日 Jeffery
1 Web UI 10月28日 Jeffery
2 Web UI with Multi Language 9月30日 Jeffery
3 Browser Compability support 10月14日 Jeffrey

1630

順手將 schedule list 也放到 mantis 上

其實是讓自己有個統一參考的地方

才不用找個東西還要東翻西翻的

1650

所謂的 Web server+HTTPS 該怎麼做呢?

從一開始有 icos 的時代就有的 WebOnOff.sh

我們只要使用 WebOnOff.sh https 443 便可以將 https 的服務帶起來

root@M300:~# WebOnOff.sh https 443
Error: /etc/icos/ca/cert.pem not exist!

不過該 script 抱怨說找不到 /etc/icos/ca/cert.pem

經過一番 trace

發現 cert.pem 並不是早就放在 source code 裡

而是 device 在開機的時候才去產生的

參考 cacfg.cInitCa()

int certCreation(void) {
    int id;
    char cmd[128];
    sCaCfg pCfg;
    
    jsonFileToCacfg(&pCfg);
    id = lastCertId(&pCfg);
    if (pCfg.entry[id].szCaName[0] == 0) {
        // No any Cert file exists. Generate a self-signed Cert
        system("cp /usr/sbin/icos/cert.pem.tmp /etc/icos/ca/cert.pem");
    } else {
        sprintf(cmd, "cp /etc/icos/ca/certs/%s /etc/icos/ca/cert.pem", pCfg.entry[id].szCaName);
        system(cmd);
    }
    
    return 0;
}

// *********************************************************************************
// *   InitCa()
// *********************************************************************************
static int InitCa(char *pCfgStr)
{
    struct stat  st;

    if (stat(CA_ETC_DIR, &st)<0)        mkdir(CA_ETC_DIR, 0755);
    if (stat(CA_TMP_DIR, &st)<0)        mkdir(CA_TMP_DIR, 0755);
    if (stat(CA_ETC_FILE_DIR, &st)<0)   rmdir(CA_ETC_FILE_DIR);
    symlink("/etc/ssl/certs", "/etc/icos/ca/certs");
    
    certCreation();
    httpsRestart();

    return ICOS_SUCCESS;
}

目前 ca 這個 icos module 並沒有在開機的時候去帶起來

entry.c

sIcosModule* GetIcosModule(int module)
{
    switch (module)
    {
#ifdef PROSRC_CA
        case MODULE_CA:
            return &caModule;
#endif
        ...
    }
    ...
}

因為我們要在 menuconfig 去做設定

autoconf.h

...
#undef  PROSRC_CA
...

我看我先不要去碰這一塊... 因為這其實就是在處理 ca 這個 icos module

記得 openvpn 也會涉及到 ca 的 issue... 就等相關的負責人做到這一塊再說吧再說吧

不過我是可以把 web module 整理好

反正到時候 ca module 一起來我的 https 就可以動了