ReactOS 0.4.16-dev-41-ge8c7597
|
#include <stdarg.h>
#include <stdio.h>
#include <string.h>
#include <assert.h>
#include "windef.h"
#include "winbase.h"
#include "winerror.h"
#include "rpc.h"
#include "rpcndr.h"
#include "excpt.h"
#include "wine/debug.h"
#include "wine/exception.h"
#include "rpc_server.h"
#include "rpc_assoc.h"
#include "rpc_message.h"
#include "rpc_defs.h"
#include "ncastatus.h"
#include "secext.h"
Go to the source code of this file.
Classes | |
struct | _RpcPacket |
struct | _RpcObjTypeMap |
struct | rpc_server_registered_auth_info |
Typedefs | |
typedef struct _RpcPacket | RpcPacket |
typedef struct _RpcObjTypeMap | RpcObjTypeMap |
Variables | |
static RpcObjTypeMap * | RpcObjTypeMaps |
static struct list | protseqs = LIST_INIT(protseqs) |
static struct list | server_interfaces = LIST_INIT(server_interfaces) |
static struct list | server_registered_auth_info = LIST_INIT(server_registered_auth_info) |
static CRITICAL_SECTION | server_cs = { &server_cs_debug, -1, 0, 0, 0, 0 } |
static CRITICAL_SECTION_DEBUG | server_cs_debug |
static CRITICAL_SECTION | listen_cs = { &listen_cs_debug, -1, 0, 0, 0, 0 } |
static CRITICAL_SECTION_DEBUG | listen_cs_debug |
static CRITICAL_SECTION | server_auth_info_cs = { &server_auth_info_cs_debug, -1, 0, 0, 0, 0 } |
static CRITICAL_SECTION_DEBUG | server_auth_info_cs_debug |
static BOOL | std_listen |
static LONG | listen_count |
static HANDLE | listen_done_event |
static UUID | uuid_nil |
typedef struct _RpcObjTypeMap RpcObjTypeMap |
typedef struct _RpcPacket RpcPacket |
|
static |
Definition at line 946 of file rpc_server.c.
Referenced by RPCRT4_get_or_create_serverprotseq().
|
static |
Definition at line 975 of file rpc_server.c.
Referenced by RPCRT4_destroy_all_protseqs().
|
static |
Definition at line 1334 of file rpc_server.c.
Referenced by RpcServerRegisterAuthInfoW().
|
static |
Definition at line 171 of file rpc_server.c.
Referenced by process_bind_packet().
RPC_BINDING_HANDLE WINAPI I_RpcGetCurrentCallHandle | ( | void | ) |
Definition at line 1743 of file rpc_server.c.
Referenced by client_get_handle(), NDRSContextMarshall(), NDRSContextUnmarshall(), RpcBindingInqAuthClientExW(), RpcBindingServerFromClient(), RpcImpersonateClient(), RpcRevertToSelfEx(), s_authinfo_test(), and s_context_handle_test().
RPC_STATUS WINAPI I_RpcServerStartListening | ( | HWND | hWnd | ) |
Definition at line 1620 of file rpc_server.c.
RPC_STATUS WINAPI I_RpcServerStopListening | ( | void | ) |
Definition at line 1630 of file rpc_server.c.
Definition at line 1640 of file rpc_server.c.
Definition at line 121 of file rpc_server.c.
Referenced by RPCRT4_find_interface().
|
inlinestatic |
Definition at line 108 of file rpc_server.c.
Referenced by LookupObjType().
|
static |
Definition at line 475 of file rpc_server.c.
Referenced by RPCRT4_io_thread(), and RPCRT4_process_packet().
|
static |
Definition at line 337 of file rpc_server.c.
Referenced by RPCRT4_io_thread(), and RPCRT4_process_packet().
|
static |
Definition at line 204 of file rpc_server.c.
Referenced by process_bind_packet().
|
static |
Definition at line 362 of file rpc_server.c.
Referenced by RPCRT4_process_packet().
RPC_STATUS WINAPI RpcMgmtEnableIdleCleanup | ( | void | ) |
Definition at line 1611 of file rpc_server.c.
RPC_STATUS WINAPI RpcMgmtEpEltInqBegin | ( | RPC_BINDING_HANDLE | Binding, |
ULONG | InquiryType, | ||
RPC_IF_ID * | IfId, | ||
ULONG | VersOption, | ||
UUID * | ObjectUuid, | ||
RPC_EP_INQ_HANDLE * | InquiryContext | ||
) |
Definition at line 1693 of file rpc_server.c.
RPC_STATUS WINAPI RpcMgmtInqIfIds | ( | RPC_BINDING_HANDLE | Binding, |
RPC_IF_ID_VECTOR ** | IfIdVector | ||
) |
Definition at line 1650 of file rpc_server.c.
RPC_STATUS WINAPI RpcMgmtInqStats | ( | RPC_BINDING_HANDLE | Binding, |
RPC_STATS_VECTOR ** | Statistics | ||
) |
Definition at line 1659 of file rpc_server.c.
RPC_STATUS WINAPI RpcMgmtIsServerListening | ( | RPC_BINDING_HANDLE | Binding | ) |
Definition at line 1704 of file rpc_server.c.
Referenced by _test_is_server_listening(), and _test_is_server_listening2().
RPC_STATUS WINAPI RpcMgmtSetAuthorizationFn | ( | RPC_MGMT_AUTHORIZATION_FN | fn | ) |
Definition at line 1725 of file rpc_server.c.
RPC_STATUS WINAPI RpcMgmtSetServerStackSize | ( | ULONG | ThreadStackSize | ) |
Definition at line 1734 of file rpc_server.c.
Referenced by CallPerInstanceInitFunctions().
RPC_STATUS WINAPI RpcMgmtStatsVectorFree | ( | RPC_STATS_VECTOR ** | StatsVector | ) |
Definition at line 1678 of file rpc_server.c.
RPC_STATUS WINAPI RpcMgmtStopServerListening | ( | RPC_BINDING_HANDLE | Binding | ) |
Definition at line 1596 of file rpc_server.c.
Referenced by _ServiceControlHandlerEx(), RpcpStopRpcServer(), RpcpStopRpcServerEx(), s_stop(), SamrShutdownSamServer(), service_handler(), ServiceControlHandler(), test_rpc_ncacn_ip_tcp(), test_server_listening(), and test_stop_wait_for_call().
RPC_STATUS WINAPI RpcMgmtWaitServerListen | ( | void | ) |
Definition at line 1539 of file rpc_server.c.
Referenced by RpcpStopRpcServer(), RpcpStopRpcServerEx(), RpcServerListen(), run_server(), server(), test_rpc_ncacn_ip_tcp(), test_server_listening(), and wait_listen_proc().
RPC_STATUS WINAPI RpcObjectSetType | ( | UUID * | ObjUuid, |
UUID * | TypeUuid | ||
) |
Definition at line 1281 of file rpc_server.c.
Definition at line 1094 of file rpc_server.c.
Referenced by DllMain().
|
static |
Definition at line 130 of file rpc_server.c.
Referenced by process_bind_packet_no_send(), and process_request_packet().
|
static |
Definition at line 987 of file rpc_server.c.
Referenced by RpcServerUseProtseqA(), RpcServerUseProtseqEpExA(), RpcServerUseProtseqEpExW(), and RpcServerUseProtseqW().
Definition at line 543 of file rpc_server.c.
Referenced by RPCRT4_new_client().
void RPCRT4_new_client | ( | RpcConnection * | conn | ) |
Definition at line 625 of file rpc_server.c.
Referenced by rpcrt4_protseq_np_wait_for_new_connection(), and rpcrt4_protseq_sock_wait_for_new_connection().
|
static |
Definition at line 500 of file rpc_server.c.
Referenced by RPCRT4_worker_thread().
|
static |
Definition at line 817 of file rpc_server.c.
Referenced by RPCRT4_use_protseq().
|
static |
Definition at line 159 of file rpc_server.c.
Referenced by process_bind_packet_no_send(), and process_request_packet().
Definition at line 641 of file rpc_server.c.
Referenced by RPCRT4_start_listen_protseq().
Definition at line 1396 of file rpc_server.c.
Referenced by DllMain().
RPC_STATUS RPCRT4_ServerGetRegisteredAuthInfo | ( | USHORT | auth_type, |
CredHandle * | cred, | ||
TimeStamp * | exp, | ||
ULONG * | max_token | ||
) |
Definition at line 1365 of file rpc_server.c.
Referenced by RPCRT4_ServerConnectionAuth().
|
static |
Definition at line 741 of file rpc_server.c.
Referenced by RpcServerListen(), and RpcServerRegisterIf3().
|
static |
Definition at line 723 of file rpc_server.c.
Referenced by RPCRT4_start_listen(), and RPCRT4_use_protseq().
|
static |
Definition at line 779 of file rpc_server.c.
Referenced by RpcMgmtStopServerListening().
|
static |
Definition at line 708 of file rpc_server.c.
Referenced by RPCRT4_destroy_all_protseqs(), RPCRT4_start_listen(), RPCRT4_stop_listen(), and RPCRT4_use_protseq().
|
static |
Definition at line 832 of file rpc_server.c.
Referenced by RpcServerUseProtseqA(), RpcServerUseProtseqEpExA(), RpcServerUseProtseqEpExW(), and RpcServerUseProtseqW().
Definition at line 533 of file rpc_server.c.
Referenced by RPCRT4_io_thread().
RPC_STATUS WINAPI RpcServerInqBindings | ( | RPC_BINDING_VECTOR ** | BindingVector | ) |
Definition at line 861 of file rpc_server.c.
Referenced by test_endpoint_mapper(), and test_RpcServerUseProtseq().
RPC_STATUS RPC_ENTRY RpcServerInqDefaultPrincNameA | ( | ULONG | AuthnSvc, |
RPC_CSTR * | PrincName | ||
) |
Definition at line 1481 of file rpc_server.c.
Referenced by test_RpcServerInqDefaultPrincName().
RPC_STATUS RPC_ENTRY RpcServerInqDefaultPrincNameW | ( | ULONG | AuthnSvc, |
RPC_WSTR * | PrincName | ||
) |
Definition at line 1499 of file rpc_server.c.
Referenced by RpcServerInqDefaultPrincNameA().
RPC_STATUS WINAPI RpcServerListen | ( | UINT | MinimumCallThreads, |
UINT | MaxCalls, | ||
UINT | DontWait | ||
) |
Definition at line 1520 of file rpc_server.c.
Referenced by LrpcThreadProc(), LsarStartRpcServer(), main(), RpcpStartRpcServer(), RpcServerThread(), RPCSS_Initialize(), RpcThreadRoutine(), run_server(), SampStartRpcServer(), ScmStartRpcServer(), server(), StartRpcServer(), test_ndr_buffer(), test_rpc_ncacn_ip_tcp(), test_server_listening(), and test_stop_wait_for_call().
RPC_STATUS WINAPI RpcServerRegisterAuthInfoA | ( | RPC_CSTR | ServerPrincName, |
ULONG | AuthnSvc, | ||
RPC_AUTH_KEY_RETRIEVAL_FN | GetKeyFn, | ||
LPVOID | Arg | ||
) |
Definition at line 1414 of file rpc_server.c.
Referenced by test_RpcServerInqDefaultPrincName().
RPC_STATUS WINAPI RpcServerRegisterAuthInfoW | ( | RPC_WSTR | ServerPrincName, |
ULONG | AuthnSvc, | ||
RPC_AUTH_KEY_RETRIEVAL_FN | GetKeyFn, | ||
LPVOID | Arg | ||
) |
Definition at line 1434 of file rpc_server.c.
Referenced by RpcServerRegisterAuthInfoA(), and test_RpcServerRegisterAuthInfo().
RPC_STATUS WINAPI RpcServerRegisterIf | ( | RPC_IF_HANDLE | IfSpec, |
UUID * | MgrTypeUuid, | ||
RPC_MGR_EPV * | MgrEpv | ||
) |
Definition at line 1116 of file rpc_server.c.
Referenced by DsSetupInit(), LrpcThreadProc(), LsarStartRpcServer(), main(), RpcpAddInterface(), RpcServerThread(), RPCSS_Initialize(), RpcThreadRoutine(), run_server(), SampStartRpcServer(), ScmStartRpcServer(), server(), StartRpcServer(), test_endpoint_mapper(), test_ndr_buffer(), test_rpc_ncacn_ip_tcp(), and test_server_listening().
RPC_STATUS WINAPI RpcServerRegisterIf2 | ( | RPC_IF_HANDLE | IfSpec, |
UUID * | MgrTypeUuid, | ||
RPC_MGR_EPV * | MgrEpv, | ||
UINT | Flags, | ||
UINT | MaxCalls, | ||
UINT | MaxRpcSize, | ||
RPC_IF_CALLBACK_FN * | IfCallbackFn | ||
) |
Definition at line 1135 of file rpc_server.c.
RPC_STATUS WINAPI RpcServerRegisterIf3 | ( | RPC_IF_HANDLE | IfSpec, |
UUID * | MgrTypeUuid, | ||
RPC_MGR_EPV * | MgrEpv, | ||
UINT | Flags, | ||
UINT | MaxCalls, | ||
UINT | MaxRpcSize, | ||
RPC_IF_CALLBACK_FN * | IfCallbackFn, | ||
void * | SecurityDescriptor | ||
) |
Definition at line 1144 of file rpc_server.c.
Referenced by RpcServerRegisterIf(), RpcServerRegisterIf2(), and RpcServerRegisterIfEx().
RPC_STATUS WINAPI RpcServerRegisterIfEx | ( | RPC_IF_HANDLE | IfSpec, |
UUID * | MgrTypeUuid, | ||
RPC_MGR_EPV * | MgrEpv, | ||
UINT | Flags, | ||
UINT | MaxCalls, | ||
RPC_IF_CALLBACK_FN * | IfCallbackFn | ||
) |
Definition at line 1125 of file rpc_server.c.
Referenced by do_msidbCustomActionTypeDll(), and RPC_RegisterInterface().
RPC_STATUS WINAPI RpcServerUnregisterIf | ( | RPC_IF_HANDLE | IfSpec, |
UUID * | MgrTypeUuid, | ||
UINT | WaitForCallsToComplete | ||
) |
Definition at line 1202 of file rpc_server.c.
Referenced by MSI_FreePackage(), RPC_UnregisterInterface(), RpcpStopRpcServer(), RPCSS_Initialize(), s_stop(), s_stop_autolisten(), server(), service_handler(), test_endpoint_mapper(), test_ndr_buffer(), and test_rpc_ncacn_ip_tcp().
RPC_STATUS WINAPI RpcServerUnregisterIfEx | ( | RPC_IF_HANDLE | IfSpec, |
UUID * | MgrTypeUuid, | ||
int | RundownContextHandles | ||
) |
Definition at line 1253 of file rpc_server.c.
Referenced by RpcpStopRpcServerEx().
RPC_STATUS WINAPI RpcServerUseProtseqA | ( | RPC_CSTR | Protseq, |
unsigned int | MaxCalls, | ||
void * | SecurityDescriptor | ||
) |
Definition at line 1060 of file rpc_server.c.
Referenced by test_RpcServerUseProtseq().
RPC_STATUS WINAPI RpcServerUseProtseqEpA | ( | RPC_CSTR | Protseq, |
UINT | MaxCalls, | ||
RPC_CSTR | Endpoint, | ||
LPVOID | SecurityDescriptor | ||
) |
Definition at line 910 of file rpc_server.c.
Referenced by run_server(), server(), test_ndr_buffer(), test_rpc_ncacn_ip_tcp(), test_RpcServerUseProtseq(), and test_server_listening().
RPC_STATUS WINAPI RpcServerUseProtseqEpExA | ( | RPC_CSTR | Protseq, |
UINT | MaxCalls, | ||
RPC_CSTR | Endpoint, | ||
LPVOID | SecurityDescriptor, | ||
PRPC_POLICY | lpPolicy | ||
) |
Definition at line 1013 of file rpc_server.c.
Referenced by RpcServerUseProtseqEpA().
RPC_STATUS WINAPI RpcServerUseProtseqEpExW | ( | RPC_WSTR | Protseq, |
UINT | MaxCalls, | ||
RPC_WSTR | Endpoint, | ||
LPVOID | SecurityDescriptor, | ||
PRPC_POLICY | lpPolicy | ||
) |
Definition at line 1033 of file rpc_server.c.
Referenced by RpcServerUseProtseqEpW().
RPC_STATUS WINAPI RpcServerUseProtseqEpW | ( | RPC_WSTR | Protseq, |
UINT | MaxCalls, | ||
RPC_WSTR | Endpoint, | ||
LPVOID | SecurityDescriptor | ||
) |
Definition at line 927 of file rpc_server.c.
Referenced by do_msidbCustomActionTypeDll(), LrpcThreadProc(), LsarStartRpcServer(), RPC_StartRemoting(), RpcpAddInterface(), RpcServerThread(), RPCSS_Initialize(), RpcThreadRoutine(), SampStartRpcServer(), ScmStartRpcServer(), and StartRpcServer().
RPC_STATUS WINAPI RpcServerUseProtseqW | ( | RPC_WSTR | Protseq, |
unsigned int | MaxCalls, | ||
void * | SecurityDescriptor | ||
) |
Definition at line 1077 of file rpc_server.c.
WINE_DEFAULT_DEBUG_CHANNEL | ( | rpc | ) |
|
static |
Definition at line 102 of file rpc_server.c.
Referenced by RpcMgmtWaitServerListen(), RPCRT4_destroy_all_protseqs(), RPCRT4_start_listen(), and RPCRT4_stop_listen().
|
static |
Definition at line 81 of file rpc_server.c.
Referenced by RpcMgmtIsServerListening(), RpcMgmtWaitServerListen(), RPCRT4_destroy_all_protseqs(), RPCRT4_start_listen(), RPCRT4_start_listen_protseq(), and RPCRT4_stop_listen().
|
static |
Definition at line 82 of file rpc_server.c.
|
static |
Definition at line 104 of file rpc_server.c.
Referenced by RpcMgmtIsServerListening(), RpcMgmtWaitServerListen(), RPCRT4_start_listen(), and RPCRT4_stop_listen().
Definition at line 68 of file rpc_server.c.
Referenced by alloc_serverprotoseq(), RpcMgmtWaitServerListen(), RpcNetworkInqProtseqsA(), RpcNetworkInqProtseqsW(), RpcProtseqVectorFreeA(), RpcProtseqVectorFreeW(), RPCRT4_destroy_all_protseqs(), RPCRT4_get_or_create_serverprotseq(), RPCRT4_start_listen(), RPCRT4_stop_listen(), RpcServerInqBindings(), and RpcServerListen().
|
static |
Definition at line 65 of file rpc_server.c.
Referenced by LookupObjTypeMap(), and RpcObjectSetType().
|
static |
Definition at line 90 of file rpc_server.c.
Referenced by RPCRT4_ServerFreeAllRegisteredAuthInfo(), RPCRT4_ServerGetRegisteredAuthInfo(), and RpcServerRegisterAuthInfoW().
|
static |
Definition at line 91 of file rpc_server.c.
|
static |
Definition at line 72 of file rpc_server.c.
Referenced by RpcMgmtWaitServerListen(), RPCRT4_destroy_all_protseqs(), RPCRT4_find_interface(), RPCRT4_get_or_create_serverprotseq(), RPCRT4_start_listen(), RPCRT4_stop_listen(), RpcServerInqBindings(), RpcServerRegisterIf3(), and RpcServerUnregisterIf().
|
static |
Definition at line 73 of file rpc_server.c.
Definition at line 69 of file rpc_server.c.
Referenced by RPCRT4_find_interface(), RpcServerRegisterIf3(), and RpcServerUnregisterIf().
Definition at line 70 of file rpc_server.c.
Referenced by RPCRT4_ServerFreeAllRegisteredAuthInfo(), RPCRT4_ServerGetRegisteredAuthInfo(), and RpcServerRegisterAuthInfoW().
|
static |
Definition at line 100 of file rpc_server.c.
Referenced by RpcMgmtIsServerListening(), RPCRT4_destroy_all_protseqs(), RPCRT4_find_interface(), RPCRT4_server_thread(), RPCRT4_start_listen(), RPCRT4_stop_listen(), and RPCRT4_use_protseq().
|
static |
Definition at line 106 of file rpc_server.c.
Referenced by LookupObjType().