Ignore:
Timestamp:
May 22, 2019, 10:03:37 PM (5 years ago)
Author:
coas-nagasima
Message:

ビルドが通るよう更新

File:
1 edited

Legend:

Unmodified
Added
Removed
  • azure_iot_hub/trunk/asp3_dcre/tinet/net/ppp_ipcp.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc;charset=UTF-8
    r388 r389  
    55 *                   Tomakomai National College of Technology, JAPAN
    66 *
    7  *  上記著作権è€
    8 ã¯ï¼Œä»¥ä¸‹ã® (1)~(4) の条件か,Free Software Foundation
    9  *  によってå
    10 ¬è¡¨ã•ã‚Œã¦ã„ã‚‹ GNU General Public License の Version 2 に記
    11  *  述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア
    12  *  を改変したものを含む.以下同じ)を使用・複製・改変・再é
    13 å¸ƒï¼ˆä»¥ä¸‹ï¼Œ
    14  *  利用と呼ぶ)することを無償で許諾する.
    15  *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
    16  *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
    17  *      スコード中に含まれていること.
    18  *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
    19  *      用できる形で再é
    20 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œå†é
    21 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨
    22  *      è€
    23 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—作権表示,この利用条件および下記
    24  *      の無保証規定を掲載すること.
    25  *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
    26  *      用できない形で再é
    27 å¸ƒã™ã‚‹å ´åˆã«ã¯ï¼Œæ¬¡ã®æ¡ä»¶ã‚’満たすこと.
    28  *    (a) 再é
    29 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€
    30 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—
    31  *        作権表示,この利用条件および下記の無保証規定を掲載すること.
    32  *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
    33  *      害からも,上記著作権è€
    34 ãŠã‚ˆã³TOPPERSプロジェクトをå
    35 è²¬ã™ã‚‹ã“と.
    36  *
    37  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    38 ãŠ
    39  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    40  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    41  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     7 *  上記著作権者は,以下の (1)~(4) の条件か,Free Software Foundation
     8 *  によって公表されている GNU General Public License の Version 2 に記
     9 *  述されている条件を満たす場合に限り,本ソフトウェア(本ソフトウェア
     10 *  を改変したものを含む.以下同じ)を使用・複製・改変・再配布(以下,
     11 *  利用と呼ぶ)することを無償で許諾する.
     12 *  (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作
     13 *      権表示,この利用条件および下記の無保証規定が,そのままの形でソー
     14 *      スコード中に含まれていること.
     15 *  (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使
     16 *      用できる形で再配布する場合には,再配布に伴うドキュメント(利用
     17 *      者マニュアルなど)に,上記の著作権表示,この利用条件および下記
     18 *      の無保証規定を掲載すること.
     19 *  (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使
     20 *      用できない形で再配布する場合には,次の条件を満たすこと.
     21 *    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
     22 *        作権表示,この利用条件および下記の無保証規定を掲載すること.
     23 *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
     24 *      害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
     25 *
     26 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     27 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     28 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     29 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4230 *
    4331 *  @(#) $Id$
     
    124112
    125113/*
    126  *  関数
     114 *  関数
    127115 */
    128116
     
    136124
    137125/*
    138  * FSM から呼出されるコールバック関
    139  */
    140 
    141 static void  ipcp_resetci(T_PPP_FSM *fsm);      /* 自構成æƒ
    142 å ±ã‚’リセットする。     */
    143 static int_t ipcp_cilen (T_PPP_FSM *fsm);       /* 構成æƒ
    144 å ±ã®é•·ã•ã‚’返す。                */
     126 * FSM から呼出されるコールバック関
     127 */
     128
     129static void  ipcp_resetci(T_PPP_FSM *fsm);      /* 自構成情報をリセットする。        */
     130static int_t ipcp_cilen (T_PPP_FSM *fsm);       /* 構成情報の長さを返す。          */
    145131static void  ipcp_addci (T_PPP_FSM *fsm, T_NET_BUF *output);
    146                                                 /* 自構成æƒ
    147 å ±ã‚’追加する。           */
     132                                                /* 自構成情報を追加する。          */
    148133static bool_t  ipcp_ackci       (T_PPP_FSM *fsm, T_NET_BUF *input);
    149                                                 /* ACK を受信したときの処理   */
     134                                                /* ACK を受信したときの処理       */
    150135static bool_t  ipcp_nakci       (T_PPP_FSM *fsm, T_NET_BUF *input);
    151                                                 /* NAK を受信したときの処理   */
     136                                                /* NAK を受信したときの処理       */
    152137static bool_t  ipcp_rejci       (T_PPP_FSM *fsm, T_NET_BUF *input);
    153                                                 /* REJ を受信したときの処理   */
     138                                                /* REJ を受信したときの処理       */
    154139static int_t ipcp_reqci (T_PPP_FSM *fsm, T_NET_BUF *input, T_NET_BUF *output);
    155                                                 /* 相手の構成æƒ
    156 å ±ã‚’確認する。   */
    157 static void ipcp_up     (T_PPP_FSM *fsm);       /* リンク接続を確立する。            */
    158 static void ipcp_down   (T_PPP_FSM *fsm);       /* リンク接続を解放する。            */
    159 static void ipcp_finished(T_PPP_FSM *fsm);      /* 下位層を終了する。          */
    160 
    161 /*
    162  *  変数
    163  */
    164 
    165 static T_IFNET ipcp_local_def_cfg = {           /* 自構成æƒ
    166 å ±ã®è¦å®šå€¤         */
     140                                                /* 相手の構成情報を確認する。        */
     141static void ipcp_up     (T_PPP_FSM *fsm);       /* リンク接続を確立する。          */
     142static void ipcp_down   (T_PPP_FSM *fsm);       /* リンク接続を解放する。          */
     143static void ipcp_finished(T_PPP_FSM *fsm);      /* 下位層を終了する。            */
     144
     145/*
     146 *  変数
     147 */
     148
     149static T_IFNET ipcp_local_def_cfg = {           /* 自構成情報の規定値            */
    167150        NULL,
    168151        {
    169                 IPV4_ADDR_LOCAL,                /* IPv4 アドレス                    */
    170                 UINT_C(0),                      /* サブネットマスク             */
     152                IPV4_ADDR_LOCAL,                /* IPv4 アドレス                    */
     153                UINT_C(0),                      /* サブネットマスク             */
    171154                },
    172155        };
    173156
    174 static T_IFNET ipcp_remote_def_cfg = {          /* 相手の構成æƒ
    175 å ±ã®è¦å®šå€¤ */
     157static T_IFNET ipcp_remote_def_cfg = {          /* 相手の構成情報の規定値  */
    176158        NULL,
    177159        {
    178                 IPV4_ADDR_REMOTE,               /* IPv4 アドレス                    */
    179                 UINT_C(0),                      /* サブネットマスク             */
     160                IPV4_ADDR_REMOTE,               /* IPv4 アドレス                    */
     161                UINT_C(0),                      /* サブネットマスク             */
    180162                }
    181163        };
    182164
    183 static T_IFNET ipcp_local_neg_cfg;              /* ネゴ中の自構成æƒ
    184 å ±             */
    185 
    186 static T_IFNET ipcp_remote_neg_cfg;             /* ネゴ中の相手の構成æƒ
    187 å ±             */
    188 
    189 /*
    190  *  å
    191 ¨åŸŸå¤‰æ•°
     165static T_IFNET ipcp_local_neg_cfg;              /* ネゴ中の自構成情報            */
     166
     167static T_IFNET ipcp_remote_neg_cfg;             /* ネゴ中の相手の構成情報          */
     168
     169/*
     170 *  全域変数
    192171 */
    193172
    194173T_PPP_FSM_CALLBACKS ipcp_callbacks = {
    195         ipcp_resetci,                   /* 自構成æƒ
    196 å ±ã‚’リセットする。     */
    197         ipcp_cilen,                     /* 構成æƒ
    198 å ±ã®é•·ã•ã‚’返す。                */
    199         ipcp_addci,                     /* 自構成æƒ
    200 å ±ã‚’追加する。           */
    201         ipcp_ackci,                     /* ACK を受信したときの処理   */
    202         ipcp_nakci,                     /* NAK を受信したときの処理   */
    203         ipcp_rejci,                     /* REJ を受信したときの処理   */
    204         ipcp_reqci,                     /* 相手の構成æƒ
    205 å ±ã‚’確認する。   */
    206         ipcp_up,                        /* リンク接続を確立する。            */
    207         ipcp_down,                      /* リンク接続を解放する。            */
    208         NULL,                           /* 下位層を開始する。          */
    209         ipcp_finished,                  /* 下位層を終了する。          */
    210         NULL,                           /* 再送する。                      */
    211         NULL,                           /* 不明な CP を受信したときの処理  */
     174        ipcp_resetci,                   /* 自構成情報をリセットする。        */
     175        ipcp_cilen,                     /* 構成情報の長さを返す。          */
     176        ipcp_addci,                     /* 自構成情報を追加する。          */
     177        ipcp_ackci,                     /* ACK を受信したときの処理       */
     178        ipcp_nakci,                     /* NAK を受信したときの処理       */
     179        ipcp_rejci,                     /* REJ を受信したときの処理       */
     180        ipcp_reqci,                     /* 相手の構成情報を確認する。        */
     181        ipcp_up,                        /* リンク接続を確立する。          */
     182        ipcp_down,                      /* リンク接続を解放する。          */
     183        NULL,                           /* 下位層を開始する。            */
     184        ipcp_finished,                  /* 下位層を終了する。            */
     185        NULL,                           /* 再送する。                        */
     186        NULL,                           /* 不明な CP を受信したときの処理    */
    212187        };
    213188
    214189T_PPP_FSM ipcp_fsm = {
    215         &ipcp_callbacks,                /* コールバック関数             */
    216         PPP_IPCP,                       /* プロトコル                      */
     190        &ipcp_callbacks,                /* コールバック関数             */
     191        PPP_IPCP,                       /* プロトコル                        */
    217192        };
    218193
    219194T_PPP_PROTENT ipcp_protent = {
    220195        PPP_IPCP,
    221         ipcp_init,                      /* 初期化                    */
    222         ipcp_input,                     /* å
    223 ¥åŠ›                            */
    224         ipcp_protrej,                   /* Proto-REJ 受信処理               */
    225         ipcp_lowerup,                   /* 下位層を起動する             */
    226         ipcp_lowerdown,                 /* 下位層を停止する             */
    227         ipcp_open,                      /* オープンする                   */
    228         ipcp_close,                     /* クローズする                   */
    229         ip_input,                       /* データå
    230 ¥åŠ›ã€IPv4 å
    231 ¥åŠ›    */
     196        ipcp_init,                      /* 初期化                  */
     197        ipcp_input,                     /* 入力                           */
     198        ipcp_protrej,                   /* Proto-REJ 受信処理               */
     199        ipcp_lowerup,                   /* 下位層を起動する             */
     200        ipcp_lowerdown,                 /* 下位層を停止する             */
     201        ipcp_open,                      /* オープンする                       */
     202        ipcp_close,                     /* クローズする                       */
     203        ip_input,                       /* データ入力、IPv4 入力        */
    232204        };
    233205
    234 T_IFNET ipcp_local_ack_cfg;             /* 相手に許可されたの自構成æƒ
    235 å ±     */
    236 T_IFNET ipcp_remote_ack_cfg;            /* 相手に許可した構成æƒ
    237 å ±     */
    238 
    239 /*
    240  *  ppp_get_ifnet -- ネットワークインタフェース構造体を返す。
     206T_IFNET ipcp_local_ack_cfg;             /* 相手に許可されたの自構成情報       */
     207T_IFNET ipcp_remote_ack_cfg;            /* 相手に許可した構成情報  */
     208
     209/*
     210 *  ppp_get_ifnet -- ネットワークインタフェース構造体を返す。
    241211 */
    242212
     
    248218
    249219/*
    250  *  wait_ipcp -- IP 接続完了までå¾
    251 ã¤ã€‚
    252  *
    253  *      戻り値: 接続に失敗したら E_OBJ を返す。
     220 *  wait_ipcp -- IP 接続完了まで待つ。
     221 *
     222 *      戻り値: 接続に失敗したら E_OBJ を返す。
    254223 */
    255224
     
    265234#ifdef PPP_CFG_MODEM
    266235
    267                 /* モデムの接続完了までå¾
    268 ã¤ã€‚*/
     236                /* モデムの接続完了まで待つ。*/
    269237                if ((error = wait_modem()) != E_OK)
    270238                        return error;
     
    273241
    274242                /*
    275                  * 受動オープンし、相手からの接続å¾
    276 ã¡ãªã‚‰ LCP を一度クローズし、
    277                  * 能動オープン状æ
    278 ‹ã§ã€å†ã‚ªãƒ¼ãƒ—ンする。
     243                 * 受動オープンし、相手からの接続待ちなら LCP を一度クローズし、
     244                 * 能動オープン状態で、再オープンする。
    279245                 */
    280246                lcp_close();
     
    286252
    287253        if (ipcp_fsm.state != PPP_FSM_OPENED) {
    288                 /* IP 接続完了までå¾
    289 ã¤ã€‚*/
     254                /* IP 接続完了まで待つ。*/
    290255                wai_sem(SEM_IPCP_READY);
    291256                if (ipcp_fsm.state != PPP_FSM_OPENED)
     
    297262
    298263/*
    299  *  ipcp_init -- IPCP モジュールの初期化
     264 *  ipcp_init -- IPCP モジュールの初期化
    300265 */
    301266
     
    307272
    308273/*
    309  *  ipcp_input -- IPCP å
    310 ¥åŠ›
     274 *  ipcp_input -- IPCP 入力
    311275 */
    312276
     
    320284
    321285/*
    322  *  ipcp_resetci -- IPCPの構成æƒ
    323 å ±ã‚’リセットする。
     286 *  ipcp_resetci -- IPCPの構成情報をリセットする。
    324287 */
    325288
     
    327290ipcp_resetci (T_PPP_FSM *fsm)
    328291{
    329         /* 自構成æƒ
    330 å ±ã®åˆæœŸè¨­å®š */
     292        /* 自構成情報の初期設定 */
    331293        ipcp_local_neg_cfg = ipcp_local_def_cfg;
    332294        memset((void*)&ipcp_local_ack_cfg, 0, sizeof(T_IFNET));
    333295
    334         /* 相手の構成æƒ
    335 å ±ã®åˆæœŸè¨­å®š */
     296        /* 相手の構成情報の初期設定 */
    336297        ipcp_remote_neg_cfg = ipcp_remote_def_cfg;
    337298        memset((void*)&ipcp_remote_ack_cfg, 0, sizeof(T_IFNET));
     
    339300
    340301/*
    341  *  ipcp_cilen -- 構成æƒ
    342 å ±ã®é•·ã•ã‚’返す。
     302 *  ipcp_cilen -- 構成情報の長さを返す。
    343303 */
    344304
     
    348308        int_t cilen = 0;
    349309
    350         cilen += sizeof(T_PPP_CI_HDR) + sizeof(uint32_t);       /* IPv4 アドレス */
     310        cilen += sizeof(T_PPP_CI_HDR) + sizeof(uint32_t);       /* IPv4 アドレス */
    351311
    352312        return cilen;
     
    354314
    355315/*
    356  *  ipcp_addci -- IPCPの構成æƒ
    357 å ±ã‚’追加する。
     316 *  ipcp_addci -- IPCPの構成情報を追加する。
    358317 */
    359318
     
    365324        buf = output->buf + sizeof(T_PPP_HDR) + sizeof(T_PPP_CP_HDR);
    366325
    367         /* IPv4 アドレスオプションを追加する。 */
     326        /* IPv4 アドレスオプションを追加する。 */
    368327        *buf ++ = IPCP_CIT_ADDR;
    369328        *buf ++ = sizeof(T_PPP_CI_HDR) + sizeof(uint32_t);
     
    373332
    374333/*
    375  *  ipcp_ackci -- ACK を受信したときの処理
    376  *
    377  *      戻り値:      true  ACK は正常
    378  *              false ACK は異常
     334 *  ipcp_ackci -- ACK を受信したときの処理
     335 *
     336 *      戻り値:    true  ACK は正常
     337 *              false ACK は異常
    379338 */
    380339
     
    389348
    390349        /*
    391          *  構成æƒ
    392 å ±ã¯é€ä¿¡ã—た順に完å
    393 ¨ã«ä¸€è‡´ã—なければならない。
    394          *  従って、ipcp_addci で作成した順に解析する。
     350         *  構成情報は送信した順に完全に一致しなければならない。
     351         *  従って、ipcp_addci で作成した順に解析する。
    395352         */
    396353
    397         /* ADDR オプションを解析する。 */
     354        /* ADDR オプションを解析する。 */
    398355        if (len < sizeof(T_PPP_CI_HDR) + sizeof(uint32_t)       ||
    399356            *buf ++ != IPCP_CIT_ADDR                    ||
     
    408365
    409366/*
    410  *  ipcp_nakci -- NAK を受信したときの処理
    411  *
    412  *      戻り値:      1  NAK は正常
    413  *              0  NAK は異常
     367 *  ipcp_nakci -- NAK を受信したときの処理
     368 *
     369 *      戻り値:    1  NAK は正常
     370 *              0  NAK は異常
    414371 */
    415372
     
    427384        new_cfg = ipcp_local_neg_cfg;
    428385
    429         /* ADDR オプションを解析する。 */
     386        /* ADDR オプションを解析する。 */
    430387        if (len >= sizeof(T_PPP_CI_HDR) + sizeof(uint32_t)              &&
    431388            * buf      == IPCP_CIT_ADDR                         &&
     
    437394                }
    438395
    439         /* 後は無視する。*/
     396        /* 後は無視する。*/
    440397        while (len > sizeof(T_PPP_CI_HDR)) {
    441398                cilen = *(buf + 1);
     
    446403                }
    447404
    448         /* 長さが 0 でなければエラー */
     405        /* 長さが 0 でなければエラー */
    449406        if (len != 0)
    450407                return 0;
    451408
    452         /* 新しいオプションを設定する。*/
     409        /* 新しいオプションを設定する。*/
    453410        if (fsm->state != PPP_FSM_OPENED)
    454411                ipcp_local_neg_cfg = new_cfg;
     
    458415
    459416/*
    460  *  ipcp_rejci -- REJ を受信したときの処理
    461  *
    462  *      戻り値:      1  REJ は正常
    463  *              0  REJ は異常
     417 *  ipcp_rejci -- REJ を受信したときの処理
     418 *
     419 *      戻り値:    1  REJ は正常
     420 *              0  REJ は異常
    464421 */
    465422
     
    476433        new_cfg = ipcp_local_neg_cfg;
    477434
    478         /* ADDR オプションを解析する。 */
     435        /* ADDR オプションを解析する。 */
    479436        if (len >= sizeof(T_PPP_CI_HDR) + sizeof(uint32_t)              &&
    480437            * buf      == IPCP_CIT_ADDR                         &&
     
    485442                }
    486443
    487         /* 長さが 0 でなければエラー */
     444        /* 長さが 0 でなければエラー */
    488445        if (len != 0)
    489446                return 0;
    490447
    491         /* 新しいオプションを設定する。*/
     448        /* 新しいオプションを設定する。*/
    492449        if (fsm->state != PPP_FSM_OPENED)
    493450                ipcp_local_neg_cfg = new_cfg;
     
    497454
    498455/*
    499  *  ipcp_reqci -- 相手の構成æƒ
    500 å ±ã‚’解析する。
     456 *  ipcp_reqci -- 相手の構成情報を解析する。
    501457 */
    502458
     
    509465
    510466        rp = ap = input->buf +  sizeof(T_PPP_HDR) + sizeof(T_PPP_CP_HDR);
    511                                 /* rp: REJ、ap: ACK する CI のポインタ  */
    512                                 /* 拒否する場合は、引数 buf に上書きする。     */
     467                                /* rp: REJ、ap: ACK する CI のポインタ  */
     468                                /* 拒否する場合は、引数 buf に上書きする。       */
    513469        len   = input->len - (sizeof(T_PPP_HDR) + sizeof(T_PPP_CP_HDR));
    514470        np    = output->buf + sizeof(T_PPP_HDR) + sizeof(T_PPP_CP_HDR);
    515         final = PPP_CONFACK;    /* 最終的に送信するコード */
     471        final = PPP_CONFACK;    /* 最終的に送信するコード */
    516472        while (len > 0) {
    517473                code = PPP_CONFACK;
    518                 cp   = ap;      /* cp: 現在処理中の CI    */
     474                cp   = ap;      /* cp: 現在処理中の CI        */
    519475
    520476                if (len < sizeof(T_PPP_CI_HDR)) {
    521477
    522                         /* 残りが CI ヘッダより短い */
     478                        /* 残りが CI ヘッダより短い */
    523479                        syslog(LOG_NOTICE, "[PPP/IPCP] bad CI len: %d.", len);
    524                         cilen = len;    /* データ長が異常の場合の処置      */
    525                         len  = 0;       /* ループから抜ける。          */
     480                        cilen = len;    /* データ長が異常の場合の処置        */
     481                        len  = 0;       /* ループから抜ける。            */
    526482                        code  = PPP_CONFREJ;
    527483                        goto endswitch;
    528484                        }
    529485
    530                 type  = *ap ++; /* CI の型            */
    531                 cilen = *ap ++; /* CI の長さ         */
     486                type  = *ap ++; /* CI の型                */
     487                cilen = *ap ++; /* CI の長さ               */
    532488                if (len < cilen) {
    533489
    534                         /* 残りが CI 長より短い */
     490                        /* 残りが CI 長より短い */
    535491                        syslog(LOG_NOTICE, "[PPP/IPCP] bad CI len: %d.", cilen);
    536                         cilen = len;    /* データ長が異常の場合の処置      */
    537                         len  = 0;       /* ループから抜ける。          */
     492                        cilen = len;    /* データ長が異常の場合の処置        */
     493                        len  = 0;       /* ループから抜ける。            */
    538494                        code  = PPP_CONFREJ;
    539495                        goto endswitch;
     
    541497                len -= sizeof(T_PPP_CI_HDR);
    542498
    543                 /* CI の型により分岐する。*/
     499                /* CI の型により分岐する。*/
    544500                switch (type) {
    545501
    546                 case IPCP_CIT_ADDR:     /* IPv4 アドレス */
    547 
    548                         /* CI 長が、ヘッダ + 4 オクテットでなければエラー */
     502                case IPCP_CIT_ADDR:     /* IPv4 アドレス */
     503
     504                        /* CI 長が、ヘッダ + 4 オクテットでなければエラー */
    549505                        if (cilen != sizeof(T_PPP_CI_HDR) + sizeof(uint32_t))
    550506                                code = PPP_CONFREJ;
     
    559515                                        code = PPP_CONFNAK;
    560516                                        }
    561 #if 1   /* 要確認 */
     517#if 1   /* 要確認 */
    562518                                else if (addr == 0 && ipcp_remote_neg_cfg.in4_ifaddr.addr == 0)
    563519#else
     
    578534
    579535                if (code == PPP_CONFNAK) {
    580                         /* CI の型が Magic Number の場合を除いて、NAK の回数が   */
    581                         /* 最大値 MAX_PPP_FAILURES  をè¶
    582 ãˆãŸã‚‰æ‹’否する。        */
     536                        /* CI の型が Magic Number の場合を除いて、NAK の回数が */
     537                        /* 最大値 MAX_PPP_FAILURES  を超えたら拒否する。     */
    583538                        if (fsm->failures >= MAX_PPP_FAILURES)
    584539                                code = PPP_CONFREJ;
     
    587542                        }
    588543
    589                 /* この CI を拒否する */
     544                /* この CI を拒否する */
    590545                if (code == PPP_CONFREJ) {
    591                         if (rp < cp)            /* 前に詰める。*/
     546                        if (rp < cp)            /* 前に詰める。*/
    592547                                memcpy(rp, cp, cilen);
    593548                        rp += cilen;
     
    599554                }
    600555
    601         /* 最終的な長さを調整する。*/
     556        /* 最終的な長さを調整する。*/
    602557        switch (final) {
    603558        case PPP_CONFNAK:
     
    617572
    618573/*
    619  *  ipcp_up -- リンク接続を確立する。
     574 *  ipcp_up -- リンク接続を確立する。
    620575 */
    621576
     
    623578ipcp_up (T_PPP_FSM *fsm)
    624579{
    625         /* 自構成æƒ
    626 å ±ã®åˆæœŸè¨­å®š */
     580        /* 自構成情報の初期設定 */
    627581        ipcp_local_ack_cfg = ipcp_local_neg_cfg;
    628582
    629583        /*
    630          *  サブネットマスクと
    631          *  ローカル・ブロードキャスト IPv4 アドレスを設定する。
     584         *  サブネットマスクと
     585         *  ローカル・ブロードキャスト IPv4 アドレスを設定する。
    632586         */
    633587        ipcp_local_ack_cfg.in4_ifaddr.mask = MAKE_IPV4_LOCAL_MASK(ipcp_local_neg_cfg.in4_ifaddr.addr);
    634588
    635         /* 相手の構成æƒ
    636 å ±ã®åˆæœŸè¨­å®š */
     589        /* 相手の構成情報の初期設定 */
    637590        ipcp_remote_ack_cfg = ipcp_remote_neg_cfg;
    638591
    639592        /*
    640          *  サブネットマスクと
    641          *  ローカル・ブロードキャスト IPv4 アドレスを設定する。
     593         *  サブネットマスクと
     594         *  ローカル・ブロードキャスト IPv4 アドレスを設定する。
    642595         */
    643596        ipcp_remote_ack_cfg.in4_ifaddr.mask = MAKE_IPV4_LOCAL_MASK(ipcp_remote_neg_cfg.in4_ifaddr.addr);
     
    651604
    652605/*
    653  *  ipcp_down -- リンク接続を解放する。
     606 *  ipcp_down -- リンク接続を解放する。
    654607 */
    655608
     
    662615
    663616/*
    664  *  ipcp_finished -- 下位層を終了する。
     617 *  ipcp_finished -- 下位層を終了する。
    665618 */
    666619
     
    671624
    672625/*
    673  *  ipcp_protrej -- Proto-REJ を受信したときの処理
     626 *  ipcp_protrej -- Proto-REJ を受信したときの処理
    674627 */
    675628
     
    681634
    682635/*
    683  *  ipcp_lowerup -- IPCP 下位層を起動する。
     636 *  ipcp_lowerup -- IPCP 下位層を起動する。
    684637 */
    685638
     
    691644
    692645/*
    693  *  ipcp_lowerdown -- IPCP 下位層を停止する。
     646 *  ipcp_lowerdown -- IPCP 下位層を停止する。
    694647 */
    695648
     
    701654
    702655/*
    703  *  ipcp_open -- IPCP のオープン
     656 *  ipcp_open -- IPCP のオープン
    704657 */
    705658
     
    711664
    712665/*
    713  *  ipcp_close -- IPCP のクローズ
     666 *  ipcp_close -- IPCP のクローズ
    714667 */
    715668
Note: See TracChangeset for help on using the changeset viewer.