Skip to content

Commit

Permalink
Revert "Remove a couple optional and unused callbacks."
Browse files Browse the repository at this point in the history
This reverts commit b9de440.
Potential fix for nmap/nmap#1998 in light of changelog entries for Npcap
0.99-r7 and nmap/nmap#1207
  • Loading branch information
bonsaiviking committed Apr 20, 2020
1 parent 87c3f3b commit ef95079
Show file tree
Hide file tree
Showing 3 changed files with 96 additions and 2 deletions.
76 changes: 76 additions & 0 deletions packetWin7/npf/npf/Openclos.c
Original file line number Diff line number Diff line change
Expand Up @@ -1590,6 +1590,51 @@ NPF_CreateFilterModule(

//-------------------------------------------------------------------

_Use_decl_annotations_
NDIS_STATUS
NPF_RegisterOptions(
NDIS_HANDLE NdisFilterHandle,
NDIS_HANDLE FilterDriverContext
)
/*++
Routine Description:
Register optional handlers with NDIS. This sample does not happen to
have any optional handlers to register, so this routine does nothing
and could simply have been omitted. However, for illustrative purposes,
it is presented here.
Arguments:
NdisFilterHandle - pointer the driver handle received from
NdisFRegisterFilterDriver
FilterDriverContext - pointer to our context passed into
NdisFRegisterFilterDriver
Return Value:
NDIS_STATUS_SUCCESS
--*/
{
TRACE_ENTER();

ASSERT(FilterDriverContext == (NDIS_HANDLE)FilterDriverObject);
if (FilterDriverContext != (NDIS_HANDLE)FilterDriverObject)
{
IF_LOUD(DbgPrint("NPF_RegisterOptions: driver doesn't match error, FilterDriverContext = %p, FilterDriverObject = %p.\n", FilterDriverContext, FilterDriverObject);)
return NDIS_STATUS_INVALID_PARAMETER;
}

TRACE_EXIT();

return NDIS_STATUS_SUCCESS;
}

//-------------------------------------------------------------------

static NDIS_STATUS NPF_ValidateParameters(
BOOLEAN bDot11,
NDIS_MEDIUM MiniportMediaType
Expand Down Expand Up @@ -2473,6 +2518,37 @@ Return Value:

//-------------------------------------------------------------------

_Use_decl_annotations_
NDIS_STATUS
NPF_SetModuleOptions(
NDIS_HANDLE FilterModuleContext
)
/*++
Routine Description:
This function set the optional handlers for the filter
Arguments:
FilterModuleContext: The FilterModuleContext given to NdisFSetAttributes
Return Value:
NDIS_STATUS_SUCCESS
NDIS_STATUS_RESOURCES
NDIS_STATUS_FAILURE
--*/
{
NDIS_STATUS Status = NDIS_STATUS_SUCCESS;
UNREFERENCED_PARAMETER(FilterModuleContext);

return Status;
}

//-------------------------------------------------------------------

ULONG
NPF_GetPhysicalMedium(
NDIS_HANDLE FilterModuleContext
Expand Down
4 changes: 2 additions & 2 deletions packetWin7/npf/npf/Packet.c
Original file line number Diff line number Diff line change
Expand Up @@ -598,12 +598,12 @@ NPF_registerLWF(
pFChars->ServiceName = ServiceName;
}

pFChars->SetOptionsHandler = NULL;
pFChars->SetOptionsHandler = NPF_RegisterOptions;
pFChars->AttachHandler = NPF_AttachAdapter;
pFChars->DetachHandler = NPF_DetachAdapter;
pFChars->RestartHandler = NPF_Restart;
pFChars->PauseHandler = NPF_Pause;
pFChars->SetFilterModuleOptionsHandler = NULL;
pFChars->SetFilterModuleOptionsHandler = NPF_SetModuleOptions;
pFChars->OidRequestHandler = NPF_OidRequest;
pFChars->OidRequestCompleteHandler = NPF_OidRequestComplete;
pFChars->CancelOidRequestHandler = NPF_CancelOidRequest;
Expand Down
18 changes: 18 additions & 0 deletions packetWin7/npf/npf/Packet.h
Original file line number Diff line number Diff line change
Expand Up @@ -466,6 +466,9 @@ extern ULONG g_NCpu;
* @{
*/

FILTER_SET_OPTIONS NPF_RegisterOptions;


/*!
\brief Callback for NDIS AttachHandler. Not used by NPF.
\param NdisFilterHandle Specify a handle identifying this instance of the filter. FilterAttach
Expand Down Expand Up @@ -722,6 +725,21 @@ FILTER_CANCEL_SEND_NET_BUFFER_LISTS NPF_CancelSendNetBufferLists;
// );


/*!
\brief Callback for NDIS SetFilterModuleOptionsHandler.
\param FilterModuleContext Pointer to the filter context structure.
\return NDIS_STATUS_SUCCESS
NDIS_STATUS_RESOURCES
NDIS_STATUS_FAILURE
This function set the optional handlers for the filter. Not used by NPF
*/
FILTER_SET_MODULE_OPTIONS NPF_SetModuleOptions;
// NDIS_STATUS
// NPF_SetModuleOptions(
// NDIS_HANDLE FilterModuleContext
// );

/*!
\brief Get the physical medium of the adapter.
\param FilterModuleContext Pointer to the filter context structure.
Expand Down

0 comments on commit ef95079

Please sign in to comment.