[SCM] Samba Shared Repository - branch v3-2-test updated - release-3-2-0pre2-292-gaf12b24

Michael Adam obnox at samba.org
Tue Mar 18 15:00:27 GMT 2008


The branch, v3-2-test has been updated
       via  af12b24c4f5e3b77d482a011b62a5a3e13be7d67 (commit)
       via  0567f506986746173d67172cb610c10bacf0ceb9 (commit)
       via  a74f07243d80294167766dfc6bcad02a96afc079 (commit)
       via  46a021f27c60dc579c9193606997142f5cbeba9e (commit)
      from  7d7a73944c2dcf078f7bc8de65d575f32f9aa851 (commit)

http://gitweb.samba.org/?p=samba.git;a=shortlog;h=v3-2-test


- Log -----------------------------------------------------------------
commit af12b24c4f5e3b77d482a011b62a5a3e13be7d67
Author: Michael Adam <obnox at samba.org>
Date:   Tue Mar 18 15:50:27 2008 +0100

    testparm: only check for %u und passwd program when passwd program is given.
    
    Michael

commit 0567f506986746173d67172cb610c10bacf0ceb9
Author: Michael Adam <obnox at samba.org>
Date:   Tue Mar 18 15:49:31 2008 +0100

    testparm: correctly check for empty lp_passwd_prog().
    
    Michael

commit a74f07243d80294167766dfc6bcad02a96afc079
Author: Michael Adam <obnox at samba.org>
Date:   Tue Mar 18 15:33:25 2008 +0100

    testparm: fix irritating indentation.
    
    Michael

commit 46a021f27c60dc579c9193606997142f5cbeba9e
Author: Michael Adam <obnox at samba.org>
Date:   Tue Mar 18 15:30:17 2008 +0100

    testparm: fix a segfault triggered by setting "unix password sync = yes".
    
    (introduced by pstring removal 041163551194102ca67fef52c57d87020a1d09bc)
    
    Michael

-----------------------------------------------------------------------

Summary of changes:
 source/utils/testparm.c |   23 ++++++++++++++---------
 1 files changed, 14 insertions(+), 9 deletions(-)


Changeset truncated at 500 lines:

diff --git a/source/utils/testparm.c b/source/utils/testparm.c
index fbfc855..aded4a8 100644
--- a/source/utils/testparm.c
+++ b/source/utils/testparm.c
@@ -109,7 +109,9 @@ to a valid password server.\n", sec_setting );
 		if (!lp_pam_password_change()) {
 #endif
 
-			if(lp_passwd_program() == NULL) {
+			if((lp_passwd_program() == NULL) ||
+			   (strlen(lp_passwd_program()) == 0))
+			{
 				fprintf( stderr, "ERROR: the 'unix password sync' parameter is set and there is no valid 'passwd program' \
 parameter.\n" );
 				ret = 1;
@@ -120,7 +122,6 @@ parameter.\n" );
 
 				passwd_prog = lp_passwd_program();
 				p = passwd_prog;
-				*truncated_prog = '\0';
 				next_token_talloc(talloc_tos(),
 						&p,
 						&truncated_prog, NULL);
@@ -129,8 +130,7 @@ parameter.\n" );
 cannot be executed (error was %s).\n", truncated_prog, strerror(errno) );
 					ret = 1;
 				}
-
-             }
+			}
 
 #ifdef WITH_PAM
 		}
@@ -140,11 +140,16 @@ cannot be executed (error was %s).\n", truncated_prog, strerror(errno) );
 			fprintf(stderr, "ERROR: the 'unix password sync' parameter is set and there is no valid 'passwd chat' \
 parameter.\n");
 			ret = 1;
-		} else 
-		/* check if there's a %u parameter present */
-		if(strstr_m(lp_passwd_program(), "%u") == NULL) {
-			fprintf(stderr, "ERROR: the 'passwd program' (%s) requires a '%%u' parameter.\n", lp_passwd_program());
-			ret = 1;
+		}
+
+		if ((lp_passwd_program() != NULL) &&
+		    (strlen(lp_passwd_program()) > 0))
+		{
+			/* check if there's a %u parameter present */
+			if(strstr_m(lp_passwd_program(), "%u") == NULL) {
+				fprintf(stderr, "ERROR: the 'passwd program' (%s) requires a '%%u' parameter.\n", lp_passwd_program());
+				ret = 1;
+			}
 		}
 
 		/*


-- 
Samba Shared Repository


More information about the samba-cvs mailing list