📄 unixcreds.c
字号:
#ifndef lintstatic char *rcsid = "$Header: unixcreds.c,v 1.2 87/04/01 10:12:52 ed Exp $";#endif lint/* * Copyright (c) 1986, 1987 Xerox Corporation. *//* $Log: unixcreds.c,v $ * Revision 1.2 87/04/01 10:12:52 ed * added Filing version 5. * * Revision 1.1 87/01/14 11:28:25 ed * Initial revision * */#include <stdio.h>#include <sys/types.h>#include <netns/ns.h>#include <netns/sp.h>#ifdef FILING4#include "filingV4.h"#include "clearinghouseV2.h"#include "authenticationV2.h"#endif FILING4#ifdef FILING5#include "filingV5.h"#include "clearinghouseV2.h"#include "authenticationV2.h"#endif FILING5#ifdef FILING6#include "filingV6.h"#include "clearinghouseV3.h"#include "authenticationV3.h"#endif FILING6#ifdef FILINGSUBSET1#include "filingsubsetV1.h"#include "clearinghouseV3.h"#include "authenticationV3.h"#endif FILINGSUBSET1#include <xnscourier/filing_server.h>#include <xnscourier/CH.h>extern char *AttrToString();#ifdef DEBUGFILE *msgs;#endif DEBUGget_name_and_pwd(creds, name, pwd)FILING_SecondaryCredentials *creds;char *name;char *pwd;{ int i; FILING_SecondaryItem *item; Boolean gotname= FALSE, gotpwd= FALSE; char *user, *pass; if ( creds->designator != FILING_simple ) { ReturnAuthenticationError(FILING_secondaryCredentialsRequired); /* NOT REACHED */ }#ifdef DEBUG fprintf(msgs, "%n secondary types\n", creds->FILING_simple_case.length);#endif DEBUG if ( creds->FILING_simple_case.length <= 0 ) { ReturnAuthenticationError(FILING_secondaryCredentialsRequired); /* NOT REACHED */ } for ( i= 0 ; i < creds->FILING_simple_case.length ; i++ ) { item= &creds->FILING_simple_case.sequence[i]; if ( item->type == FILING_userName ) { gotname= TRUE; user= AttrToString(item); strcpy(name, user); clear_String(&user); } else if ( item->type == FILING_userPassword ) { gotpwd= TRUE; pass= AttrToString(item); strcpy(pwd, pass); clear_String(&pass); } else { ReturnAuthenticationError(FILING_secondaryCredentialsTypeInvalid); /* NOT REACHED */ } } if ( !gotname && !gotpwd ) { ReturnAuthenticationError(FILING_secondaryCredentialsRequired); /* NOT REACHED */ } return(-1);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -