hosts_access

Autres langues

Langue: ja

Autres versions - même langue

Version: 54478 (openSuse - 09/10/07)

Autres sections - même nom

Section: 3 (Bibliothèques de fonctions)

̾Á°

hosts_access, hosts_ctl, request_init, request_set - ¥¢¥¯¥»¥¹¥³¥ó¥È¥í¡¼¥ë¥é¥¤¥Ö¥é¥ê

½ñ¼°


#include "tcpd.h"



extern int allow_severity;

extern int deny_severity;



struct request_info *request_init(request, key, value, ..., 0)

struct request_info *request;



struct request_info *request_set(request, key, value, ..., 0)

struct request_info *request;



int hosts_access(request)

struct request_info *request;



int hosts_ctl(daemon, client_name, client_addr, client_user)

char *daemon;

char *client_name;

char *client_addr;

char *client_user;

ÀâÌÀ

¤³¤Î¥É¥­¥å¥á¥ó¥È¤ÇÀâÌÀ¤µ¤ì¤ë¥ë¡¼¥Á¥ó¤Ï libwrap.a ¥é¥¤¥Ö¥é ¥ê¤Î°ìÉô¤Ç¤¢¤ë¡£¤³¤Î¥é¥¤¥Ö¥é¥ê¤Ï¡¢ÆÃÄê¤Î¥ë¡¼¥ë¤Ë½¾¤¦¥¢¥¯¥»¥¹¥³¥ó ¥È¥í¡¼¥ë½ñ¼°¤òÄ󶡤¹¤ë¡£¤³¤Î¥¢¥¯¥»¥¹¥³¥ó¥È¥í¡¼¥ë¤Ë¤Ï¡¢¥ë¡¼¥ë¤Ë¹ç Ãפ·¤¿¾ì¹ç¡¢¥·¥§¥ë¥³¥Þ¥ó¥É¤¬¼Â¹Ô¤Ç¤­¤ë¤È¤¤¤¦¥ª¥×¥·¥ç¥óµ¡Ç½¤â´Þ¤Þ ¤ì¤Æ¤¤¤ë¡£

request_init() ¤Ï¡¢¥¯¥é¥¤¥¢¥ó¥È¤Î¥ê¥¯¥¨¥¹¥È¤Ë¤Ä¤¤¤Æ¤Î¾ðÊó¤Î¥¹¥È ¥é¥¯¥Á¥ã¤ò½é´ü²½¤¹¤ë¡£request_set() ¤Ï¡¢¤¹¤Ç¤Ë½é´ü²½¤µ¤ì¤Æ¤¤¤ë¥ê ¥¯¥¨¥¹¥È¤Î¥¹¥È¥é¥¯¥Á¥ã¤ò¹¹¿·¤¹¤ë¤¿¤á¤Ë¤Ä¤«¤¦¡£¤É¤Á¤é¤Î´Ø¿ô¤â key-value ¤È¤¤¤¦ ÊÑ¿ô-ÃÍ(variable-length) ¤Î¥Ú¥¢¤Ë¤è¤ë¥ê¥¹¥È¤òÆÀ ¤Æ¡¢ºÇ½é¤Î°ú¤­¿ô(first argument)¤òÊÖ¤¹¡£°ú¤­¿ô¤Î¥ê¥¹¥È¤Ï¥¼¥í¤ÎÃÍ ¤ò»ý¤Ä key ¤Ç½ª¤ë¡£¤¹¤Ù¤Æ¤Îʸ»úÎó¤ÎÃͤò»ý¤Ä°ú¤­¿ô(argument)¤Ï¥³¥Ô¡¼¤µ¤ì¤ë¡£ Í­¸ú¤Ê key (¤½¤·¤ÆÂбþ¤¹¤ëÃͤΥ¿¥¤¥×) ¤Ï°Ê²¼¤Î¤È¤ª¤ê:

RQ_FILE (int)
¥ê¥¯¥¨¥¹¥È¤È´ØÏ¢ÉÕ¤±¤µ¤ì¤ë¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿
RQ_CLIENT_NAME (char *)
¥¯¥é¥¤¥¢¥ó¥È¥Û¥¹¥È̾
RQ_CLIENT_ADDR (char *)
¥¯¥é¥¤¥¢¥ó¥È¤Î¥Í¥Ã¥È¥ï¡¼¥¯¥¢¥É¥ì¥¹¤Î̾¾Î(a printable representation)
RQ_CLIENT_SIN (struct sockaddr_in *)
¥¯¥é¥¤¥¢¥ó¥È¤Î¥Í¥Ã¥È¥ï¡¼¥¯¥¢¥É¥ì¥¹ÆâÉô¤Ç¤Î̾¾Î(an internal printable representation)¤È¥Ý¡¼¥ÈÈֹ档¥¹¥È¥é¥¯¥Á¥ã¤ÎÃæ¿È¤Ï¥³¥Ô¡¼ ¤µ¤ì¤Ê¤¤¡£
RQ_SERVER_NAME (char *)
¥¨¥ó¥É¥Ý¥¤¥ó¥È¤Ë¤¢¤ë¥µ¡¼¥Ð¤Î¥Û¥¹¥È̾
RQ_SERVER_ADDR (char *)
¥¨¥ó¥É¥Ý¥¤¥ó¥È¤Ë¤¢¤ë¥µ¡¼¥Ð¥¢¥É¥ì¥¹¤Î̾¾Î(a printable representation)
RQ_SERVER_SIN (struct sockaddr_in *)
¥¨¥ó¥É¥Ý¥¤¥ó¥È¤Ë¤¢¤ë¥µ¡¼¥Ð¤Î¥Í¥Ã¥È¥ï¡¼¥¯¥¢¥É¥ì¥¹ÆâÉô¤Ç¤Î̾¾Î(an internal printable representation)¤È¥Ý¡¼¥ÈÈֹ档¥¹¥È¥é¥¯¥Á¥ã¤ÎÃæ ¿È¤Ï¥³¥Ô¡¼¤µ¤ì¤Ê¤¤¡£
RQ_DAEMON (char *)
¥µ¡¼¥Ð¥Û¥¹¥È¤ÇÆ°ºî¤¹¤ë¥Ç¡¼¥â¥ó¤Î̾Á°
RQ_USER (char *)
¥ê¥¯¥¨¥¹¥È¤òȯ¹Ô¤·¤¿¥æ¡¼¥¶¤Î¥¯¥é¥¤¥¢¥ó¥È¥Û¥¹¥È¤Ë¤ª¤±¤ë̾¾Î

hosts_access() ¤Ï hosts_access(5) ¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤Ç ²òÀ⤵¤ì¤Æ¤¤¤ë¡¢¥¢¥¯¥»¥¹¥³¥ó¥È¥í¡¼¥ë¥Æ¡¼¥Ö¥ë¤ò»²¾È¤¹¤ë¡£ ÆâÉô¤Î¥¨¥ó¥É¥Ý¥¤¥ó¥È¾ðÊó¤¬Í­¸ú¤Ç¤¢¤Ã¤¿¾ì¹ç¡¢ Í×µá¤Ë±þ¤¸¤Æ¥Û¥¹¥È̾¤È¥¯¥é¥¤¥¢¥ó¥È¥æ¡¼¥¶Ì¾¤Îõºº¤¬¹Ô¤ï¤ì¡¢ ¥ê¥¯¥¨¥¹¥È¡¦¥¹¥È¥é¥¯¥Á¥ã¤ò¥­¥ã¥Ã¥·¥å¤¹¤ë¡£ ¤â¤·¥¢¥¯¥»¥¹¤¬µñÈݤµ¤ì¤¿¾ì¹ç¡¢hosts_access() ¤Ï¥¼¥í¤òÊÖ¤¹¡£

hosts_ctl() ¤Ï request_init() ¤È hosts_access() ¤ò¤µ¤é¤Ë»È¤¤¤ä¤¹ ¤¤¥¤¥ó¥¿¡¼¥Õ¥§¡¼¥¹¤Ë¤è¤Ã¤ÆÊñ¤à¥é¥Ã¥Ñ¡¼¤Ç¤¢¤ë (¼«Æ°Åª¤Ë¥¯¥é¥¤¥¢¥ó ¥È¤Î¥æ¡¼¥¶Ì¾¤òõºº¤¹¤ë¤Ë¤Ï¡¢½¼Ê¬¤Êµ¡Ç½¤È¤Ï¤¤¤¨¤Ê¤¤¤±¤ì¤É¤â)¡£ ¥¯¥é¥¤¥¢¥ó¥È¥Û¥¹¥È¥¢¥É¥ì¥¹¡¢¥¯¥é¥¤¥¢¥ó¥È¥Û¥¹¥È̾¡¢¤½¤·¤Æ¥æ¡¼¥¶Ì¾ ¤ËÂФ¹¤ë°ú¤­¿ô¤Ï¡¢Í­¸ú¤Ê¥Ç¡¼¥¿¤Þ¤¿¤Ï STRING_UNKNOWN ¤òÍøÍѤ¹¤ë¤³ ¤È¡£¤â¤·¥¢¥¯¥»¥¹¤¬µñÈݤµ¤ì¤¿¾ì¹ç¡¢hosts_ctl() ¤Ï¥¼¥í¤òÊÖ¤¹¡£

ÊÑ¿ô allow_severity ¤È deny_severity ¤Ï¼õÂú¤Þ¤¿¤Ïµñ Èݤ¹¤ë¥ê¥¯¥¨¥¹¥È¤ò¤É¤Î¤è¤¦¤Ëµ­Ï¿¤¹¤ë¤«¤ò»Ø¼¨¤¹¤ë¤â¤Î¤Ç¤¢¤ë¡£ ¤³¤ì¤é¤Ï¸Æ¤Ó½Ð¤¹Â¦¤Ë¤è¤Ã¤Æµ¬Äꤵ¤ì¤ë¤Ù¤­¤â¤Î¤Ç¤¢¤ê¡¢¥¢¥¯¥»¥¹¥³¥ó ¥È¥í¡¼¥ë¥Æ¡¼¥Ö¥ë¤Ë¼¨¤µ¤ì¤ë¥ë¡¼¥ë¤Ë¤è¤Ã¤Æ¤ÏÊѹ¹¤µ¤ì¤ë²ÄǽÀ­¤¬¤¢¤ë¡£

ÊÖ¤êÃÍ

ÌäÂ꤬¤¢¤ì¤Ð syslog ¥Ç¡¼¥â¥ó¤òÄ̤¸¤ÆÊó¹ð¤µ¤ì¤ë¡£

´ØÏ¢¹àÌÜ

hosts_access(5), ¥Û¥¹¥È¥¢¥¯¥»¥¹¥³¥ó¥È¥í¡¼¥ë¥Õ¥¡¥¤¥ë¤Î½ñ¼° hosts_options(5), ¥Û¥¹¥È¥¢¥¯¥»¥¹¥³¥ó¥È¥í¡¼¥ë¤Î³ÈÄ¥½ñ¼°

¥Õ¥¡¥¤¥ë

/etc/hosts.allow, /etc/hosts.deny, ¥¢¥¯¥»¥¹¥³¥ó¥È¥í¡¼¥ë¥Æ¡¼¥Ö¥ë

¥Ð¥°

hosts_access() ¤Ï strtok() ¥é¥¤¥Ö¥é¥ê´Ø¿ô¤ò»È¤Ã¤Æ¤¤¤ë¡£ ¤³¤ì¤Ë¤è¤ê¡¢strtok() ¤ò¤¢¤Æ¤Ë¤·¤Æ¤¤¤ë¾¤Î¥³¡¼¥É¤È´³¾Ä¤¬ ¤ª¤­¤ë¤«¤â¤·¤ì¤Ê¤¤¡£

Ãø¼Ô


Wietse Venema (wietse@wzv.win.tue.nl)

Department of Mathematics and Computing Science

Eindhoven University of Technology

Den Dolech 2, P.O. Box 513, 

5600 MB Eindhoven, The Netherlands