// -*- 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); }