summaryrefslogtreecommitdiff
path: root/source3/rpc_server/rpc_ncacn_np.c
AgeCommit message (Collapse)AuthorFilesLines
2011-07-28s3-rpc_server: Use talloc for pipe_rpc_fnsSimo Sorce1-3/+4
Everything uses talloc in the rpc server nowadays, remove this ancient use of malloc. This also allows us to remove the free fucntion and let talloc handle it properly. Autobuild-User: Simo Sorce <idra@samba.org> Autobuild-Date: Thu Jul 28 17:41:08 CEST 2011 on sn-devel-104
2011-07-21s3-rpc_server: Create common function to allocate pipes_structSimo Sorce1-31/+10
Avoid code duplication and fix bug where a new pipe was not added to InternalPipes upon creation in make_server_pipes_struct() Signed-off-by: Andreas Schneider <asn@samba.org> Autobuild-User: Andreas Schneider <asn@cryptomilk.org> Autobuild-Date: Thu Jul 21 19:50:02 CEST 2011 on sn-devel-104
2011-07-21s3-rpc_server: Move pipe/handles functionsSimo Sorce1-77/+0
Put InternalPipes related functions in rpc_handles.c and out of rpc_ncacn_np.c rpc_handles.c is the only file that really uses them after all and ncacn_np.c is the wrong place for that stuff. While ther remove unnecessary wrapper functions now that the InternalPipes static variable is directly accessible. Also move all pipes_struct related header stuff in its own rpc_pipes.h header. Signed-off-by: Andreas Schneider <asn@samba.org>
2011-07-21s3-rpc_server: We need to copy the session_info for external pipes.Andreas Schneider1-1/+6
Andrew please check!
2011-07-20s3-rpc_server remove per-element copies of auth_session_infoAndrew Bartlett1-18/+2
This is not required any more now that they are the same structure, and shows the value in having a common structure across the codebase. In particular, now any additional state that needs to be added to the auth_session_info will be transparently available across the named pipe proxy, without a need to modify the mapping layer. Andrew Bartlett Signed-off-by: Andrew Tridgell <tridge@samba.org>
2011-07-20s3-auth Use the common auth_session_infoAndrew Bartlett1-7/+7
This patch finally has the same structure being used to describe the authorization data of a user across the whole codebase. This will allow of our session handling to be accomplished with common code. Andrew Bartlett Signed-off-by: Andrew Tridgell <tridge@samba.org>
2011-07-20s3-auth use auth_user_info not netr_SamInfo3 in auth3_session_infoAndrew Bartlett1-16/+1
This makes auth3_session_info identical to auth_session_info The logic to convert the info3 to a struct auth_user_info is essentially moved up the stack from the named pipe proxy in source3/rpc_server to create_local_token(). Andrew Bartlett Signed-off-by: Andrew Tridgell <tridge@samba.org>
2011-07-20s3-rpc_server read and write the unix_token and unix_info across named_pipe_authAndrew Bartlett1-0/+2
This ensures that the exact same token is used on both sides of the pipe, when a full token is passed (ie, source3 to source3, but not yet source4 to to source3 as the unix info isn't calculated there yet). If we do not have unix_token, we fall back to the old behaviour and go via create_local_token(). (However, in this case the security_token is now overwritten, as it is better to have it match the rest of the session_info create_local_token() builds). Andrew Bartlett Signed-off-by: Andrew Tridgell <tridge@samba.org>
2011-07-20s3-auth Use struct auth3_session_info outside the auth subsystemAndrew Bartlett1-9/+9
This seperation between the structure used inside the auth modules and in the wider codebase allows for a gradual migration from struct auth_serversupplied_info -> struct auth_session_info (from auth.idl) The idea here is that we keep a clear seperation between the structure before and after the local groups, local user lookup and the session key modifications have been processed, as the lack of this seperation has caused issues in the past. Andrew Bartlett Signed-off-by: Andrew Tridgell <tridge@samba.org>
2011-07-20Add my copyrightAndrew Bartlett1-0/+1
Signed-off-by: Andrew Tridgell <tridge@samba.org>
2011-07-04s3-rpc_server: Remove client_id and server_id from pipes struct.Andreas Schneider1-17/+0
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2011-07-04s3-rpc_server: Migrate rpc function to tsocket_address.Andreas Schneider1-20/+50
Signed-off-by: Andrew Bartlett <abartlet@samba.org>
2011-06-09s3-talloc Change TALLOC_ZERO_P() to talloc_zero()Andrew Bartlett1-2/+2
Using the standard macro makes it easier to move code into common, as TALLOC_ZERO_P isn't standard talloc.
2011-06-05s3: Fix a valgrind errorVolker Lendecke1-2/+2
For me this fixes ==1950== Invalid read of size 4 ==1950== at 0x81EBED5: GUID_equal (uuid.c:239) ==1950== by 0x81E51AB: ndr_syntax_id_equal (ndr_misc.c:35) ==1950== by 0x82EB0D1: get_iface_from_syntax (rpc_common.c:160) ==1950== by 0x82EB25E: get_pipe_name_from_syntax (rpc_common.c:179) ==1950== by 0x8509E4F: close_policy_by_pipe (rpc_handles.c:322) ==1950== by 0x8507941: close_internal_rpc_pipe_hnd (rpc_ncacn_np.c:109) ==1950== by 0x468270: _talloc_free_internal (talloc.c:826) ==1950== by 0x467EE0: _talloc_free_internal (talloc.c:1268) ==1950== by 0x467EE0: _talloc_free_internal (talloc.c:1268) ==1950== by 0x467EE0: _talloc_free_internal (talloc.c:1268) ==1950== by 0x467EE0: _talloc_free_internal (talloc.c:1268) ==1950== by 0x80E6487: sam_trusted_domains (winbindd_samr.c:406) ==1950== Address 0x687ea4 is 20 bytes inside a block of size 40 free'd ==1950== at 0x58CDC: free (in /usr/local/lib/valgrind/vgpreload_memcheck-x86-freebsd.so) ==1950== by 0x8507812: free_pipe_rpc_context_internal (rpc_ncacn_np.c:74) ==1950== by 0x8507936: close_internal_rpc_pipe_hnd (rpc_ncacn_np.c:106) ==1950== by 0x468270: _talloc_free_internal (talloc.c:826) ==1950== by 0x467EE0: _talloc_free_internal (talloc.c:1268) ==1950== by 0x467EE0: _talloc_free_internal (talloc.c:1268) ==1950== by 0x467EE0: _talloc_free_internal (talloc.c:1268) ==1950== by 0x467EE0: _talloc_free_internal (talloc.c:1268) ==1950== by 0x80E6487: sam_trusted_domains (winbindd_samr.c:406) ==1950== by 0x80C2F85: trusted_domains (winbindd_cache.c:2820) ==1950== by 0x80D5188: winbindd_dual_list_trusted_domains (winbindd_misc.c:162) ==1950== by 0x80E987F: wb_child_request_trigger (winbindd_dual.c:437) ==1950== Andreas, Guenther, please check! Autobuild-User: Volker Lendecke <vlendec@samba.org> Autobuild-Date: Sun Jun 5 13:19:39 CEST 2011 on sn-devel-104
2011-06-01s3-rpc_server: Remove unused variable pipes_open.Andreas Schneider1-4/+2
2011-06-01s3-rpc_server: Remove syntax from pipes_struct.Andreas Schneider1-1/+0
2011-06-01s3-rpc_server: Use the correct context syntax.Andreas Schneider1-2/+20
2011-05-18s3-lib Replace StrCaseCmp() with strcasecmp_m()Andrew Bartlett1-3/+3
strcasecmp_m() never needs to call to talloc, and via next_codepoint() still has an ASCII fast-path bypassing iconv() calls. Andrew Bartlett
2011-05-13rpc_server: Always use rpc_pipe_open_interface()Simo Sorce1-22/+31
This way we can configure which rpc service we actually want to connect to. By default it uses an "embedded" interface and calls rpc_pipe_open_internal() Signed-off-by: Günther Deschner <gd@samba.org> Autobuild-User: Günther Deschner <gd@samba.org> Autobuild-Date: Fri May 13 14:40:26 CEST 2011 on sn-devel-104
2011-04-29s3-tevent: only include ../lib/util/tevent wrappers where needed.Günther Deschner1-0/+1
Guenther Autobuild-User: Günther Deschner <gd@samba.org> Autobuild-Date: Fri Apr 29 14:00:30 CEST 2011 on sn-devel-104
2011-04-29s3-tsocket: only include ../lib/tsocket/tsocket.h where needed.Günther Deschner1-0/+1
Guenther
2011-04-05auth: Move auth_session_info into IDLAndrew Bartlett1-12/+21
This changes auth_session_info_transport to just be a wrapper, rather than a copy that has to be kept in sync. As auth_session_info was already wrapped in python, this required changes to the existing pyauth wrapper and it's users. Andrew Bartlett
2011-04-05s3-auth Rename user_session_key -> session_key to match auth_session_infoAndrew Bartlett1-1/+1
2011-03-30s3-includes: only include ntdomain.h where needed.Günther Deschner1-0/+1
Guenther
2011-03-30s3-auth: rpc_server needs auth.hGünther Deschner1-0/+1
Guenther
2011-03-29s3-rpc_server: Fixed rpc_pipe_open_internal documentation.Andreas Schneider1-5/+11
Signed-off-by: Günther Deschner <gd@samba.org>
2011-03-29s3-rpc_server: Only allow embedded, daemon and external server type.Andreas Schneider1-2/+8
Signed-off-by: Günther Deschner <gd@samba.org>
2011-03-08s3-rpc_server: Introduce transport in pipe_struct.Andreas Schneider1-0/+1
Signed-off-by: Günther Deschner <gd@samba.org>
2011-02-28s3-rpc_client: Move client pipe functions to own header.Andreas Schneider1-0/+1
2011-02-22s3-auth Rename auth_serversupplied_info varaiables: server_info -> session_infoAndrew Bartlett1-30/+30
These variables, of type struct auth_serversupplied_info were poorly named when added into 2001, and in good consistant practice, this has extended all over the codebase in the years since. The structure is also not ideal for it's current purpose. Originally intended to convey the results of the authentication modules, it really describes all the essential attributes of a session. This rename will reduce the volume of a future patch to replaced these with a struct auth_session_info, with auth_serversupplied_info confined to the lower levels of the auth subsystem, and then eliminated. (The new structure will be the output of create_local_token(), and the change in struct definition will ensure that this is always run, populating local groups and privileges). Andrew Bartlett Signed-off-by: Stefan Metzmacher <metze@samba.org>
2011-02-10s3-auth Rename cryptic 'ptok' to security_tokenAndrew Bartlett1-1/+1
This will allow the auth_serversupplied_info struct to be migrated to auth_session_info easier. Adnrew Bartlett Signed-off-by: Andrew Tridgell <tridge@samba.org>
2011-02-10libcli/named_pipe_auth Change from 'info3' to auth_session_info_transportAndrew Bartlett1-16/+29
This changes the structure being used to convey the current user state from the netlogon-derived 'netr_SamInfo3' structure to a purpose-built structure that matches the internals of the Samba auth subsystem and contains the final group list, as well as the final privilege set and session key. These previously had to be re-created on the server side of the pipe each time. Andrew Bartlett Signed-off-by: Andrew Tridgell <tridge@samba.org>
2011-02-09s3:rpc_server: create binding_handle in rpc_pipe_open_external()Stefan Metzmacher1-1/+9
metze Autobuild-User: Volker Lendecke <vlendec@samba.org> Autobuild-Date: Wed Feb 9 12:30:50 CET 2011 on sn-devel-104
2011-02-07s3:rpc_server: fix make_external_rpc_pipe_p() and create read and write queuesStefan Metzmacher1-0/+12
They are needed for the callers in rpc_server/srv_pipe_hnd.c. It seems I only looked at the caller in rpc_server/rpc_ncacn_np.c when I've done the change of commit e55426fe7926ae6f8afe5fa6cfc009e0c3b54e38. Thanks Volker for finding this :-) metze Autobuild-User: Stefan Metzmacher <metze@samba.org> Autobuild-Date: Mon Feb 7 11:40:20 CET 2011 on sn-devel-104
2010-12-15s3:rpc_client: let rpc_transport_tstream_init() create read and write queueStefan Metzmacher1-15/+1
metze
2010-10-15s3-rpc_server: Normalize rpc_pipe_open_interface pipe name.Andreas Schneider1-1/+6
Autobuild-User: Andreas Schneider <asn@samba.org> Autobuild-Date: Fri Oct 15 12:15:45 UTC 2010 on sn-devel-104
2010-10-15s3-rpc_server: Make auth_serversupplied_info const.Andreas Schneider1-4/+4
2010-10-01s3-dcerpc: no point for printing NDR twice for internal pipes in log level 10.Günther Deschner1-1/+1
Guenther
2010-09-23s3-dcerpc: remove auth_data_free_funcSimo Sorce1-3/+1
Everything is using a talloc pointer now, no need to have an accessor function to free data anymore. Signed-off-by: Günther Deschner <gd@samba.org>
2010-09-15s3-rpc_server: Use talloc_stackframe.Andreas Schneider1-14/+15
2010-09-15s3-rpc_server: Moved "external" pipe functions to rpc_ncacn_np.c.Simo Sorce1-0/+297
Signed-off-by: Andreas Schneider <asn@samba.org>
2010-09-15s3-rpc_server: Renamed rpc_ncacn_np_internal.c.Simo Sorce1-0/+577
Signed-off-by: Andreas Schneider <asn@samba.org>