Skip to content

Commit 30055d3

Browse files
authored
Merge pull request #88 from kojo1/sentry-ja
2 parents 40750bb + 058c51b commit 30055d3

File tree

6 files changed

+810
-0
lines changed

6 files changed

+810
-0
lines changed

wolfSentry/Makefile

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,14 @@ SOURCES = chapter01.md \
1010

1111
PDF = wolfSentry-Manual.pdf
1212

13+
ifeq ($(DOC_LANG),JA)
14+
PDF = wolfSentry-Manual-jp.pdf
15+
DOXYFILE = Doxyfile-ja
16+
else
17+
PDF = wolfSentry-Manual.pdf
18+
DOXYFILE = Doxyfile
19+
endif
20+
1321
.PHONY: html-prep
1422
html-prep:
1523

wolfSentry/mkdocs-ja.yml

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
site_name: wolfSentry Manual
2+
site_url: https://wolfssl.com/
3+
docs_dir: build/html/
4+
site_dir: html/
5+
copyright: Copyright © 2022 wolfSSL Inc.
6+
nav:
7+
- "1. はじめに": index.md
8+
- "2. wolfSentryのビルド": chapter02.md
9+
- "3. wolfSentry API": chapter03.md
10+
- "4. wolfSentry の使用例": chapter04.md
11+
theme:
12+
name: null
13+
custom_dir: ../mkdocs-material/material
14+
language: en
15+
palette:
16+
primary: indigo
17+
accent: indigo
18+
font:
19+
text: roboto
20+
code: roboto mono
21+
icon: "logo.png"
22+
logo: logo.png
23+
favicon: logo.png
24+
feature:
25+
tabs: true
26+
extra_css: [skin.css]
27+
use_directory_urls: false

wolfSentry/src-ja/chapter01.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# はじめに
2+
3+
このマニュアルは、wolfSentry に組み込まれた侵入検知保護システム (IDPS) の技術ガイドとして書かれています。 wolfSentry を構築して開始する方法を説明し、構築オプション、機能、移植性の強化、サポートなどの概要を提供します。
4+
5+
## wolfSentry を選ぶ理由
6+
7+
wolfSentry は、サイズとリソースのオーバーヘッドの両方で非常に軽量ですが、組み込みのニーズに対して非常に強力な IDPS です。

wolfSentry/src-ja/chapter02.md

Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
# wolfSentryのビルド
2+
3+
wolfSentry は移植性を念頭に置いて作成されており、通常、ほとんどのシステムで簡単に構築できるはずです。 もしも
4+
wolfSentry の構築に問題がある場合は、遠慮なくサポート フォーラムを通じてサポートを求めてください。
5+
(<https://www.wolfssl.com/forums>) または [[email protected]](mailto:[email protected]) まで直接お問い合わせください。
6+
7+
## wolfSentry ソースコードの取得
8+
9+
wolfSentry の最新バージョンは、wolfSSL Web サイトから ZIP ファイルとしてダウンロードできます。
10+
11+
<https://wolfssl.jp/download/>
12+
13+
ZIP ファイルをダウンロードしたら、「unzip」コマンドを使用してファイルを解凍します。 ネイティブの行末を使用するには、
14+
unzip を使用する場合は、`-a` 修飾子を有効にします。 unzip のマニュアル ページから、`-a` 修飾子の機能は次のように説明されています:
15+
16+
> -a オプションを使用すると、zip によってテキスト ファイルとして識別されるファイル (zipinfo リストで「b」ではなく「t」ラベルが付いているファイル) が自動的に抽出され、行末、ファイル終了文字、および文字が変換されます。 必要に応じて設定します。
17+
> リスト、'b' ではなく) そのように自動的に抽出され、行末を変換し、end-
18+
> ファイルの文字と、必要に応じて文字セット自体。 [...]
19+
20+
## 依存関係
21+
22+
デフォルトのビルドでは、wolfSentry は POSIX ランタイム、特にヒープ アロケータ、clock_gettime、stdio、セマフォ、および文字列 API に依存しています。 ただし、これらの依存関係は、さまざまなビルド時のオプションで回避できます。 特に、次の指定を用いると:
23+
24+
```sh
25+
make STATIC=1 SINGLETHREADED=1 NO_STDIO=1 EXTRA_CFLAGS='-DWOLFSENTRY_NO_CLOCK_BUILTIN -DWOLFSENTRY_NO_MALLOC_BUILTIN'
26+
```
27+
28+
少数の基本的な文字列関数のみに依存する libwolfsentry.a を生成します。 次に、アロケータと時間のコールバックを wolfsentry_init() に渡される wolfsentry_host_platform_interface構造体に`設定する必要があります。
29+
30+
## ビルドとテスト
31+
32+
GNU Make をサポートするプラットフォームでは、`make` を実行すると、通常どおり wolfSentry がビルドされます。 他のプラットフォームでは、`src` ディレクトリとその `json` サブディレクトリにある C ファイルを使用してコンパイルする必要があります。
33+
34+
テスト スイートをビルドして実行するには、`make -j test` または `make V=1 -j test` を詳細に使用できます。
35+
36+
37+
### ビルド オプション
38+
39+
`make` に追加できるいくつかのフラグと、ヘッダー ファイルまたは `CFLAGS` のいずれかでビルド時の定義として使用されるフラグがあります。 `make` フラグを使用するには、以下を使用できます。
40+
41+
```sh
42+
make SINGLETHREADED=1 EXTRA_CFLAGS='-DWOLFSENTRY_NO_CLOCK_BUILTIN'
43+
```
44+
45+
これらは、ビルド時に wolfSentry がビルドされる `wolfsentry_options.h` ファイルに保存されます。 `make` を使用していない場合は、次のテンプレートを使用してこのファイルを作成できます。
46+
47+
```c
48+
#ifndef WOLFSENTRY_OPTIONS_H
49+
#define WOLFSENTRY_OPTIONS_H
50+
51+
#endif /* WOLFSENTRY_OPTIONS_H */
52+
```
53+
54+
次の表に、可能なオプションを示します。
55+
56+
| | `make` オプション | 説明 |
57+
| | --------------| ------------|
58+
| | 'V' | 詳細な `make` 出力 |
59+
|| 例えば `make V=1 -j test`|
60+
| | `USER_MAKE_CONF` | 含めるユーザー定義の Makefile |
61+
|| 例えば `make -j USER_MAKE_CONF=Makefile.settings` |
62+
| | `SRC_TOP` | ソース コードの最上位ディレクトリ (デフォルトは「pwd -P」) |
63+
| | `BUILD_TOP`| 別の場所 (ソース ツリーの外部またはサブディレクトリ内) にアーティファクトを使用してビルドする |
64+
|| 例えば `make BUILD_TOP=./build -j test`|
65+
| | `デバッグ` | 使用するコンパイラ デバッグ フラグ (デフォルトは `-ggdb`) |
66+
| | オプティム | 使用するオプティマイザ フラグ (デフォルトは `-O3`) |
67+
| | `C_WARNFLAGS` | 使用する警告フラグ (デフォルト [^1] を参照) |
68+
| | NO_STDIO | プラットフォームに「STDIO」がありません |
69+
| | `NO_JSON` | JSON 構成サポートをコンパイルしないでください |
70+
| | `USER_SETTINGS_FILE`| インクルードする追加のヘッダー ファイル |
71+
| | `シングルヘッド` | シングル スレッドの使用にスレッド セーフ セマンティクスを使用しない |
72+
|| 例えば `make -j SINGLETHREADED=1 テスト` |
73+
| | `静的` | 静的バイナリをビルドする |
74+
| | 剥ぎ取られた | デバッグ シンボルのバイナリを削除 |
75+
| | `BUILD_DYNAMIC` | 動的ライブラリを構築 |
76+
| | `VERY_QUIET` | 非常に静かなビルドを有効にする |
77+
| | `TAR` | `make dist` の GNU tar バイナリへのパス。macOS では `gtar` に設定する必要があります |
78+
| | `バージョン` | コンパイルするバージョン番号 (デフォルトは [^2] を参照) |
79+
80+
[^1]: `-Wall -Wextra -Werror -Wformat=2 -Winit-self -Wmissing-include-dirs -Wunknown-pragmas -Wshadow -Wpointer-arith -Wcast-align -Wwrite-strings -Wconversion -Wstrict-prototypes -Wold-style-definition -Wmissing-declarations -Wmissing-format-attribute -Wpointer-arith -Woverlength-strings -Wredundant-decls -Winline -Winvalid-pch -Wdouble-promotion -Wvla -Wno-missing-field-initializers -Wno -bad-function-cast -Wno-type-limits` および GCC が使用されている場合は、`-Wjump-misses-init -Wlogical-op` の追加フラグが使用されます。
81+
82+
[^2]: `VERSION として定義:= $(shell git rev-parse --short=8 HEAD 2>/dev/null || echo xxxxxxxx)$(shell git diff --quiet 2>/dev/null | | [ $$? -ne 1 ] || echo "-dirty")`
83+
84+
85+
| プリプロセッサ マクロ | 説明 |
86+
| --- | --- |
87+
|`WOLFSENTRY_NO_STDIO` | プラットフォームに「STDIO」がありません |
88+
|`WOLFSENTRY_NO_JSON` | JSON 構成サポートをコンパイルしないでください |
89+
|`WOLFSENTRY_USER_SETTINGS_FILE` | インクルードする追加のヘッダー ファイル |
90+
|`WOLFSENTRY_SINGLETHREADED` | シングル スレッドの使用にスレッド セーフ セマンティクスを使用しない |
91+
|`CENTIJSON_USE_LOCALE` | JSON パーサーはロケール依存の文字を使用する必要があります |
92+
|`WOLFSENTRY_NO_PROTOCOL_NAMES` | 構成ファイルのプロトコル名のサポートを無効にする |
93+
|`DEBUG_JSON` | JSON パーサーにデバッグ `printf()` を追加 |
94+
|`WOLFSENTRY_NO_ERROR_STRINGS` | エラー文字列関数へのエラー コードを無効にする |
95+
|`WOLFSENTRY_NO_MALLOC_BUILTINS` | 組み込みの malloc 関数を無効にする |
96+
|`WOLFSENTRY_HAVE_NONGNU_ATOMICS` | アトミックは非 GNU です (`SINGLETHREADED` が設定されている場合は無視されます) |
97+
|`WOLFSENTRY_NO_CLOCK_BUILTIN` | Bulitin 時間関数を使用しないでください |
98+
|`WOLFSENTRY_LWIP` | wolfSentry は BSD ソケットではなく LWIP に対して構築されています |
99+
|`FREERTOS` | FreeRTOS サポートでビルド |
100+
101+
### ビルドオプションの例
102+
103+
別のビルド場所から非標準の場所にインストールします。
104+
105+
```sh
106+
$make BUILD_TOP=./build INSTALL_DIR=/usr INSTALL_LIBDIR=/usr/lib64 インストール
107+
```
108+
109+
libwolfsentry.a をビルドし、さまざまなアナライザー (メモリとスレッド
110+
valgrind およびサニタイザー テストのフル バッテリー下でのテスト):
111+
112+
```sh
113+
$make -j check
114+
```
115+
116+
マルチスレッドをサポートせずに libwolfsentry.a をビルドしてテストします。
117+
118+
```sh
119+
$make -j SINGLETHREADED=1 test
120+
```
121+
122+
その他の使用可能な make フラグは、「STATIC=1」、「STRIPPED=1」、「NO_JSON=1」、および
123+
「NO_JSON_DOM=1」、および「DEBUG」、「OPTIM」、および「C_WARNFLAGS」のデフォルト値
124+
便利にオーバーライドすることもできます。
125+
126+
ユーザー提供の makefile プリアンブルを使用してビルドし、デフォルトをオーバーライドします。
127+
128+
```sh
129+
$make -j USER_MAKE_CONF=Makefile.settings
130+
```
131+
132+
(`Makefile.settings` には、`OPTIM := -Os` のような単純な設定を含めることができます。
133+
追加の規則と依存メカニズムを含む、複雑な makefile コード)。
134+
135+
可能な限り最小で最も単純なライブラリを構築します。
136+
137+
```sh
138+
make -j SINGLETHREADED=1 NO_STDIO=1 DEBUG= OPTIM=-Os EXTRA_CFLAGS='-DWOLFSENTRY_NO_CLOCK_BUILTIN -DWOLFSENTRY_NO_MALLOC_BUILTIN -DWOLFSENTRY_NO_ERROR_STRINGS -Wno-error=inline -Wno-inline'
139+
```
140+
141+
ユーザー設定を使用してビルドおよびテストします。
142+
143+
```sh
144+
$make -j USER_SETT

wolfSentry/src-ja/chapter03.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
# wolfSentry API
2+

0 commit comments

Comments
 (0)