Changeset 389 for azure_iot_hub/trunk/asp3_dcre/tinet/net/ppp_upap.c
- Timestamp:
- May 22, 2019, 10:03:37 PM (5 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
azure_iot_hub/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
r388 r389 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$ … … 114 102 115 103 /* 116 * é¢æ°104 * 関数 117 105 */ 118 106 … … 152 140 153 141 /* 154 * å 155 ¨åå¤æ° 142 * 全域変数 156 143 */ 157 144 158 145 T_PPP_PROTENT pap_protent = { 159 146 PPP_PAP, 160 upap_init, /* åæå */ 161 upap_input, /* å 162 ¥å */ 163 upap_protrej, /* Proto-REJ åä¿¡å¦ç */ 164 upap_lowerup, /* ä¸ä½å±¤ãèµ·åãã */ 165 upap_lowerdown, /* ä¸ä½å±¤ãåæ¢ãã */ 166 NULL, /* ãªã¼ãã³ãã */ 167 NULL, /* ã¯ãã¼ãºãã */ 168 NULL, /* ãã¼ã¿å 169 ¥å */ 147 upap_init, /* 初期化 */ 148 upap_input, /* 入力 */ 149 upap_protrej, /* Proto-REJ 受信処理 */ 150 upap_lowerup, /* 下位層を起動する */ 151 upap_lowerdown, /* 下位層を停止する */ 152 NULL, /* オープンする */ 153 NULL, /* クローズする */ 154 NULL, /* データ入力 */ 170 155 }; 171 156 172 157 /* 173 * å¤æ°158 * 変数 174 159 */ 175 160 … … 194 179 195 180 /* 196 * upap_init -- UPAP ã¢ã¸ã¥ã¼ã«ã®åæå181 * upap_init -- UPAP モジュールの初期化 197 182 */ 198 183 … … 215 200 216 201 /* 217 * upap_input -- UPAP å 218 ¥å 202 * upap_input -- UPAP 入力 219 203 */ 220 204 … … 227 211 NET_COUNT_PPP_PAP(net_count_ppp_upap_in_packets, 1); 228 212 229 /* PPP ãªã³ã¯å¶å¾¡ (CP) ãããããçããã°ã¨ã©ã¼*/213 /* PPP リンク制御 (CP) ヘッダより短ければエラー */ 230 214 if (input->len < (sizeof(T_PPP_HDR) + sizeof(T_PPP_CP_HDR))) { 231 215 syslog(LOG_WARNING, "[PPP/PAP] short hdr: %d.", input->len); … … 235 219 hdr = GET_PPP_CP_HDR(input); 236 220 237 /* ãããã®é·ãã¨å 238 ¥åãã¼ã¿ãµã¤ãºãä¸è´ããªããã°ã¨ã©ã¼ */ 221 /* ヘッダの長さと入力データサイズが一致しなければエラー */ 239 222 if (hdr->len != input->len - sizeof(T_PPP_HDR)) { 240 223 syslog(LOG_WARNING, "[PPP/PAP] bad len: %d.", hdr->len); … … 243 226 244 227 /* 245 * å¶å¾¡ã³ã¼ãã«ããé©å½ãªé¢æ°ãå¼åºã228 * 制御コードにより適当な関数を呼出す 246 229 */ 247 230 … … 272 255 273 256 /* 274 * upap_protrej -- Proto-REJ ãåä¿¡ããã¨ãã®å¦ç257 * upap_protrej -- Proto-REJ を受信したときの処理 275 258 */ 276 259 … … 298 281 299 282 /* 300 * upap_lowerup -- UPAP ä¸ä½å±¤ãèµ·åããã283 * upap_lowerup -- UPAP 下位層を起動する。 301 284 */ 302 285 … … 332 315 333 316 /* 334 * upap_lowerdown -- UPAP ä¸ä½å±¤ãåæ¢ããã317 * upap_lowerdown -- UPAP 下位層を停止する。 335 318 */ 336 319 … … 367 350 368 351 /* 369 * ã¯ã©ã¤ã¢ã³ãã¢ã¼ã㧠PAP èªè¨¼ãéå§ããã352 * クライアントモードで PAP 認証を開始する。 370 353 */ 371 354 … … 388 371 389 372 /* 390 * upap_rauthack -- èªè¨¼ ACK å¦ç373 * upap_rauthack -- 認証 ACK 処理 391 374 */ 392 375 … … 401 384 402 385 /* 403 * upap_rauthnak -- èªè¨¼ NAK å¦ç386 * upap_rauthnak -- 認証 NAK 処理 404 387 */ 405 388 … … 412 395 413 396 /* 414 * upap_sauthreq -- èªè¨¼è¦æ±å¦ç397 * upap_sauthreq -- 認証要求処理 415 398 */ 416 399 … … 426 409 data = output->buf + sizeof(T_PPP_HDR) + sizeof(T_PPP_CP_HDR); 427 410 428 /* ã¦ã¼ã¶åãè¨å®ããã*/411 /* ユーザ名を設定する。*/ 429 412 *data = sizeof(AUTH_REMOTE_USER) - 1; 430 413 strcpy(data + 1, AUTH_REMOTE_USER); 431 414 432 /* ãã¹ã¯ã¼ããè¨å®ããã*/415 /* パスワードを設定する。*/ 433 416 *(data + sizeof(AUTH_REMOTE_USER)) = sizeof(AUTH_REMOTE_PASSWD) - 1; 434 417 strcpy(data + sizeof(AUTH_REMOTE_USER) + 1, AUTH_REMOTE_PASSWD); 435 418 436 /* éä¿¡ãã*/419 /* 送信する */ 437 420 IF_SET_PROTO(output, PPP_PAP); 438 421 ppp_cp_output(PAP_AUTHREQ, ++ client_cp_id, output); … … 451 434 452 435 /* 453 * upap_timeout -- ã¿ã¤ã ã¢ã¦ãå¦ç436 * upap_timeout -- タイムアウト処理 454 437 */ 455 438 … … 476 459 477 460 /* 478 * ãµã¼ãã¢ã¼ã㧠PAP èªè¨¼ãéå§ããã461 * サーバモードで PAP 認証を開始する。 479 462 */ 480 463 … … 497 480 498 481 /* 499 * upap_rauthreq -- èªè¨¼è¦æ±å¿çå¦ç482 * upap_rauthreq -- 認証要求応答処理 500 483 */ 501 484 … … 510 493 511 494 /* 512 * åè¦æ±ããã£ãã¨ãã®å¦ç495 * 再要求があったときの処理 513 496 */ 514 497 id = GET_PPP_CP_HDR(input)->id; … … 527 510 528 511 /* 529 * ã¦ã¼ã¶åãç¹å®ããã512 * ユーザ名を特定する。 530 513 */ 531 514 ulen = *data; … … 538 521 539 522 /* 540 * ãã¹ã¯ã¼ããç¹å®ããã523 * パスワードを特定する。 541 524 */ 542 525 plen = *data; … … 547 530 548 531 /* 549 * ã¦ã¼ã¶åã¨ãã¹ã¯ã¼ãããã§ãã¯ããã532 * ユーザ名とパスワードをチェックする。 550 533 */ 551 534 if (compare(user, AUTH_LOCAL_USER, ulen) && … … 574 557 575 558 /* 576 * upap_sresp -- å¿çãè¿ãã559 * upap_sresp -- 応答を返す。 577 560 */ 578 561 … … 582 565 T_NET_BUF *output; 583 566 584 /* éä¿¡ãã*/567 /* 送信する */ 585 568 syscall(get_net_buf(&output, sizeof(T_PPP_HDR) + sizeof(T_PPP_CP_HDR))); 586 569 IF_SET_PROTO(output, PPP_PAP); … … 589 572 590 573 /* 591 * compare -- ã¦ã¼ã¶åã¨ãã¹ã¯ã¼ãã®æ¯è¼574 * compare -- ユーザ名とパスワードの比較 592 575 */ 593 576 … … 607 590 608 591 /* 609 * upap_reqtimeout -- è¦æ±ã¿ã¤ã ã¢ã¦ãå¦ç592 * upap_reqtimeout -- 要求タイムアウト処理 610 593 */ 611 594
Note:
See TracChangeset
for help on using the changeset viewer.