source: lab.git/utvpn/utvpn-unix-v101-7101-public/src/Cedar/SMInner.h @ 88df158

vendor
Last change on this file since 88df158 was b32552c, checked in by mitty <mitty@…>, 12 years ago
  • tar xzf utvpn-src-unix-v101-7101-public-2010.06.27.tar.gz

git-svn-id: https://lab.mitty.jp/svn/lab/vendor@146 7d2118f6-f56c-43e7-95a2-4bb3031d96e7

  • Property mode set to 100644
File size: 29.6 KB
RevLine 
[b32552c]1// SoftEther UT-VPN SourceCode
2//
3// Copyright (C) 2004-2010 SoftEther Corporation.
4// Copyright (C) 2004-2010 University of Tsukuba, Japan.
5// Copyright (C) 2003-2010 Daiyuu Nobori.
6// All Rights Reserved.
7//
8// http://utvpn.tsukuba.ac.jp/
9//
10// This program is free software; you can redistribute it and/or
11// modify it under the terms of the GNU General Public License
12// version 2 as published by the Free Software Foundation.
13//
14// This program is distributed in the hope that it will be useful,
15// but WITHOUT ANY WARRANTY; without even the implied warranty of
16// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17// GNU General Public License for more details.
18//
19// You should have received a copy of the GNU General Public License version 2
20// along with this program; if not, write to the Free Software
21// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
22//
23// このファイルは GPL バージョン 2 ライセンスで公開されています。
24// 誰でもこのファイルの内容を複製、改変したり、改変したバージョンを再配布
25// することができます。ただし、原著作物を改変した場合は、原著作物の著作権表示
26// を除去することはできません。改変した著作物を配布する場合は、改変実施者の
27// 著作権表示を原著作物の著作権表示に付随して記載するようにしてください。
28//
29// この SoftEther UT-VPN オープンソース・プロジェクトは、日本国の
30// ソフトイーサ株式会社 (SoftEther Corporation, http://www.softether.co.jp/ )
31// および筑波大学 (University of Tsukuba, http://www.tsukuba.ac.jp/ ) によって
32// ホストされています。
33// 本プログラムの配布者は、本プログラムを、業としての利用以外のため、
34// および、試験または研究のために利用が行われることを想定して配布
35// しています。
36// SoftEther UT-VPN プロジェクトの Web サイトは http://utvpn.tsukuba.ac.jp/ に
37// あります。
38// 本ソフトウェアの不具合の修正、機能改良、セキュリティホールの修復などのコード
39// の改変を行った場合で、その成果物を SoftEther UT-VPN プロジェクトに提出して
40// いただける場合は、 http://utvpn.tsukuba.ac.jp/ までソースコードを送付して
41// ください。SoftEther UT-VPN プロジェクトの本体リリースまたはブランチリリース
42// に組み込みさせていただきます。
43//
44// GPL に基づいて原著作物が提供される本ソフトウェアの改良版を配布、販売する
45// 場合は、そのソースコードを GPL に基づいて誰にでも開示する義務が生じます。
46//
47// 本ソフトウェアに関連する著作権、特許権、商標権はソフトイーサ株式会社
48// (SoftEther Corporation) およびその他の著作権保持者が保有しています。
49// ソフトイーサ株式会社等はこれらの権利を放棄していません。本ソフトウェアの
50// 二次著作物を配布、販売する場合は、これらの権利を侵害しないようにご注意
51// ください。
52//
53// お願い: どのような通信ソフトウェアにも通常は必ず未発見の
54// セキュリティホールが潜んでいます。本ソースコードをご覧いただいた結果、
55// UT-VPN にセキュリティホールを発見された場合は、当該セキュリティホールの
56// 情報を不特定多数に開示される前に、必ず、ソフトイーサ株式会社
57// および脆弱性情報の届出を受け付ける公的機関まで通報いただき、
58// 公益保護にご協力いただきますようお願い申し上げます。
59//
60// ソフトイーサ株式会社は、当該セキュリティホールについて迅速に対処を
61// 行い、UT-VPN および UT-VPN に関連するソフトウェアのユーザー・顧客
62// を保護するための努力を行います。
63//
64// ソフトイーサへの届出先: http://www.softether.co.jp/jp/contact/
65// 日本国内の脆弱性情報届出受付公的機関:
66//         独立行政法人 情報処理推進機構
67//         http://www.ipa.go.jp/security/vuln/report/
68//
69// 上記各事項について不明な点は、ソフトイーサ株式会社までご連絡ください。
70// 連絡先: http://www.softether.co.jp/jp/contact/
71
72// -----------------------------------------------
73// [ChangeLog]
74// 2010.05.20
75//  新規リリース by SoftEther
76// -----------------------------------------------
77
78// SMInner.h
79// SM.c の内部向けヘッダ
80
81// 定数
82#define SM_REG_KEY          "Software\\SoftEther Corporation\\UT-VPN\\Server Manager"
83#define SM_CERT_REG_KEY     "Software\\SoftEther Corporation\\UT-VPN\\Server Manager\\Cert Tool"
84#define SM_SETTING_REG_KEY  "Software\\SoftEther Corporation\\UT-VPN\\Server Manager\\Settings"
85#define SM_LASTHUB_REG_KEY  "Software\\SoftEther Corporation\\UT-VPN\\Server Manager\\Last HUB Name"
86
87// 定数 (古い値)
88#define SM_SETTING_REG_KEY_OLD  "Software\\SoftEther Corporation\\PacketiX VPN\\Server Manager\\Settings_Dummy"
89
90// スプラッシュスクリーンの枠線の色
91#define SM_SPLASH_BORDER_COLOR  (RGB(72, 72, 72))
92
93// 接続設定
94typedef struct SETTING
95{
96    wchar_t Title[MAX_SIZE];    // 設定名
97    bool ServerAdminMode;       // サーバー管理モード
98    char HubName[MAX_HUBNAME_LEN + 1];  // HUB 名
99    UCHAR HashedPassword[SHA1_SIZE];    // パスワード
100    CLIENT_OPTION ClientOption; // クライアントオプション
101    UCHAR Reserved[10240 - sizeof(bool) * 7];   // 予約領域
102} SETTING;
103
104// 構造体宣言
105typedef struct SM
106{
107    CEDAR *Cedar;               // Cedar
108    LIST *SettingList;          // 設定リスト
109    SETTING *TempSetting;       // 仮設定
110    HWND hParentWnd;            // 親ウインドウハンドル
111} SM;
112
113// 接続設定編集
114typedef struct SM_EDIT_SETTING
115{
116    bool EditMode;              // 編集モード
117    SETTING *OldSetting;        // 以前の設定へのポインタ
118    SETTING *Setting;           // 設定へのポインタ
119    bool Inited;                // 初期済みフラグ
120} SM_EDIT_SETTING;
121
122// サーバー管理ダイアログ
123typedef struct SM_SERVER
124{
125    RPC *Rpc;                   // RPC
126    char ServerName[MAX_HOST_NAME_LEN + 1]; // サーバー名
127    wchar_t Title[MAX_SIZE];    // タイトル
128    bool ServerAdminMode;       // サーバー管理モード
129    char HubName[MAX_HUBNAME_LEN + 1];  // HUB 名
130    UINT ServerType;            // サーバーの種類
131    bool Bridge;                // VPN Bridge 製品
132    UINT PolicyVer;             // ポリシーバージョン
133    RPC_SERVER_STATUS ServerStatus; // サーバー状態
134    RPC_SERVER_INFO ServerInfo;     // サーバー情報
135    CAPSLIST *CapsList;         // Caps リスト
136    bool EmptyPassword;         // 空のパスワード
137    SETTING *CurrentSetting;    // 現在の接続設定
138    wchar_t *AdminMsg;          // 管理者向けメッセージ
139} SM_SERVER;
140
141typedef void (SM_STATUS_INIT_PROC)(HWND hWnd, SM_SERVER *p, void *param);
142typedef bool (SM_STATUS_REFRESH_PROC)(HWND hWnd, SM_SERVER *p, void *param);
143
144// 情報表示ダイアログ
145typedef struct SM_STATUS
146{
147    SM_SERVER *p;               // P へのポインタ
148    void *Param;                // パラメータ
149    UINT Icon;                  // アイコン
150    wchar_t *Caption;           // タイトル
151    bool show_refresh_button;   // 更新ボタンの表示
152    bool NoImage;               // イメージ無し
153    SM_STATUS_INIT_PROC *InitProc;
154    SM_STATUS_REFRESH_PROC *RefreshProc;
155} SM_STATUS;
156
157// 仮想 HUB 編集ダイアログ
158typedef struct SM_EDIT_HUB
159{
160    SM_SERVER *p;               // P
161    bool EditMode;              // 編集モード
162    char HubName[MAX_HUBNAME_LEN + 1];  // HUB 名
163} SM_EDIT_HUB;
164
165// SSL 関係
166typedef struct SM_SSL
167{
168    SM_SERVER *p;               // P
169    X *Cert;                    // 証明書
170    K *Key;                     // 秘密鍵
171    bool SetCertAndKey;         // キーをセットする
172} SM_SSL;
173
174// 証明書保存
175typedef struct SM_SAVE_KEY_PAIR
176{
177    X *Cert;                    // 証明書
178    K *Key;                     // 秘密鍵
179    char *Pass;                 // パスフレーズ
180} SM_SAVE_KEY_PAIR;
181
182// コネクション情報
183typedef struct SM_CONNECTION_INFO
184{
185    SM_SERVER *p;               // P
186    char *ConnectionName;       // コネクション名
187} SM_CONNECTION_INFO;
188
189// HUB の管理
190typedef struct SM_HUB
191{
192    SM_SERVER *p;               // P
193    RPC *Rpc;                   // RPC
194    char *HubName;              // HUB 名
195} SM_HUB;
196
197// ユーザーリスト表示
198typedef struct SM_USER
199{
200    SM_SERVER *p;               // P
201    RPC *Rpc;                   // RPC
202    SM_HUB *Hub;                // HUB
203    char *GroupName;            // グループ名でフィルタ
204    bool SelectMode;            // 選択モード
205    char *SelectedName;         // 選択されたユーザー名
206    bool AllowGroup;            // グループの選択を許可
207    bool CreateNow;             // すぐにユーザーを作成
208} SM_USER;
209
210// ユーザーの編集
211typedef struct SM_EDIT_USER
212{
213    bool Inited;                // 初期化済みフラグ
214    bool EditMode;              // 編集モード
215    SM_SERVER *p;               // P
216    RPC *Rpc;                   // RPC
217    SM_HUB *Hub;                // HUB
218    RPC_SET_USER SetUser;       // ユーザー設定
219} SM_EDIT_USER;
220
221// ユーザー情報
222typedef struct SM_USER_INFO
223{
224    SM_SERVER *p;               // P
225    RPC *Rpc;                   // RPC
226    SM_HUB *Hub;                // HUB
227    char *Username;             // Username
228} SM_USER_INFO;
229
230// ポリシー
231typedef struct SM_POLICY
232{
233    bool Inited;                // 初期化
234    POLICY *Policy;             // ポリシー
235    wchar_t *Caption;           // タイトル
236    bool CascadeMode;           // カスケードモード
237    UINT Ver;                   // バージョン
238} SM_POLICY;
239
240// グループリスト表示
241typedef struct SM_GROUP
242{
243    SM_SERVER *p;               // P
244    RPC *Rpc;                   // RPC
245    SM_HUB *Hub;                // HUB
246    bool SelectMode;            // 選択モード
247    char *SelectedGroupName;    // 選択されたグループ名
248} SM_GROUP;
249
250// グループの編集
251typedef struct SM_EDIT_GROUP
252{
253    bool Inited;                // 初期化フラグ
254    bool EditMode;              // 編集モード
255    SM_SERVER *p;               // P
256    RPC *Rpc;                   // RPC
257    SM_HUB *Hub;                // HUB
258    RPC_SET_GROUP SetGroup;     // グループ設定
259} SM_EDIT_GROUP;
260
261// アクセスリスト一覧
262typedef struct SM_ACCESS_LIST
263{
264    RPC *Rpc;                   // RPC
265    SM_HUB *Hub;                // HUB
266    LIST *AccessList;           // アクセスリスト
267} SM_ACCESS_LIST;
268
269// アクセスリストの編集
270typedef struct SM_EDIT_ACCESS
271{
272    SM_HUB *Hub;                // HUB
273    bool Inited;                // 初期化フラグ
274    bool EditMode;              // 編集モード
275    SM_ACCESS_LIST *AccessList; // アクセスリスト
276    ACCESS *Access;             // アクセスリスト項目
277} SM_EDIT_ACCESS;
278
279// アクセスリストの状態表示
280typedef struct SM_LINK
281{
282    SM_HUB *Hub;                // HUB
283    wchar_t *AccountName;       // アカウント名
284} SM_LINK;
285
286// セッション ステータス
287typedef struct SM_SESSION_STATUS
288{
289    SM_HUB *Hub;                // HUB
290    char *SessionName;          // セッション名
291} SM_SESSION_STATUS;
292
293// アドレステーブル
294typedef struct SM_TABLE
295{
296    SM_HUB *Hub;                // HUB
297    RPC *Rpc;                   // RPC
298    char *SessionName;          // セッション名
299} SM_TABLE;
300
301// 証明書ツール
302typedef struct SM_CERT
303{
304    X *x;                       // 生成された証明書
305    K *k;                       // 生成された秘密鍵
306    X *root_x;                  // ルート証明書
307    K *root_k;                  // ルート証明書の秘密鍵
308    bool do_not_save;           // ファイルに保存しない
309    char *default_cn;           // デフォルトの CN
310} SM_CERT;
311
312// config 編集
313typedef struct SM_CONFIG
314{
315    SM_SERVER *s;               // SM_SERVER
316    RPC_CONFIG Config;          // Config 本体
317} SM_CONFIG;
318
319// hub_admin_option 編集
320typedef struct SM_EDIT_AO
321{
322    SM_EDIT_HUB *e;
323    bool CanChange;
324    RPC_ADMIN_OPTION CurrentOptions;
325    RPC_ADMIN_OPTION DefaultOptions;
326    bool NewMode;
327    char Name[MAX_ADMIN_OPTION_NAME_LEN + 1];
328    UINT Value;
329    bool ExtOption;
330} SM_EDIT_AO;
331
332// スイッチ編集
333typedef struct SM_L3SW
334{
335    SM_SERVER *s;
336    char *SwitchName;
337    bool Enable;
338} SM_L3SW;
339
340// スマートカードから証明書と秘密鍵の指定
341typedef struct SM_SECURE_KEYPAIR
342{
343    UINT Id;
344    bool UseCert;
345    bool UseKey;
346    char CertName[MAX_SIZE];
347    char KeyName[MAX_SIZE];
348    bool Flag;
349    UINT BitmapId;
350} SM_SECURE_KEYPAIR;
351
352// CRL 編集
353typedef struct SM_EDIT_CRL
354{
355    SM_HUB *s;
356    bool NewCrl;
357    UINT Key;
358} SM_EDIT_CRL;
359
360// AC リスト編集
361typedef struct SM_EDIT_AC_LIST
362{
363    SM_EDIT_HUB *s;
364    LIST *AcList;
365} SM_EDIT_AC_LIST;
366
367// AC 編集
368typedef struct SM_EDIT_AC
369{
370    SM_EDIT_AC_LIST *e;
371    UINT id;
372} SM_EDIT_AC;
373
374// ログファイルダウンロード
375typedef struct SM_READ_LOG_FILE
376{
377    HWND hWnd;
378    SM_SERVER *s;
379    char *server_name;
380    char *filepath;
381    UINT totalsize;
382    bool cancel_flag;
383    BUF *Buffer;
384} SM_READ_LOG_FILE;
385
386// セットアップダイアログ
387typedef struct SM_SETUP
388{
389    SM_SERVER *s;
390    RPC *Rpc;
391    bool IsBridge;
392    bool UseRemote;         // リモートアクセス VPN
393    bool UseSite;           // 拠点間接続 VPN
394    bool UseSiteEdge;       // 各拠点に設置する VPN Server / Bridge
395    char HubName[MAX_HUBNAME_LEN + 1];  // 仮想 HUB 名
396    bool Flag1;
397    bool Flag2;
398} SM_SETUP;
399
400
401// 関数プロトタイプ
402void InitSM();
403void SmParseCommandLine();
404void MainSM();
405void FreeSM();
406void SmMainDlg();
407UINT SmMainDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
408void SmMainDlgInit(HWND hWnd);
409void SmMainDlgUpdate(HWND hWnd);
410void SmInitSettingList();
411void SmFreeSettingList();
412void SmWriteSettingList();
413void SmLoadSettingList();
414void SmInitDefaultSettingList();
415int SmCompareSetting(void *p1, void *p2);
416SETTING *SmGetSetting(wchar_t *title);
417bool SmAddSetting(SETTING *s);
418void SmDeleteSetting(wchar_t *title);
419bool SmCheckNewName(SETTING *s, wchar_t *new_title);
420void SmRefreshSetting(HWND hWnd);
421void SmRefreshSettingEx(HWND hWnd, wchar_t *select_name);
422bool SmAddSettingDlg(HWND hWnd, wchar_t *new_name, UINT new_name_size);
423bool SmEditSettingDlg(HWND hWnd);
424UINT SmEditSettingDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
425void SmEditSettingDlgInit(HWND hWnd, SM_EDIT_SETTING *p);
426void SmEditSettingDlgUpdate(HWND hWnd, SM_EDIT_SETTING *p);
427void SmEditSettingDlgOnOk(HWND hWnd, SM_EDIT_SETTING *p);
428void SmConnect(HWND hWnd, SETTING *s);
429char *SmPassword(HWND hWnd, char *server_name);
430UINT SmServerDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
431void SmServerDlgInit(HWND hWnd, SM_SERVER *p);
432void SmServerDlgUpdate(HWND hWnd, SM_SERVER *p);
433void SmServerDlgRefresh(HWND hWnd, SM_SERVER *p);
434void SmStatusDlg(HWND hWnd, SM_SERVER *p, void *param, bool no_image, bool show_refresh_button, wchar_t *caption, UINT icon,
435                 SM_STATUS_INIT_PROC *init, SM_STATUS_REFRESH_PROC *refresh);
436UINT SmStatusDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
437bool SmRefreshHubStatus(HWND hWnd, SM_SERVER *p, void *param);
438void SmInsertTrafficInfo(LVB *b, TRAFFIC *t);
439bool SmCreateHubDlg(HWND hWnd, SM_SERVER *p);
440bool SmEditHubDlg(HWND hWnd, SM_SERVER *p, char *hubname);
441UINT SmEditHubProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
442void SmEditHubInit(HWND hWnd, SM_EDIT_HUB *s);
443void SmEditHubUpdate(HWND hWnd, SM_EDIT_HUB *s);
444void SmEditHubOnOk(HWND hWnd, SM_EDIT_HUB *s);
445bool SmCreateListenerDlg(HWND hWnd, SM_SERVER *p);
446UINT SmCreateListenerDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
447void SmSslDlg(HWND hWnd, SM_SERVER *p);
448UINT SmSslDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
449void SmSslDlgInit(HWND hWnd, SM_SSL *s);
450void SmSslDlgOnOk(HWND hWnd, SM_SSL *s);
451void SmSslDlgUpdate(HWND hWnd, SM_SSL *s);
452void SmGetCertInfoStr(wchar_t *str, UINT size, X *x);
453bool SmSaveKeyPairDlg(HWND hWnd, X *x, K *k);
454UINT SmSaveKeyPairDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
455void SmSaveKeyPairDlgInit(HWND hWnd, SM_SAVE_KEY_PAIR *s);
456void SmSaveKeyPairDlgUpdate(HWND hWnd, SM_SAVE_KEY_PAIR *s);
457void SmSaveKeyPairDlgOnOk(HWND hWnd, SM_SAVE_KEY_PAIR *s);
458bool SmRefreshServerStatus(HWND hWnd, SM_SERVER *p, void *param);
459bool SmRefreshServerInfo(HWND hWnd, SM_SERVER *p, void *param);
460void SmPrintNodeInfo(LVB *b, NODE_INFO *info);
461wchar_t *SmGetConnectionTypeStr(UINT type);
462void SmConnectionDlg(HWND hWnd, SM_SERVER *p);
463UINT SmConnectionDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
464void SmConnectionDlgInit(HWND hWnd, SM_SERVER *p);
465void SmConnectionDlgRefresh(HWND hWnd, SM_SERVER *p);
466void SmConnectionDlgUpdate(HWND hWnd, SM_SERVER *p);
467bool SmRefreshConnectionStatus(HWND hWnd, SM_SERVER *p, void *param);
468bool SmFarmDlg(HWND hWnd, SM_SERVER *p);
469UINT SmFarmDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
470void SmFarmDlgInit(HWND hWnd, SM_SERVER *p);
471void SmFarmDlgUpdate(HWND hWnd, SM_SERVER *p);
472void SmFarmDlgOnOk(HWND hWnd, SM_SERVER *p);
473LIST *SmStrToPortList(char *str);
474UINT SmFarmMemberDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
475void SmFarmMemberDlgInit(HWND hWnd, SM_SERVER *p);
476void SmFarmMemberDlgUpdate(HWND hWnd, SM_SERVER *p);
477void SmFarmMemberDlgRefresh(HWND hWnd, SM_SERVER *p);
478void SmFarmMemberDlgOnOk(HWND hWnd, SM_SERVER *p);
479void SmFarmMemberCert(HWND hWnd, SM_SERVER *p, UINT id);
480bool SmRefreshFarmMemberInfo(HWND hWnd, SM_SERVER *p, void *param);
481bool SmRefreshFarmConnectionInfo(HWND hWnd, SM_SERVER *p, void *param);
482UINT SmChangeServerPasswordDlg(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
483void SmHubDlg(HWND hWnd, SM_HUB *s);
484UINT SmHubDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
485void SmHubDlgInit(HWND hWnd, SM_HUB *s);
486void SmHubDlgUpdate(HWND hWnd, SM_HUB *s);
487void SmHubDlgRefresh(HWND hWnd, SM_HUB *s);
488void SmUserListDlg(HWND hWnd, SM_HUB *s);
489UINT SmUserListProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
490void SmUserListInit(HWND hWnd, SM_USER *s);
491void SmUserListRefresh(HWND hWnd, SM_USER *s);
492void SmUserListUpdate(HWND hWnd, SM_USER *s);
493wchar_t *SmGetAuthTypeStr(UINT id);
494bool SmCreateUserDlg(HWND hWnd, SM_HUB *s);
495UINT SmEditUserDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
496void SmEditUserDlgInit(HWND hWnd, SM_EDIT_USER *s);
497void SmEditUserDlgUpdate(HWND hWnd, SM_EDIT_USER *s);
498void SmEditUserDlgOk(HWND hWnd, SM_EDIT_USER *s);
499bool SmPolicyDlg(HWND hWnd, POLICY *p, wchar_t *caption);
500bool SmPolicyDlgEx(HWND hWnd, POLICY *p, wchar_t *caption, bool cascade_mode);
501bool SmPolicyDlgEx2(HWND hWnd, POLICY *p, wchar_t *caption, bool cascade_mode, UINT ver);
502UINT SmPolicyDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
503void SmPolicyDlgInit(HWND hWnd, SM_POLICY *s);
504void SmPolicyDlgUpdate(HWND hWnd, SM_POLICY *s);
505void SmPolicyDlgOk(HWND hWnd, SM_POLICY *s);
506bool SmEditUserDlg(HWND hWnd, SM_HUB *s, char *username);
507bool SmRefreshUserInfo(HWND hWnd, SM_SERVER *s, void *param);
508void SmGroupListDlg(HWND hWnd, SM_HUB *s);
509char *SmSelectGroupDlg(HWND hWnd, SM_HUB *s, char *default_name);
510UINT SmGroupListDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
511void SmGroupListDlgInit(HWND hWnd, SM_GROUP *s);
512void SmGroupListDlgUpdate(HWND hWnd, SM_GROUP *s);
513void SmGroupListDlgRefresh(HWND hWnd, SM_GROUP *s);
514bool SmCreateGroupDlg(HWND hWnd, SM_GROUP *s);
515bool SmEditGroupDlg(HWND hWnd, SM_GROUP *s, char *name);
516UINT SmEditGroupDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
517void SmEditGroupDlgInit(HWND hWnd, SM_EDIT_GROUP *g);
518void SmEditGroupDlgUpdate(HWND hWnd, SM_EDIT_GROUP *g);
519void SmEditGroupDlgOnOk(HWND hWnd, SM_EDIT_GROUP *g);
520void SmUserListDlgEx(HWND hWnd, SM_HUB *s, char *groupname, bool create);
521void SmAccessListDlg(HWND hWnd, SM_HUB *s);
522UINT SmAccessListProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
523void SmAccessListInit(HWND hWnd, SM_ACCESS_LIST *s);
524void SmAccessListUpdate(HWND hWnd, SM_ACCESS_LIST *s);
525void SmAccessListRefresh(HWND hWnd, SM_ACCESS_LIST *s);
526bool SmAddAccess(HWND hWnd, SM_ACCESS_LIST *s, bool ipv6);
527bool SmEditAccess(HWND hWnd, SM_ACCESS_LIST *s, ACCESS *a);
528UINT SmEditAccessDlg(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
529void SmEditAccessInit(HWND hWnd, SM_EDIT_ACCESS *s);
530void SmEditAccessUpdate(HWND hWnd, SM_EDIT_ACCESS *s);
531void SmEditAccessOnOk(HWND hWnd, SM_EDIT_ACCESS *s);
532UINT SmSimulationDlg(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
533void SmSimulationUpdate(HWND hWnd, SM_EDIT_ACCESS *s);
534void SmSimulationInit(HWND hWnd, SM_EDIT_ACCESS *s);
535void SmSimulationOnOk(HWND hWnd, SM_EDIT_ACCESS *s);
536char *SmSelectUserDlg(HWND hWnd, SM_HUB *s, char *default_name);
537char *SmSelectUserDlgEx(HWND hWnd, SM_HUB *s, char *default_name, bool allow_group);
538void SmRadiusDlg(HWND hWnd, SM_HUB *s);
539UINT SmRadiusDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
540void SmRadiusDlgInit(HWND hWnd, SM_HUB *s);
541void SmRadiusDlgUpdate(HWND hWnd, SM_HUB *s);
542void SmRadiusDlgOnOk(HWND hWnd, SM_HUB *s);
543void SmLinkDlg(HWND hWnd, SM_HUB *s);
544void SmLinkDlgEx(HWND hWnd, SM_HUB *s, bool createNow);
545UINT SmLinkDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
546void SmLinkDlgInit(HWND hWnd, SM_HUB *s);
547void SmLinkDlgUpdate(HWND hWnd, SM_HUB *s);
548void SmLinkDlgRefresh(HWND hWnd, SM_HUB *s);
549bool SmLinkCreate(HWND hWnd, SM_HUB *s);
550bool SmLinkCreateEx(HWND hWnd, SM_HUB *s, bool connectNow);
551bool SmLinkEdit(HWND hWnd, SM_HUB *s, wchar_t *name);
552bool SmRefreshLinkStatus(HWND hWnd, SM_SERVER *s, void *param);
553UINT SmLogDlg(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
554void SmLogDlgInit(HWND hWnd, SM_HUB *s);
555void SmLogDlgUpdate(HWND hWnd, SM_HUB *s);
556void SmLogDlgOnOk(HWND hWnd, SM_HUB *s);
557void SmCaDlg(HWND hWnd, SM_HUB *s);
558UINT SmCaDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
559void SmCaDlgInit(HWND hWnd, SM_HUB *s);
560void SmCaDlgRefresh(HWND hWnd, SM_HUB *s);
561void SmCaDlgUpdate(HWND hWnd, SM_HUB *s);
562void SmCaDlgOnOk(HWND hWnd, SM_HUB *s);
563bool SmCaDlgAdd(HWND hWnd, SM_HUB *s);
564void SmSessionDlg(HWND hWnd, SM_HUB *s);
565UINT SmSessionDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
566void SmSessionDlgInit(HWND hWnd, SM_HUB *s);
567void SmSessionDlgUpdate(HWND hWnd, SM_HUB *s);
568void SmSessionDlgRefresh(HWND hWnd, SM_HUB *s);
569bool SmRefreshSessionStatus(HWND hWnd, SM_SERVER *s, void *param);
570void SmMacTableDlg(HWND hWnd, SM_HUB *s, char *session_name);
571UINT SmMacTableDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
572void SmMacTableDlgInit(HWND hWnd, SM_TABLE *s);
573void SmMacTableDlgUpdate(HWND hWnd, SM_TABLE *s);
574void SmMacTableDlgRefresh(HWND hWnd, SM_TABLE *s);
575void SmIpTableDlg(HWND hWnd, SM_HUB *s, char *session_name);
576UINT SmIpTableDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
577void SmIpTableDlgInit(HWND hWnd, SM_TABLE *s);
578void SmIpTableDlgUpdate(HWND hWnd, SM_TABLE *s);
579void SmIpTableDlgRefresh(HWND hWnd, SM_TABLE *s);
580bool SmCreateCert(HWND hWnd, X **x, K **k, bool do_not_save, char *default_cn);
581UINT SmCreateCertDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
582void SmCreateCertDlgInit(HWND hWnd, SM_CERT *s);
583void SmCreateCertDlgUpdate(HWND hWnd, SM_CERT *s);
584void SmCreateCertDlgOnOk(HWND hWnd, SM_CERT *s);
585UINT SmSNATDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
586void SmSNATDlgUpdate(HWND hWnd, SM_HUB *s);
587void SmBridgeDlg(HWND hWnd, SM_SERVER *s);
588void SmInstallWinPcap(HWND hWnd, SM_SERVER *s);
589UINT SmBridgeDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
590void SmBridgeDlgInit(HWND hWnd, SM_SERVER *s);
591void SmBridgeDlgUpdate(HWND hWnd, SM_SERVER *s);
592void SmBridgeDlgRefresh(HWND hWnd, SM_SERVER *s);
593void SmBridgeDlgOnOk(HWND hWnd, SM_SERVER *s);
594void SmAddServerCaps(LVB *b, CAPSLIST *t);
595void SmConfig(HWND hWnd, SM_SERVER *s);
596UINT SmConfigDlg(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
597void SmConfigDlgInit(HWND hWnd, SM_CONFIG *c);
598void SmHubAdminOption(HWND hWnd, SM_EDIT_HUB *e);
599void SmHubExtOption(HWND hWnd, SM_EDIT_HUB *e);
600UINT SmHubAdminOptionDlg(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
601void SmHubAdminOptionDlgUpdate(HWND hWnd, SM_EDIT_AO *a);
602void SmHubAdminOptionDlgInit(HWND hWnd, SM_EDIT_AO *a);
603void SmHubAdminOptionDlgOk(HWND hWnd, SM_EDIT_AO *a);
604UINT SmHubAdminOptionValueDlg(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
605void SmHubAdminOptionValueDlgUpdate(HWND hWnd, SM_EDIT_AO *a);
606void SmL3(HWND hWnd, SM_SERVER *s);
607UINT SmL3Dlg(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
608void SmL3DlgInit(HWND hWnd, SM_SERVER *s);
609void SmL3DlgUpdate(HWND hWnd, SM_SERVER *s);
610void SmL3DlgRefresh(HWND hWnd, SM_SERVER *s);
611UINT SmL3AddDlg(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
612void SmL3AddDlgUpdate(HWND hWnd, SM_SERVER *s);
613UINT SmL3SwDlg(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
614void SmL3SwDlgInit(HWND hWnd, SM_L3SW *w);
615void SmL3SwDlgUpdate(HWND hWnd, SM_L3SW *w);
616void SmL3SwDlgRefresh(HWND hWnd, SM_L3SW *w);
617UINT SmL3SwIfDlg(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
618void SmL3SwIfDlgInit(HWND hWnd, SM_L3SW *w);
619void SmL3SwIfDlgUpdate(HWND hWnd, SM_L3SW *w);
620UINT SmL3SwTableDlg(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
621void SmL3SwTableDlgInit(HWND hWnd, SM_L3SW *w);
622void SmL3SwTableDlgUpdate(HWND hWnd, SM_L3SW *w);
623bool SmL3IsSwActive(SM_SERVER *s, char *name);
624UINT SmGetCurrentSecureId(HWND hWnd);
625UINT SmGetCurrentSecureIdFromReg();
626UINT SmSelectSecureId(HWND hWnd);
627void SmWriteSelectSecureIdReg(UINT id);
628bool SmSelectKeyPair(HWND hWnd, char *cert_name, UINT cert_name_size, char *key_name, UINT key_name_size);
629bool SmSelectKeyPairEx(HWND hWnd, char *cert_name, UINT cert_name_size, char *key_name, UINT key_name_size, UINT bitmap_id);
630UINT SmSelectKeyPairDlg(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
631void SmSelectKeyPairDlgInit(HWND hWnd, SM_SECURE_KEYPAIR *k);
632void SmSelectKeyPairDlgUpdate(HWND hWnd, SM_SECURE_KEYPAIR *k);
633void SmSelectKeyPairDlgRefresh(HWND hWnd, SM_SECURE_KEYPAIR *k);
634void SmSecureManager(HWND hWnd);
635UINT SmCrlDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
636void SmCrlDlgInit(HWND hWnd, SM_HUB *s);
637void SmCrlDlgUpdate(HWND hWnd, SM_HUB *s);
638void SmCrlDlgRefresh(HWND hWnd, SM_HUB *s);
639UINT SmEditCrlDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
640void SmEditCrlDlgInit(HWND hWnd, SM_EDIT_CRL *c);
641void SmEditCrlDlgUpdate(HWND hWnd, SM_EDIT_CRL *c);
642void SmEditCrlDlgOnOk(HWND hWnd, SM_EDIT_CRL *c);
643void SmEditCrlDlgOnLoad(HWND hWnd, SM_EDIT_CRL *c);
644void SmEditCrlDlgSetName(HWND hWnd, NAME *name);
645void SmEditCrlDlgSetSerial(HWND hWnd, X_SERIAL *serial);
646void SmEditCrlDlgSetHash(HWND hWnd, UCHAR *hash_md5, UCHAR *hash_sha1);
647void SmHubAc(HWND hWnd, SM_EDIT_HUB *s);
648UINT SmHubAcDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
649void SmHubAcDlgInit(HWND hWnd, SM_EDIT_AC_LIST *p);
650void SmHubAcDlgUpdate(HWND hWnd, SM_EDIT_AC_LIST *p);
651void SmHubAcDlgRefresh(HWND hWnd, SM_EDIT_AC_LIST *p);
652UINT SmHubEditAcDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
653void SmHubEditAcDlgInit(HWND hWnd, SM_EDIT_AC *p);
654void SmHubEditAcDlgUpdate(HWND hWnd, SM_EDIT_AC *p);
655void SmHubEditAcDlgOnOk(HWND hWnd, SM_EDIT_AC *p);
656UINT SmLogFileDlgProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
657void SmLogFileDlgInit(HWND hWnd, SM_SERVER *p);
658void SmLogFileDlgRefresh(HWND hWnd, SM_SERVER *p);
659void SmLogFileDlgUpdate(HWND hWnd, SM_SERVER *p);
660void SmLogFileStartDownload(HWND hWnd, SM_SERVER *s, char *server_name, char *filepath, UINT totalsize);
661UINT SmReadLogFile(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
662bool SmReadLogFileProc(DOWNLOAD_PROGRESS *g);
663UINT SmSaveLogProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
664void SmLicense(HWND hWnd, SM_SERVER *s);
665UINT SmLicenseDlg(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
666void SmLicenseDlgInit(HWND hWnd, SM_SERVER *s);
667void SmLicenseDlgRefresh(HWND hWnd, SM_SERVER *s);
668void SmLicenseDlgUpdate(HWND hWnd, SM_SERVER *s);
669bool SmLicenseAdd(HWND hWnd, SM_SERVER *s);
670UINT SmLicenseAddDlg(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
671void SmLicenseAddDlgInit(HWND hWnd, SM_SERVER *s);
672void SmLicenseAddDlgUpdate(HWND hWnd, SM_SERVER *s);
673void SmLicenseAddDlgShiftTextItem(HWND hWnd, UINT id1, UINT id2, UINT *next_focus);
674void SmLicenseAddDlgGetText(HWND hWnd, char *str, UINT size);
675void SmLicenseAddDlgOnOk(HWND hWnd, SM_SERVER *s);
676bool SmSetup(HWND hWnd, SM_SERVER *s);
677UINT SmSetupDlg(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
678void SmSetupDlgInit(HWND hWnd, SM_SETUP *s);
679void SmSetupDlgUpdate(HWND hWnd, SM_SETUP *s);
680void SmSetupDlgOnOk(HWND hWnd, SM_SETUP *s);
681UINT SmSetupHubDlg(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
682void SmSetupHubDlgUpdate(HWND hWnd, SM_SETUP *s);
683bool SmSetupInit(HWND hWnd, SM_SETUP *s);
684bool SmSetupDeleteAllHub(HWND hWnd, SM_SETUP *s);
685bool SmSetupDeleteAllLocalBridge(HWND hWnd, SM_SETUP *s);
686bool SmSetupDeleteAllLayer3(HWND hWnd, SM_SETUP *s);
687bool SmSetupDeleteAllObjectInBridgeHub(HWND hWnd, SM_SETUP *s);
688void SmSetupStep(HWND hWnd, SM_SETUP *s);
689UINT SmSetupStepDlg(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
690void SmSetupStepDlgInit(HWND hWnd, SM_SETUP *s);
691void SmSetupOnClose(HWND hWnd, SM_SETUP *s);
692bool SmSetupIsNew(SM_SERVER *s);
693void SmVLan(HWND hWnd, SM_SERVER *s);
694UINT SmVLanDlg(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
695void SmVLanDlgInit(HWND hWnd, SM_SERVER *s);
696void SmVLanDlgRefresh(HWND hWnd, SM_SERVER *s);
697void SmVLanDlgUpdate(HWND hWnd, SM_SERVER *s);
698void SmHubMsg(HWND hWnd, SM_EDIT_HUB *s);
699UINT SmHubMsgDlg(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam, void *param);
700void SmHubMsgDlgInit(HWND hWnd, SM_EDIT_HUB *s);
701void SmHubMsgDlgUpdate(HWND hWnd, SM_EDIT_HUB *s);
702void SmHubMsgDlgOnOk(HWND hWnd, SM_EDIT_HUB *s);
703
Note: See TracBrowser for help on using the repository browser.