diff options
author | Jelmer Vernooij <jelmer@samba.org> | 2004-11-02 14:52:45 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 13:05:21 -0500 |
commit | 5f6ec5270df147f1bd534a25f86866831aa816e8 (patch) | |
tree | ffc493c26fcedd299ec69f6a27a2d3678ebd03a9 /source4/rpc_server/dcom/oxidresolver.c | |
parent | a2fd2488c79902dfe1de764bea4f619ec6107fed (diff) | |
download | samba-5f6ec5270df147f1bd534a25f86866831aa816e8.tar.gz samba-5f6ec5270df147f1bd534a25f86866831aa816e8.tar.xz samba-5f6ec5270df147f1bd534a25f86866831aa816e8.zip |
r3486: Add RemoteActivation server
(This used to be commit 0987a5fdd6425a85823f57fe5b596bb6c404bce8)
Diffstat (limited to 'source4/rpc_server/dcom/oxidresolver.c')
-rw-r--r-- | source4/rpc_server/dcom/oxidresolver.c | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/source4/rpc_server/dcom/oxidresolver.c b/source4/rpc_server/dcom/oxidresolver.c index 2ccf136cadb..76fa6a760ee 100644 --- a/source4/rpc_server/dcom/oxidresolver.c +++ b/source4/rpc_server/dcom/oxidresolver.c @@ -24,6 +24,24 @@ #include "librpc/gen_ndr/ndr_oxidresolver.h" #include "rpc_server/dcerpc_server.h" +struct OXIDObject +{ + struct GUID OID; +}; + +struct PingSet +{ + HYPER_T id; + struct OXIDObject *objects; + struct PingSet *prev, *next; +}; + +/* Maximum number of missed ping calls before a client is presumed + * gone */ +#define MAX_MISSED_PINGS 3 + +/* Maximum number of seconds between two ping calls */ +#define MAX_PING_TIME 60 /* ResolveOxid @@ -44,13 +62,18 @@ static WERROR SimplePing(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx return WERR_NOT_SUPPORTED; } - /* ComplexPing */ static WERROR ComplexPing(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct ComplexPing *r) { + struct PingSet *ps; + + /* If r->in.SetId == 0, create new PingSet */ + + /* Otherwise, look up pingset by id */ + return WERR_NOT_SUPPORTED; } @@ -61,7 +84,7 @@ static WERROR ComplexPing(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ct static WERROR ServerAlive(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_ctx, struct ServerAlive *r) { - return WERR_NOT_SUPPORTED; + return WERR_OK; } @@ -84,6 +107,9 @@ static WERROR ServerAlive2(struct dcesrv_call_state *dce_call, TALLOC_CTX *mem_c return WERR_NOT_SUPPORTED; } +/* FIXME: Regularly ping objects in use by local programs on + * remote servers */ + /* include the generated boilerplate */ #include "librpc/gen_ndr/ndr_oxidresolver_s.c" |