diff options
author | Richard Sharpe <sharpe@samba.org> | 2004-05-08 20:15:52 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 10:51:30 -0500 |
commit | 6a110a5d2bdbdea201dc3165586e6dff5d09ce90 (patch) | |
tree | 071e020fcd4f88ec58df1025bdbc8c9d7a6f9dad /source3/libsmb/clirap.c | |
parent | 959c52b5baf0019e0a18d672c51e3aba0ad06579 (diff) | |
download | samba-6a110a5d2bdbdea201dc3165586e6dff5d09ce90.tar.gz samba-6a110a5d2bdbdea201dc3165586e6dff5d09ce90.tar.xz samba-6a110a5d2bdbdea201dc3165586e6dff5d09ce90.zip |
r588: Some fixes from coolo ...
I think that the ECONNREFUSED should probably be ENOENT.
(This used to be commit faa8cc18df51c4406815b68caba5ed5b8d43ba18)
Diffstat (limited to 'source3/libsmb/clirap.c')
-rw-r--r-- | source3/libsmb/clirap.c | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/source3/libsmb/clirap.c b/source3/libsmb/clirap.c index f8204e05d68..8cc5d8bf901 100644 --- a/source3/libsmb/clirap.c +++ b/source3/libsmb/clirap.c @@ -217,6 +217,8 @@ BOOL cli_NetServerEnum(struct cli_state *cli, char *workgroup, uint32 stype, int uLevel = 1; int count = -1; + errno = 0; /* reset */ + /* send a SMBtrans command with api NetServerEnum */ p = param; SSVAL(p,0,0x68); /* api number */ @@ -269,7 +271,18 @@ BOOL cli_NetServerEnum(struct cli_state *cli, char *workgroup, uint32 stype, SAFE_FREE(rparam); SAFE_FREE(rdata); - + + if (count < 0) { + errno = cli_errno(cli); + } else { + if (!count) { + /* this is a very special case, when the domain master for the + work group isn't part of the work group itself, there is something + wild going on */ + errno = ENOENT; + } + } + return(count > 0); } |