VirtualBox

Changeset 14685

Show
Ignore:
Timestamp:
11/27/08 09:13:37 (1 month ago)
Author:
vboxsync
Message:

NetFlt?/win: fix to 1.host network issue after vm termination 2.hif filtering 3.ms loopback adapter support

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/VBox/HostDrivers/VBoxNetFlt/Makefile.kmk

    r14655 r14685  
    107107        $(INSTALL) -m 644 $< $(@D) 
    108108 
     109$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFltNotify.dll: $$(TARGET_VBoxNetFltNotify) | $$(dir $$@) 
     110        $(INSTALL) -m 644 $< $(@D) 
     111 
    109112$(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.cat: \ 
    110113                $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.sys \ 
     114                $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFltNotify.dll \ 
    111115                $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt.inf \ 
    112116                $(PATH_TARGET)/VBoxNetFltCat.dir/VBoxNetFlt_m.inf \ 
     
    127131 
    128132PROGRAMS.win  += NetFltInstall NetFltUninstall 
    129  
    130133# 
    131134# NetFltInstall 
     
    143146NetFltUninstall_LIBS   += $(PATH_LIB)/WinNetConfig.lib 
    144147 
     148 ifeq ($(KBUILD_TARGET), win) 
     149# 
     150# VBoxNetFltNotify 
     151# 
     152DLLS.win += VBoxNetFltNotify 
     153PATH_VBoxNetFltNotifyCOM    = $(PATH_TARGET)/VBoxNetFltNotifyCOM 
     154 
     155VBOXNETFLT_NOTIFY_GENERATES = $(PATH_VBoxNetFltNotifyCOM)/VBoxNetFltNotifyn_i.c \ 
     156        $(PATH_VBoxNetFltNotifyCOM)/VBoxNetFltNotifyn_p.c \ 
     157        $(PATH_VBoxNetFltNotifyCOM)/VBoxNetFltNotifyn.h \ 
     158        $(PATH_VBoxNetFltNotifyCOM)/dlldata.c \ 
     159        $(PATH_VBoxNetFltNotifyCOM)/VBoxNetFltNotifyn.tlb 
     160 
     161VBOXNETFLT_NOTIFY_IDL      ?= $(EXEC_X86_WIN32) $(call VBOX_FN_MAKE_WIN_PATH,$(firstword $(wildcard \ 
     162        $(PATH_SDK_WINPSDK_BIN)/Midl.Exe\ 
     163        $(PATH_SDK_WINPSDK)/Bin/Midl.Exe\ 
     164        $(PATH_DEVTOOLS)/win.x86/bin/midl.exe\ 
     165        ) Sorry_Cannot_Find_The_Midl_Compiler_In_The_PSDK)) 
     166 
     167VBoxNetFltNotify_TEMPLATE   = VBOXR3STATIC 
     168VBoxNetFltNotify_SDKS       = WINPSDK W2K3DDK VBOX_NTDLL 
     169VBoxNetFltNotify_INCS      += \ 
     170        $(PATH_VBoxNetFltNotifyCOM) 
     171VBoxNetFltNotify_SOURCES    = \ 
     172        win/notifyobj/VBoxNetFltNotify.cpp \ 
     173        win/notifyobj/VBoxNetFltNotify.def \ 
     174        win/notifyobj/VBoxNetFltNotify.rc 
     175VBoxNetFltNotify_DEPS      += $(VBOXNETFLT_NOTIFY_GENERATES) 
     176#VBoxNetFltNotify_INTERMEDIATES      += $(VBOXNETFLT_NOTIFY_GENERATES) 
     177VBoxNetFltNotify_DEFS      += _WIN32_WINNT=0x0500 WIN32 _ATL_STATIC_REGISTRY 
     178VBoxNetFltNotify_LIBS      += \ 
     179        $(PATH_TOOL_$(VBOX_VCC_TOOL)_ATLMFC_LIB)/atls.lib 
     180VBoxNetFltNotify_CLEAN     += $(VBOXNETFLT_NOTIFY_GENERATES) 
     181#VBoxNetFltNotify_DIRS     += $(PATH_VBoxNetFltNotifyCOM) 
     182 
     183$(PATH_VBoxNetFltNotifyCOM)/VBoxNetFltNotifyn_i.c \ 
     184+ $(PATH_VBoxNetFltNotifyCOM)/VBoxNetFltNotifyn_p.c \ 
     185+ $(PATH_VBoxNetFltNotifyCOM)/VBoxNetFltNotifyn.h \ 
     186+ $(PATH_VBoxNetFltNotifyCOM)/dlldata.c \ 
     187+ $(PATH_VBoxNetFltNotifyCOM)/VBoxNetFltNotifyn.tlb: $(PATH_SUB_CURRENT)/win/notifyobj/VBoxNetFltNotifyn.idl 
     188        $(MKDIR) -p $(PATH_VBoxNetFltNotifyCOM) 
     189        $(VBOXNETFLT_NOTIFY_IDL) /nologo \ 
     190                /out $(call VBOX_FN_MAKE_WIN_PATH,$(PATH_VBoxNetFltNotifyCOM)) \ 
     191                /cpp_cmd $(subst $(EXEC_X86_WIN32),,$(call VBOX_FN_MAKE_WIN_PATH,$(TOOL_$(VBOX_VCC_TOOL)_CC))) \ 
     192                $(addprefix /I , $(call VBOX_FN_MAKE_WIN_PATH,$(SDK_W2K3DDK_INCS))) \ 
     193                $(call VBOX_FN_MAKE_WIN_PATH,$<) 
     194 endif #ifeq ($(KBUILD_TARGET), win)  
    145195else if1of ($(KBUILD_TARGET), linux solaris) 
    146196# 
  • trunk/src/VBox/Main/ConsoleImpl2.cpp

    r14543 r14685  
    13361336                                                            FILE_ATTRIBUTE_NORMAL, 
    13371337                                                            NULL); 
    1338                                 Assert(hDevice != INVALID_HANDLE_VALUE); 
    13391338                                if (hDevice != INVALID_HANDLE_VALUE) 
    13401339                                { 
     
    13641363                                    else 
    13651364                                    { 
    1366                                         AssertBreakpoint(); 
    13671365                                        int winEr = GetLastError(); 
    13681366                                        LogRel(("Console::configConstructor: DeviceIoControl failed, err (0x%x), ignoring\n", winEr)); 
     1367                                        AssertBreakpoint(); 
    13691368                                    } 
    13701369 
     
    13751374                                    int winEr = GetLastError(); 
    13761375                                    LogRel(("Console::configConstructor: CreateFile failed, err (0x%x), ignoring\n", winEr)); 
     1376                                    AssertBreakpoint(); 
    13771377                                } 
    13781378                                CoTaskMemFree(pName); 
  • trunk/src/VBox/Main/HostImpl.cpp

    r14579 r14685  
    10281028                while( hr == S_OK ) 
    10291029                { 
    1030                     hr = VBoxNetCfgWinGetBindingInterfaceEnum(pBp, &pEnumBi); 
    1031                     Assert(hr == S_OK); 
    1032                     if ( hr == S_OK ) 
     1030                    /* S_OK == enabled, S_FALSE == disabled */ 
     1031                    if(pBp->IsEnabled() == S_OK) 
    10331032                    { 
    1034                         hr = VBoxNetCfgWinGetFirstBindingInterface(pEnumBi, &pBi); 
     1033                        hr = VBoxNetCfgWinGetBindingInterfaceEnum(pBp, &pEnumBi); 
    10351034                        Assert(hr == S_OK); 
    1036                         while(hr == S_OK
     1035                        if ( hr == S_OK
    10371036                        { 
    1038                             hr = pBi->GetLowerComponent( &pMpNcc ); 
     1037                            hr = VBoxNetCfgWinGetFirstBindingInterface(pEnumBi, &pBi); 
    10391038                            Assert(hr == S_OK); 
    1040                             if(hr == S_OK) 
     1039                            while(hr == S_OK) 
    10411040                            { 
    1042                                 vboxNetWinAddComponent(&list, pMpNcc); 
    1043                                 VBoxNetCfgWinReleaseRef( pMpNcc ); 
     1041                                hr = pBi->GetLowerComponent( &pMpNcc ); 
     1042                                Assert(hr == S_OK); 
     1043                                if(hr == S_OK) 
     1044                                { 
     1045                                    vboxNetWinAddComponent(&list, pMpNcc); 
     1046                                    VBoxNetCfgWinReleaseRef( pMpNcc ); 
     1047                                } 
     1048                                VBoxNetCfgWinReleaseRef(pBi); 
     1049 
     1050                                hr = VBoxNetCfgWinGetNextBindingInterface(pEnumBi, &pBi); 
    10441051                            } 
    1045                             VBoxNetCfgWinReleaseRef(pBi); 
    1046  
    1047                             hr = VBoxNetCfgWinGetNextBindingInterface(pEnumBi, &pBi); 
     1052                            VBoxNetCfgWinReleaseRef(pEnumBi); 
    10481053                        } 
    1049                         VBoxNetCfgWinReleaseRef(pEnumBi); 
    10501054                    } 
    10511055                    VBoxNetCfgWinReleaseRef(pBp); 

© 2008 Sun Microsystems, Inc.
ContactPrivacy policy