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

📄 makesecondarycreds.c

📁 早期freebsd实现
💻 C
字号:
#ifndef lintstatic char *rcsid = "$Header: MakeSecondaryCreds.c,v 1.5 87/04/16 15:47:29 ed Exp $";#endif lint/* * Copyright (c) 1986, 1987 Xerox Corp. *//* *  $Log:	MakeSecondaryCreds.c,v $ * Revision 1.5  87/04/16  15:47:29  ed * length becomes a Cardinal. *  * Revision 1.4  87/03/31  14:20:31  ed * Prompt with host name. *  * Revision 1.3  87/03/27  15:21:10  ed * Corrected missing argument on index(). *  * Revision 1.2  87/03/18  08:42:08  ed * Minor changes. *  * Revision 1.1  86/12/31  11:26:19  ed * Initial revision *  *  */#include <stdio.h>#include <sys/time.h>#include <sys/param.h>#include <sys/stat.h>#include <netns/ns.h>#include <netns/sp.h>#include <xnscourier/FilingSubset1.h>#include <xnscourier/CH.h>MakeSecondaryCreds(host, user, pwd, creds)char *host;char *user;char *pwd;FilingSubset1_SecondaryCredentials *creds;{	Cardinal length;	Unspecified buf[2048], *bp;	static FilingSubset1_SecondaryItem items[2];	FILE *tty;	char *cp, buffer[128], *index(), *getXNSpass();	char *userpwd, *username;	if ( user == 0 ) {		if ( (tty= fopen("/dev/tty", "r+")) == NULL )			tty= stdin;		else			setbuf(tty, (char *)NULL);		fprintf(tty, "Enter %s username: ", host);		fgets(buffer, sizeof(buffer), tty);		if ( (cp= index(buffer, '\n')) ) *cp= '\0';		username= buffer;		fclose(tty);	} else {		username= user;	}	if ( pwd == 0 ) {		char prompt[100];		sprintf(prompt,"Enter %s password: ", host);		userpwd= getXNSpass(prompt);	} else {		userpwd= pwd;	}	if ( creds != 0 ) {		creds->designator= FilingSubset1_simple;		items[0].type= FilingSubset1_userName;		items[0].value.sequence= Allocate(sizeof_String(&username));		bp= buf + sizeof_Cardinal(length);		length= externalize_String(&username, bp);		externalize_Cardinal(&length, buf);		internalize_Clearinghouse3_Item(&(items[0].value), buf);		items[1].type= FilingSubset1_userPassword;		items[1].value.sequence= Allocate(sizeof_String(&userpwd));		bp= buf + sizeof_Cardinal(length);		length= externalize_String(&userpwd, bp);		externalize_Cardinal(&length, buf);		internalize_Clearinghouse3_Item(&(items[1].value), buf);		creds->designator= FilingSubset1_simple;		creds->FilingSubset1_simple_case.length= 2;		creds->FilingSubset1_simple_case.sequence= items;	}			return;}

⌨️ 快捷键说明

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