tree b251d33c0a4e04dcfacf8efe29783200b29a89e7
parent 9dbeea928606577c3fd1d34f4e56c15cd408fe45
author Andrew Kurth <arkurth@apache.org> 1501602235 +0000
committer Andrew Kurth <arkurth@apache.org> 1501602235 +0000

VCL-1065
Reverted changes to update_cygwin.cmd previously committed which added an attempt to call mkgroup.exe and mkpasswd.exe with "-l localhost" arguments. Added sed.exe commands to strip the '<HOST>+ section from the beginning of lines in group and passwd if it exists.

Removed "-t rsa1" argument from ssh-keygen.exe command. Recent versions don't support this and display an error. Without the argument, the key will be generated with the default type.

Added command at the end of update_cygwin.cmd to delete the 'VCL Update Cygwin' scheduled task if it exists. It doesn't need to be called on every reboot.

Added call to Windows.pm::post_load to delete the 'VCL Post Load' scheduled task if it exists. Also added identical call to Windows.pm::create_update_cygwin_startup_scheduled_task to make sure that both the 'VCL Post Load' and 'VCL Update Cygwin' scheduled tasks don't both exist because they cause conflicts.

Added call to 8.pm::pre_capture to delete the 'VCL Update Cygwin' scheduled task if it exists before adding the 'VCL Post Load' scheduled task.

Added '/RL HIGHEST' argument to schtasks.exe call in Windows.pm::create_startup_scheduled_task. It causes the task to run with "highest privileges". This seems to have corrected issues on at least one image where update_cygwin.cmd failed to run because of what seems to be a UAC issue.

Added call to Windows.pm::create_update_cygwin_startup_scheduled_task to copy the update_cygwin.cmd file from the management node to ensure the most recent copy is used.
