projects
/
privoxy.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Remove AC_FUNC_SETPGRP as it can cause issues when cross-compiling
[privoxy.git]
/
jcc.c
diff --git
a/jcc.c
b/jcc.c
index
be1840f
..
f8f281f
100644
(file)
--- a/
jcc.c
+++ b/
jcc.c
@@
-1,4
+1,4
@@
-const char jcc_rcs[] = "$Id: jcc.c,v 1.3
46 2011/04/26 16:48:0
4 fabiankeil Exp $";
+const char jcc_rcs[] = "$Id: jcc.c,v 1.3
51 2011/05/03 10:15:5
4 fabiankeil Exp $";
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/jcc.c,v $
/*********************************************************************
*
* File : $Source: /cvsroot/ijbswa/current/jcc.c,v $
@@
-1599,8
+1599,8
@@
static void chat(struct client_state *csp)
csp->action->string[ACTION_STRING_LIMIT_CONNECT];
assert(NULL != acceptable_connect_ports);
log_error(LOG_LEVEL_INFO, "Request from %s marked for blocking. "
csp->action->string[ACTION_STRING_LIMIT_CONNECT];
assert(NULL != acceptable_connect_ports);
log_error(LOG_LEVEL_INFO, "Request from %s marked for blocking. "
- "limit-connect{%s} doesn't allow CONNECT requests to
port %d.
",
- csp->ip_addr_str, acceptable_connect_ports, csp->http->port);
+ "limit-connect{%s} doesn't allow CONNECT requests to
%s
",
+ csp->ip_addr_str, acceptable_connect_ports, csp->http->
host
port);
csp->action->flags |= ACTION_BLOCK;
http->ssl = 0;
}
csp->action->flags |= ACTION_BLOCK;
http->ssl = 0;
}
@@
-2863,7
+2863,6
@@
int main(int argc, char **argv)
#ifdef unix
struct passwd *pw = NULL;
struct group *grp = NULL;
#ifdef unix
struct passwd *pw = NULL;
struct group *grp = NULL;
- char *p;
int do_chroot = 0;
char *pre_chroot_nslookup_to_load_resolver = NULL;
#endif
int do_chroot = 0;
char *pre_chroot_nslookup_to_load_resolver = NULL;
#endif
@@
-2902,7
+2901,7
@@
int main(int argc, char **argv)
pName++;
exit( (install_service(pName)) ? 0 : 1 );
}
pName++;
exit( (install_service(pName)) ? 0 : 1 );
}
- else if (strncmp(argv[argc_pos], "--uninstall",
+
11) == 0)
+ else if (strncmp(argv[argc_pos], "--uninstall", 11) == 0)
{
const char *pName = argv[argc_pos] + 11;
if (*pName == ':')
{
const char *pName = argv[argc_pos] + 11;
if (*pName == ':')
@@
-2948,23
+2947,39
@@
int main(int argc, char **argv)
else if (strcmp(argv[argc_pos], "--user" ) == 0)
{
else if (strcmp(argv[argc_pos], "--user" ) == 0)
{
+ char *user_arg;
+ char *group_name;
+
if (++argc_pos == argc) usage(argv[argc_pos]);
if (++argc_pos == argc) usage(argv[argc_pos]);
- if (NULL != (p = strchr(argv[argc_pos], '.')))
+ user_arg = strdup(argv[argc_pos]);
+ if (NULL == user_arg)
+ {
+ log_error(LOG_LEVEL_FATAL,
+ "Out of memory splitting --user argument '%s'.", argv[argc_pos]);
+ }
+ group_name = strchr(user_arg, '.');
+ if (NULL != group_name)
{
{
- *p++ = '\0';
- if (NULL == (grp = getgrnam(p)))
+ /* Nul-terminate the user name */
+ *group_name = '\0';
+
+ /* Skip the former delimiter to actually reach the group name */
+ group_name++;
+
+ grp = getgrnam(group_name);
+ if (NULL == grp)
{
{
- log_error(LOG_LEVEL_FATAL, "Group '%s' not found.",
p
);
+ log_error(LOG_LEVEL_FATAL, "Group '%s' not found.",
group_name
);
}
}
}
}
-
- if (NULL ==
(pw = getpwnam(argv[argc_pos]))
)
+ pw = getpwnam(user_arg);
+ if (NULL ==
pw
)
{
{
- log_error(LOG_LEVEL_FATAL, "User '%s' not found.",
argv[argc_pos]
);
+ log_error(LOG_LEVEL_FATAL, "User '%s' not found.",
user_arg
);
}
}
-
if (p != NULL) *--p = '\0'
;
+
freez(user_arg)
;
}
else if (strcmp(argv[argc_pos], "--pre-chroot-nslookup" ) == 0)
}
else if (strcmp(argv[argc_pos], "--pre-chroot-nslookup" ) == 0)