Skip to content

_check_timestamp() doesn't raise error when timestamp is greater than current time #73

Open
@vmm

Description

@vmm

Looks like this method doesn't really care if the timestamp is pointing to distant future.

def _check_timestamp(self, timestamp):
    """Verify that timestamp is recentish."""
    timestamp = int(timestamp)
    now = int(time.time())
    lapsed = now - timestamp
    if lapsed > self.timestamp_threshold:
        raise Error('Expired timestamp: given %d and now %s has a '
            'greater difference than threshold %d' % (timestamp, now,
                self.timestamp_threshold))

If the timestamp is greater than current time, 'lapsed' variable will be negative, and therefore always false.

500 > 300
True
-500 > 300
False

I fixed it like this to my code:

if abs(lapsed) > self.timestamp_threshold:

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions