Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
// -*- mode: C++; tab-width: 4; indent-tabs-mode: nil -*- (for GNU Emacs)
//
// Copyright (c) 1985-2000 Microsoft Corporation
//
// This file is part of the Microsoft Research IPv6 Network Protocol Stack.
// You should have received a copy of the Microsoft End-User License Agreement
// for this software along with this release; see the file "license.txt".
// If not, please see http://www.research.microsoft.com/msripv6/license.htm,
// or write to Microsoft Research, One Microsoft Way, Redmond, WA 98052-6399.
//
// Abstract:
//
// Null authentication algorithm. For test purposes.
//
#include "oscfg.h"
#include "ndis.h"
#include "ip6imp.h"
#include "ip6def.h"
#include "ipsec.h"
#include "security.h"
#include "null.h"
//* NullKeyPrep - preprocess raw keying data into directly usuable form.
//
// This routine is called to convert raw keying information into the most
// convienient form for later processing. For the null algorithm, we just
// return 128 zero bytes.
//
void NullKeyPrep( uchar *RawKey, // Raw keying information.
uint RawKeySize, // Size of above in bytes.
uchar *Key) // Resulting 128 bytes of preprocessed key info.
{ UNREFERENCED_PARAMETER(RawKey); UNREFERENCED_PARAMETER(RawKeySize);
//
// Zero key size bytes at the location designated by our caller.
//
memset(Key, 0, NULL_KEY_SIZE); }
//* NullInit - prepare to process data.
//
// We don't need to maintain any context in order to do nothing, so
// this isn't very exciting.
//
void NullInit( void *Context, // Context info maintained across operations.
uchar *Key) // Keying information.
{ UNREFERENCED_PARAMETER(Key);
//
// Just to test the code a bit, zero the context field.
//
memset(Context, 0, NULL_CONTEXT_SIZE); }
//* NullOp - Process a chunk of data.
//
// NullOp is a No-Op.
//
void NullOp( void *Context, // Context info maintained across operations.
uchar *Key, // Keying information.
uchar *Data, // Data to process.
uint Len) // Amount of above in bytes.
{ UNREFERENCED_PARAMETER(Context); UNREFERENCED_PARAMETER(Key); UNREFERENCED_PARAMETER(Data); UNREFERENCED_PARAMETER(Len); }
//* NullFinal - close off processing current data and return result.
//
// Our result is always zero.
//
void NullFinal( void *Context, // Context info maintained across operations.
uchar *Key, // Keying information.
uchar *Result) // Where to put result of this process.
{ UNREFERENCED_PARAMETER(Context); UNREFERENCED_PARAMETER(Key);
//
// Zero result size bytes at the location designated by our caller.
//
memset(Result, 0, NULL_RESULT_SIZE); }
|