Absolute time UTC field filters are constructed incorrectly, don't match the packet
Commit babbe57a made absolute times use the time zone setting of the field. However, absolute_val_from_string() doesn't allow a time zone and always assumes that time strings are in local time zone, so absolute_val_to_repr() needs to produce that output for FTREPR_DFILTER so that construct_match_selected_string() produces the correct filter string for FT_ABSOLUTE_TIME fields that are not ABSOLUTE_TIME_LOCAL.
Steps to reproduce
- Open a file with a protocol with a FT_ABSOLUTE_TIME field in ABSOLUTE_TIME_UTC format, e.g. NTP's ntp.xmt
- Right click on the ntp.xmt field and "Apply as Filter->Selected."
What is the current bug behavior?
The generated filter does not match the selected packet field.
What is the expected correct behavior?
The filter should match the selected packet.
Sample capture file
Relevant logs and/or screenshots
Compiled (64-bit) using GCC 11.2.1 20210728 (Red Hat 11.2.1-1), with Qt 5.15.2, with libpcap, with POSIX capabilities (Linux), with libnl 3, with GLib 2.68.4, with zlib 1.2.11, with Lua 5.1.5, with GnuTLS 3.7.2 and PKCS #11 (closed) support, with Gcrypt 1.9.3-unknown, with MIT Kerberos, with MaxMind DB resolver, with nghttp2 1.43.0, with brotli, with LZ4, with Zstandard, with Snappy, with libxml2 2.9.12, with libsmi 0.4.8, with QtMultimedia, without automatic updates, with SpeexDSP (using system library), with Minizip.
Running on Linux 5.13.14-200.fc34.x86_64, with AMD Ryzen 5 5600X 6-Core Processor (with SSE4.2), with 15898 MB of physical memory, with GLib 2.68.4, with zlib 1.2.11, with Qt 5.15.2, with libpcap 1.10.1 (with TPACKET_V3), with c-ares 1.17.2, with GnuTLS 3.7.2, with Gcrypt 1.9.3-unknown, with nghttp2 1.43.0, with brotli 1.0.9, with LZ4 1.9.3, with Zstandard 1.5.0, with libsmi 0.4.8, with light display mode, without HiDPI, with LC_TYPE=en_US.UTF-8, binary plugins supported (21 loaded).