2.6.0.16795 -> 2.6.0.16854 ========================== [NEW] waptconsole: spn domain option when building wapt agent #10021 [FIX] regression waptwua: put kb files in cache as a whole for each update [GUI] waptconsole: darkmode for Windows LTSC build >= 17763 [UPD] waptconsole: wua pending updates exporting wsusscn2.cab all time [IMP] waptconsole: delete downloaded package if successfully imported from store * [IMP] waptconsole hosts list query: use POST request * to handle large queries * Add method and postdata arguments (for POST) to TServerRequestThread [IMP] waptwua: delete msu file after successful wusa.exe [FIX] waptwua download bundles updates regression. [FIX] handle NULL value in dynamic json config to ini file * setting to NULL now remove the value from ini file instead of crash. [FIX] wapt-get reset-config-from-file not working [FIX] normalization_import_softwares [BUILD] pass correct commit count to createrpm.py [FIX] waptwua msu installs * fix waptwua always downloading kb even if already downloaded locally. [FIX] waptserverconnection: when updating session cookie, don't dismiss other custome headers like add_host "X-Signature" [FIX] when updating host status, check with computername instead of computer fqdn that agent is registered under correct name. * fix Wapt.host_dn to use registry gpo key (windows) or cached domain_info (unix) * waptserverconnection: allow to use basic auth in login callback [FIX] Only download MSU file when one with the update id is found [IMP] wapt-get waptwua-xxx : init logger with loglevel_waptwua [IMP] wapt-get: add install-msu action * waptwua: lazy calc CachePath * waptwua: set Repo LocalRootPath:=CachePath [UPD] Add debug logs in WUA for MSU files [FIX?] Install MSU files with wusa.exe instead of with CopyToCache and IUpdateInstaller [FIX] trap gpupdate errors * use /Wait:15 instead of /Wait:30 [NEW] waptconsole: add a search box for reporting queries * show passwords button: disabled tabstop [IMP] wapt-get register: don't as for password if --not-interactive [FIX] purchase date and purchase_order main inventory property nmae * so that they are stored in as custom audit data if supplied [FIX] wads: be sure to select only HostOSDeploy with not null mac_addresses [IMP] waptserver update_host: * check matching host certificate CN with computer_name in addition to uuid and computer_fqdn * (to handle cases where host account in AD is different from local computer_name on linux) * if no signature, use nginx x_ssl_client_auth header to get the identity of provided data. allow_unsigned_status_data means either data is signed or connection is autheticated with a certificate CN which matches provided data (uuid, computer_name, computer_fqdn) [FIX] waptwua registry read when value does not exists [FIX] fixed TLdapClient.GetIsMemberOf() * when UserDN contains an escape \ character [REF] wapt-get register to use only waptlicences.waptserver_request * to ask for totp if needed * fix basic auth callback in python WaptServer * fix waptlicences.waptserver_request basic auth * add use_ssl_auth to waptlicences.waptserver_request [UPD] GetTempWaptDir is now located in user $HOME/.local/wapt/tmp on non Windows and %TEMP%\wapt on windows * previous location was on global /tmp/wapt [FIX] fix breaking change on computer_name in update_host data: * in unix host_infos, revert computer_name to previous socket.gethostname().lower() value even if there is a keytab (kerberos) [UPD] waptservice WaptServer client * add a bearer_token prop * use unicode for user and password in ask_user_password auth() callback * default with_otp to None. If None, use WaptServer.with_otp property * set with_otp to True if server returns a 'Missing OTP' auth hint on auth failure * provides 'computer_name' key in register and update_host data ( == setuphelpers.get_computername() ) [FIX] wapt-get.py : use unicode for user and password auth callback * Actualiser waptservice/pkg/postinstall [FIX] macOS: mkdir cache icons folder [GUI] waptconsole: in wapt packages, section image type on name and packages [GUI] waptconsole: host inventory platform image on os name Closes #9757 [UPD] submodules: sogrid and uicomponents * allow to load waptlicences or pyldap pyd modules in pyscripter in peInternal * when using peInternal, executable is not wapt-get.exe but pyscripter.exe * we need to force waptbasedir to d:\dev\wapt or c:\tranquilit\wapt or C:\Program Files (x86)\wapt * use case insensitive test for purging python path [FIX] get_domain_hostname_from_keytab [FIX] waptconsole: bad path build for explorer.exe [IMP] wads: allowing to save an empty format script [FIX] pid not reset in user db when wapt-get session-setup returns RETRY status