Skip to content

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

Open
@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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions