summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>1999-07-14 06:56:06 +0000
committerAndrew Tridgell <tridge@samba.org>1999-07-14 06:56:06 +0000
commitd09e7ab999c71460c5d5bba77429305135fade7e (patch)
tree99a0a93de933d71653d2ea9e473f1ea47b1144b2
parent2d2961ba090079add917574c04a5857e5b2211a7 (diff)
downloadsamba-d09e7ab999c71460c5d5bba77429305135fade7e.tar.gz
transfer some more fixes from the 2.0 branch (mostly smbtorture changes)
-rw-r--r--source/utils/nbio.c4
-rw-r--r--source/utils/rpctorture.c2
-rw-r--r--source/utils/smbpasswd.c4
-rw-r--r--source/utils/testparm.c4
-rw-r--r--source/utils/torture.c26
5 files changed, 27 insertions, 13 deletions
diff --git a/source/utils/nbio.c b/source/utils/nbio.c
index 4b369848cdf..71ac959f117 100644
--- a/source/utils/nbio.c
+++ b/source/utils/nbio.c
@@ -37,7 +37,7 @@ static struct {
static struct cli_state *c;
-static int sigsegv(int sig)
+static void sigsegv(int sig)
{
char line[200];
printf("segv at line %d\n", line_count);
@@ -50,6 +50,8 @@ static int sigsegv(int sig)
void nb_setup(struct cli_state *cli)
{
signal(SIGSEGV, sigsegv);
+ /* to be like a true Windows client we need to negotiate oplocks */
+ cli->use_oplocks = True;
c = cli;
}
diff --git a/source/utils/rpctorture.c b/source/utils/rpctorture.c
index 201130f1eba..20d101fa9f8 100644
--- a/source/utils/rpctorture.c
+++ b/source/utils/rpctorture.c
@@ -182,7 +182,7 @@ static void create_procs(int nprocs, int numops,
{
if (fork() == 0)
{
- int mypid = getpid();
+ pid_t mypid = getpid();
sys_srandom(mypid ^ time(NULL));
fn(numops, cli_info, cli);
fflush(out_hnd);
diff --git a/source/utils/smbpasswd.c b/source/utils/smbpasswd.c
index 61cba2a1a18..8daa36bf2fa 100644
--- a/source/utils/smbpasswd.c
+++ b/source/utils/smbpasswd.c
@@ -357,7 +357,7 @@ static int process_root(int argc, char *argv[])
usage();
}
- if (!user_name && (pwd = getpwuid(0))) {
+ if (!user_name && (pwd = sys_getpwuid(0))) {
user_name = xstrdup(pwd->pw_name);
}
@@ -503,7 +503,7 @@ static int process_nonroot(int argc, char *argv[])
}
if (!user_name) {
- pwd = getpwuid(getuid());
+ pwd = sys_getpwuid(getuid());
if (pwd) {
user_name = xstrdup(pwd->pw_name);
} else {
diff --git a/source/utils/testparm.c b/source/utils/testparm.c
index d8b41bc3f06..7baeecd80b3 100644
--- a/source/utils/testparm.c
+++ b/source/utils/testparm.c
@@ -238,8 +238,8 @@ int main(int argc, char *argv[])
}
if (argc >= 3) {
- char *cname;
- char *caddr;
+ char *cname=NULL;
+ char *caddr=NULL;
if (argc == 3) {
cname = argv[optind];
diff --git a/source/utils/torture.c b/source/utils/torture.c
index 9f15aaca4e9..55047dbb4ff 100644
--- a/source/utils/torture.c
+++ b/source/utils/torture.c
@@ -88,13 +88,17 @@ static void *shm_setup(int size)
static BOOL open_connection(struct cli_state *c)
{
struct nmb_name called, calling;
+ struct in_addr ip;
+ extern struct in_addr ipzero;
ZERO_STRUCTP(c);
make_nmb_name(&calling, myname, 0x0, "");
make_nmb_name(&called , host, 0x20, "");
- if (!cli_initialise(c) || !cli_connect(c, host, NULL)) {
+ ip = ipzero;
+
+ if (!cli_initialise(c) || !cli_connect(c, host, &ip)) {
printf("Failed to connect with %s\n", host);
return False;
}
@@ -179,7 +183,7 @@ static BOOL rw_torture(struct cli_state *c)
fstring fname;
int fnum;
int fnum2;
- int pid2, pid = getpid();
+ pid_t pid2, pid = getpid();
int i, j;
char buf[1024];
@@ -299,6 +303,8 @@ static void run_netbench(int client)
line[strlen(line)-1] = 0;
+ /* printf("[%d] %s\n", line_count, line); */
+
all_string_sub(line,"CLIENT1", cname);
for (i=0;i<20;i++) params[i] = "";
@@ -824,7 +830,7 @@ static void run_maxfidtest(void)
fnum = 0;
while (1) {
- slprintf(fname,sizeof(fname)-1,template, fnum,getpid());
+ slprintf(fname,sizeof(fname)-1,template, fnum,(int)getpid());
if (cli_open(&cli, fname,
O_RDWR|O_CREAT|O_TRUNC, DENY_NONE) ==
-1) {
@@ -839,7 +845,7 @@ static void run_maxfidtest(void)
printf("cleaning up\n");
while (fnum > n) {
fnum--;
- slprintf(fname,sizeof(fname)-1,template, fnum,getpid());
+ slprintf(fname,sizeof(fname)-1,template, fnum,(int)getpid());
if (cli_unlink(&cli, fname)) {
printf("unlink of %s failed (%s)\n",
fname, cli_errstr(&cli));
@@ -1113,14 +1119,16 @@ static double create_procs(void (*fn)(int ))
for (i=0;i<nprocs;i++) {
if (fork() == 0) {
- int mypid = getpid();
- sys_srandom(mypid ^ time(NULL));
+ pid_t mypid = getpid();
+ sys_srandom(((int)mypid) ^ ((int)time(NULL)));
+
+ slprintf(myname,sizeof(myname),"CLIENT%d", i);
while (1) {
memset(&current_cli, 0, sizeof(current_cli));
if (open_connection(&current_cli)) break;
if (tries-- == 0) {
- printf("pid %d failed to start\n", getpid());
+ printf("pid %d failed to start\n", (int)getpid());
_exit(1);
}
msleep(10);
@@ -1258,6 +1266,7 @@ static void usage(void)
extern char *optarg;
extern int optind;
extern FILE *dbf;
+ static pstring servicesf = CONFIGFILE;
dbf = stdout;
@@ -1265,6 +1274,9 @@ static void usage(void)
charset_initialise();
+ lp_load(servicesf,True,False,False);
+ load_interfaces();
+
if (argc < 2) {
usage();
}