From 63d9b5d75a435bbbc06aa8d00371a1c61b69acfb Mon Sep 17 00:00:00 2001 From: Michael Adam Date: Mon, 30 Jan 2012 13:56:45 +0100 Subject: s3:net ads join: reduce indentation and improve logging in the dns update code block by doing an early goto done upon error condition --- source3/utils/net_ads.c | 30 +++++++++++++++++------------- 1 file changed, 17 insertions(+), 13 deletions(-) (limited to 'source3') diff --git a/source3/utils/net_ads.c b/source3/utils/net_ads.c index 9c3a0473c2..2a4b2ecec5 100644 --- a/source3/utils/net_ads.c +++ b/source3/utils/net_ads.c @@ -1467,22 +1467,26 @@ int net_ads_join(struct net_context *c, int argc, const char **argv) ADS_STRUCT *ads_dns = NULL; ads_dns = ads_init(lp_realm(), NULL, r->in.dc_name); - if (ads_dns != NULL) { - /* kinit with the machine password */ - use_in_memory_ccache(); - if (asprintf( &ads_dns->auth.user_name, "%s$", lp_netbios_name()) == -1) { - goto fail; - } - ads_dns->auth.password = secrets_fetch_machine_password( - r->out.netbios_domain_name, NULL, NULL ); - ads_dns->auth.realm = SMB_STRDUP( r->out.dns_domain_name ); - strupper_m(ads_dns->auth.realm ); - ads_kinit_password( ads_dns ); + if (ads_dns == NULL) { + d_fprintf(stderr, _("DNS update failed: out of memory!\n")); + goto done; } - if ( !ads_dns || !NT_STATUS_IS_OK(net_update_dns( ctx, ads_dns, NULL)) ) { - d_fprintf( stderr, _("DNS update failed!\n") ); + /* kinit with the machine password */ + + use_in_memory_ccache(); + if (asprintf( &ads_dns->auth.user_name, "%s$", lp_netbios_name()) == -1) { + goto fail; + } + ads_dns->auth.password = secrets_fetch_machine_password( + r->out.netbios_domain_name, NULL, NULL); + ads_dns->auth.realm = SMB_STRDUP(r->out.dns_domain_name); + strupper_m(ads_dns->auth.realm); + ads_kinit_password(ads_dns); + + if (!NT_STATUS_IS_OK(net_update_dns( ctx, ads_dns, NULL))) { + d_fprintf( stderr, _("DNS update failed!\n")); } /* exit from this block using machine creds */ -- cgit