summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2012-07-18s3: Make smbd/aio.c not depend on aio.h anymoreVolker Lendecke5-76/+31
Signed-off-by: Jeremy Allison <jra@samba.org>
2012-07-18s3:vfs_aio_pthread: Convert to libasysVolker Lendecke3-525/+124
Signed-off-by: Jeremy Allison <jra@samba.org>
2012-07-18s3: Remove the unused completion handling from aio.cVolker Lendecke3-344/+1
Signed-off-by: Jeremy Allison <jra@samba.org>
2012-07-18s3: Properly handle shutdown with the _send/_recv based aioVolker Lendecke6-119/+107
Signed-off-by: Jeremy Allison <jra@samba.org>
2012-07-18s3: Use SMB_VFS_PWRITE_SEND in schedule_smb2_aio_writeVolker Lendecke1-5/+55
Signed-off-by: Jeremy Allison <jra@samba.org>
2012-07-18s3: Use SMB_VFS_PREAD_SEND in schedule_smb2_aio_readVolker Lendecke1-5/+61
Signed-off-by: Jeremy Allison <jra@samba.org>
2012-07-18s3: Use SMB_VFS_PWRITE_SEND in schedule_aio_write_and_XVolker Lendecke1-3/+113
Signed-off-by: Jeremy Allison <jra@samba.org>
2012-07-18s3: Use SMB_VFS_PREAD_SEND in schedule_aio_read_and_XVolker Lendecke1-3/+76
Signed-off-by: Jeremy Allison <jra@samba.org>
2012-07-18s3-vfs: async preadVolker Lendecke4-0/+131
Signed-off-by: Jeremy Allison <jra@samba.org>
2012-07-18s3-vfs: async pwriteVolker Lendecke4-0/+135
Signed-off-by: Jeremy Allison <jra@samba.org>
2012-07-18libasysVolker Lendecke5-0/+522
Signed-off-by: Jeremy Allison <jra@samba.org>
2012-07-18s3:Really ignore unknown special ids in NFSv4 ACLs.Alexander Werth1-0/+1
Signed-off-by: Christian Ambach <ambi@samba.org> Autobuild-User(master): Christian Ambach <ambi@samba.org> Autobuild-Date(master): Wed Jul 18 17:45:05 CEST 2012 on sn-devel-104
2012-07-18docs-xml: document smbstatus --notifyChristian Ambach1-0/+8
2012-07-18docs-xml: document smbstatus --fastChristian Ambach1-0/+10
2012-07-18s3:smbstatus add --fast optionChristian Ambach1-4/+11
this option skips all checks if the process for the record is still there using it gives a huge performance benefit on busy systems and clusters while it might display stale data if a smbd crashed
2012-07-18s3:smbstatus don't check if process exists twiceChristian Ambach1-4/+0
is_valid_share_mode_entry() already calls serverid_exists which calls process_exists()
2012-07-18s3:smbstatus rename a function to make its purpose more clearChristian Ambach1-4/+4
traverse_fn1 does not really intuitively make clear that it is used to traverse connections
2012-07-18s3:smbstatus fix a compiler warningChristian Ambach1-1/+1
about comparison of signed with unsigned
2012-07-18s4-lib/tls: Try socket_send() multiple times to send partial packetsAndrew Bartlett1-13/+26
This works around an artificial limitation in socket_wrapper that breaks some versions of GnuTLS when we return a short write. Instead, keep pushing until the OS will not take it. The correct solution will be to use tls_tstream, but the client code for this is not yet tested and needs the ldap client layer changed to use it. Andrew Bartlett Autobuild-User(master): Andrew Bartlett <abartlet@samba.org> Autobuild-Date(master): Wed Jul 18 11:23:55 CEST 2012 on sn-devel-104
2012-07-18s4-librpc: Ensure we do not call call the decrpc timeout handler during ↵Andrew Bartlett3-5/+39
gensec_update() This avoids a situation where we could destroy pointers on the stack due to a nested event loop. This is certainly not a final, generic solution, but it is a minimal change while we work to make gensec and gensec_gssapi async. Andrew Bartlett
2012-07-18s4-dbcheck: Check for and correct incorrect instanceType valuesAndrew Bartlett1-0/+45
2012-07-18dsdb: Allocate new OID to allow updates of a read-only replicaAndrew Bartlett5-5/+15
Normally this would be a very bad idea, but the specific case of fixing the instanceType is the only case where this makes sense. Andrew Bartlett
2012-07-18s4-dsdb: Allow dbcheck to correct an incorrect instanceTypeAndrew Bartlett1-3/+5
2012-07-18s4-dsdb: Ensure we never write read-only objects onto a read-write replicaAndrew Bartlett1-1/+8
We should prevent this much further up the stack, but at least add a choke at this point for now. Additionally, this avoids administrator-forced replications causing considerable damange to the directory. Andrew Bartlett
2012-07-18source4/torture: add talloc_stackframe()Rusty Russell1-0/+3
We need a stackframe to call lp_load(). Signed-off-by: Rusty Russell <rusty@rustcorp.com.au> Autobuild-User(master): Rusty Russell <rusty@rustcorp.com.au> Autobuild-Date(master): Wed Jul 18 09:31:07 CEST 2012 on sn-devel-104
2012-07-18source3/netapi: fix only caller which doesn't set up a talloc_stackframe()Rusty Russell1-0/+4
libnetapi_free() needs a stackframe too; looked like Andrew and Günther missed this in a37de9a95974c138d264d9cb0c7829bb426bb2d6. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2012-07-18source3/passdb/py_passdb.c: wrap all calls in talloc_stackframe()Rusty Russell1-519/+489
dbwrap needs it. Some calls were already wrapped, but they checked the talloc_stackframe() return unnecessarily: it can never be NULL. This is the coccinelle patch I used: // Add in a stackframe to every function: be sure to free it on (every) return @rule0@ identifier func; @@ func(...) { +TALLOC_CTX *frame = talloc_stackframe(); <... +talloc_free(frame); return ...; ...> } // Get rid of tframe allocation/frees, replace usage with frame. @rule1@ identifier func; identifier oldframe; @@ func(...) { ... -TALLOC_CTX *oldframe; ... -if ((oldframe = talloc_stackframe()) == NULL) { - ... -} <... -talloc_free(oldframe); ...> } // Get rid of tframe (variant 2) @rule2@ identifier func; identifier oldframe; @@ func(...) { ... -TALLOC_CTX *oldframe; ... -oldframe = talloc_stackframe(); -if (oldframe == NULL) { - ... -} <... -talloc_free(oldframe); ...> } // Change tframe to frame @rule3@ identifier func; @@ func(...) { <... -tframe +frame ...> } Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2012-07-18source3/passdb/py_passdb.c: don't steal from talloc_stackframe().Rusty Russell1-15/+2
If you want a stack-style allocation, use talloc_stackframe(). If you don't, don't use it. In particular, talloc_stackframe() here is actually inside a pool, and stealing from pools is a bad idea. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2012-07-18source3/torture/pdbtest: allocate talloc_stackframe()Rusty Russell1-2/+2
Avoid talloc_tos() without a stackframe. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2012-07-18talloc_stack: abort in developer me if no stackframe on talloc_tos()Rusty Russell2-4/+9
Don't tolerate leaks in developer mode. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2012-07-18loadparm: make the source3/ lp_ functions take an explicit TALLOC_CTX *.Rusty Russell86-622/+661
They use talloc_tos() internally: hoist that up to the callers, some of whom don't want to us talloc_tos(). A simple patch, but hits a lot of files. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2012-07-18source3/utils/net_conf.c: fix stackframe leakRusty Russell1-0/+2
net_conf_wrap_function() doesn't free its stackframe. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2012-07-18source3/winbindd/winbindd_pam.c: fix stackframe leakRusty Russell1-0/+1
check_info3_in_group() doesn't always free its stackframe. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2012-07-18source3/lib/smbconf/testsuite.c: fix stackframe leakRusty Russell1-0/+1
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2012-07-18source3/registry/reg_backend_db.c: fix stackframe leakRusty Russell1-2/+4
regdb_store_values_internal() doesn't always free its stackframe. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2012-07-18source3/winbindd/idmap_tdb_common.c: fix stackframe leakRusty Russell1-0/+1
idmap_tdb_common_sid_to_unixid() doesn't always free its stackframe. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2012-07-18source3/rpc_server/svcctl/srv_svcctl_reg.c: fix stackframe leakRusty Russell1-0/+1
svcctl_init_winreg() doesn't free its stackframe. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2012-07-18source3/modules/vfs_xattr_tdb.c: fix stackframe leakRusty Russell1-1/+3
xattr_tdb_getxattr() doesn't free its stackframe. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2012-07-18lib/util/modules.c: fix stackframe leak.Rusty Russell1-1/+2
do_smb_load_module() doesn't free its stackframe on success. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2012-07-18source3/winbindd/winbindd_util.c: fix stackframe leakRusty Russell1-2/+4
winbindd_can_contact_domain() doesn't always free its stackframe. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2012-07-18nt_printing_tdb_migrate(): fix stackframe leak.Rusty Russell1-0/+1
Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2012-07-18source3/client/client.c: fix stackframe leak.Rusty Russell1-13/+7
do_message_op() doesn't free its stackframe in various paths. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2012-07-18smbpasswd: always free frame.Rusty Russell1-4/+4
We're about to exit, so it doesn't really matter, but might as well unify the paths. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2012-07-18talloc_stack: report lazy freeing (panic if DEVELOPER).Rusty Russell1-0/+11
talloc_stackframe() stacks, so if you forget to free one, the outer one will free it. However, it's not a good idea to rely too heavily on this behaviour: it can lead to delays in the release of memory or destructors. I had an elaborate hack to make sure every talloc_stackframe() was freed in the exact same function it was allocated, however all bugs it caught were simply lazy freeing, so this patch just checks for that. This doesn't check for stackframes we don't free up on exit: that would be nice, but uncovers some uncomfortable (but probably harmless) cases. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2012-07-18talloc_stack: always include the location when creating a talloc_stackframe().Rusty Russell2-8/+11
Much better for debugging. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2012-07-18talloc_stack: handle more than one talloc_stackframe_pool()Rusty Russell1-8/+9
The only reason we make one stackframe parent of the next is so we use our parent's pool. That doesn't make sense if we're a new pool, and wouldn't work anyway. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2012-07-18talloc: don't allow a talloc_pool inside a talloc_pool.Rusty Russell2-1/+9
We explicitly call free() on a pool which falls to zero, assuming it's not inside another pool (we crash). Check on creation and explicitly document this case. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2012-07-18talloc: use a struct for pool headers.Rusty Russell2-106/+90
This neatens the code a bit (we should do a similar thing for all the TALLOC_CHUNK macros). Two subtler changes: (1) As a result of the struct, we actually pack object_count into the talloc header on 32-bit platforms (since the header is 40 bytes, but needs to be 16-byte aligned). (2) I avoid VALGRIND_MAKE_MEM_UNDEFINED on memmove when we resize the only entry in a pool; that's done later anyway. With -O2 on my 11.04 Ubuntu 32-bit x86 laptop, the talloc_pool speed as measured by testsuite.c actually increases 10%. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
2012-07-17s3-linux-aio: Fix error handlingVolker Lendecke1-4/+2
Signed-off-by: Jeremy Allison <jra@samba.org> Autobuild-User(master): Jeremy Allison <jra@samba.org> Autobuild-Date(master): Tue Jul 17 21:22:31 CEST 2012 on sn-devel-104
2012-07-17Add debug message when SD hash doesn't match.Jeremy Allison1-0/+5