zfmtauth.c

来自「Linux下的多协议即时通讯程序源代码」· C语言 代码 · 共 59 行

C
59
字号
/* This file is part of the Project Athena Zephyr Notification System. * It contains source for the ZFormatAuthenticNotice function. * *	Created by:	Robert French *	Copyright (c) 1987,1988 by the Massachusetts Institute of Technology. *	For copying and distribution information, see the file *	"mit-copyright.h".  */#include "internal.h"#ifdef ZEPHYR_USES_KERBEROSCode_t ZFormatAuthenticNotice(notice, buffer, buffer_len, len, session)    ZNotice_t *notice;    register char *buffer;    register int buffer_len;    int *len;    C_Block session;{    ZNotice_t newnotice;    char *ptr;    int retval, hdrlen;    newnotice = *notice;    newnotice.z_auth = 1;    newnotice.z_authent_len = 0;    newnotice.z_ascii_authent = "";    if ((retval = Z_FormatRawHeader(&newnotice, buffer, buffer_len,				    &hdrlen, &ptr, NULL)) != ZERR_NONE)	return (retval);#ifdef NOENCRYPTION    newnotice.z_checksum = 0;#else    newnotice.z_checksum =	(ZChecksum_t)des_quad_cksum(buffer, NULL, ptr - buffer, 0, (C_Block*)session);#endif    if ((retval = Z_FormatRawHeader(&newnotice, buffer, buffer_len,				    &hdrlen, NULL, NULL)) != ZERR_NONE)	return (retval);    ptr = buffer+hdrlen;    if (newnotice.z_message_len+hdrlen > buffer_len)	return (ZERR_PKTLEN);    (void) memcpy(ptr, newnotice.z_message, newnotice.z_message_len);    *len = hdrlen+newnotice.z_message_len;    if (*len > Z_MAXPKTLEN)	return (ZERR_PKTLEN);    return (ZERR_NONE);}#endif

⌨️ 快捷键说明

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