From 4b6f5dac5326d14a295f365ee0bef8504c9e79ca Mon Sep 17 00:00:00 2001 From: Michael Adam Date: Fri, 5 Feb 2016 11:32:18 +0100 Subject: [PATCH 01/16] dlist: remove unneeded type argument from DLIST_ADD_END() Signed-off-by: Michael Adam Reviewed-by: Jeremy Allison (cherry picked from commit 476672b647e44898a6de8894b23e598ad13b1fcf) --- ctdb/common/ctdb_io.c | 2 +- ctdb/server/ctdb_call.c | 4 ++-- ctdb/server/ctdb_daemon.c | 2 +- ctdb/server/ctdb_lock.c | 8 ++++---- ctdb/server/ctdb_logging.c | 2 +- lib/torture/torture.c | 14 +++++++------- lib/util/dlinklist.h | 5 ++--- lib/util/tests/dlinklist.c | 4 ++-- libcli/cldap/cldap.c | 2 +- libcli/nbt/nbtsocket.c | 7 +++---- libcli/smb/smbXcli_base.c | 6 +++--- source3/auth/auth.c | 2 +- source3/auth/pampass.c | 2 +- source3/lib/smbldap.c | 2 +- source3/lib/unix_msg/unix_msg.c | 2 +- source3/lib/util_ea.c | 2 +- source3/libsmb/clidfs.c | 2 +- source3/libsmb/clireadwrite.c | 4 ++-- source3/modules/vfs_aio_pthread.c | 2 +- source3/nmbd/nmbd_browserdb.c | 2 +- source3/nmbd/nmbd_packets.c | 2 +- source3/nmbd/nmbd_responserecordsdb.c | 2 +- source3/nmbd/nmbd_serverlistdb.c | 2 +- source3/param/loadparm.c | 2 +- source3/printing/notify.c | 2 +- source3/registry/regfio.c | 2 +- source3/rpc_server/fss/srv_fss_agent.c | 9 ++++----- source3/rpc_server/fss/srv_fss_state.c | 12 ++++++------ source3/smbd/blocking.c | 2 +- source3/smbd/notify.c | 3 +-- source3/smbd/posix_acls.c | 4 ++-- source3/smbd/process.c | 5 ++--- source3/smbd/server.c | 2 +- source3/smbd/smb2_server.c | 10 +++++----- source3/smbd/smbXsrv_session.c | 2 +- source3/smbd/trans2.c | 6 +++--- source3/winbindd/winbindd_util.c | 2 +- source4/auth/ntlm/auth.c | 2 +- source4/dns_server/dnsserver_common.c | 2 +- source4/dsdb/common/util_trusts.c | 2 +- source4/dsdb/kcc/kcc_drs_replica_info.c | 2 +- source4/dsdb/repl/drepl_notify.c | 2 +- source4/dsdb/repl/drepl_out_pull.c | 2 +- source4/dsdb/repl/drepl_partitions.c | 4 ++-- source4/dsdb/repl/replicated_objects.c | 2 +- source4/dsdb/samdb/ldb_modules/descriptor.c | 4 ++-- source4/dsdb/samdb/ldb_modules/linked_attributes.c | 2 +- source4/dsdb/samdb/ldb_modules/secrets_tdb_sync.c | 2 +- source4/dsdb/samdb/ldb_modules/update_keytab.c | 2 +- source4/dsdb/schema/schema_query.c | 8 ++++---- source4/ldap_server/ldap_backend.c | 2 +- source4/lib/http/http.c | 2 +- source4/lib/socket/interface.c | 2 +- source4/lib/stream/packet.c | 2 +- source4/libcli/dgram/dgramsocket.c | 2 +- source4/libcli/resolve/resolve.c | 2 +- source4/librpc/rpc/dcerpc.c | 6 +++--- source4/nbt_server/register.c | 2 +- source4/nbt_server/wins/winsserver.c | 2 +- source4/ntvfs/ntvfs_base.c | 2 +- source4/ntvfs/posix/pvfs_notify.c | 2 +- source4/rpc_server/common/reply.c | 10 +++++----- source4/rpc_server/dcerpc_server.c | 14 +++++++------- source4/rpc_server/dnsserver/dcerpc_dnsserver.c | 6 +++--- source4/rpc_server/dnsserver/dnsdb.c | 6 +++--- source4/smb_server/smb2/receive.c | 2 +- source4/smb_server/smb_server.h | 2 +- source4/smbd/service.c | 2 +- source4/torture/local/fsrvp_state.c | 20 ++++++++++---------- source4/torture/nbench/nbio.c | 4 ++-- source4/torture/nbt/wins.c | 3 +-- source4/torture/ndr/ndr.c | 4 ++-- source4/torture/rpc/spoolss_notify.c | 2 +- source4/torture/smb2/smb2.c | 4 ++-- source4/torture/util_smb.c | 6 +++--- source4/torture/vfs/vfs.c | 2 +- source4/wrepl_server/wrepl_server.c | 4 ++-- 77 files changed, 146 insertions(+), 152 deletions(-) diff --git a/ctdb/common/ctdb_io.c b/ctdb/common/ctdb_io.c index 24968b3..894935e 100644 --- a/ctdb/common/ctdb_io.c +++ b/ctdb/common/ctdb_io.c @@ -352,7 +352,7 @@ int ctdb_queue_send(struct ctdb_queue *queue, uint8_t *data, uint32_t length) TEVENT_FD_WRITEABLE(queue->fde); } - DLIST_ADD_END(queue->out_queue, pkt, NULL); + DLIST_ADD_END(queue->out_queue, pkt); queue->out_queue_length++; diff --git a/ctdb/server/ctdb_call.c b/ctdb/server/ctdb_call.c index b61754e..2461f95 100644 --- a/ctdb/server/ctdb_call.c +++ b/ctdb/server/ctdb_call.c @@ -565,7 +565,7 @@ static int dmaster_defer_add(struct ctdb_db_context *ctdb_db, call->ctdb = ctdb_db->ctdb; call->hdr = talloc_steal(call, hdr); - DLIST_ADD_END(ddq->deferred_calls, call, NULL); + DLIST_ADD_END(ddq->deferred_calls, call); return 0; } @@ -1876,7 +1876,7 @@ child_finished: set_close_on_exec(rc->fd[0]); /* This is an active revokechild child process */ - DLIST_ADD_END(ctdb_db->revokechild_active, rc, NULL); + DLIST_ADD_END(ctdb_db->revokechild_active, rc); rc->fde = tevent_add_fd(ctdb->ev, rc, rc->fd[0], TEVENT_FD_READ, revokechild_handler, (void *)rc); diff --git a/ctdb/server/ctdb_daemon.c b/ctdb/server/ctdb_daemon.c index 36dcfad..9a33691 100644 --- a/ctdb/server/ctdb_daemon.c +++ b/ctdb/server/ctdb_daemon.c @@ -590,7 +590,7 @@ static int requeue_duplicate_fetch(struct ctdb_db_context *ctdb_db, struct ctdb_ dfc->w->ctdb = ctdb_db->ctdb; dfc->w->client_id = client->client_id; - DLIST_ADD_END(dfq->deferred_calls, dfc, NULL); + DLIST_ADD_END(dfq->deferred_calls, dfc); return 0; } diff --git a/ctdb/server/ctdb_lock.c b/ctdb/server/ctdb_lock.c index 78ba35c..7962e94 100644 --- a/ctdb/server/ctdb_lock.c +++ b/ctdb/server/ctdb_lock.c @@ -902,10 +902,10 @@ static void ctdb_lock_schedule(struct ctdb_context *ctdb) /* Move the context from pending to current */ if (lock_ctx->type == LOCK_RECORD) { DLIST_REMOVE(lock_ctx->ctdb_db->lock_pending, lock_ctx); - DLIST_ADD_END(lock_ctx->ctdb_db->lock_current, lock_ctx, NULL); + DLIST_ADD_END(lock_ctx->ctdb_db->lock_current, lock_ctx); } else { DLIST_REMOVE(ctdb->lock_pending, lock_ctx); - DLIST_ADD_END(ctdb->lock_current, lock_ctx, NULL); + DLIST_ADD_END(ctdb->lock_current, lock_ctx); } CTDB_DECREMENT_STAT(lock_ctx->ctdb, locks.num_pending); CTDB_INCREMENT_STAT(lock_ctx->ctdb, locks.num_current); @@ -975,9 +975,9 @@ static struct lock_request *ctdb_lock_internal(TALLOC_CTX *mem_ctx, * immediately, so keep them at the head of the pending queue. */ if (lock_ctx->type == LOCK_RECORD) { - DLIST_ADD_END(ctdb_db->lock_pending, lock_ctx, NULL); + DLIST_ADD_END(ctdb_db->lock_pending, lock_ctx); } else { - DLIST_ADD_END(ctdb->lock_pending, lock_ctx, NULL); + DLIST_ADD_END(ctdb->lock_pending, lock_ctx); } CTDB_INCREMENT_STAT(ctdb, locks.num_pending); if (ctdb_db) { diff --git a/ctdb/server/ctdb_logging.c b/ctdb/server/ctdb_logging.c index 29b1982..1819ab7 100644 --- a/ctdb/server/ctdb_logging.c +++ b/ctdb/server/ctdb_logging.c @@ -71,7 +71,7 @@ void ctdb_log_register_backend(const char *prefix, ctdb_log_setup_fn_t setup) b->prefix = prefix; b->setup = setup; - DLIST_ADD_END(log_state->backends, b, NULL); + DLIST_ADD_END(log_state->backends, b); } diff --git a/lib/torture/torture.c b/lib/torture/torture.c index 78d8261..40807d9 100644 --- a/lib/torture/torture.c +++ b/lib/torture/torture.c @@ -277,7 +277,7 @@ struct torture_test *torture_tcase_add_test_const(struct torture_tcase *tcase, test->dangerous = false; test->data = data; - DLIST_ADD_END(tcase->tests, test, struct torture_test *); + DLIST_ADD_END(tcase->tests, test); return test; } @@ -296,7 +296,7 @@ bool torture_suite_init_tcase(struct torture_suite *suite, tcase->fixture_persistent = true; tcase->tests = NULL; - DLIST_ADD_END(suite->testcases, tcase, struct torture_tcase *); + DLIST_ADD_END(suite->testcases, tcase); return true; } @@ -617,7 +617,7 @@ struct torture_tcase *torture_suite_add_simple_tcase_const( test->data = data; test->dangerous = false; - DLIST_ADD_END(tcase->tests, test, struct torture_test *); + DLIST_ADD_END(tcase->tests, test); return tcase; } @@ -651,7 +651,7 @@ struct torture_tcase *torture_suite_add_simple_test( test->fn = run; test->dangerous = false; - DLIST_ADD_END(tcase->tests, test, struct torture_test *); + DLIST_ADD_END(tcase->tests, test); return tcase; } @@ -665,7 +665,7 @@ bool torture_suite_add_suite(struct torture_suite *suite, if (child == NULL) return false; - DLIST_ADD_END(suite->children, child, struct torture_suite *); + DLIST_ADD_END(suite->children, child); /* FIXME: Check for duplicates and return false if the * added suite already exists as a child */ @@ -716,7 +716,7 @@ struct torture_test *torture_tcase_add_simple_test_const( test->data = NULL; test->dangerous = false; - DLIST_ADD_END(tcase->tests, test, struct torture_test *); + DLIST_ADD_END(tcase->tests, test); return test; } @@ -747,7 +747,7 @@ struct torture_test *torture_tcase_add_simple_test(struct torture_tcase *tcase, test->data = NULL; test->dangerous = false; - DLIST_ADD_END(tcase->tests, test, struct torture_test *); + DLIST_ADD_END(tcase->tests, test); return test; } diff --git a/lib/util/dlinklist.h b/lib/util/dlinklist.h index 5520901..316ba10 100644 --- a/lib/util/dlinklist.h +++ b/lib/util/dlinklist.h @@ -131,9 +131,8 @@ do { \ /* add to the end of a list. - Note that 'type' is ignored */ -#define DLIST_ADD_END(list, p, type) \ +#define DLIST_ADD_END(list, p) \ do { \ if (!(list)) { \ DLIST_ADD(list, p); \ @@ -156,7 +155,7 @@ do { \ #define DLIST_DEMOTE(list, p, type) \ do { \ DLIST_REMOVE(list, p); \ - DLIST_ADD_END(list, p, NULL); \ + DLIST_ADD_END(list, p); \ } while (0) /* diff --git a/lib/util/tests/dlinklist.c b/lib/util/tests/dlinklist.c index bef61d2..462f4a7 100644 --- a/lib/util/tests/dlinklist.c +++ b/lib/util/tests/dlinklist.c @@ -43,7 +43,7 @@ static bool torture_local_dlinklist_simple(struct torture_context *tctx) torture_comment(tctx, "add 5 elements at end\n"); for (i=0; i<5; i++) { el = talloc(mem_ctx, struct listel); - DLIST_ADD_END(l1, el, NULL); + DLIST_ADD_END(l1, el); } torture_comment(tctx, "delete 3 from front\n"); @@ -57,7 +57,7 @@ static bool torture_local_dlinklist_simple(struct torture_context *tctx) for (i=0; i < 3; i++) { el = DLIST_TAIL(l1); DLIST_REMOVE(l1, el); - DLIST_ADD_END(l2, el, NULL); + DLIST_ADD_END(l2, el); } torture_comment(tctx, "count forward\n"); diff --git a/libcli/cldap/cldap.c b/libcli/cldap/cldap.c index dd9d40b..c5977cc 100644 --- a/libcli/cldap/cldap.c +++ b/libcli/cldap/cldap.c @@ -675,7 +675,7 @@ struct tevent_req *cldap_search_send(TALLOC_CTX *mem_ctx, } tevent_req_set_callback(subreq, cldap_search_state_queue_done, req); - DLIST_ADD_END(cldap->searches.list, state, struct cldap_search_state *); + DLIST_ADD_END(cldap->searches.list, state); return req; diff --git a/libcli/nbt/nbtsocket.c b/libcli/nbt/nbtsocket.c index 6c62739..dacacae 100644 --- a/libcli/nbt/nbtsocket.c +++ b/libcli/nbt/nbtsocket.c @@ -127,8 +127,7 @@ static void nbt_name_socket_timeout(struct tevent_context *ev, struct tevent_tim nbt_name_socket_timeout, req); if (req->state != NBT_REQUEST_SEND) { req->state = NBT_REQUEST_SEND; - DLIST_ADD_END(req->nbtsock->send_queue, req, - struct nbt_name_request *); + DLIST_ADD_END(req->nbtsock->send_queue, req); } TEVENT_FD_WRITEABLE(req->nbtsock->fde); return; @@ -418,7 +417,7 @@ struct nbt_name_request *nbt_name_request_send(struct nbt_name_socket *nbtsock, (ndr_push_flags_fn_t)ndr_push_nbt_name_packet); if (!NDR_ERR_CODE_IS_SUCCESS(ndr_err)) goto failed; - DLIST_ADD_END(nbtsock->send_queue, req, struct nbt_name_request *); + DLIST_ADD_END(nbtsock->send_queue, req); if (DEBUGLVL(10)) { DEBUG(10,("Queueing nbt packet to %s:%d\n", @@ -469,7 +468,7 @@ _PUBLIC_ NTSTATUS nbt_name_reply_send(struct nbt_name_socket *nbtsock, return ndr_map_error2ntstatus(ndr_err); } - DLIST_ADD_END(nbtsock->send_queue, req, struct nbt_name_request *); + DLIST_ADD_END(nbtsock->send_queue, req); TEVENT_FD_WRITEABLE(nbtsock->fde); diff --git a/libcli/smb/smbXcli_base.c b/libcli/smb/smbXcli_base.c index 5fc380e..ad6a254 100644 --- a/libcli/smb/smbXcli_base.c +++ b/libcli/smb/smbXcli_base.c @@ -5264,7 +5264,7 @@ struct smbXcli_session *smbXcli_session_create(TALLOC_CTX *mem_ctx, } talloc_set_destructor(session, smbXcli_session_destructor); - DLIST_ADD_END(conn->sessions, session, struct smbXcli_session *); + DLIST_ADD_END(conn->sessions, session); session->conn = conn; memcpy(session->smb2_channel.preauth_sha512, @@ -5294,7 +5294,7 @@ struct smbXcli_session *smbXcli_session_copy(TALLOC_CTX *mem_ctx, session->smb2_channel = src->smb2_channel; session->disconnect_expired = src->disconnect_expired; - DLIST_ADD_END(src->conn->sessions, session, struct smbXcli_session *); + DLIST_ADD_END(src->conn->sessions, session); talloc_set_destructor(session, smbXcli_session_destructor); return session; @@ -5793,7 +5793,7 @@ NTSTATUS smb2cli_session_create_channel(TALLOC_CTX *mem_ctx, } talloc_set_destructor(session2, smbXcli_session_destructor); - DLIST_ADD_END(conn->sessions, session2, struct smbXcli_session *); + DLIST_ADD_END(conn->sessions, session2); session2->conn = conn; memcpy(session2->smb2_channel.preauth_sha512, diff --git a/source3/auth/auth.c b/source3/auth/auth.c index 00261f7..833eae9 100644 --- a/source3/auth/auth.c +++ b/source3/auth/auth.c @@ -436,7 +436,7 @@ static NTSTATUS make_auth_context_text_list(TALLOC_CTX *mem_ctx, for (;*text_list; text_list++) { if (load_auth_module(*auth_context, *text_list, &t)) { - DLIST_ADD_END(list, t, auth_methods *); + DLIST_ADD_END(list, t); } } diff --git a/source3/auth/pampass.c b/source3/auth/pampass.c index 2a3195c..1a82fe7 100644 --- a/source3/auth/pampass.c +++ b/source3/auth/pampass.c @@ -237,7 +237,7 @@ static struct chat_struct *make_pw_chat(const char *p) ZERO_STRUCTP(t); - DLIST_ADD_END(list, t, struct chat_struct*); + DLIST_ADD_END(list, t); if (!next_token_talloc(frame, &p, &prompt, NULL)) { break; diff --git a/source3/lib/smbldap.c b/source3/lib/smbldap.c index 1560f65..5a876e0 100644 --- a/source3/lib/smbldap.c +++ b/source3/lib/smbldap.c @@ -545,7 +545,7 @@ static void smbldap_store_state(LDAP *ld, struct smbldap_state *smbldap_state) t = SMB_XMALLOC_P(struct smbldap_state_lookup); ZERO_STRUCTP(t); - DLIST_ADD_END(smbldap_state_lookup_list, t, struct smbldap_state_lookup *); + DLIST_ADD_END(smbldap_state_lookup_list, t); t->ld = ld; t->smbldap_state = smbldap_state; } diff --git a/source3/lib/unix_msg/unix_msg.c b/source3/lib/unix_msg/unix_msg.c index cb648ed..bcfef28 100644 --- a/source3/lib/unix_msg/unix_msg.c +++ b/source3/lib/unix_msg/unix_msg.c @@ -495,7 +495,7 @@ static int queue_msg(struct unix_dgram_send_queue *q, msghdr_copy(hdr, msghdrlen, NULL, 0, iov, iovcnt, fds_copy, num_fds); - DLIST_ADD_END(q->msgs, msg, struct unix_dgram_msg); + DLIST_ADD_END(q->msgs, msg); return 0; fail: close_fd_array(fds_copy, num_fds); diff --git a/source3/lib/util_ea.c b/source3/lib/util_ea.c index e980e69..136291b 100644 --- a/source3/lib/util_ea.c +++ b/source3/lib/util_ea.c @@ -103,7 +103,7 @@ struct ea_list *read_nttrans_ea_list(TALLOC_CTX *ctx, const char *pdata, size_t return NULL; } - DLIST_ADD_END(ea_list_head, eal, struct ea_list *); + DLIST_ADD_END(ea_list_head, eal); if (next_offset == 0) { break; } diff --git a/source3/libsmb/clidfs.c b/source3/libsmb/clidfs.c index d3b0580..d2a4c19 100644 --- a/source3/libsmb/clidfs.c +++ b/source3/libsmb/clidfs.c @@ -329,7 +329,7 @@ static NTSTATUS cli_cm_connect(TALLOC_CTX *ctx, /* Enter into the list. */ if (referring_cli) { - DLIST_ADD_END(referring_cli, cli, struct cli_state *); + DLIST_ADD_END(referring_cli, cli); } if (referring_cli && referring_cli->requested_posix_capabilities) { diff --git a/source3/libsmb/clireadwrite.c b/source3/libsmb/clireadwrite.c index 79bf416..3514154 100644 --- a/source3/libsmb/clireadwrite.c +++ b/source3/libsmb/clireadwrite.c @@ -437,7 +437,7 @@ static void cli_pull_setup_chunks(struct tevent_req *req) state->next_offset += chunk->total_size; state->remaining -= chunk->total_size; - DLIST_ADD_END(state->chunks, chunk, NULL); + DLIST_ADD_END(state->chunks, chunk); state->num_chunks++; state->num_waiting++; @@ -1250,7 +1250,7 @@ static void cli_push_setup_chunks(struct tevent_req *req) } state->next_offset += chunk->total_size; - DLIST_ADD_END(state->chunks, chunk, NULL); + DLIST_ADD_END(state->chunks, chunk); state->num_chunks++; state->num_waiting++; diff --git a/source3/modules/vfs_aio_pthread.c b/source3/modules/vfs_aio_pthread.c index 10a3a23..7037b63 100644 --- a/source3/modules/vfs_aio_pthread.c +++ b/source3/modules/vfs_aio_pthread.c @@ -341,7 +341,7 @@ static struct aio_open_private_data *create_private_open_data(const files_struct } talloc_set_destructor(opd, opd_destructor); - DLIST_ADD_END(open_pd_list, opd, struct aio_open_private_data *); + DLIST_ADD_END(open_pd_list, opd); return opd; } diff --git a/source3/nmbd/nmbd_browserdb.c b/source3/nmbd/nmbd_browserdb.c index b36f5c7..b883f56 100644 --- a/source3/nmbd/nmbd_browserdb.c +++ b/source3/nmbd/nmbd_browserdb.c @@ -120,7 +120,7 @@ struct browse_cache_record *create_browser_in_lmb_cache( const char *work_name, browc->ip = ip; - DLIST_ADD_END(lmb_browserlist, browc, struct browse_cache_record *); + DLIST_ADD_END(lmb_browserlist, browc); DEBUG(3, ("nmbd_browserdb:create_browser_in_lmb_cache()\n")); DEBUGADD(3, (" Added lmb cache entry for workgroup %s name %s IP %s " diff --git a/source3/nmbd/nmbd_packets.c b/source3/nmbd/nmbd_packets.c index 9f5cc18..b608354 100644 --- a/source3/nmbd/nmbd_packets.c +++ b/source3/nmbd/nmbd_packets.c @@ -1033,7 +1033,7 @@ void reply_netbios_packet(struct packet_struct *orig_packet, void queue_packet(struct packet_struct *packet) { - DLIST_ADD_END(packet_queue, packet, struct packet_struct *); + DLIST_ADD_END(packet_queue, packet); } /**************************************************************************** diff --git a/source3/nmbd/nmbd_responserecordsdb.c b/source3/nmbd/nmbd_responserecordsdb.c index bd18850..4753bbf 100644 --- a/source3/nmbd/nmbd_responserecordsdb.c +++ b/source3/nmbd/nmbd_responserecordsdb.c @@ -37,7 +37,7 @@ static void add_response_record(struct subnet_record *subrec, DEBUG(4,("add_response_record: adding response record id:%hu to subnet %s. num_records:%d\n", rrec->response_id, subrec->subnet_name, num_response_packets)); - DLIST_ADD_END(subrec->responselist, rrec, struct response_record *); + DLIST_ADD_END(subrec->responselist, rrec); } /*************************************************************************** diff --git a/source3/nmbd/nmbd_serverlistdb.c b/source3/nmbd/nmbd_serverlistdb.c index cd84bdf..43471d6 100644 --- a/source3/nmbd/nmbd_serverlistdb.c +++ b/source3/nmbd/nmbd_serverlistdb.c @@ -54,7 +54,7 @@ void remove_all_servers(struct work_record *work) static void add_server_to_workgroup(struct work_record *work, struct server_record *servrec) { - DLIST_ADD_END(work->serverlist, servrec, struct server_record *); + DLIST_ADD_END(work->serverlist, servrec); work->subnet->work_changed = True; } diff --git a/source3/param/loadparm.c b/source3/param/loadparm.c index 605555e..50b29e3 100644 --- a/source3/param/loadparm.c +++ b/source3/param/loadparm.c @@ -466,7 +466,7 @@ bool store_lp_set_cmdline(const char *pszParmName, const char *pszParmValue) return false; } - DLIST_ADD_END(stored_options, entry, struct lp_stored_option); + DLIST_ADD_END(stored_options, entry); return true; } diff --git a/source3/printing/notify.c b/source3/printing/notify.c index 930e72b..d2c5f72 100644 --- a/source3/printing/notify.c +++ b/source3/printing/notify.c @@ -331,7 +331,7 @@ to notify_queue_head\n", msg->type, msg->field, msg->printer)); * the messages are sent in the order they were received. JRA. */ - DLIST_ADD_END(notify_queue_head, pnqueue, struct notify_queue *); + DLIST_ADD_END(notify_queue_head, pnqueue); num_messages++; if ((notify_event == NULL) && (ev != NULL)) { diff --git a/source3/registry/regfio.c b/source3/registry/regfio.c index c895bc4..9bb89ff 100644 --- a/source3/registry/regfio.c +++ b/source3/registry/regfio.c @@ -1852,7 +1852,7 @@ static int hashrec_cmp( REGF_HASH_REC *h1, REGF_HASH_REC *h2 ) nk->sec_desc->size = ndr_size_security_descriptor(sec_desc, 0) + sizeof(uint32_t); - DLIST_ADD_END( file->sec_desc_list, nk->sec_desc, REGF_SK_REC *); + DLIST_ADD_END( file->sec_desc_list, nk->sec_desc); /* update the offsets for us and the previous sd in the list. if this is the first record, then just set the next and prev diff --git a/source3/rpc_server/fss/srv_fss_agent.c b/source3/rpc_server/fss/srv_fss_agent.c index 19578cc..68a5143 100644 --- a/source3/rpc_server/fss/srv_fss_agent.c +++ b/source3/rpc_server/fss/srv_fss_agent.c @@ -247,8 +247,7 @@ static NTSTATUS fss_prune_stale(struct messaging_context *msg_ctx, while (sc_smap != NULL) { struct fss_sc_smap *smap_next = sc_smap->next; DLIST_REMOVE(sc->smaps, sc_smap); - DLIST_ADD_END(prunable_sc_smaps, sc_smap, - struct fss_sc_smap *); + DLIST_ADD_END(prunable_sc_smaps, sc_smap); sc->smaps_count--; sc_smap = smap_next; } @@ -668,7 +667,7 @@ uint32_t _fss_StartShadowCopySet(struct pipes_struct *p, } sc_set->state = FSS_SC_STARTED; sc_set->context = fss_global.cur_ctx; - DLIST_ADD_END(fss_global.sc_sets, sc_set, struct fss_sc_set *); + DLIST_ADD_END(fss_global.sc_sets, sc_set); fss_global.sc_sets_count++; DEBUG(6, ("%s: shadow-copy set %u added\n", sc_set->id_str, fss_global.sc_sets_count)); @@ -864,10 +863,10 @@ uint32_t _fss_AddToShadowCopySet(struct pipes_struct *p, } /* add share map to shadow-copy */ - DLIST_ADD_END(sc->smaps, sc_smap, struct fss_sc_smap *); + DLIST_ADD_END(sc->smaps, sc_smap); sc->smaps_count++; /* add shadow-copy to shadow-copy set */ - DLIST_ADD_END(sc_set->scs, sc, struct fss_sc *); + DLIST_ADD_END(sc_set->scs, sc); sc_set->scs_count++; DEBUG(4, ("added volume %s to shadow copy set with GUID %s\n", sc->volume_name, sc_set->id_str)); diff --git a/source3/rpc_server/fss/srv_fss_state.c b/source3/rpc_server/fss/srv_fss_state.c index 97604f3..0f2ef0e 100644 --- a/source3/rpc_server/fss/srv_fss_state.c +++ b/source3/rpc_server/fss/srv_fss_state.c @@ -437,7 +437,7 @@ static int fss_state_retrieve_traverse(struct db_record *rec, if (!NT_STATUS_IS_OK(status)) { return -1; } - DLIST_ADD_END(trv_state->smaps, smap, struct fss_sc_smap *); + DLIST_ADD_END(trv_state->smaps, smap); trv_state->smaps_count++; } else if (strstr((char *)key.dptr, FSS_DB_KEY_PFX_SC) != NULL) { struct fss_sc *sc; @@ -446,7 +446,7 @@ static int fss_state_retrieve_traverse(struct db_record *rec, if (!NT_STATUS_IS_OK(status)) { return -1; } - DLIST_ADD_END(trv_state->scs, sc, struct fss_sc *); + DLIST_ADD_END(trv_state->scs, sc); trv_state->scs_count++; } else if (strstr((char *)key.dptr, FSS_DB_KEY_PFX_SC_SET) != NULL) { struct fss_sc_set *sc_set; @@ -455,7 +455,7 @@ static int fss_state_retrieve_traverse(struct db_record *rec, if (!NT_STATUS_IS_OK(status)) { return -1; } - DLIST_ADD_END(trv_state->sc_sets, sc_set, struct fss_sc_set *); + DLIST_ADD_END(trv_state->sc_sets, sc_set); trv_state->sc_sets_count++; } else { /* global context and db vers */ @@ -487,7 +487,7 @@ static NTSTATUS fss_state_hierarchize_smaps(struct fss_traverse_state *trv_state talloc_steal(sc, smap); DLIST_REMOVE(trv_state->smaps, smap); trv_state->smaps_count--; - DLIST_ADD_END(sc->smaps, smap, struct fss_sc_smap *); + DLIST_ADD_END(sc->smaps, smap); smaps_moved++; /* last component of the tdb key path is the sc share name */ @@ -527,7 +527,7 @@ static NTSTATUS fss_state_hierarchize_scs(struct fss_traverse_state *trv_state, talloc_steal(sc_set, sc); DLIST_REMOVE(trv_state->scs, sc); trv_state->scs_count--; - DLIST_ADD_END(sc_set->scs, sc, struct fss_sc *); + DLIST_ADD_END(sc_set->scs, sc); scs_moved++; sc->sc_set = sc_set; @@ -575,7 +575,7 @@ static NTSTATUS fss_state_hierarchize(struct fss_traverse_state *trv_state, /* sc_set mem already owned by trv_state->mem_ctx */ DLIST_REMOVE(trv_state->sc_sets, sc_set); trv_state->sc_sets_count--; - DLIST_ADD_END(*sc_sets, sc_set, struct fss_sc_set *); + DLIST_ADD_END(*sc_sets, sc_set); i++; /* last component of the tdb key path is the sc_set GUID str */ diff --git a/source3/smbd/blocking.c b/source3/smbd/blocking.c index 4fd8e1d..1e3a596 100644 --- a/source3/smbd/blocking.c +++ b/source3/smbd/blocking.c @@ -238,7 +238,7 @@ bool push_blocking_lock_request( struct byte_range_lock *br_lck, SMB_PERFCOUNT_DEFER_OP(&req->pcd, &req->pcd); blr->req = talloc_move(blr, &req); - DLIST_ADD_END(sconn->smb1.locks.blocking_lock_queue, blr, struct blocking_lock_record *); + DLIST_ADD_END(sconn->smb1.locks.blocking_lock_queue, blr); recalc_brl_timeout(sconn); /* Ensure we'll receive messages when this is unlocked. */ diff --git a/source3/smbd/notify.c b/source3/smbd/notify.c index 6257260..d7382db 100644 --- a/source3/smbd/notify.c +++ b/source3/smbd/notify.c @@ -327,8 +327,7 @@ NTSTATUS change_notify_add_request(struct smb_request *req, request->reply_fn = reply_fn; request->backend_data = NULL; - DLIST_ADD_END(fsp->notify->requests, request, - struct notify_change_request *); + DLIST_ADD_END(fsp->notify->requests, request); map->mid = request->req->mid; DLIST_ADD(sconn->smb1.notify_mid_maps, map); diff --git a/source3/smbd/posix_acls.c b/source3/smbd/posix_acls.c index 8c19169..0ec645f 100644 --- a/source3/smbd/posix_acls.c +++ b/source3/smbd/posix_acls.c @@ -1688,7 +1688,7 @@ static bool add_current_ace_to_acl(files_struct *fsp, struct security_ace *psa, (SEC_ACE_FLAG_OBJECT_INHERIT|SEC_ACE_FLAG_CONTAINER_INHERIT)) { canon_ace *current_dir_ace = current_ace; - DLIST_ADD_END(*dir_ace, current_ace, canon_ace *); + DLIST_ADD_END(*dir_ace, current_ace); /* * Note if this was an allow ace. We can't process @@ -1790,7 +1790,7 @@ static bool add_current_ace_to_acl(files_struct *fsp, struct security_ace *psa, */ if (current_ace && !(psa->flags & SEC_ACE_FLAG_INHERIT_ONLY)) { - DLIST_ADD_END(*file_ace, current_ace, canon_ace *); + DLIST_ADD_END(*file_ace, current_ace); /* * Note if this was an allow ace. We can't process diff --git a/source3/smbd/process.c b/source3/smbd/process.c index ee88b58..25c6d05 100644 --- a/source3/smbd/process.c +++ b/source3/smbd/process.c @@ -750,8 +750,7 @@ static bool push_queued_message(struct smb_request *req, } #endif - DLIST_ADD_END(req->sconn->deferred_open_queue, msg, - struct pending_message_list *); + DLIST_ADD_END(req->sconn->deferred_open_queue, msg); DEBUG(10,("push_message: pushed message length %u on " "deferred_open_queue\n", (unsigned int)msg_len)); @@ -3873,7 +3872,7 @@ NTSTATUS smbd_add_connection(struct smbXsrv_client *client, int sock_fd, } /* for now we only have one connection */ - DLIST_ADD_END(client->connections, xconn, NULL); + DLIST_ADD_END(client->connections, xconn); xconn->client = client; talloc_steal(client, xconn); diff --git a/source3/smbd/server.c b/source3/smbd/server.c index 1dd4f89..42fcad6 100644 --- a/source3/smbd/server.c +++ b/source3/smbd/server.c @@ -846,7 +846,7 @@ static bool smbd_open_one_socket(struct smbd_parent_context *parent, } tevent_fd_set_close_fn(s->fde, smbd_open_socket_close_fn); - DLIST_ADD_END(parent->sockets, s, struct smbd_open_socket *); + DLIST_ADD_END(parent->sockets, s); return true; } diff --git a/source3/smbd/smb2_server.c b/source3/smbd/smb2_server.c index 58f933b..ac922a1 100644 --- a/source3/smbd/smb2_server.c +++ b/source3/smbd/smb2_server.c @@ -1050,7 +1050,7 @@ static NTSTATUS smbd_smb2_request_setup_out(struct smbd_smb2_request *req) return NT_STATUS_INVALID_PARAMETER_MIX; } - DLIST_ADD_END(xconn->smb2.requests, req, struct smbd_smb2_request *); + DLIST_ADD_END(xconn->smb2.requests, req); return NT_STATUS_OK; } @@ -1304,7 +1304,7 @@ static NTSTATUS smb2_send_async_interim_response(const struct smbd_smb2_request nreq->queue_entry.mem_ctx = nreq; nreq->queue_entry.vector = nreq->out.vector; nreq->queue_entry.count = nreq->out.vector_count; - DLIST_ADD_END(xconn->smb2.send_queue, &nreq->queue_entry, NULL); + DLIST_ADD_END(xconn->smb2.send_queue, &nreq->queue_entry); xconn->smb2.send_queue_len++; status = smbd_smb2_flush_send_queue(xconn); @@ -1691,7 +1691,7 @@ static void smbd_smb2_request_pending_timer(struct tevent_context *ev, state->queue_entry.mem_ctx = state; state->queue_entry.vector = state->vector; state->queue_entry.count = ARRAY_SIZE(state->vector); - DLIST_ADD_END(xconn->smb2.send_queue, &state->queue_entry, NULL); + DLIST_ADD_END(xconn->smb2.send_queue, &state->queue_entry); xconn->smb2.send_queue_len++; status = smbd_smb2_flush_send_queue(xconn); @@ -2762,7 +2762,7 @@ static NTSTATUS smbd_smb2_request_reply(struct smbd_smb2_request *req) req->queue_entry.mem_ctx = req; req->queue_entry.vector = req->out.vector; req->queue_entry.count = req->out.vector_count; - DLIST_ADD_END(xconn->smb2.send_queue, &req->queue_entry, NULL); + DLIST_ADD_END(xconn->smb2.send_queue, &req->queue_entry); xconn->smb2.send_queue_len++; status = smbd_smb2_flush_send_queue(xconn); @@ -3104,7 +3104,7 @@ static NTSTATUS smbd_smb2_send_break(struct smbXsrv_connection *xconn, state->queue_entry.mem_ctx = state; state->queue_entry.vector = state->vector; state->queue_entry.count = ARRAY_SIZE(state->vector); - DLIST_ADD_END(xconn->smb2.send_queue, &state->queue_entry, NULL); + DLIST_ADD_END(xconn->smb2.send_queue, &state->queue_entry); xconn->smb2.send_queue_len++; status = smbd_smb2_flush_send_queue(xconn); diff --git a/source3/smbd/smbXsrv_session.c b/source3/smbd/smbXsrv_session.c index 9f8520a..732388b 100644 --- a/source3/smbd/smbXsrv_session.c +++ b/source3/smbd/smbXsrv_session.c @@ -1470,7 +1470,7 @@ NTSTATUS smbXsrv_session_create_auth(struct smbXsrv_session *session, } talloc_set_destructor(a, smbXsrv_session_auth0_destructor); - DLIST_ADD_END(session->pending_auth, a, NULL); + DLIST_ADD_END(session->pending_auth, a); *_a = a; return NT_STATUS_OK; diff --git a/source3/smbd/trans2.c b/source3/smbd/trans2.c index 75be763..ab6e118 100644 --- a/source3/smbd/trans2.c +++ b/source3/smbd/trans2.c @@ -394,7 +394,7 @@ static NTSTATUS get_ea_list_from_file_path(TALLOC_CTX *mem_ctx, connection_struc "= %u\n", (unsigned int)*pea_total_len, dos_ea_name, (unsigned int)listp->ea.value.length)); - DLIST_ADD_END(ea_list_head, listp, struct ea_list *); + DLIST_ADD_END(ea_list_head, listp); } @@ -749,7 +749,7 @@ static struct ea_list *read_ea_name_list(TALLOC_CTX *ctx, const char *pdata, siz } offset += (namelen + 1); /* Go past the name + terminating zero. */ - DLIST_ADD_END(ea_list_head, eal, struct ea_list *); + DLIST_ADD_END(ea_list_head, eal); DEBUG(10,("read_ea_name_list: read ea name %s\n", eal->ea.name)); } @@ -773,7 +773,7 @@ static struct ea_list *read_ea_list(TALLOC_CTX *ctx, const char *pdata, size_t d return NULL; } - DLIST_ADD_END(ea_list_head, eal, struct ea_list *); + DLIST_ADD_END(ea_list_head, eal); offset += bytes_used; } diff --git a/source3/winbindd/winbindd_util.c b/source3/winbindd/winbindd_util.c index 57ee40c..8139daa 100644 --- a/source3/winbindd/winbindd_util.c +++ b/source3/winbindd/winbindd_util.c @@ -246,7 +246,7 @@ static struct winbindd_domain *add_trusted_domain(const char *domain_name, const } /* Link to domain list */ - DLIST_ADD_END(_domain_list, domain, struct winbindd_domain *); + DLIST_ADD_END(_domain_list, domain); wcache_tdc_add_domain( domain ); diff --git a/source4/auth/ntlm/auth.c b/source4/auth/ntlm/auth.c index 4627c3d..eeb2336 100644 --- a/source4/auth/ntlm/auth.c +++ b/source4/auth/ntlm/auth.c @@ -575,7 +575,7 @@ _PUBLIC_ NTSTATUS auth_context_create_methods(TALLOC_CTX *mem_ctx, const char * } method->auth_ctx = ctx; method->depth = i; - DLIST_ADD_END(ctx->methods, method, struct auth_method_context *); + DLIST_ADD_END(ctx->methods, method); } ctx->check_ntlm_password = auth_check_password_wrapper; diff --git a/source4/dns_server/dnsserver_common.c b/source4/dns_server/dnsserver_common.c index 19aa75a..095f01a 100644 --- a/source4/dns_server/dnsserver_common.c +++ b/source4/dns_server/dnsserver_common.c @@ -509,7 +509,7 @@ NTSTATUS dns_common_zones(struct ldb_context *samdb, talloc_free(z); continue; } - DLIST_ADD_END(new_list, z, NULL); + DLIST_ADD_END(new_list, z); } *zones_ret = new_list; diff --git a/source4/dsdb/common/util_trusts.c b/source4/dsdb/common/util_trusts.c index 73221eb..0e69ba2 100644 --- a/source4/dsdb/common/util_trusts.c +++ b/source4/dsdb/common/util_trusts.c @@ -2856,7 +2856,7 @@ NTSTATUS dsdb_trust_routing_table_load(struct ldb_context *sam_ctx, return status; } - DLIST_ADD_END(table->domains, d, NULL); + DLIST_ADD_END(table->domains, d); if (d->tdo->trust_attributes & LSA_TRUST_ATTRIBUTE_FOREST_TRANSITIVE) { struct ForestTrustInfo *fti = NULL; diff --git a/source4/dsdb/kcc/kcc_drs_replica_info.c b/source4/dsdb/kcc/kcc_drs_replica_info.c index ef64f82..3f16de8 100644 --- a/source4/dsdb/kcc/kcc_drs_replica_info.c +++ b/source4/dsdb/kcc/kcc_drs_replica_info.c @@ -468,7 +468,7 @@ static WERROR get_ncs_list(TALLOC_CTX *mem_ctx, nc_list_elem = talloc_zero(mem_ctx, struct ncList); W_ERROR_HAVE_NO_MEMORY(nc_list_elem); nc_list_elem->dn = nc_dn; - DLIST_ADD_END(*nc_list, nc_list_elem, struct ncList*); + DLIST_ADD_END(*nc_list, nc_list_elem); } else { /* ncs := getNCs() from ldb database. * getNCs() must return an array containing diff --git a/source4/dsdb/repl/drepl_notify.c b/source4/dsdb/repl/drepl_notify.c index 3f2c851..ee2e4c8 100644 --- a/source4/dsdb/repl/drepl_notify.c +++ b/source4/dsdb/repl/drepl_notify.c @@ -323,7 +323,7 @@ static WERROR dreplsrv_schedule_notify_sync(struct dreplsrv_service *service, op->replica_flags = replica_flags; op->schedule_time = time(NULL); - DLIST_ADD_END(service->ops.notifies, op, struct dreplsrv_notify_operation *); + DLIST_ADD_END(service->ops.notifies, op); talloc_steal(service, op); return WERR_OK; } diff --git a/source4/dsdb/repl/drepl_out_pull.c b/source4/dsdb/repl/drepl_out_pull.c index e64c91d..2da2673 100644 --- a/source4/dsdb/repl/drepl_out_pull.c +++ b/source4/dsdb/repl/drepl_out_pull.c @@ -127,7 +127,7 @@ WERROR dreplsrv_schedule_partition_pull_source(struct dreplsrv_service *s, op->cb_data = cb_data; op->schedule_time = time(NULL); - DLIST_ADD_END(s->ops.pending, op, struct dreplsrv_out_operation *); + DLIST_ADD_END(s->ops.pending, op); return WERR_OK; } diff --git a/source4/dsdb/repl/drepl_partitions.c b/source4/dsdb/repl/drepl_partitions.c index c822ba9..65b4843 100644 --- a/source4/dsdb/repl/drepl_partitions.c +++ b/source4/dsdb/repl/drepl_partitions.c @@ -345,7 +345,7 @@ WERROR dreplsrv_out_connection_attach(struct dreplsrv_service *s, return ntstatus_to_werror(nt_status); } - DLIST_ADD_END(s->connections, conn, struct dreplsrv_out_connection *); + DLIST_ADD_END(s->connections, conn); DEBUG(4,("dreplsrv_out_connection_attach(%s): create\n", hostname)); } else { @@ -425,7 +425,7 @@ static WERROR dreplsrv_partition_add_source_dsa(struct dreplsrv_service *s, } } - DLIST_ADD_END(*listp, source, struct dreplsrv_partition_source_dsa *); + DLIST_ADD_END(*listp, source); return WERR_OK; } diff --git a/source4/dsdb/repl/replicated_objects.c b/source4/dsdb/repl/replicated_objects.c index e670bb5..e9225f5 100644 --- a/source4/dsdb/repl/replicated_objects.c +++ b/source4/dsdb/repl/replicated_objects.c @@ -138,7 +138,7 @@ WERROR dsdb_repl_resolve_working_schema(struct ldb_context *ldb, } schema_list_item->obj = cur; - DLIST_ADD_END(schema_list, schema_list_item, struct schema_list); + DLIST_ADD_END(schema_list, schema_list_item); } /* resolve objects until all are resolved and in local schema */ diff --git a/source4/dsdb/samdb/ldb_modules/descriptor.c b/source4/dsdb/samdb/ldb_modules/descriptor.c index cc0a9c2..2baf4af 100644 --- a/source4/dsdb/samdb/ldb_modules/descriptor.c +++ b/source4/dsdb/samdb/ldb_modules/descriptor.c @@ -1049,9 +1049,9 @@ static int descriptor_extended_sec_desc_propagation(struct ldb_module *module, } if (parent_change != NULL) { - DLIST_ADD_END(parent_change->children, c, NULL); + DLIST_ADD_END(parent_change->children, c); } else { - DLIST_ADD_END(descriptor_private->changes, c, NULL); + DLIST_ADD_END(descriptor_private->changes, c); } return ldb_module_done(req, NULL, NULL, LDB_SUCCESS); diff --git a/source4/dsdb/samdb/ldb_modules/linked_attributes.c b/source4/dsdb/samdb/ldb_modules/linked_attributes.c index 63ccbde..8063162 100644 --- a/source4/dsdb/samdb/ldb_modules/linked_attributes.c +++ b/source4/dsdb/samdb/ldb_modules/linked_attributes.c @@ -219,7 +219,7 @@ static int la_store_op(struct la_context *ac, /* Do deletes before adds */ if (op == LA_OP_ADD) { - DLIST_ADD_END(ac->ops, os, struct la_op_store *); + DLIST_ADD_END(ac->ops, os); } else { /* By adding to the head of the list, we do deletes before * adds when processing a replace */ diff --git a/source4/dsdb/samdb/ldb_modules/secrets_tdb_sync.c b/source4/dsdb/samdb/ldb_modules/secrets_tdb_sync.c index 2cf262a..52c8aad 100644 --- a/source4/dsdb/samdb/ldb_modules/secrets_tdb_sync.c +++ b/source4/dsdb/samdb/ldb_modules/secrets_tdb_sync.c @@ -126,7 +126,7 @@ static int add_modified(struct ldb_module *module, struct ldb_dn *dn, bool do_de item->do_delete = do_delete; talloc_free(res); - DLIST_ADD_END(data->changed_dns, item, struct dn_list *); + DLIST_ADD_END(data->changed_dns, item); return LDB_SUCCESS; } diff --git a/source4/dsdb/samdb/ldb_modules/update_keytab.c b/source4/dsdb/samdb/ldb_modules/update_keytab.c index 42c3fa8..780eb81 100644 --- a/source4/dsdb/samdb/ldb_modules/update_keytab.c +++ b/source4/dsdb/samdb/ldb_modules/update_keytab.c @@ -122,7 +122,7 @@ static int add_modified(struct ldb_module *module, struct ldb_dn *dn, bool do_de item->do_delete = do_delete; talloc_free(res); - DLIST_ADD_END(data->changed_dns, item, struct dn_list *); + DLIST_ADD_END(data->changed_dns, item); return LDB_SUCCESS; } diff --git a/source4/dsdb/schema/schema_query.c b/source4/dsdb/schema/schema_query.c index 013878d..d448cdf 100644 --- a/source4/dsdb/schema/schema_query.c +++ b/source4/dsdb/schema/schema_query.c @@ -530,7 +530,7 @@ int dsdb_sort_objectClass_attr(struct ldb_context *ldb, /* Don't add top to list, we will do that later */ if (ldb_attr_cmp("top", current->objectclass->lDAPDisplayName) != 0) { - DLIST_ADD_END(unsorted, current, struct class_list *); + DLIST_ADD_END(unsorted, current); } } @@ -538,7 +538,7 @@ int dsdb_sort_objectClass_attr(struct ldb_context *ldb, /* Add top here, to prevent duplicates */ current = talloc(tmp_mem_ctx, struct class_list); current->objectclass = dsdb_class_by_lDAPDisplayName(schema, "top"); - DLIST_ADD_END(sorted, current, struct class_list *); + DLIST_ADD_END(sorted, current); /* For each object: find parent chain */ for (current = unsorted; current != NULL; current = current->next) { @@ -554,7 +554,7 @@ int dsdb_sort_objectClass_attr(struct ldb_context *ldb, new_parent = talloc(tmp_mem_ctx, struct class_list); new_parent->objectclass = dsdb_class_by_lDAPDisplayName(schema, current->objectclass->subClassOf); - DLIST_ADD_END(unsorted, new_parent, struct class_list *); + DLIST_ADD_END(unsorted, new_parent); } /* For each object: order by hierarchy */ @@ -582,7 +582,7 @@ int dsdb_sort_objectClass_attr(struct ldb_context *ldb, if (current_lowest != NULL) { DLIST_REMOVE(unsorted,current_lowest); - DLIST_ADD_END(sorted,current_lowest, struct class_list *); + DLIST_ADD_END(sorted,current_lowest); } } diff --git a/source4/ldap_server/ldap_backend.c b/source4/ldap_server/ldap_backend.c index fd2b579..7efb7ed 100644 --- a/source4/ldap_server/ldap_backend.c +++ b/source4/ldap_server/ldap_backend.c @@ -255,7 +255,7 @@ struct ldapsrv_reply *ldapsrv_init_reply(struct ldapsrv_call *call, uint8_t type void ldapsrv_queue_reply(struct ldapsrv_call *call, struct ldapsrv_reply *reply) { - DLIST_ADD_END(call->replies, reply, struct ldapsrv_reply *); + DLIST_ADD_END(call->replies, reply); } static NTSTATUS ldapsrv_unwilling(struct ldapsrv_call *call, int error) diff --git a/source4/lib/http/http.c b/source4/lib/http/http.c index c3bd728..c6976ee 100644 --- a/source4/lib/http/http.c +++ b/source4/lib/http/http.c @@ -357,7 +357,7 @@ static int http_add_header_internal(TALLOC_CTX *mem_ctx, h = talloc(mem_ctx, struct http_header); h->key = talloc_strdup(h, key); h->value = talloc_strdup(h, value); - DLIST_ADD_END(*headers, h, NULL); + DLIST_ADD_END(*headers, h); tail = DLIST_TAIL(*headers); if (tail != h) { DEBUG(0, ("%s: Error adding header\n", __func__)); diff --git a/source4/lib/socket/interface.c b/source4/lib/socket/interface.c index 9b0d00e..963c0aa 100644 --- a/source4/lib/socket/interface.c +++ b/source4/lib/socket/interface.c @@ -135,7 +135,7 @@ static void add_interface(TALLOC_CTX *mem_ctx, const struct iface_struct *ifs, s this needs to be a ADD_END, as some tests (such as the spoolss notify test) depend on the interfaces ordering */ - DLIST_ADD_END(*interfaces, iface, NULL); + DLIST_ADD_END(*interfaces, iface); } /** diff --git a/source4/lib/stream/packet.c b/source4/lib/stream/packet.c index b36d650..b050369 100644 --- a/source4/lib/stream/packet.c +++ b/source4/lib/stream/packet.c @@ -541,7 +541,7 @@ _PUBLIC_ NTSTATUS packet_send_callback(struct packet_context *pc, DATA_BLOB blob el = talloc(pc, struct send_element); NT_STATUS_HAVE_NO_MEMORY(el); - DLIST_ADD_END(pc->send_queue, el, struct send_element *); + DLIST_ADD_END(pc->send_queue, el); el->blob = blob; el->nsent = 0; el->send_callback = send_callback; diff --git a/source4/libcli/dgram/dgramsocket.c b/source4/libcli/dgram/dgramsocket.c index cd6d3e4..b6e7dd1 100644 --- a/source4/libcli/dgram/dgramsocket.c +++ b/source4/libcli/dgram/dgramsocket.c @@ -231,7 +231,7 @@ NTSTATUS nbt_dgram_send(struct nbt_dgram_socket *dgmsock, goto failed; } - DLIST_ADD_END(dgmsock->send_queue, req, struct nbt_dgram_request *); + DLIST_ADD_END(dgmsock->send_queue, req); TEVENT_FD_WRITEABLE(dgmsock->fde); diff --git a/source4/libcli/resolve/resolve.c b/source4/libcli/resolve/resolve.c index b5930aa..1390300 100644 --- a/source4/libcli/resolve/resolve.c +++ b/source4/libcli/resolve/resolve.c @@ -75,7 +75,7 @@ bool resolve_context_add_method(struct resolve_context *ctx, resolve_name_send_f method->send_fn = send_fn; method->recv_fn = recv_fn; method->privdata = userdata; - DLIST_ADD_END(ctx->methods, method, struct resolve_method *); + DLIST_ADD_END(ctx->methods, method); return true; } diff --git a/source4/librpc/rpc/dcerpc.c b/source4/librpc/rpc/dcerpc.c index 6ce0d35..33c3706 100644 --- a/source4/librpc/rpc/dcerpc.c +++ b/source4/librpc/rpc/dcerpc.c @@ -1245,7 +1245,7 @@ struct tevent_req *dcerpc_bind_send(TALLOC_CTX *mem_ctx, subreq->async.callback = dcerpc_bind_fail_handler; subreq->p = p; subreq->recv_handler = dcerpc_bind_recv_handler; - DLIST_ADD_END(p->conn->pending, subreq, struct rpc_request *); + DLIST_ADD_END(p->conn->pending, subreq); talloc_set_destructor(subreq, dcerpc_req_dequeue); status = dcerpc_send_request(p->conn, &blob, true); @@ -1603,7 +1603,7 @@ static struct rpc_request *dcerpc_request_send(TALLOC_CTX *mem_ctx, req->request_data.length = stub_data->length; req->request_data.data = stub_data->data; - DLIST_ADD_END(p->conn->request_queue, req, struct rpc_request *); + DLIST_ADD_END(p->conn->request_queue, req); talloc_set_destructor(req, dcerpc_req_dequeue); dcerpc_schedule_io_trigger(p->conn); @@ -2141,7 +2141,7 @@ struct tevent_req *dcerpc_alter_context_send(TALLOC_CTX *mem_ctx, subreq->async.callback = dcerpc_alter_context_fail_handler; subreq->p = p; subreq->recv_handler = dcerpc_alter_context_recv_handler; - DLIST_ADD_END(p->conn->pending, subreq, struct rpc_request *); + DLIST_ADD_END(p->conn->pending, subreq); talloc_set_destructor(subreq, dcerpc_req_dequeue); status = dcerpc_send_request(p->conn, &blob, true); diff --git a/source4/nbt_server/register.c b/source4/nbt_server/register.c index 07f4e20..08caa11 100644 --- a/source4/nbt_server/register.c +++ b/source4/nbt_server/register.c @@ -199,7 +199,7 @@ static void nbtd_register_name_iface(struct nbtd_interface *iface, iname->registration_time = timeval_zero(); iname->wins_server = NULL; - DLIST_ADD_END(iface->names, iname, struct nbtd_iface_name *); + DLIST_ADD_END(iface->names, iname); if (nb_flags & NBT_NM_PERMANENT) { /* permanent names are not announced and are immediately active */ diff --git a/source4/nbt_server/wins/winsserver.c b/source4/nbt_server/wins/winsserver.c index a60d5bd..98789c0 100644 --- a/source4/nbt_server/wins/winsserver.c +++ b/source4/nbt_server/wins/winsserver.c @@ -422,7 +422,7 @@ static void wins_register_wack(struct nbt_name_socket *nbtsock, s->io.in.addresses = winsdb_addr_string_list(s, rec->addresses); if (s->io.in.addresses == NULL) goto failed; - DLIST_ADD_END(iface->wack_queue, s, struct nbtd_wins_wack_state *); + DLIST_ADD_END(iface->wack_queue, s); talloc_set_destructor(s, nbtd_wins_wack_state_destructor); diff --git a/source4/ntvfs/ntvfs_base.c b/source4/ntvfs/ntvfs_base.c index 8058181..d037a0e 100644 --- a/source4/ntvfs/ntvfs_base.c +++ b/source4/ntvfs/ntvfs_base.c @@ -190,7 +190,7 @@ NTSTATUS ntvfs_init_connection(TALLOC_CTX *mem_ctx, struct share_config *scfg, e return NT_STATUS_INTERNAL_ERROR; } ntvfs->depth = i; - DLIST_ADD_END(ctx->modules, ntvfs, struct ntvfs_module_context *); + DLIST_ADD_END(ctx->modules, ntvfs); } if (!ctx->modules) { diff --git a/source4/ntvfs/posix/pvfs_notify.c b/source4/ntvfs/posix/pvfs_notify.c index 316353f..91a151b 100644 --- a/source4/ntvfs/posix/pvfs_notify.c +++ b/source4/ntvfs/posix/pvfs_notify.c @@ -278,7 +278,7 @@ NTSTATUS pvfs_notify(struct ntvfs_module_context *ntvfs, NT_STATUS_HAVE_NO_MEMORY(pending->req); pending->info = info; - DLIST_ADD_END(f->notify_buffer->pending, pending, struct notify_pending *); + DLIST_ADD_END(f->notify_buffer->pending, pending); /* if the buffer is empty then start waiting */ if (f->notify_buffer->num_changes == 0 && diff --git a/source4/rpc_server/common/reply.c b/source4/rpc_server/common/reply.c index 007b680..59c289c 100644 --- a/source4/rpc_server/common/reply.c +++ b/source4/rpc_server/common/reply.c @@ -67,13 +67,13 @@ static void dcesrv_call_set_list(struct dcesrv_call_state *call, case DCESRV_LIST_NONE: break; case DCESRV_LIST_CALL_LIST: - DLIST_ADD_END(call->conn->call_list, call, struct dcesrv_call_state *); + DLIST_ADD_END(call->conn->call_list, call); break; case DCESRV_LIST_FRAGMENTED_CALL_LIST: - DLIST_ADD_END(call->conn->incoming_fragmented_call_list, call, struct dcesrv_call_state *); + DLIST_ADD_END(call->conn->incoming_fragmented_call_list, call); break; case DCESRV_LIST_PENDING_CALL_LIST: - DLIST_ADD_END(call->conn->pending_call_list, call, struct dcesrv_call_state *); + DLIST_ADD_END(call->conn->pending_call_list, call); break; } } @@ -130,7 +130,7 @@ NTSTATUS dcesrv_fault(struct dcesrv_call_state *call, uint32_t fault_code) dcerpc_set_frag_length(&rep->blob, rep->blob.length); - DLIST_ADD_END(call->replies, rep, struct data_blob_list_item *); + DLIST_ADD_END(call->replies, rep); dcesrv_call_set_list(call, DCESRV_LIST_CALL_LIST); if (call->conn->call_list && call->conn->call_list->replies) { @@ -238,7 +238,7 @@ _PUBLIC_ NTSTATUS dcesrv_reply(struct dcesrv_call_state *call) dcerpc_set_frag_length(&rep->blob, rep->blob.length); - DLIST_ADD_END(call->replies, rep, struct data_blob_list_item *); + DLIST_ADD_END(call->replies, rep); stub.data += length; stub.length -= length; diff --git a/source4/rpc_server/dcerpc_server.c b/source4/rpc_server/dcerpc_server.c index ad1e82d..df0ffc8 100644 --- a/source4/rpc_server/dcerpc_server.c +++ b/source4/rpc_server/dcerpc_server.c @@ -439,13 +439,13 @@ static void dcesrv_call_set_list(struct dcesrv_call_state *call, case DCESRV_LIST_NONE: break; case DCESRV_LIST_CALL_LIST: - DLIST_ADD_END(call->conn->call_list, call, struct dcesrv_call_state *); + DLIST_ADD_END(call->conn->call_list, call); break; case DCESRV_LIST_FRAGMENTED_CALL_LIST: - DLIST_ADD_END(call->conn->incoming_fragmented_call_list, call, struct dcesrv_call_state *); + DLIST_ADD_END(call->conn->incoming_fragmented_call_list, call); break; case DCESRV_LIST_PENDING_CALL_LIST: - DLIST_ADD_END(call->conn->pending_call_list, call, struct dcesrv_call_state *); + DLIST_ADD_END(call->conn->pending_call_list, call); break; } } @@ -486,7 +486,7 @@ static NTSTATUS dcesrv_bind_nak(struct dcesrv_call_state *call, uint32_t reason) dcerpc_set_frag_length(&rep->blob, rep->blob.length); - DLIST_ADD_END(call->replies, rep, struct data_blob_list_item *); + DLIST_ADD_END(call->replies, rep); dcesrv_call_set_list(call, DCESRV_LIST_CALL_LIST); if (call->conn->call_list && call->conn->call_list->replies) { @@ -695,7 +695,7 @@ static NTSTATUS dcesrv_bind(struct dcesrv_call_state *call) dcerpc_set_frag_length(&rep->blob, rep->blob.length); - DLIST_ADD_END(call->replies, rep, struct data_blob_list_item *); + DLIST_ADD_END(call->replies, rep); dcesrv_call_set_list(call, DCESRV_LIST_CALL_LIST); if (call->conn->call_list && call->conn->call_list->replies) { @@ -860,7 +860,7 @@ static NTSTATUS dcesrv_alter_resp(struct dcesrv_call_state *call, dcerpc_set_frag_length(&rep->blob, rep->blob.length); - DLIST_ADD_END(call->replies, rep, struct data_blob_list_item *); + DLIST_ADD_END(call->replies, rep); dcesrv_call_set_list(call, DCESRV_LIST_CALL_LIST); if (call->conn->call_list && call->conn->call_list->replies) { @@ -1393,7 +1393,7 @@ static void dcesrv_terminate_connection(struct dcesrv_connection *dce_conn, cons if (dce_conn->terminate == NULL) { dce_conn->terminate = "dcesrv: defered terminating connection - no memory"; } - DLIST_ADD_END(dce_ctx->broken_connections, dce_conn, NULL); + DLIST_ADD_END(dce_ctx->broken_connections, dce_conn); } static void dcesrv_cleanup_broken_connections(struct dcesrv_context *dce_ctx) diff --git a/source4/rpc_server/dnsserver/dcerpc_dnsserver.c b/source4/rpc_server/dnsserver/dcerpc_dnsserver.c index 3df7294..a4b82e5 100644 --- a/source4/rpc_server/dnsserver/dcerpc_dnsserver.c +++ b/source4/rpc_server/dnsserver/dcerpc_dnsserver.c @@ -62,14 +62,14 @@ static void dnsserver_reload_zones(struct dnsserver_state *dsstate) if (z->zoneinfo == NULL) { continue; } - DLIST_ADD_END(new_list, z, NULL); + DLIST_ADD_END(new_list, z); p->zones_count++; dsstate->zones_count++; } else { /* Existing zone */ talloc_free(z); DLIST_REMOVE(old_list, zmatch); - DLIST_ADD_END(new_list, zmatch, NULL); + DLIST_ADD_END(new_list, zmatch); } z = znext; } @@ -146,7 +146,7 @@ static struct dnsserver_state *dnsserver_connect(struct dcesrv_call_state *dce_c if (z->zoneinfo == NULL) { goto failed; } - DLIST_ADD_END(dsstate->zones, z, NULL); + DLIST_ADD_END(dsstate->zones, z); p->zones_count++; dsstate->zones_count++; } else { diff --git a/source4/rpc_server/dnsserver/dnsdb.c b/source4/rpc_server/dnsserver/dnsdb.c index e567f5a..0a76030 100644 --- a/source4/rpc_server/dnsserver/dnsdb.c +++ b/source4/rpc_server/dnsserver/dnsdb.c @@ -53,7 +53,7 @@ struct dnsserver_partition *dnsserver_db_enumerate_partitions(TALLOC_CTX *mem_ct p->dwDpFlags = DNS_DP_AUTOCREATED | DNS_DP_DOMAIN_DEFAULT | DNS_DP_ENLISTED; p->is_forest = false; - DLIST_ADD_END(partitions, p, NULL); + DLIST_ADD_END(partitions, p); /* Forest Partition */ p = talloc_zero(mem_ctx, struct dnsserver_partition); @@ -70,7 +70,7 @@ struct dnsserver_partition *dnsserver_db_enumerate_partitions(TALLOC_CTX *mem_ct p->dwDpFlags = DNS_DP_AUTOCREATED | DNS_DP_FOREST_DEFAULT | DNS_DP_ENLISTED; p->is_forest = true; - DLIST_ADD_END(partitions, p, NULL); + DLIST_ADD_END(partitions, p); return partitions; @@ -136,7 +136,7 @@ struct dnsserver_zone *dnsserver_db_enumerate_zones(TALLOC_CTX *mem_ctx, } z->zone_dn = talloc_steal(z, res->msgs[i]->dn); - DLIST_ADD_END(zones, z, NULL); + DLIST_ADD_END(zones, z); DEBUG(2, ("dnsserver: Found DNS zone %s\n", z->name)); } diff --git a/source4/smb_server/smb2/receive.c b/source4/smb_server/smb2/receive.c index 9187310..3e5dc4d 100644 --- a/source4/smb_server/smb2/receive.c +++ b/source4/smb_server/smb2/receive.c @@ -618,7 +618,7 @@ NTSTATUS smb2srv_queue_pending(struct smb2srv_request *req) return NT_STATUS_INSUFFICIENT_RESOURCES; } - DLIST_ADD_END(req->smb_conn->requests2.list, req, struct smb2srv_request *); + DLIST_ADD_END(req->smb_conn->requests2.list, req); req->pending_id = id; talloc_set_destructor(req, smb2srv_request_deny_destructor); diff --git a/source4/smb_server/smb_server.h b/source4/smb_server/smb_server.h index ab55544..40af4a6 100644 --- a/source4/smb_server/smb_server.h +++ b/source4/smb_server/smb_server.h @@ -475,7 +475,7 @@ struct loadparm_context; #define SMBSRV_CALL_NTVFS_BACKEND(cmd) do { \ req->ntvfs->async_states->status = cmd; \ if (req->ntvfs->async_states->state & NTVFS_ASYNC_STATE_ASYNC) { \ - DLIST_ADD_END(req->smb_conn->requests, req, struct smbsrv_request *); \ + DLIST_ADD_END(req->smb_conn->requests, req); \ } else { \ req->ntvfs->async_states->send_fn(req->ntvfs); \ } \ diff --git a/source4/smbd/service.c b/source4/smbd/service.c index 9cdbbc2..81ad3c5 100644 --- a/source4/smbd/service.c +++ b/source4/smbd/service.c @@ -44,7 +44,7 @@ NTSTATUS register_server_service(const char *name, NT_STATUS_HAVE_NO_MEMORY(srv); srv->service_name = name; srv->task_init = task_init; - DLIST_ADD_END(registered_servers, srv, struct registered_server *); + DLIST_ADD_END(registered_servers, srv); return NT_STATUS_OK; } diff --git a/source4/torture/local/fsrvp_state.c b/source4/torture/local/fsrvp_state.c index 3a08543..a806e64 100644 --- a/source4/torture/local/fsrvp_state.c +++ b/source4/torture/local/fsrvp_state.c @@ -298,12 +298,12 @@ static bool test_fsrvp_state_single(struct torture_context *tctx) ok = test_fsrvp_state_smap(tctx, sc, "base_share", "sc_share", &smap); torture_assert(tctx, ok, "failed to create smap"); - DLIST_ADD_END(fss_gs.sc_sets, sc_set, struct fss_sc_set *); + DLIST_ADD_END(fss_gs.sc_sets, sc_set); fss_gs.sc_sets_count++; - DLIST_ADD_END(sc_set->scs, sc, struct fss_sc *); + DLIST_ADD_END(sc_set->scs, sc); sc_set->scs_count++; sc->sc_set = sc_set; - DLIST_ADD_END(sc->smaps, smap, struct fss_sc_smap *); + DLIST_ADD_END(sc->smaps, smap); sc->smaps_count++; status = fss_state_store(fss_gs.mem_ctx, fss_gs.sc_sets, @@ -392,23 +392,23 @@ static bool test_fsrvp_state_multi(struct torture_context *tctx) &smap_abb); torture_assert(tctx, ok, "failed to create smap"); - DLIST_ADD_END(fss_gs.sc_sets, sc_set_a, struct fss_sc_set *); + DLIST_ADD_END(fss_gs.sc_sets, sc_set_a); fss_gs.sc_sets_count++; - DLIST_ADD_END(fss_gs.sc_sets, sc_set_b, struct fss_sc_set *); + DLIST_ADD_END(fss_gs.sc_sets, sc_set_b); fss_gs.sc_sets_count++; - DLIST_ADD_END(sc_set_a->scs, sc_aa, struct fss_sc *); + DLIST_ADD_END(sc_set_a->scs, sc_aa); sc_set_a->scs_count++; sc_aa->sc_set = sc_set_a; - DLIST_ADD_END(sc_set_a->scs, sc_ab, struct fss_sc *); + DLIST_ADD_END(sc_set_a->scs, sc_ab); sc_set_a->scs_count++; sc_ab->sc_set = sc_set_a; - DLIST_ADD_END(sc_aa->smaps, smap_aaa, struct fss_sc_smap *); + DLIST_ADD_END(sc_aa->smaps, smap_aaa); sc_aa->smaps_count++; - DLIST_ADD_END(sc_ab->smaps, smap_aba, struct fss_sc_smap *); + DLIST_ADD_END(sc_ab->smaps, smap_aba); sc_ab->smaps_count++; - DLIST_ADD_END(sc_ab->smaps, smap_abb, struct fss_sc_smap *); + DLIST_ADD_END(sc_ab->smaps, smap_abb); sc_ab->smaps_count++; status = fss_state_store(fss_gs.mem_ctx, fss_gs.sc_sets, diff --git a/source4/torture/nbench/nbio.c b/source4/torture/nbench/nbio.c index c9b369e..1de988e 100644 --- a/source4/torture/nbench/nbio.c +++ b/source4/torture/nbench/nbio.c @@ -521,7 +521,7 @@ static bool nb_do_createx(struct ftable *f, f = talloc (NULL, struct ftable); f->locks = NULL; nb_set_createx_params(f, fname, create_options, create_disposition, handle); - DLIST_ADD_END(ftable, f, struct ftable *); + DLIST_ADD_END(ftable, f); } f->handle = handle; @@ -653,7 +653,7 @@ static bool nb_do_lockx(bool relock, int handle, off_t offset, int size, NTSTATU linfo = talloc (f, struct lock_info); linfo->offset = offset; linfo->size = size; - DLIST_ADD_END(f->locks, linfo, struct lock_info *); + DLIST_ADD_END(f->locks, linfo); } return true; diff --git a/source4/torture/nbt/wins.c b/source4/torture/nbt/wins.c index d0ae9cd..8c847b5 100644 --- a/source4/torture/nbt/wins.c +++ b/source4/torture/nbt/wins.c @@ -169,8 +169,7 @@ static bool nbt_test_wins_name(struct torture_context *tctx, const char *address * and not handle it as new request */ req->state = NBT_REQUEST_SEND; - DLIST_ADD_END(nbtsock->send_queue, req, - struct nbt_name_request *); + DLIST_ADD_END(nbtsock->send_queue, req); TEVENT_FD_WRITEABLE(nbtsock->fde); break; } diff --git a/source4/torture/ndr/ndr.c b/source4/torture/ndr/ndr.c index 4147c7d..dac550e 100644 --- a/source4/torture/ndr/ndr.c +++ b/source4/torture/ndr/ndr.c @@ -130,7 +130,7 @@ _PUBLIC_ struct torture_test *_torture_suite_add_ndr_pullpush_test( test->fn = check_fn; test->dangerous = false; - DLIST_ADD_END(tcase->tests, test, struct torture_test *); + DLIST_ADD_END(tcase->tests, test); return test; } @@ -226,7 +226,7 @@ _PUBLIC_ struct torture_test *_torture_suite_add_ndr_pull_inout_test( test->fn = check_fn; test->dangerous = false; - DLIST_ADD_END(tcase->tests, test, struct torture_test *); + DLIST_ADD_END(tcase->tests, test); return test; } diff --git a/source4/torture/rpc/spoolss_notify.c b/source4/torture/rpc/spoolss_notify.c index 930a599..945e653 100644 --- a/source4/torture/rpc/spoolss_notify.c +++ b/source4/torture/rpc/spoolss_notify.c @@ -140,7 +140,7 @@ static NTSTATUS spoolss__op_dispatch(struct dcesrv_call_state *dce_call, TALLOC_ rp->opnum = opnum; rp->r = talloc_reference(rp, r); - DLIST_ADD_END(received_packets, rp, struct received_packet *); + DLIST_ADD_END(received_packets, rp); switch (opnum) { case 58: { diff --git a/source4/torture/smb2/smb2.c b/source4/torture/smb2/smb2.c index 0124cf1..90029c7 100644 --- a/source4/torture/smb2/smb2.c +++ b/source4/torture/smb2/smb2.c @@ -74,7 +74,7 @@ struct torture_test *torture_suite_add_1smb2_test(struct torture_suite *suite, test->fn = run; test->dangerous = false; - DLIST_ADD_END(tcase->tests, test, struct torture_test *); + DLIST_ADD_END(tcase->tests, test); return test; } @@ -138,7 +138,7 @@ struct torture_test *torture_suite_add_2smb2_test(struct torture_suite *suite, test->fn = run; test->dangerous = false; - DLIST_ADD_END(tcase->tests, test, struct torture_test *); + DLIST_ADD_END(tcase->tests, test); return test; } diff --git a/source4/torture/util_smb.c b/source4/torture/util_smb.c index 0520f27..32de753 100644 --- a/source4/torture/util_smb.c +++ b/source4/torture/util_smb.c @@ -783,7 +783,7 @@ _PUBLIC_ struct torture_test *torture_suite_add_smb_multi_test( test->fn = run; test->dangerous = false; - DLIST_ADD_END(tcase->tests, test, struct torture_test *); + DLIST_ADD_END(tcase->tests, test); return test; @@ -834,7 +834,7 @@ _PUBLIC_ struct torture_test *torture_suite_add_2smb_test( test->fn = run; test->dangerous = false; - DLIST_ADD_END(tcase->tests, test, struct torture_test *); + DLIST_ADD_END(tcase->tests, test); return test; @@ -878,7 +878,7 @@ _PUBLIC_ struct torture_test *torture_suite_add_1smb_test( test->fn = run; test->dangerous = false; - DLIST_ADD_END(tcase->tests, test, struct torture_test *); + DLIST_ADD_END(tcase->tests, test); return test; } diff --git a/source4/torture/vfs/vfs.c b/source4/torture/vfs/vfs.c index 9b82387..f3ce447 100644 --- a/source4/torture/vfs/vfs.c +++ b/source4/torture/vfs/vfs.c @@ -94,7 +94,7 @@ struct torture_test *torture_suite_add_2ns_smb2_test(struct torture_suite *suite test->fn = run; test->dangerous = false; - DLIST_ADD_END(tcase->tests, test, struct torture_test *); + DLIST_ADD_END(tcase->tests, test); return test; } diff --git a/source4/wrepl_server/wrepl_server.c b/source4/wrepl_server/wrepl_server.c index e28afc6..75a927a 100644 --- a/source4/wrepl_server/wrepl_server.c +++ b/source4/wrepl_server/wrepl_server.c @@ -192,7 +192,7 @@ NTSTATUS wreplsrv_load_partners(struct wreplsrv_service *service) partner->address = address; talloc_steal(partner, partner->address); - DLIST_ADD_END(service->partners, partner, struct wreplsrv_partner *); + DLIST_ADD_END(service->partners, partner); } partner->name = ldb_msg_find_attr_as_string(res->msgs[i], "name", partner->address); @@ -328,7 +328,7 @@ NTSTATUS wreplsrv_add_table(struct wreplsrv_service *service, cur->partner = wreplsrv_find_partner(service, wins_owner); - DLIST_ADD_END(table, cur, struct wreplsrv_owner *); + DLIST_ADD_END(table, cur); *_table = table; } -- 1.9.1 From a1b4719a60f303edfba086a7bede0480a2a17669 Mon Sep 17 00:00:00 2001 From: Michael Adam Date: Fri, 5 Feb 2016 11:37:42 +0100 Subject: [PATCH 02/16] tevent: remove unneeded type argument from DLIST_ADD_END Signed-off-by: Michael Adam Reviewed-by: Jeremy Allison (cherry picked from commit a091c0ac6891a1ec3e15af7808a9c19533bcfb7c) --- lib/tevent/tevent_immediate.c | 2 +- lib/tevent/tevent_queue.c | 2 +- lib/tevent/tevent_util.h | 5 ++--- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/lib/tevent/tevent_immediate.c b/lib/tevent/tevent_immediate.c index 1ac293e..9ff5322 100644 --- a/lib/tevent/tevent_immediate.c +++ b/lib/tevent/tevent_immediate.c @@ -88,7 +88,7 @@ void tevent_common_schedule_immediate(struct tevent_immediate *im, im->cancel_fn = NULL; im->additional_data = NULL; - DLIST_ADD_END(ev->immediate_events, im, struct tevent_immediate *); + DLIST_ADD_END(ev->immediate_events, im); talloc_set_destructor(im, tevent_common_immediate_destructor); tevent_debug(ev, TEVENT_DEBUG_TRACE, diff --git a/lib/tevent/tevent_queue.c b/lib/tevent/tevent_queue.c index 35742e5..cefe91a 100644 --- a/lib/tevent/tevent_queue.c +++ b/lib/tevent/tevent_queue.c @@ -195,7 +195,7 @@ static struct tevent_queue_entry *tevent_queue_add_internal( allow_direct = false; } - DLIST_ADD_END(queue->list, e, struct tevent_queue_entry *); + DLIST_ADD_END(queue->list, e); queue->length++; talloc_set_destructor(e, tevent_queue_entry_destructor); diff --git a/lib/tevent/tevent_util.h b/lib/tevent/tevent_util.h index 6f91983..12b6de7 100644 --- a/lib/tevent/tevent_util.h +++ b/lib/tevent/tevent_util.h @@ -131,9 +131,8 @@ do { \ /* add to the end of a list. - Note that 'type' is ignored */ -#define DLIST_ADD_END(list, p, type) \ +#define DLIST_ADD_END(list, p) \ do { \ if (!(list)) { \ DLIST_ADD(list, p); \ @@ -156,7 +155,7 @@ do { \ #define DLIST_DEMOTE(list, p, type) \ do { \ DLIST_REMOVE(list, p); \ - DLIST_ADD_END(list, p, NULL); \ + DLIST_ADD_END(list, p); \ } while (0) /* -- 1.9.1 From 3c6cc0991f2ee75e619dc952a979aaee9cf53c12 Mon Sep 17 00:00:00 2001 From: Michael Adam Date: Fri, 5 Feb 2016 11:35:38 +0100 Subject: [PATCH 03/16] ldb: remove unneeded type arg from DLIST_ADD_END Signed-off-by: Michael Adam Reviewed-by: Jeremy Allison (cherry picked from commit 66af807fc45114d422d73c751a94e72117555113) --- lib/ldb/common/ldb_match.c | 2 +- lib/ldb/common/ldb_modules.c | 6 +++--- lib/ldb/include/dlinklist.h | 5 ++--- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/lib/ldb/common/ldb_match.c b/lib/ldb/common/ldb_match.c index c4f5580..e83ad63 100644 --- a/lib/ldb/common/ldb_match.c +++ b/lib/ldb/common/ldb_match.c @@ -713,7 +713,7 @@ int ldb_register_extended_match_rule(struct ldb_context *ldb, return LDB_ERR_OPERATIONS_ERROR; } entry->rule = rule; - DLIST_ADD_END(ldb->extended_match_rules, entry, struct ldb_extended_match_entry); + DLIST_ADD_END(ldb->extended_match_rules, entry); return LDB_SUCCESS; } diff --git a/lib/ldb/common/ldb_modules.c b/lib/ldb/common/ldb_modules.c index 91412a6..2105966 100644 --- a/lib/ldb/common/ldb_modules.c +++ b/lib/ldb/common/ldb_modules.c @@ -162,7 +162,7 @@ int ldb_register_backend(const char *url_prefix, ldb_connect_fn connectfn, bool talloc_free(be); return LDB_ERR_OPERATIONS_ERROR; } - DLIST_ADD_END(ldb_backends, be, struct backends_list_entry); + DLIST_ADD_END(ldb_backends, be); } be->ops->name = url_prefix; @@ -240,7 +240,7 @@ int ldb_register_hook(ldb_hook_fn hook_fn) return LDB_ERR_OPERATIONS_ERROR; } lc->hook_fn = hook_fn; - DLIST_ADD_END(ldb_hooks, lc, struct ldb_hooks); + DLIST_ADD_END(ldb_hooks, lc); return LDB_SUCCESS; } @@ -926,7 +926,7 @@ static int ldb_modules_load_path(const char *path, const char *version) le->st_ino = st.st_ino; le->st_dev = st.st_dev; - DLIST_ADD_END(loaded, le, struct loaded); + DLIST_ADD_END(loaded, le); /* if it is a directory, recurse */ if (S_ISDIR(st.st_mode)) { diff --git a/lib/ldb/include/dlinklist.h b/lib/ldb/include/dlinklist.h index f640b0f..82fda19 100644 --- a/lib/ldb/include/dlinklist.h +++ b/lib/ldb/include/dlinklist.h @@ -135,9 +135,8 @@ do { \ /* add to the end of a list. - Note that 'type' is ignored */ -#define DLIST_ADD_END(list, p, type) \ +#define DLIST_ADD_END(list, p) \ do { \ if (!(list)) { \ DLIST_ADD(list, p); \ @@ -160,7 +159,7 @@ do { \ #define DLIST_DEMOTE(list, p, type) \ do { \ DLIST_REMOVE(list, p); \ - DLIST_ADD_END(list, p, NULL); \ + DLIST_ADD_END(list, p); \ } while (0) /* -- 1.9.1 From d913406c515cbda5d761d3dd010076e7905b0f26 Mon Sep 17 00:00:00 2001 From: Michael Adam Date: Fri, 5 Feb 2016 11:52:36 +0100 Subject: [PATCH 04/16] dlist: remove unneeded argument from DLIST_DEMOTE() Signed-off-by: Michael Adam Reviewed-by: Jeremy Allison (cherry picked from commit d6f5fc8c2d3db3daa2209850ef0487e822c7bb92) --- lib/util/dlinklist.h | 3 +-- lib/util/tests/dlinklist.c | 2 +- source3/lib/events.c | 2 +- source3/smbd/posix_acls.c | 8 ++++---- 4 files changed, 7 insertions(+), 8 deletions(-) diff --git a/lib/util/dlinklist.h b/lib/util/dlinklist.h index 316ba10..f3528a3 100644 --- a/lib/util/dlinklist.h +++ b/lib/util/dlinklist.h @@ -150,9 +150,8 @@ do { \ /* demote an element to the end of a list. - Note that 'type' is ignored */ -#define DLIST_DEMOTE(list, p, type) \ +#define DLIST_DEMOTE(list, p) \ do { \ DLIST_REMOVE(list, p); \ DLIST_ADD_END(list, p); \ diff --git a/lib/util/tests/dlinklist.c b/lib/util/tests/dlinklist.c index 462f4a7..f743607 100644 --- a/lib/util/tests/dlinklist.c +++ b/lib/util/tests/dlinklist.c @@ -87,7 +87,7 @@ static bool torture_local_dlinklist_simple(struct torture_context *tctx) torture_assert(tctx, el2->next->next == el, "3rd in list"); torture_comment(tctx, "check DLIST_DEMOTE\n"); - DLIST_DEMOTE(l1, el, NULL); + DLIST_DEMOTE(l1, el); torture_assert(tctx, el->next == NULL, "last in list"); torture_assert(tctx, el2->prev == el, "backlink from head"); diff --git a/source3/lib/events.c b/source3/lib/events.c index 0bc56e4..2e862ca 100644 --- a/source3/lib/events.c +++ b/source3/lib/events.c @@ -253,7 +253,7 @@ bool run_events_poll(struct tevent_context *ev, int pollrtn, flags |= TEVENT_FD_WRITE; } if (flags & fde->flags) { - DLIST_DEMOTE(ev->fd_events, fde, struct tevent_fd); + DLIST_DEMOTE(ev->fd_events, fde); fde->handler(ev, fde, flags, fde->private_data); return true; } diff --git a/source3/smbd/posix_acls.c b/source3/smbd/posix_acls.c index 0ec645f..0c9c749 100644 --- a/source3/smbd/posix_acls.c +++ b/source3/smbd/posix_acls.c @@ -2319,7 +2319,7 @@ static void process_deny_list(connection_struct *conn, canon_ace **pp_ace_list ) curr_ace->attr = ALLOW_ACE; curr_ace->perms = (mode_t)0; - DLIST_DEMOTE(ace_list, curr_ace, canon_ace *); + DLIST_DEMOTE(ace_list, curr_ace); continue; } @@ -2344,7 +2344,7 @@ static void process_deny_list(connection_struct *conn, canon_ace **pp_ace_list ) curr_ace->attr = ALLOW_ACE; curr_ace->perms = (new_perms & ~curr_ace->perms); - DLIST_DEMOTE(ace_list, curr_ace, canon_ace *); + DLIST_DEMOTE(ace_list, curr_ace); } /* Pass 3 above - deal with deny group entries. */ @@ -2391,7 +2391,7 @@ static void process_deny_list(connection_struct *conn, canon_ace **pp_ace_list ) curr_ace->perms = allow_everyone_p->perms & ~curr_ace->perms; else curr_ace->perms = (mode_t)0; - DLIST_DEMOTE(ace_list, curr_ace, canon_ace *); + DLIST_DEMOTE(ace_list, curr_ace); } /* Doing this fourth pass allows Windows semantics to be layered @@ -2589,7 +2589,7 @@ static void arrange_posix_perms(const char *filename, canon_ace **pp_list_head) } if (other_ace) { - DLIST_DEMOTE(l_head, other_ace, canon_ace *); + DLIST_DEMOTE(l_head, other_ace); } /* We have probably changed the head of the list. */ -- 1.9.1 From 57cf3ac180362c5189f6707f7d8ea36645e605bc Mon Sep 17 00:00:00 2001 From: Michael Adam Date: Fri, 5 Feb 2016 11:53:11 +0100 Subject: [PATCH 05/16] ldb: remove uneeded type argument from DLIST_DEMOTE() Signed-off-by: Michael Adam Reviewed-by: Jeremy Allison (cherry picked from commit a1c5d662d4846a66f70d9a48b86fdda95264b30e) --- lib/ldb/include/dlinklist.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/ldb/include/dlinklist.h b/lib/ldb/include/dlinklist.h index 82fda19..34d4db9 100644 --- a/lib/ldb/include/dlinklist.h +++ b/lib/ldb/include/dlinklist.h @@ -154,9 +154,8 @@ do { \ /* demote an element to the end of a list. - Note that 'type' is ignored */ -#define DLIST_DEMOTE(list, p, type) \ +#define DLIST_DEMOTE(list, p) \ do { \ DLIST_REMOVE(list, p); \ DLIST_ADD_END(list, p); \ -- 1.9.1 From b99b7b76ceac5752185e6c708b2f93e37a6b9dd1 Mon Sep 17 00:00:00 2001 From: Michael Adam Date: Fri, 5 Feb 2016 11:53:30 +0100 Subject: [PATCH 06/16] tevent: remove uneeded type argument from DLIST_DEMOTE() Signed-off-by: Michael Adam Reviewed-by: Jeremy Allison (cherry picked from commit be2a341d43158999667de90f7c84b6c21d6c5dc6) --- lib/tevent/tevent_poll.c | 2 +- lib/tevent/tevent_select.c | 2 +- lib/tevent/tevent_util.h | 3 +-- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/lib/tevent/tevent_poll.c b/lib/tevent/tevent_poll.c index 9b1781f..e1c305d 100644 --- a/lib/tevent/tevent_poll.c +++ b/lib/tevent/tevent_poll.c @@ -601,7 +601,7 @@ static int poll_event_loop_poll(struct tevent_context *ev, */ flags &= fde->flags; if (flags != 0) { - DLIST_DEMOTE(ev->fd_events, fde, struct tevent_fd); + DLIST_DEMOTE(ev->fd_events, fde); fde->handler(ev, fde, flags, fde->private_data); return 0; } diff --git a/lib/tevent/tevent_select.c b/lib/tevent/tevent_select.c index 40a4dc0..ec7565d 100644 --- a/lib/tevent/tevent_select.c +++ b/lib/tevent/tevent_select.c @@ -219,7 +219,7 @@ static int select_event_loop_select(struct select_event_context *select_ev, stru flags |= TEVENT_FD_WRITE; } if (flags) { - DLIST_DEMOTE(select_ev->ev->fd_events, fde, struct tevent_fd); + DLIST_DEMOTE(select_ev->ev->fd_events, fde); fde->handler(select_ev->ev, fde, flags, fde->private_data); break; } diff --git a/lib/tevent/tevent_util.h b/lib/tevent/tevent_util.h index 12b6de7..04cd09e 100644 --- a/lib/tevent/tevent_util.h +++ b/lib/tevent/tevent_util.h @@ -150,9 +150,8 @@ do { \ /* demote an element to the end of a list. - Note that 'type' is ignored */ -#define DLIST_DEMOTE(list, p, type) \ +#define DLIST_DEMOTE(list, p) \ do { \ DLIST_REMOVE(list, p); \ DLIST_ADD_END(list, p); \ -- 1.9.1 From eb46718cd3c10cc555afe84500a02852dcef2bf3 Mon Sep 17 00:00:00 2001 From: Michael Adam Date: Fri, 5 Feb 2016 12:02:26 +0100 Subject: [PATCH 07/16] ldb: remove unneeded argument type from DLIST_CONCATENATE() Signed-off-by: Michael Adam Reviewed-by: Jeremy Allison (cherry picked from commit 1441824fe6a797e53fb182b00017a0f927ec42bf) --- lib/ldb/include/dlinklist.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/ldb/include/dlinklist.h b/lib/ldb/include/dlinklist.h index 34d4db9..1f5cbd0 100644 --- a/lib/ldb/include/dlinklist.h +++ b/lib/ldb/include/dlinklist.h @@ -164,9 +164,8 @@ do { \ /* concatenate two lists - putting all elements of the 2nd list at the end of the first list. - Note that 'type' is ignored */ -#define DLIST_CONCATENATE(list1, list2, type) \ +#define DLIST_CONCATENATE(list1, list2) \ do { \ if (!(list1)) { \ (list1) = (list2); \ -- 1.9.1 From 0068b3aeb881a7c0c5b5e504f640f3954be59f6d Mon Sep 17 00:00:00 2001 From: Michael Adam Date: Fri, 5 Feb 2016 12:02:54 +0100 Subject: [PATCH 08/16] tevent: remove unneeded type argument from DLIST_CONCATENATE() Signed-off-by: Michael Adam Reviewed-by: Jeremy Allison (cherry picked from commit 0f6c00b6aef6ca824696a77d427248d0fa1aad04) --- lib/tevent/tevent_util.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/lib/tevent/tevent_util.h b/lib/tevent/tevent_util.h index 04cd09e..b60f5b5 100644 --- a/lib/tevent/tevent_util.h +++ b/lib/tevent/tevent_util.h @@ -160,9 +160,8 @@ do { \ /* concatenate two lists - putting all elements of the 2nd list at the end of the first list. - Note that 'type' is ignored */ -#define DLIST_CONCATENATE(list1, list2, type) \ +#define DLIST_CONCATENATE(list1, list2) \ do { \ if (!(list1)) { \ (list1) = (list2); \ -- 1.9.1 From 7dc74085b524e338d94b61f04998ed1ed60cc328 Mon Sep 17 00:00:00 2001 From: Michael Adam Date: Fri, 5 Feb 2016 12:03:33 +0100 Subject: [PATCH 09/16] dlist: remove unneeded type argument from DLIST_CONCATENATE() Signed-off-by: Michael Adam Reviewed-by: Jeremy Allison (cherry picked from commit 2fd63ec80abd12a25ba652ff338c237c33668e33) --- lib/util/dlinklist.h | 3 +-- lib/util/tests/dlinklist.c | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/lib/util/dlinklist.h b/lib/util/dlinklist.h index f3528a3..0d95ae4 100644 --- a/lib/util/dlinklist.h +++ b/lib/util/dlinklist.h @@ -160,9 +160,8 @@ do { \ /* concatenate two lists - putting all elements of the 2nd list at the end of the first list. - Note that 'type' is ignored */ -#define DLIST_CONCATENATE(list1, list2, type) \ +#define DLIST_CONCATENATE(list1, list2) \ do { \ if (!(list1)) { \ (list1) = (list2); \ diff --git a/lib/util/tests/dlinklist.c b/lib/util/tests/dlinklist.c index f743607..50adab3 100644 --- a/lib/util/tests/dlinklist.c +++ b/lib/util/tests/dlinklist.c @@ -100,7 +100,7 @@ static bool torture_local_dlinklist_simple(struct torture_context *tctx) torture_assert_int_equal(tctx, i, 6, "should have 6 elements"); torture_comment(tctx, "check DLIST_CONCATENATE\n"); - DLIST_CONCATENATE(l1, l2, NULL); + DLIST_CONCATENATE(l1, l2); torture_comment(tctx, "count forward\n"); for (i=0,el=l1; el; el=el->next) i++; torture_assert_int_equal(tctx, i, 12, "should have 12 elements"); -- 1.9.1 From 305b993be029ba50ca1942f82e7d772eb67b382a Mon Sep 17 00:00:00 2001 From: Michael Adam Date: Fri, 5 Feb 2016 12:04:44 +0100 Subject: [PATCH 10/16] dlist: remove outdated comment about type argument Signed-off-by: Michael Adam Reviewed-by: Jeremy Allison (cherry picked from commit 025c59db066dc6d45beade963254b6be52e85f32) --- lib/util/dlinklist.h | 4 ---- 1 file changed, 4 deletions(-) diff --git a/lib/util/dlinklist.h b/lib/util/dlinklist.h index 0d95ae4..8a1b84d 100644 --- a/lib/util/dlinklist.h +++ b/lib/util/dlinklist.h @@ -53,10 +53,6 @@ This allows us to find the tail of the list by using list_head->prev, which means we can add to the end of the list in O(1) time - - - Note that the 'type' arguments below are no longer needed, but - are kept for now to prevent an incompatible argument change */ -- 1.9.1 From 7b6dad538609e717d00ffeb5cdb99948319325c4 Mon Sep 17 00:00:00 2001 From: Michael Adam Date: Fri, 5 Feb 2016 12:05:06 +0100 Subject: [PATCH 11/16] tevent: remove outdated comment about type argument in dlist Signed-off-by: Michael Adam Reviewed-by: Jeremy Allison (cherry picked from commit 310da05710ed498b1657978286ca409ad8487161) --- lib/tevent/tevent_util.h | 4 ---- 1 file changed, 4 deletions(-) diff --git a/lib/tevent/tevent_util.h b/lib/tevent/tevent_util.h index b60f5b5..e2cdbb8 100644 --- a/lib/tevent/tevent_util.h +++ b/lib/tevent/tevent_util.h @@ -53,10 +53,6 @@ This allows us to find the tail of the list by using list_head->prev, which means we can add to the end of the list in O(1) time - - - Note that the 'type' arguments below are no longer needed, but - are kept for now to prevent an incompatible argument change */ -- 1.9.1 From 51bc168e422d063561f0cb80ab6b6cf94d447d41 Mon Sep 17 00:00:00 2001 From: Michael Adam Date: Fri, 5 Feb 2016 12:05:26 +0100 Subject: [PATCH 12/16] ldb: remove outdated comment about type argument in dlist Signed-off-by: Michael Adam Reviewed-by: Jeremy Allison (cherry picked from commit d44f488317b431317963b42993cc56e2289a4d0d) --- lib/ldb/include/dlinklist.h | 4 ---- 1 file changed, 4 deletions(-) diff --git a/lib/ldb/include/dlinklist.h b/lib/ldb/include/dlinklist.h index 1f5cbd0..ef01aec 100644 --- a/lib/ldb/include/dlinklist.h +++ b/lib/ldb/include/dlinklist.h @@ -57,10 +57,6 @@ This allows us to find the tail of the list by using list_head->prev, which means we can add to the end of the list in O(1) time - - - Note that the 'type' arguments below are no longer needed, but - are kept for now to prevent an incompatible argument change */ -- 1.9.1 From 63809161fb9effe058782620ad551a25bcd359cf Mon Sep 17 00:00:00 2001 From: Nathan Huff Date: Fri, 5 Feb 2016 13:35:07 -0700 Subject: [PATCH 13/16] Fix ETIME handling for Solaris event ports. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It is possible for port_getn to return -1 with errno set to ETIME and still return events. If those events aren't processed the association is lost by samba since the kernel dissacociated them and samba never processed them so never reassociated them with the event port. The patch checks the nget return value in the case of ETIME and if it is non 0 it doesn't return and goes through the event processing loop. Signed-off-by: Nathan Huff Reviewed-by: Ralph Boehme Reviewed-by: Jeremy Allison Autobuild-User(master): Ralph Böhme Autobuild-Date(master): Sun Feb 7 11:26:35 CET 2016 on sn-devel-144 (cherry picked from commit 4953b1f73f8ec9387516be1058434d71937e1447) --- lib/tevent/tevent_port.c | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/lib/tevent/tevent_port.c b/lib/tevent/tevent_port.c index 5b487d7..4b524df 100644 --- a/lib/tevent/tevent_port.c +++ b/lib/tevent/tevent_port.c @@ -496,10 +496,24 @@ static int port_event_loop(struct port_event_context *port_ev, struct timeval *t return 0; } - if (ret == -1 && port_errno == ETIME && tvalp) { - /* we don't care about a possible delay here */ - tevent_common_loop_timer_delay(ev); - return 0; + if (ret == -1 && port_errno == ETIME) { + /* + * If errno is set to ETIME it is possible that we still got an event. + * In that case we need to go through the processing loop so that we + * reassociate the received event with the port or the association will + * be lost so check the value of nget is 0 before returning. + */ + if (nget == 0) { + /* we don't care about a possible delay here */ + tevent_common_loop_timer_delay(ev); + return 0; + } + /* + * Set the return value to 0 since we do not actually have an error and we + * do have events that need to be processed. This keeps us from getting + * caught in the generic error test. + */ + ret = 0; } if (ret == -1) { -- 1.9.1 From d51e2541b0dd74d01666e4bb6f0c7fe2fa449134 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Mon, 15 Feb 2016 11:40:34 +0100 Subject: [PATCH 14/16] tevent: version 0.9.27 * Fix bug in poll backend - poll_event_loop_poll() exits the for loop on POLLNVAL instead of continuing to find an event that is ready. * Fix ETIME handling for Solaris event ports (bug #11728). Signed-off-by: Stefan Metzmacher Reviewed-by: Michael Adam Autobuild-User(master): Michael Adam Autobuild-Date(master): Tue Feb 16 00:00:51 CET 2016 on sn-devel-144 (cherry picked from commit 2267faddfa9863b205dfad580fbd45182916cb32) --- lib/tevent/ABI/tevent-0.9.27.sigs | 90 +++++++++++++++++++++++++++++++++++++++ lib/tevent/wscript | 2 +- 2 files changed, 91 insertions(+), 1 deletion(-) create mode 100644 lib/tevent/ABI/tevent-0.9.27.sigs diff --git a/lib/tevent/ABI/tevent-0.9.27.sigs b/lib/tevent/ABI/tevent-0.9.27.sigs new file mode 100644 index 0000000..1357751 --- /dev/null +++ b/lib/tevent/ABI/tevent-0.9.27.sigs @@ -0,0 +1,90 @@ +_tevent_add_fd: struct tevent_fd *(struct tevent_context *, TALLOC_CTX *, int, uint16_t, tevent_fd_handler_t, void *, const char *, const char *) +_tevent_add_signal: struct tevent_signal *(struct tevent_context *, TALLOC_CTX *, int, int, tevent_signal_handler_t, void *, const char *, const char *) +_tevent_add_timer: struct tevent_timer *(struct tevent_context *, TALLOC_CTX *, struct timeval, tevent_timer_handler_t, void *, const char *, const char *) +_tevent_create_immediate: struct tevent_immediate *(TALLOC_CTX *, const char *) +_tevent_loop_once: int (struct tevent_context *, const char *) +_tevent_loop_until: int (struct tevent_context *, bool (*)(void *), void *, const char *) +_tevent_loop_wait: int (struct tevent_context *, const char *) +_tevent_queue_create: struct tevent_queue *(TALLOC_CTX *, const char *, const char *) +_tevent_req_callback_data: void *(struct tevent_req *) +_tevent_req_cancel: bool (struct tevent_req *, const char *) +_tevent_req_create: struct tevent_req *(TALLOC_CTX *, void *, size_t, const char *, const char *) +_tevent_req_data: void *(struct tevent_req *) +_tevent_req_done: void (struct tevent_req *, const char *) +_tevent_req_error: bool (struct tevent_req *, uint64_t, const char *) +_tevent_req_nomem: bool (const void *, struct tevent_req *, const char *) +_tevent_req_notify_callback: void (struct tevent_req *, const char *) +_tevent_req_oom: void (struct tevent_req *, const char *) +_tevent_schedule_immediate: void (struct tevent_immediate *, struct tevent_context *, tevent_immediate_handler_t, void *, const char *, const char *) +tevent_backend_list: const char **(TALLOC_CTX *) +tevent_cleanup_pending_signal_handlers: void (struct tevent_signal *) +tevent_common_add_fd: struct tevent_fd *(struct tevent_context *, TALLOC_CTX *, int, uint16_t, tevent_fd_handler_t, void *, const char *, const char *) +tevent_common_add_signal: struct tevent_signal *(struct tevent_context *, TALLOC_CTX *, int, int, tevent_signal_handler_t, void *, const char *, const char *) +tevent_common_add_timer: struct tevent_timer *(struct tevent_context *, TALLOC_CTX *, struct timeval, tevent_timer_handler_t, void *, const char *, const char *) +tevent_common_add_timer_v2: struct tevent_timer *(struct tevent_context *, TALLOC_CTX *, struct timeval, tevent_timer_handler_t, void *, const char *, const char *) +tevent_common_check_signal: int (struct tevent_context *) +tevent_common_context_destructor: int (struct tevent_context *) +tevent_common_fd_destructor: int (struct tevent_fd *) +tevent_common_fd_get_flags: uint16_t (struct tevent_fd *) +tevent_common_fd_set_close_fn: void (struct tevent_fd *, tevent_fd_close_fn_t) +tevent_common_fd_set_flags: void (struct tevent_fd *, uint16_t) +tevent_common_loop_immediate: bool (struct tevent_context *) +tevent_common_loop_timer_delay: struct timeval (struct tevent_context *) +tevent_common_loop_wait: int (struct tevent_context *, const char *) +tevent_common_schedule_immediate: void (struct tevent_immediate *, struct tevent_context *, tevent_immediate_handler_t, void *, const char *, const char *) +tevent_context_init: struct tevent_context *(TALLOC_CTX *) +tevent_context_init_byname: struct tevent_context *(TALLOC_CTX *, const char *) +tevent_context_init_ops: struct tevent_context *(TALLOC_CTX *, const struct tevent_ops *, void *) +tevent_debug: void (struct tevent_context *, enum tevent_debug_level, const char *, ...) +tevent_fd_get_flags: uint16_t (struct tevent_fd *) +tevent_fd_set_auto_close: void (struct tevent_fd *) +tevent_fd_set_close_fn: void (struct tevent_fd *, tevent_fd_close_fn_t) +tevent_fd_set_flags: void (struct tevent_fd *, uint16_t) +tevent_get_trace_callback: void (struct tevent_context *, tevent_trace_callback_t *, void *) +tevent_loop_allow_nesting: void (struct tevent_context *) +tevent_loop_set_nesting_hook: void (struct tevent_context *, tevent_nesting_hook, void *) +tevent_num_signals: size_t (void) +tevent_queue_add: bool (struct tevent_queue *, struct tevent_context *, struct tevent_req *, tevent_queue_trigger_fn_t, void *) +tevent_queue_add_entry: struct tevent_queue_entry *(struct tevent_queue *, struct tevent_context *, struct tevent_req *, tevent_queue_trigger_fn_t, void *) +tevent_queue_add_optimize_empty: struct tevent_queue_entry *(struct tevent_queue *, struct tevent_context *, struct tevent_req *, tevent_queue_trigger_fn_t, void *) +tevent_queue_length: size_t (struct tevent_queue *) +tevent_queue_running: bool (struct tevent_queue *) +tevent_queue_start: void (struct tevent_queue *) +tevent_queue_stop: void (struct tevent_queue *) +tevent_queue_wait_recv: bool (struct tevent_req *) +tevent_queue_wait_send: struct tevent_req *(TALLOC_CTX *, struct tevent_context *, struct tevent_queue *) +tevent_re_initialise: int (struct tevent_context *) +tevent_register_backend: bool (const char *, const struct tevent_ops *) +tevent_req_default_print: char *(struct tevent_req *, TALLOC_CTX *) +tevent_req_defer_callback: void (struct tevent_req *, struct tevent_context *) +tevent_req_is_error: bool (struct tevent_req *, enum tevent_req_state *, uint64_t *) +tevent_req_is_in_progress: bool (struct tevent_req *) +tevent_req_poll: bool (struct tevent_req *, struct tevent_context *) +tevent_req_post: struct tevent_req *(struct tevent_req *, struct tevent_context *) +tevent_req_print: char *(TALLOC_CTX *, struct tevent_req *) +tevent_req_received: void (struct tevent_req *) +tevent_req_set_callback: void (struct tevent_req *, tevent_req_fn, void *) +tevent_req_set_cancel_fn: void (struct tevent_req *, tevent_req_cancel_fn) +tevent_req_set_cleanup_fn: void (struct tevent_req *, tevent_req_cleanup_fn) +tevent_req_set_endtime: bool (struct tevent_req *, struct tevent_context *, struct timeval) +tevent_req_set_print_fn: void (struct tevent_req *, tevent_req_print_fn) +tevent_sa_info_queue_count: size_t (void) +tevent_set_abort_fn: void (void (*)(const char *)) +tevent_set_debug: int (struct tevent_context *, void (*)(void *, enum tevent_debug_level, const char *, va_list), void *) +tevent_set_debug_stderr: int (struct tevent_context *) +tevent_set_default_backend: void (const char *) +tevent_set_trace_callback: void (struct tevent_context *, tevent_trace_callback_t, void *) +tevent_signal_support: bool (struct tevent_context *) +tevent_thread_proxy_create: struct tevent_thread_proxy *(struct tevent_context *) +tevent_thread_proxy_schedule: void (struct tevent_thread_proxy *, struct tevent_immediate **, tevent_immediate_handler_t, void *) +tevent_timeval_add: struct timeval (const struct timeval *, uint32_t, uint32_t) +tevent_timeval_compare: int (const struct timeval *, const struct timeval *) +tevent_timeval_current: struct timeval (void) +tevent_timeval_current_ofs: struct timeval (uint32_t, uint32_t) +tevent_timeval_is_zero: bool (const struct timeval *) +tevent_timeval_set: struct timeval (uint32_t, uint32_t) +tevent_timeval_until: struct timeval (const struct timeval *, const struct timeval *) +tevent_timeval_zero: struct timeval (void) +tevent_trace_point_callback: void (struct tevent_context *, enum tevent_trace_point) +tevent_wakeup_recv: bool (struct tevent_req *) +tevent_wakeup_send: struct tevent_req *(TALLOC_CTX *, struct tevent_context *, struct timeval) diff --git a/lib/tevent/wscript b/lib/tevent/wscript index 103cc06..501de16 100755 --- a/lib/tevent/wscript +++ b/lib/tevent/wscript @@ -1,7 +1,7 @@ #!/usr/bin/env python APPNAME = 'tevent' -VERSION = '0.9.26' +VERSION = '0.9.27' blddir = 'bin' -- 1.9.1 From fde9a6027c57f131119d4ef8abe10077c128e91c Mon Sep 17 00:00:00 2001 From: Jeremy Allison Date: Tue, 16 Feb 2016 14:23:53 -0800 Subject: [PATCH 15/16] =?UTF-8?q?lib:=20tevent:=20Fix=20memory=20leak=20re?= =?UTF-8?q?ported=20by=20Pavel=20B=C5=99ezina=20=20wh?= =?UTF-8?q?en=20old=20signal=20action=20restored.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit BUG: https://bugzilla.samba.org/show_bug.cgi?id=11742 Signed-off-by: Jeremy Allison Reviewed-by: Andreas Schneider Autobuild-User(master): Andreas Schneider Autobuild-Date(master): Thu Feb 18 01:42:50 CET 2016 on sn-devel-144 (cherry picked from commit 833a2f474367624dd9980abb28227850e95fe976) --- lib/tevent/tevent_signal.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/tevent/tevent_signal.c b/lib/tevent/tevent_signal.c index 924dc05..9bc11ed 100644 --- a/lib/tevent/tevent_signal.c +++ b/lib/tevent/tevent_signal.c @@ -212,6 +212,7 @@ static int tevent_signal_destructor(struct tevent_signal *se) /* restore old handler, if any */ if (sig_state->oldact[se->signum]) { sigaction(se->signum, sig_state->oldact[se->signum], NULL); + talloc_free(sig_state->oldact[se->signum]); sig_state->oldact[se->signum] = NULL; } #ifdef SA_SIGINFO @@ -342,6 +343,8 @@ struct tevent_signal *tevent_common_add_signal(struct tevent_context *ev, return NULL; } if (sigaction(signum, &act, sig_state->oldact[signum]) == -1) { + talloc_free(sig_state->oldact[signum]); + sig_state->oldact[signum] = NULL; talloc_free(se); return NULL; } @@ -505,6 +508,7 @@ void tevent_cleanup_pending_signal_handlers(struct tevent_signal *se) if (sig_state->sig_handlers[se->signum] == NULL) { if (sig_state->oldact[se->signum]) { sigaction(se->signum, sig_state->oldact[se->signum], NULL); + talloc_free(sig_state->oldact[se->signum]); sig_state->oldact[se->signum] = NULL; } } -- 1.9.1 From 89836aa3094e10064edd40cbd516d015da86de52 Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Fri, 19 Feb 2016 11:46:03 +0100 Subject: [PATCH 16/16] tevent: version 0.9.28 * Fix memory leak when old signal action restored (bug #11742) Signed-off-by: Stefan Metzmacher Reviewed-by: Andreas Schneider Autobuild-User(master): Stefan Metzmacher Autobuild-Date(master): Fri Feb 19 19:12:25 CET 2016 on sn-devel-144 (cherry picked from commit da74d0c317be9ce67eb5d00d232167d466f68a1e) --- lib/tevent/ABI/tevent-0.9.28.sigs | 90 +++++++++++++++++++++++++++++++++++++++ lib/tevent/wscript | 2 +- 2 files changed, 91 insertions(+), 1 deletion(-) create mode 100644 lib/tevent/ABI/tevent-0.9.28.sigs diff --git a/lib/tevent/ABI/tevent-0.9.28.sigs b/lib/tevent/ABI/tevent-0.9.28.sigs new file mode 100644 index 0000000..1357751 --- /dev/null +++ b/lib/tevent/ABI/tevent-0.9.28.sigs @@ -0,0 +1,90 @@ +_tevent_add_fd: struct tevent_fd *(struct tevent_context *, TALLOC_CTX *, int, uint16_t, tevent_fd_handler_t, void *, const char *, const char *) +_tevent_add_signal: struct tevent_signal *(struct tevent_context *, TALLOC_CTX *, int, int, tevent_signal_handler_t, void *, const char *, const char *) +_tevent_add_timer: struct tevent_timer *(struct tevent_context *, TALLOC_CTX *, struct timeval, tevent_timer_handler_t, void *, const char *, const char *) +_tevent_create_immediate: struct tevent_immediate *(TALLOC_CTX *, const char *) +_tevent_loop_once: int (struct tevent_context *, const char *) +_tevent_loop_until: int (struct tevent_context *, bool (*)(void *), void *, const char *) +_tevent_loop_wait: int (struct tevent_context *, const char *) +_tevent_queue_create: struct tevent_queue *(TALLOC_CTX *, const char *, const char *) +_tevent_req_callback_data: void *(struct tevent_req *) +_tevent_req_cancel: bool (struct tevent_req *, const char *) +_tevent_req_create: struct tevent_req *(TALLOC_CTX *, void *, size_t, const char *, const char *) +_tevent_req_data: void *(struct tevent_req *) +_tevent_req_done: void (struct tevent_req *, const char *) +_tevent_req_error: bool (struct tevent_req *, uint64_t, const char *) +_tevent_req_nomem: bool (const void *, struct tevent_req *, const char *) +_tevent_req_notify_callback: void (struct tevent_req *, const char *) +_tevent_req_oom: void (struct tevent_req *, const char *) +_tevent_schedule_immediate: void (struct tevent_immediate *, struct tevent_context *, tevent_immediate_handler_t, void *, const char *, const char *) +tevent_backend_list: const char **(TALLOC_CTX *) +tevent_cleanup_pending_signal_handlers: void (struct tevent_signal *) +tevent_common_add_fd: struct tevent_fd *(struct tevent_context *, TALLOC_CTX *, int, uint16_t, tevent_fd_handler_t, void *, const char *, const char *) +tevent_common_add_signal: struct tevent_signal *(struct tevent_context *, TALLOC_CTX *, int, int, tevent_signal_handler_t, void *, const char *, const char *) +tevent_common_add_timer: struct tevent_timer *(struct tevent_context *, TALLOC_CTX *, struct timeval, tevent_timer_handler_t, void *, const char *, const char *) +tevent_common_add_timer_v2: struct tevent_timer *(struct tevent_context *, TALLOC_CTX *, struct timeval, tevent_timer_handler_t, void *, const char *, const char *) +tevent_common_check_signal: int (struct tevent_context *) +tevent_common_context_destructor: int (struct tevent_context *) +tevent_common_fd_destructor: int (struct tevent_fd *) +tevent_common_fd_get_flags: uint16_t (struct tevent_fd *) +tevent_common_fd_set_close_fn: void (struct tevent_fd *, tevent_fd_close_fn_t) +tevent_common_fd_set_flags: void (struct tevent_fd *, uint16_t) +tevent_common_loop_immediate: bool (struct tevent_context *) +tevent_common_loop_timer_delay: struct timeval (struct tevent_context *) +tevent_common_loop_wait: int (struct tevent_context *, const char *) +tevent_common_schedule_immediate: void (struct tevent_immediate *, struct tevent_context *, tevent_immediate_handler_t, void *, const char *, const char *) +tevent_context_init: struct tevent_context *(TALLOC_CTX *) +tevent_context_init_byname: struct tevent_context *(TALLOC_CTX *, const char *) +tevent_context_init_ops: struct tevent_context *(TALLOC_CTX *, const struct tevent_ops *, void *) +tevent_debug: void (struct tevent_context *, enum tevent_debug_level, const char *, ...) +tevent_fd_get_flags: uint16_t (struct tevent_fd *) +tevent_fd_set_auto_close: void (struct tevent_fd *) +tevent_fd_set_close_fn: void (struct tevent_fd *, tevent_fd_close_fn_t) +tevent_fd_set_flags: void (struct tevent_fd *, uint16_t) +tevent_get_trace_callback: void (struct tevent_context *, tevent_trace_callback_t *, void *) +tevent_loop_allow_nesting: void (struct tevent_context *) +tevent_loop_set_nesting_hook: void (struct tevent_context *, tevent_nesting_hook, void *) +tevent_num_signals: size_t (void) +tevent_queue_add: bool (struct tevent_queue *, struct tevent_context *, struct tevent_req *, tevent_queue_trigger_fn_t, void *) +tevent_queue_add_entry: struct tevent_queue_entry *(struct tevent_queue *, struct tevent_context *, struct tevent_req *, tevent_queue_trigger_fn_t, void *) +tevent_queue_add_optimize_empty: struct tevent_queue_entry *(struct tevent_queue *, struct tevent_context *, struct tevent_req *, tevent_queue_trigger_fn_t, void *) +tevent_queue_length: size_t (struct tevent_queue *) +tevent_queue_running: bool (struct tevent_queue *) +tevent_queue_start: void (struct tevent_queue *) +tevent_queue_stop: void (struct tevent_queue *) +tevent_queue_wait_recv: bool (struct tevent_req *) +tevent_queue_wait_send: struct tevent_req *(TALLOC_CTX *, struct tevent_context *, struct tevent_queue *) +tevent_re_initialise: int (struct tevent_context *) +tevent_register_backend: bool (const char *, const struct tevent_ops *) +tevent_req_default_print: char *(struct tevent_req *, TALLOC_CTX *) +tevent_req_defer_callback: void (struct tevent_req *, struct tevent_context *) +tevent_req_is_error: bool (struct tevent_req *, enum tevent_req_state *, uint64_t *) +tevent_req_is_in_progress: bool (struct tevent_req *) +tevent_req_poll: bool (struct tevent_req *, struct tevent_context *) +tevent_req_post: struct tevent_req *(struct tevent_req *, struct tevent_context *) +tevent_req_print: char *(TALLOC_CTX *, struct tevent_req *) +tevent_req_received: void (struct tevent_req *) +tevent_req_set_callback: void (struct tevent_req *, tevent_req_fn, void *) +tevent_req_set_cancel_fn: void (struct tevent_req *, tevent_req_cancel_fn) +tevent_req_set_cleanup_fn: void (struct tevent_req *, tevent_req_cleanup_fn) +tevent_req_set_endtime: bool (struct tevent_req *, struct tevent_context *, struct timeval) +tevent_req_set_print_fn: void (struct tevent_req *, tevent_req_print_fn) +tevent_sa_info_queue_count: size_t (void) +tevent_set_abort_fn: void (void (*)(const char *)) +tevent_set_debug: int (struct tevent_context *, void (*)(void *, enum tevent_debug_level, const char *, va_list), void *) +tevent_set_debug_stderr: int (struct tevent_context *) +tevent_set_default_backend: void (const char *) +tevent_set_trace_callback: void (struct tevent_context *, tevent_trace_callback_t, void *) +tevent_signal_support: bool (struct tevent_context *) +tevent_thread_proxy_create: struct tevent_thread_proxy *(struct tevent_context *) +tevent_thread_proxy_schedule: void (struct tevent_thread_proxy *, struct tevent_immediate **, tevent_immediate_handler_t, void *) +tevent_timeval_add: struct timeval (const struct timeval *, uint32_t, uint32_t) +tevent_timeval_compare: int (const struct timeval *, const struct timeval *) +tevent_timeval_current: struct timeval (void) +tevent_timeval_current_ofs: struct timeval (uint32_t, uint32_t) +tevent_timeval_is_zero: bool (const struct timeval *) +tevent_timeval_set: struct timeval (uint32_t, uint32_t) +tevent_timeval_until: struct timeval (const struct timeval *, const struct timeval *) +tevent_timeval_zero: struct timeval (void) +tevent_trace_point_callback: void (struct tevent_context *, enum tevent_trace_point) +tevent_wakeup_recv: bool (struct tevent_req *) +tevent_wakeup_send: struct tevent_req *(TALLOC_CTX *, struct tevent_context *, struct timeval) diff --git a/lib/tevent/wscript b/lib/tevent/wscript index 501de16..2bdb5ac 100755 --- a/lib/tevent/wscript +++ b/lib/tevent/wscript @@ -1,7 +1,7 @@ #!/usr/bin/env python APPNAME = 'tevent' -VERSION = '0.9.27' +VERSION = '0.9.28' blddir = 'bin' -- 1.9.1