mirror of
https://github.com/samba-team/samba.git
synced 2025-01-10 01:18:15 +03:00
r11553: give an error when the lookup failed
metze
(This used to be commit 363c000944
)
This commit is contained in:
parent
0c33769399
commit
57b98a7436
@ -100,7 +100,7 @@ static char *node_status_flags(TALLOC_CTX *mem_ctx, uint16_t flags)
|
||||
}
|
||||
|
||||
/* do a single node status */
|
||||
static void do_node_status(struct nbt_name_socket *nbtsock,
|
||||
static BOOL do_node_status(struct nbt_name_socket *nbtsock,
|
||||
const char *addr)
|
||||
{
|
||||
struct nbt_name_status io;
|
||||
@ -131,7 +131,10 @@ static void do_node_status(struct nbt_name_socket *nbtsock,
|
||||
io.out.status.statistics.unit_id[3],
|
||||
io.out.status.statistics.unit_id[4],
|
||||
io.out.status.statistics.unit_id[5]);
|
||||
return True;
|
||||
}
|
||||
|
||||
return False;
|
||||
}
|
||||
|
||||
/* do a single node query */
|
||||
@ -171,13 +174,14 @@ static NTSTATUS do_node_query(struct nbt_name_socket *nbtsock,
|
||||
}
|
||||
|
||||
|
||||
static void process_one(const char *name)
|
||||
static BOOL process_one(const char *name)
|
||||
{
|
||||
TALLOC_CTX *tmp_ctx = talloc_new(NULL);
|
||||
enum nbt_name_type node_type = NBT_NAME_CLIENT;
|
||||
char *node_name, *p;
|
||||
struct nbt_name_socket *nbtsock;
|
||||
NTSTATUS status = NT_STATUS_OK;
|
||||
BOOL ret = True;
|
||||
|
||||
if (!options.case_sensitive) {
|
||||
name = strupper_talloc(tmp_ctx, name);
|
||||
@ -205,14 +209,15 @@ static void process_one(const char *name)
|
||||
status = socket_listen(nbtsock->sock, "0.0.0.0", NBT_NAME_SERVICE_PORT, 0, 0);
|
||||
if (!NT_STATUS_IS_OK(status)) {
|
||||
printf("Failed to bind to local port 137 - %s\n", nt_errstr(status));
|
||||
return;
|
||||
talloc_free(tmp_ctx);
|
||||
return False;
|
||||
}
|
||||
}
|
||||
|
||||
if (options.lookup_by_ip) {
|
||||
do_node_status(nbtsock, name);
|
||||
ret = do_node_status(nbtsock, name);
|
||||
talloc_free(tmp_ctx);
|
||||
return;
|
||||
return ret;
|
||||
}
|
||||
|
||||
if (options.broadcast_address) {
|
||||
@ -230,16 +235,19 @@ static void process_one(const char *name)
|
||||
|
||||
if (!NT_STATUS_IS_OK(status)) {
|
||||
printf("Lookup failed - %s\n", nt_errstr(status));
|
||||
ret = False;
|
||||
}
|
||||
|
||||
talloc_free(tmp_ctx);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
/*
|
||||
main program
|
||||
*/
|
||||
int main(int argc,char *argv[])
|
||||
{
|
||||
BOOL ret = True;
|
||||
poptContext pc;
|
||||
struct poptOption long_options[] = {
|
||||
POPT_AUTOHELP
|
||||
@ -288,10 +296,14 @@ int main(int argc,char *argv[])
|
||||
while (poptPeekArg(pc)) {
|
||||
const char *name = poptGetArg(pc);
|
||||
|
||||
process_one(name);
|
||||
ret &= process_one(name);
|
||||
}
|
||||
|
||||
poptFreeContext(pc);
|
||||
|
||||
if (!ret) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user