Vadim Smirnov

Forum Replies Created

Viewing 15 posts - 826 through 840 (of 1,509 total)
  • Author
    Posts
  • in reply to: Silent WinPkfilter Installation #6867
    Vadim Smirnov
    Keymaster

      If installation fails them something is definitely wrong with driver signing. We have customers who initially have signed drivers following Microsoft guide, but something was missed and installation failed.So far each such case was successfully resolved. Try to install signed drivers manually (through the Local Area Connection properties) to see if system complains on signing.

      Note, that for the NDIS IM drivers you have to sign both CAT file and driver binary (embedded signature). May be this the case.

      Creating an absolutely silent installation is possible, but prior to installing driver you have to install your certificate as trusted one. In this case system won’t ask user if he trusts the particular vendor during driver install process. This is not recommended by Microsoft. though.

      in reply to: How can I support Windows Server 2008 R2. #6866
      Vadim Smirnov
      Keymaster

        I think TDI driver you have installed just does not support Windows 7 and 2008 R2. You have to get an updated one.

        in reply to: Is it Winpkfilter3.0.7 serious Bug? #6862
        Vadim Smirnov
        Keymaster

          I would recommend to reboot always…

          in reply to: 64Bit Driver Signing #6864
          Vadim Smirnov
          Keymaster

            Official information on driver signing is available here

            http://www.microsoft.com/whdc/winlogo/drvsign/kmsigning.mspx

            in reply to: Network Not Working After WinpkFilter Install + Restart #6865
            Vadim Smirnov
            Keymaster

              A thought: Before installing WinpkFilter, i disabled driver signing enforcement (F8 menu). When I restarted my computer I didn’t do that. Do you think it’s because of that? Maybe the network could not initialize because the WinpkFilter driver was not loading.

              Yes, thats right. WinpkFilter driver is not signed and to get it working on x64 you have to load with disabled driver signing enforcement each time.

              in reply to: Is it Winpkfilter3.0.7 serious Bug? #6860
              Vadim Smirnov
              Keymaster

                Sometimes NDIS IM driver installation requires a reboot. Not always network stack can be rebuilt dynamically.

                in reply to: Is it Winpkfilter3.0.7 serious Bug? #6858
                Vadim Smirnov
                Keymaster

                  Have you rebooted after installing WinpkFilter driver?

                  in reply to: Is it Winpkfilter3.0.7 serious Bug? #6855
                  Vadim Smirnov
                  Keymaster

                    Installation of NDIS IM drivers requires network stack to unbind from network interfaces and binds again. This operation may bring your network down for a short period of time. Generally it is recommended to reboot after drivers installation because in some cases network stack is not able to reconfigure itself dynamically.

                    If you have created WinpkFilter based software and restarting it causes network connection problems then most probably this is a bug in your software. Note, that when you put network interfaces into the tunnel mode you ought to filter packets. If your application is suspended but network adapters are still in tunnel mode the network won’t function.

                    P.S. Your report is really messy to realize what you are trying to report 🙄

                    in reply to: Please, help to make DLL in Visual C with NDISAPI #6853
                    Vadim Smirnov
                    Keymaster

                      Looks like linker is unable to find or to take proper version of ndisapi.lib. Try to set path to ndisapi.lib in project setting instead of pragma.

                      in reply to: Задача с использованием VirtNet #6851
                      Vadim Smirnov
                      Keymaster

                        Для этого существует NDIS MUX Intermediate Drivers (NDIS 5.1)

                        The number of virtual miniports exposed by a MUX intermediate driver can be different than the number of lower physical adapters that are bound to the driver. A MUX intermediate driver exposes virtual miniports in a one-to-n, n-to-one, or even an m-to-n relationship with underlying adapters. This results in complicated internal bindings and data paths.

                        in reply to: TDI-фильтр и ClientEventChainedReceive(Expedited) #6850
                        Vadim Smirnov
                        Keymaster

                          В общем да…

                          in reply to: TDI-фильтр и ClientEventChainedReceive(Expedited) #6847
                          Vadim Smirnov
                          Keymaster

                            В данном случае STATUS_PENDING означает, что TDI клиент обработает полученные из сети данные позже и затем вернет переданный ему буфер. Данные из Tsdu лучше забрать до вызова оригинального обработчика, так как если это сделать позже, то можно получить race condition.

                            in reply to: trouble after install the winpkfilter 3.0.7 in VPS #6845
                            Vadim Smirnov
                            Keymaster

                              First, Windows VPS, an example Virtuozzo based ones, do not allow you to install custom drivers on them. The set of third party drivers which are allowed to load is defined by VPS vendor. I don’t know what VPS software is used at GoDaddy, but probably this is similar situation.

                              Second, any Windows will disconnect the remote session during NDIS IM drivers installation because the network stack is rebound and existing connections are dropped.

                              And third, even NDIS IM driver installation may require system reboot if stack can’t reinitialize dynamically.

                              in reply to: trouble modifying passthru sample #6840
                              Vadim Smirnov
                              Keymaster

                                SendPacketToAdapter can send any packet on the network even if it is not in correct format. I think you just don’t form the correct INTERMEDIATE_BUFFER. I’m not sure I fully understand what you are doing in your C# code as I’m not really experienced in C#, but to my limited knowledge the code is incorrect.

                                byte[] newPacket = new byte[sizeof(ETHER_HEADER) + sizeof(IPHeader) + sizeof(UdpHeader) +
                                sizeof(PlatformHeader) + dataLength + sizeof(GPSHeader)];

                                ...

                                IntPtr outgoingPacket = Marshal.AllocHGlobal((IntPtr)(newPacket.Length));
                                Marshal.Copy(newPacket, 0, outgoingPacket, newPacket.Length);

                                ETH_REQUEST outgoingRequest = new ETH_REQUEST();
                                outgoingRequest.hAdapterHandle = Request.hAdapterHandle;
                                outgoingRequest.EthPacket.Buffer = outgoingPacket;

                                In your code above you use newPacket as managed INTERMEDIATE_BUFFER and outgoingPacket as unmanaged INTERMEDIATE_BUFFER. However, the size for allocation for newPacket must be sizeof(INTERMEDIATE_BUFFER), not the size you have used above. As well when you copy managed INTERMEDIATE_BUFFER into unmanaged memory once again you should copy sizeof(INTERMEDIATE_BUFFER).

                                Note that you have to initialize INTERMEDIATE_BUFFER fields (you can copy values from the original structure and adjust m_Length).

                                Also note that the resulted packet must fit into MAX_ETHER_FRAME (more exactly it should not exceed network interface MTU value).

                                in reply to: TDI Filter, hook ClientEventsReceive #6830
                                Vadim Smirnov
                                Keymaster

                                  I think you can just return STATUS_DATA_NOT_ACCEPTED

                                Viewing 15 posts - 826 through 840 (of 1,509 total)