⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 authcredcheck.c

📁 早期freebsd实现
💻 C
字号:
#include <stdio.h>/* $Header: Authcredcheck.c,v 1.3 87/03/23 10:25:03 ed Exp $ *//* * Copyright (c) 1986, 1987 Xerox Corporation. *//* contains: * Auth_Credcheck *//* $Log:	Authcredcheck.c,v $ * Revision 1.3  87/03/23  10:25:03  ed * Minor change. *  * Revision 1.2  87/01/13  16:37:16  ed * Added checks for null credentials formats *  * Revision 1.1  87/01/05  11:50:10  ed * Initial revision *  */#include <sys/types.h>#include <netns/ns.h>#include "Authentication2_defs.h"#include <xnscourier/courier.h>#include <xnscourier/except.h>/* * This module contains the routine: * Boolean Auth_CredCheck(creds, verifier) *	Credentials creds; *	Verifier verifier; */Boolean Auth_CredCheck(creds, verifier)	Credentials creds;	Verifier verifier;{	CourierConnection *conn;	extern CourierConnection *Auth_GetFirstAuth();	CheckSimpleCredentialsResults result;	Boolean retval;	Unspecified *bp, buffer[SPPMAXDATA];	ThreePartName chs_name;	Cardinal len;		if ( creds.type != simpleCredentials )		return(FALSE);	if ( creds.value.length == 0 )			/* nullCredentials */		return(TRUE);	externalize_Sequence_of_Unspecified(&creds.value, buffer);	bp= buffer;	bp += internalize_Cardinal(&len, bp);	internalize_SimpleCredentials(&chs_name, bp);	if ( chs_name.organization[0] == '\0' && chs_name.domain[0] == '\0' &&			chs_name.object[0] == '\0' )		return(TRUE);				/* is this valid ?? */	if ((conn = Auth_GetFirstAuth()) == NULL) {		fprintf(stderr,"Can't open connection to local Authentication service\n");		return(FALSE);	}	DURING {		result= CheckSimpleCredentials(conn, NULL, creds, verifier);	} HANDLER {		return(FALSE);	} END_HANDLER;	if ( result.ok == TRUE )		retval= TRUE;	else		retval= FALSE;	CourierClose(conn);	return(retval);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -