Doxygen Source Code Documentation
thd_trusthost.c File Reference
#include <string.h>#include <stdlib.h>#include <stdio.h>#include "afni_environ.h"#include "Amalloc.h"#include "niml.h"#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include <netdb.h>#include <arpa/inet.h>#include <ctype.h>Go to the source code of this file.
Defines | |
| #define | INIT_NUM (sizeof(init_hosts)/sizeof(char *)) |
| #define | HSIZE 32 |
| #define | USE_NIML |
Functions | |
| char * | xxx_name_to_inet (char *host) |
| void | add_TRUST_host (char *hnam) |
| void | init_TRUST_list (void) |
| void | TRUST_addhost (char *hostname) |
| int | TRUST_host (char *hostid) |
Variables | |
| int | host_num = 0 |
| char ** | host_list = NULL |
| char * | init_hosts [] |
Define Documentation
|
|
Definition at line 26 of file thd_trusthost.c. Referenced by add_TRUST_host(), and init_TRUST_list(). |
|
|
Definition at line 25 of file thd_trusthost.c. Referenced by init_TRUST_list(). |
|
|
Definition at line 28 of file thd_trusthost.c. |
Function Documentation
|
|
Definition at line 68 of file thd_trusthost.c. References free, host_list, host_num, HSIZE, malloc, realloc, and xxx_name_to_inet(). Referenced by init_TRUST_list(), and TRUST_addhost().
00069 {
00070 char *hh=NULL ;
00071 int nh,ii ;
00072
00073 if( hnam == NULL || hnam[0] == '\0' ) return ;
00074
00075 /* see if host name is consistent with 012.345.678.901 format */
00076
00077 nh = strlen(hnam) ;
00078 for( ii=0 ; ii < nh ; ii++ )
00079 if( !isdigit(hnam[ii]) && hnam[ii] != '.' ) break ;
00080
00081 if( ii < nh ){ /* not a dotted number */
00082 hh = xxx_name_to_inet( hnam ) ; /* so do a lookup on it */
00083 if( hh == NULL ) return ; /* failed? */
00084
00085 } else if( nh > HSIZE-1 ){ /* something bad? */
00086 return ;
00087 } else {
00088 hh = hnam ; /* store dotted number */
00089 }
00090
00091 host_list = (char **) realloc(host_list,sizeof(char *)*(host_num+1)) ;
00092 host_list[host_num] = (char *) malloc(HSIZE) ;
00093 strcpy( host_list[host_num] , hh ) ; host_num++ ;
00094
00095 if( hh != hnam ) free(hh) ;
00096 return ;
00097 }
|
|
|
Definition at line 103 of file thd_trusthost.c. References add_TRUST_host(), host_list, host_num, HSIZE, init_hosts, INIT_NUM, malloc, and my_getenv(). Referenced by TRUST_addhost(), and TRUST_host().
00104 {
00105 int ii ;
00106 char ename[HSIZE] , *str ;
00107
00108 if( host_num == 0 ){
00109 host_num = INIT_NUM ;
00110 host_list = (char **) malloc( sizeof(char *) * INIT_NUM ) ;
00111 for( ii=0 ; ii < INIT_NUM ; ii++ ){
00112 host_list[ii] = (char *) malloc(HSIZE) ;
00113 strcpy( host_list[ii] , init_hosts[ii] ) ;
00114 }
00115
00116 str = my_getenv("AFNI_TRUSTHOST") ;
00117 if( str != NULL ) add_TRUST_host(str) ;
00118
00119 for( ii=1 ; ii <= 99 ; ii++ ){
00120 sprintf(ename,"AFNI_TRUSTHOST_%d",ii) ; str = my_getenv(ename) ;
00121 if( str == NULL && ii <= 9 ){
00122 sprintf(ename,"AFNI_TRUSTHOST_%02d",ii) ; str = my_getenv(ename) ;
00123 }
00124 if( str != NULL ) add_TRUST_host(str) ;
00125 }
00126 }
00127
00128 return ;
00129 }
|
|
|
Definition at line 135 of file thd_trusthost.c. References add_TRUST_host(), host_num, init_TRUST_list(), and NI_add_trusted_host(). Referenced by ENV_trusthost().
00136 {
00137 if( hostname == NULL || hostname[0] == '\0' ) return ;
00138 if( host_num == 0 ) init_TRUST_list() ;
00139 add_TRUST_host(hostname) ;
00140 #ifdef USE_NIML
00141 NI_add_trusted_host(hostname) ;
00142 #endif
00143 return ;
00144 }
|
|
|
Definition at line 150 of file thd_trusthost.c. References host_list, host_num, and init_TRUST_list(). Referenced by AFNI_plugout_workproc(), MAIN_workprocess(), and RT_check_listen().
00151 {
00152 int ii ;
00153
00154 if( host_num == 0 ) init_TRUST_list() ;
00155
00156 if( hostid == NULL || hostid[0] == '\0' ) return 0 ;
00157
00158 for( ii=0 ; ii < host_num ; ii++ )
00159 if( strstr(hostid,host_list[ii]) == hostid ) return 1 ;
00160
00161 return 0 ;
00162 }
|
|
|
Definition at line 45 of file thd_trusthost.c. References AFMALL.
00046 {
00047 struct hostent *hostp ;
00048 char *iname = NULL , *str ;
00049 int ll ;
00050
00051 if( host == NULL || host[0] == '\0' ) return NULL ;
00052
00053 hostp = gethostbyname(host) ; if( hostp == NULL ) return NULL ;
00054
00055 str = inet_ntoa(*((struct in_addr *)(hostp->h_addr))) ;
00056 if( str == NULL || str[0] == '\0' ) return NULL ;
00057
00058 ll = strlen(str) ; iname = AFMALL(char, ll+1) ; strcpy(iname,str) ;
00059 return iname ;
00060 }
|
Variable Documentation
|
|
Definition at line 17 of file thd_trusthost.c. Referenced by add_TRUST_host(), init_TRUST_list(), and TRUST_host(). |
|
|
Definition at line 16 of file thd_trusthost.c. Referenced by add_TRUST_host(), init_TRUST_list(), TRUST_addhost(), and TRUST_host(). |
|
|
Initial value: {
"141.106.106." ,
"128.231." ,
"127.0.0.1" ,
"192.168."
}Definition at line 19 of file thd_trusthost.c. Referenced by init_TRUST_list(). |