Changeset 321 for EcnlProtoTool/trunk/asp3_dcre/tinet/net/ppp_upap.c
- Timestamp:
- Aug 23, 2017, 9:27:43 AM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
EcnlProtoTool/trunk/asp3_dcre/tinet/net/ppp_upap.c
- Property svn:keywords deleted
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc;charset=UTF-8
r270 r321 5 5 * Tomakomai National College of Technology, JAPAN 6 6 * 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 * 接的または間接的に生じたいかなる損害に関しても,その責任を負わない. 42 30 * 43 31 * @(#) $Id$ … … 113 101 114 102 /* 115 * é¢æ°103 * 関数 116 104 */ 117 105 … … 151 139 152 140 /* 153 * å 154 ¨åå¤æ° 141 * 全域変数 155 142 */ 156 143 157 144 T_PPP_PROTENT pap_protent = { 158 145 PPP_PAP, 159 upap_init, /* åæå */ 160 upap_input, /* å 161 ¥å */ 162 upap_protrej, /* Proto-REJ åä¿¡å¦ç */ 163 upap_lowerup, /* ä¸ä½å±¤ãèµ·åãã */ 164 upap_lowerdown, /* ä¸ä½å±¤ãåæ¢ãã */ 165 NULL, /* ãªã¼ãã³ãã */ 166 NULL, /* ã¯ãã¼ãºãã */ 167 NULL, /* ãã¼ã¿å 168 ¥å */ 146 upap_init, /* 初期化 */ 147 upap_input, /* 入力 */ 148 upap_protrej, /* Proto-REJ 受信処理 */ 149 upap_lowerup, /* 下位層を起動する */ 150 upap_lowerdown, /* 下位層を停止する */ 151 NULL, /* オープンする */ 152 NULL, /* クローズする */ 153 NULL, /* データ入力 */ 169 154 }; 170 155 171 156 /* 172 * å¤æ°157 * 変数 173 158 */ 174 159 … … 193 178 194 179 /* 195 * upap_init -- UPAP ã¢ã¸ã¥ã¼ã«ã®åæå180 * upap_init -- UPAP モジュールの初期化 196 181 */ 197 182 … … 214 199 215 200 /* 216 * upap_input -- UPAP å 217 ¥å 201 * upap_input -- UPAP 入力 218 202 */ 219 203 … … 226 210 NET_COUNT_PPP_PAP(net_count_ppp_upap_in_packets, 1); 227 211 228 /* PPP ãªã³ã¯å¶å¾¡ (CP) ãããããçããã°ã¨ã©ã¼*/212 /* PPP リンク制御 (CP) ヘッダより短ければエラー */ 229 213 if (input->len < (sizeof(T_PPP_HDR) + sizeof(T_PPP_CP_HDR))) { 230 214 syslog(LOG_WARNING, "[PPP/PAP] short hdr: %d.", input->len); … … 234 218 hdr = GET_PPP_CP_HDR(input); 235 219 236 /* ãããã®é·ãã¨å 237 ¥åãã¼ã¿ãµã¤ãºãä¸è´ããªããã°ã¨ã©ã¼ */ 220 /* ヘッダの長さと入力データサイズが一致しなければエラー */ 238 221 if (hdr->len != input->len - sizeof(T_PPP_HDR)) { 239 222 syslog(LOG_WARNING, "[PPP/PAP] bad len: %d.", hdr->len); … … 242 225 243 226 /* 244 * å¶å¾¡ã³ã¼ãã«ããé©å½ãªé¢æ°ãå¼åºã227 * 制御コードにより適当な関数を呼出す 245 228 */ 246 229 … … 271 254 272 255 /* 273 * upap_protrej -- Proto-REJ ãåä¿¡ããã¨ãã®å¦ç256 * upap_protrej -- Proto-REJ を受信したときの処理 274 257 */ 275 258 … … 297 280 298 281 /* 299 * upap_lowerup -- UPAP ä¸ä½å±¤ãèµ·åããã282 * upap_lowerup -- UPAP 下位層を起動する。 300 283 */ 301 284 … … 331 314 332 315 /* 333 * upap_lowerdown -- UPAP ä¸ä½å±¤ãåæ¢ããã316 * upap_lowerdown -- UPAP 下位層を停止する。 334 317 */ 335 318 … … 366 349 367 350 /* 368 * ã¯ã©ã¤ã¢ã³ãã¢ã¼ã㧠PAP èªè¨¼ãéå§ããã351 * クライアントモードで PAP 認証を開始する。 369 352 */ 370 353 … … 387 370 388 371 /* 389 * upap_rauthack -- èªè¨¼ ACK å¦ç372 * upap_rauthack -- 認証 ACK 処理 390 373 */ 391 374 … … 400 383 401 384 /* 402 * upap_rauthnak -- èªè¨¼ NAK å¦ç385 * upap_rauthnak -- 認証 NAK 処理 403 386 */ 404 387 … … 411 394 412 395 /* 413 * upap_sauthreq -- èªè¨¼è¦æ±å¦ç396 * upap_sauthreq -- 認証要求処理 414 397 */ 415 398 … … 425 408 data = output->buf + sizeof(T_PPP_HDR) + sizeof(T_PPP_CP_HDR); 426 409 427 /* ã¦ã¼ã¶åãè¨å®ããã*/410 /* ユーザ名を設定する。*/ 428 411 *data = sizeof(AUTH_REMOTE_USER) - 1; 429 412 strcpy(data + 1, AUTH_REMOTE_USER); 430 413 431 /* ãã¹ã¯ã¼ããè¨å®ããã*/414 /* パスワードを設定する。*/ 432 415 *(data + sizeof(AUTH_REMOTE_USER)) = sizeof(AUTH_REMOTE_PASSWD) - 1; 433 416 strcpy(data + sizeof(AUTH_REMOTE_USER) + 1, AUTH_REMOTE_PASSWD); 434 417 435 /* éä¿¡ãã*/418 /* 送信する */ 436 419 IF_SET_PROTO(output, PPP_PAP); 437 420 ppp_cp_output(PAP_AUTHREQ, ++ client_cp_id, output); … … 450 433 451 434 /* 452 * upap_timeout -- ã¿ã¤ã ã¢ã¦ãå¦ç435 * upap_timeout -- タイムアウト処理 453 436 */ 454 437 … … 475 458 476 459 /* 477 * ãµã¼ãã¢ã¼ã㧠PAP èªè¨¼ãéå§ããã460 * サーバモードで PAP 認証を開始する。 478 461 */ 479 462 … … 496 479 497 480 /* 498 * upap_rauthreq -- èªè¨¼è¦æ±å¿çå¦ç481 * upap_rauthreq -- 認証要求応答処理 499 482 */ 500 483 … … 509 492 510 493 /* 511 * åè¦æ±ããã£ãã¨ãã®å¦ç494 * 再要求があったときの処理 512 495 */ 513 496 id = GET_PPP_CP_HDR(input)->id; … … 526 509 527 510 /* 528 * ã¦ã¼ã¶åãç¹å®ããã511 * ユーザ名を特定する。 529 512 */ 530 513 ulen = *data; … … 537 520 538 521 /* 539 * ãã¹ã¯ã¼ããç¹å®ããã522 * パスワードを特定する。 540 523 */ 541 524 plen = *data; … … 546 529 547 530 /* 548 * ã¦ã¼ã¶åã¨ãã¹ã¯ã¼ãããã§ãã¯ããã531 * ユーザ名とパスワードをチェックする。 549 532 */ 550 533 if (compare(user, AUTH_LOCAL_USER, ulen) && … … 573 556 574 557 /* 575 * upap_sresp -- å¿çãè¿ãã558 * upap_sresp -- 応答を返す。 576 559 */ 577 560 … … 581 564 T_NET_BUF *output; 582 565 583 /* éä¿¡ãã*/566 /* 送信する */ 584 567 syscall(get_net_buf(&output, sizeof(T_PPP_HDR) + sizeof(T_PPP_CP_HDR))); 585 568 IF_SET_PROTO(output, PPP_PAP); … … 588 571 589 572 /* 590 * compare -- ã¦ã¼ã¶åã¨ãã¹ã¯ã¼ãã®æ¯è¼573 * compare -- ユーザ名とパスワードの比較 591 574 */ 592 575 … … 606 589 607 590 /* 608 * upap_reqtimeout -- è¦æ±ã¿ã¤ã ã¢ã¦ãå¦ç591 * upap_reqtimeout -- 要求タイムアウト処理 609 592 */ 610 593
Note:
See TracChangeset
for help on using the changeset viewer.