Iwao Dev

気付いたことをメモしています.

この画面は、簡易表示です

2018 / 4月

RT-AC86U 追加 – 3

24 時間位で検出されているので,AiProtection のアラート設定.

ASUS FAQ [AiProtection] アラートメールの設定方法


2018/04/26 悪質サイトとしてブロックされた所にアクセスしてみた.


こっちは,侵入防止システムの画像.

それでも,全てをガードできるわけではなさそう.

2018/04/26 13:33:00 27.92.169.109 120.24.170.24 404 /admin/index.php GET     Mozilla/5.0
2018/04/26 13:33:00 27.92.169.109 120.24.170.24 404 /mysql/index.php GET     Mozilla/5.0
2018/04/26 13:33:00 27.92.169.109 120.24.170.24 404 /pmamy2/index.php GET     Mozilla/5.0
2018/04/26 13:33:00 27.92.169.109 120.24.170.24 404 /pmamy/index.php GET     Mozilla/5.0
2018/04/26 13:33:00 27.92.169.109 120.24.170.24 404 /PMA2/index.php GET     Mozilla/5.0
2018/04/26 13:33:00 27.92.169.109 120.24.170.24 404 /PMA/index.php GET     Mozilla/5.0
2018/04/26 13:32:59 27.92.169.109 120.24.170.24 404 /pma/index.php GET     Mozilla/5.0
2018/04/26 13:32:59 27.92.169.109 120.24.170.24 404 /pmd/index.php GET     Mozilla/5.0
2018/04/26 13:32:59 27.92.169.109 120.24.170.24 404 /phpMyAdmin/index.php GET     Mozilla/5.0
2018/04/26 13:32:59 27.92.169.109 120.24.170.24 404 /phpmyadmin/index.php GET     Mozilla/5.0
2018/04/26 13:32:59 27.92.169.109 120.24.170.24   /index.php GET     Mozilla/5.0
2018/04/26 13:32:58 27.92.169.109:80 120.24.170.24 404 /wls-wsat/CoordinatorPortType GET     Mozilla/5.0 (Windows NT 6.1; rv:5.0) Gecko/20100101 Firefox/5.0

  にほんブログ村 IT技術ブログへ


RT-AC86U 追加 – 2

次に影響が少ない psc 2550 .
固定 IP を DHCP に変更して AC86U に接続したが,DHCP がうまく動作せず後回し.


AP の WN-AC1167R は,単純に繋ぎ変えだけで 192.168.1.xx に.
HDL-AH2W ,HVL-S3 を DHCP に.
DS115j ,DS116 を,DHCP に.
全てを AC86U に接続.BL190HW,AC86U,WR9500N などは何度か再起動.
PC なども ASUS Ruter アプリで確認しながら,必要に応じて再起動.
AP と子機の WR9500N も,繋ぎ変えだけで 192.168.0.2xx から 192.168.1.2xx になった.
何度か再起動が必要なものもあったが,DS11x を除いて移行できた.
psc 2550 も 192.168.1.x になり,固定 IP に設定.


DS115j と DS116 を固定 IP(192.168.1.216)に(以降 4 つ目の値は実際と異なります).
DS115j は公開してないので DHCP で良いが,IP で打つことが多いので固定にしている.
また,AC86U も WAN 側を固定(192.168.0.120)に.
27.92.169.109 — BL190HW — 192.168.0.120 — AC86U — 192.168.1.216
PC から tracert .

 1     1 ms     1 ms     1 ms  router.asus.com [192.168.1.1]
 2     1 ms     1 ms     1 ms  web.setup [192.168.0.1]
 3     *        *        *     要求がタイムアウトしました。
 4     5 ms     6 ms     6 ms  tmfACS001.bb.kddi.ne.jp [27.85.212.25]
 5    11 ms    12 ms    12 ms  27.80.241.61
 6    10 ms    10 ms    10 ms  27.80.241.238
 7    10 ms    10 ms    10 ms  jc-osa301.int-gw.kddi.ne.jp [113.157.227.82]
 8  ....

LAN 内から,エクスプローラなどではアクセスできるが,http でアクセスできない.
DSM コントロールパネルの「セキュリティ」-「ファイアウォール」-「custom」.

他に,Web アクセスの PHP も 192.168.1.x が有効となる様に変更.


この状態では,Web サーバとして外からアクセスできない.
BL190HW のポートマッピングの設定で,次のものを追加.
192.168.0.120 TCP any

また DMZ の設定に 192.168.0.120 を.
AC86U の「ポートフォワーディング」の設定で次を追加.
HTTP DS116 80 192.168.1.216 TCP

これで,外からは mish.myds.me にアクセスできる様になった.
この 5 時間程度,外からのアクセスは停止.


まだ LAN 内からは mish.myds.me でアクセスできない.
暫くわからず AC86U の IPv6 の関係と思い調べたが,あまり有用な情報は見つけられなかった.
試しに,「Passthrough」,自動接続を「有効」にすると,意図した動作となった.


2018/11/13 ネットワークマップの表示


  にほんブログ村 IT技術ブログへ


RT-AC86U 追加

マニュアルのセットアップの部分を読み,Aterm BL190HW の空いた LAN ポートに接続.

設定用の PC は,T90Chi を利用.本当は,有線の方が良いのだろうが面倒だったので…
ハード的な接続後 AC86U の電源を入れると,赤い LED の表示が…
マニュアルによると WAN LED で「IP アドレスが取得できていない」とのこと.
PC から ASUS_00_2G(オープン)に接続すると,ID の設定画面に.
新しく入力して進めると WAN 側が設定され,PC から外への接続はできるようになった.
WAN LED のランプも「白」に.
ここまでは,BL190HW の下に既存の LAN 環境(192.168.0.x)と AC86U が存在する状態.
AC86U の WAN 側は 192.168.0.11 ,LAN 側は 192.168.1.11 .


LAN 内には外からアクセス可能にしているものがある.
WD Cloud
DS116
また,幾つかの機器は固定 IP.
HDL-AH2WHVL-S3,psc 2550,テスト環境の Web サーバなど.


先ず,他に影響を与えそうにない WD Cloud から.
固定 IP を外して,DHCP に.
AC86U に繋ぎ直すと,特に問題なさそう.
LAN 内で,\\WDCloud は OK.//wdcloud も.
スマートフォン用のアプリも問題なし.
4G 接続でのスマートフォン用アプリも OK.
192.168.0.x で接続している wdcloud.jp も問題なさそう.

WD Cloud のこの辺りの動作は良くできていると思う.


PC やスマートフォンなど動作状況を把握するために,
ASUS Router アプリ


  にほんブログ村 IT技術ブログへ


球が作成できない

背景画像のアップロードで,球を生成してそれに貼り付ける.
コード自体はそれほど難しくないので,1 日位でできると思ってた.
Windows のコンソール AP で,次の様なコードを書いてテスト.
MakeBG.cpp


#include "MessBar.hxx"
#include "i_Trace.hxx"
#include "GonsPrm2.hxx"
#include "Htm_thrj.hxx"

//*******************************************************************************
// make bg files imo and html
// Create : 2018/04/19
//*******************************************************************************
inline bool MakeBG (c_tstring& dibPath)
{
    tstring ext = ::Path_GetExtLow(dibPath) ;
    if      (ext == _T("bmp")) { ;              }
    else if (ext == _T("jpg")) { ;              }
    else if (ext == _T("png")) { ;              }
    else                       { return false ; }
    {
        tstring imoPath = ::Path_ChangeExt(dibPath,_T(".imo")) ;
        tstring htmName = ::Path_ChangeExt(dibPath,_T(".html")) ;
        tstring dmpName = ::Path_ChangeExt(dibPath,_T(".ipl")) ;
        {
            long div = 90/5 ;
            v_Vd3A pntsAry = ::BuildSphere(div) ;
            {
                std::tout << pntsAry.size() << std::endl ;
                if (pntsAry.size() > 0) {
                    Vd3A pnts = pntsAry[0] ;
                    std::tout << pnts.size() << std::endl ;
                    }
                tstring str = ::v_V3_To_tstring(pntsAry,_T(",")) ;
                {
                    std::tout << str << std::endl ;
                    }
                ::SaveText(dmpName.c_str(),str) ;
                }
            v_Vd2A  txuvAry = ::SetTextureUV(pntsAry) ;
                    pntsAry = ::V3_Scale (pntsAry,Vd3(20.)) ;
            Gons1   gons1 = ::Gons_BuildFace(pntsAry,txuvAry,dibPath.c_str()) ;
            GonsA   ga ;
                    ga.push_back(gons1) ;
            Ed3     es = ::GonsA_GetExtent(ga) ;
            {
                std::tout << imoPath << _T("\t") ;
                std::tout << ::V3_To_tstring(es.Volume()) << std::endl ;
                }
            if (es.Volume() != Vd3(0)) {
                es = Ed3(es.L*0.01,es.G*0.01) ;
                ::GonsA_ToOBJ(ga,imoPath.c_str()) ;
                ::HT_Make_three_js_html(imoPath.c_str(),es) ;
                }
            }
        }
    return true ;
    }

//*******************************************************************************
// Make BG
// Create : 2018/04/19
//*******************************************************************************
int _tmain (int argc,TCHAR* argv[])
{
    _tsetlocale(LC_ALL,_T("")) ;
    {
        double s = sin(rad(30)) ;
        double c = cos(rad(30)) ;
        std::tout << ::To_tstring(rad(30)) << _T("\t") << ::To_tstring(s) << _T("\t") << ::To_tstring(c) << std::endl ;
        }
    if (argc > 1) {
        v_tstring argAry ;
        for (int index=1 ; index<argc ; index++) {
            tstring av = argv[index] ;
            ::MakeBG(av) ;
            }
        }
    else {
        tstring buf ;
        buf.resize(1000) ;
        {
            while (std::terr << _T("dib ? =") , std::tin.getline(&buf[0],buf.size()))
            {
                tstring str = buf.c_str() ;
                if      (str == _T("q"))   { break ; }
                else if (str == _T("Q"))   { break ; }
                str = ::QuotM_Del_All(str) ;
                if (str.empty())           { continue ; }
                if (::File_IsNothing(str)) { continue ; }
                tstring dib_file = str ;
                ::MakeBG(dib_file) ;
                }
            }
        }
    return 0 ;
    }

#include "MessBar.cxx"

今度は,DS116 でビルドして実行すると,

Iwao@DS116:/var/.../Test/up_bg/data$ ./a.out
0.523599        98314745853377985068733249901357667205561433229409406145971019710277043155206326909160297391588106447153156445277590513896008090831662627743743127151181611161993303763348552511914898438567008016612049817143085994563143448055356356529593034366351316506187159487365573007925410016860727208738652774465536.000000  98321247861193438769252981549279948821735544950351014769381393881588573259178110828643912278175146924986161470094082713103803921735703931192359519739047155548857037547932930737608178537416409042994283830606984599100883034181136178714087912736395732787698542049681305006129736011480288874859116047106048.000000
dib ? =

本当は,

C:\Users\Iwao\...\i_Tools.tmp>\\DevXP\C_Drive\Temp\DS11x\MakeBG\Release.060\MakeBG.exe
0.523599        0.500000        0.866025
dib ? =

cmath が使えない様で,検索すると「-lm でコンパイルが通る」と言うのは見つかる.
が,コンパイルの問題ではなく,実行でうまくない.


当然ではあるが,DS115j でも同様.
試しに,opkg update と opkg install gcc .
root@DS116:/var/…/Iwao# opkg update
Downloading http://pkg.entware.net/binaries/armv7/Packages.gz
Updated list of available packages in /opt/var/opkg-lists/packages
root@DS116:/var/…/Iwao# opkg install gcc
Upgrading gcc on root from 6.3.0-1 to 6.3.0-1a…
Downloading http://pkg.entware.net/binaries/armv7/gcc_6.3.0-1a_armv7soft.ipk
Configuring gcc.
root@DS116:/var/…/Iwao#
もう一度,ビルドして実行すると,
Iwao@DS116:/var/…/Test/up_bg/data$ g++ MakeBG.cpp
Iwao@DS116:/var/…/Test/up_bg/data$ ./a.out
0.523599 0.500000 0.866025
dib ? =
予想以上に時間がかかってしまったが,何とか…
daikoku_edit.html


  にほんブログ村 IT技術ブログへ


PHP $_FILES

やってないとすぐ忘れてしまうのでメモ.
PHP マニュアル POST メソッドによるアップロード


php 側での次の様な取り出し.
 $tempfile = $_FILES[‘fname‘][‘tmp_name’];
fname‘ にあたる部分は,input タグの name 属性.
 <input type=”file” name =”fname” accept=”.jpg,.png”>


CHttpFile でのアップロード の場合は,汎用的になる様に処理している.

	function  uf_upload_files  ()  {
		$d_dir =  uf_get_upload_folder() ;
	//	echo	$d_dir	.  "<br/>\r\n" ;
		$up_status = false ;
		foreach	($_FILES as  $keys => $values) {
			$file_e	= $values ;
			$tempfile =         	$file_e['tmp_name'] ;
			$filename = $d_dir .	$file_e['name'] ;
			$filename = uf_get_up_file_name($filename) ;
			if (is_uploaded_file($tempfile)) {
				$up_status = move_uploaded_file($tempfile,$filename) ;
				}
			}
		return	$up_status ;
		}

  にほんブログ村 IT技術ブログへ


アップロード先のアクセス権

次の様な htm と php で,画像をアップできる所を用意.


up.htm

<!DOCTYPE html>
<html lang="ja" >
  <head >
    <meta charset="UTF-8" />
    </head>
  <body >
    <form action="http:./up.php" method="post" enctype="multipart/form-data">
      <input type="file" name ="fname" accept=".jpg,.png">
      <input type="submit" value="upload">
      </form>
    </body>
  </html>

up.php

<?php
  $tempfile = $_FILES['fname']['tmp_name'];
  $fileName = './data/' . $_FILES['fname']['name'] ;
  $up_status = false ;
  if (is_uploaded_file($tempfile)) {
    $up_status = move_uploaded_file($tempfile , $fileName ) ;
    }
  $frm_src = './' ;
  if ($up_status) {
    $frm_src = $fileName ;
    }
  header("Location: {$frm_src}") ;
  ?>

これらのファイルとアップ先のフォルダを用意しただけでは,アクセス権がないのでアップロードできない.
以前は,DSM に入り「File Station」で「権限」を設定していた.
今まで面倒と思いつつ,試しに Windows 環境からアクセス権を「読み取り(RX)(RX)」から「変更」に.

File Station で設定したものと少し異なるが,それなりに動作してそう.


  にほんブログ村 IT技術ブログへ


WinFile.exe

Google ニュースで,次の内容を見つけた.
Windows 3.x時代の“ファイルマネージャ”がオープンソース化で復活~Windows 10でも利用可能に
WinXP までは,1999/10/14 8:00:00 の WinFile.exe を使用している.
Win7 でも動作させるための方法があって,試したこともあるがうまく動作しなかった.
Windows File Manager revived


次の所から落として動作を確認してみた.
WinFile v10.0 – Sharing 10 years of improvements
Winfile_orig_plus.zip の方がオリジナルに近いのでやってみたが,設定情報が保存されないみたい.
Winfile_v10.0.zip は,「Properties」などが新しくなってしまっている.


  にほんブログ村 IT技術ブログへ


コンソール AP で C2065 C2059

コンソール AP で,ビルドすると

--------------------構成: T_S_xxx - Win32 Debug--------------------
コンパイル中...
T_S_xxx.cpp
\\devs\documents\develop\_.src\_yet\winmfc.hxx(68) : error C2065: 'CListCtrl' : 定義されていない識別子です。
\\devs\documents\develop\_.src\_yet\winmfc.hxx(68) : error C2065: 'ctrl' : 定義されていない識別子です。
\\devs\documents\develop\_.src\_yet\winmfc.hxx(68) : error C2059: 構文エラー : 'const'
\\devs\documents\develop\_.src\_yet\winmfc.hxx(68) : error C2143: 構文エラー : ';' が '{' の前に必要です。
\\devs\documents\develop\_.src\_yet\winmfc.hxx(68) : error C2447: '<L_PROPERTY>' : 関数ヘッダがありません (旧形式の仮引数リスト?)
...
\\devs\documents\develop\_.src\_yet\list.hxx(159) : error C2061: 構文エラー : 識別子 'CListCtrl' がシンタックスエラーを起こしました。
\\devs\documents\develop\_.src\_yet\list.hxx(169) : error C2061: 構文エラー : 識別子 'CListCtrl' がシンタックスエラーを起こしました。
...
\\devs\documents\develop\_.src\...\.....cpp(2017) : fatal error C1903: 直前のエラーを修復できません; コンパイルを中止します。
cl.exe の実行エラー

T_S_xxx.exe - エラー 24、警告 0

#include <AfxCmn.h> を追加.


  にほんブログ村 IT技術ブログへ

  • Categories:

MAPI の MapiFileDesc の配列

MFC を使用している方法では,

    LateDelete	ld ;    //  MultiByte の必要があるようなので,UNICODE の時のバッファをここに登録
    //	添付ファイルの準備
    CArray<MapiFileDesc,MapiFileDesc>	fileDescA ;
    int	fileCount = 0 ;
    int	index = 0 ;
    for (index=0 ; index<PathNames.GetSize() ; index++) {
        CString	    pathName = PathNames[index] ;
        if (::FileIsNothing  (pathName))	{	continue ;	}
        if (::FileIsDirectory(pathName))	{	continue ;	}
        MapiFileDesc	fileDesc ;
        memset(&fileDesc,0,sizeof(MapiFileDesc)) ;
        fileDesc.nPosition		= (ULONG)-1 ;
    #ifdef	_UNICODE
        fileDesc.lpszPathName	= SendMail__ChangeMultiByte(PathNames[index],&ld) ;
        fileDesc.lpszFileName	= SendMail__ChangeMultiByte(FileNames[index],&ld) ;
    #else
        fileDesc.lpszPathName	= LPSTR(LPCTSTR(PathNames[index])) ;
        fileDesc.lpszFileName	= LPSTR(LPCTSTR(FileNames[index])) ;
    #endif
        fileDescA.Add(fileDesc) ;
        fileCount++ ;
        }

MFC を使用しないコードは,

    std::vector<MapiFileDesc>	fileDescA ;
    std::vector<std::string>	pathNameA ;
    std::vector<std::string>	fileNameA ;
    int	index = 0 ;
    {
        for (index=0 ; index<PathNames.GetSize() ; index++) {
            {
                tstring	pathName = PathNames[index] ;
                if (::File_IsNothing  (pathName))	{	continue ;	}
                if (::File_IsDirectory(pathName))	{	continue ;	}
                }
            std::string	pathName= ::To__string(PathNames[index]) ;
            std::string	fileName= ::To__string(FileNames[index]) ;
            pathNameA.push_back(pathName) ;
            fileNameA.push_back(fileName) ;
            }
        {
            for (size_t index=0 ; index<pathNameA.size()&&index<fileNameA.size() ; index++) {
                MapiFileDesc	fileDesc ;
                memset(&fileDesc,0,sizeof(MapiFileDesc)) ;
                fileDesc.nPosition	= (ULONG)-1 ;
                fileDesc.lpszPathName	= &(pathNameA[index])[0] ;
                fileDesc.lpszFileName	= &(fileNameA[index])[0] ;
                fileDescA.push_back(fileDesc) ;
                }
            }
        }

詳しくは見てないが,幾つかの方法が書かれていたので
Sending Email with MAPI


MapiRecipDesc.lpszAddress の “smtp:”
以前コードを直したのが 2002/4 であまり情報がなかった様に思う.
個人的に書いた内容が「Outlook で配信不能になる
参考になりそうな所
Email mit Dateien perWinAPI versenden??
MAPISendMail
MSDN MapiRecipDesc structure
Sending email using MAPI causes error on ‘ResolveName’ function in Window7


S_Mail.hxx


  にほんブログ村 IT技術ブログへ


空のコンソール AP で C2065 C2146

空のコンソール AP プロジェクトで,ビルドすると

--------------------構成: MkBG_up - Win32 Debug--------------------
コンパイル中...
MkBG_up.cpp
\\devs\documents\develop\_.src\__cpr_\straryfn.hxx(254) : error C2065: 'MessageCon' : 定義されていない識別子です。
\\devs\documents\develop\_.src\__cpr_\straryfn.hxx(254) : error C2146: 構文エラー : ';' が、識別子 'bar' の前に必要です。
\\devs\documents\develop\_.src\__cpr_\straryfn.hxx(254) : error C2065: 'bar' : 定義されていない識別子です。
\\devs\documents\develop\_.src\__cpr_\straryfn.hxx(258) : error C2228: '.SetBarInc' : 左側がクラス、構造体、共用体ではありません。
\\devs\documents\develop\_.src\__iwao\messbar.hxx(23) : warning C4005: 'MessageBar' : マクロが再定義されました。
        s:\develop\vc_test\_3d\mkbg_up\mkbg_up.cpp(19) : 'MessageBar' の前の定義を確認してください
\\devs\documents\develop\_.src\__cpr_\openfile.hxx(56) : error C2146: 構文エラー : ';' が、識別子 'bar' の前に必要です。
\\devs\documents\develop\_.src\__cpr_\openfile.hxx(66) : error C2228: '.SetBarInc' : 左側がクラス、構造体、共用体ではありません。
\\devs\documents\develop\_.src\__iwao\enumfile.hxx(342) : error C2146: 構文エラー : ';' が、識別子 'bar' の前に必要です。
\\devs\documents\develop\_.src\__iwao\enumfile.hxx(346) : error C2228: '.SetBarInc' : 左側がクラス、構造体、共用体ではありません。
\\devs\documents\develop\_.src\__iwao\enumfile.hxx(412) : error C2146: 構文エラー : ';' が、識別子 'bar' の前に必要です。
\\devs\documents\develop\_.src\__iwao\enumfile.hxx(419) : error C2228: '.SetBarMax' : 左側がクラス、構造体、共用体ではありません。
\\devs\documents\develop\_.src\__iwao\enumfile.hxx(420) : error C2228: '.SetBarInc' : 左側がクラス、構造体、共用体ではありません。
....
\\devs\documents\develop\_.src\__iwao\f_copyfn.hxx(66) : error C2146: 構文エラー : ';' が、識別子 'bar' の前に必要です。
\\devs\documents\develop\_.src\__iwao\f_copyfn.hxx(67) : error C2228: '.SetBar' : 左側がクラス、構造体、共用体ではありません。
\\devs\documents\develop\_.src\__iwao\f_copyfn.hxx(68) : error C2228: '.SetBar' : 左側がクラス、構造体、共用体ではありません。
\\devs\documents\develop\_.src\__iwao\f_copyfn.hxx(72) : error C2228: '.SetBarInc' : 左側がクラス、構造体、共用体ではありません。
cl.exe の実行エラー

MkBG_up.exe - エラー 53、警告 1

リビルドすると通る.


「プリコンパイル済みヘッダーを自動的に使用」になっているためで,
「プリコンパイル済みヘッダを使用しない」にするか,pch を正しく指定する.


半年ほど前にも同じ記事を書いてた.


  にほんブログ村 IT技術ブログへ

  • Categories:


    top

    %d人のブロガーが「いいね」をつけました。