mirror of
https://gitea.psi.ch/ELOG/elog.git
synced 2026-09-10 18:23:28 +00:00
Implemented 'resolve host names'
SVN revision: 1467
This commit is contained in:
parent
9e2a1468d7
commit
b126b55de2
@ -277,6 +277,14 @@ if used under <i>stunnel</i>, and it has to contain the directory if used under
|
|||||||
<br>
|
<br>
|
||||||
The user and group to run the elogd daemon under when started by root.<p>
|
The user and group to run the elogd daemon under when started by root.<p>
|
||||||
|
|
||||||
|
<LI><b><code>Resolve host names = 0|1</code></b>
|
||||||
|
<br>
|
||||||
|
Resolve remote host names if set to <b>1</b>. If set to <b>0</b>, which is the
|
||||||
|
default, only IP numbers are stored in any log file. If the <b><code>hosts allow/deny</code></b>
|
||||||
|
options are used with host names, this setting must be set to <b>1</b>. If turned
|
||||||
|
on, the DNS server is contacted on each HTTP request to elog, which can slow down
|
||||||
|
the server considerably for slow DNS servers.<p>
|
||||||
|
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
|
|||||||
38
src/elogd.c
38
src/elogd.c
@ -6,6 +6,9 @@
|
|||||||
Contents: Web server program for Electronic Logbook ELOG
|
Contents: Web server program for Electronic Logbook ELOG
|
||||||
|
|
||||||
$Log$
|
$Log$
|
||||||
|
Revision 1.735 2005/08/03 20:30:19 ritt
|
||||||
|
Implemented 'resolve host names'
|
||||||
|
|
||||||
Revision 1.734 2005/08/02 18:39:12 ritt
|
Revision 1.734 2005/08/02 18:39:12 ritt
|
||||||
Remove obsolete options
|
Remove obsolete options
|
||||||
|
|
||||||
@ -3694,7 +3697,8 @@ void free_config()
|
|||||||
xfree(lb_config[i].config_param[j].uparam);
|
xfree(lb_config[i].config_param[j].uparam);
|
||||||
xfree(lb_config[i].config_param[j].value);
|
xfree(lb_config[i].config_param[j].value);
|
||||||
}
|
}
|
||||||
xfree(lb_config[i].config_param);
|
if (lb_config[i].config_param)
|
||||||
|
xfree(lb_config[i].config_param);
|
||||||
xfree(lb_config[i].section_name);
|
xfree(lb_config[i].section_name);
|
||||||
}
|
}
|
||||||
xfree(lb_config);
|
xfree(lb_config);
|
||||||
@ -3745,6 +3749,7 @@ int parse_config_file(char *file_name)
|
|||||||
lb_config = xrealloc(lb_config, sizeof(LB_CONFIG) * (n_lb_config + 1));
|
lb_config = xrealloc(lb_config, sizeof(LB_CONFIG) * (n_lb_config + 1));
|
||||||
lb_config[n_lb_config].section_name = xmalloc(strlen(str) + 1);
|
lb_config[n_lb_config].section_name = xmalloc(strlen(str) + 1);
|
||||||
lb_config[n_lb_config].n_params = 0;
|
lb_config[n_lb_config].n_params = 0;
|
||||||
|
lb_config[n_lb_config].config_param = NULL;
|
||||||
strcpy(lb_config[n_lb_config].section_name, str);
|
strcpy(lb_config[n_lb_config].section_name, str);
|
||||||
|
|
||||||
/* enumerate parameters */
|
/* enumerate parameters */
|
||||||
@ -23619,11 +23624,16 @@ void server_loop(void)
|
|||||||
/* save remote host address */
|
/* save remote host address */
|
||||||
memcpy(&remote_addr[i_conn], &(acc_addr.sin_addr), sizeof(rem_addr));
|
memcpy(&remote_addr[i_conn], &(acc_addr.sin_addr), sizeof(rem_addr));
|
||||||
memcpy(&rem_addr, &(acc_addr.sin_addr), sizeof(rem_addr));
|
memcpy(&rem_addr, &(acc_addr.sin_addr), sizeof(rem_addr));
|
||||||
phe = gethostbyaddr((char *) &rem_addr, 4, PF_INET);
|
|
||||||
if (phe != NULL)
|
if (getcfg("global", "Resolve host names", str, sizeof(str)) && atoi(str) == 1) {
|
||||||
strcpy(remote_host[i_conn], phe->h_name);
|
phe = gethostbyaddr((char *) &rem_addr, 4, PF_INET);
|
||||||
else
|
if (phe != NULL)
|
||||||
|
strcpy(remote_host[i_conn], phe->h_name);
|
||||||
|
else
|
||||||
|
strcpy(remote_host[i_conn], (char *) inet_ntoa(rem_addr));
|
||||||
|
} else
|
||||||
strcpy(remote_host[i_conn], (char *) inet_ntoa(rem_addr));
|
strcpy(remote_host[i_conn], (char *) inet_ntoa(rem_addr));
|
||||||
|
|
||||||
strcpy(rem_host, remote_host[i_conn]);
|
strcpy(rem_host, remote_host[i_conn]);
|
||||||
#ifdef DEBUG_CONN
|
#ifdef DEBUG_CONN
|
||||||
eprintf("## open new connection %d\n", i_conn);
|
eprintf("## open new connection %d\n", i_conn);
|
||||||
@ -23890,12 +23900,18 @@ void server_loop(void)
|
|||||||
#else
|
#else
|
||||||
rem_addr.s_addr = inet_addr(str);
|
rem_addr.s_addr = inet_addr(str);
|
||||||
#endif
|
#endif
|
||||||
phe = gethostbyaddr((char *) &rem_addr, 4, PF_INET);
|
|
||||||
if (phe != NULL) {
|
if (getcfg("global", "Resolve host names", str, sizeof(str)) && atoi(str) == 1) {
|
||||||
strcpy(remote_host[i_conn], phe->h_name);
|
phe = gethostbyaddr((char *) &rem_addr, 4, PF_INET);
|
||||||
strcpy(rem_host, remote_host[i_conn]);
|
if (phe != NULL)
|
||||||
}
|
strcpy(remote_host[i_conn], phe->h_name);
|
||||||
}
|
else
|
||||||
|
strcpy(remote_host[i_conn], (char *) inet_ntoa(rem_addr));
|
||||||
|
} else
|
||||||
|
strcpy(remote_host[i_conn], (char *) inet_ntoa(rem_addr));
|
||||||
|
|
||||||
|
strcpy(rem_host, remote_host[i_conn]);
|
||||||
|
}
|
||||||
|
|
||||||
memset(return_buffer, 0, return_buffer_size);
|
memset(return_buffer, 0, return_buffer_size);
|
||||||
strlen_retbuf = 0;
|
strlen_retbuf = 0;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user