Skip to content

Key expiration time doesn't accept times beyond 2106-02-07 06:28:15 UTC #25

@ribose-jeffreylau

Description

@ribose-jeffreylau

Description

Key expiration time doesn't accept times beyond 2106-02-07 06:28:15 UTC
(== Time.at(('1' * 32).to_i(2))).

A RangeError would be thrown.

Steps to reproduce

This would be fine:

key.add_userid(
  userid,
  hash: 'SHA256',
  expiration_time: ('1' * 32).to_i(2)
)

This would fail:

key.add_userid(
  userid,
  hash: 'SHA256',
  expiration_time: ('1' * 32).to_i(2) + 1
)
# => RangeError: integer 4294967296 too big to convert to `unsigned int'

Expected results

It would either happily consume it or emit an error that is more meaningful,
e.g. RangeError: expiration time beyond 4294967295 is unsupported.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions