Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
varnish-cache
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Commits
Open sidebar
varnishcache
varnish-cache
Commits
4defdfc1
Commit
4defdfc1
authored
Mar 16, 2015
by
Poul-Henning Kamp
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Retire "listen_address" as a parameter you can set from CLI.
parent
b804d84e
Changes
8
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
52 additions
and
98 deletions
+52
-98
params.h
bin/varnishd/common/params.h
+0
-3
mgt.h
bin/varnishd/mgt/mgt.h
+4
-0
mgt_acceptor.c
bin/varnishd/mgt/mgt_acceptor.c
+45
-74
mgt_main.c
bin/varnishd/mgt/mgt_main.c
+1
-8
mgt_param.h
bin/varnishd/mgt/mgt_param.h
+0
-1
mgt_param_tbl.c
bin/varnishd/mgt/mgt_param_tbl.c
+0
-7
c00003.vtc
bin/varnishtest/tests/c00003.vtc
+2
-2
v00010.vtc
bin/varnishtest/tests/v00010.vtc
+0
-3
No files found.
bin/varnishd/common/params.h
View file @
4defdfc1
...
...
@@ -131,9 +131,6 @@ struct params {
unsigned
accept_filter
;
/* Listen address */
char
*
listen_address
;
/* Listen depth */
unsigned
listen_depth
;
...
...
bin/varnishd/mgt/mgt.h
View file @
4defdfc1
...
...
@@ -39,6 +39,10 @@ extern struct vev_base *mgt_evb;
extern
unsigned
d_flag
;
extern
int
exit_status
;
/* mgt_acceptor.c */
void
MAC_Arg
(
const
char
*
);
/* mgt_child.c */
extern
pid_t
child_pid
;
void
MGT_Run
(
void
);
...
...
bin/varnishd/mgt/mgt_acceptor.c
View file @
4defdfc1
...
...
@@ -41,9 +41,7 @@
#include <unistd.h>
#include "mgt/mgt.h"
#include "mgt/mgt_param.h"
#include "common/heritage.h"
#include "common/params.h"
#include "vav.h"
#include "vsa.h"
...
...
@@ -100,94 +98,67 @@ MAC_close_sockets(void)
/*--------------------------------------------------------------------*/
static
void
clean_listen_sock_head
(
struct
listen_sock_head
*
lsh
)
{
struct
listen_sock
*
ls
,
*
ls2
;
VTAILQ_FOREACH_SAFE
(
ls
,
lsh
,
list
,
ls2
)
{
CHECK_OBJ_NOTNULL
(
ls
,
LISTEN_SOCK_MAGIC
);
VTAILQ_REMOVE
(
lsh
,
ls
,
list
);
free
(
ls
->
name
);
free
(
ls
->
addr
);
FREE_OBJ
(
ls
);
}
}
static
struct
listen_sock_head
lsh
;
struct
mac_help
{
unsigned
magic
;
#define MAC_HELP_MAGIC 0x1e00a9d9
const
char
*
name
;
int
good
;
const
char
**
err
;
};
static
int
__match_proto__
(
vss_resolver_f
)
tla
_callback
(
void
*
priv
,
const
struct
suckaddr
*
sa
)
mac
_callback
(
void
*
priv
,
const
struct
suckaddr
*
sa
)
{
struct
mac_help
*
mh
;
struct
listen_sock
*
ls
;
int
sock
;
CAST_OBJ_NOTNULL
(
mh
,
priv
,
MAC_HELP_MAGIC
);
sock
=
VTCP_bind
(
sa
,
NULL
);
if
(
sock
<
0
)
{
*
(
mh
->
err
)
=
strerror
(
errno
);
return
(
0
);
}
ALLOC_OBJ
(
ls
,
LISTEN_SOCK_MAGIC
);
AN
(
ls
);
ls
->
sock
=
-
1
;
if
(
VSA_Port
(
sa
)
==
0
)
ls
->
addr
=
VTCP_my_suckaddr
(
sock
);
else
ls
->
addr
=
VSA_Clone
(
sa
);
AN
(
ls
->
addr
);
AZ
(
close
(
sock
));
ls
->
sock
=
-
1
;
ls
->
name
=
strdup
(
priv
);
AN
(
ls
->
name
);
VTAILQ_INSERT_TAIL
(
&
lsh
,
ls
,
list
);
VTAILQ_INSERT_TAIL
(
&
heritage
.
socks
,
ls
,
list
);
mh
->
good
++
;
return
(
0
);
}
int
tweak_listen_address
(
struct
vsb
*
vsb
,
const
struct
parspec
*
par
,
const
char
*
arg
)
void
MAC_Arg
(
const
char
*
arg
)
{
char
**
av
;
int
i
,
error
;
struct
mac_help
*
mh
;
const
char
*
err
;
struct
listen_sock
*
ls
;
(
void
)
par
;
if
(
arg
==
NULL
)
{
VSB_quote
(
vsb
,
mgt_param
.
listen_address
,
-
1
,
0
);
return
(
0
);
}
int
error
;
av
=
VAV_Parse
(
arg
,
NULL
,
ARGV_COMMA
);
if
(
av
==
NULL
)
{
VSB_printf
(
vsb
,
"Parse error: out of memory"
);
return
(
-
1
);
}
if
(
av
[
0
]
!=
NULL
)
{
VSB_printf
(
vsb
,
"Parse error: %s"
,
av
[
0
]);
VAV_Free
(
av
);
return
(
-
1
);
}
if
(
av
[
1
]
==
NULL
)
{
VSB_printf
(
vsb
,
"Empty listen address"
);
VAV_Free
(
av
);
return
(
-
1
);
}
VTAILQ_INIT
(
&
lsh
);
for
(
i
=
1
;
av
[
i
]
!=
NULL
;
i
++
)
{
error
=
VSS_resolver
(
av
[
i
],
"80"
,
tla_callback
,
av
[
i
],
&
err
);
if
(
err
!=
NULL
)
{
VSB_printf
(
vsb
,
"Invalid listen address "
);
VSB_quote
(
vsb
,
av
[
i
],
-
1
,
0
);
VSB_printf
(
vsb
,
": %s"
,
err
);
VAV_Free
(
av
);
clean_listen_sock_head
(
&
lsh
);
return
(
-
1
);
}
if
(
av
==
NULL
)
ARGV_ERR
(
"Parse error: out of memory
\n
"
);
if
(
av
[
0
]
!=
NULL
)
ARGV_ERR
(
"%s
\n
"
,
av
[
0
]);
if
(
av
[
2
]
!=
NULL
)
ARGV_ERR
(
"XXX: not yet
\n
"
);
ALLOC_OBJ
(
mh
,
MAC_HELP_MAGIC
);
AN
(
mh
);
mh
->
name
=
av
[
1
];
mh
->
err
=
&
err
;
error
=
VSS_resolver
(
av
[
1
],
"80"
,
mac_callback
,
mh
,
&
err
);
if
(
mh
->
good
==
0
||
err
!=
NULL
)
ARGV_ERR
(
"Could not open %s: %s
\n
"
,
av
[
1
],
err
);
AZ
(
error
);
}
VAV_Free
(
av
);
REPLACE
(
mgt_param
.
listen_address
,
arg
);
clean_listen_sock_head
(
&
heritage
.
socks
);
heritage
.
nsocks
=
0
;
while
(
!
VTAILQ_EMPTY
(
&
lsh
))
{
ls
=
VTAILQ_FIRST
(
&
lsh
);
VTAILQ_REMOVE
(
&
lsh
,
ls
,
list
);
CHECK_OBJ_NOTNULL
(
ls
,
LISTEN_SOCK_MAGIC
);
VTAILQ_INSERT_TAIL
(
&
heritage
.
socks
,
ls
,
list
);
heritage
.
nsocks
++
;
}
return
(
0
);
FREE_OBJ
(
mh
);
}
bin/varnishd/mgt/mgt_main.c
View file @
4defdfc1
...
...
@@ -457,8 +457,7 @@ main(int argc, char * const *argv)
switch
(
o
)
{
case
'a'
:
MCF_ParamSet
(
cli
,
"listen_address"
,
optarg
);
cli_check
(
cli
);
MAC_Arg
(
optarg
);
break
;
case
'b'
:
b_arg
=
optarg
;
...
...
@@ -619,12 +618,6 @@ main(int argc, char * const *argv)
ARGV_ERR
(
"Could not open pid/lock (-P) file (%s): %s
\n
"
,
P_arg
,
strerror
(
errno
));
if
(
!
C_flag
)
{
if
(
MAC_open_sockets
())
ARGV_ERR
(
"Failed to open (any) accept sockets.
\n
"
);
MAC_close_sockets
();
}
mgt_vcc_init
();
mgt_vcl_init
();
...
...
bin/varnishd/mgt/mgt_param.h
View file @
4defdfc1
...
...
@@ -56,7 +56,6 @@ tweak_t tweak_bool;
tweak_t
tweak_bytes
;
tweak_t
tweak_bytes_u
;
tweak_t
tweak_double
;
tweak_t
tweak_listen_address
;
tweak_t
tweak_poolparam
;
tweak_t
tweak_string
;
tweak_t
tweak_timeout
;
...
...
bin/varnishd/mgt/mgt_param_tbl.c
View file @
4defdfc1
...
...
@@ -242,13 +242,6 @@ struct parspec mgt_parspec[] = {
MUST_RESTART
,
"on"
,
"bool"
},
#endif
{
"listen_address"
,
tweak_listen_address
,
NULL
,
NULL
,
NULL
,
"Whitespace separated list of network endpoints where "
"Varnish will accept requests.
\n
"
"Possible formats: host, host:port, :port"
,
MUST_RESTART
,
":80"
},
{
"listen_depth"
,
tweak_uint
,
&
mgt_param
.
listen_depth
,
"0"
,
NULL
,
"Listen queue depth."
,
...
...
bin/varnishtest/tests/c00003.vtc
View file @
4defdfc1
...
...
@@ -4,7 +4,7 @@ varnishtest "Check that we fail to start if any listen address does not work"
# and are on Linux, ensure /proc/net/ipv4/ip_nonlocal_bind is set to 0.
# All bad listen addresses
err_shell "
Failed to open (any) accept sockets
" {${varnishd} -F -a "${bad_ip}:0" -b /// -n ${tmpdir} 2>&1 }
err_shell "
Could not open 192.0.2.255:0
" {${varnishd} -F -a "${bad_ip}:0" -b /// -n ${tmpdir} 2>&1 }
# Just one bad listen addresses
# err_shell "Invalid listen address
" {${varnishd} -F -a "127.0.0.1:0,${bad_ip}:0" -b /// -n ${tmpdir} 2>&1 }
err_shell "Error: XXX: not yet
" {${varnishd} -F -a "127.0.0.1:0,${bad_ip}:0" -b /// -n ${tmpdir} 2>&1 }
bin/varnishtest/tests/v00010.vtc
View file @
4defdfc1
...
...
@@ -39,9 +39,6 @@ varnish v1 -arg "-smalloc,1m" -vcl+backend {
varnish v1 -cliok "param.set feature +no_coredump"
# Force the (random) port selected to be used again after restart.
varnish v1 -cliok "param.set listen_address ${v1_addr}:${v1_port}"
client c1 {
txreq -url "/"
rxresp
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment