PreviousNext

rpc_mgmt_inq_dflt_protect_level(3rpc)

Returns the default protection level for an authentication service

Used by client and server applications.

Synopsis

#include <dce/rpc.h>

void rpc_mgmt_inq_dflt_protect_level(

unsigned32 authn_svc,

unsigned32 *protect_level,

unsigned32 *status);

Parameters

Input

authn_svc
Specifies the authentication service for which to return the default protection level.

The supported authentication services are as follows:

rpc_c_authn_none No authentication.
rpc_c_authn_dce_secret DCE shared-secret key authentication.
rpc_c_authn_dce_public DCE public key authentication (reserved for future use).
rpc_c_authn_default DCE default authentication service.
Output

protect_level
Returns the default protection level for the specified authentication service. The protection level determines the degree to which authenticated communications between the client and the server are protected.

The possible protection levels are as follows:

rpc_c_protect_level_default Uses the default protection level for the specified authentication service.
rpc_c_protect_level_none Performs no protection.
rpc_c_protect_level_connect Performs protection only when the client establishes a relationship with the server.
rpc_c_protect_level_call Performs protection only at the beginning of each remote procedure call when the server receives the request.
rpc_c_protect_level_pkt Ensures that all data received is from the expected client.
rpc_c_protect_level_pkt_integ Ensures and verifies that none of the data transferred between client and server has been modified.
rpc_c_protect_level_pkt_privacy Performs protection as specified by all of the previous levels and also encrypts each remote procedure call argument value.
status
Returns the status code from this routine. This status code indicates whether the routine completed successfully or, if not, why not.

Description
The rpc_mgmt_inq_dflt_protect_level( ) routine returns the default protection level for the specified authentication service.

A client can call this routine to learn the default protection level before specifying rpc_c_protect_level_default for the protect_level parameter in the pc_binding_set_auth_info( ) routine. If the default level is inappropriate, the client can specify a different, explicit level.

A called remote procedure within a server application can call this routine to obtain the default protection level for a given authentication service. By calling routine rpc_binding_inq_auth_client( ) in the remote procedure, the server can obtain the protection level set up by the calling client. The server can then compare the client-specified protection level with the default level to determine whether to allow the remote procedure to execute.

Alternatively, a remote procedure can compare the client's protection level against a level other than the default level. In this case there is no need for the server's remote procedure to call this routine.

Return Values
No value is returned.

Errors

The following describes a partial list of errors that might be returned. Refer to the OSF DCE Problem Determination Guide for complete descriptions of all error messages.

rpc_s_ok
Success.

rpc_s_unknown_authn_service
Unknown authentication service.

Related Information
Functions: rpc_binding_inq_auth_client(3rpc)

rpc_binding_set_auth_info(3rpc)