Replace firmware build time with epoch

Using __DATE__ and __TIME__ causes cache-misses / reproducibility
issues and the only use of this function is when acquiring the firmware
build time.

In OpenWeave, the firmware build time is used as a fallback mechanism if
the real clock time cannot be acquired. However, this implementation
only exists in OpenWeave's CASE delegate, which is overriden by
Fuchsia's platform implementation in //src/connectivity/weave, so it is
not actively used today.

In general, we do not want CASE operations to be load-bearing on the
build date, so we opt to remove this logic and always return the epoch.

Bug: 128466
Change-Id: I8c66b7b0249c882129895399a7666f2caedabd0d
diff --git a/src/adaptations/device-layer/include/Weave/DeviceLayer/internal/GenericConfigurationManagerImpl.ipp b/src/adaptations/device-layer/include/Weave/DeviceLayer/internal/GenericConfigurationManagerImpl.ipp
index 8e56e66..3b3ab7f 100644
--- a/src/adaptations/device-layer/include/Weave/DeviceLayer/internal/GenericConfigurationManagerImpl.ipp
+++ b/src/adaptations/device-layer/include/Weave/DeviceLayer/internal/GenericConfigurationManagerImpl.ipp
@@ -143,15 +143,25 @@
 {
     WEAVE_ERROR err = WEAVE_NO_ERROR;
 
-    // TODO: Allow build time to be overridden by compile-time config (e.g. WEAVE_DEVICE_CONFIG_FIRMWARE_BUILD_TIME).
+    // See http://fxbug.dev/128466.
+    //
+    // Report that the firmware build time is epoch. This time is used in
+    // OpenWeave's CASEAuth implementation as a fallback when real time cannot
+    // be acquired. In Fuchsia's implementation
+    // (src/connectivity/weave/adapatation/platform_auth_delegate.cpp), we
+    // override that CASEAuth function with our own implementation, so this
+    // fallback is not used.
+    //
+    // In general, this function should not be used for load-bearing certificate
+    // checks and will always return the epoch.
+    year = 1970;
+    month = 1;
+    dayOfMonth = 1;
 
-    err = ParseCompilerDateStr(__DATE__, year, month, dayOfMonth);
-    SuccessOrExit(err);
+    hour = 0;
+    minute = 0;
+    second = 0;
 
-    err = Parse24HourTimeStr(__TIME__, hour, minute, second);
-    SuccessOrExit(err);
-
-exit:
     return err;
 }