BUG: https://bugzilla.samba.org/show_bug.cgi?id=10803
Signed-off-by: Andreas Schneider <asn@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Pair-Programmed-With: Jeremy Allison <jra@samba.org>
Do a node status query.
****************************************************************************/
Do a node status query.
****************************************************************************/
-static void do_node_status(const char *name,
+static bool do_node_status(const char *name,
int type,
struct sockaddr_storage *pss)
{
int type,
struct sockaddr_storage *pss)
{
extra.mac_addr[4], extra.mac_addr[5]);
d_printf("\n");
TALLOC_FREE(addrs);
extra.mac_addr[4], extra.mac_addr[5]);
d_printf("\n");
TALLOC_FREE(addrs);
} else {
d_printf("No reply from %s\n\n",addr);
} else {
d_printf("No reply from %s\n\n",addr);
was valid - ie. name_query returned true.
*/
if (find_status) {
was valid - ie. name_query returned true.
*/
if (find_status) {
- do_node_status(lookup, lookup_type, &ip_list[j]);
+ if (!do_node_status(lookup, lookup_type, &ip_list[j])) {
+ status = NT_STATUS_UNSUCCESSFUL;
+ }
fstring lookup;
static bool find_master=False;
static bool lookup_by_ip = False;
fstring lookup;
static bool find_master=False;
static bool lookup_by_ip = False;
TALLOC_CTX *frame = talloc_stackframe();
TALLOC_CTX *frame = talloc_stackframe();
struct poptOption long_options[] = {
POPT_AUTOHELP
struct poptOption long_options[] = {
POPT_AUTOHELP
if(!poptPeekArg(pc)) {
poptPrintUsage(pc, stderr, 0);
if(!poptPeekArg(pc)) {
poptPrintUsage(pc, stderr, 0);
}
if (!lp_load_global(get_dyn_CONFIGFILE())) {
}
if (!lp_load_global(get_dyn_CONFIGFILE())) {
load_interfaces();
if (!open_sockets()) {
load_interfaces();
if (!open_sockets()) {
}
while(poptPeekArg(pc)) {
}
while(poptPeekArg(pc)) {
ip = interpret_addr2(lookup);
in_addr_to_sockaddr_storage(&ss, ip);
fstrcpy(lookup,"*");
ip = interpret_addr2(lookup);
in_addr_to_sockaddr_storage(&ss, ip);
fstrcpy(lookup,"*");
- do_node_status(lookup, lookup_type, &ss);
+ if (!do_node_status(lookup, lookup_type, &ss)) {
+ rc = 1;
+ }
}
if (!query_one(lookup, lookup_type)) {
}
if (!query_one(lookup, lookup_type)) {
d_printf( "name_query failed to find name %s", lookup );
if( 0 != lookup_type ) {
d_printf( "#%02x", lookup_type );
d_printf( "name_query failed to find name %s", lookup );
if( 0 != lookup_type ) {
d_printf( "#%02x", lookup_type );
poptFreeContext(pc);
TALLOC_FREE(frame);
poptFreeContext(pc);
TALLOC_FREE(frame);