Minor fixes of Wunused_var, environment copy on subprocess creation
This commit is contained in:
parent
30e860885f
commit
097b39faa7
@ -146,6 +146,7 @@ clean:
|
|||||||
rm -f ./bin/core
|
rm -f ./bin/core
|
||||||
clean-am:
|
clean-am:
|
||||||
rm -f ./Makefile
|
rm -f ./Makefile
|
||||||
|
rm -f ../debian/Makefile
|
||||||
rm -f ./include/config.h
|
rm -f ./include/config.h
|
||||||
rm -f ./config.log
|
rm -f ./config.log
|
||||||
rm -f ./config.status
|
rm -f ./config.status
|
||||||
|
@ -755,6 +755,7 @@ int daemon_pidfile(int cmd)
|
|||||||
pid_t hispid, mypid = getpid();
|
pid_t hispid, mypid = getpid();
|
||||||
FILE *pf;
|
FILE *pf;
|
||||||
struct stat sb;
|
struct stat sb;
|
||||||
|
int res;
|
||||||
|
|
||||||
if( !pidfile )
|
if( !pidfile )
|
||||||
return 0;
|
return 0;
|
||||||
@ -768,7 +769,12 @@ int daemon_pidfile(int cmd)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
fscanf(pf, "%d", &hispid);
|
res = fscanf(pf, "%d", &hispid);
|
||||||
|
if (res != 1) {
|
||||||
|
log("daemon pidfile: not readable");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
fclose(pf);
|
fclose(pf);
|
||||||
|
|
||||||
if( hispid ) {
|
if( hispid ) {
|
||||||
@ -807,7 +813,12 @@ int daemon_pidfile(int cmd)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
fscanf(pf, "%d", &hispid);
|
res = fscanf(pf, "%d", &hispid);
|
||||||
|
if (res != 1) {
|
||||||
|
log("daemon pidfile: not readable");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
fclose(pf);
|
fclose(pf);
|
||||||
|
|
||||||
if( !hispid || (hispid == mypid) ) {
|
if( !hispid || (hispid == mypid) ) {
|
||||||
@ -831,7 +842,12 @@ int daemon_pidfile(int cmd)
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
fscanf(pf, "%d", &hispid);
|
res = fscanf(pf, "%d", &hispid);
|
||||||
|
if (res != 1) {
|
||||||
|
log("daemon pidfile: not readable");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
fclose(pf);
|
fclose(pf);
|
||||||
unlink(pidfile);
|
unlink(pidfile);
|
||||||
|
|
||||||
|
@ -26,6 +26,8 @@ struct {
|
|||||||
{ NULL, 0 }
|
{ NULL, 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
extern char **environ;
|
||||||
|
|
||||||
int exec_file_exist(const char *command)
|
int exec_file_exist(const char *command)
|
||||||
{
|
{
|
||||||
const char *p;
|
const char *p;
|
||||||
@ -73,9 +75,19 @@ int exec_options_parse(char *str)
|
|||||||
|
|
||||||
void exec_options_init(s_exec_options *eopt)
|
void exec_options_init(s_exec_options *eopt)
|
||||||
{
|
{
|
||||||
|
char ** env;
|
||||||
|
int i;
|
||||||
memset(eopt, '\0', sizeof(s_exec_options));
|
memset(eopt, '\0', sizeof(s_exec_options));
|
||||||
eopt->umask = EXEC_DEFAULT_UMASK;
|
eopt->umask = EXEC_DEFAULT_UMASK;
|
||||||
|
env = environ;
|
||||||
eopt->envp[0] = NULL;
|
eopt->envp[0] = NULL;
|
||||||
|
for (i=0; env[i]; i++) {
|
||||||
|
log("EXEC: Added ENV variable: %s\n", env[i]);
|
||||||
|
eopt->envp[i] = xmalloc(strlen(env[i]) + 2);
|
||||||
|
sprintf(eopt->envp[i], env[i]);
|
||||||
|
eopt->envp[i+1] = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void exec_options_deinit(s_exec_options *eopt)
|
void exec_options_deinit(s_exec_options *eopt)
|
||||||
|
@ -311,6 +311,7 @@ int session_set_inbound(void)
|
|||||||
{
|
{
|
||||||
struct stat st;
|
struct stat st;
|
||||||
char *p_inb;
|
char *p_inb;
|
||||||
|
int res;
|
||||||
|
|
||||||
p_inb = conf_string(cf_inbound_directory);
|
p_inb = conf_string(cf_inbound_directory);
|
||||||
if( !p_inb ) {
|
if( !p_inb ) {
|
||||||
@ -342,7 +343,11 @@ int session_set_inbound(void)
|
|||||||
log("inbound: %s", buf);
|
log("inbound: %s", buf);
|
||||||
state.inbound = (char*)xstrcpy(buf);
|
state.inbound = (char*)xstrcpy(buf);
|
||||||
snprintf( buf, PATH_MAX+30, "/bin/mkdir -p -m 700 %s", state.inbound ); /* 30 additional chars allowed */
|
snprintf( buf, PATH_MAX+30, "/bin/mkdir -p -m 700 %s", state.inbound ); /* 30 additional chars allowed */
|
||||||
system( buf );
|
res = system( buf );
|
||||||
|
if (res != 0) {
|
||||||
|
log("Inbound create error: %d", res);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -70,12 +70,14 @@ static char *session_stat_get_stsfile(s_faddr *addr, int linenum)
|
|||||||
|
|
||||||
static int session_stat_read_stsfile(FILE *fp, s_sess_stat *stat)
|
static int session_stat_read_stsfile(FILE *fp, s_sess_stat *stat)
|
||||||
{
|
{
|
||||||
|
int res;
|
||||||
|
|
||||||
if( fseek(fp, 0, SEEK_SET) == -1 )
|
if( fseek(fp, 0, SEEK_SET) == -1 )
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
memset(stat, '\0', sizeof(s_sess_stat));
|
memset(stat, '\0', sizeof(s_sess_stat));
|
||||||
|
|
||||||
fscanf(fp, "%u %u %u %u %u %u %lu %lu %lu %lu",
|
res = fscanf(fp, "%u %u %u %u %u %u %lu %lu %lu %lu",
|
||||||
(unsigned int *) &stat->tries,
|
(unsigned int *) &stat->tries,
|
||||||
(unsigned int *) &stat->tries_noconn,
|
(unsigned int *) &stat->tries_noconn,
|
||||||
(unsigned int *) &stat->tries_noansw,
|
(unsigned int *) &stat->tries_noansw,
|
||||||
@ -86,7 +88,10 @@ static int session_stat_read_stsfile(FILE *fp, s_sess_stat *stat)
|
|||||||
(unsigned long *) &stat->hold_freqs,
|
(unsigned long *) &stat->hold_freqs,
|
||||||
(unsigned long *) &stat->last_success_out,
|
(unsigned long *) &stat->last_success_out,
|
||||||
(unsigned long *) &stat->last_success_in);
|
(unsigned long *) &stat->last_success_in);
|
||||||
|
if (res == 0) {
|
||||||
|
log("Read STS unsuccessfull...");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
/* Set last successfull session time */
|
/* Set last successfull session time */
|
||||||
stat->last_success = MAX(stat->last_success_out, stat->last_success_in);
|
stat->last_success = MAX(stat->last_success_out, stat->last_success_in);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user