-
Notifications
You must be signed in to change notification settings - Fork 728
/
CHANGELOG.txt
1676 lines (1601 loc) · 104 KB
/
CHANGELOG.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
# CHANGELOG.txt is not going to be be updated beyond this point
# To see what is being changed, please inspect the git log.
## 2019-06-05 @247089589,251531419
### Changes
--------------------------------------------------------------------------------
Remove obsolete smartany wrappers.
Also, remove obsolete #pragmas to disable C4640
(construction of local static object is not thread-safe).
--------------------------------------------------------------------------------
Implement the Omaha Cloud Policies Fetcher.
* The policies are fetched when the UpdateApps (/ua) process runs. UA runs at
5 hour intervals typically.
* The serialized policies are stored locally in separate directories for each
policy_type within the directory "%ProgramFiles(x86)%\Google\Policies".
* Each PolicyFetchResponse is stored into a subdirectory based off the
policy_type, with a fixed file name of "PolicyFetchResponse", where the file
contents are {SerializeToString-PolicyFetchResponse}}.
* Each "PolicyFetchResponse" file is opened in exclusive mode. If we are unable
to open or write to this file, UA will retry at the next UA interval.
* Client applications could use ::FindFirstChangeNotificationW on the
subdirectory corresponding to their respective policy_type to watch for
changes. They can then read and apply the policies within this file.
--------------------------------------------------------------------------------
Perform best-effort registration with the DMServer during UpdateApps processing.
This allows post-install registration to take place in the normal /ua scheduled
task in case:
- The network could not be used during installation on account
of NOGOOGLEUPDATEPING.
- Non-mandatory registration failed during installation.
- An enrollment token was provisioned to the machine via Group Policy
after installation.
--------------------------------------------------------------------------------
Workaround for ICE in service_main.h when building with 16.1.0
--------------------------------------------------------------------------------
Cloud policy fetch.
--------------------------------------------------------------------------------
Enable '/permissive-' as a compiler switch.
--------------------------------------------------------------------------------
Allow C++17 language features
--------------------------------------------------------------------------------
Remove weak crypto hash algorithms from Omaha client.
This cl removes MD5 support.
--------------------------------------------------------------------------------
Produce 3 consecutive versions of some of the Omaha build artifacts.
--------------------------------------------------------------------------------
## 2019-05-10 @243143383,247089588
### Changes
--------------------------------------------------------------------------------
Fix broken unit test CommandLineTest.ParseCommandLine_Install.
--------------------------------------------------------------------------------
App-specific disclaimers for RollbackToTargetVersion policy.
This change provides a way for apps to inject their own specific disclaimer
text in their RollbackToTargetVersion policy documentation.
New text for Chrome is included.
--------------------------------------------------------------------------------
Switch Omaha continuous build from VS2017 to VS2019.
--------------------------------------------------------------------------------
Remove precompiled headers support.
--------------------------------------------------------------------------------
Fix various test failures.
- RegKey::HasNativeKey has been removed, and callers have been updated to
use HKEY_LOCAL_MACHINE[64] or HKLM[64] as the name of the root key.
- ParseCommandLine_Install had a blatant typo ('%' instead of '&') which
has been fixed.
- DmClientRequestTest.RegisterWithRequest has been updated to reflect the
late change in the request type.
--------------------------------------------------------------------------------
Fix bug 131367413 Eliminate MFC headers.
--------------------------------------------------------------------------------
Compliance changes for VS2017.
--------------------------------------------------------------------------------
Rework the fix for bug 130373054 Build the Protocol Buffer Compiler executable
protoc.exe from source.
--------------------------------------------------------------------------------
Device Registration in Google Update during install.
--------------------------------------------------------------------------------
## 2019-04-11 @239101812,243143382
### Changes
--------------------------------------------------------------------------------
Fix spelling error s/accomodate/accommodate.
--------------------------------------------------------------------------------
Fix hardcoded Google company name in UtilsTest.AddAllowedAceRegistry.
--------------------------------------------------------------------------------
Update SaveArguments.exe to fix broken daily unit tests.
--------------------------------------------------------------------------------
Assorted Google Update policy template fixes.
- Fix a line ending issue preventing all but the first sentence in the
RollbackToTargetVersion .adm documentation from appearing in the policy editor.
- .adm template now calls the TargetVersionPrefix policy "Target version
prefix override" (matches .adml).
- Both templates now call the RollbackToTargetVersion policy "Rollback to
Target version" (rather than "Rollback version override" (.adm) or
"Rollback to Target version override" (.admx)).
- Minor typographical tweaks to the TargetVersionPrefix examples.
- Fix a regression introduced in cl/159509609 whereby part of the per-app
Update policy documentation was accidentally moved to the TargetVersionPrefix
documentation.
--------------------------------------------------------------------------------
Delete unused file marquee.avi.
--------------------------------------------------------------------------------
## 2019-03-19 @226393815,239101811
### Changes
--------------------------------------------------------------------------------
Fix bug 127373943 Omaha fails on Windows XP SP2 due to
GetLogicalProcessorInformation not located in KERNEL32.dll.
This change uses std::atomic_llong and ::GetCurrentThreadId() as a
replacement for std::thread::id, if GOOGLE_PROTOBUF_SUPPORT_WINDOWS_XP is
defined. std::thread does not work on Windows XP SP2 with the latest VC++
libraries, because it utilizes the Concurrency Runtime that
uses ::GetLogicalProcessorInformation which is only supported on
Windows XP SP3 and above.
--------------------------------------------------------------------------------
The RollbackToTargetVersion feature is not working as expected because the
client is sending "rollbackallowed" instead of "rollback_allowed".
<updatecheck rollbackallowed="true" targetversionprefix="72"/>
--------------------------------------------------------------------------------
Fix generated policy templates for Pol_RollbackToTargetVersion.
The opening <policy> element in the ADMX file had an errant "/" before the
closing ">", making it appear to be an empty element. This change also adds
the missing string for "At least Google Update 1.3.34.3" to both the ADM and
ADMX templates.
--------------------------------------------------------------------------------
Fix bug 127843407 Increase UpdatesSuppressedDurationMin to a max of 16 hours
for Enterprise Scheduling of updates.
--------------------------------------------------------------------------------
Fix Deadlock in shutdown of UA process.
--------------------------------------------------------------------------------
Check explicitly for a full match of the command lines to exclude in Omaha
Setup.
--------------------------------------------------------------------------------
Fix build break: Disable warning C4628 digraphs not supported with -Ze.
--------------------------------------------------------------------------------
Fix bug 122987550 Implement the RollbackToTargetVersion policy for domain-joined
machines. This policy setting has no effect unless a "Target version override"
is set via the TargetVersionPrefix policy for the app as well.
The RollbackToTargetVersion value will be sent as an attribute of the
<updatecheck> element in update checks that the client makes with the
Omaha server.
Example:
<o:updatecheck rollbackallowed="true" targetversionprefix="55.7" ...
--------------------------------------------------------------------------------
Change the Close button to be a single 4x4 rectangular center and criss-crossing
2x2 overlapping rectangles, and the Minimize button is now a 2 x width sizing.
This makes it align correctly with caption sizes on other Win32 windows.
--------------------------------------------------------------------------------
Pass PBM_SETPOS and PBM_SETMARQUEE to the underlying Progress Bar Win32 control,
to enable accessibility to show the correct progress values.
--------------------------------------------------------------------------------
Adjust the contrast a bit on the download and install progress bars to make them
a bit lighter and still have sufficient contrast with the background.
--------------------------------------------------------------------------------
Change the minimize and close buttons on the installer UI to be broader and
contrast with the background sufficiently.
Change the download and install progress bars to contrast sufficiently with
the background.
--------------------------------------------------------------------------------
This change has fixes to the Owner Draw progress bar control, and changes to
use the owner Draw Progress Bar control for all progress renderings within
Omaha. This change also removes the SysAnimate32 control.
--------------------------------------------------------------------------------
Fix Test BrowserUtilsTest.GetBrowserImagePath_AllSupportedBrowsers fails for
Firefox and Chrome Beta.
Also added a macro that expands to SHGetKnownFolderPath which is recommended
over SHGetFolderPath.
--------------------------------------------------------------------------------
Fix UtilsTest.AddAllowedAce
--------------------------------------------------------------------------------
Improves the security of Code Red using Omaha signing. The final change that
puts together the pieces to make Code Red more secure.
--------------------------------------------------------------------------------
Fix
AppAutoUpdateTest.PostUpdateCheck_UpdateAvailable_NonExistentInstallDataIndex
--------------------------------------------------------------------------------
Fix OmahaCustomizationGoopdateComInterfaceTest.VerifyNoNewInterfaces
--------------------------------------------------------------------------------
Add missing net.lib dependency to RecoveryTest_smallest.exe.
--------------------------------------------------------------------------------
Add crx_file.lib to the libs when building RecoveryTest_smallest.exe.
--------------------------------------------------------------------------------
Add enabling code and build changes to allow for downloading the Code Red
Recovery in a secure CRX3 format.
--------------------------------------------------------------------------------
Adding Unzip support to the CRX Verification codebase.
## 2018-12-20 @176133949,226393814
### Changes
--------------------------------------------------------------------------------
Remove AppCommand accessibility from the ActiveX control.
--------------------------------------------------------------------------------
Replace Google Inc with Google LLC.
--------------------------------------------------------------------------------
Accept the new SHA256 certificate (11/06/2018 to 11/17/2021).
This change adds a pin for the new certificate.
It accomodates for different names of the certificates.
--------------------------------------------------------------------------------
Update SaveArguments.exe file.
Version 1.2.33.33 signed on 12/03/2018.
Note this version is signed with the new sha256 certificate
issued to Google LLC.
--------------------------------------------------------------------------------
CompileProtoBuf builder improvements.
The builder now:
- takes a list of input .proto files
- returns a list of Nodes for the generated .pb.cc output files
- takes the proto_path and cpp_out args as construction variables in the environment
This makes it easier to compile a protobuf and its dependencies in one invocation.
This change also builds both 32-bit and 64-bit variants of libprotobuf.
--------------------------------------------------------------------------------
Remove valueName attributes from <policy> elements that have have it set on a
child of an <elements> element.
This allows the policies to work with Microsoft Intune.
--------------------------------------------------------------------------------
Replace 1.1.1.1 with 2.2.2.2 in unit tests.
We need an address where ping times out.
--------------------------------------------------------------------------------
Change DOS-mitigation header strings (Windows)
X-GoogleUpdate-Interactivity -> X-Goog-Update-Interactivity
X-GoogleUpdate-AppId -> X-Goog-Update-AppId
X-GoogleUpdate-Updater -> X-Goog-Update-Updater
--------------------------------------------------------------------------------
Rotate CUP key.
--------------------------------------------------------------------------------
Send a boolean to indicate whether the machine is domain joined or not.
--------------------------------------------------------------------------------
## 2017-11-16 @156858449,176133948
### Changes
--------------------------------------------------------------------------------
Disabling compiler warning 4146 to allow building the 3.5.0 protocol buffer
sources.
--------------------------------------------------------------------------------
Add CRX3 Support into Omaha. This modified CRX Verifier only supports CRX v3,
and only does ECDSA SHA256 verification. The logic in here needs to be kept in
sync with https://cs.chromium.org/chromium/src/components/crx_file/.
--------------------------------------------------------------------------------
Initializing the CRX Verification code from
https://cs.chromium.org/chromium/src/components/crx_file/.
--------------------------------------------------------------------------------
Add support for parsing a DER-encoded SubjectPublicKeyInfo value
holding a P-256 ECDSA public key.
--------------------------------------------------------------------------------
Update base/security library
--------------------------------------------------------------------------------
Implement a command line parser for --, -, and / switches.
--------------------------------------------------------------------------------
Adding the ability to build Protocol Buffers into Omaha builders.
--------------------------------------------------------------------------------
Suppress uninstalls of the wrapped standalone installer when upgrading and
downgrading.
--------------------------------------------------------------------------------
Update the conditions on the various install and uninstall custom actions so
that the wrapped standalone installer is properly kept in sync with the
"ProductClientState" component. Previously, various operations (e.g., running a
repair with /fvomus on an MSI that wasn't actually installed) would potentially
run the installer/uninstaller at inappropriate times, resulting in the
wrapped product being present without the "ProductClientState" component.
--------------------------------------------------------------------------------
Added group policy for enterprise version control (TargetVersionPrefix).
--------------------------------------------------------------------------------
Fix bug 62728209 RestartBrowser* tests fail with "Browser Internet Explorer was
not displayed". Since IE now has a multi-process model, sending a WM_CLOSE is
not sufficient to close down all the iexplore.exe processes. Now we try to use a
remote thread to terminate, failing which we use ::TerminateProcess as a last
resort.
--------------------------------------------------------------------------------
Generates group policy for enterprise scheduling of updates.
--------------------------------------------------------------------------------
Omaha: update the product branding in template configuration.
Replace "Google Apps" with "G Suite".
--------------------------------------------------------------------------------
Add "--system-level" since removing it breaks test automation for older
versions of Chrome.
--------------------------------------------------------------------------------
## 2017-05-23 @151628000,156858448
### Changes
--------------------------------------------------------------------------------
Fix build break. Python 2.4 does not have a hashlib implementation, resulting in
a build break. This change adds a hashlib implementation compatible with Python
2.4 from https://pypi.python.org/pypi/hashlib.
--------------------------------------------------------------------------------
Omaha Standalone Offline MSI installers not working with Omaha M33.
--------------------------------------------------------------------------------
## 2017-04-03 @141381616,151627999
### Changes
--------------------------------------------------------------------------------
Omaha hardcodes a kChromeAppId literal in a couple of places. This change
removes the literal for the chrome installer invocation, since the Chrome
installer does not use it as of a few versions. The Chrome installer instead
uses an environment variable that Omaha sets to determine the System install
--------------------------------------------------------------------------------
Pass more arguments from the tag on the .msi down to the wrapped standalone
installer. Specifically: - iid, so that the download->install link is made as
with ordinary installers - lang, so that the language of the dlpage is used by
Omaha and Chrome on first run - browser, so that we know what browser was used
for the download - ap, so that we can put statsdef_{0,1} and build a beta msi
--------------------------------------------------------------------------------
Update MsiTagger for consistency with dlpage tagger: - tag length no longer
includes the string terminator - trailing zeros are no longer written
--------------------------------------------------------------------------------
MSI tag extractor improvements: - ignore any/all padding following a tag - fix
tag extraction from very small and very large files
--------------------------------------------------------------------------------
Extract more tags for use in enterprise installers.
--------------------------------------------------------------------------------
Do not wrap the ProductCustomParams argument value in double quotes. Since this
command line is not passed through an interpreter, quotes aren't needed. In
fact, they end up in the property value in the WiX wrapper. We end up with, for
example, 'appguid={...}&appname=..."&brand=...&ap=..."'. Note the extra
double-quotes in there.
--------------------------------------------------------------------------------
This change implements a group policy that allows update checks to be suppressed
out during the day. A group policy administrator would set
UpdatesSuppressedStartHour, UpdatesSuppressedStartMin, and
UpdatesSuppressedDurationMin to be the times when Omaha will not check for
updates.
--------------------------------------------------------------------------------
Refactor into a more object-oriented scheduled tasks API with separate classes
for the V2 and V1 implementations.
--------------------------------------------------------------------------------
Many installers do not write Installer Progress. We try to read it, but we
ignore any read errors.
--------------------------------------------------------------------------------
Remove support for the Legacy Install progress.
--------------------------------------------------------------------------------
Fix bug 24807812 Deprecate Sha1 for the Omaha Client. Going forward, the Omaha
client will only honor SHA 256 hashes for downloaded files.
--------------------------------------------------------------------------------
Assert in omaha_unittest when the environment block is too large.
--------------------------------------------------------------------------------
For domain-joined machines with TargetVersionPrefix policy values set for any
apps, the values will be sent as attributes of the <updatecheck> elements in
update checks that the client makes with the Omaha server. Example:
<o:updatecheck targetversionprefix="55.7" ... Example values: * "" (or not
configured): update to latest version available. * "55.": update to any minor
version of 55 (e.g. 55.24.34 or 55.60.2). * "55.2.": update to any minor
version of 55.2 (e.g. 55.2.34 or 55.2.2). * "55.24.34": update to this specific
version only.
--------------------------------------------------------------------------------
Lots of crashes in omaha::SetupGoogleUpdate::InstallMsiHelper(). This change
moves the MSI Helper installation to a separate process, isolating any crashes
in MSI registration from affecting the rest of the codebase.
--------------------------------------------------------------------------------
Fix Chrome installer hooks for Windows 10 upgrades. The AppCommandsOnOSUpgrade
hooks now run if the OS build number changes.
--------------------------------------------------------------------------------
## 2016-12-12 @140657335,141381615
### Changes
--------------------------------------------------------------------------------
Fix installer hooks for Windows 10 upgrades. The AppCommandsOnOSUpgrade hooks
now run if the OS build number changes.
--------------------------------------------------------------------------------
Rename DEBUG_SOURCE_UPDATE_CHECK to DEBUG_SOURCE_CUP_FAILURE
--------------------------------------------------------------------------------
Switching to using the explicit Enabled property on IRegisteredTask to check
whether a task is disabled instead of relying on GetStatus() for the 2.0 API
tasks.
--------------------------------------------------------------------------------
## 2016-11-23 @127906167,140657334
### Changes
--------------------------------------------------------------------------------
Enable building true 64-bit MSI installers.
--------------------------------------------------------------------------------
Disable a few tests in the ETW tracing code. The code is still failing on
Windows 10 for no clear reason.
--------------------------------------------------------------------------------
Update SaveArguments.exe file. The file version is 1.3.32.3, signed on
Wednesday, October 26, 2016 6:09:07 PM
--------------------------------------------------------------------------------
Upgrade to using the Task Scheduler 2.0 API in Omaha. Omaha Scheduled Tasks not
working as expected on Windows 10 AE.
--------------------------------------------------------------------------------
Report build and patch number for Windows.
--------------------------------------------------------------------------------
Implement DoS Mitigation Headers. * The client sends a
X-GoogleUpdate-Interactivity header to indicate whether the current request is
foreground or background. A value of "fg" ("foreground") indicates foreground
install or on-demand updates. "bg" ("background") indicates silent update
traffic. * The client sends a X-GoogleUpdate-AppId header to indicate the apps
associated with the request. When updating multiple apps, the client specifies a
comma-separated list of app ids. * The client sends a X-GoogleUpdate-Updater
header to indicate the identity of the updater. This is the "updater" version
string also present in the request. In the case of Omaha, prepend "Omaha-" to
the version string.
--------------------------------------------------------------------------------
Chrome Recovery Component Pings do not include chromrec2extra experiment labels.
This change adds a RemoveTimestamps() method to the public interface for
experiment labels, and removes the ability to exclude timestamps in 3 of the 4
other public methods. RemoveTimestamps() is only used when the experiment labels
need to be sent over the wire. In all other cases, experiment labels include the
timestamps. -------------------------------------------- Google Installer shown
as a performance bottleneck in Windows 8+. The Run key now runs
GoogleUpdateCore.exe that checks if the Core "GoogleUpdate.exe /c" has run
recently, and if not, runs "GoogleUpdate.exe /c". The expectation here is that
for most people, the Core Scheduled Task will run "GoogleUpdate.exe /c", and the
Run mechanism is just a backup in case the Scheduled Task fails to run. This
will greatly reduce the number of instances where "GoogleUpdate.exe /c" is run
at Startup.
--------------------------------------------------------------------------------
## 2016-07-21 @123807767,127906166 1.3.31.5
### Changes
--------------------------------------------------------------------------------
Build changes for opensource: define shell var OMAHA_WINDOWS_SDK_10_0_VERSION
--------------------------------------------------------------------------------
SafeFormatTest.BrokenCStringFormatTruncates crashes and
TimeTest.TimeToStringTest fails. Deleting
SafeFormatTest.BrokenCStringFormatTruncates and disabling
TimeTest.TimeToStringTest.
--------------------------------------------------------------------------------
Changes all CStringT Format/AppendFormat calls to use the safe versions
SafeCStringFormat/AppendFormat.
--------------------------------------------------------------------------------
Change GPA_WRAP to use ::LoadLibrary instead of ::GetModuleHandle. The former is
needed for cases where the module is not already loaded.
--------------------------------------------------------------------------------
Fix bug 29402553 Omaha metainstaller fails silently with Server Core for Windows
Server 2012 R2. There are dependencies missing in Server Core for Windows Server
2012 R2. Server Core is a minimal server installation option for Windows Server
that provides a low-maintenance server environment with limited functionality. I
removed the rasapi32/rasman dependency, and the installer works on Server Core.
--------------------------------------------------------------------------------
The Model object is now created in the Worker constructor so that the
locking/unlocking works correctly.
--------------------------------------------------------------------------------
Service not shutting down fast enough for a fallback local instance to install.
This CL moves the Worker initialization (which includes the single instance
mutex) to method calls on the IGoogleUpdate3 interface. In other words, the
Worker is only initialized when the Client has a valid IGoogleUpdate3 interface
pointer and calls a method on it. This change allows the client to reliably fall
back to the in-proc COM server when the service takes too long to come up or if
the interfaces are not registered correctly.
--------------------------------------------------------------------------------
Refactor parts of standalone_installer into plain python module.
--------------------------------------------------------------------------------
## 2016-06-01 @120560962,123807766
### Changes
--------------------------------------------------------------------------------
Fix bug CertInfoTest.CertInfo fails. ExtractAllCertificatesFromSignature() gets
the certificate chain for the first signature and the certificate chain for the
corresponding timestamp. With the older SaveArguments.exe, the "Symantec Time
Stamping Services Signer - G4" timestamp had 2 certificates in the certificate
chain. With the newer SaveArguments.exe, the "COMODO SHA-1 Time Stamping Signer"
has only a single certificate in the chain. So the total is off by 1. Fixing
the total to be 3 now.
The code we have in signaturevalidator.cc works for now.
ExtractAllCertificatesFromSignature() only extracts the first signature in files
with multiple digital signatures. It turns out that ::CryptQueryObject in
conjunction with ::CertEnumCertificatesInStore on the returned HCERTSTORE only
enumerates over the first signature (the SHA1 in this case). If we need to read
subsequent signatures (the SHA256 for instance), we need to parse the
unauthenticated attribute OID szOID_NESTED_SIGNATURE. For now, the code that we
depend on works fine with the SHA1 signature, so I am only fixing the unit test.
--------------------------------------------------------------------------------
Bypass signing process for development build.
--------------------------------------------------------------------------------
Omaha fonts look bad on hi-dpi windows and fix Chromium Issue 612283 Installer
text is blurry on Hi-DPI devices. Changing the manifest to specify that the
Omaha UI is DPI-Aware. Tested with different DPI settings on Windows 8.1, the UI
works well. More work may be needed on Windows 7, where the progress bar is not
scaled appropriately.
--------------------------------------------------------------------------------
Fix ADMX generation for the UpdateDefault policy. Addressing crbug/609145.
--------------------------------------------------------------------------------
Add support for product downgrades to GoogleChromeStandaloneEnterprise.msi
wrappers around standalone installers.
Ordinarily, the MSI wrapper prevents product downgrades. This can be suppressed
by passing ALLOWDOWNGRADE=1 (or any other value) via the command line to
msiexec. This option can be propagated to app installers (mini_installer.exe)
via a substitution of the [AllowDowngradeSubstitution] property in the app's
ProductInstallerData. This property will be 'false' under normal circumstances,
and 'true' when ALLOWDOWNGRADE=1 is used.
This feature is added in support of Chrome's enterprise installer; see
http://crbug.com/607592.
--------------------------------------------------------------------------------
Fix bug 28297220 Experiment Label deltas not being saved correctly for machine
ping requests.
--------------------------------------------------------------------------------
Update service spam to Event Log. Redefining the macro RegisterEventSource to
evaluate to NULL so that ATL's logging code does nothing. Explicitly using
::RegisterEventSourceW in the Omaha codebase.
--------------------------------------------------------------------------------
Authenticode timestamping changes. Increasing the timeout between retries of
signing a single file to 15 seconds as per Comodo's recommendations.
--------------------------------------------------------------------------------
Refactor Experiment Labels. This change reduces the public interface for
experiment labels down to 4 functions. This makes the calling code less
error-prone, more readable, and avoids duplicated functionality.
--------------------------------------------------------------------------------
## 2016-05-31 @113564071,120560961 1.3.30.3
### Changes
--------------------------------------------------------------------------------
Allow persisting pings in background cases where the user token is a medium
integrity token. We now persist pings at high integrity in the machine case.
--------------------------------------------------------------------------------
Add CUP key 6.
--------------------------------------------------------------------------------
Add Google Update configuration and statistics metrics. This change unifies the
added metrics under a single key that also includes other Omaha metrics.
--------------------------------------------------------------------------------
Omaha Client Doesn't Stop Fallbacks on X-Retry-After. The client was trying (and
failing) to save the RetryAfter value from medium integrity in the Machine Omaha
case. Now we save it from high integrity.
--------------------------------------------------------------------------------
x-retry-after is obeyed even on http. The original HTTPS URL was being used
instead of the actual HTTP URL. Changed variable names to better reflect what
they represent.
--------------------------------------------------------------------------------
Add a <systemrequirements> element for the update <response>. The
<systemrequirements> element is expected to be added only to offline update
response files that ship with the standalone and msi installers.
The <systemrequirements> element specifies the minimum requirements in terms of
platform, arch, and version. For systems that do not meet the
<systemrequirements> specifications, Omaha will error out with
GOOPDATE_E_OS_NOT_SUPPORTED. The service pack is ignored at the moment.
An example <systemrequirements> element is shown below: <response
protocol="3.0"><systemrequirements platform="win" arch="x86"
min_os_version="6.0"/>
This sets the system requirements as Windows, x86 (or x64, since x64 systems
support x86 applications), and a minimum OS version of 6.0.
--------------------------------------------------------------------------------
Retry-After should account for incorrect clock times. To account for clocks that
get reset to the past, Omaha will retry now if the retry time is more than 24
hours in the future.
--------------------------------------------------------------------------------
Omaha UI: Downloading text needs changes.
--------------------------------------------------------------------------------
Send cohort data with Omaha self-update pings as well as with exception/debug
pings such as when Omaha could not install itself or CUP failure pings.
--------------------------------------------------------------------------------
Debug logging change.
--------------------------------------------------------------------------------
Reliable pings in Omaha. This feature makes all pings persisted objects. If for
some reason Omaha is unable to transmit pings, the persisted pings are
transmitted the next time the Omaha UA process runs.
--------------------------------------------------------------------------------
This change switches the ClickOnce single-sign timestamp servers to ComodoCA.
This makes all the time stamp servers use ComodoCA.
--------------------------------------------------------------------------------
Integrate changes and delete unused code in base/security
--------------------------------------------------------------------------------
## 2016-02-03 @109823444,113564071 1.3.29.5
### Changes
--------------------------------------------------------------------------------
Change cacheable URL GPO reg value from "PayloadType" to "DownloadPreference".
--------------------------------------------------------------------------------
Change to ::GetModuleHandle() instead of ::LoadLibrary() when getting a resource
from goopdate.dll. The DLL is already loaded in memory, so LL is not needed.
--------------------------------------------------------------------------------
Mitigate DLL highjacking in the Omaha client. We now call
::SetDefaultDllDirectories to retrict DLL loads to either full paths or
%SYSTEM32%. ::SetDefaultDllDirectories is available on Windows 8.1 and above,
and on Windows Vista and above when KB2533623 is applied.
--------------------------------------------------------------------------------
Update the build files to use the new DualSignedBinary function. This function
signs binaries with both SHA1 and SHA256 certificates.
--------------------------------------------------------------------------------
## 2015-12-09 @109823443,110222497 1.3.29.1
### Changes
--------------------------------------------------------------------------------
Fix broken build due to changes in Breakpad.
--------------------------------------------------------------------------------
Fix Internal compiler error when building with VS2015U1.
--------------------------------------------------------------------------------
## 2015-12-09 @105241542,109823442 1.3.29.1
### Changes
--------------------------------------------------------------------------------
Fix Internal compiler error when building with VS2015U1.
--------------------------------------------------------------------------------
Install directory is not cleaned up. Add unit tests for the install manager.
--------------------------------------------------------------------------------
Fixed wrong printf arguments
--------------------------------------------------------------------------------
Create a unit test for ExperimentLabels::SerializeOptions::DEFAULT.
--------------------------------------------------------------------------------
Mechanical change to rename a local variable in
UpdateRequestUtilsTest.PingFreshness
--------------------------------------------------------------------------------
Don't send expiration for experiment labels.
--------------------------------------------------------------------------------
Indicate registry freshness in updatecheck.
A registry freshness value is saved in the app ClientState when user counts are
updated, as part of a successfully transmitted update request.
Then, this value is picked up when the app is added to an app bundle, and
serialized by a subsequent update check as an attribute of the <ping> element,
along with the user counts. When this update check completes successfully, and
the user counts are updated, the freshness value for this app is updated to
another 128-bit value.
--------------------------------------------------------------------------------
Update SaveArguments.exe with version 1.3.28.17
--------------------------------------------------------------------------------
Fix bug 25669835 Machine OnDemand updates should not show elevation prompt.
--------------------------------------------------------------------------------
Fix bug 25426710: Install directory is not cleaned up.
--------------------------------------------------------------------------------
## 2015-10-12 @102301006,105241541
### Changes
--------------------------------------------------------------------------------
Fix unitests: * SetupRegistryProtectedUserTest tests are flaky. *
CoreTest.HasOSUpgraded has a race condition.
--------------------------------------------------------------------------------
Integrate the makefile for eckeytool.c
This could be useful for people who want to build this using a GNU toolchain,
even if Omaha's build script is not calling this makefile.
--------------------------------------------------------------------------------
Remove unused cup_ecdsa_pubkey.4
--------------------------------------------------------------------------------
Branch eckeytool.c
--------------------------------------------------------------------------------
Recover if Handoff from an older metainstaller to a newer-but-broken
installation of Omaha fails. This change introduces a new command line switch,
'/healthcheck'. Running the installed 'GoogleUpdate.exe /healthcheck' returns
S_OK if the installation is healthy. An older metainstaller runs /healthcheck on
the installed Omaha, and if that fails, it will overinstall itself over the
newer version.
--------------------------------------------------------------------------------
## 2015-09-04 @102301006,102301006 1.3.28.15
### Changes
--------------------------------------------------------------------------------
::ConvertStringSecurityDescriptorToSecurityDescriptor fails with 0x80070539
ERROR_INVALID_SID and throws an exception in atlsecurity.h
--------------------------------------------------------------------------------
## 2015-08-25 @101487056 1.3.28.13
### Changes
--------------------------------------------------------------------------------
Change for bug 22854711 Return UPGRADE_DISABLED_BY_POLICY or
UPGRADE_DISABLED_BY_POLICY_MANUAL when updates are disabled. With the prior
this undesired side-effect.
--------------------------------------------------------------------------------
Fix bug chrome://chrome does not show Install Progress. Adding in an exception
for the "Google Chrome binaries" {4DC8B4CA-1BDA-483e-B5FA-D3C12E15B62D} AppID in
Omaha code. The reason for this bug: For first installs, Chrome uses AppID
{8A69D345-D564-463C-AFF1-A69D9E530F96} for installing. We have code within Omaha
that reads Install Progress from InstallerExtraCode1 only for that AppId. For
updates, Chrome uses {4DC8B4CA-1BDA-483e-B5FA-D3C12E15B62D}, so Omaha checks
only {4DC8B4CA-1BDA-483e-B5FA-D3C12E15B62D}\ClientState\InstallerProgress
(REG_DWORD) and does not find it. Eventually Chrome Setup will start writing to
{4DC8B4CA-1BDA-483e-B5FA-D3C12E15B62D}\ClientState\InstallerProgress as per
https://code.google.com/p/chromium/issues/detail?id=458558, and this code will
not be needed.
--------------------------------------------------------------------------------
## 2015-08-18 @100157432,100957192 1.3.28.11
### Changes
--------------------------------------------------------------------------------
Fix unit test to include Windows 10 and fix the string for Window 8.
--------------------------------------------------------------------------------
Improves on the version detection by using RtlGetVersion().
--------------------------------------------------------------------------------
Merge separate unit test binaries into omaha_unittests.exe.
--------------------------------------------------------------------------------
Set the minimum shell version to be 1.3.26.1, which has the manifest changes to
correctly identify the shell as being compatible with Windows 10. Updating
users to shell 1.3.26.1 will allow Omaha to also report the correct Windows
version in the update checks. In addition, there will be another forthcoming
change to improve on the version detection by using RtlGetVersion().
--------------------------------------------------------------------------------
Fix some static analysis warnings from VS2015.
--------------------------------------------------------------------------------
Update SaveArguments.exe with version 1.3.28.9
--------------------------------------------------------------------------------
Fix bug 23121021 rand_s crashes with EINVAL _invalid_parameter_noinfo. Using
code from https://src.chromium.org/svn/trunk/src/base/rand_util_win.cc instead
of rand_s for now.
--------------------------------------------------------------------------------
Update product ID in RepairGoopdate* unit tests.
--------------------------------------------------------------------------------
Omaha must build without SSE instruction.
--------------------------------------------------------------------------------
Omaha returns UPGRADE_DISABLED_BY_POLICY_MANUAL for manual/on-demand update
checks when updates are disabled. If installs and updates are disabled, Manual
installs and Manual update checks do not check for updates with the Omaha server
and return right away with GOOPDATE_E_APP_INSTALL_DISABLED_BY_POLICY and
GOOPDATE_E_APP_UPDATE_DISABLED_BY_POLICY_MANUAL respectively. Automatic update
checks continue to work as before. They do an update check with the server, and
only in the download phase will the client get a
GOOPDATE_E_APP_UPDATE_DISABLED_BY_POLICY error.
--------------------------------------------------------------------------------
## 2015-08-15 @96143043,100157431
### Changes
--------------------------------------------------------------------------------
Build script changes to build with VS2015.
--------------------------------------------------------------------------------
Omaha build sets the wrong minimum version for the x64 Windows subsystem.
--------------------------------------------------------------------------------
On any OS upgrade, major or minor, all AutoRunOnOSUpgrade commands will be
called. If the "CommandLine" in the registry includes a "%1", %1 will be
replaced with
"OLDdwMajorVersion.OLDdwMinorVersion.OLDdwBuildNumber.OLDwServicePackMajor.OLDwServicePackMinor-NEWdwMajorVersion.NEWdwMinorVersion.NEWdwBuildNumber.NEWwServicePackMajor.NEWwServicePackMinor".
For example: "C:\Program Files
(x86)\Google\Chrome\Application\44.0.2403.130\Installer\setup.exe"
--on-os-upgrade=%1 --multi-install --chrome --system-level --verbose-logging
will be replaced with something like this: "C:\Program Files
(x86)\Google\Chrome\Application\44.0.2403.130\Installer\setup.exe"
--on-os-upgrade=5.3.9600.0.0-5.4.0001.0.0 --multi-install --chrome
--system-level --verbose-logging where 5.3.9600.0.0 corresponds to the previous
Windows OS version being upgraded from, and 5.4.0001.0.0 is the new OS being
upgraded to.
If the CommandLine parameter does not contain a %1, then the
CommandLine will be used unchanged. For example: "C:\Program Files
(x86)\Google\Chrome\Application\44.0.2403.130\Installer\setup.exe"
--on-os-upgrade --multi-install --chrome --system-level
--verbose-logging will be executed as-is on os upgrades.
--------------------------------------------------------------------------------
Add script to generate ADMX files.
--------------------------------------------------------------------------------
Test to verify that AutoRunOnOSUpgrade commands run whether or not
they have a %1 format parameter.
--------------------------------------------------------------------------------
Source code changes to build with VS2015. More changes will be
needed, including changes in the build scripts. This is just the
first batch of changes to C/C++ files.
--------------------------------------------------------------------------------
Replace IsVistaOrLater() with SystemInfo::IsRunningOnVistaOrLater().
--------------------------------------------------------------------------------
## v1.3.28.1 - 2015-07-21 @54943000,96143042
### Changes
--------------------------------------------------------------------------------
Standardize on Security Lite and deprecate WinCrypt. Now using SecurityLite
instead of WinCrypt in the CryptoHash class.
--------------------------------------------------------------------------------
Disable EtwTraceControllerTest.EnableDisable test. It hangs on Windows 7.
--------------------------------------------------------------------------------
GoogleUpdateRecoveryTest.VerifyFileSignature* tests fail. SaveArguments.exe
needs to be updated every 6 months. Now using the version 1.3.27.5 built on
5/1/2015.
--------------------------------------------------------------------------------
Running Debug version of Omaha on Win 10 produces an assertion failed error
OS_WINDOWS_UNKNOWN. The custom OS version detection code is dated. Moving Omaha
code to using the Version Helper functions that shipped with the Windows 8.1
SDK.
--------------------------------------------------------------------------------
Include the passed in install source for Omaha install ping as well.
--------------------------------------------------------------------------------
Implement support for load shedding based on the priority of requests. The
client sends a X-GoogleUpdate-Interactivity header to indicate whether the
current request is foreground or background. A value of "fg" ("foreground")
indicates foreground install or on-demand updates. "bg" ("background") indicates
silent update traffic.
--------------------------------------------------------------------------------
Fix Cohort attributes not being echoed to the update server in update checks.
Also added unit tests for the Update Request as well as the Update Response.
--------------------------------------------------------------------------------
Change the Test Omaha Exe Installer to correctly process installerdata. The code
was not handling quoted paths correctly.
--------------------------------------------------------------------------------
Support Retry-After header.
--------------------------------------------------------------------------------
The ping event result for download metrics is incorrect in some cases. The idea
here is that the ping event result corresponding to a download metrics should be
consistent with the error member in the download metrics.
--------------------------------------------------------------------------------
Add Installer Progress Reporting to Omaha. This change adds Installer Result API
InstallerProgress Installer Progress Reporting to Omaha. Omaha now reads
installation progress reported as a percentage from 0 to 100 in
"InstallerProgress" under Google\\Update\\ClientState\\{AppID}, which allows the
Omaha installation UI to show installation progress of any installer that writes
the "InstallerProgress" value. Once this change is in, installers that write
percentage progress to the "InstallerProgress" value as they progress through
the installation will allow Omaha to automatically pick it up.
--------------------------------------------------------------------------------
Check the custom HTTP header first, then check ETag if the former is not present
or empty.
--------------------------------------------------------------------------------
Implement an alt mechanism for ETag in CUP-ECDSA. There is now support for a
"X-Cup-Server-Proof" custom header that we check first, and then fall back on
the ETag header if the former is missing. The following formatting variations of
the ETag/X-Cup-Server-Proof header are supported: * A Strong ETag formatted as
S:H. * A Strong ETag formatted as "S:H". * A Weak ETag formatted as W/S:H. *
A Weak ETag formatted as W/"S:H".
--------------------------------------------------------------------------------
Add a X-HTTP-Attempts header to outgoing Omaha requests.
--------------------------------------------------------------------------------
Adding IJobObserver2 handling for PerformOnDemand.
--------------------------------------------------------------------------------
Installer progress for the OnDemand API. This change adds a new IJobObserver2
interface. IJobObserver2 provides a single method, OnInstalling2([in] int
time_remaining_ms, [in] int pos), that gives installation progress when
available. If an OnDemand client implements IJobObserver2, then the newer
OnInstalling2() method will be called instead of IJobObserver::OnInstalling().
This will enable Chrome to show installation progress within the chrome://chrome
page.
--------------------------------------------------------------------------------
Add Chrome Installer Progress Reporting to Omaha. This change reads Installation
progress reported in "InstallerExtraCode1" under
Google\\Update\\ClientState\\{AppID}, and allows the Omaha installation UI to
show installation progress of the Chrome installer. The Chrome installer writes
the "InstallerExtraCode1" value as it progresses through the installation.
--------------------------------------------------------------------------------
Implement cohort attributes.
--------------------------------------------------------------------------------
Fix XP-compatibility for the VC 2013 build: * "GoogleUpdateSetup.exe is not a
valid Win32 application": This is fixed by explicitly targetting Windows XP by
setting the SUBSYSTEM to 5.01. * "The procedure entry point
InitializeCriticalSectionEx could not be located in the dynamic link library
KERNEL32.dll". ATL uses InitializeCriticalSectionEx unless we build with
_ATL_XP_TARGETING.
--------------------------------------------------------------------------------
Fix the GroupPolicyProxyDetector to work correctly on Domain and Non-Domain
scenarios.
--------------------------------------------------------------------------------
Fix UATest Group Policy related test cases to test Domain and Non-Domain
scenarios.
--------------------------------------------------------------------------------
Fix UpdateRequest and XmlParser Group Policy related test cases to test Domain
and Non-Domain scenarios.
--------------------------------------------------------------------------------
A SetupGoogleUpdateMachineTest unit test is broken. Changing
vista_util::IsUACOn() to always reflect 'false' on platforms below Vista.
--------------------------------------------------------------------------------
Fix Group-Policy-related test cases to test both Domain and Non-Domain
scenarios.
--------------------------------------------------------------------------------
Work around locked-down environments for CSIDL_PROGRAM_FILES and
CSIDL_LOCAL_APPDATA. Using ::GetEnvironmentVariable when ::SHGetFolderPath
fails.
--------------------------------------------------------------------------------
Adding a new hammer command line switch --suppress_light_validation. This switch
supresses WiX Linker ICE validation. Useful when building with a non-interactive
account or a non-Admin account: http://goo.gl/UyDzeP.
--------------------------------------------------------------------------------
Supress <LGHT0217: Error executing ICE action 'ICE01'> when building on the
build server. ICE validation needs an interactive account or Admin privileges:
http://goo.gl/UyDzeP.
--------------------------------------------------------------------------------
Adding an UpdateDev override "EnrolledToDomain" that when set makes it look like
the machine is enrolled to a domain.
--------------------------------------------------------------------------------
Google Update Group Policy settings - change to work only for Domain Users.
--------------------------------------------------------------------------------
Use OPT_LOG statements in the download manager
--------------------------------------------------------------------------------
Download metrics for simple request don't include the error when a HTTP response
is available and the response is an HTTP error.
--------------------------------------------------------------------------------
BITS download metrics don't include the error in some cases
--------------------------------------------------------------------------------
Have the OneClick control run GoogleUpdateWebPlugin.exe instead of
GoogleUpdate.exe.
--------------------------------------------------------------------------------
Fix time bombs in the experiment_labels_unittest
--------------------------------------------------------------------------------
UI stuck on "Download complete.". STATE_READY_TO_INSTALL was being shown in the
UI as "Download complete.".
--------------------------------------------------------------------------------
crash_analyzer_checks.cc warning C6319: Use of the comma-operator in a tested
expression causes the left argument to be ignored when it has no side-effects.
--------------------------------------------------------------------------------
common\scheduled_task_utils.cc(369)warning C6216: Compiler-inserted cast between
semantically different integral types:
--------------------------------------------------------------------------------
popup_menu.cc(170)warning C6316: Incorrect operator: tested expression is
constant and non-zero.
--------------------------------------------------------------------------------
base\crash_if_specific_error.cc(29)warning C6230: Implicit cast between
semantically different integer types:
--------------------------------------------------------------------------------
net\simple_request.cc(728)warning C6246: Local declaration of 'response_headers'
hides declaration of the same name in outer scope.
--------------------------------------------------------------------------------
base\command_line_validator.cc(94)warning C6340: Mismatch on sign
--------------------------------------------------------------------------------
base\clipboard.cc(48)warning C6387: 'copy_data' could be '0':
--------------------------------------------------------------------------------
Fix static analysis warnings in proxy_auth.h
--------------------------------------------------------------------------------
Disable some static analysis warnings. For everything, disable: '/wd28159', #
Consider using 'GetTickCount64' instead of 'GetTickCount'. '/wd28204', #
Inconsistent SAL annotations. '/wd28251', # Inconsistent SAL annotations. For
unit tests: # Disable static analysis warnings. '/wd6326', # Potential
comparison of a constant with another constant.
--------------------------------------------------------------------------------
utils.h(163)warning C6387: 'module' could be '0'
--------------------------------------------------------------------------------
InstallHandoffUserTest fails for only Vista in 1.3.26.1.
--------------------------------------------------------------------------------
Add better debugging support for optimized code via undocumented switch /d2Zi+.
The size increase is minimal on the compile run (704 bytes). More information on
this switch here:
https://randomascii.wordpress.com/2013/09/11/debugging-optimized-codenew-in-visual-studio-2012/
--------------------------------------------------------------------------------
Fix command line errors output for omaha_unittest.exe. This change avoids the
--gunit_ --gtest_ differences between the internal and the open source versions
of gTest.
--------------------------------------------------------------------------------
Create a "prefer cacheable" flag in update requests.
--------------------------------------------------------------------------------
Added more logging to group policy override related functions in ConfigManager.
--------------------------------------------------------------------------------
Add a new policy to generated ADMs to select between secure and cacheable URLs
for payloads. Will require code support to implement.
--------------------------------------------------------------------------------
Introduce hourly jitter for update checks.
--------------------------------------------------------------------------------
Fix the unit test for OS upgrades to use the correct is_machine value.
--------------------------------------------------------------------------------
Improve existing unit tests by adding the "machine" scenario. This is another
mechanical change in preparation for introducing hourly jitter for update
checks.
--------------------------------------------------------------------------------
AutoRunOnOSUpgradeCommands AppCommands now run as fire-and-forget.
--------------------------------------------------------------------------------
Implement ping 14 component-updater style for Omaha.
--------------------------------------------------------------------------------
Disable the test CoreTest.HasOSUpgraded
--------------------------------------------------------------------------------
Reduce the number of retries for downloads from 3 to 1
--------------------------------------------------------------------------------
Implement ping 14 component-updater style for Omaha
--------------------------------------------------------------------------------
Add a unit test for OS upgrades which tests that the Core successfully runs
corresponding AutoRunOnOSUpgrade AppCommands.
--------------------------------------------------------------------------------
Removed DLL DELAYLOAD linkage flags so that the DLLs will be loaded at process
start time (and thus eliminate the crash).
--------------------------------------------------------------------------------
Crash in CComObject<AppCommandCompletionObserver> constructor. Going back to
adding the ATL Module back in since we do create AppCommand COM objects,
creating the Core on the heap and leaking the module. The Core now has a DeInit
method that allows the QueueTimers to shut down.
--------------------------------------------------------------------------------
Support sha-256 for download verification.
--------------------------------------------------------------------------------
Disable SplashScreenTest.RenderResourceStrings_en, the test takes too long to
run.
--------------------------------------------------------------------------------
Remove duplicated uninstall ping.
--------------------------------------------------------------------------------
Remove the assert which checks existence "network" reg key. The reg key is
removed when we removed CUP RSA code.
--------------------------------------------------------------------------------