return assoc;
}
+static int dcerpc_connection_destructor(struct dcerpc_connection *conn);
+
struct dcerpc_connection *dcerpc_connection_create(TALLOC_CTX *mem_ctx,
struct dcerpc_association *assoc,
struct tstream_context **stream)
return NULL;
}
+ talloc_set_destructor(conn, dcerpc_connection_destructor);
+
return conn;
}
}
if (NT_STATUS_EQUAL(NT_STATUS_OK, error)) {
- error = NT_STATUS_END_OF_FILE;
+ error = NT_STATUS_LOCAL_DISCONNECT;
}
if (conn->calls.active != NULL) {
}
}
+static int dcerpc_connection_destructor(struct dcerpc_connection *conn)
+{
+ dcerpc_connection_dead(conn, NT_STATUS_LOCAL_DISCONNECT);
+ return 0;
+}
+
struct dcerpc_security *dcerpc_security_allocate(
TALLOC_CTX *mem_ctx,
struct dcerpc_connection *conn,