summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
...
* s3: Convert aio_fork to pread/pwrite_send/recvVolker Lendecke2012-07-181-323/+174
| | | | Signed-off-by: Jeremy Allison <jra@samba.org>
* s3-aio_fork: Convert get_idle_child from NTSTATUS to errnoVolker Lendecke2012-07-181-14/+17
| | | | Signed-off-by: Jeremy Allison <jra@samba.org>
* s3-aio_fork: Convert create_aio_child from NTSTATUS to errnoVolker Lendecke2012-07-181-16/+20
| | | | Signed-off-by: Jeremy Allison <jra@samba.org>
* s3: Add vfs_aio_posixVolker Lendecke2012-07-188-6/+264
| | | | Signed-off-by: Jeremy Allison <jra@samba.org>
* s3: Make smbd/aio.c not depend on aio.h anymoreVolker Lendecke2012-07-185-76/+31
| | | | Signed-off-by: Jeremy Allison <jra@samba.org>
* s3:vfs_aio_pthread: Convert to libasysVolker Lendecke2012-07-183-525/+124
| | | | Signed-off-by: Jeremy Allison <jra@samba.org>
* s3: Remove the unused completion handling from aio.cVolker Lendecke2012-07-183-344/+1
| | | | Signed-off-by: Jeremy Allison <jra@samba.org>
* s3: Properly handle shutdown with the _send/_recv based aioVolker Lendecke2012-07-186-119/+107
| | | | Signed-off-by: Jeremy Allison <jra@samba.org>
* s3: Use SMB_VFS_PWRITE_SEND in schedule_smb2_aio_writeVolker Lendecke2012-07-181-5/+55
| | | | Signed-off-by: Jeremy Allison <jra@samba.org>
* s3: Use SMB_VFS_PREAD_SEND in schedule_smb2_aio_readVolker Lendecke2012-07-181-5/+61
| | | | Signed-off-by: Jeremy Allison <jra@samba.org>
* s3: Use SMB_VFS_PWRITE_SEND in schedule_aio_write_and_XVolker Lendecke2012-07-181-3/+113
| | | | Signed-off-by: Jeremy Allison <jra@samba.org>
* s3: Use SMB_VFS_PREAD_SEND in schedule_aio_read_and_XVolker Lendecke2012-07-181-3/+76
| | | | Signed-off-by: Jeremy Allison <jra@samba.org>
* s3-vfs: async preadVolker Lendecke2012-07-184-0/+131
| | | | Signed-off-by: Jeremy Allison <jra@samba.org>
* s3-vfs: async pwriteVolker Lendecke2012-07-184-0/+135
| | | | Signed-off-by: Jeremy Allison <jra@samba.org>
* libasysVolker Lendecke2012-07-185-0/+522
| | | | Signed-off-by: Jeremy Allison <jra@samba.org>
* s3:Really ignore unknown special ids in NFSv4 ACLs.Alexander Werth2012-07-181-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
* docs-xml: document smbstatus --notifyChristian Ambach2012-07-181-0/+8
|
* docs-xml: document smbstatus --fastChristian Ambach2012-07-181-0/+10
|
* s3:smbstatus add --fast optionChristian Ambach2012-07-181-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
* s3:smbstatus don't check if process exists twiceChristian Ambach2012-07-181-4/+0
| | | | is_valid_share_mode_entry() already calls serverid_exists which calls process_exists()
* s3:smbstatus rename a function to make its purpose more clearChristian Ambach2012-07-181-4/+4
| | | | traverse_fn1 does not really intuitively make clear that it is used to traverse connections
* s3:smbstatus fix a compiler warningChristian Ambach2012-07-181-1/+1
| | | | about comparison of signed with unsigned
* s4-lib/tls: Try socket_send() multiple times to send partial packetsAndrew Bartlett2012-07-181-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
* s4-librpc: Ensure we do not call call the decrpc timeout handler during ↵Andrew Bartlett2012-07-183-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
* s4-dbcheck: Check for and correct incorrect instanceType valuesAndrew Bartlett2012-07-181-0/+45
|
* dsdb: Allocate new OID to allow updates of a read-only replicaAndrew Bartlett2012-07-185-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
* s4-dsdb: Allow dbcheck to correct an incorrect instanceTypeAndrew Bartlett2012-07-181-3/+5
|
* s4-dsdb: Ensure we never write read-only objects onto a read-write replicaAndrew Bartlett2012-07-181-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
* source4/torture: add talloc_stackframe()Rusty Russell2012-07-181-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
* source3/netapi: fix only caller which doesn't set up a talloc_stackframe()Rusty Russell2012-07-181-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>
* source3/passdb/py_passdb.c: wrap all calls in talloc_stackframe()Rusty Russell2012-07-181-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>
* source3/passdb/py_passdb.c: don't steal from talloc_stackframe().Rusty Russell2012-07-181-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>
* source3/torture/pdbtest: allocate talloc_stackframe()Rusty Russell2012-07-181-2/+2
| | | | | | | Avoid talloc_tos() without a stackframe. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* talloc_stack: abort in developer me if no stackframe on talloc_tos()Rusty Russell2012-07-182-4/+9
| | | | | | | Don't tolerate leaks in developer mode. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* loadparm: make the source3/ lp_ functions take an explicit TALLOC_CTX *.Rusty Russell2012-07-1886-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>
* source3/utils/net_conf.c: fix stackframe leakRusty Russell2012-07-181-0/+2
| | | | | | | net_conf_wrap_function() doesn't free its stackframe. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* source3/winbindd/winbindd_pam.c: fix stackframe leakRusty Russell2012-07-181-0/+1
| | | | | | | check_info3_in_group() doesn't always free its stackframe. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* source3/lib/smbconf/testsuite.c: fix stackframe leakRusty Russell2012-07-181-0/+1
| | | | | Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* source3/registry/reg_backend_db.c: fix stackframe leakRusty Russell2012-07-181-2/+4
| | | | | | | regdb_store_values_internal() doesn't always free its stackframe. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* source3/winbindd/idmap_tdb_common.c: fix stackframe leakRusty Russell2012-07-181-0/+1
| | | | | | | idmap_tdb_common_sid_to_unixid() doesn't always free its stackframe. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* source3/rpc_server/svcctl/srv_svcctl_reg.c: fix stackframe leakRusty Russell2012-07-181-0/+1
| | | | | | | svcctl_init_winreg() doesn't free its stackframe. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* source3/modules/vfs_xattr_tdb.c: fix stackframe leakRusty Russell2012-07-181-1/+3
| | | | | | | xattr_tdb_getxattr() doesn't free its stackframe. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* lib/util/modules.c: fix stackframe leak.Rusty Russell2012-07-181-1/+2
| | | | | | | do_smb_load_module() doesn't free its stackframe on success. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* source3/winbindd/winbindd_util.c: fix stackframe leakRusty Russell2012-07-181-2/+4
| | | | | | | winbindd_can_contact_domain() doesn't always free its stackframe. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* nt_printing_tdb_migrate(): fix stackframe leak.Rusty Russell2012-07-181-0/+1
| | | | | Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* source3/client/client.c: fix stackframe leak.Rusty Russell2012-07-181-13/+7
| | | | | | | do_message_op() doesn't free its stackframe in various paths. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* smbpasswd: always free frame.Rusty Russell2012-07-181-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>
* talloc_stack: report lazy freeing (panic if DEVELOPER).Rusty Russell2012-07-181-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>
* talloc_stack: always include the location when creating a talloc_stackframe().Rusty Russell2012-07-182-8/+11
| | | | | | | Much better for debugging. Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
* talloc_stack: handle more than one talloc_stackframe_pool()Rusty Russell2012-07-181-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>