summaryrefslogtreecommitdiff
path: root/source3
AgeCommit message (Collapse)AuthorFilesLines
2013-04-09s3-netlogon: enumerate UPN suffixes from PASSDB when availableAlexander Bokovoy1-12/+94
Optionally append list of UPN suffixes if PDB module returns non-empty one. Refactor fill_forest_trust_array() in source3 to allow reuse of the code between _netr_DsRGetForestTrustInformation() and _netr_GetForestTrustInformation() Implement a special case of _netr_DsRGetForestTrustInformation in smbd when trusted_domain_name is NULL (covered by test_DsrEnumerateDomainTrusts() in rpc.netlogon torture tests, see comment in source4/torture/rpc/netlogon.c). Reviewed-by: Andreas Schneider <asn@samba.org> Autobuild-User(master): Andreas Schneider <asn@cryptomilk.org> Autobuild-Date(master): Tue Apr 9 22:19:34 CEST 2013 on sn-devel-104
2013-04-09PASSDB: add support to set and enumerate UPN suffixes associated with our forestAlexander Bokovoy3-1/+55
Samba PDC may manage a forest containing DNS domains in addition to the primary one. Information about them is advertised via netr_DsRGetForestTrustInformation when trusted_domain_name is NULL, according to MS-NRPC and MS-LSAD, and via netr_GetForestTrustInformation. This changeset only expands PASSDB API; how suffixes are maintained is left to specific PDB modules. Set function is added so that suffixes could be managed through 'net' and other Samba utilities, if possible. One possible implementation is available for ipasam module in FreeIPA: http://git.fedorahosted.org/cgit/freeipa.git/commit/?id=cc56723151c9ebf58d891e85617319d861af14a4 Reviewed-by: Andreas Schneider <asn@samba.org>
2013-04-09s3-waf: filter out ldapsam internal init functionsAlexander Bokovoy1-0/+1
pdb_ldapsam_init* functions (init and init_common) are used in pdb_ipa.c and pdb_nds.c which are always linked together with pdb_ldap.c where pdb_ldapsam_init* functions reside. Tested with both ldapsam integrated (into libpdb) and as a separate module. Reviewed-by: Andreas Schneider <asn@samba.org>
2013-04-09winbindd: Avoid a fd leak when we can not forkVolker Lendecke1-0/+2
Signed-off-by: Volker Lendecke <vl@samba.org> Signed-off-by: Jim McDonough <jmcd@samba.org> Autobuild-User(master): Jim McDonough <jmcd@samba.org> Autobuild-Date(master): Tue Apr 9 20:27:27 CEST 2013 on sn-devel-104
2013-04-09pylibsmb: Avoid a segfault if no credentials are passed to libsmb.Conn()Volker Lendecke1-5/+5
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Richard Sharpe <realrichardsharpe@gmail.com> Autobuild-User(master): Richard Sharpe <sharpe@samba.org> Autobuild-Date(master): Tue Apr 9 18:30:06 CEST 2013 on sn-devel-104
2013-04-09BUG 9766: Cache name_to_sid/sid_to_name correctly.Andreas Schneider1-0/+21
If there is no domain_name specified we still need to set to for caching else we will not find the entry later if we lookup the entry with the domain_name. Reviewed-by: Guenther Deschner <gd@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org> Signed-off-by: Andreas Schneider <asn@samba.org> Autobuild-User(master): Günther Deschner <gd@samba.org> Autobuild-Date(master): Tue Apr 9 16:32:44 CEST 2013 on sn-devel-104
2013-04-09BUG 9139: Fix the username map optimization.Andreas Schneider1-4/+8
If we successfully map a user. We call set_last_from_to(user_in, unixname); in the while loop reading the map file. After a successfull map we don't stop and continue the loop to check all other mappings in the username mapfile. But when we hit the end of the file and leave the loop we call: set_last_from_to(user_in, user_in); This overwrites the successful mapping, and the next time we call map_username() we skip the username and no mapping is done. Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Günther Deschner <gd@samba.org>
2013-04-03BUG 9699: Fix adding case sensitive spn.Andreas Schneider1-12/+2
We should be able to define the case of the spn cause it is important for some services like nfs. 'net ads keytab add "nfs"' should not result in an uppercase spn. Signed-off-by: Andreas Schneider <asn@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Wed Apr 3 23:57:32 CEST 2013 on sn-devel-104
2013-04-03libsmbclient: Fix cli_session_setup_guest_sendVolker Lendecke1-1/+1
This worked fine so far, but for the wrong reason: We only ever called this through the sync wrapper. The tevent_req_nterror in the NT_STATUS_OK case does not call tevent_req_finish. So the tevent_loop_poll did call into the core send/receive smb code. This is a fix for the case when smb1cli_req_chain_submit fails for some reason. Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org> Autobuild-User(master): Stefan Metzmacher <metze@samba.org> Autobuild-Date(master): Wed Apr 3 18:39:30 CEST 2013 on sn-devel-104
2013-04-03s3:wscript: change --with-dmapi to default=auto to match the autoconf buildStefan Metzmacher1-1/+1
Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org> Autobuild-User(master): Volker Lendecke <vl@samba.org> Autobuild-Date(master): Wed Apr 3 11:45:12 CEST 2013 on sn-devel-104
2013-04-03s3:modules: fix the build of vfs_notify_fam (bug #9545)Stefan Metzmacher2-0/+34
This adds the --with-fam option and configure checks. Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org>
2013-04-03s3:lib/server_mutex: open mutex.tdb with CLEAR_IF_FIRSTStefan Metzmacher1-1/+4
/var/lock/samba is typically on tpmfs. Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org>
2013-04-03s3:lib/gencache: place gencache.tdb into /var/cache/sambaStefan Metzmacher1-1/+1
/var/lock/samba is located on tmpfs on newer systems, but we want to keep things like the server affinity cache across reboots. Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org>
2013-04-02Ensure EA value is allocated on the right context.Jeremy Allison1-1/+2
Ensure we free on error condition (tidyup, not a leak). Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: David Disseldorp <ddiss@suse.de> Autobuild-User(master): David Disseldorp <ddiss@samba.org> Autobuild-Date(master): Tue Apr 2 21:54:33 CEST 2013 on sn-devel-104
2013-04-02Final fix for bug #9130 - Certain xattrs cause Windows error 0x800700FFJeremy Allison1-1/+1
The spec lies when it says that NextEntryOffset is the only value considered when finding the next EA. We were adding 4 more extra pad bytes than needed (i.e. if the next entry already was on a 4 byte boundary, then we were adding 4 additional pad bytes). Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: David Disseldorp <ddiss@suse.de>
2013-04-02Ensure we don't return uninitialized memory in the pad bytes.Jeremy Allison1-1/+7
Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: David Disseldorp <ddiss@suse.de>
2013-04-02Fix bug #9130 - Certain xattrs cause Windows error 0x800700FFJeremy Allison1-0/+9
Ensure we never return any zero-length EA's. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: David Disseldorp <ddiss@suse.de>
2013-04-02Change estimate_ea_size() to correctly estimate the EA size over SMB2.Jeremy Allison1-0/+20
Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: David Disseldorp <ddiss@suse.de>
2013-04-02Modify fill_ea_chained_buffer() to be able to do size calculation only, no ↵Jeremy Allison1-12/+15
marshalling. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: David Disseldorp <ddiss@suse.de>
2013-04-02Ensure we can never return an uninitialized EA list.Jeremy Allison1-1/+2
Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: David Disseldorp <ddiss@suse.de>
2013-04-02BUG 9758: Don't leak the epm_Map policy handle.Andreas Schneider1-0/+4
Reviewed-by: Alexander Bokovoy <ab@samba.org> Autobuild-User(master): Alexander Bokovoy <ab@samba.org> Autobuild-Date(master): Tue Apr 2 17:16:56 CEST 2013 on sn-devel-104
2013-04-02epm: Increase debug level for already registered endpoints.Andreas Schneider1-1/+1
Reviewed-by: Alexander Bokovoy <ab@samba.org>
2013-04-02Fix bad SMB2 opcode reading in server.Jeremy Allison1-5/+5
SMB2 opcodes are 16-bit values. We should *never* be reading them with IVAL(inhdr, SMB2_HDR_OPCODE), it should always be SVAL(inhdr, SMB2_HDR_OPCODE). Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Richard Sharpe <realrichardsharpe@gmail.com> Autobuild-User(master): Richard Sharpe <sharpe@samba.org> Autobuild-Date(master): Tue Apr 2 07:28:48 CEST 2013 on sn-devel-104
2013-03-28Optimization suggested by Volker. Don't do a stat system call on normal read ↵Jeremy Allison1-15/+15
path. Only do it if we need it in the sendfile() path. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Volker Lendecke <vl@samba.org> Autobuild-User(master): Volker Lendecke <vl@samba.org> Autobuild-Date(master): Thu Mar 28 17:51:22 CET 2013 on sn-devel-104
2013-03-27Call smb_panic when we try to exit the server uncleanly. This gives us the ↵Richard Sharpe1-7/+1
normal traceback and memory dump, but also runs the normal panic action. Signed-off-by: Richard Sharpe <realrichardsharpe@gmail.com> Reviewed-by: Jeremy Allison <jra@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Wed Mar 27 22:58:37 CET 2013 on sn-devel-104
2013-03-26smbd: Remove an optimization that became unnecessaryVolker Lendecke1-7/+6
After we only collect nonlocal vnns in idx_state.vnns now, at this point we *know* we have something to send to a remote node. The previous code avoided the call to notify_push_remote_blob with an if-statement that has now become unnecessary. Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org> Autobuild-User(master): Stefan Metzmacher <metze@samba.org> Autobuild-Date(master): Tue Mar 26 13:16:39 CET 2013 on sn-devel-104
2013-03-26smbd: We don't collect our own vnn anymoreVolker Lendecke1-3/+0
notify_trigger_index_parser will not anymore add ourselves into the vnn list that it collects. Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-26smbd: Slightly simplify notify_triggerVolker Lendecke1-0/+4
We have a good chance that we did not collect any remote vnns. This avoids trying to walk the remote vnns altogether. Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-26smbd: Slightly simplify notify_triggerVolker Lendecke1-6/+5
This straightens the for-loop walking the path components slightly Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-26smbd: Avoid some talloc_realloc in notify_internalVolker Lendecke1-6/+16
For the nonclustered case we will only ever have one vnn in notify_index.tdb. For this case, without this patch we did talloc_realloc when collecting vnns to be able to do the memcpy instead of explicit copy with a for-loop. This new code will partition the new vnns we see when parsing a notify_index.tdb record into ourselves and all foreign vnns, only really collecting the foreign ones in an array. Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-26dbwrap-ctdb: Avoid a talloc_stackframe()Volker Lendecke1-4/+2
We have only a single allocation in this routine, so I think we can live without a stackframe. Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-26ctdb-conn: remove ctdbd_fetchVolker Lendecke2-84/+0
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-26dbwrap-ctdb: Use ctdbd_parse in db_ctdb_parse_recordVolker Lendecke1-9/+2
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-26ctdb-conn: Add ctdbd_parseVolker Lendecke2-0/+76
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-26smbd: Avoid sending 0-sized keys to dbwrapVolker Lendecke1-1/+8
Start the notification one level below /. Sharing and notifying / for changes is broken at this moment anyway. When sharing / and someone wants to get notified for changes under /usr, we store "//usr" as the notify_index key. So this patch does not break anything that is not broken today, and it avoids a bogus call to dbwrap_parse_records. Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-25dbwrap: Use tdb_null in db_ctdb_deleteVolker Lendecke1-4/+1
Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Christian Ambach <ambi@samba.org> Autobuild-User(master): Christian Ambach <ambi@samba.org> Autobuild-Date(master): Mon Mar 25 19:42:30 CET 2013 on sn-devel-104
2013-03-24vfs-btrfs: Fix build on 32 bit platforms by using long long typesAndrew Bartlett1-6/+10
Reviewed-by: Rusty Russell <rusty@rustcorp.com.au> Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Autobuild-User(master): Rusty Russell <rusty@rustcorp.com.au> Autobuild-Date(master): Sun Mar 24 06:17:55 CET 2013 on sn-devel-104
2013-03-24Revert "vfs_btrfs: fix compile on 32-bit platforms."Rusty Russell1-5/+4
This reverts commit fd6d0361d6fef5f8175967ddbae4a2b1d79dfcad. Unreviewed, and Andrew has a better fix. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2013-03-23vfs_btrfs: fix compile on 32-bit platforms.Rusty Russell1-4/+5
uint64_t are not unsigned longs on 32-bit platforms: [3265/3996] Compiling source3/modules/vfs_btrfs.c ../source3/modules/vfs_btrfs.c: In function ‘btrfs_copy_chunk_send’: ../source3/modules/vfs_btrfs.c:118:3: error: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘uint64_t’ [-Werror=format] ../source3/modules/vfs_btrfs.c:118:3: error: format ‘%ld’ expects argument of type ‘long int’, but argument 4 has type ‘int64_t’ [-Werror=format] ../source3/modules/vfs_btrfs.c:118:3: error: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 5 has type ‘uint64_t’ [-Werror=format] ../source3/modules/vfs_btrfs.c:118:3: error: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 7 has type ‘uint64_t’ [-Werror=format] ../source3/modules/vfs_btrfs.c: In function ‘btrfs_copy_chunk_recv’: ../source3/modules/vfs_btrfs.c:180:2: error: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 2 has type ‘off_t’ [-Werror=format] cc1: some warnings being treated as errors Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2013-03-22smbd: Tune "dir" a bit.Volker Lendecke1-6/+19
for i in $(seq 1 20000) ; do echo dir ; done | smbclient //127.0.0.1/tmp -U% without and with this patch: $ time bin/smbd -d0 -i smbd version 4.1.0pre1-GIT-1f139ae started. Copyright Andrew Tridgell and the Samba Team 1992-2013 Beendet real 0m28.342s user 0m10.249s sys 0m10.513s $ time bin/smbd -d0 -i smbd version 4.1.0pre1-GIT-1f139ae started. Copyright Andrew Tridgell and the Samba Team 1992-2013 Beendet real 0m27.348s user 0m9.089s sys 0m10.853s The "real" timestamp is irrelevant, this also contains the time between starting smbd and the smbclient job. It's the "user" time. The result that this patch improves the time spent in user space by 10% is consistent. Signed-off-by: Volker Lendecke <vl@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Fri Mar 22 22:10:57 CET 2013 on sn-devel-104
2013-03-22Fix bug #9733 - smbcontrol close-share is not working.Jeremy Allison1-0/+3
As part of forcibly disconnecting a client from a share, smbd must atomically call reload_services() to ensure that the entry in the ServicePtrs[] array corresponding to that share is removed if the share was removed from the smb.conf or registry entries. Otherwise the ServicePtrs[] array entry for the share remains active and the client races to auto-reconnect to the share before a second message to reload the smb.conf file can be sent. This has to be done as part of the close-share message processing, as removing the share from the smb.conf file first, then telling the smbd to reload followed by the forcible disconnect message doesn't work as in this sequence of events when the reload message is received the client is still connected to the share, so the ServicePtrs[] entry is still left active. The forcible-disconnect + service reload has to be done together as an atomic operation in order for this to work. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: David Disseldorp <ddiss@samba.org> Autobuild-User(master): David Disseldorp <ddiss@samba.org> Autobuild-Date(master): Fri Mar 22 20:10:11 CET 2013 on sn-devel-104
2013-03-21s3:waf fix build on AIXStefan Metzmacher1-1/+1
AIX acl code needs to be built by default on AIX, otherwise smbd will fail to start because of missing symbols This fixes Bug 9557 - build succeeds, but binaries don't run Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Christian Ambach <ambi@samba.org> Autobuild-User(master): Christian Ambach <ambi@samba.org> Autobuild-Date(master): Thu Mar 21 16:31:19 CET 2013 on sn-devel-104
2013-03-20s3:selftest: Add LARGE_READX test into our make test infrastructure.Jeremy Allison1-1/+1
Tested against non-encrypted and encrypted connections. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-20s3:torture: Add new LARGE_READX test to investigate large SMBreadX behavior.Jeremy Allison1-1/+337
Signed-off-by: Jeremy Allison <jra@samba.org> Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-20s3:smbd: Add functions calc_max_read_pdu()/calc_read_size() to work out the ↵Jeremy Allison1-25/+86
length we should return. LARGE_READX test shows it's always safe to return a short read. Windows does so. Do the calculations to return what will fit in a read depending on what the client negotiated. Signed-off-by: Jeremy Allison <jra@samba.org> Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-20s3:smbd: Remove server_will_accept_large_read() and erroneous comment.Jeremy Allison1-28/+1
We're going to replace this with a function that calculates the max PDU to return on a read and supports short reads. Signed-off-by: Jeremy Allison <jra@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-20s3:smbd: Fix off-by 4 error in wrap protection code in create_outbuf()Jeremy Allison1-6/+11
Subtract 4 from smb_size (39) here as the length of the SMB reply following the 4 byte type+length field can be up to 0xFFFFFF bytes. Signed-off-by: Jeremy Allison <jra@samba.org> Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Stefan Metzmacher <metze@samba.org>
2013-03-20s3:smbd: add some const to req_is_in_chain()Stefan Metzmacher2-2/+2
Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-03-20s3:smbd: remove silly (SMB_OFF_T_BITS == 64) checksStefan Metzmacher1-3/+2
configure will abort if sizeof(off_t) is not 8. Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>
2013-03-20s3:smbd: keep global_client_caps and max_send from the first successful ↵Stefan Metzmacher1-4/+10
session setup Signed-off-by: Stefan Metzmacher <metze@samba.org> Reviewed-by: Jeremy Allison <jra@samba.org>