summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2006-09-26 11:31:14 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 14:20:21 -0500
commitc4ebedc7e19dcbc92061da4662b6c998d2c02bae (patch)
tree386cd0158e5189e1d95ffb381283a7e20fc08485
parenta0c614ede22e629eea267b54d3b1852fe9cc2aad (diff)
downloadsamba-c4ebedc7e19dcbc92061da4662b6c998d2c02bae.tar.gz
samba-c4ebedc7e19dcbc92061da4662b6c998d2c02bae.tar.bz2
samba-c4ebedc7e19dcbc92061da4662b6c998d2c02bae.zip
r18917: having 255 virtual interfaces available in socket wrapper means we
stat() 240 files that don't exist on every broadcast. That's a bit excessive! reduce max virtual interfaces to 16 (This used to be commit 3c4100027c7d3806a2021cb4d70ec6adf9dd2dc6)
-rw-r--r--source4/lib/socket_wrapper/socket_wrapper.c8
-rwxr-xr-xsource4/script/tests/mktestsetup.sh6
-rwxr-xr-xsource4/script/tests/selftest.sh4
3 files changed, 10 insertions, 8 deletions
diff --git a/source4/lib/socket_wrapper/socket_wrapper.c b/source4/lib/socket_wrapper/socket_wrapper.c
index 331e23aa48..6c23cebc81 100644
--- a/source4/lib/socket_wrapper/socket_wrapper.c
+++ b/source4/lib/socket_wrapper/socket_wrapper.c
@@ -89,6 +89,8 @@
#define SOCKET_TYPE_CHAR_TCP 'T'
#define SOCKET_TYPE_CHAR_UDP 'U'
+#define MAX_WRAPPED_INTERFACES 16
+
static struct sockaddr *sockaddr_dup(const void *data, socklen_t len)
{
struct sockaddr *ret = (struct sockaddr *)malloc(len);
@@ -156,7 +158,7 @@ static unsigned int socket_wrapper_default_iface(void)
if (s) {
unsigned int iface;
if (sscanf(s, "%u", &iface) == 1) {
- if (iface >= 1 && iface <= 0xFF) {
+ if (iface >= 1 && iface <= MAX_WRAPPED_INTERFACES) {
return iface;
}
}
@@ -189,7 +191,7 @@ static int convert_un_in(const struct sockaddr_un *un, struct sockaddr_in *in, s
return -1;
}
- if (iface == 0 || iface > 0xFF) {
+ if (iface == 0 || iface > MAX_WRAPPED_INTERFACES) {
errno = EINVAL;
return -1;
}
@@ -804,7 +806,7 @@ _PUBLIC_ ssize_t swrap_sendto(int s, const void *buf, size_t len, int flags, con
type = SOCKET_TYPE_CHAR_UDP;
- for(iface=0; iface <= 0xFF; iface++) {
+ for(iface=0; iface <= MAX_WRAPPED_INTERFACES; iface++) {
snprintf(un_addr.sun_path, sizeof(un_addr.sun_path), "%s/"SOCKET_FORMAT,
socket_wrapper_dir(), type, iface, prt);
if (stat(un_addr.sun_path, &st) != 0) continue;
diff --git a/source4/script/tests/mktestsetup.sh b/source4/script/tests/mktestsetup.sh
index b4090eee7b..b1db8d2494 100755
--- a/source4/script/tests/mktestsetup.sh
+++ b/source4/script/tests/mktestsetup.sh
@@ -396,10 +396,10 @@ export PATH
cat >$PRIVATEDIR/wins_config.ldif<<EOF
-dn: name=TORTURE_26,CN=PARTNERS
+dn: name=TORTURE_6,CN=PARTNERS
objectClass: wreplPartner
-name: TORTURE_26
-address: 127.0.0.26
+name: TORTURE_6
+address: 127.0.0.6
pullInterval: 0
pushChangeCount: 0
type: 0x3
diff --git a/source4/script/tests/selftest.sh b/source4/script/tests/selftest.sh
index d382d5ca9f..9828e62d88 100755
--- a/source4/script/tests/selftest.sh
+++ b/source4/script/tests/selftest.sh
@@ -80,9 +80,9 @@ SOCKET_WRAPPER_DEFAULT_IFACE=1
export SOCKET_WRAPPER_DEFAULT_IFACE
smbd_check_or_start
-SOCKET_WRAPPER_DEFAULT_IFACE=26
+SOCKET_WRAPPER_DEFAULT_IFACE=6
export SOCKET_WRAPPER_DEFAULT_IFACE
-TORTURE_INTERFACES='127.0.0.26/8,127.0.0.27/8,127.0.0.28/8,127.0.0.29/8,127.0.0.30/8,127.0.0.31/8'
+TORTURE_INTERFACES='127.0.0.6/8,127.0.0.7/8,127.0.0.8/8,127.0.0.9/8,127.0.0.10/8,127.0.0.11/8'
TORTURE_OPTIONS="--option=interfaces=$TORTURE_INTERFACES $CONFIGURATION"
# ensure any one smbtorture call doesn't run too long
TORTURE_OPTIONS="$TORTURE_OPTIONS --maximum-runtime=$TORTURE_MAXTIME"