Ignore:
Timestamp:
Aug 3, 2017, 10:46:41 PM (7 years ago)
Author:
coas-nagasima
Message:

プロパティの文字コードにUTF-8を追加、キーワードを削除

File:
1 edited

Legend:

Unmodified
Added
Removed
  • asp3_gr_sakura/trunk/tinet/netapp/resolver.c

    • Property svn:keywords deleted
    • Property svn:mime-type changed from text/x-csrc to text/x-csrc; charset=UTF-8
    r317 r318  
    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  *      と.
    29  *    (a) 再é
    30 å¸ƒã«ä¼´ã†ãƒ‰ã‚­ãƒ¥ãƒ¡ãƒ³ãƒˆï¼ˆåˆ©ç”¨è€
    31 ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ãªã©ï¼‰ã«ï¼Œä¸Šè¨˜ã®è‘—
    32  *        作権表示,この利用条件および下記の無保証規定を掲載すること.
    33  *    (b) 再é
    34 å¸ƒã®å½¢æ
    35 ‹ã‚’,別に定める方法によって,TOPPERSプロジェクトに
    36  *        報告すること.
    37  *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
    38  *      害からも,上記著作権è€
    39 ãŠã‚ˆã³TOPPERSプロジェクトをå
    40 è²¬ã™ã‚‹ã“と.
     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 *      と.
     22 *    (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著
     23 *        作権表示,この利用条件および下記の無保証規定を掲載すること.
     24 *    (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに
     25 *        報告すること.
     26 *  (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損
     27 *      害からも,上記著作権者およびTOPPERSプロジェクトを免責すること.
    4128 *
    42  *  本ソフトウェアは,無保証で提供されているものである.上記著作権è€
    43 ãŠ
    44  *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
    45  *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
    46  *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
     29 *  本ソフトウェアは,無保証で提供されているものである.上記著作権者お
     30 *  よびTOPPERSプロジェクトは,本ソフトウェアに関して,その適用可能性も
     31 *  含めて,いかなる保証も行わない.また,本ソフトウェアの利用により直
     32 *  接的または間接的に生じたいかなる損害に関しても,その責任を負わない.
    4733 *
    4834 *  @(#) $Id$
     
    5036
    5137/*
    52  *  ホスト名←→IP アドレス変換
     38 *  ホスト名←→IP アドレス変換
    5339 */
    5440
     
    8672
    8773/*
    88  *  局所変数
     74 *  局所変数
    8975 */
    9076
     
    10389
    10490/*
    105  *  get_dns_header -- DNS メッセージから DNS ヘッダを取り出す。
     91 *  get_dns_header -- DNS メッセージから DNS ヘッダを取り出す。
    10692 */
    10793
     
    11197        T_DNS_HDR       *dns_hdr;
    11298
    113         /* DNS ヘッダを取り出す。*/
     99        /* DNS ヘッダを取り出す。*/
    114100        if (length < sizeof(rslv->dns_hdr))
    115101                return EV_RSLV_ESIZE;
     
    125111
    126112/*
    127  *  dns_strtype -- DNS の type の文字列を返す。
     113 *  dns_strtype -- DNS の type の文字列を返す。
    128114 */
    129115
     
    144130
    145131/*
    146  *  udp6_dns -- UDP/IPv6 により DNS サーバからメッセージを受信する。
     132 *  udp6_dns -- UDP/IPv6 により DNS サーバからメッセージを受信する。
    147133 */
    148134
     
    154140        int             retry;
    155141
    156         /* DNS サーバの IPv6 アドレスが未定義の時はパラメータエラー */
     142        /* DNS サーバの IPv6 アドレスが未定義の時はパラメータエラー */
    157143        if (IN6_IS_ADDR_UNSPECIFIED(addr) || (in6_is_addr_ipv4mapped(addr) && addr->s6_addr32[3] == IPV4_ADDRANY)) {
    158144                syslog(LOG_NOTICE, "[RSLV] undefined IPv6 DNS server address.");
     
    190176
    191177/*
    192  *  udp4_dns -- UDP/IPv4 により DNS サーバからメッセージを受信する。
     178 *  udp4_dns -- UDP/IPv4 により DNS サーバからメッセージを受信する。
    193179 */
    194180
     
    200186        int             retry;
    201187
    202         /* DNS サーバの IPv4 アドレスが未定義の時はパラメータエラー */
     188        /* DNS サーバの IPv4 アドレスが未定義の時はパラメータエラー */
    203189        if (*addr == IPV4_ADDRANY) {
    204190                syslog(LOG_NOTICE, "[RSLV] undefined IPv4 DNS server address.");
     
    234220
    235221/*
    236  *  skip_label -- ラベルを読み飛ばす。
     222 *  skip_label -- ラベルを読み飛ばす。
    237223 */
    238224
     
    246232
    247233/*
    248  *  add_name -- メッセージに名前を追加する。
     234 *  add_name -- メッセージに名前を追加する。
    249235 */
    250236
     
    257243        while (*name != '\0') {
    258244
    259                 /* メッセージサイズに達していたらエラー */
     245                /* メッセージサイズに達していたらエラー */
    260246                if (offset + 1 > size)
    261247                        return E_BOVR;
    262248
    263                 /* ラベルの終わりを見つける。*/
     249                /* ラベルの終わりを見つける。*/
    264250                tail = skip_label(name);
    265251
    266                 /* ラベル長を設定する。*/
     252                /* ラベル長を設定する。*/
    267253                label_len = tail - name;
    268                 if (label_len > DNS_LABEL_LENGTH) {     /* 63 オクテットをè¶
    269 ãˆã‚‹ã¨ã‚¨ãƒ©ãƒ¼ */
     254                if (label_len > DNS_LABEL_LENGTH) {     /* 63 オクテットを超えるとエラー */
    270255                        syslog(LOG_NOTICE, "[RSLV] label length(%d) too long > %d.",
    271256                                           label_len, DNS_LABEL_LENGTH);
     
    276261                offset ++;
    277262
    278                 /* ラベル名を設定する。*/
    279                 if (offset + label_len > size) {        /* メッセージサイズをè¶
    280 ãˆã‚‹ã¨ã‚¨ãƒ©ãƒ¼ */
     263                /* ラベル名を設定する。*/
     264                if (offset + label_len > size) {        /* メッセージサイズを超えるとエラー */
    281265                        syslog(LOG_NOTICE, "[RSLV] message length(%d) too long > %d.",
    282266                                           offset + label_len, size);
     
    287271                offset += label_len;
    288272
    289                 /* 次のラベルに移動する。*/
     273                /* 次のラベルに移動する。*/
    290274                if (*tail == '\0')
    291275                        name = tail;
    292276                else
    293                         name = tail + 1;        /* '.' をスキップする。*/
     277                        name = tail + 1;        /* '.' をスキップする。*/
    294278                }
    295279
     
    298282
    299283/*
    300  *  add_ipv6addr -- メッセージに IPv6 アドレスを追加する。
     284 *  add_ipv6addr -- メッセージに IPv6 アドレスを追加する。
    301285 */
    302286
     
    318302        for (col = sizeof(T_IN6_ADDR) * 2; -- col >= 0; ) {
    319303
    320                 /* 16進数 1桁の値を、名前として追加する。*/
     304                /* 16進数 1桁の値を、名前として追加する。*/
    321305                digit[0] = (addr.s6_addr8[col / 2] >> ((1 - (col % 2)) << 2)) & 0x0f;
    322306                if (digit[0] >= 10)
     
    329313                }
    330314
    331         /* "ip6" を追加する。*/
     315        /* "ip6" を追加する。*/
    332316        if ((error = add_name(msg, size, offset, "ip6")) < 0)
    333317                return error;
    334318
    335         /* "arpa" を追加する。*/
     319        /* "arpa" を追加する。*/
    336320        return add_name(msg, size, error, "arpa");
    337321        }
    338322
    339323/*
    340  *  add_ipv4addr -- メッセージに IPv4 アドレスを追加する。
     324 *  add_ipv4addr -- メッセージに IPv4 アドレスを追加する。
    341325 */
    342326
     
    358342        for (col = 0; col < sizeof(T_IN4_ADDR); col ++) {
    359343
    360                 /* 1オクテットの値を、整数値からリテラルに変換する。*/
     344                /* 1オクテットの値を、整数値からリテラルに変換する。*/
    361345                octet = (addr >> (col << 3)) & 0xff;
    362346                op = &ostr[3];
     
    366350                        }
    367351
    368                 /* 1オクテットの値を、名前として追加する。*/
     352                /* 1オクテットの値を、名前として追加する。*/
    369353                if ((error = add_name(msg, size, offset, op)) < 0)
    370354                        return error;
     
    372356                }
    373357
    374         /* "in-addr" を追加する。*/
     358        /* "in-addr" を追加する。*/
    375359        if ((error = add_name(msg, size, offset, "in-addr")) < 0)
    376360                return error;
    377361
    378         /* "arpa" を追加する。*/
     362        /* "arpa" を追加する。*/
    379363        return add_name(msg, size, error, "arpa");
    380364        }
    381365
    382366/*
    383  *  setup_dns_msg -- DNS メッセージを作成する。
     367 *  setup_dns_msg -- DNS メッセージを作成する。
    384368 */
    385369
     
    405389        case DNS_LUP_FLAGS_NAME_FQDN:
    406390
    407                 /* ホスト名、または FQDN の時の処理。*/
    408                 /* ホスト名を追加する。*/
     391                /* ホスト名、または FQDN の時の処理。*/
     392                /* ホスト名を追加する。*/
    409393                if ((offset = add_name(msg, msg_size, offset, name)) < 0)
    410394                        return offset;
    411395
    412                 if (offset - sizeof(dns_hdr) > DNS_NAME_LENGTH) {               /* 名前が 255 オクテットをè¶
    413 ãˆã‚‹ã¨ã‚¨ãƒ©ãƒ¼ */
     396                if (offset - sizeof(dns_hdr) > DNS_NAME_LENGTH) {               /* 名前が 255 オクテットを超えるとエラー */
    414397                        syslog(LOG_NOTICE, "[RSLV] name length(%d) too long > %d.",
    415398                                           offset - sizeof(dns_hdr), DNS_NAME_LENGTH);
     
    417400                        }
    418401
    419                 /* ホスト名だけの時は、ドメイン名を追加する。*/
     402                /* ホスト名だけの時は、ドメイン名を追加する。*/
    420403                if ((flags & DNS_LUP_FLAGS_NAME_MASK) == DNS_LUP_FLAGS_NAME_HOST) {
    421404
    422                         /* ドメイン名を追加する。*/
     405                        /* ドメイン名を追加する。*/
    423406                        if ((offset = add_name(msg, msg_size, offset, (char *)dns_domain_name)) < 0)
    424407                                return offset;
    425408
    426                         if (offset - sizeof(dns_hdr) > DNS_NAME_LENGTH) {               /* 名前が 255 オクテットをè¶
    427 ãˆã‚‹ã¨ã‚¨ãƒ©ãƒ¼ */
     409                        if (offset - sizeof(dns_hdr) > DNS_NAME_LENGTH) {               /* 名前が 255 オクテットを超えるとエラー */
    428410                                syslog(LOG_NOTICE, "[RSLV] name length(%d) too long > %d.",
    429411                                                   offset - sizeof(dns_hdr), DNS_NAME_LENGTH);
     
    450432                }
    451433
    452         /* 名前の終了コード、TYPE、CLASS を追加してもメッセージ長をè¶
    453 ãˆãªã„ことを確認する。*/
     434        /* 名前の終了コード、TYPE、CLASS を追加してもメッセージ長を超えないことを確認する。*/
    454435        if (offset + sizeof(uint16_t) * 2 + 1 > msg_size) {
    455436                syslog(LOG_NOTICE, "[RSLV] message length(%d) too long > %d.",
     
    458439                }
    459440
    460         /* 名前の終了コードを設定する。*/
     441        /* 名前の終了コードを設定する。*/
    461442        *(msg + offset) = '\0';
    462443        offset ++;
    463444
    464         /* DNS の TYPE を設定する。*/
     445        /* DNS の TYPE を設定する。*/
    465446        if (flags & DNS_LUP_FLAGS_QTYPE_PTR)
    466447                host2msg16(msg + offset, DNS_TYPE_PTR);
     
    475456        offset += sizeof(uint16_t);
    476457
    477         /* DNS の CLASS を設定する。*/
     458        /* DNS の CLASS を設定する。*/
    478459        host2msg16(msg + offset, DNS_CLASS_IN);
    479460
     
    482463
    483464/*
    484  *  skip_dns_name -- DNS メッセージの名前を読み飛ばす。
     465 *  skip_dns_name -- DNS メッセージの名前を読み飛ばす。
    485466 *
    486  *    注意: 圧縮形式を考æ
    487 ®ã™ã‚‹ã€‚上位 2ビットが 11なら圧縮形式。
     467 *    注意: 圧縮形式を考慮する。上位 2ビットが 11なら圧縮形式。
    488468 */
    489469
     
    507487
    508488/*
    509  *  skip_dns_qd -- DNS Question section を読み飛ばす。
     489 *  skip_dns_qd -- DNS Question section を読み飛ばす。
    510490 */
    511491
     
    516496
    517497        while (count != 0) {
    518                 /* name を読み飛ばす。*/
     498                /* name を読み飛ばす。*/
    519499                if ((next = skip_dns_name(msg, offset, length)) < 0)
    520500                        return next;
    521501                offset = next;
    522502
    523                 /* type、class を読み飛ばす。*/
     503                /* type、class を読み飛ばす。*/
    524504                if ((offset + sizeof(uint16_t) + sizeof(uint16_t)) > length)
    525505                        return EV_RSLV_ESIZE;
     
    533513
    534514/*
    535  *  skip_dns_rr -- DNS RR を読み飛ばす。
     515 *  skip_dns_rr -- DNS RR を読み飛ばす。
    536516 */
    537517
     
    543523
    544524        while (count != 0) {
    545                 /* name を読み飛ばす。*/
     525                /* name を読み飛ばす。*/
    546526                if ((next = skip_dns_name(msg, offset, length)) < 0)
    547527                        return next;
    548528                offset = next;
    549529
    550                 /* type、class、TTL を読み飛ばす。*/
     530                /* type、class、TTL を読み飛ばす。*/
    551531                if (offset + sizeof(uint16_t) + sizeof(uint16_t) + sizeof(uint32_t) > length)
    552532                        return EV_RSLV_ESIZE;
    553533                offset += sizeof(uint16_t) + sizeof(uint16_t) + sizeof(uint32_t);
    554534
    555                 /* RD length と RDATA を読み飛ばす。*/
     535                /* RD length と RDATA を読み飛ばす。*/
    556536                if (offset + sizeof(uint16_t) > length)
    557537                        return EV_RSLV_ESIZE;
     
    569549
    570550/*
    571  *  dns_analyze_qd -- DNS メッセージの question section を解析する。
     551 *  dns_analyze_qd -- DNS メッセージの question section を解析する。
    572552 */
    573553
     
    582562        offset = error;
    583563
    584         /* DNS メッセージå†
    585 ã®å½¢å¼ã®ã‚µã‚¤ã‚ºã§ãƒã‚§ãƒƒã‚¯ã™ã‚‹ã€‚*/
     564        /* DNS メッセージ内の形式のサイズでチェックする。*/
    586565        if (offset + T_DNS_QD_SIZE > length)
    587566                return EV_RSLV_ESIZE;
    588567
    589568        /*
    590          *  DNS メッセージå†
    591 ã® SOA RDATA をバイトオーダーを調整して
    592          *  å†
    593 éƒ¨æ§‹é€ ä½“にコピーする。
     569         *  DNS メッセージ内の SOA RDATA をバイトオーダーを調整して
     570         *  内部構造体にコピーする。
    594571         */
    595572        dns_qd = (T_DNS_QD*)(msg + offset);
     
    601578
    602579/*
    603  *  dns_analyze_soa -- DNS メッセージの SOA RDATA を解析する。
     580 *  dns_analyze_soa -- DNS メッセージの SOA RDATA を解析する。
    604581 */
    605582
     
    610587        T_DNS_SOA       *dns_soa;
    611588
    612         /* MNAME をスキップする。*/
     589        /* MNAME をスキップする。*/
    613590        if ((error = skip_dns_name(msg, offset, length)) < 0)
    614591                return error;
    615592        offset = error;
    616593
    617         /* RNAME をスキップする。*/
     594        /* RNAME をスキップする。*/
    618595        if ((error = skip_dns_name(msg, offset, length)) < 0)
    619596                return error;
    620597        offset = error;
    621598
    622         /* DNS メッセージå†
    623 ã®å½¢å¼ã®ã‚µã‚¤ã‚ºã§ãƒã‚§ãƒƒã‚¯ã™ã‚‹ã€‚*/
     599        /* DNS メッセージ内の形式のサイズでチェックする。*/
    624600        if (offset + T_DNS_SOA_SIZE > length)
    625601                return EV_RSLV_ESIZE;
    626602
    627603        /*
    628          *  DNS メッセージå†
    629 ã® SOA RDATA をバイトオーダーを調整して
    630          *  å†
    631 éƒ¨æ§‹é€ ä½“にコピーする。
     604         *  DNS メッセージ内の SOA RDATA をバイトオーダーを調整して
     605         *  内部構造体にコピーする。
    632606         */
    633607        dns_soa = (T_DNS_SOA*)(msg + offset);
     
    642616
    643617/*
    644  *  dns_analyze_rr -- DNS メッセージの AN/NS/AR section を解析する。
     618 *  dns_analyze_rr -- DNS メッセージの AN/NS/AR section を解析する。
    645619 */
    646620
     
    655629        offset = error;
    656630
    657         /* DNS メッセージå†
    658 ã®å½¢å¼ã®ã‚µã‚¤ã‚ºã§ãƒã‚§ãƒƒã‚¯ã™ã‚‹ã€‚*/
     631        /* DNS メッセージ内の形式のサイズでチェックする。*/
    659632        if (offset + T_DNS_RR_SIZE > length)
    660633                return EV_RSLV_ESIZE;
    661634
    662635        /*
    663          *  DNS メッセージå†
    664 ã® SOA RDATA をバイトオーダーを調整して
    665          *  å†
    666 éƒ¨æ§‹é€ ä½“にコピーする。
     636         *  DNS メッセージ内の SOA RDATA をバイトオーダーを調整して
     637         *  内部構造体にコピーする。
    667638         */
    668639        dns_rr = (T_DNS_RR*)(msg + offset);
     
    678649
    679650/*
    680  *  analyze_dns_msg -- DNS メッセージを解析する。
     651 *  analyze_dns_msg -- DNS メッセージを解析する。
    681652 */
    682653
     
    686657        ER_UINT offset;
    687658
    688         /* DNS ヘッダを取り出す。*/
     659        /* DNS ヘッダを取り出す。*/
    689660        if ((offset = get_dns_header(msg, length, rslv)) < 0)
    690661                return offset;
    691662
    692         /* question section を読み飛ばす。*/
     663        /* question section を読み飛ばす。*/
    693664        rslv->qd_offset = offset;
    694665        if ((offset = skip_dns_qd(msg, offset, length, rslv->dns_hdr.qdcount)) < 0)
    695666                return offset;
    696667
    697         /* answer section を読み飛ばす。*/
     668        /* answer section を読み飛ばす。*/
    698669        rslv->an_offset = offset;
    699670        if ((offset = skip_dns_rr(msg, offset, length, rslv->dns_hdr.ancount)) < 0)
    700671                return offset;
    701672
    702         /* authority records section を読み飛ばす。*/
     673        /* authority records section を読み飛ばす。*/
    703674        rslv->ns_offset = offset;
    704675        if ((offset = skip_dns_rr(msg, offset, length, rslv->dns_hdr.nscount)) < 0)
    705676                return offset;
    706677
    707         /* additional records  section を読み飛ばす。*/
     678        /* additional records  section を読み飛ばす。*/
    708679        rslv->ar_offset = offset;
    709680        if ((offset = skip_dns_rr(msg, offset, length, rslv->dns_hdr.arcount)) < 0)
     
    714685
    715686/*
    716  *  dns_lookup_host_sub -- DNS によりホストのæƒ
    717 å ±ã‚’取得する(補助関数)。
     687 *  dns_lookup_host_sub -- DNS によりホストの情報を取得する(補助関数)。
    718688 */
    719689
     
    832802
    833803/*
    834  *  udp64_dns -- DNS/IPv6、DNS/IPv4 により DNS サーバからメッセージを受信する。
     804 *  udp64_dns -- DNS/IPv6、DNS/IPv4 により DNS サーバからメッセージを受信する。
    835805 */
    836806
     
    843813        uint16_t        proto;
    844814
    845         /* DNS メッセージを作成する。*/
     815        /* DNS メッセージを作成する。*/
    846816        if ((length = setup_dns_msg(flags, hostname, msg, msg_size)) < 0)
    847817                return length;
    848818
    849         /* UDP/IPv6 の DNS サーバにç
    850 §ä¼šã™ã‚‹ã€‚*/
     819        /* UDP/IPv6 の DNS サーバに照会する。*/
    851820        proto = DNS_LUP_FLAGS_PROTO_IPV6;
    852821        if ((length = udp6_dns(flags, &in6_addr_dns, msg, msg_size, length)) < 0) {
    853                 /*  UDP/IPv6 の DNS サーバへのç
    854 §ä¼šãŒã‚¨ãƒ©ãƒ¼ã«ãªã£ãŸæ™‚は、UDP/IPv4 の DNS サーバにç
    855 §ä¼šã™ã‚‹ã€‚*/
     822                /*  UDP/IPv6 の DNS サーバへの照会がエラーになった時は、UDP/IPv4 の DNS サーバに照会する。*/
    856823                if ((length = setup_dns_msg(flags, hostname, msg, msg_size)) < 0)
    857824                        return length;
    858825
    859                 /* UDP/IPv4 の DNS サーバにç
    860 §ä¼šã™ã‚‹ã€‚*/
     826                /* UDP/IPv4 の DNS サーバに照会する。*/
    861827                proto = DNS_LUP_FLAGS_PROTO_IPV4;
    862828                if ((length = udp4_dns(flags, &in4_addr_dns, msg, msg_size, length)) < 0)
     
    864830                }
    865831
    866         /* DNS メッセージを解析する。*/
     832        /* DNS メッセージを解析する。*/
    867833        if ((error = analyze_dns_msg(msg, length, rslv)) != E_OK)
    868834                return error;
     
    889855
    890856/*
    891  *  dns_lookup_host -- DNS によりホストのæƒ
    892 å ±ã‚’取得する。
     857 *  dns_lookup_host -- DNS によりホストの情報を取得する。
    893858 */
    894859
     
    904869
    905870                /*
    906                  *  IPv6/IPv4 の両方が指定された時の処理
    907                  *  まず type == AAAA で DNS サーバにç
    908 §ä¼šã™ã‚‹ã€‚
     871                 *  IPv6/IPv4 の両方が指定された時の処理
     872                 *  まず type == AAAA で DNS サーバに照会する。
    909873                 */
    910874                if (flags & DNS_LUP_FLAGS_QTYPE_PTR) {
     
    924888
    925889                        /*
    926                          *  type == AAAA でアドレス解決ができなかった時の処理
    927                          *  type == A で DNS サーバにç
    928 §ä¼šã™ã‚‹ã€‚
     890                         *  type == AAAA でアドレス解決ができなかった時の処理
     891                         *  type == A で DNS サーバに照会する。
    929892                         */
    930893                        if (flags & DNS_LUP_FLAGS_QTYPE_A)
     
    942905
    943906                /*
    944                  *  type == AAAA と A の両方が指定された時の処理
    945                  *  まず type == AAAA で DNS サーバにç
    946 §ä¼šã™ã‚‹ã€‚
     907                 *  type == AAAA と A の両方が指定された時の処理
     908                 *  まず type == AAAA で DNS サーバに照会する。
    947909                 */
    948910                if ((error = dns_lookup_host_sub(flags & ~DNS_LUP_FLAGS_QTYPE_A, hostname, msg, msg_size, rslv)) < 0)
     
    952914
    953915                        /*
    954                          *  type == AAAA でアドレス解決ができなかった時の処理
    955                          *  type == A で DNS サーバにç
    956 §ä¼šã™ã‚‹ã€‚
     916                         *  type == AAAA でアドレス解決ができなかった時の処理
     917                         *  type == A で DNS サーバに照会する。
    957918                         */
    958919                        return dns_lookup_host_sub(flags & ~DNS_LUP_FLAGS_QTYPE_AAAA, hostname, msg, msg_size, rslv);
     
    967928
    968929        else {
    969                 /* IPv6/IPv4 のどちらか一方が指定された時の処理 */
     930                /* IPv6/IPv4 のどちらか一方が指定された時の処理 */
    970931                error = dns_lookup_host_sub(flags, hostname, msg, msg_size, rslv);
    971932                }
     
    983944
    984945/*
    985  *  dns_in6_set_dname -- DNS の ドメイン名を設定する(DHCPv6用)。
     946 *  dns_in6_set_dname -- DNS の ドメイン名を設定する(DHCPv6用)。
    986947 *
    987  *    注意: new に NULL を指定すると、初期値に戻す。
     948 *    注意: new に NULL を指定すると、初期値に戻す。
    988949 */
    989950
     
    1018979
    1019980/*
    1020  *  dns_in6_get_dname -- DNS の ドメイン名を得る。
     981 *  dns_in6_get_dname -- DNS の ドメイン名を得る。
    1021982 */
    1022983
     
    1028989
    1029990/*
    1030  *  dns_in6_set_addr -- DNS サーバの IPv6 アドレスを設定する(DHCPv6用)。
     991 *  dns_in6_set_addr -- DNS サーバの IPv6 アドレスを設定する(DHCPv6用)。
    1031992 *
    1032  *    注意: new に NULL を指定すると、初期値に戻す。
     993 *    注意: new に NULL を指定すると、初期値に戻す。
    1033994 */
    1034995
     
    10441005
    10451006/*
    1046  *  dns_in6_get_addr -- DNS サーバの IPv6 アドレスを得る。
     1007 *  dns_in6_get_addr -- DNS サーバの IPv6 アドレスを得る。
    10471008 */
    10481009
     
    10631024
    10641025/*
    1065  *  dns_in4_set_dname -- DNS の ドメイン名を設定する(DHCPv4用)。
     1026 *  dns_in4_set_dname -- DNS の ドメイン名を設定する(DHCPv4用)。
    10661027 *
    1067  *    注意: new に NULL を指定すると、初期値に戻す。
     1028 *    注意: new に NULL を指定すると、初期値に戻す。
    10681029 */
    10691030
     
    10861047
    10871048/*
    1088  *  dns_in4_get_dname -- DNS の ドメイン名を得る。
     1049 *  dns_in4_get_dname -- DNS の ドメイン名を得る。
    10891050 */
    10901051
     
    10961057
    10971058/*
    1098  *  dns_in4_set_addr -- DNS サーバの IPv4 アドレスを設定する(DHCPv4用)。
     1059 *  dns_in4_set_addr -- DNS サーバの IPv4 アドレスを設定する(DHCPv4用)。
    10991060 *
    1100  *    注意: new に NULL を指定すると、初期値に戻す。
     1061 *    注意: new に NULL を指定すると、初期値に戻す。
    11011062 */
    11021063
     
    11121073
    11131074/*
    1114  *  dns_in4_get_addr -- DNS サーバの IPv4 アドレスを得る。
     1075 *  dns_in4_get_addr -- DNS サーバの IPv4 アドレスを得る。
    11151076 */
    11161077
     
    11291090
    11301091/*
    1131  *  dns_host_addr -- ホスト名を IP アドレスに変換する。
     1092 *  dns_host_addr -- ホスト名を IP アドレスに変換する。
    11321093 */
    11331094
Note: See TracChangeset for help on using the changeset viewer.