[SCM] Samba Shared Repository - branch master updated
Matthieu Patou
mat at samba.org
Sun Oct 10 06:57:01 MDT 2010
The branch, master has been updated
via 9b94894 socket_wrapper: Make it work on freebsd for udp packets
via 9d958ce build: make make tests SCREEN=1 work on freebsd
from f827fcd s4-libnet_vampire: Remove unused self_corrected_schema
http://gitweb.samba.org/?p=samba.git;a=shortlog;h=master
- Log -----------------------------------------------------------------
commit 9b9489479e9c429cefd58c31be4d39da8ea90057
Author: Stefan Metzmacher <metze at samba.org>
Date: Sun Oct 10 12:29:08 2010 +0200
socket_wrapper: Make it work on freebsd for udp packets
Autobuild-User: Matthieu Patou <mat at samba.org>
Autobuild-Date: Sun Oct 10 12:57:00 UTC 2010 on sn-devel-104
commit 9d958ce582fa760456b52d65a2deb36d8bd3794a
Author: Matthieu Patou <mat at freebsd.home.tridgell.net>
Date: Sun Oct 10 10:12:46 2010 +1100
build: make make tests SCREEN=1 work on freebsd
-----------------------------------------------------------------------
Summary of changes:
lib/socket_wrapper/socket_wrapper.c | 12 +++++++++++-
selftest/in_screen | 17 +++++++++++++++--
selftest/target/Samba4.pm | 7 +++++--
source4/selftest/wscript | 4 ++--
4 files changed, 33 insertions(+), 7 deletions(-)
Changeset truncated at 500 lines:
diff --git a/lib/socket_wrapper/socket_wrapper.c b/lib/socket_wrapper/socket_wrapper.c
index 9d732ee..c52d98c 100644
--- a/lib/socket_wrapper/socket_wrapper.c
+++ b/lib/socket_wrapper/socket_wrapper.c
@@ -1967,7 +1967,17 @@ _PUBLIC_ ssize_t swrap_sendto(int s, const void *buf, size_t len, int flags, con
si->defer_connect = 0;
}
- ret = real_sendto(s, buf, len, flags, (struct sockaddr *)&un_addr, sizeof(un_addr));
+ /* Man page for Linux says:
+ * "the error EISONN may be returned when they are not NULL and 0"
+ * But in practice it's not on x86/amd64, but on other unix it is
+ * (ie. freebsd)
+ * So if we are already connected we send NULL/0
+ */
+ if (si->connected) {
+ ret = real_sendto(s, buf, len, flags, NULL, 0);
+ } else {
+ ret = real_sendto(s, buf, len, flags, (struct sockaddr *)&un_addr, sizeof(un_addr));
+ }
break;
default:
ret = -1;
diff --git a/selftest/in_screen b/selftest/in_screen
index 8a3cc5c..927d831 100755
--- a/selftest/in_screen
+++ b/selftest/in_screen
@@ -1,10 +1,24 @@
-#!/bin/bash
+#!/usr/bin/env bash
export TMPDIR="$SELFTEST_TMPDIR"
SERVERNAME="$ENVNAME"
[ -z "$SERVERNAME" ] && SERVERNAME="base"
basedir=$TMPDIR
+osname=$(uname)
+if [ "$osname" = "Linux" ]; then
+ vars=$(mktemp)
+else
+ vars=$(mktemp -t tmpsmb)
+ function seq() {
+ dpt=$1
+ end=$2
+ while [ $dpt -le $end ]; do
+ echo "$dpt"
+ dpt=$(( $dpt + 1))
+ done
+ }
+fi
[ -r $basedir/$SERVERNAME.pid ] && {
for i in $(seq 2 100); do
@@ -19,7 +33,6 @@ rm -f $basedir/$SERVERNAME.*
# set most of the environment vars we have in the screen session too
_ENV=""
-vars=$(mktemp)
printenv |
egrep -v '^TERMCAP|^WINDOW|^SHELL|^STY|^SHLVL|^SAMBA_VALGRIND|\$' |
egrep '^[A-Z]' |
diff --git a/selftest/target/Samba4.pm b/selftest/target/Samba4.pm
index 36023f2..574c015 100644
--- a/selftest/target/Samba4.pm
+++ b/selftest/target/Samba4.pm
@@ -88,6 +88,7 @@ sub check_or_start($$$)
POSIX::mkfifo($env_vars->{SAMBA_TEST_FIFO}, 0700);
unlink($env_vars->{SAMBA_TEST_LOG});
+ my $pwd = `pwd`;
print "STARTING SAMBA for $ENV{ENVNAME}\n";
my $pid = fork();
if ($pid == 0) {
@@ -138,9 +139,11 @@ sub check_or_start($$$)
if (defined($ENV{SAMBA_PROCESS_MODEL})) {
$model = $ENV{SAMBA_PROCESS_MODEL};
}
- my $ret = system("$valgrind $samba $optarg $env_vars->{CONFIGURATION} -M $model -i");
+ chomp($pwd);
+ my $cmdline = "$valgrind ${pwd}/$samba $optarg $env_vars->{CONFIGURATION} -M $model -i";
+ my $ret = system("$cmdline");
if ($ret == -1) {
- print "Unable to start $samba: $ret: $!\n";
+ print "Unable to start $cmdline: $ret: $!\n";
exit 1;
}
my $exit = ($ret >> 8);
diff --git a/source4/selftest/wscript b/source4/selftest/wscript
index 561baeb..249db5e 100644
--- a/source4/selftest/wscript
+++ b/source4/selftest/wscript
@@ -130,8 +130,8 @@ def cmd_testonly(opt):
server_wrapper = '../selftest/gdb_run _DUMMY=X'
if Options.options.SCREEN:
- server_wrapper = '../selftest/in_screen %s' % server_wrapper
- os.environ['TERMINAL'] = '../selftest/in_screen'
+ server_wrapper = '%s/../selftest/in_screen %s' % (os.getcwd(), server_wrapper)
+ os.environ['TERMINAL'] = '%s/../selftest/in_screen' % os.getcwd()
elif server_wrapper != '':
server_wrapper = 'xterm -n server -l -e %s' % server_wrapper
--
Samba Shared Repository
More information about the samba-cvs
mailing list