94 lines
2.3 KiB
C
94 lines
2.3 KiB
C
|
// -*- 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.
|
||
|
{
|
||
|
|
||
|
//
|
||
|
// 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.
|
||
|
{
|
||
|
|
||
|
//
|
||
|
// 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.
|
||
|
{
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
//* 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.
|
||
|
{
|
||
|
|
||
|
//
|
||
|
// Zero result size bytes at the location designated by our caller.
|
||
|
//
|
||
|
memset(Result, 0, NULL_RESULT_SIZE);
|
||
|
}
|