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.
 
 
 
 
 
 

281 lines
5.0 KiB

//
// List of weak and semi-weak DES keys from
// Applied Cryptography: Protocols, Algorithms, and Source Code in C,
// second edition by Bruce Schneier.
//
#define NUM_WEAK_KEYS 16
BOOLEAN
IPSecInitRandom(
VOID
);
VOID
IPSecRngRekey(
IN PVOID Context
);
BOOLEAN
IPSecGenerateRandom(
IN PUCHAR pBuf,
IN ULONG BytesNeeded
);
VOID
IPSecCleanupOutboundSA(
IN PSA_TABLE_ENTRY pInboundSA,
IN PSA_TABLE_ENTRY pOutboundSA,
IN BOOLEAN fNoDelete
);
VOID
IPSecCleanupLarvalSA(
IN PSA_TABLE_ENTRY pSA
);
VOID
IPSecDeleteLarvalSA(
IN PSA_TABLE_ENTRY pSA
);
VOID
IPSecDeleteInboundSA(
IN PSA_TABLE_ENTRY pInboundSA
);
VOID
IPSecExpireInboundSA(
IN PSA_TABLE_ENTRY pInboundSA
);
NTSTATUS
IPSecCheckInboundSA(
IN PSA_STRUCT pSAStruct,
IN PSA_TABLE_ENTRY pSA
);
BOOLEAN
IPSecIsWeakDESKey(
IN PUCHAR Key
);
BOOLEAN
IPSecIsWeak3DESKey(
IN PUCHAR Key
);
NTSTATUS
IPSecPopulateSA(
IN PSA_STRUCT pSAStruct,
IN ULONG KeyLen,
IN PSA_TABLE_ENTRY pSA
);
NTSTATUS
IPSecCreateSA(
OUT PSA_TABLE_ENTRY *ppSA
);
PSA_TABLE_ENTRY
IPSecLookupSABySPI(
IN tSPI SPI,
IN IPAddr DestAddr
);
PSA_TABLE_ENTRY
IPSecLookupSABySPIWithLock(
IN tSPI SPI,
IN IPAddr DestAddr
);
NTSTATUS
IPSecLookupSAByAddr(
IN ULARGE_INTEGER uliSrcDstAddr,
IN ULARGE_INTEGER uliProtoSrcDstPort,
OUT PFILTER *ppFilter,
OUT PSA_TABLE_ENTRY *ppSA,
OUT PSA_TABLE_ENTRY *ppNextSA,
OUT PSA_TABLE_ENTRY *ppTunnelSA,
IN BOOLEAN fOutbound,
IN BOOLEAN fFWPacket,
IN BOOLEAN fBypass,
IN BOOLEAN fVerify,
IN PIPSEC_UDP_ENCAP_CONTEXT pNatContext
);
NTSTATUS
IPSecLookupTunnelSA(
IN ULARGE_INTEGER uliSrcDstAddr,
IN ULARGE_INTEGER uliProtoSrcDstPort,
OUT PFILTER *ppFilter,
OUT PSA_TABLE_ENTRY *ppSA,
IN BOOLEAN fOutbound,
IN PIPSEC_UDP_ENCAP_CONTEXT pNatContext
);
NTSTATUS
IPSecLookupMaskedSA(
IN ULARGE_INTEGER uliSrcDstAddr,
IN ULARGE_INTEGER uliProtoSrcDstPort,
OUT PFILTER *ppFilter,
OUT PSA_TABLE_ENTRY *ppSA,
IN BOOLEAN fOutbound,
IN PIPSEC_UDP_ENCAP_CONTEXT pNatContext
);
NTSTATUS
IPSecAllocateSPI(
OUT tSPI * pSpi,
IN PSA_TABLE_ENTRY pSA
);
NTSTATUS
IPSecNegotiateSA(
IN PFILTER pFilter,
IN ULARGE_INTEGER uliSrcDstAddr,
IN ULARGE_INTEGER uliProtoSrcDstPort,
IN ULONG NewMTU,
OUT PSA_TABLE_ENTRY *ppSA,
IN UCHAR DestType,
IN PIPSEC_UDP_ENCAP_CONTEXT pEncapContext
);
VOID
IPSecFlushQueuedPackets(
IN PSA_TABLE_ENTRY pSA,
IN NTSTATUS status
);
NTSTATUS
IPSecInsertOutboundSA(
IN PSA_TABLE_ENTRY pSA,
IN PIPSEC_ACQUIRE_CONTEXT pAcquireCtx,
IN BOOLEAN fTunnelFilter
);
NTSTATUS
IPSecAddSA(
IN PIPSEC_ADD_SA pAddSA,
IN ULONG TotalSize
);
NTSTATUS
IPSecUpdateSA(
IN PIPSEC_UPDATE_SA pUpdateSA,
IN ULONG TotalSize
);
VOID
IPSecRefSA(
IN PSA_TABLE_ENTRY pSA
);
VOID
IPSecDerefSA(
IN PSA_TABLE_ENTRY pSA
);
VOID
IPSecStopSATimers(
);
VOID
IPSecFlushLarvalSAList(
);
NTSTATUS
IPSecDeleteSA(
IN PIPSEC_DELETE_SA pDeleteSA
);
NTSTATUS
IPSecExpireSA(
IN PIPSEC_EXPIRE_SA pExpireSA
);
VOID
IPSecSAExpired(
IN PIPSEC_TIMER pTimer,
IN PVOID Context
);
VOID
IPSecFillSAInfo(
IN PSA_TABLE_ENTRY pSA,
OUT PIPSEC_SA_INFO pBuf
);
NTSTATUS
IPSecEnumSAs(
IN PIRP pIrp,
OUT PULONG pBytesCopied
);
VOID
IPSecReaper(
IN PIPSEC_TIMER pTimer,
IN PVOID Context
);
VOID
IPSecReapIdleSAs(
);
VOID
IPSecFlushEventLog(
IN PIPSEC_TIMER pTimer,
IN PVOID Context
);
NTSTATUS
IPSecQuerySpi(
IN OUT PIPSEC_QUERY_SPI pQuerySpi
);
NTSTATUS
IPSecSetOperationMode(
IN PIPSEC_SET_OPERATION_MODE pSetOperationMode
);
NTSTATUS
IPSecInitializeTcpip(
IN PIPSEC_SET_TCPIP_STATUS pSetTcpipStatus
);
NTSTATUS
IPSecDeinitializeTcpip(
VOID
);
NTSTATUS
IPSecSetTcpipStatus(
IN PIPSEC_SET_TCPIP_STATUS pSetTcpipStatus
);
NTSTATUS
IPSecResetCacheTable(
VOID
);
NTSTATUS
IPSecPurgeFilterSAs(
IN PFILTER pFilter
);
NTSTATUS
IPSecSetupSALifetime(
IN PSA_TABLE_ENTRY pSA
);
BOOLEAN
IPSecMatchSATemplate(
IN PSA_TABLE_ENTRY pSA,
IN PIPSEC_QM_SA pSATemplate
);
VOID ConvertEncapInfo(PSA_TABLE_ENTRY pInSA,
PUDP_ENCAP_INFO pEncapInfo);