mirror of https://github.com/tongzx/nt5src
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.
101 lines
2.0 KiB
101 lines
2.0 KiB
/*++
|
|
|
|
Copyright (c) 1994 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
dhcprog.h
|
|
|
|
Abstract:
|
|
|
|
This file contain function prototypes for the DHCP server rogue detection
|
|
routines.
|
|
|
|
Author:
|
|
|
|
Ramesh Vyaghrapuri (rameshv) 17-Aug-1998
|
|
|
|
Environment:
|
|
|
|
User Mode - Win32 - MIDL
|
|
|
|
Revision History:
|
|
|
|
--*/
|
|
#ifndef ROGUE_H_INCLUDED
|
|
#define ROGUE_H_INCLUDED
|
|
|
|
//
|
|
// Structure that holds the state information for Rogue detection
|
|
//
|
|
|
|
#define MAX_DNS_NAME_LEN 260
|
|
|
|
typedef struct {
|
|
BOOL fInitialized;
|
|
HANDLE TerminateEvent;
|
|
HANDLE WaitHandle;
|
|
|
|
BOOL fDhcp;
|
|
BOOL fLogEvents;
|
|
BOOL fIsSamSrv;
|
|
ULONG NoNetTriesCount;
|
|
ULONG GetDsDcNameRetries;
|
|
BOOL fIsWorkGroup;
|
|
BOOL fDcIsDsEnabled;
|
|
BOOL fJustUpgraded;
|
|
ULONG CachedAuthStatus;
|
|
ULONG RogueState;
|
|
ULONG InformsSentCount;
|
|
ULONG SleepTime;
|
|
ULONG ReceiveTimeLimit;
|
|
ULONG ProcessAckRetries;
|
|
ULONG WaitForAckRetries;
|
|
ULONG nResponses;
|
|
BOOL fSomeDsExists;
|
|
ULONG StartTime;
|
|
ULONG LastUnauthLogTime;
|
|
|
|
WCHAR DomainDnsName[MAX_DNS_NAME_LEN];
|
|
WCHAR DnsForestName[MAX_DNS_NAME_LEN];
|
|
SOCKET SendSocket;
|
|
SOCKET RecvSocket;
|
|
BOOL fFormattedMessage;
|
|
BYTE SendMessage[DHCP_MESSAGE_SIZE];
|
|
UUID FakeHardwareAddress;
|
|
ULONG SendMessageSize;
|
|
BYTE RecvMessage[DHCP_MESSAGE_SIZE];
|
|
|
|
ULONG LastSeenIpAddress;
|
|
WCHAR LastSeenDomain[MAX_DNS_NAME_LEN];
|
|
|
|
LIST_ENTRY CachedServersList;
|
|
|
|
} DHCP_ROGUE_STATE_INFO, *PDHCP_ROGUE_STATE_INFO;
|
|
|
|
|
|
//
|
|
// Rogue.C
|
|
//
|
|
|
|
DWORD
|
|
APIENTRY
|
|
DhcpRogueInit(
|
|
IN OUT PDHCP_ROGUE_STATE_INFO Info OPTIONAL,
|
|
IN HANDLE WaitEvent,
|
|
IN HANDLE TerminateEvent
|
|
);
|
|
|
|
VOID
|
|
APIENTRY
|
|
DhcpRogueCleanup(
|
|
IN OUT PDHCP_ROGUE_STATE_INFO Info OPTIONAL
|
|
);
|
|
|
|
ULONG
|
|
APIENTRY
|
|
RogueDetectStateMachine(
|
|
IN OUT PDHCP_ROGUE_STATE_INFO Info OPTIONAL
|
|
);
|
|
|
|
#endif
|