- Oct 05, 2020
-
-
Yan Vugenfirer authored
Signed-off-by: Yan Vugenfirer <yan@daynix.com>
-
- Feb 27, 2020
-
-
Yuri Benditovich authored
Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
-
- Jan 27, 2020
-
-
Yuri Benditovich authored
Collect all the 'before-build' actions in single batch file. Download the DLL required for AppVeyor during the build. Remove the DLL from the repository. Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
-
Yuri Benditovich authored
Device redirection often fails when the device is in D3/D2 when we start redirecting it. Current commit brings the device to D0 before sending 'cycle power' command to the device port if the device is in low power mode at the moment of starting redirection. Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
-
Yuri Benditovich authored
Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
-
Yuri Benditovich authored
Previous commit 4de57a9f causes driver verifier assertion with latest Windows builds. Note that this assertion is not in latest WDF sources on GitHub. The verifier does not allow to forward the MJ_CREATE requestto local IO target using "send-and-forget". It requires the request to set completion callback. There is an option to remove the file create callback at all, but we prefer to have printout on file open for better diagnostics. So we add completion callback for forwarded request and complete the request in it. Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
-
- Jan 26, 2020
-
-
Yuri Benditovich authored
Discard wdf folder renaming, it is not needed. Discard WiX renaming, we use WIX environment variable. Populate proper VS2015 build DLL. Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
-
- Jan 02, 2020
-
-
Yuri Benditovich authored
tracepdb utility does not work as expected, it overrides TMF file with each processed PDB file. Build each TMF file separately and concatenate all the TMF files to one. Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
-
Yuri Benditovich authored
Use %WIX% instead of absolute path Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
-
Yuri Benditovich authored
https://github.com/daynix/UsbDk/issues/81 OnClose -> RemoveRedirect -> NotifyRedirectorRemovalStarted NotifyRedirectorRemovalStarted passes process id to ModifyOne in order to avoid stopping redirection if another not related process just opens the filter device and then closes it. Example (before this commit): Start VM and use remote-viewer to it. Separate application 'App' registers notification on USB device interface arrival. When new device comes, the application opens a file using symbolic link name and closes it. Redirect USB device to VM. The UsbDk forces device to be reenumerated. Open-close operation from the 'App' unexpectedly discards device redirection. After this commit: because the 'App' process is not an owner of the redirection, OnClose will not cause removal of the redirection. Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
-
Yuri Benditovich authored
Add optional process id parameter to the template arguments. If process id is provided, the entry will be additionally checked for match of owner process id saved in the redirection object and caller process id. Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
-
Yuri Benditovich authored
Set owner process id when device redirection successfully established (i.e. filter device is open and respective user mode handle created for the process). Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
-
Yuri Benditovich authored
Currently we stop redirection when filter device file handle closed. This might be incorrect if some application just opens and closes the file. Log entry with process id will help diagnosing such problems. Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
-
Yuri Benditovich authored
Add callback when filter device receives file open request. Propagate open operation down the stack and log it. ETW log will contain process id of open request. It is possible that more than one process opens the device. Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
-
Yuri Benditovich authored
https://github.com/daynix/UsbDk/issues/81 If during redirection the redirection object is deleted we may try accessing the deleted object in the loop of attempts to create the redirection handle. To avoid this we reference the redirection object until the redirection request completely satisfied or failed. Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
-
Yuri Benditovich authored
Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
-
Yuri Benditovich authored
Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
-
- Apr 15, 2019
-
-
Yuri Benditovich authored
The application that uses Hider API does not have an ability to query which persistent rules exist. So in order to use UsbDk_DeletePersistentHideRule the application shall guess which rule it needs to delete. Current commit adds ability to delete all existing the persistent rules. This API requires administrative privileges as all APIs related to persistent hide rules. Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
-
Yuri Benditovich authored
Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
-
Yuri Benditovich authored
Extended rules processing uses bitmask OR between device type determination bitmap and class/type bitmap provided in 'Class' parameter of the extended rule. Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
-
Yuri Benditovich authored
Load dynamic and persistent rules with type == 1 to extended rules sets. Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
-
Yuri Benditovich authored
Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
-
Yuri Benditovich authored
Device type bitmask is calculated for device class and classes of all its interfaces by narrowing set of device classes to set of device types. Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
-
Yuri Benditovich authored
Add set of dynamic and persistent rules for advanced device hiding feature. Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
-
Yuri Benditovich authored
Extending UsbDkController commands by adding 'Type' parameter. Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
-
Yuri Benditovich authored
This commit adds implementation of registry operation for extended rules in user-mode. Kernel driver still recognizes all the entries as default ones (it ignores the Type value). Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
-
Yuri Benditovich authored
Added: UsbDk_AddExtendedHideRule UsbDk_AddExtendedPersistentHideRule UsbDk_DeleteExtendedPersistentHideRule All existing APIs continue working as before. Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
-
Yuri Benditovich authored
Extend structure USB_DK_HIDE_RULE by adding 'Type' member derived from backward-compatible structure USB_DK_HIDE_RULE_PUBLIC. Public API procedures of UsbDkHelper receive USB_DK_HIDE_RULE_PUBLIC describing hiding rules. Internally UsbDk works with extended structure. Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
-
Yuri Benditovich authored
Added option MSGBOX=n to MSI package that forces the installer to run without pop-up message boxes in case of failure or request to reboot. Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
-
Yuri Benditovich authored
Add optional command-line parameter to suppress message box in case the installation requires reboot or aborted. This supports use case when the UsbDk is installed along with other product and restart is required regardless installation status of UsbDk. When installation helper runs with -in or -iN, the message boxes are suppressed. Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
-
- Jan 29, 2019
-
-
Yuri Benditovich authored
https://github.com/daynix/UsbDk/issues/66 According to interface definition, the UsbDk shall return actual length on transfer completion. For isoch OUT transfers the controller does not return it on respective URB field on Win10 and the updated WDK documentation states this field is not used for ISOCH OUT transfers. Current commit populates the initial packet length in the URB, making the result consistent on both Win7 and Win10. Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
-
- Jan 27, 2019
-
-
Yuri Benditovich authored
Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
-
Yuri Benditovich authored
When higher WDK than 14393 is installed on the machine, the modified files related to build of drivers and driver-related applications may produce errors on build using VS2015. Fixed project files solve this. Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
-
- Oct 17, 2018
-
-
Yuri Benditovich authored
Win7 with USB 3.0 stack might not report superspeed the same way as Win8 does. Use bcdUSB field of device descriptor for that (USB 3.0 device connected to USB 2.x port usually falls to USB 2 compatible configuration). Getting the speed from HUB driver via IOCTL is more complicated. Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
-
- Oct 10, 2018
-
-
Yuri Benditovich authored
This commit aims to address https://bugzilla.redhat.com/show_bug.cgi?id=1575043 The driver definitely may try accessing USB device where it is not USB and sending 'Submit URB' IOCTL down the stack may cause unpredictable result. Current commit change the order of checks when the device is enumerated by its parent device: first ensure this is USB device, then try to get USB-specific information. Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
-
Yuri Benditovich authored
This reverts previous commit that actually has removed the check that the driver is accessible. Prior to removal this at least should be investigated in corner cases which are also to be defined (like UsbDk uninstall when it has active redirected device). Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
-
- Apr 11, 2018
-
-
golden authored
Closes #56
-
- Jul 12, 2017
-
-
Yuri Benditovich authored
It is more correct to use lower device in stack for queries during filter initialization. Lower device is in initialized state and can process all kinds of requests, when current one is not ready yet. Signed-off-by: Yuri Benditovich <yuri.benditovich@daynix.com>
-
- Jun 07, 2017
-
-
Dmitry Fleytman authored
Signed-off-by: Dmitry Fleytman <dmitry@daynix.com>
-
- May 29, 2017
-
-
Sameeh Jubran authored
Currently, in some cases, attempting to start the driver can fail and cause Usb devices to become non functional. An example of such case is attemteting to install an unsigned version of UsbDk on Windows where the driver signature enforcement is enabled. The reason why this happens is not making sure the driver can start on the system prior to attaching it to all of the devices. This patch solves this issue by checking that the driver can start on the system prior to step 2 in the list below. UsbDk's installation process: 1) Create and register UsbDk's service 2) Add UsbDk to the registry 3) Reset all Usb host conrollers on the system 4) PNP manager attaches and starts the driver for each Usb device's stack Signed-off-by: Sameeh Jubran <sameeh@daynix.com> Signed-off-by: Dmitry Fleytman <dfleytma@redhat.com>
-