- Moved path validation checks from the wizard to its last page (planning
to remove XenWizardBase.FinishCancelled in future).
- If the directory did not exist, the user saw a message about inability
to write a file which was misleading. Check directory existence explicitly.
- Populate the last wizard page on load rather than on construction to
avoid unnecessary validations.
- Save in the settings the report output directory, not the filename.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
- Verification of appliance files in chunks to avoid StreamTooLong exception.
- Disposal of HashAlgorithms and X509Certificates after use.
- General code simplification.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
If the tar contains huge files, this causes memory spikes, even OutOfMemoryException.
Instead, copy the file from the input to the output stream in chunks.
For this purpose the sanitisation code was moved to XenCenterLib to avoid
exposing the tar internals to the UI project.
Also, made some minor improvements in error handling, clean up, and logging.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
- On the dialog show the next run time in both the client's and the server's local time zone.
- On the VMSS frequency page allow the user to pick the schedule in the client's
local time zone and show then next run time in both the client's and the server's local time zone.
- Refactoring to fix workflow and class design, reduce amount of code and simplify logic.
- Various layout improvements.
Signed-off-by: Aaron Robson aaron.robson@citrix.com
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
* Simplification: use auto-properties.
* Removed unnecessary null check. Converted private methods to linq method chain.
* Removed unused file. Added null check.
* Corrected property names as it was difficult to distinguish between the alert,
the patch and the filepath.
* Removed duplicate lock.
* CA-296490: Rewrote the logic uploading single updates so as to facilitate uploading to multiple pools in parallel.
* Corrections as per code review.
* Account for the case of uploading from disk legacy updates that do not correspond to an update alert.
Removed unfriendly error messages (the failure is written out in the logs anyway).
* Wizard test corrections and some modernising:
- Only call cancel on the last page if the test allows us to.
- Do finish the UpdatesWizard test.
- Finish the RunWizardKeyboardTests using key strokes instead of button clicks.
- Ensure the Cancel/Previous buttons do not have focus when sending an Enter stroke.
- Use optional parameters in the WizardTest constructor and string interpolation.
* Renamed badly named property.
* Improved code cloning VMs by assigning new opaque_refs to cloned VBDs.
Compacted test object provider: use optional parameters instead of method overloads.
* Modifications to prevent multiple update of enabled state and ensure the wizard
buttons are updated last.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
* CP-27819: Manually setting the ToolsVersion to 15.0 (VS2017) in all .csproj files for consistency and to attempt to enforce consistency of dev environments with the explicitness of the msbuild scripts as used in the build environments.
Auto updated as many of the .sln and .csproj files as VS2017 was willing to do https://docs.microsoft.com/en-us/visualstudio/ide/reference/upgrade-devenv-exe?view=vs-2017 and included changes to the gitignore to ensure that the update report and backup files are not included in the repo.
* CP-27819: Tidying up by removing FileUpgradeFlags, OldToolsVersion and UpgradeBackupLocation nodes from the .csproj files as they are produced as hints for how to revert project upgrades for which we can use version control.
* CP-27819: Removing redundant "ManifestCertificateThumbprint" and "ManifestTimestampUrl" nodes from project files "mk\sign.bat" has been used for this purpose for some time now.
* CP-27819: Updated readme to reflect that VS2017 is now in use.
Signed-off-by: Aaron Robson <aaron.robson@citrix.com>
once for all the items to be removed, passing in their list as argument. This method,
and the method Clear calling it, are used for alerts, updates, events and connections,
hence changed the handling of the CollectionChanged event in these cases to expect
either a single item or a collection. In the case of alerts, updates and events
this means that we can rebuild the whole list instead of removing single rows which
causes the application to hang for big numbers of items.
Moved MD5Hash function from EncryptionUtils to HTTP class.
Replaced unnecessary new string/List-related functions with existing methods.
Removed redundant string.IsNullOrEmpty() call.
Changed duplicate hotkey in Connection Options page.
Signed-off-by: Frezzle <frederico.mazzone@citrix.com>
Added 2 textboxes for proxy username and password; encrypted when saved and decrypted when loaded.
Added 2 checkboxes; one for bypassing proxy for xenserver connections, one for providing proxy credentials.
Removed checkbox for bypassing proxy for local addresses.
Controls are no longer enabled/disabled when the related proxy option is selected/deselected.
Making changes to a control (e.g. username, bypass checkbox, etc) selects the 'Use this proxy server' option automatically.
Removed "Bypass proxy server for local addresses" option.
Basic and Digest authentication implemented. Tested with FreeProxy (Basic+Digest), CCProxy (Basic) and AnalogX Proxy (no authentication); each were tested with correct credentials, incorrect credentials and missing credentials; all gave expected results.
Signed-off-by: Frederico Mazzone <fredericom@citrite.net>
1. Create named pipe: “HealthCheckServicePipe”
2. Receive credential send from XenServer and decrypt it
3. Update credential setting and save encrypted credential using current user scope system user.
4. Create work thread to handle the pipe communication.
5. If HealthCheckServicePipe already existed before service start, stop service and output service error log
6. If sign off information is received for a host (XenserverName or IP without username and password) then the existing saved credentials will be deleted
7. If the HealthCheckService connects to a host that is no longer enrolled, then it will delete the existing saved credentials
Signed-off-by: Cheng Zhang <cheng.zhang@citrix.com>
1.Create a service named XenServerHealthCheck
2.Read the XenCenter Server List from configuration
3.Try to connect to these servers
4.Modify protection of XenCenter config from CurrentUset to LocalMachine
Signed-off-by: Cheng Zhang <cheng.zhang@citrix.com>
is downloaded and stored every time an update is performed (if manual all updates
are downloaded, if automatic only as per the user's choices). If there are available
updates, update alerts are generated if there are connected hosts and disappear
when the hosts are disconnected.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
common code to the base class BackgroundThreadBase; removed classes inheriting from
EventArgs; use Action/Action<T> delegates instead of EventHandler<T>.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>
removed uninitialised streams which we were taking care to close. Solution-wide
style: use string.IsNullOrEmpty method instead of checking separately for null
and zero length.
Signed-off-by: Konstantina Chremmou <konstantina.chremmou@citrix.com>