svn commit: samba r14672 - in branches/SAMBA_4_0/source/ntvfs/cifs: .
Author: metze Date: 2006-03-23 11:13:19 + (Thu, 23 Mar 2006) New Revision: 14672 WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=14672 Log: the async_info desctructor needs access to the private struct, so free async info explicit... I hope to find a generic way later, so that the ntvfs modules doesn't need to take care that much... metze Modified: branches/SAMBA_4_0/source/ntvfs/cifs/vfs_cifs.c Changeset: Modified: branches/SAMBA_4_0/source/ntvfs/cifs/vfs_cifs.c === --- branches/SAMBA_4_0/source/ntvfs/cifs/vfs_cifs.c 2006-03-23 00:57:27 UTC (rev 14671) +++ branches/SAMBA_4_0/source/ntvfs/cifs/vfs_cifs.c 2006-03-23 11:13:19 UTC (rev 14672) @@ -184,7 +184,15 @@ static NTSTATUS cvfs_disconnect(struct ntvfs_module_context *ntvfs) { struct cvfs_private *private = ntvfs-private_data; + struct async_info *a, *an; + /* first cleanup pending requests */ + for (a=private-pending; a; a = an) { + an = a-next; + smbcli_request_destroy(a-c_req); + talloc_free(a); + } + talloc_free(private); ntvfs-private_data = NULL; @@ -211,6 +219,7 @@ struct async_info *async = c_req-async.private; struct ntvfs_request *req = async-req; req-async_states-status = smbcli_request_simple_recv(c_req); + talloc_free(async); req-async_states-send_fn(req); } @@ -268,6 +277,7 @@ struct async_info *async = c_req-async.private; struct ntvfs_request *req = async-req; req-async_states-status = smb_raw_ioctl_recv(c_req, req, async-parms); + talloc_free(async); req-async_states-send_fn(req); } @@ -321,6 +331,7 @@ struct async_info *async = c_req-async.private; struct ntvfs_request *req = async-req; req-async_states-status = smb_raw_pathinfo_recv(c_req, req, async-parms); + talloc_free(async); req-async_states-send_fn(req); } @@ -352,6 +363,7 @@ struct async_info *async = c_req-async.private; struct ntvfs_request *req = async-req; req-async_states-status = smb_raw_fileinfo_recv(c_req, req, async-parms); + talloc_free(async); req-async_states-send_fn(req); } @@ -405,6 +417,7 @@ struct async_info *async = c_req-async.private; struct ntvfs_request *req = async-req; req-async_states-status = smb_raw_open_recv(c_req, req, async-parms); + talloc_free(async); req-async_states-send_fn(req); } @@ -509,6 +522,7 @@ struct async_info *async = c_req-async.private; struct ntvfs_request *req = async-req; req-async_states-status = smb_raw_read_recv(c_req, async-parms); + talloc_free(async); req-async_states-send_fn(req); } @@ -545,6 +559,7 @@ struct async_info *async = c_req-async.private; struct ntvfs_request *req = async-req; req-async_states-status = smb_raw_write_recv(c_req, async-parms); + talloc_free(async); req-async_states-send_fn(req); } @@ -581,6 +596,7 @@ struct async_info *async = c_req-async.private; struct ntvfs_request *req = async-req; req-async_states-status = smb_raw_seek_recv(c_req, async-parms); + talloc_free(async); req-async_states-send_fn(req); } @@ -767,6 +783,7 @@ struct async_info *async = c_req-async.private; struct ntvfs_request *req = async-req; req-async_states-status = smb_raw_fsinfo_recv(c_req, req, async-parms); + talloc_free(async); req-async_states-send_fn(req); } @@ -846,6 +863,7 @@ struct async_info *async = c_req-async.private; struct ntvfs_request *req = async-req; req-async_states-status = smb_raw_trans2_recv(c_req, req, async-parms); + talloc_free(async); req-async_states-send_fn(req); } @@ -885,6 +903,7 @@ struct async_info *async = c_req-async.private; struct ntvfs_request *req = async-req; req-async_states-status = smb_raw_changenotify_recv(c_req, req, async-parms); + talloc_free(async); req-async_states-send_fn(req); }
svn commit: samba r14673 - in branches/SAMBA_4_0/source/ldap_server: .
Author: abartlet Date: 2006-03-23 12:00:00 + (Thu, 23 Mar 2006) New Revision: 14673 WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=14673 Log: Don't double-free conn, it is below 'c' free'ed by stream_terminate_connection() Andrew Bartlett Modified: branches/SAMBA_4_0/source/ldap_server/ldap_server.c Changeset: Modified: branches/SAMBA_4_0/source/ldap_server/ldap_server.c === --- branches/SAMBA_4_0/source/ldap_server/ldap_server.c 2006-03-23 11:13:19 UTC (rev 14672) +++ branches/SAMBA_4_0/source/ldap_server/ldap_server.c 2006-03-23 12:00:00 UTC (rev 14673) @@ -424,7 +424,6 @@ = cli_credentials_init(conn); if (!server_credentials) { stream_terminate_connection(c, Failed to init server credentials\n); - talloc_free(conn); return; } @@ -432,7 +431,6 @@ status = cli_credentials_set_machine_account(server_credentials); if (!NT_STATUS_IS_OK(status)) { stream_terminate_connection(c, talloc_asprintf(conn, Failed to obtain server credentials, perhaps a standalone server?: %s\n, nt_errstr(status))); - talloc_free(conn); return; } conn-server_credentials = server_credentials;
svn commit: samba r14674 - branches/SAMBA_3_0/source/nsswitch trunk/source/nsswitch
Author: gd Date: 2006-03-23 12:50:25 + (Thu, 23 Mar 2006) New Revision: 14674 WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=14674 Log: Further cleanup for cached logins, only dump hashes with DEBUG_PASSWORD. Guenther Modified: branches/SAMBA_3_0/source/nsswitch/winbindd_cache.c branches/SAMBA_3_0/source/nsswitch/winbindd_creds.c branches/SAMBA_3_0/source/nsswitch/winbindd_pam.c trunk/source/nsswitch/winbindd_cache.c trunk/source/nsswitch/winbindd_creds.c trunk/source/nsswitch/winbindd_pam.c Changeset: Modified: branches/SAMBA_3_0/source/nsswitch/winbindd_cache.c === --- branches/SAMBA_3_0/source/nsswitch/winbindd_cache.c 2006-03-23 12:00:00 UTC (rev 14673) +++ branches/SAMBA_3_0/source/nsswitch/winbindd_cache.c 2006-03-23 12:50:25 UTC (rev 14674) @@ -841,7 +841,9 @@ t = centry_time(centry); *cached_nt_pass = (const uint8 *)centry_string(centry, mem_ctx); - dump_data(10, (const char *)cached_nt_pass, NT_HASH_LEN); +#if DEBUG_PASSWORD + dump_data(100, (const char *)cached_nt_pass, NT_HASH_LEN); +#endif status = centry-status; DEBUG(10,(wcache_get_creds: [Cached] - cached creds for user %s status %s\n, @@ -865,7 +867,9 @@ return NT_STATUS_INTERNAL_DB_ERROR; } +#if DEBUG_PASSWORD dump_data(100, (const char *)nt_pass, NT_HASH_LEN); +#endif centry_put_time(centry, time(NULL)); centry_put_string(centry, (const char *)nt_pass); Modified: branches/SAMBA_3_0/source/nsswitch/winbindd_creds.c === --- branches/SAMBA_3_0/source/nsswitch/winbindd_creds.c 2006-03-23 12:00:00 UTC (rev 14673) +++ branches/SAMBA_3_0/source/nsswitch/winbindd_creds.c 2006-03-23 12:50:25 UTC (rev 14674) @@ -117,7 +117,9 @@ E_md4hash(pass, nt_pass); +#if DEBUG_PASSWORD dump_data(100, (const char *)nt_pass, NT_HASH_LEN); +#endif status = wcache_save_creds(domain, mem_ctx, cred_sid, nt_pass); if (!NT_STATUS_IS_OK(status)) { Modified: branches/SAMBA_3_0/source/nsswitch/winbindd_pam.c === --- branches/SAMBA_3_0/source/nsswitch/winbindd_pam.c 2006-03-23 12:00:00 UTC (rev 14673) +++ branches/SAMBA_3_0/source/nsswitch/winbindd_pam.c 2006-03-23 12:50:25 UTC (rev 14674) @@ -716,8 +716,10 @@ E_md4hash(state-request.data.auth.pass, new_nt_pass); +#if DEBUG_PASSWORD dump_data(100, (const char *)new_nt_pass, NT_HASH_LEN); dump_data(100, (const char *)cached_nt_pass, NT_HASH_LEN); +#endif if (!memcmp(cached_nt_pass, new_nt_pass, NT_HASH_LEN)) { Modified: trunk/source/nsswitch/winbindd_cache.c === --- trunk/source/nsswitch/winbindd_cache.c 2006-03-23 12:00:00 UTC (rev 14673) +++ trunk/source/nsswitch/winbindd_cache.c 2006-03-23 12:50:25 UTC (rev 14674) @@ -841,7 +841,9 @@ t = centry_time(centry); *cached_nt_pass = (const uint8 *)centry_string(centry, mem_ctx); - dump_data(10, (const char *)cached_nt_pass, NT_HASH_LEN); +#if DEBUG_PASSWORD + dump_data(100, (const char *)cached_nt_pass, NT_HASH_LEN); +#endif status = centry-status; DEBUG(10,(wcache_get_creds: [Cached] - cached creds for user %s status %s\n, @@ -865,7 +867,9 @@ return NT_STATUS_INTERNAL_DB_ERROR; } +#if DEBUG_PASSWORD dump_data(100, (const char *)nt_pass, NT_HASH_LEN); +#endif centry_put_time(centry, time(NULL)); centry_put_string(centry, (const char *)nt_pass); Modified: trunk/source/nsswitch/winbindd_creds.c === --- trunk/source/nsswitch/winbindd_creds.c 2006-03-23 12:00:00 UTC (rev 14673) +++ trunk/source/nsswitch/winbindd_creds.c 2006-03-23 12:50:25 UTC (rev 14674) @@ -117,7 +117,9 @@ E_md4hash(pass, nt_pass); +#if DEBUG_PASSWORD dump_data(100, (const char *)nt_pass, NT_HASH_LEN); +#endif status = wcache_save_creds(domain, mem_ctx, cred_sid, nt_pass); if (!NT_STATUS_IS_OK(status)) { Modified: trunk/source/nsswitch/winbindd_pam.c === --- trunk/source/nsswitch/winbindd_pam.c2006-03-23 12:00:00 UTC (rev 14673) +++ trunk/source/nsswitch/winbindd_pam.c2006-03-23 12:50:25 UTC (rev 14674) @@ -716,8 +716,10 @@ E_md4hash(state-request.data.auth.pass, new_nt_pass); +#if DEBUG_PASSWORD dump_data(100, (const char *)new_nt_pass, NT_HASH_LEN); dump_data(100, (const char *)cached_nt_pass, NT_HASH_LEN); +#endif if (!memcmp(cached_nt_pass, new_nt_pass, NT_HASH_LEN)) {
svn commit: samba r14675 - branches/SAMBA_3_0/source/nsswitch trunk/source/nsswitch
Author: gd Date: 2006-03-23 13:22:54 + (Thu, 23 Mar 2006) New Revision: 14675 WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=14675 Log: Protect against null sids and rids in the cached credentials functions. Guenther Modified: branches/SAMBA_3_0/source/nsswitch/winbindd_cache.c trunk/source/nsswitch/winbindd_cache.c Changeset: Modified: branches/SAMBA_3_0/source/nsswitch/winbindd_cache.c === --- branches/SAMBA_3_0/source/nsswitch/winbindd_cache.c 2006-03-23 12:50:25 UTC (rev 14674) +++ branches/SAMBA_3_0/source/nsswitch/winbindd_cache.c 2006-03-23 13:22:54 UTC (rev 14675) @@ -800,11 +800,20 @@ struct winbind_cache *cache = get_cache(domain); TDB_DATA data; fstring key_str; + uint32 rid; if (!cache-tdb) { return NT_STATUS_INTERNAL_DB_ERROR; } + if (is_null_sid(sid)) { + return NT_STATUS_INVALID_SID; + } + + if (!(sid_peek_rid(sid, rid)) || (rid == 0)) { + return NT_STATUS_INVALID_SID; + } + fstr_sprintf(key_str, CRED/%s, sid_string_static(sid)); data = tdb_fetch(cache-tdb, make_tdb_data(key_str, strlen(key_str))); @@ -825,11 +834,20 @@ struct cache_entry *centry = NULL; NTSTATUS status; time_t t; + uint32 rid; if (!cache-tdb) { return NT_STATUS_INTERNAL_DB_ERROR; } + if (is_null_sid(sid)) { + return NT_STATUS_INVALID_SID; + } + + if (!(sid_peek_rid(sid, rid)) || (rid == 0)) { + return NT_STATUS_INVALID_SID; + } + centry = wcache_fetch(cache, domain, CRED/%s, sid_string_static(sid)); if (!centry) { @@ -860,9 +878,17 @@ { struct cache_entry *centry; fstring sid_string; - NTSTATUS status = NT_STATUS_OK; /* ??? */ + uint32 rid; - centry = centry_start(domain, status); + if (is_null_sid(sid)) { + return NT_STATUS_INVALID_SID; + } + + if (!(sid_peek_rid(sid, rid)) || (rid == 0)) { + return NT_STATUS_INVALID_SID; + } + + centry = centry_start(domain, NT_STATUS_OK); if (!centry) { return NT_STATUS_INTERNAL_DB_ERROR; } Modified: trunk/source/nsswitch/winbindd_cache.c === --- trunk/source/nsswitch/winbindd_cache.c 2006-03-23 12:50:25 UTC (rev 14674) +++ trunk/source/nsswitch/winbindd_cache.c 2006-03-23 13:22:54 UTC (rev 14675) @@ -800,11 +800,20 @@ struct winbind_cache *cache = get_cache(domain); TDB_DATA data; fstring key_str; + uint32 rid; if (!cache-tdb) { return NT_STATUS_INTERNAL_DB_ERROR; } + if (is_null_sid(sid)) { + return NT_STATUS_INVALID_SID; + } + + if (!(sid_peek_rid(sid, rid)) || (rid == 0)) { + return NT_STATUS_INVALID_SID; + } + fstr_sprintf(key_str, CRED/%s, sid_string_static(sid)); data = tdb_fetch(cache-tdb, make_tdb_data(key_str, strlen(key_str))); @@ -825,11 +834,20 @@ struct cache_entry *centry = NULL; NTSTATUS status; time_t t; + uint32 rid; if (!cache-tdb) { return NT_STATUS_INTERNAL_DB_ERROR; } + if (is_null_sid(sid)) { + return NT_STATUS_INVALID_SID; + } + + if (!(sid_peek_rid(sid, rid)) || (rid == 0)) { + return NT_STATUS_INVALID_SID; + } + centry = wcache_fetch(cache, domain, CRED/%s, sid_string_static(sid)); if (!centry) { @@ -860,9 +878,17 @@ { struct cache_entry *centry; fstring sid_string; - NTSTATUS status = NT_STATUS_OK; /* ??? */ + uint32 rid; - centry = centry_start(domain, status); + if (is_null_sid(sid)) { + return NT_STATUS_INVALID_SID; + } + + if (!(sid_peek_rid(sid, rid)) || (rid == 0)) { + return NT_STATUS_INVALID_SID; + } + + centry = centry_start(domain, NT_STATUS_OK); if (!centry) { return NT_STATUS_INTERNAL_DB_ERROR; }
svn commit: samba r14676 - in branches/SAMBA_3_0/source: .
Author: metze Date: 2006-03-23 14:53:10 + (Thu, 23 Mar 2006) New Revision: 14676 WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=14676 Log: add make valgrindtest and remove old 'make check' and old 'make test' metze Modified: branches/SAMBA_3_0/source/Makefile.in Changeset: Modified: branches/SAMBA_3_0/source/Makefile.in === --- branches/SAMBA_3_0/source/Makefile.in 2006-03-23 13:22:54 UTC (rev 14675) +++ branches/SAMBA_3_0/source/Makefile.in 2006-03-23 14:53:10 UTC (rev 14676) @@ -844,22 +844,6 @@ rm -f $(srcdir)/include/includes.h.gch $(CC) -I. -I$(srcdir) $(FLAGS) @PIE_CFLAGS@ -c $(srcdir)/include/includes.h -o $(srcdir)/include/includes.h.gch -## -## Targets for 'make test' -## -test: all torture bin/timelimit - @echo Running Test suite - @sh ./script/tests/selftest.sh ${selftest_prefix}/st all ${smbtorture4_path} - -# Check for PAM module problems. Specifically, check that every module we -# built can actually be loaded by a minimal PAM-aware application. -test_pam_modules: pam_modules - @echo Testing $(PAM_MODULES) - @for module in $(PAM_MODULES); do \ - ./script/tests/dlopen.sh -lpam -ldl bin/[EMAIL PROTECTED]@ \ - || exit 1; \ - done - # These dependencies are only approximately correct: we want to make # sure Samba's paths are updated if ./configure is re-run. Really it # would be nice if make prefix=/opt/samba all also rebuilt things, @@ -1725,28 +1709,25 @@ ## # Samba Testing Framework -# FIXME: LD_LIBRARY_PATH is not portable, but in the absence of -# libtool I don't know a better way to do it. Perhaps we should fix -# libbigballofmud to link statically? +# Check for PAM module problems. Specifically, check that every module we +# built can actually be loaded by a minimal PAM-aware application. +test_pam_modules: pam_modules + @echo Testing $(PAM_MODULES) + @for module in $(PAM_MODULES); do \ + ./script/tests/dlopen.sh -lpam -ldl bin/[EMAIL PROTECTED]@ \ + || exit 1; \ + done + ## -## not working...to be replaced by 'make test' --jerry +## Targets for 'make test' ## -#check: check-programs -# LD_LIBRARY_PATH=`pwd`/bin:$$LD_LIBRARY_PATH \ -# PATH=`pwd`/bin:$$PATH \ -# python stf/standardcheck.py; \ -# if test -n $(PYTHON); then \ -# python stf/pythoncheck.py; \ -# fi +test: all torture bin/timelimit + @echo Running Test suite + @sh ./script/tests/selftest.sh ${selftest_prefix}/st all ${smbtorture4_path} -# These are called by the test suite and need to be built before -# running it. For the time being we don't build all of BIN_PROGS, -# because they're not all needed. -# check-programs: bin/t_strcmp bin/t_strstr bin/t_push_ucs2 bin/smbcontrol bin/t_snprintf bin/t_asn1 - -#test: all -# @if test -z $(SMB4TORTURE); then \ -# echo Please set the SMB4TORTURE environment variable; \ -# exit 1; \ -# fi -# ./script/smb4torture.sh `pwd`/prefix-test $(SMB4TORTURE) +valgrindtest: all torture bin/timelimit + @echo Running Test suite with valgrind + @NMBD_VALGRIND=xterm -n smbd -e valgrind -q --db-attach=yes --num-callers=30 \ +SMBD_VALGRIND=xterm -n smbd -e valgrind -q --db-attach=yes --num-callers=30 \ +VALGRIND=valgrind -q --num-callers=30 --log-file=${selftest_prefix}/st/valgrind.log \ +./script/tests/selftest.sh ${selftest_prefix}/st all ${smbtorture4_path}
svn commit: samba r14677 - in trunk/source: .
Author: metze Date: 2006-03-23 14:53:33 + (Thu, 23 Mar 2006) New Revision: 14677 WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=14677 Log: add make valgrindtest and remove old 'make check' and old 'make test' metze Modified: trunk/source/Makefile.in Changeset: Modified: trunk/source/Makefile.in === --- trunk/source/Makefile.in2006-03-23 14:53:10 UTC (rev 14676) +++ trunk/source/Makefile.in2006-03-23 14:53:33 UTC (rev 14677) @@ -860,22 +860,6 @@ rm -f $(srcdir)/include/includes.h.gch $(CC) -I. -I$(srcdir) $(FLAGS) @PIE_CFLAGS@ -c $(srcdir)/include/includes.h -o $(srcdir)/include/includes.h.gch -## -## Targets for 'make test' -## -test: all torture bin/timelimit - @echo Running Test suite - @sh ./script/tests/selftest.sh ${selftest_prefix}/st all ${smbtorture4_path} - -# Check for PAM module problems. Specifically, check that every module we -# built can actually be loaded by a minimal PAM-aware application. -test_pam_modules: pam_modules - @echo Testing $(PAM_MODULES) - @for module in $(PAM_MODULES); do \ - ./script/tests/dlopen.sh -lpam -ldl bin/[EMAIL PROTECTED]@ \ - || exit 1; \ - done - # These dependencies are only approximately correct: we want to make # sure Samba's paths are updated if ./configure is re-run. Really it # would be nice if make prefix=/opt/samba all also rebuilt things, @@ -1761,28 +1745,25 @@ ## # Samba Testing Framework -# FIXME: LD_LIBRARY_PATH is not portable, but in the absence of -# libtool I don't know a better way to do it. Perhaps we should fix -# libbigballofmud to link statically? +# Check for PAM module problems. Specifically, check that every module we +# built can actually be loaded by a minimal PAM-aware application. +test_pam_modules: pam_modules + @echo Testing $(PAM_MODULES) + @for module in $(PAM_MODULES); do \ + ./script/tests/dlopen.sh -lpam -ldl bin/[EMAIL PROTECTED]@ \ + || exit 1; \ + done + ## -## not working...to be replaced by 'make test' --jerry +## Targets for 'make test' ## -#check: check-programs -# LD_LIBRARY_PATH=`pwd`/bin:$$LD_LIBRARY_PATH \ -# PATH=`pwd`/bin:$$PATH \ -# python stf/standardcheck.py; \ -# if test -n $(PYTHON); then \ -# python stf/pythoncheck.py; \ -# fi +test: all torture bin/timelimit + @echo Running Test suite + @sh ./script/tests/selftest.sh ${selftest_prefix}/st all ${smbtorture4_path} -# These are called by the test suite and need to be built before -# running it. For the time being we don't build all of BIN_PROGS, -# because they're not all needed. -# check-programs: bin/t_strcmp bin/t_strstr bin/t_push_ucs2 bin/smbcontrol bin/t_snprintf bin/t_asn1 - -#test: all -# @if test -z $(SMB4TORTURE); then \ -# echo Please set the SMB4TORTURE environment variable; \ -# exit 1; \ -# fi -# ./script/smb4torture.sh `pwd`/prefix-test $(SMB4TORTURE) +valgrindtest: all torture bin/timelimit + @echo Running Test suite with valgrind + @NMBD_VALGRIND=xterm -n smbd -e valgrind -q --db-attach=yes --num-callers=30 \ +SMBD_VALGRIND=xterm -n smbd -e valgrind -q --db-attach=yes --num-callers=30 \ +VALGRIND=valgrind -q --num-callers=30 --log-file=${selftest_prefix}/st/valgrind.log \ +./script/tests/selftest.sh ${selftest_prefix}/st all ${smbtorture4_path}
svn commit: samba r14678 - in branches/SAMBA_3_0/source/script/tests: .
Author: metze Date: 2006-03-23 14:55:38 + (Thu, 23 Mar 2006) New Revision: 14678 WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=14678 Log: - we need to use 127.0.0.2/8 as interface for the server as nmbd skip interfaces with address 127.0.0.1 - add samba3 smbclient -L tests - add samba3 smbtorture tests metze Added: branches/SAMBA_3_0/source/script/tests/test_smbclient_s3.sh branches/SAMBA_3_0/source/script/tests/test_smbtorture_s3.sh Modified: branches/SAMBA_3_0/source/script/tests/selftest.sh branches/SAMBA_3_0/source/script/tests/test_functions.sh branches/SAMBA_3_0/source/script/tests/test_posix_s3.sh branches/SAMBA_3_0/source/script/tests/tests_all.sh Changeset: Modified: branches/SAMBA_3_0/source/script/tests/selftest.sh === --- branches/SAMBA_3_0/source/script/tests/selftest.sh 2006-03-23 14:53:33 UTC (rev 14677) +++ branches/SAMBA_3_0/source/script/tests/selftest.sh 2006-03-23 14:55:38 UTC (rev 14678) @@ -26,7 +26,8 @@ ## setup the various environment variables we need ## -SERVER=localhost +SERVER=localhost2 +SERVER_IP=127.0.0.2 USERNAME=`whoami` PASSWORD=test @@ -35,7 +36,8 @@ SHRDIR=$PREFIX_ABS/tmp LIBDIR=$PREFIX_ABS/lib PIDDIR=$PREFIX_ABS/pid -CONFFILE=$LIBDIR/smb.conf +CONFFILE=$LIBDIR/client.conf +SERVERCONFFILE=$LIBDIR/server.conf COMMONCONFFILE=$LIBDIR/common.conf PRIVATEDIR=$PREFIX_ABS/private LOCKDIR=$PREFIX_ABS/lockdir @@ -44,10 +46,11 @@ CONFIGURATION=-s $CONFFILE export PREFIX_ABS CONFIGURATION CONFFILE PATH SOCKET_WRAPPER_DIR DOMAIN -export PRIVATEDIR LIBDIR PIDDIR LOCKDIR LOGDIR +export PRIVATEDIR LIBDIR PIDDIR LOCKDIR LOGDIR SERVERCONFFILE export SRCDIR SCRIPTDIR export USERNAME PASSWORD export SMBTORTURE4 +export SERVER SERVER_IP PATH=bin:$PATH export PATH @@ -78,7 +81,6 @@ ## cat $COMMONCONFFILEEOF - netbios name = LOCALHOST workgroup = SAMBA-TEST private dir = $PRIVATEDIR @@ -91,16 +93,23 @@ name resolve order = bcast - interfaces = 127.0.0.1/8 - bind interfaces only = yes - panic action = $SCRIPTDIR/gdb_backtrace %d EOF cat $CONFFILEEOF [global] + netbios name = TORTURE26 + interfaces = 127.0.0.26/8 include = $COMMONCONFFILE +EOF +cat $SERVERCONFFILEEOF +[global] + netbios name = $SERVER + interfaces = $SERVER_IP/8 + bind interfaces only = yes + include = $COMMONCONFFILE + [tmp] path = $PREFIX_ABS/tmp read only = no @@ -133,7 +142,7 @@ . $SCRIPTDIR/test_functions.sh -SOCKET_WRAPPER_DEFAULT_IFACE=1 +SOCKET_WRAPPER_DEFAULT_IFACE=2 export SOCKET_WRAPPER_DEFAULT_IFACE samba3_check_or_start @@ -156,12 +165,18 @@ START=`date` ( # give time for nbt server to register its names - echo delaying for nbt name registration + echo delaying for nbt name registration sleep 4 # This will return quickly when things are up, but be slow if we need to wait for (eg) SSL init - bin/nmblookup $CONFIGURATION -U $SERVER $SERVER - bin/nmblookup $CONFIGURATION -U $SERVER $SERVER - bin/nmblookup $CONFIGURATION -U $SERVER $SERVER + bin/nmblookup $CONFIGURATION -U $SERVER_IP __SAMBA__ + bin/nmblookup $CONFIGURATION __SAMBA__ + bin/nmblookup $CONFIGURATION -U 127.255.255.255 __SAMBA__ + bin/nmblookup $CONFIGURATION -U $SERVER_IP $SERVER + bin/nmblookup $CONFIGURATION $SERVER + # make sure smbd is also up set + echo wait for smbd + bin/smbclient $CONFIGURATION -L $SERVER_IP -N -p 139 | head -2 + bin/smbclient $CONFIGURATION -L $SERVER_IP -N -p 139 | head -2 failed=0 Modified: branches/SAMBA_3_0/source/script/tests/test_functions.sh === --- branches/SAMBA_3_0/source/script/tests/test_functions.sh2006-03-23 14:53:33 UTC (rev 14677) +++ branches/SAMBA_3_0/source/script/tests/test_functions.sh2006-03-23 14:55:38 UTC (rev 14678) @@ -43,7 +43,7 @@ if [ -z $NMBD_MAXTIME ]; then NMBD_MAXTIME=2700 fi - timelimit $NMBD_MAXTIME $SMBD_VALGRIND $SRCDIR/bin/nmbd -F -S --no-process-group -d1 -s $CONFFILE $NMBD_TEST_LOG 21 + timelimit $NMBD_MAXTIME $NMBD_VALGRIND $SRCDIR/bin/nmbd -F -S --no-process-group -d0 -s $SERVERCONFFILE $NMBD_TEST_LOG 21 TIMELIMIT_NMBD_PID=$! echo $TIMELIMIT_NMBD_PID $PIDDIR/timelimit.nmbd.pid wait $TIMELIMIT_NMBD_PID @@ -65,14 +65,14 @@ exit $ret; ) || exit $? ) 2/dev/null || exit $? echo DONE - + rm -f $SMBD_TEST_LOG echo -n STARTING SMBD... (( if [ -z $SMBD_MAXTIME ]; then SMBD_MAXTIME=2700 fi - timelimit $SMBD_MAXTIME
svn commit: samba r14679 - in trunk/source/script/tests: .
Author: metze Date: 2006-03-23 14:55:59 + (Thu, 23 Mar 2006) New Revision: 14679 WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=14679 Log: - we need to use 127.0.0.2/8 as interface for the server as nmbd skip interfaces with address 127.0.0.1 - add samba3 smbclient -L tests - add samba3 smbtorture tests metze Added: trunk/source/script/tests/test_smbclient_s3.sh trunk/source/script/tests/test_smbtorture_s3.sh Modified: trunk/source/script/tests/selftest.sh trunk/source/script/tests/test_functions.sh trunk/source/script/tests/test_posix_s3.sh trunk/source/script/tests/tests_all.sh Changeset: Modified: trunk/source/script/tests/selftest.sh === --- trunk/source/script/tests/selftest.sh 2006-03-23 14:55:38 UTC (rev 14678) +++ trunk/source/script/tests/selftest.sh 2006-03-23 14:55:59 UTC (rev 14679) @@ -26,7 +26,8 @@ ## setup the various environment variables we need ## -SERVER=localhost +SERVER=localhost2 +SERVER_IP=127.0.0.2 USERNAME=`whoami` PASSWORD=test @@ -35,7 +36,8 @@ SHRDIR=$PREFIX_ABS/tmp LIBDIR=$PREFIX_ABS/lib PIDDIR=$PREFIX_ABS/pid -CONFFILE=$LIBDIR/smb.conf +CONFFILE=$LIBDIR/client.conf +SERVERCONFFILE=$LIBDIR/server.conf COMMONCONFFILE=$LIBDIR/common.conf PRIVATEDIR=$PREFIX_ABS/private LOCKDIR=$PREFIX_ABS/lockdir @@ -44,10 +46,11 @@ CONFIGURATION=-s $CONFFILE export PREFIX_ABS CONFIGURATION CONFFILE PATH SOCKET_WRAPPER_DIR DOMAIN -export PRIVATEDIR LIBDIR PIDDIR LOCKDIR LOGDIR +export PRIVATEDIR LIBDIR PIDDIR LOCKDIR LOGDIR SERVERCONFFILE export SRCDIR SCRIPTDIR export USERNAME PASSWORD export SMBTORTURE4 +export SERVER SERVER_IP PATH=bin:$PATH export PATH @@ -78,7 +81,6 @@ ## cat $COMMONCONFFILEEOF - netbios name = LOCALHOST workgroup = SAMBA-TEST private dir = $PRIVATEDIR @@ -91,16 +93,23 @@ name resolve order = bcast - interfaces = 127.0.0.1/8 - bind interfaces only = yes - panic action = $SCRIPTDIR/gdb_backtrace %d EOF cat $CONFFILEEOF [global] + netbios name = TORTURE26 + interfaces = 127.0.0.26/8 include = $COMMONCONFFILE +EOF +cat $SERVERCONFFILEEOF +[global] + netbios name = $SERVER + interfaces = $SERVER_IP/8 + bind interfaces only = yes + include = $COMMONCONFFILE + [tmp] path = $PREFIX_ABS/tmp read only = no @@ -133,7 +142,7 @@ . $SCRIPTDIR/test_functions.sh -SOCKET_WRAPPER_DEFAULT_IFACE=1 +SOCKET_WRAPPER_DEFAULT_IFACE=2 export SOCKET_WRAPPER_DEFAULT_IFACE samba3_check_or_start @@ -156,12 +165,18 @@ START=`date` ( # give time for nbt server to register its names - echo delaying for nbt name registration + echo delaying for nbt name registration sleep 4 # This will return quickly when things are up, but be slow if we need to wait for (eg) SSL init - bin/nmblookup $CONFIGURATION -U $SERVER $SERVER - bin/nmblookup $CONFIGURATION -U $SERVER $SERVER - bin/nmblookup $CONFIGURATION -U $SERVER $SERVER + bin/nmblookup $CONFIGURATION -U $SERVER_IP __SAMBA__ + bin/nmblookup $CONFIGURATION __SAMBA__ + bin/nmblookup $CONFIGURATION -U 127.255.255.255 __SAMBA__ + bin/nmblookup $CONFIGURATION -U $SERVER_IP $SERVER + bin/nmblookup $CONFIGURATION $SERVER + # make sure smbd is also up set + echo wait for smbd + bin/smbclient $CONFIGURATION -L $SERVER_IP -N -p 139 | head -2 + bin/smbclient $CONFIGURATION -L $SERVER_IP -N -p 139 | head -2 failed=0 Modified: trunk/source/script/tests/test_functions.sh === --- trunk/source/script/tests/test_functions.sh 2006-03-23 14:55:38 UTC (rev 14678) +++ trunk/source/script/tests/test_functions.sh 2006-03-23 14:55:59 UTC (rev 14679) @@ -43,7 +43,7 @@ if [ -z $NMBD_MAXTIME ]; then NMBD_MAXTIME=2700 fi - timelimit $NMBD_MAXTIME $SMBD_VALGRIND $SRCDIR/bin/nmbd -F -S --no-process-group -d1 -s $CONFFILE $NMBD_TEST_LOG 21 + timelimit $NMBD_MAXTIME $NMBD_VALGRIND $SRCDIR/bin/nmbd -F -S --no-process-group -d0 -s $SERVERCONFFILE $NMBD_TEST_LOG 21 TIMELIMIT_NMBD_PID=$! echo $TIMELIMIT_NMBD_PID $PIDDIR/timelimit.nmbd.pid wait $TIMELIMIT_NMBD_PID @@ -65,14 +65,14 @@ exit $ret; ) || exit $? ) 2/dev/null || exit $? echo DONE - + rm -f $SMBD_TEST_LOG echo -n STARTING SMBD... (( if [ -z $SMBD_MAXTIME ]; then SMBD_MAXTIME=2700 fi - timelimit $SMBD_MAXTIME $SMBD_VALGRIND $SRCDIR/bin/smbd -F -S --no-process-group -d1 -s $CONFFILE $SMBD_TEST_LOG 21 + timelimit $SMBD_MAXTIME $SMBD_VALGRIND
svn commit: samba r14680 - in branches/SAMBA_4_0/source/torture/raw: .
Author: metze Date: 2006-03-23 15:03:52 + (Thu, 23 Mar 2006) New Revision: 14680 WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=14680 Log: add some tests which demonstrate that closing the dir handle triggers an empty notify reply with NT_STATUS_OK metze Modified: branches/SAMBA_4_0/source/torture/raw/notify.c Changeset: Modified: branches/SAMBA_4_0/source/torture/raw/notify.c === --- branches/SAMBA_4_0/source/torture/raw/notify.c 2006-03-23 14:55:59 UTC (rev 14679) +++ branches/SAMBA_4_0/source/torture/raw/notify.c 2006-03-23 15:03:52 UTC (rev 14680) @@ -61,6 +61,7 @@ NTSTATUS status; struct smb_notify notify; union smb_open io; + union smb_close cl; int i, count, fnum, fnum2; struct smbcli_request *req, *req2; extern int torture_numops; @@ -229,6 +230,21 @@ CHECK_VAL(notify.out.changes[i].action, NOTIFY_ACTION_REMOVED); } + printf(testing if a close() on the dir handle triggers the notify reply\n); + + notify.in.file.fnum = fnum; + req = smb_raw_changenotify_send(cli-tree, notify); + + cl.close.level = RAW_CLOSE_CLOSE; + cl.close.in.file.fnum = fnum; + cl.close.in.write_time = 0; + status = smb_raw_close(cli-tree, cl); + CHECK_STATUS(status, NT_STATUS_OK); + + status = smb_raw_changenotify_recv(req, mem_ctx, notify); + CHECK_STATUS(status, NT_STATUS_OK); + CHECK_VAL(notify.out.num_changes, 0); + done: smb_raw_exit(cli-session); return ret; @@ -293,6 +309,186 @@ return ret; } +/* + basic testing of change notifies followed by a tdis +*/ +static BOOL test_notify_tdis(TALLOC_CTX *mem_ctx) +{ + BOOL ret = True; + NTSTATUS status; + struct smb_notify notify; + union smb_open io; + int fnum; + struct smbcli_request *req; + struct smbcli_state *cli = NULL; + + printf(TESTING CHANGE NOTIFY FOLLOWED BY TDIS\n); + + if (!torture_open_connection(cli)) { + return False; + } + + /* + get a handle on the directory + */ + io.generic.level = RAW_OPEN_NTCREATEX; + io.ntcreatex.in.root_fid = 0; + io.ntcreatex.in.flags = 0; + io.ntcreatex.in.access_mask = SEC_FILE_ALL; + io.ntcreatex.in.create_options = NTCREATEX_OPTIONS_DIRECTORY; + io.ntcreatex.in.file_attr = FILE_ATTRIBUTE_NORMAL; + io.ntcreatex.in.share_access = NTCREATEX_SHARE_ACCESS_READ | NTCREATEX_SHARE_ACCESS_WRITE; + io.ntcreatex.in.alloc_size = 0; + io.ntcreatex.in.open_disposition = NTCREATEX_DISP_OPEN; + io.ntcreatex.in.impersonation = NTCREATEX_IMPERSONATION_ANONYMOUS; + io.ntcreatex.in.security_flags = 0; + io.ntcreatex.in.fname = BASEDIR; + + status = smb_raw_open(cli-tree, mem_ctx, io); + CHECK_STATUS(status, NT_STATUS_OK); + fnum = io.ntcreatex.out.file.fnum; + + /* ask for a change notify, + on file or directory name changes */ + notify.in.buffer_size = 1000; + notify.in.completion_filter = FILE_NOTIFY_CHANGE_NAME; + notify.in.file.fnum = fnum; + notify.in.recursive = True; + + req = smb_raw_changenotify_send(cli-tree, notify); + + status = smbcli_tdis(cli); + CHECK_STATUS(status, NT_STATUS_OK); + + status = smb_raw_changenotify_recv(req, mem_ctx, notify); + CHECK_STATUS(status, NT_STATUS_OK); + CHECK_VAL(notify.out.num_changes, 0); + +done: + torture_close_connection(cli); + return ret; +} + +/* + basic testing of change notifies followed by a exit +*/ +static BOOL test_notify_exit(TALLOC_CTX *mem_ctx) +{ + BOOL ret = True; + NTSTATUS status; + struct smb_notify notify; + union smb_open io; + int fnum; + struct smbcli_request *req; + struct smbcli_state *cli = NULL; + + printf(TESTING CHANGE NOTIFY FOLLOWED BY EXIT\n); + + if (!torture_open_connection(cli)) { + return False; + } + + /* + get a handle on the directory + */ + io.generic.level = RAW_OPEN_NTCREATEX; + io.ntcreatex.in.root_fid = 0; + io.ntcreatex.in.flags = 0; + io.ntcreatex.in.access_mask = SEC_FILE_ALL; + io.ntcreatex.in.create_options = NTCREATEX_OPTIONS_DIRECTORY; + io.ntcreatex.in.file_attr = FILE_ATTRIBUTE_NORMAL; + io.ntcreatex.in.share_access = NTCREATEX_SHARE_ACCESS_READ | NTCREATEX_SHARE_ACCESS_WRITE; + io.ntcreatex.in.alloc_size = 0; + io.ntcreatex.in.open_disposition = NTCREATEX_DISP_OPEN; + io.ntcreatex.in.impersonation = NTCREATEX_IMPERSONATION_ANONYMOUS; + io.ntcreatex.in.security_flags = 0; + io.ntcreatex.in.fname = BASEDIR; + + status = smb_raw_open(cli-tree, mem_ctx, io); + CHECK_STATUS(status, NT_STATUS_OK); + fnum =
svn commit: samba r14681 - branches/SAMBA_3_0/source/utils trunk/source/utils
Author: jmcd Date: 2006-03-23 16:39:37 + (Thu, 23 Mar 2006) New Revision: 14681 WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=14681 Log: Get rid of hardcoded /tmp/add.ldif and /tmp/mod.ldif files. Is there a different directory the temp files should be in, or is /tmp ok? Still have to get rid of the output file hardcoding, but that is to come, because I need to cleanup stdout. Modified: branches/SAMBA_3_0/source/utils/net_rpc_samsync.c trunk/source/utils/net_rpc_samsync.c Changeset: Modified: branches/SAMBA_3_0/source/utils/net_rpc_samsync.c === --- branches/SAMBA_3_0/source/utils/net_rpc_samsync.c 2006-03-23 15:03:52 UTC (rev 14680) +++ branches/SAMBA_3_0/source/utils/net_rpc_samsync.c 2006-03-23 16:39:37 UTC (rev 14681) @@ -1719,7 +1719,9 @@ { char *suffix; const char *builtin_sid = S-1-5-32; - char *ldif_file; + char *ldif_file, *add_ldif, *mod_ldif; + const char *add_template = /tmp/add.ldif.XX; + const char *mod_template = /tmp/mod.ldif.XX; fstring sid, domainname; uint32 sync_context = 0; NTSTATUS ret = NT_STATUS_OK, result; @@ -1728,7 +1730,6 @@ SAM_DELTA_HDR *hdr_deltas; SAM_DELTA_CTR *deltas; uint32 num_deltas; - const char *add_ldif = /tmp/add.ldif, *mod_ldif = /tmp/mod.ldif; FILE *add_fd = NULL, *mod_fd = NULL, *ldif_fd = NULL; char sys_cmd[1024]; int num_alloced = 0, g_index = 0, a_index = 0, sys_cmd_result; @@ -1751,18 +1752,20 @@ else ldif_file = talloc_strdup(mem_ctx, /tmp/tmp.ldif); - if (ldif_file == NULL) { + add_ldif = talloc_strdup(mem_ctx, add_template); + mod_ldif = talloc_strdup(mem_ctx, mod_template); + if (!ldif_file || !add_ldif || !mod_ldif) { ret = NT_STATUS_NO_MEMORY; goto done; } /* Open the add and mod ldif files */ - if (!(add_fd = fopen(add_ldif, a))) { + if (!(add_fd = fdopen(smb_mkstemp(add_ldif),w))) { DEBUG(1, (Could not open %s\n, add_ldif)); ret = NT_STATUS_UNSUCCESSFUL; goto done; } - if (!(mod_fd = fopen(mod_ldif, a))) { + if (!(mod_fd = fdopen(smb_mkstemp(mod_ldif),w))) { DEBUG(1, (Could not open %s\n, mod_ldif)); ret = NT_STATUS_UNSUCCESSFUL; goto done; @@ -1993,20 +1996,22 @@ goto done; } - /* Delete the temporary ldif files */ - if (unlink(add_ldif)) - d_fprintf(stderr, unlink(%s) failed, error was (%s)\n, - add_ldif, strerror(errno)); - if (unlink(mod_ldif)) - d_fprintf(stderr, unlink(%s) failed, error was (%s)\n, - mod_ldif, strerror(errno)); - done: - /* Close the ldif files */ + /* Close and delete the ldif files */ if (add_fd) fclose(add_fd); + if (strcmp(add_ldif, add_template) (unlink(add_ldif))) { + DEBUG(1,(unlink(%s) failed, error was (%s)\n, +add_ldif, strerror(errno))); + } + if (mod_fd) fclose(mod_fd); + if (strcmp(mod_ldif, mod_template) (unlink(mod_ldif))) { + DEBUG(1,(unlink(%s) failed, error was (%s)\n, +mod_ldif, strerror(errno))); + } + if (ldif_fd) fclose(ldif_fd); Modified: trunk/source/utils/net_rpc_samsync.c === --- trunk/source/utils/net_rpc_samsync.c2006-03-23 15:03:52 UTC (rev 14680) +++ trunk/source/utils/net_rpc_samsync.c2006-03-23 16:39:37 UTC (rev 14681) @@ -1719,7 +1719,9 @@ { char *suffix; const char *builtin_sid = S-1-5-32; - char *ldif_file; + char *ldif_file, *add_ldif, *mod_ldif; + const char *add_template = /tmp/add.ldif.XX; + const char *mod_template = /tmp/mod.ldif.XX; fstring sid, domainname; uint32 sync_context = 0; NTSTATUS ret = NT_STATUS_OK, result; @@ -1728,7 +1730,6 @@ SAM_DELTA_HDR *hdr_deltas; SAM_DELTA_CTR *deltas; uint32 num_deltas; - const char *add_ldif = /tmp/add.ldif, *mod_ldif = /tmp/mod.ldif; FILE *add_fd = NULL, *mod_fd = NULL, *ldif_fd = NULL; char sys_cmd[1024]; int num_alloced = 0, g_index = 0, a_index = 0, sys_cmd_result; @@ -1751,18 +1752,20 @@ else ldif_file = talloc_strdup(mem_ctx, /tmp/tmp.ldif); - if (ldif_file == NULL) { + add_ldif = talloc_strdup(mem_ctx, add_template); + mod_ldif = talloc_strdup(mem_ctx, mod_template); + if (!ldif_file || !add_ldif || !mod_ldif) { ret = NT_STATUS_NO_MEMORY; goto done; }
svn commit: samba r14682 - branches/SAMBA_3_0/source/libads trunk/source/libads
Author: gd Date: 2006-03-23 17:32:21 + (Thu, 23 Mar 2006) New Revision: 14682 WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=14682 Log: Small cleanup in ads_verify_ticket. Guenther Modified: branches/SAMBA_3_0/source/libads/kerberos_verify.c trunk/source/libads/kerberos_verify.c Changeset: Modified: branches/SAMBA_3_0/source/libads/kerberos_verify.c === --- branches/SAMBA_3_0/source/libads/kerberos_verify.c 2006-03-23 16:39:37 UTC (rev 14681) +++ branches/SAMBA_3_0/source/libads/kerberos_verify.c 2006-03-23 17:32:21 UTC (rev 14682) @@ -399,10 +399,10 @@ DEBUG(3,(ads_verify_ticket: krb5_rd_req with auth failed (%s)\n, error_message(ret))); goto out; - } else { - authtime = get_authtime_from_tkt(tkt); - client_principal = get_principal_from_tkt(tkt); - } + } + + authtime = get_authtime_from_tkt(tkt); + client_principal = get_principal_from_tkt(tkt); ret = krb5_mk_rep(context, auth_context, packet); if (ret) { @@ -459,8 +459,7 @@ #endif #endif - if ((ret = krb5_unparse_name(context, get_principal_from_tkt(tkt), -principal))) { + if ((ret = krb5_unparse_name(context, client_principal, principal))) { DEBUG(3,(ads_verify_ticket: krb5_unparse_name failed (%s)\n, error_message(ret))); sret = NT_STATUS_LOGON_FAILURE; Modified: trunk/source/libads/kerberos_verify.c === --- trunk/source/libads/kerberos_verify.c 2006-03-23 16:39:37 UTC (rev 14681) +++ trunk/source/libads/kerberos_verify.c 2006-03-23 17:32:21 UTC (rev 14682) @@ -399,10 +399,10 @@ DEBUG(3,(ads_verify_ticket: krb5_rd_req with auth failed (%s)\n, error_message(ret))); goto out; - } else { - authtime = get_authtime_from_tkt(tkt); - client_principal = get_principal_from_tkt(tkt); - } + } + + authtime = get_authtime_from_tkt(tkt); + client_principal = get_principal_from_tkt(tkt); ret = krb5_mk_rep(context, auth_context, packet); if (ret) { @@ -459,8 +459,7 @@ #endif #endif - if ((ret = krb5_unparse_name(context, get_principal_from_tkt(tkt), -principal))) { + if ((ret = krb5_unparse_name(context, client_principal, principal))) { DEBUG(3,(ads_verify_ticket: krb5_unparse_name failed (%s)\n, error_message(ret))); sret = NT_STATUS_LOGON_FAILURE;
svn commit: samba r14683 - branches/SAMBA_3_0/source/utils trunk/source/utils
Author: jmcd Date: 2006-03-23 18:35:15 + (Thu, 23 Mar 2006) New Revision: 14683 WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=14683 Log: Get rid of hardcoded output file. With no arg, print to stdout, otherwise append to output file specified. Modified: branches/SAMBA_3_0/source/utils/net_rpc_samsync.c trunk/source/utils/net_rpc_samsync.c Changeset: Sorry, the patch is too large (501 lines) to include; please use WebSVN to see it! WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=14683
svn commit: samba r14684 - in branches/SAMBA_3_0/examples/pdb: .
Author: jelmer Date: 2006-03-23 20:19:05 + (Thu, 23 Mar 2006) New Revision: 14684 WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=14684 Log: Remove obsolete file (belonged to pdb_xml) Removed: branches/SAMBA_3_0/examples/pdb/sambapdb.dtd Changeset: Deleted: branches/SAMBA_3_0/examples/pdb/sambapdb.dtd === --- branches/SAMBA_3_0/examples/pdb/sambapdb.dtd2006-03-23 18:35:15 UTC (rev 14683) +++ branches/SAMBA_3_0/examples/pdb/sambapdb.dtd2006-03-23 20:19:05 UTC (rev 14684) @@ -1,46 +0,0 @@ -!ELEMENT samba:crypt (#PCDATA)* -!ATTLIST samba:crypt type CDATA #REQUIRED - -!ELEMENT samba:password (samba:crypt*) -!ATTLIST samba:password last_set CDATA #IMPLIED -must_change CDATA #IMPLIED -can_change CDATA #IMPLIED - -!ELEMENT samba:group (#PCDATA)* -!ATTLIST samba:group sid CDATA #REQUIRED - gid CDATA #IMPLIED - -!ELEMENT samba:domain (#PCDATA)* -!ELEMENT samba:fullname (#PCDATA)* -!ELEMENT samba:nt_username (#PCDATA)* -!ELEMENT samba:logon_script (#PCDATA)* -!ELEMENT samba:profile_path (#PCDATA)* -!ELEMENT samba:logon_time (#PCDATA)* -!ELEMENT samba:logoff_time (#PCDATA)* -!ELEMENT samba:kickoff_time (#PCDATA)* -!ELEMENT samba:logon_divs (#PCDATA)* -!ELEMENT samba:hours_len (#PCDATA)* -!ELEMENT samba:unknown_3 (#PCDATA)* -!ELEMENT samba:unknown_5 (#PCDATA)* -!ELEMENT samba:unknown_6 (#PCDATA)* -!ELEMENT samba:homedir (#PCDATA)* -!ELEMENT samba:unknown_str (#PCDATA)* -!ELEMENT samba:dir_drive (#PCDATA)* -!ELEMENT samba:munged_dial (#PCDATA)* -!ELEMENT samba:acct_desc (#PCDATA)* -!ELEMENT samba:acct_ctrl (#PCDATA)* -!ELEMENT samba:workstations (#PCDATA)* - -!ELEMENT samba:user ( samba:group?, samba:domain?, samba:nt_username?, samba:fullname?, samba:homedir?, samba:dir_drive?, samba:logon_script?, samba:profile_path?, samba:password?, samba:acct_ctrl?,samba:unknown_3?, samba:logon_divs?, samba:hours_len?, samba:logon_time?, samba:logoff_time?, samba:kickoff_time?, samba:unknown_5?, samba:unknown_6?, samba:unknown_str?, samba:munged_dial?, samba:acct_desc?, samba:workstations? ) - -!ATTLIST samba:user sid CDATA #REQUIRED - uid CDATA #IMPLIED - name CDATA #REQUIRED - -!ELEMENT samba:users (samba:user*) - -!ELEMENT samba (samba:users?) - -!ATTLIST samba - xmlns CDATA #FIXED 'http://samba.org/~jelmer/sambapdb.dtd' -
svn commit: samba r14685 - in trunk/examples/pdb: .
Author: jelmer Date: 2006-03-23 20:19:25 + (Thu, 23 Mar 2006) New Revision: 14685 WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=14685 Log: Remove obsolete file (belonged to pdb_xml) Removed: trunk/examples/pdb/sambapdb.dtd Changeset: Deleted: trunk/examples/pdb/sambapdb.dtd === --- trunk/examples/pdb/sambapdb.dtd 2006-03-23 20:19:05 UTC (rev 14684) +++ trunk/examples/pdb/sambapdb.dtd 2006-03-23 20:19:25 UTC (rev 14685) @@ -1,46 +0,0 @@ -!ELEMENT samba:crypt (#PCDATA)* -!ATTLIST samba:crypt type CDATA #REQUIRED - -!ELEMENT samba:password (samba:crypt*) -!ATTLIST samba:password last_set CDATA #IMPLIED -must_change CDATA #IMPLIED -can_change CDATA #IMPLIED - -!ELEMENT samba:group (#PCDATA)* -!ATTLIST samba:group sid CDATA #REQUIRED - gid CDATA #IMPLIED - -!ELEMENT samba:domain (#PCDATA)* -!ELEMENT samba:fullname (#PCDATA)* -!ELEMENT samba:nt_username (#PCDATA)* -!ELEMENT samba:logon_script (#PCDATA)* -!ELEMENT samba:profile_path (#PCDATA)* -!ELEMENT samba:logon_time (#PCDATA)* -!ELEMENT samba:logoff_time (#PCDATA)* -!ELEMENT samba:kickoff_time (#PCDATA)* -!ELEMENT samba:logon_divs (#PCDATA)* -!ELEMENT samba:hours_len (#PCDATA)* -!ELEMENT samba:unknown_3 (#PCDATA)* -!ELEMENT samba:unknown_5 (#PCDATA)* -!ELEMENT samba:unknown_6 (#PCDATA)* -!ELEMENT samba:homedir (#PCDATA)* -!ELEMENT samba:unknown_str (#PCDATA)* -!ELEMENT samba:dir_drive (#PCDATA)* -!ELEMENT samba:munged_dial (#PCDATA)* -!ELEMENT samba:acct_desc (#PCDATA)* -!ELEMENT samba:acct_ctrl (#PCDATA)* -!ELEMENT samba:workstations (#PCDATA)* - -!ELEMENT samba:user ( samba:group?, samba:domain?, samba:nt_username?, samba:fullname?, samba:homedir?, samba:dir_drive?, samba:logon_script?, samba:profile_path?, samba:password?, samba:acct_ctrl?,samba:unknown_3?, samba:logon_divs?, samba:hours_len?, samba:logon_time?, samba:logoff_time?, samba:kickoff_time?, samba:unknown_5?, samba:unknown_6?, samba:unknown_str?, samba:munged_dial?, samba:acct_desc?, samba:workstations? ) - -!ATTLIST samba:user sid CDATA #REQUIRED - uid CDATA #IMPLIED - name CDATA #REQUIRED - -!ELEMENT samba:users (samba:user*) - -!ELEMENT samba (samba:users?) - -!ATTLIST samba - xmlns CDATA #FIXED 'http://samba.org/~jelmer/sambapdb.dtd' -
svn commit: samba r14686 - in branches/SAMBA_4_0/source/pidl: lib/Parse/Pidl tests
Author: jelmer Date: 2006-03-23 21:47:16 + (Thu, 23 Mar 2006) New Revision: 14686 WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=14686 Log: Fix pidl testsuite to run whenever there is a shared libary built Samba present. Ignore tests that are known to fail for now. Modified: branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/NDR.pm branches/SAMBA_4_0/source/pidl/tests/Util.pm branches/SAMBA_4_0/source/pidl/tests/ndr_align.pl branches/SAMBA_4_0/source/pidl/tests/ndr_refptr.pl Changeset: Modified: branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/NDR.pm === --- branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/NDR.pm2006-03-23 20:19:25 UTC (rev 14685) +++ branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/NDR.pm2006-03-23 21:47:16 UTC (rev 14686) @@ -317,8 +317,10 @@ if ($e-{POINTERS}) { $a = 4; - } elsif (has_property($e, subcontext)){ + } elsif (has_property($e, subcontext)) { $a = 1; + } elsif (has_property($e, represent_as)) { + $a = align_type($e-{PROPERTIES}-{represent_as}); } else { $a = align_type($e-{TYPE}); } @@ -793,6 +795,8 @@ case = [ELEMENT], default = [ELEMENT], + represent_as = [ELEMENT], + # subcontext subcontext= [ELEMENT], subcontext_size = [ELEMENT], Modified: branches/SAMBA_4_0/source/pidl/tests/Util.pm === --- branches/SAMBA_4_0/source/pidl/tests/Util.pm2006-03-23 20:19:25 UTC (rev 14685) +++ branches/SAMBA_4_0/source/pidl/tests/Util.pm2006-03-23 21:47:16 UTC (rev 14686) @@ -15,10 +15,7 @@ use Parse::Pidl::NDR; use Parse::Pidl::Samba4::NDR::Parser; use Parse::Pidl::Samba4::Header; -use Parse::Pidl::Samba4 qw(is_intree); -my $sanecc = 0; - # Generate a Samba4 parser for an IDL fragment and run it with a specified # piece of code to check whether the parser works as expected sub test_samba4_ndr($$$) @@ -37,14 +34,9 @@ SKIP: { - my $link = is_intree() 0; # FIXME - skip no samba environment available, skipping compilation, 3 - if not is_intree(); + if (system(pkg-config --exists dcerpc ndr) != 0); - skip no sane C compiler, skipping compilation, 3 - if not $sanecc; - my $test_data_prefix = $ENV{TEST_DATA_PREFIX}; my $outfile; @@ -54,15 +46,15 @@ $outfile = test-$name; } - #my $cflags = $ENV{CFLAGS}; - my $cflags = -Iinclude -Ilib -I.; + my $cflags = `pkg-config --libs --cflags dcerpc ndr`; - if (is_intree() and $link) { - open CC, |cc -x c -o $outfile $cflags -; - } elsif (is_intree()) { - open CC, |cc -x c -c -o $outfile $cflags -; - } - print CC #include \includes.h\\n; + open CC, |cc -x c - -o $outfile $cflags; + print CC #define uint_t unsigned int\n; + print CC #define _GNU_SOURCE\n; + print CC #include stdint.h\n; + print CC #include stdlib.h\n; + print CC #include stdio.h\n; + print CC #include stdarg.h\n; print CC $header; print CC $ndrheader; print CC $ndrparser; @@ -79,23 +71,14 @@ ok(-f $outfile, ($name) compile); - unless ($link) { - skip no shared libraries of Samba available yet, can't run test, 2; - unlink($outfile); - } + my $ret = system(./$outfile, ()) 8; + print # return code: $ret\n if ($ret != 0); - ok(system($outfile), ($name) run); + ok($ret == 0, ($name) run); ok(unlink($outfile), ($name) remove); } } -my $outfile = test; # FIXME: Somewhat more unique name - -# Test whether CC is sane. The real 'fix' here would be using the -# Samba build system, but unfortunately, we have no way of hooking into that -# yet so we're running CC directly for now -$sanecc = 1 if system('echo main() {}'. | cc -I. -x c -c - -o $outfile) == 0; - 1; Modified: branches/SAMBA_4_0/source/pidl/tests/ndr_align.pl === --- branches/SAMBA_4_0/source/pidl/tests/ndr_align.pl 2006-03-23 20:19:25 UTC (rev 14685) +++ branches/SAMBA_4_0/source/pidl/tests/ndr_align.pl 2006-03-23 21:47:16 UTC (rev 14686) @@ -113,6 +113,10 @@ return 2; '); +SKIP: { + +skip align-blob-align2 is known to fail, 8; + test_samba4_ndr('align-blob-align2', ' typedef [public] struct { @@ -137,6 +141,9 @@ result_blob = ndr_push_blob(ndr); + printf(%02x%02x%02x%02x\n, result_blob.data[0], result_blob.data[1], result_blob.data[2], result_blob.data[3]); +
Build status as of Fri Mar 24 00:00:02 2006
URL: http://build.samba.org/ --- /home/build/master/cache/broken_results.txt.old 2006-03-23 00:00:03.0 + +++ /home/build/master/cache/broken_results.txt 2006-03-24 00:00:27.0 + @@ -1,17 +1,17 @@ -Build status as of Thu Mar 23 00:00:02 2006 +Build status as of Fri Mar 24 00:00:02 2006 Build counts: Tree Total Broken Panic ccache 7 1 0 -distcc 9 2 0 +distcc 8 2 0 lorikeet-heimdal 31 31 0 ppp 16 0 0 rsync34 2 0 samba2 0 0 samba-docs 0 0 0 samba4 36 26 0 -samba_3_036 8 0 -smb-build27 0 0 +samba_3_036 7 0 +smb-build21 0 0 talloc 32 18 0 tdb 32 3 0
svn commit: samba r14687 - in branches/SAMBA_4_0/source/pidl: . lib/Parse/Pidl lib/Parse/Pidl/Samba4/NDR tests
Author: jelmer Date: 2006-03-24 01:03:02 + (Fri, 24 Mar 2006) New Revision: 14687 WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=revroot=sambarev=14687 Log: Start working on support for represent_as() and transmit_as() as an alternative to subcontext() Added: branches/SAMBA_4_0/source/pidl/tests/ndr_represent.pl Modified: branches/SAMBA_4_0/source/pidl/TODO branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/NDR.pm branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Samba4/NDR/Client.pm branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm branches/SAMBA_4_0/source/pidl/pidl branches/SAMBA_4_0/source/pidl/tests/Util.pm Changeset: Modified: branches/SAMBA_4_0/source/pidl/TODO === --- branches/SAMBA_4_0/source/pidl/TODO 2006-03-23 21:47:16 UTC (rev 14686) +++ branches/SAMBA_4_0/source/pidl/TODO 2006-03-24 01:03:02 UTC (rev 14687) @@ -12,6 +12,9 @@ - auto-alloc [ref] pointers for Samba4 during pull if they were NULL - replace subcontext() with represent_as() + - NTSTATUS FROM_to_TO (const FROM *f, TO **t); /* FIXME: t needs to be allocated using talloc */ + - NTSTATUS TO_to_FROM (const TO *t, FROM **f); /* FIXME: f needs to be allocated using talloc */ + - ` - --explain-ndr option that dumps out parse tree ? Modified: branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/NDR.pm === --- branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/NDR.pm2006-03-23 21:47:16 UTC (rev 14686) +++ branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/NDR.pm2006-03-24 01:03:02 UTC (rev 14687) @@ -2,7 +2,7 @@ # Samba4 NDR info tree generator # Copyright [EMAIL PROTECTED] 2000-2003 # Copyright [EMAIL PROTECTED] 2001 -# Copyright [EMAIL PROTECTED] 2004-2005 +# Copyright [EMAIL PROTECTED] 2004-2006 # released under the GNU GPL =pod @@ -258,6 +258,8 @@ push (@$order, { TYPE = DATA, + CONVERT_TO = has_property($e, ), + CONVERT_FROM = has_property($e, ), DATA_TYPE = $e-{TYPE}, IS_DEFERRED = $is_deferred, CONTAINS_DEFERRED = can_contain_deferred($e), @@ -319,8 +321,8 @@ $a = 4; } elsif (has_property($e, subcontext)) { $a = 1; - } elsif (has_property($e, represent_as)) { - $a = align_type($e-{PROPERTIES}-{represent_as}); + } elsif (has_property($e, transmit_as)) { + $a = align_type($e-{PROPERTIES}-{transmit_as}); } else { $a = align_type($e-{TYPE}); } @@ -368,6 +370,7 @@ TYPE = $e-{TYPE}, PROPERTIES = $e-{PROPERTIES}, LEVELS = GetElementLevelTable($e), + REPRESENTATION_TYPE = $e-{PROPERTIES}-{represent_as}, ALIGN = align_type($e-{TYPE}), ORIGINAL = $e }; @@ -796,6 +799,7 @@ default = [ELEMENT], represent_as = [ELEMENT], + transmit_as = [ELEMENT], # subcontext subcontext= [ELEMENT], @@ -900,6 +904,19 @@ } } + + if (has_property($e, subcontext) and has_property($e, represent_as)) { + fatal($e, el_name($e) . : subcontext() and represent_as() can not be used on the same element); + } + + if (has_property($e, subcontext) and has_property($e, transmit_as)) { + fatal($e, el_name($e) . : subcontext() and transmit_as() can not be used on the same element); + } + + if (has_property($e, represent_as) and has_property($e, transmit_as)) { + fatal($e, el_name($e) . : represent_as() and transmit_as() can not be used on the same element); + } + if (defined (has_property($e, subcontext_size)) and not defined(has_property($e, subcontext))) { fatal($e, el_name($e) . : subcontext_size() on non-subcontext element); } Modified: branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Samba4/NDR/Client.pm === --- branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Samba4/NDR/Client.pm 2006-03-23 21:47:16 UTC (rev 14686) +++ branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Samba4/NDR/Client.pm 2006-03-24 01:03:02 UTC (rev 14687) @@ -1,6 +1,7 @@ ### # client calls generator # Copyright [EMAIL PROTECTED] 2003 +# Copyright [EMAIL PROTECTED] 2005-2006 # released under the GNU GPL package Parse::Pidl::Samba4::NDR::Client; Modified: branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm === --- branches/SAMBA_4_0/source/pidl/lib/Parse/Pidl/Samba4/NDR/Parser.pm 2006-03-23