diff options
author | John Thacker <johnthacker@gmail.com> | 2021-11-23 21:36:02 -0500 |
---|---|---|
committer | John Thacker <johnthacker@gmail.com> | 2021-12-02 20:40:22 -0500 |
commit | 7e99bbf32b73f3dd09c0ee6c1d3ac02a7e988f61 (patch) | |
tree | 4870914dd0b396e63a4f972dab4c343a6e2bf997 | |
parent | a0173cd7cf8acca1a3aff23f66a03fb6de21261c (diff) |
BER: Make GeneralizedTime a FT_ABSOLUTE_TIME
Since we now support ISO 8601 Basic format, have asn2wrs.py
convert GeneralizedTime fields in BER to FT_ABSOLUTE_TIMEs and use
the new common code to convert them. This means that the fields
can be compared with other time fields in filters, etc.
25 files changed, 148 insertions, 218 deletions
diff --git a/epan/dissectors/packet-HI2Operations.c b/epan/dissectors/packet-HI2Operations.c index 5302db6a00..1de4b44329 100644 --- a/epan/dissectors/packet-HI2Operations.c +++ b/epan/dissectors/packet-HI2Operations.c @@ -4188,7 +4188,7 @@ void proto_register_HI2Operations(void) { NULL, HFILL }}, { &hf_HI2Operations_generalizedTime, { "generalizedTime", "HI2Operations.generalizedTime", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }}, { &hf_HI2Operations_winterSummerIndication, { "winterSummerIndication", "HI2Operations.winterSummerIndication", @@ -4832,7 +4832,7 @@ void proto_register_HI2Operations(void) { NULL, HFILL }}, { &hf_HI2Operations_eventTime, { "eventTime", "HI2Operations.eventTime", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }}, { &hf_HI2Operations_callId, { "callId", "HI2Operations.callId_element", diff --git a/epan/dissectors/packet-ansi_map.c b/epan/dissectors/packet-ansi_map.c index 4ed7435370..00fb4cf1fc 100644 --- a/epan/dissectors/packet-ansi_map.c +++ b/epan/dissectors/packet-ansi_map.c @@ -18500,7 +18500,7 @@ void proto_register_ansi_map(void) { NULL, HFILL }}, { &hf_ansi_map_generalizedTime, { "generalizedTime", "ansi_map.generalizedTime", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }}, { &hf_ansi_map_geographicPosition, { "geographicPosition", "ansi_map.geographicPosition", diff --git a/epan/dissectors/packet-ber.c b/epan/dissectors/packet-ber.c index 893e60a869..60e9d850da 100644 --- a/epan/dissectors/packet-ber.c +++ b/epan/dissectors/packet-ber.c @@ -3567,15 +3567,8 @@ dissect_ber_set_of(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *parent_t int dissect_ber_GeneralizedTime(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree *tree, tvbuff_t *tvb, int offset, gint hf_id) { - char str[35]; - int tmp_int; + nstime_t ts; const guint8 *tmpstr; - char *strptr; - char first_delim[2]; - int first_digits; - char second_delim[2]; - int second_digits; - int ret; gint8 ber_class; gboolean pc; gint32 tag; @@ -3622,7 +3615,33 @@ dissect_ber_GeneralizedTime(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree end_offset = offset+len; } - if ((len < 14) || (len > 23)) { + /* ASN.1 GeneralizedTime is a ISO 8601 Basic profile that omits the T + * between date and time. BER allows accuracy of hours, minutes, seconds, + * fractions of a second "to any degree of accuracy", and even + * fractional minutes or hours (see ITU-T X.680 46.2 and ITU-T X.690 8.25.) + * + * CER/DER (and PER) require that the seconds field be present (cf. + * ITU-T X.690 11.7 and ITU-T X.691 10.6.5), that the decimal point + * element be ".", that fractional seconds trailing zeros MUST be omitted, + * and that the decimal point shall also be omitted if the entire fractional + * second is 0 (in order to have a unique representation.) + * + * RFC 5280 says that X.509 certificate validity dates after 2050, which + * MUST use GeneralizedTime, MUST be expressed in Z and MUST include + * seconds but MUST NOT include fractional seconds. + * + * The minimum that iso8601_to_nstime() handles currently is + * YYYYMMDDhhmm = 12 digits + * and the maximimum is + * YYYYMMDDhhmmss.sssssssss+hhmm = 29 digits + * + * That doesn't handle everything that BER technically supports, but + * everything seen in practice. For the protocols that are more restrictive + * if someone really wants to validate and complain about e.g. fractional + * seconds in a X.509 certificate, that could be added to the conformance + * file. + */ + if ((len < 12) || (len > 29)) { cause = proto_tree_add_expert_format( tree, actx->pinfo, &ei_ber_error_length, tvb, len_offset, len_len, @@ -3636,121 +3655,26 @@ dissect_ber_GeneralizedTime(gboolean implicit_tag, asn1_ctx_t *actx, proto_tree } tmpstr = tvb_get_string_enc(wmem_packet_scope(), tvb, offset, len, ENC_ASCII); - strptr = str; - /* those fields are allways present */ - strptr += g_snprintf(str, 20, "%.4s-%.2s-%.2s %.2s:%.2s:%.2s", - tmpstr, tmpstr+4, tmpstr+6, tmpstr+8, - tmpstr+10, tmpstr+12); - - first_delim[0] = 0; - second_delim[0] = 0; - ret = sscanf(tmpstr, "%14d%1[.,+-Z]%4d%1[+-Z]%4d", &tmp_int, first_delim, &first_digits, second_delim, &second_digits); - /* tmp_int does not contain valid value because of overflow but we use it just for format checking */ - if (ret < 1) { - /* Nothing matched */ - goto invalid; - } - - if (ret >= 2) { - /* - * We saw the date+time and the first delimiter. - * - * Either: - * - * it's '.' or ',', in which case we have a fraction of a - * minute or hour; - * - * it's '+' or '-', in which case we have an offset from UTC; - * - * it's 'Z', in which case the time is UTC. - */ - switch (first_delim[0]) { - case '.': - case ',': - /* - * Fraction of a minute or an hour. - */ - if (ret == 2 || first_digits < 0 || first_digits > 999) { - /* - * We saw the decimal sign, but didn't see the fraction - * or - * we got a number outside the valid range. - */ - goto invalid; - } - strptr += g_snprintf(strptr, 5, "%c%.3d", first_delim[0], first_digits); - if (ret >= 4) { - /* - * We saw the fraction and the second delimiter. - * - * Either: - * - * it's '+' or '-', in which case we have an offset - * from UTC; - * - * it's 'Z', in which case the time is UTC. - */ - switch (second_delim[0]) { - case '+': - case '-': - if (ret == 4) { - /* - * We saw the + or -, but didn't see the offset - * from UTC. - */ - goto invalid; - } - g_snprintf(strptr, 12, " (UTC%c%.4d)", second_delim[0], second_digits); - break; - case 'Z': - g_snprintf(strptr, 7, " (UTC)"); - break; - default: - /* handle the malformed field */ - break; - } - } - break; - case '+': - case '-': - /* - * Offset from UTC. - */ - if (ret == 2) { - /* - * We saw the + or -1, but didn't see the offset. - */ - goto invalid; - } - g_snprintf(strptr, 12, " (UTC%c%.4d)", first_delim[0], first_digits); - break; - case 'Z': - g_snprintf(strptr, 7, " (UTC)"); - break; - default: - /* handle the malformed field */ - break; + if (!iso8601_to_nstime(&ts, tmpstr, ISO8601_DATETIME_BASIC)) { + cause = proto_tree_add_expert_format( + tree, actx->pinfo, &ei_ber_invalid_format_generalized_time, + tvb, offset, len, + "BER Error: GeneralizedTime invalid format: %s", + tmpstr); + if (decode_unexpected) { + proto_tree *unknown_tree = proto_item_add_subtree(cause, ett_ber_unknown); + dissect_unknown_ber(actx->pinfo, tvb, offset, unknown_tree); } + return end_offset; } if (hf_id >= 0) { - proto_tree_add_string(tree, hf_id, tvb, offset, len, str); + proto_tree_add_time(tree, hf_id, tvb, offset, len, &ts); } offset+=len; return offset; -invalid: - cause = proto_tree_add_expert_format( - tree, actx->pinfo, &ei_ber_invalid_format_generalized_time, - tvb, offset, len, - "BER Error: GeneralizedTime invalid format: %s", - tmpstr); - if (decode_unexpected) { - proto_tree *unknown_tree = proto_item_add_subtree(cause, ett_ber_unknown); - dissect_unknown_ber(actx->pinfo, tvb, offset, unknown_tree); - } - return end_offset; } /* datestrptr: if not NULL return datetime string instead of adding to tree or NULL when packet is malformed diff --git a/epan/dissectors/packet-cmip.c b/epan/dissectors/packet-cmip.c index 56277dc840..b1d73bc086 100644 --- a/epan/dissectors/packet-cmip.c +++ b/epan/dissectors/packet-cmip.c @@ -4627,7 +4627,7 @@ void proto_register_cmip(void) { NULL, HFILL }}, { &hf_cmip_EventTime_PDU, { "EventTime", "cmip.EventTime", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }}, { &hf_cmip_GroupObjects_PDU, { "GroupObjects", "cmip.GroupObjects", @@ -4647,7 +4647,7 @@ void proto_register_cmip(void) { NULL, HFILL }}, { &hf_cmip_LoggingTime_PDU, { "LoggingTime", "cmip.LoggingTime", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }}, { &hf_cmip_LogRecordId_PDU, { "LogRecordId", "cmip.LogRecordId", @@ -4739,7 +4739,7 @@ void proto_register_cmip(void) { NULL, HFILL }}, { &hf_cmip_StartTime_PDU, { "StartTime", "cmip.StartTime", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }}, { &hf_cmip_StopTime_PDU, { "StopTime", "cmip.StopTime", @@ -4791,7 +4791,7 @@ void proto_register_cmip(void) { "ObjectInstance", HFILL }}, { &hf_cmip_currentTime, { "currentTime", "cmip.currentTime", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "GeneralizedTime", HFILL }}, { &hf_cmip_actionErroractionErrorInfo, { "actionErrorInfo", "cmip.actionErrorInfo_element", @@ -4963,7 +4963,7 @@ void proto_register_cmip(void) { NULL, HFILL }}, { &hf_cmip_eventTime, { "eventTime", "cmip.eventTime", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "GeneralizedTime", HFILL }}, { &hf_cmip_eventReportArgumenteventInfo, { "eventInfo", "cmip.eventInfo_element", @@ -5375,7 +5375,7 @@ void proto_register_cmip(void) { NULL, HFILL }}, { &hf_cmip_specific, { "specific", "cmip.specific", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "GeneralizedTime", HFILL }}, { &hf_cmip_continual, { "continual", "cmip.continual_element", @@ -5427,7 +5427,7 @@ void proto_register_cmip(void) { "ThresholdLevelInd", HFILL }}, { &hf_cmip_armTime, { "armTime", "cmip.armTime", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "GeneralizedTime", HFILL }}, { &hf_cmip_up, { "up", "cmip.up_element", diff --git a/epan/dissectors/packet-cmp.c b/epan/dissectors/packet-cmp.c index 6f6febdaf5..f1d08b1cde 100644 --- a/epan/dissectors/packet-cmp.c +++ b/epan/dissectors/packet-cmp.c @@ -1762,7 +1762,7 @@ void proto_register_cmp(void) { NULL, HFILL }}, { &hf_cmp_ConfirmWaitTimeValue_PDU, { "ConfirmWaitTimeValue", "cmp.ConfirmWaitTimeValue", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }}, { &hf_cmp_OrigPKIMessageValue_PDU, { "OrigPKIMessageValue", "cmp.OrigPKIMessageValue", @@ -1814,7 +1814,7 @@ void proto_register_cmp(void) { "GeneralName", HFILL }}, { &hf_cmp_messageTime, { "messageTime", "cmp.messageTime", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "GeneralizedTime", HFILL }}, { &hf_cmp_protectionAlg, { "protectionAlg", "cmp.protectionAlg_element", @@ -2146,11 +2146,11 @@ void proto_register_cmp(void) { "PKIStatus", HFILL }}, { &hf_cmp_willBeRevokedAt, { "willBeRevokedAt", "cmp.willBeRevokedAt", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "GeneralizedTime", HFILL }}, { &hf_cmp_badSinceDate, { "badSinceDate", "cmp.badSinceDate", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "GeneralizedTime", HFILL }}, { &hf_cmp_crlDetails, { "crlDetails", "cmp.crlDetails", diff --git a/epan/dissectors/packet-cms.c b/epan/dissectors/packet-cms.c index 95ba431771..d6e5e1da52 100644 --- a/epan/dissectors/packet-cms.c +++ b/epan/dissectors/packet-cms.c @@ -2867,7 +2867,7 @@ void proto_register_cms(void) { "RecipientKeyIdentifier", HFILL }}, { &hf_cms_date, { "date", "cms.date", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "GeneralizedTime", HFILL }}, { &hf_cms_other, { "other", "cms.other_element", @@ -2983,7 +2983,7 @@ void proto_register_cms(void) { NULL, HFILL }}, { &hf_cms_generalTime, { "generalTime", "cms.generalTime", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "GeneralizedTime", HFILL }}, { &hf_cms_rc2ParameterVersion, { "rc2ParameterVersion", "cms.rc2ParameterVersion", diff --git a/epan/dissectors/packet-dap.c b/epan/dissectors/packet-dap.c index af21d0f31d..2f9fb59e55 100644 --- a/epan/dissectors/packet-dap.c +++ b/epan/dissectors/packet-dap.c @@ -5335,7 +5335,7 @@ void proto_register_dap(void) { NULL, HFILL }}, { &hf_dap_generalizedTime, { "generalizedTime", "dap.generalizedTime", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }}, { &hf_dap_credentials, { "credentials", "dap.credentials", @@ -5379,7 +5379,7 @@ void proto_register_dap(void) { "UTCTime", HFILL }}, { &hf_dap_gt, { "gt", "dap.gt", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "GeneralizedTime", HFILL }}, { &hf_dap_time2, { "time2", "dap.time2", diff --git a/epan/dissectors/packet-dop.c b/epan/dissectors/packet-dop.c index d04cf7f1b7..241733ff7e 100644 --- a/epan/dissectors/packet-dop.c +++ b/epan/dissectors/packet-dop.c @@ -2362,7 +2362,7 @@ void proto_register_dop(void) { NULL, HFILL }}, { &hf_dop_generalizedTime, { "generalizedTime", "dop.generalizedTime", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }}, { &hf_dop_initiator, { "initiator", "dop.initiator", @@ -2490,7 +2490,7 @@ void proto_register_dop(void) { NULL, HFILL }}, { &hf_dop_terminateAtGeneralizedTime, { "terminateAt", "dop.terminateAtGeneralizedTime", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "GeneralizedTime", HFILL }}, { &hf_dop_problem, { "problem", "dop.problem", diff --git a/epan/dissectors/packet-dsp.c b/epan/dissectors/packet-dsp.c index 564050e544..9edef9f8f7 100644 --- a/epan/dissectors/packet-dsp.c +++ b/epan/dissectors/packet-dsp.c @@ -2306,7 +2306,7 @@ void proto_register_dsp(void) { NULL, HFILL }}, { &hf_dsp_generalizedTime, { "generalizedTime", "dsp.generalizedTime", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }}, { &hf_dsp_crossReferences, { "crossReferences", "dsp.crossReferences", diff --git a/epan/dissectors/packet-ess.c b/epan/dissectors/packet-ess.c index f320eecefc..c143893c0c 100644 --- a/epan/dissectors/packet-ess.c +++ b/epan/dissectors/packet-ess.c @@ -1359,7 +1359,7 @@ void proto_register_ess(void) { "EntityIdentifier", HFILL }}, { &hf_ess_expansionTime, { "expansionTime", "ess.expansionTime", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "GeneralizedTime", HFILL }}, { &hf_ess_mlReceiptPolicy, { "mlReceiptPolicy", "ess.mlReceiptPolicy", diff --git a/epan/dissectors/packet-ftam.c b/epan/dissectors/packet-ftam.c index c622ca55ef..fa2532cb64 100644 --- a/epan/dissectors/packet-ftam.c +++ b/epan/dissectors/packet-ftam.c @@ -5619,7 +5619,7 @@ void proto_register_ftam(void) { NULL, HFILL }}, { &hf_ftam_actual_values5, { "actual-values", "ftam.actual_values5", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "GeneralizedTime", HFILL }}, { &hf_ftam_actual_values8, { "actual-values", "ftam.actual_values8", @@ -6035,7 +6035,7 @@ void proto_register_ftam(void) { "Equality_Comparision", HFILL }}, { &hf_ftam_time_and_date_value, { "time-and-date-value", "ftam.time_and_date_value", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "GeneralizedTime", HFILL }}, { &hf_ftam_relational_comparision, { "relational-comparision", "ftam.relational_comparision", diff --git a/epan/dissectors/packet-kerberos.c b/epan/dissectors/packet-kerberos.c index 0ac5551ba4..10f7ba4598 100644 --- a/epan/dissectors/packet-kerberos.c +++ b/epan/dissectors/packet-kerberos.c @@ -8799,19 +8799,19 @@ void proto_register_kerberos(void) { "TransitedEncoding", HFILL }}, { &hf_kerberos_authtime, { "authtime", "kerberos.authtime", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "KerberosTime", HFILL }}, { &hf_kerberos_starttime, { "starttime", "kerberos.starttime", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "KerberosTime", HFILL }}, { &hf_kerberos_endtime, { "endtime", "kerberos.endtime", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "KerberosTime", HFILL }}, { &hf_kerberos_renew_till, { "renew-till", "kerberos.renew_till", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "KerberosTime", HFILL }}, { &hf_kerberos_caddr, { "caddr", "kerberos.caddr", @@ -8855,15 +8855,15 @@ void proto_register_kerberos(void) { "KDCOptions", HFILL }}, { &hf_kerberos_from, { "from", "kerberos.from", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "KerberosTime", HFILL }}, { &hf_kerberos_till, { "till", "kerberos.till", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "KerberosTime", HFILL }}, { &hf_kerberos_rtime, { "rtime", "kerberos.rtime", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "KerberosTime", HFILL }}, { &hf_kerberos_nonce, { "nonce", "kerberos.nonce", @@ -8907,7 +8907,7 @@ void proto_register_kerberos(void) { "LastReq", HFILL }}, { &hf_kerberos_key_expiration, { "key-expiration", "kerberos.key_expiration", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "KerberosTime", HFILL }}, { &hf_kerberos_srealm, { "srealm", "kerberos.srealm", @@ -8927,7 +8927,7 @@ void proto_register_kerberos(void) { NULL, HFILL }}, { &hf_kerberos_lr_value, { "lr-value", "kerberos.lr_value", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "KerberosTime", HFILL }}, { &hf_kerberos_ap_options, { "ap-options", "kerberos.ap_options", @@ -8951,7 +8951,7 @@ void proto_register_kerberos(void) { "Microseconds", HFILL }}, { &hf_kerberos_ctime, { "ctime", "kerberos.ctime", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "KerberosTime", HFILL }}, { &hf_kerberos_authenticator_subkey, { "subkey", "kerberos.subkey_element", @@ -8979,7 +8979,7 @@ void proto_register_kerberos(void) { "T_kRB_SAFE_BODY_user_data", HFILL }}, { &hf_kerberos_timestamp, { "timestamp", "kerberos.timestamp", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "KerberosTime", HFILL }}, { &hf_kerberos_usec, { "usec", "kerberos.usec", @@ -9035,7 +9035,7 @@ void proto_register_kerberos(void) { "PrincipalName", HFILL }}, { &hf_kerberos_stime, { "stime", "kerberos.stime", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "KerberosTime", HFILL }}, { &hf_kerberos_susec, { "susec", "kerberos.susec", diff --git a/epan/dissectors/packet-lix2.c b/epan/dissectors/packet-lix2.c index d7b17431d7..aa3178dbaf 100644 --- a/epan/dissectors/packet-lix2.c +++ b/epan/dissectors/packet-lix2.c @@ -9603,11 +9603,11 @@ void proto_register_lix2(void) { NULL, HFILL }}, { &hf_lix2_timeOfFirstPacket, { "timeOfFirstPacket", "lix2.timeOfFirstPacket", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "Timestamp", HFILL }}, { &hf_lix2_timeOfLastPacket, { "timeOfLastPacket", "lix2.timeOfLastPacket", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "Timestamp", HFILL }}, { &hf_lix2_uplinkVolume, { "uplinkVolume", "lix2.uplinkVolume", @@ -9715,7 +9715,7 @@ void proto_register_lix2(void) { NULL, HFILL }}, { &hf_lix2_validityTime, { "validityTime", "lix2.validityTime", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "Timestamp", HFILL }}, { &hf_lix2_days, { "days", "lix2.days", @@ -9743,11 +9743,11 @@ void proto_register_lix2(void) { "Day", HFILL }}, { &hf_lix2_timeOfDayStart, { "timeOfDayStart", "lix2.timeOfDayStart", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "Timestamp", HFILL }}, { &hf_lix2_timeOfDayEnd, { "timeOfDayEnd", "lix2.timeOfDayEnd", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "Timestamp", HFILL }}, { &hf_lix2_iMSI, { "iMSI", "lix2.iMSI", @@ -9875,7 +9875,7 @@ void proto_register_lix2(void) { NULL, HFILL }}, { &hf_lix2_timeOfRegistration, { "timeOfRegistration", "lix2.timeOfRegistration", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "Timestamp", HFILL }}, { &hf_lix2_failedProcedureType, { "failedProcedureType", "lix2.failedProcedureType", @@ -9959,7 +9959,7 @@ void proto_register_lix2(void) { "SMFErrorCodes", HFILL }}, { &hf_lix2_timeOfSessionEstablishment, { "timeOfSessionEstablishment", "lix2.timeOfSessionEstablishment", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "Timestamp", HFILL }}, { &hf_lix2_failedProcedureType_01, { "failedProcedureType", "lix2.failedProcedureType", @@ -10163,7 +10163,7 @@ void proto_register_lix2(void) { "MMSVersion", HFILL }}, { &hf_lix2_dateTime, { "dateTime", "lix2.dateTime", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "Timestamp", HFILL }}, { &hf_lix2_originatingMMSParty, { "originatingMMSParty", "lix2.originatingMMSParty_element", @@ -10211,7 +10211,7 @@ void proto_register_lix2(void) { "MMSExpiry", HFILL }}, { &hf_lix2_desiredDeliveryTime, { "desiredDeliveryTime", "lix2.desiredDeliveryTime", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "Timestamp", HFILL }}, { &hf_lix2_priority, { "priority", "lix2.priority", @@ -10295,7 +10295,7 @@ void proto_register_lix2(void) { "MMSPreviouslySentBy", HFILL }}, { &hf_lix2_prevSentByDateTime, { "prevSentByDateTime", "lix2.prevSentByDateTime", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "Timestamp", HFILL }}, { &hf_lix2_deliveryReportRequested, { "deliveryReportRequested", "lix2.deliveryReportRequested", @@ -10407,7 +10407,7 @@ void proto_register_lix2(void) { "MMSDeleteResponseStatus", HFILL }}, { &hf_lix2_mMSDateTime, { "mMSDateTime", "lix2.mMSDateTime", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "Timestamp", HFILL }}, { &hf_lix2_forwardToOriginator, { "forwardToOriginator", "lix2.forwardToOriginator", @@ -10495,11 +10495,11 @@ void proto_register_lix2(void) { "BOOLEAN", HFILL }}, { &hf_lix2_deliveryTime, { "deliveryTime", "lix2.deliveryTime", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "Timestamp", HFILL }}, { &hf_lix2_previouslySentByDateTime, { "previouslySentByDateTime", "lix2.previouslySentByDateTime", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "Timestamp", HFILL }}, { &hf_lix2_mMSContent, { "mMSContent", "lix2.mMSContent", @@ -10579,7 +10579,7 @@ void proto_register_lix2(void) { "INTEGER", HFILL }}, { &hf_lix2_previousSendDateTime, { "previousSendDateTime", "lix2.previousSendDateTime", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "Timestamp", HFILL }}, { &hf_lix2_MMSPreviouslySentBy_item, { "MMSPreviouslySent", "lix2.MMSPreviouslySent_element", @@ -10891,11 +10891,11 @@ void proto_register_lix2(void) { NULL, HFILL }}, { &hf_lix2_firstPacketTimestamp, { "firstPacketTimestamp", "lix2.firstPacketTimestamp", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "Timestamp", HFILL }}, { &hf_lix2_lastPacketTimestamp, { "lastPacketTimestamp", "lix2.lastPacketTimestamp", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "Timestamp", HFILL }}, { &hf_lix2_packetCount, { "packetCount", "lix2.packetCount", @@ -10979,11 +10979,11 @@ void proto_register_lix2(void) { NULL, HFILL }}, { &hf_lix2_appliedStartTime, { "appliedStartTime", "lix2.appliedStartTime", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "Timestamp", HFILL }}, { &hf_lix2_appliedEndTime, { "appliedEndTime", "lix2.appliedEndTime", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "Timestamp", HFILL }}, { &hf_lix2_hI2DeliveryIPAddress, { "hI2DeliveryIPAddress", "lix2.hI2DeliveryIPAddress", @@ -11211,7 +11211,7 @@ void proto_register_lix2(void) { "INTEGER", HFILL }}, { &hf_lix2_uELocationTimestamp, { "uELocationTimestamp", "lix2.uELocationTimestamp", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "Timestamp", HFILL }}, { &hf_lix2_geographicalInformation, { "geographicalInformation", "lix2.geographicalInformation", @@ -11355,7 +11355,7 @@ void proto_register_lix2(void) { NULL, HFILL }}, { &hf_lix2_timeOfLocation, { "timeOfLocation", "lix2.timeOfLocation", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "Timestamp", HFILL }}, { &hf_lix2_sSID, { "sSID", "lix2.sSID", @@ -11483,7 +11483,7 @@ void proto_register_lix2(void) { "AMFEventType", HFILL }}, { &hf_lix2_timestamp, { "timestamp", "lix2.timestamp", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }}, { &hf_lix2_areaList, { "areaList", "lix2.areaList", diff --git a/epan/dissectors/packet-mms.c b/epan/dissectors/packet-mms.c index 233bbb835c..6a64c7ef5d 100644 --- a/epan/dissectors/packet-mms.c +++ b/epan/dissectors/packet-mms.c @@ -9711,7 +9711,7 @@ void proto_register_mms(void) { "Unsigned32", HFILL }}, { &hf_mms_lastModified, { "lastModified", "mms.lastModified", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "GeneralizedTime", HFILL }}, { &hf_mms_ParameterSupportOptions_str1, { "str1", "mms.ParameterSupportOptions.str1", diff --git a/epan/dissectors/packet-ocsp.c b/epan/dissectors/packet-ocsp.c index 86b4b7e5d5..8081534aec 100644 --- a/epan/dissectors/packet-ocsp.c +++ b/epan/dissectors/packet-ocsp.c @@ -727,7 +727,7 @@ void proto_register_ocsp(void) { NULL, HFILL }}, { &hf_ocsp_ArchiveCutoff_PDU, { "ArchiveCutoff", "ocsp.ArchiveCutoff", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }}, { &hf_ocsp_AcceptableResponses_PDU, { "AcceptableResponses", "ocsp.AcceptableResponses", @@ -843,7 +843,7 @@ void proto_register_ocsp(void) { NULL, HFILL }}, { &hf_ocsp_producedAt, { "producedAt", "ocsp.producedAt", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "GeneralizedTime", HFILL }}, { &hf_ocsp_responses, { "responses", "ocsp.responses", @@ -875,11 +875,11 @@ void proto_register_ocsp(void) { NULL, HFILL }}, { &hf_ocsp_thisUpdate, { "thisUpdate", "ocsp.thisUpdate", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "GeneralizedTime", HFILL }}, { &hf_ocsp_nextUpdate, { "nextUpdate", "ocsp.nextUpdate", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "GeneralizedTime", HFILL }}, { &hf_ocsp_singleExtensions, { "singleExtensions", "ocsp.singleExtensions", @@ -899,7 +899,7 @@ void proto_register_ocsp(void) { "UnknownInfo", HFILL }}, { &hf_ocsp_revocationTime, { "revocationTime", "ocsp.revocationTime", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "GeneralizedTime", HFILL }}, { &hf_ocsp_revocationReason, { "revocationReason", "ocsp.revocationReason", @@ -927,7 +927,7 @@ void proto_register_ocsp(void) { "INTEGER", HFILL }}, { &hf_ocsp_crlTime, { "crlTime", "ocsp.crlTime", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "GeneralizedTime", HFILL }}, /*--- End of included file: packet-ocsp-hfarr.c ---*/ diff --git a/epan/dissectors/packet-p22.c b/epan/dissectors/packet-p22.c index f446ab88f4..9dabd29c91 100644 --- a/epan/dissectors/packet-p22.c +++ b/epan/dissectors/packet-p22.c @@ -4881,7 +4881,7 @@ void proto_register_p22(void) { NULL, HFILL }}, { &hf_p22_AuthorizationTime_PDU, { "AuthorizationTime", "p22.AuthorizationTime", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }}, { &hf_p22_CirculationList_PDU, { "CirculationList", "p22.CirculationList", @@ -5541,7 +5541,7 @@ void proto_register_p22(void) { NULL, HFILL }}, { &hf_p22_timestamped, { "timestamped", "p22.timestamped", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "CirculationTime", HFILL }}, { &hf_p22_signed, { "signed", "p22.signed_element", @@ -5553,7 +5553,7 @@ void proto_register_p22(void) { "CirculationSignatureAlgorithmIdentifier", HFILL }}, { &hf_p22_timestamp, { "timestamp", "p22.timestamp", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "CirculationTime", HFILL }}, { &hf_p22_circulation_signature_data, { "circulation-signature-data", "p22.circulation_signature_data_element", diff --git a/epan/dissectors/packet-pkix1explicit.c b/epan/dissectors/packet-pkix1explicit.c index e0d1ae519b..114ea207e1 100644 --- a/epan/dissectors/packet-pkix1explicit.c +++ b/epan/dissectors/packet-pkix1explicit.c @@ -904,7 +904,7 @@ void proto_register_pkix1explicit(void) { NULL, HFILL }}, { &hf_pkix1explicit_generalTime, { "generalTime", "pkix1explicit.generalTime", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "GeneralizedTime", HFILL }}, { &hf_pkix1explicit_Extensions_item, { "Extension", "pkix1explicit.Extension_element", diff --git a/epan/dissectors/packet-pkixqualified.c b/epan/dissectors/packet-pkixqualified.c index fcd44a30dc..660cebd4f9 100644 --- a/epan/dissectors/packet-pkixqualified.c +++ b/epan/dissectors/packet-pkixqualified.c @@ -386,7 +386,7 @@ void proto_register_pkixqualified(void) { #line 1 "./asn1/pkixqualified/packet-pkixqualified-hfarr.c" { &hf_pkixqualified_Generalizedtime_PDU, { "Generalizedtime", "pkixqualified.Generalizedtime", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }}, { &hf_pkixqualified_Directorystring_PDU, { "Directorystring", "pkixqualified.Directorystring", diff --git a/epan/dissectors/packet-pkixtsp.c b/epan/dissectors/packet-pkixtsp.c index c42279cdc2..18c84e0edd 100644 --- a/epan/dissectors/packet-pkixtsp.c +++ b/epan/dissectors/packet-pkixtsp.c @@ -550,7 +550,7 @@ void proto_register_pkixtsp(void) { "INTEGER", HFILL }}, { &hf_pkixtsp_genTime, { "genTime", "pkixtsp.genTime", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "GeneralizedTime", HFILL }}, { &hf_pkixtsp_accuracy, { "accuracy", "pkixtsp.accuracy_element", diff --git a/epan/dissectors/packet-qsig.c b/epan/dissectors/packet-qsig.c index 5f10f449e6..5b5223b1d9 100644 --- a/epan/dissectors/packet-qsig.c +++ b/epan/dissectors/packet-qsig.c @@ -15109,7 +15109,7 @@ void proto_register_qsig(void) { NULL, HFILL }}, { &hf_qsig_cidl_timeStamp, { "timeStamp", "qsig.cidl.timeStamp", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }}, { &hf_qsig_cidl_extension, { "extension", "qsig.cidl.extension_element", @@ -15212,7 +15212,7 @@ void proto_register_qsig(void) { NULL, HFILL }}, { &hf_qsig_sms_serviceCentreTimeStamp, { "serviceCentreTimeStamp", "qsig.sms.serviceCentreTimeStamp", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }}, { &hf_qsig_sms_protocolIdentifier, { "protocolIdentifier", "qsig.sms.protocolIdentifier", @@ -15232,7 +15232,7 @@ void proto_register_qsig(void) { "SmsDeliverResChoice", HFILL }}, { &hf_qsig_sms_dischargeTime, { "dischargeTime", "qsig.sms.dischargeTime", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }}, { &hf_qsig_sms_recipientAddress, { "recipientAddress", "qsig.sms.recipientAddress", @@ -15320,7 +15320,7 @@ void proto_register_qsig(void) { NULL, HFILL }}, { &hf_qsig_sms_validityPeriodAbs, { "validityPeriodAbs", "qsig.sms.validityPeriodAbs", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }}, { &hf_qsig_sms_validityPeriodEnh, { "validityPeriodEnh", "qsig.sms.validityPeriodEnh_element", @@ -15714,7 +15714,7 @@ void proto_register_qsig(void) { "PartyNumber", HFILL }}, { &hf_qsig_mcm_timestamp, { "timestamp", "qsig.mcm.timestamp", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }}, { &hf_qsig_mcm_priority, { "priority", "qsig.mcm.priority", @@ -15806,7 +15806,7 @@ void proto_register_qsig(void) { "PartyNumber", HFILL }}, { &hf_qsig_mcm_timeStamp, { "timeStamp", "qsig.mcm.timeStamp", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }}, { &hf_qsig_mcm_ahpriority, { "priority", "qsig.mcm.priority", @@ -15814,7 +15814,7 @@ void proto_register_qsig(void) { NULL, HFILL }}, { &hf_qsig_mcm_lastTimeStamp, { "lastTimeStamp", "qsig.mcm.lastTimeStamp", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "TimeStamp", HFILL }}, { &hf_qsig_mcm_highestPriority, { "highestPriority", "qsig.mcm.highestPriority", diff --git a/epan/dissectors/packet-x509af.c b/epan/dissectors/packet-x509af.c index 0552ce40a6..5c8f36e463 100644 --- a/epan/dissectors/packet-x509af.c +++ b/epan/dissectors/packet-x509af.c @@ -1129,7 +1129,7 @@ void proto_register_x509af(void) { NULL, HFILL }}, { &hf_x509af_generalizedTime, { "generalizedTime", "x509af.generalizedTime", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }}, { &hf_x509af_Extensions_item, { "Extension", "x509af.Extension_element", @@ -1277,11 +1277,11 @@ void proto_register_x509af(void) { "UniqueIdentifier", HFILL }}, { &hf_x509af_notBeforeTime, { "notBeforeTime", "x509af.notBeforeTime", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "GeneralizedTime", HFILL }}, { &hf_x509af_notAfterTime, { "notAfterTime", "x509af.notAfterTime", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "GeneralizedTime", HFILL }}, { &hf_x509af_assertion_subject, { "subject", "x509af.subject", @@ -1297,7 +1297,7 @@ void proto_register_x509af(void) { "Name", HFILL }}, { &hf_x509af_attCertValidity, { "attCertValidity", "x509af.attCertValidity", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "GeneralizedTime", HFILL }}, { &hf_x509af_attType, { "attType", "x509af.attType", diff --git a/epan/dissectors/packet-x509ce.c b/epan/dissectors/packet-x509ce.c index daf01da64b..3641d8c4c8 100644 --- a/epan/dissectors/packet-x509ce.c +++ b/epan/dissectors/packet-x509ce.c @@ -2121,7 +2121,7 @@ void proto_register_x509ce(void) { NULL, HFILL }}, { &hf_x509ce_ExpiredCertsOnCRL_PDU, { "ExpiredCertsOnCRL", "x509ce.ExpiredCertsOnCRL", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }}, { &hf_x509ce_AAIssuingDistPointSyntax_PDU, { "AAIssuingDistPointSyntax", "x509ce.AAIssuingDistPointSyntax_element", @@ -2193,11 +2193,11 @@ void proto_register_x509ce(void) { NULL, HFILL }}, { &hf_x509ce_notBefore, { "notBefore", "x509ce.notBefore", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "GeneralizedTime", HFILL }}, { &hf_x509ce_notAfter, { "notAfter", "x509ce.notAfter", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "GeneralizedTime", HFILL }}, { &hf_x509ce_CertificatePoliciesSyntax_item, { "PolicyInformation", "x509ce.PolicyInformation_element", @@ -2393,7 +2393,7 @@ void proto_register_x509ce(void) { NULL, HFILL }}, { &hf_x509ce_baseThisUpdate, { "baseThisUpdate", "x509ce.baseThisUpdate", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "GeneralizedTime", HFILL }}, { &hf_x509ce_StatusReferrals_item, { "StatusReferral", "x509ce.StatusReferral", @@ -2421,11 +2421,11 @@ void proto_register_x509ce(void) { "CRLScopeSyntax", HFILL }}, { &hf_x509ce_lastUpdate, { "lastUpdate", "x509ce.lastUpdate", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "GeneralizedTime", HFILL }}, { &hf_x509ce_lastChangedCRL, { "lastChangedCRL", "x509ce.lastChangedCRL", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "GeneralizedTime", HFILL }}, { &hf_x509ce_deltaLocation, { "deltaLocation", "x509ce.deltaLocation", @@ -2433,11 +2433,11 @@ void proto_register_x509ce(void) { "GeneralName", HFILL }}, { &hf_x509ce_lastDelta, { "lastDelta", "x509ce.lastDelta", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "GeneralizedTime", HFILL }}, { &hf_x509ce_nextDelta, { "nextDelta", "x509ce.nextDelta", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "GeneralizedTime", HFILL }}, { &hf_x509ce_CRLDistPointsSyntax_item, { "DistributionPoint", "x509ce.DistributionPoint_element", @@ -2485,7 +2485,7 @@ void proto_register_x509ce(void) { NULL, HFILL }}, { &hf_x509ce_revocationTime, { "revocationTime", "x509ce.revocationTime", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "GeneralizedTime", HFILL }}, { &hf_x509ce_certificateGroup, { "certificateGroup", "x509ce.certificateGroup", @@ -2521,7 +2521,7 @@ void proto_register_x509ce(void) { NULL, HFILL }}, { &hf_x509ce_invalidityDate, { "invalidityDate", "x509ce.invalidityDate", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "GeneralizedTime", HFILL }}, { &hf_x509ce_revokedcertificateGroup, { "revokedcertificateGroup", "x509ce.revokedcertificateGroup", @@ -2561,7 +2561,7 @@ void proto_register_x509ce(void) { "Time", HFILL }}, { &hf_x509ce_privateKeyValid, { "privateKeyValid", "x509ce.privateKeyValid", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "GeneralizedTime", HFILL }}, { &hf_x509ce_subjectPublicKeyAlgID, { "subjectPublicKeyAlgID", "x509ce.subjectPublicKeyAlgID", diff --git a/epan/dissectors/packet-x509sat.c b/epan/dissectors/packet-x509sat.c index 876b9831ca..1589aa448c 100644 --- a/epan/dissectors/packet-x509sat.c +++ b/epan/dissectors/packet-x509sat.c @@ -2007,7 +2007,7 @@ void proto_register_x509sat(void) { NULL, HFILL }}, { &hf_x509sat_SyntaxGeneralizedTime_PDU, { "GeneralizedTime", "x509sat.GeneralizedTime", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, NULL, HFILL }}, { &hf_x509sat_SyntaxUTCTime_PDU, { "UTCTime", "x509sat.UTCTime", @@ -2279,11 +2279,11 @@ void proto_register_x509sat(void) { NULL, HFILL }}, { &hf_x509sat_startTime, { "startTime", "x509sat.startTime", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "GeneralizedTime", HFILL }}, { &hf_x509sat_endTime, { "endTime", "x509sat.endTime", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "GeneralizedTime", HFILL }}, { &hf_x509sat_periodic, { "periodic", "x509sat.periodic", @@ -2431,7 +2431,7 @@ void proto_register_x509sat(void) { NULL, HFILL }}, { &hf_x509sat_at, { "at", "x509sat.at", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "GeneralizedTime", HFILL }}, { &hf_x509sat_between, { "between", "x509sat.between_element", diff --git a/epan/dissectors/packet-z3950.c b/epan/dissectors/packet-z3950.c index 3ad54b0ee1..fa913dd374 100644 --- a/epan/dissectors/packet-z3950.c +++ b/epan/dissectors/packet-z3950.c @@ -9067,7 +9067,7 @@ void proto_register_z3950(void) { "OBJECT_IDENTIFIER", HFILL }}, { &hf_z3950_dateTime, { "dateTime", "z3950.dateTime", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "GeneralizedTime", HFILL }}, { &hf_z3950_external, { "external", "z3950.external_element", @@ -10551,7 +10551,7 @@ void proto_register_z3950(void) { "HumanString", HFILL }}, { &hf_z3950_lastUpdate, { "lastUpdate", "z3950.lastUpdate", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "GeneralizedTime", HFILL }}, { &hf_z3950_updateInterval, { "updateInterval", "z3950.updateInterval_element", @@ -11135,15 +11135,15 @@ void proto_register_z3950(void) { "InternationalString", HFILL }}, { &hf_z3950_dateAdded, { "dateAdded", "z3950.dateAdded", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "GeneralizedTime", HFILL }}, { &hf_z3950_dateChanged, { "dateChanged", "z3950.dateChanged", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "GeneralizedTime", HFILL }}, { &hf_z3950_expiry, { "expiry", "z3950.expiry", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "GeneralizedTime", HFILL }}, { &hf_z3950_humanString_Language, { "humanString-Language", "z3950.humanString_Language", @@ -11615,7 +11615,7 @@ void proto_register_z3950(void) { "Variant", HFILL }}, { &hf_z3950_date, { "date", "z3950.date", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "GeneralizedTime", HFILL }}, { &hf_z3950_ext, { "ext", "z3950.ext_element", @@ -11779,7 +11779,7 @@ void proto_register_z3950(void) { "OCTET_STRING", HFILL }}, { &hf_z3950_creationDateTime, { "creationDateTime", "z3950.creationDateTime", - FT_STRING, BASE_NONE, NULL, 0, + FT_ABSOLUTE_TIME, ABSOLUTE_TIME_LOCAL, NULL, 0, "GeneralizedTime", HFILL }}, { &hf_z3950_taskStatus, { "taskStatus", "z3950.taskStatus", diff --git a/tools/asn2wrs.py b/tools/asn2wrs.py index 19d43466bb..8d689d8f58 100755 --- a/tools/asn2wrs.py +++ b/tools/asn2wrs.py @@ -5239,6 +5239,12 @@ class GeneralizedTime (RestrictedCharacterStringType): def eth_tsname(self): return 'GeneralizedTime' + def eth_ftype(self, ectx): + if (ectx.Ber()): + return ('FT_ABSOLUTE_TIME', 'ABSOLUTE_TIME_LOCAL') + else: + return ('FT_STRING', 'BASE_NONE') + def eth_type_default_body(self, ectx, tname): if (ectx.Ber()): body = ectx.eth_fn_call('dissect_%(ER)s_%(STRING_TYPE)s', ret='offset', |