svn commit: samba r19524 - in branches: SAMBA_3_0/source/utils
SAMBA_3_0_23/source/utils SAMBA_3_0_24/source/utils
gd at samba.org
gd at samba.org
Wed Nov 1 10:38:55 GMT 2006
Author: gd
Date: 2006-11-01 10:38:54 +0000 (Wed, 01 Nov 2006)
New Revision: 19524
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=19524
Log:
Stop "net ads user delete" from doing funny things.
Guenther
Modified:
branches/SAMBA_3_0/source/utils/net_ads.c
branches/SAMBA_3_0_23/source/utils/net_ads.c
branches/SAMBA_3_0_24/source/utils/net_ads.c
Changeset:
Modified: branches/SAMBA_3_0/source/utils/net_ads.c
===================================================================
--- branches/SAMBA_3_0/source/utils/net_ads.c 2006-11-01 09:57:56 UTC (rev 19523)
+++ branches/SAMBA_3_0/source/utils/net_ads.c 2006-11-01 10:38:54 UTC (rev 19524)
@@ -574,7 +574,7 @@
{
ADS_STRUCT *ads;
ADS_STATUS rc;
- LDAPMessage *res;
+ LDAPMessage *res = NULL;
char *userdn;
if (argc < 1) {
@@ -586,8 +586,9 @@
}
rc = ads_find_user_acct(ads, &res, argv[0]);
- if (!ADS_ERR_OK(rc)) {
+ if (!ADS_ERR_OK(rc) || ads_count_replies(ads, res) != 1) {
d_printf("User %s does not exist.\n", argv[0]);
+ ads_msgfree(ads, res);
ads_destroy(&ads);
return -1;
}
@@ -595,7 +596,7 @@
ads_msgfree(ads, res);
rc = ads_del_dn(ads, userdn);
ads_memfree(ads, userdn);
- if (!ADS_ERR_OK(rc)) {
+ if (ADS_ERR_OK(rc)) {
d_printf("User %s deleted\n", argv[0]);
ads_destroy(&ads);
return 0;
Modified: branches/SAMBA_3_0_23/source/utils/net_ads.c
===================================================================
--- branches/SAMBA_3_0_23/source/utils/net_ads.c 2006-11-01 09:57:56 UTC (rev 19523)
+++ branches/SAMBA_3_0_23/source/utils/net_ads.c 2006-11-01 10:38:54 UTC (rev 19524)
@@ -537,7 +537,7 @@
{
ADS_STRUCT *ads;
ADS_STATUS rc;
- void *res;
+ void *res = NULL;
char *userdn;
if (argc < 1) {
@@ -549,8 +549,9 @@
}
rc = ads_find_user_acct(ads, &res, argv[0]);
- if (!ADS_ERR_OK(rc)) {
+ if (!ADS_ERR_OK(rc) || ads_count_replies(ads, res) != 1) {
DEBUG(0, ("User %s does not exist\n", argv[0]));
+ ads_msgfree(ads, res);
ads_destroy(&ads);
return -1;
}
@@ -558,7 +559,7 @@
ads_msgfree(ads, res);
rc = ads_del_dn(ads, userdn);
ads_memfree(ads, userdn);
- if (!ADS_ERR_OK(rc)) {
+ if (ADS_ERR_OK(rc)) {
d_printf("User %s deleted\n", argv[0]);
ads_destroy(&ads);
return 0;
Modified: branches/SAMBA_3_0_24/source/utils/net_ads.c
===================================================================
--- branches/SAMBA_3_0_24/source/utils/net_ads.c 2006-11-01 09:57:56 UTC (rev 19523)
+++ branches/SAMBA_3_0_24/source/utils/net_ads.c 2006-11-01 10:38:54 UTC (rev 19524)
@@ -558,7 +558,7 @@
{
ADS_STRUCT *ads;
ADS_STATUS rc;
- void *res;
+ void *res = NULL;
char *userdn;
if (argc < 1) {
@@ -570,8 +570,9 @@
}
rc = ads_find_user_acct(ads, &res, argv[0]);
- if (!ADS_ERR_OK(rc)) {
+ if (!ADS_ERR_OK(rc) || ads_count_replies(ads, res) != 1) {
DEBUG(0, ("User %s does not exist\n", argv[0]));
+ ads_msgfree(ads, res);
ads_destroy(&ads);
return -1;
}
@@ -579,7 +580,7 @@
ads_msgfree(ads, res);
rc = ads_del_dn(ads, userdn);
ads_memfree(ads, userdn);
- if (!ADS_ERR_OK(rc)) {
+ if (ADS_ERR_OK(rc)) {
d_printf("User %s deleted\n", argv[0]);
ads_destroy(&ads);
return 0;
More information about the samba-cvs
mailing list