a) Standardised cleaner routines
b) Introduced -quiet and -debug parameters when run from repo root
c) Moved from FOR loop to a shift loop to more reliably support a
wider variety of directory formats and characters
d) Created NetKVM/clean_inx.cmd to delete *.inx files in NetKVM
e) Updated NetKVM/clean_dvl_log.cmd to use standardised routines
f) Moved all other custom clean operations to build/clean.bat
g) Added missing cleaner to viocrypt
h) Added missing entries for viomem and viocrypt to list of
directories to clean
Signed-off-by: benyamin-codez <[email protected]>
https://issues.redhat.com/browse/RHEL-31482
Before this commit: netkvmp.exe is installed by protocol INF
to system32 directory, INF also creates netkvmp service for
this binary. The netkvmp.exe works with netkvm driver using
IOCTLs and continues doing it in case the netkvm driver is
updated, so these binaries at some point might get out of sync.
In order to update the netkvmp.exe the protocol INF must be
reinstalled.
After this commit: netkvmp.exe is installed by netkvm INF to
system directory. When the netkvmp.exe is called to install
the protocol it first copies itself to system32\netkvmps.exe,
then it installs protocol INF, which creates netkvmp service
with existing netkvmps.exe file. The service from time to time
checks that the service binary (netkvmps.exe) is identical to
netkvmp.exe. When it detects they are out of sync, it starts
'netkvmp.exe restartservice' and stops. The netkvmp.exe
copies itself to netkvmps.exe and starts the service. Such a
way, the protocol service is always in sync with netkvm driver.
Signed-off-by: Yuri Benditovich <[email protected]>
- remove all the redundant files from the project
- change netkvmno.cpp to dummy driver file
- change project to be driver project (to sign INF)
- remove netkvmno.dll from INF file
Signed-off-by: Yuri Benditovich <[email protected]>
The signing is optional and used only during development build.
Fixed signing command to satisfy signtool of WDK 22000.
Signed-off-by: Yuri Benditovich <[email protected]>
The notification is not needed now, the logic of the operation is
changed and implemented in the protocol service. To avoid changes
in packaging we do not change the set of files but the DLL does
not service the protocol anymore.
Future plan is to remove also protocol binary from the protocol
installation and move it to the installation of netkvm.
Signed-off-by: Yuri Benditovich <[email protected]>
Earlier commit 42b1e51e22 has changed the configuration
of ProtocolService from Release to Win10Release but did not
it in the postbuild of NotifyObject. Fixing it
Signed-off-by: Yuri Benditovich <[email protected]>
Described how the failover feature works including latest
changes. Updated also list of supported adapters.
Signed-off-by: Yuri Benditovich <[email protected]>
When enumeration of bindings return S_FALSE this does not
indicate an error, just end of components list.
Signed-off-by: Yuri Benditovich <[email protected]>
In various situations the OS tends to hold some binaries
that might prevent overriding them during next installation
(for example Network Control Panel process may hold the
netkvmno.dll). Set copy flags in the INF to reduce
the chance of failure to override the binaries.
Signed-off-by: Yuri Benditovich <[email protected]>
By default we do not sign any binaries and CAT files in all
the projects under virtio-win. Typically driver providers sign
resulting drivers with their certificate after entire build
is done. To enable signing of executables during development
create local NetKVM\NotifyObject\.dosigning file.
Signed-off-by: Yuri Benditovich <[email protected]>
The dummy service behaves like a service and does not do
anything except of that. The protocol is unconditionally
registered by NETKVM driver on load. We do not have and do
not need another executable for the protocol, but we do
need the service name to register the protocol.
Signed-off-by: Yuri Benditovich <[email protected]>