コード例 #1
0
ファイル: service.c プロジェクト: vanrein/tlspool
/* Process a command packet that entered on a TLS pool socket
 */
static void process_command (struct command *cmd) {
	tlog (TLOG_UNIXSOCK, LOG_DEBUG, "Processing command 0x%08x", cmd->cmd.pio_cmd);
	union pio_data *d = &cmd->cmd.pio_data;
	if (is_callback (cmd)) {
		post_callback (cmd);
		return;
	}
	switch (cmd->cmd.pio_cmd) {
	case PIOC_PING_V1:
		strcpy (d->pioc_ping.YYYYMMDD_producer, TLSPOOL_IDENTITY_V1);
		send_command (cmd, -1);
		return;
	case PIOC_STARTTLS_CLIENT_V1:
		starttls_client (cmd);
		return;
	case PIOC_STARTTLS_SERVER_V1:
		starttls_server (cmd);
		return;
	case PIOC_PINENTRY_V1:
		register_pinentry_command (cmd);
		return;
	default:
		send_error (cmd, ENOSYS, "Command not implemented");
		return;
	}
}
コード例 #2
0
static int lockd_authenticate(struct svc_rqst *rqstp)
{
    rqstp->rq_client = NULL;
    switch (rqstp->rq_authop->flavour) {
    case RPC_AUTH_NULL:
    case RPC_AUTH_UNIX:
        if (rqstp->rq_proc == 0)
            return SVC_OK;
        if (is_callback(rqstp->rq_proc)) {
            return SVC_OK;
        }
        return svc_set_client(rqstp);
    }
    return SVC_DENIED;
}
コード例 #3
0
ファイル: svc.c プロジェクト: 325116067/semc-qsd8x50
static int lockd_authenticate(struct svc_rqst *rqstp)
{
	rqstp->rq_client = NULL;
	switch (rqstp->rq_authop->flavour) {
		case RPC_AUTH_NULL:
		case RPC_AUTH_UNIX:
			if (rqstp->rq_proc == 0)
				return SVC_OK;
			if (is_callback(rqstp->rq_proc)) {
				/* Leave it to individual procedures to
				 * call nlmsvc_lookup_host(rqstp)
				 */
				return SVC_OK;
			}
			return svc_set_client(rqstp);
	}
	return SVC_DENIED;
}