コード例 #1
0
static cc_int32 ccs_ccache_get_principal (ccs_ccache_t           io_ccache,
                                          ccs_cache_collection_t io_cache_collection,
                                          k5_ipc_stream           in_request_data,
                                          k5_ipc_stream           io_reply_data)
{
    cc_int32 err = ccNoError;
    cc_uint32 version = 0;

    if (!io_ccache          ) { err = cci_check_error (ccErrBadParam); }
    if (!io_cache_collection) { err = cci_check_error (ccErrBadParam); }
    if (!in_request_data    ) { err = cci_check_error (ccErrBadParam); }
    if (!io_reply_data      ) { err = cci_check_error (ccErrBadParam); }

    if (!err) {
        err = k5_ipc_stream_read_uint32 (in_request_data, &version);
    }

    if (!err && version == cc_credentials_v4_v5) {
        err = cci_check_error (ccErrBadCredentialsVersion);
    }

    if (!err) {
        if (version == cc_credentials_v4) {
            err = k5_ipc_stream_write_string (io_reply_data, io_ccache->v4_principal);

        } else if (version == cc_credentials_v5) {
            err = k5_ipc_stream_write_string (io_reply_data, io_ccache->v5_principal);

        } else {
            err = cci_check_error (ccErrBadCredentialsVersion);
        }
    }

    return cci_check_error (err);
}
コード例 #2
0
cc_int32 ccapi_ccache_set_principal (cc_ccache_t  io_ccache,
                                     cc_uint32    in_credentials_version,
                                     const char  *in_principal)
{
    cc_int32 err = ccNoError;
    cci_ccache_t ccache = (cci_ccache_t) io_ccache;
    k5_ipc_stream request = NULL;
    
    if (!io_ccache   ) { err = cci_check_error (ccErrBadParam); }
    if (!in_principal) { err = cci_check_error (ccErrBadParam); }
    
    if (!err) {
        err = k5_ipc_stream_new (&request);
    }
    
    if (!err) {
        err = k5_ipc_stream_write_uint32 (request, in_credentials_version);
    }
    
    if (!err) {
        err = k5_ipc_stream_write_string (request, in_principal);
    }

    if (!err) {
        err =  cci_ipc_send (cci_ccache_set_principal_msg_id,
                             ccache->identifier,
                             request,
                             NULL);
    }
    
    k5_ipc_stream_release (request);

    return cci_check_error (err);
}
コード例 #3
0
cc_uint32 cci_identifier_write (cci_identifier_t in_identifier,
                                k5_ipc_stream     io_stream)
{
    cc_int32 err = ccNoError;

    if (!in_identifier) { err = cci_check_error (ccErrBadParam); }
    if (!io_stream    ) { err = cci_check_error (ccErrBadParam); }

    if (!err) {
        err = k5_ipc_stream_write_string (io_stream, in_identifier->server_id);
    }

    if (!err) {
        err = k5_ipc_stream_write_string (io_stream, in_identifier->object_id);
    }

    return cci_check_error (err);
}
コード例 #4
0
cc_int32 ccs_ccache_write_name (ccs_ccache_t in_ccache,
                                k5_ipc_stream io_stream)
{
    cc_int32 err = ccNoError;

    if (!in_ccache) { err = cci_check_error (ccErrBadParam); }
    if (!io_stream) { err = cci_check_error (ccErrBadParam); }

    if (!err) {
        err = k5_ipc_stream_write_string (io_stream, in_ccache->name);
    }

    return cci_check_error (err);
}
コード例 #5
0
ファイル: kim_options.c プロジェクト: aosm/KerberosLibraries
kim_error kim_options_write_to_stream (kim_options   in_options,
                                       k5_ipc_stream io_stream)
{
    kim_error err = KIM_NO_ERROR;
    kim_options options = in_options;

    if (!err && !io_stream ) { err = check_error (KIM_NULL_PARAMETER_ERR); }
    
    if (!err && !in_options) {
        err = kim_options_create (&options);
    }
    
    if (!err) {
        err = k5_ipc_stream_write_int64 (io_stream, options->start_time);
    }
    
    if (!err) {
        err = k5_ipc_stream_write_int64 (io_stream, options->lifetime);
    }
    
    if (!err) {
        err = k5_ipc_stream_write_int32 (io_stream, options->renewable);
    }
    
    if (!err) {
        err = k5_ipc_stream_write_int64 (io_stream, 
                                         options->renewal_lifetime);
    }
    
    if (!err) {
        err = k5_ipc_stream_write_int32 (io_stream, options->forwardable);
    }
    
    if (!err) {
        err = k5_ipc_stream_write_int32 (io_stream, options->proxiable);
    }
    
    if (!err) {
        err = k5_ipc_stream_write_int32 (io_stream, options->addressless);
    }
    
    if (!err) {
        err = k5_ipc_stream_write_string (io_stream,  options->service_name);
    }
    
    if (options != in_options) { kim_options_free (&options); }
    
    return check_error (err);    
}
コード例 #6
0
static cc_int32 ccs_ccache_get_name (ccs_ccache_t           io_ccache,
                                     ccs_cache_collection_t io_cache_collection,
                                     k5_ipc_stream           in_request_data,
                                     k5_ipc_stream           io_reply_data)
{
    cc_int32 err = ccNoError;

    if (!io_ccache          ) { err = cci_check_error (ccErrBadParam); }
    if (!io_cache_collection) { err = cci_check_error (ccErrBadParam); }
    if (!in_request_data    ) { err = cci_check_error (ccErrBadParam); }
    if (!io_reply_data      ) { err = cci_check_error (ccErrBadParam); }

    if (!err) {
        err = k5_ipc_stream_write_string (io_reply_data, io_ccache->name);
    }

    return cci_check_error (err);
}