Guillaume Nault
04d26e7b15
tcp: fix rejected syncookies due to stale timestamps
...
If no synflood happens for a long enough period of time, then the
synflood timestamp isn't refreshed and jiffies can advance so much
that time_after32() can't accurately compare them any more.
Therefore, we can end up in a situation where time_after32(now,
last_overflow + HZ) returns false, just because these two values are
too far apart. In that case, the synflood timestamp isn't updated as
it should be, which can trick tcp_synq_no_recent_overflow() into
rejecting valid syncookies.
For example, let's consider the following scenario on a system
with HZ=1000:
* The synflood timestamp is 0, either because that's the timestamp
of the last synflood or, more commonly, because we're working with
a freshly created socket.
* We receive a new SYN, which triggers synflood protection. Let's say
that this happens when jiffies == 2147484649 (that is,
'synflood timestamp' + HZ + 2^31 + 1).
* Then tcp_synq_overflow() doesn't update the synflood timestamp,
because time_after32(2147484649, 1000) returns false.
With:
- 2147484649: the value of jiffies, aka. 'now'.
- 1000: the value of 'last_overflow' + HZ.
* A bit later, we receive the ACK completing the 3WHS. But
cookie_v[46]_check() rejects it because tcp_synq_no_recent_overflow()
says that we're not under synflood. That's because
time_after32(2147484649, 120000) returns false.
With:
- 2147484649: the value of jiffies, aka. 'now'.
- 120000: the value of 'last_overflow' + TCP_SYNCOOKIE_VALID.
Of course, in reality jiffies would have increased a bit, but this
condition will last for the next 119 seconds, which is far enough
to accommodate for jiffie's growth.
Fix this by updating the overflow timestamp whenever jiffies isn't
within the [last_overflow, last_overflow + HZ] range. That shouldn't
have any performance impact since the update still happens at most once
per second.
Now we're guaranteed to have fresh timestamps while under synflood, so
tcp_synq_no_recent_overflow() can safely use it with time_after32() in
such situations.
Stale timestamps can still make tcp_synq_no_recent_overflow() return
the wrong verdict when not under synflood. This will be handled in the
next patch.
For 64 bits architectures, the problem was introduced with the
conversion of ->tw_ts_recent_stamp to 32 bits integer by commit
cca9bab1b72c ("tcp: use monotonic timestamps for PAWS").
The problem has always been there on 32 bits architectures.
Fixes: cca9bab1b72c ("tcp: use monotonic timestamps for PAWS")
Fixes: 1da177e4c3f4 ("Linux-2.6.12-rc2")
Signed-off-by: Guillaume Nault <gnault@redhat.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-12-06 21:05:14 -08:00
..
2019-08-09 09:15:05 +02:00
2019-06-26 09:18:54 -07:00
2019-11-16 21:51:42 -08:00
2019-09-16 12:06:23 +02:00
2019-11-27 08:15:00 -08:00
2019-07-17 09:55:43 -07:00
2019-10-02 12:19:53 -04:00
2019-06-19 17:09:55 +02:00
2019-11-27 10:53:50 -08:00
2019-07-24 14:11:52 -07:00
2019-10-31 14:19:45 -07:00
2019-11-22 19:56:20 +00:00
2019-08-28 17:24:22 +02:00
2019-06-05 17:37:07 +02:00
2019-08-11 10:48:28 +02:00
2019-11-03 10:47:42 +00:00
2019-09-16 09:56:27 -07:00
2019-11-25 18:02:36 -08:00
2019-05-31 11:13:10 +02:00
2019-07-03 17:52:08 -04:00
2019-09-17 00:40:05 -05:00
2019-12-01 16:16:31 -08:00
2019-11-27 10:17:28 -08:00
2019-11-18 10:05:38 +01:00
2019-11-11 20:42:55 +02:00
2019-10-07 23:59:02 +02:00
2019-09-13 12:47:36 +02:00
2019-09-13 12:47:36 +02:00
2019-09-13 12:47:36 +02:00
2019-09-13 12:47:36 +02:00
2019-07-08 09:54:55 -07:00
2019-10-31 16:54:00 +05:30
2019-08-23 11:09:41 +02:00
2019-12-01 18:45:29 -08:00
2019-11-13 11:33:53 +01:00
2019-09-21 10:26:24 -07:00
2019-05-24 17:27:13 +02:00
2019-11-07 13:10:08 +00:00
2019-05-30 11:26:32 -07:00
2019-06-19 17:09:55 +02:00
2019-11-26 16:02:40 -08:00
2019-09-19 16:24:24 -07:00
2019-11-09 16:46:56 +05:30
2019-10-23 17:48:57 +01:00
2019-06-05 17:37:09 +02:00
2019-10-30 12:04:35 -04:00
2019-11-16 14:45:31 +01:00
2019-08-10 15:25:47 -07:00
2019-06-19 17:09:55 +02:00
2019-06-05 17:37:05 +02:00
2019-10-15 12:06:23 +02:00
2019-05-24 17:27:12 +02:00
2019-08-20 22:09:52 +02:00
2019-05-06 11:55:39 +02:00
2019-08-09 17:30:40 +02:00
2019-05-24 17:39:02 +02:00
2019-05-30 11:29:55 -07:00
2019-06-19 17:09:07 +02:00
2019-11-14 12:31:00 +08:00
2019-10-14 10:55:14 +01:00
2019-05-30 11:26:35 -07:00
2019-10-21 19:20:30 +01:00
2019-05-09 00:41:00 -05:00
2019-05-24 17:27:11 +02:00
2019-05-24 17:27:11 +02:00
2019-05-24 17:27:11 +02:00
2019-05-24 17:27:11 +02:00
2019-05-24 17:27:11 +02:00
2019-06-05 17:37:06 +02:00
2019-06-05 17:37:17 +02:00
2019-05-21 11:28:46 +02:00
2019-05-30 11:26:32 -07:00
2019-06-05 17:37:17 +02:00
2019-11-23 09:56:02 -08:00
2019-05-24 17:37:52 +02:00
2019-05-24 17:37:52 +02:00
2019-08-27 09:22:38 -06:00
2019-08-27 09:22:38 -06:00
2019-09-02 15:55:03 +01:00
2019-05-24 20:19:17 +02:00
2019-06-05 17:37:07 +02:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-14 19:52:50 -07:00
2019-07-01 08:18:54 -06:00
2019-05-30 11:26:41 -07:00
2019-10-14 15:04:01 -07:00
2019-10-01 15:45:03 +02:00
2019-07-16 19:23:22 -07:00
2019-11-21 09:06:47 -07:00
2019-11-18 08:40:41 -07:00
2019-04-30 16:12:02 -06:00
2019-11-13 12:50:38 -07:00
2019-12-01 13:46:15 -08:00
2019-05-24 17:36:45 +02:00
2019-11-15 23:44:48 +01:00
2019-11-24 17:04:11 -08:00
2019-06-27 15:25:16 -07:00
2019-11-24 17:12:11 -08:00
2019-10-23 20:42:52 -07:00
2019-11-14 13:15:11 -05:00
2019-04-30 16:11:59 -06:00
2019-11-15 23:45:24 +01:00
2019-09-05 10:15:16 +02:00
2019-07-30 14:21:32 -07:00
2019-06-19 17:09:55 +02:00
2019-06-04 13:42:54 +01:00
2019-06-19 17:09:55 +02:00
2019-08-09 09:17:05 -07:00
2019-06-19 17:09:08 +02:00
2019-11-12 08:18:04 -08:00
2019-11-12 08:18:04 -08:00
2019-11-11 13:59:35 +01:00
2019-09-20 15:45:07 -07:00
2019-06-19 17:09:55 +02:00
2019-06-05 17:36:37 +02:00
2019-06-19 17:09:55 +02:00
2019-07-16 19:23:23 -07:00
2019-09-24 15:54:10 -07:00
2019-12-01 14:00:59 -08:00
2019-10-11 09:26:05 -07:00
2019-09-21 09:47:19 -07:00
2019-07-18 21:01:06 +02:00
2019-09-08 14:53:58 +02:00
2019-05-30 11:25:18 -07:00
2019-07-21 13:31:14 -07:00
2019-06-12 20:27:13 +02:00
2019-05-18 15:52:26 -07:00
2019-09-04 13:38:26 +02:00
2019-10-29 10:01:16 +01:00
2019-10-29 10:01:14 +01:00
2019-04-25 22:00:16 +02:00
2019-11-04 21:57:51 +01:00
2019-05-24 17:27:11 +02:00
2019-04-25 21:33:37 +02:00
2019-10-18 19:47:49 +01:00
2019-06-05 17:37:06 +02:00
2019-05-30 11:26:39 -07:00
2019-06-05 17:36:37 +02:00
2019-06-19 17:09:55 +02:00
2019-11-26 10:26:26 +01:00
2019-06-19 17:09:55 +02:00
2019-10-21 02:05:21 +02:00
2019-11-26 09:43:34 -08:00
2019-09-03 09:36:36 +02:00
2019-11-20 11:46:18 +01:00
2019-09-25 17:51:40 -07:00
2019-07-25 15:55:04 +02:00
2019-08-09 22:52:10 +10:00
2019-06-19 17:09:06 +02:00
2019-06-19 17:09:06 +02:00
2019-09-23 11:21:04 -07:00
2019-11-17 09:02:49 +08:00
2019-05-30 11:29:53 -07:00
2019-07-05 15:19:10 -07:00
2019-05-24 17:27:11 +02:00
2019-07-31 13:31:05 -06:00
2019-11-21 14:28:32 +01:00
2019-05-30 11:26:37 -07:00
2019-06-05 17:37:05 +02:00
2019-08-25 12:44:38 +09:00
2019-06-19 17:09:55 +02:00
2019-10-07 15:11:38 -05:00
2019-11-25 11:53:26 -08:00
2019-11-28 11:16:43 -08:00
2019-05-24 17:37:52 +02:00
2019-06-05 17:37:17 +02:00
2019-10-09 19:33:43 -07:00
2019-05-30 11:29:21 -07:00
2019-05-30 11:29:21 -07:00
2019-06-19 17:09:55 +02:00
2019-10-24 09:18:09 +02:00
2019-08-21 07:14:10 +09:00
2019-06-05 17:37:06 +02:00
2019-11-21 18:14:35 +01:00
2019-05-30 11:26:41 -07:00
2019-05-30 11:26:41 -07:00
2019-08-17 18:46:33 +01:00
2019-06-24 10:23:16 +02:00
2019-11-28 11:16:43 -08:00
2019-11-20 20:31:38 +01:00
2019-08-16 12:40:58 +01:00
2019-07-17 09:55:43 -07:00
2019-07-12 11:05:41 -07:00
2019-06-27 23:02:12 +01:00
2019-05-24 17:37:53 +02:00
2019-06-19 17:09:55 +02:00
2019-10-22 12:54:44 -07:00
2019-11-10 12:40:14 +01:00
2019-06-05 17:36:37 +02:00
2019-05-30 11:26:35 -07:00
2019-11-26 19:25:25 -08:00
2019-09-05 19:52:33 -06:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:29:19 -07:00
2019-06-24 19:23:39 +02:00
2019-10-17 16:23:25 +02:00
2019-08-07 13:52:43 +01:00
2019-05-30 11:26:32 -07:00
2019-05-25 16:33:36 -07:00
2019-05-30 11:26:32 -07:00
2019-10-18 15:32:52 +02:00
2019-11-12 08:18:04 -08:00
2019-10-17 16:44:36 +02:00
2019-06-05 17:36:37 +02:00
2019-06-05 17:36:37 +02:00
2019-08-23 07:57:13 -07:00
2019-10-23 17:15:57 +02:00
2019-06-14 14:21:07 -06:00
2019-08-23 10:48:31 +02:00
2019-06-12 20:30:39 +02:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-06-19 17:09:55 +02:00
2019-12-01 09:34:03 -08:00
2019-07-26 14:51:57 +10:00
2019-06-05 17:36:37 +02:00
2019-05-30 11:26:35 -07:00
2019-06-24 09:16:47 +10:00
2019-09-25 09:55:59 -07:00
2019-05-24 17:27:11 +02:00
2019-07-16 22:52:37 -04:00
2019-12-01 20:36:41 -08:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-11-06 12:34:36 -08:00
2019-06-19 17:09:11 +02:00
2019-05-30 11:26:41 -07:00
2019-07-03 18:52:20 +02:00
2019-05-30 11:26:35 -07:00
2019-05-30 11:26:32 -07:00
2019-05-24 17:27:12 +02:00
2019-08-19 11:00:39 -04:00
2019-06-20 14:47:54 +02:00
2019-08-12 19:33:50 -07:00
2019-11-27 11:42:01 -08:00
2019-11-20 09:40:10 +01:00
2019-11-27 11:06:20 -08:00
2019-06-19 17:09:55 +02:00
2019-07-12 15:13:55 -07:00
2019-06-01 15:51:32 -07:00
2019-11-14 07:43:53 -07:00
2019-12-01 12:59:06 -08:00
2019-09-05 11:40:54 +02:00
2019-08-27 19:02:59 +02:00
2019-05-30 11:29:53 -07:00
2019-06-04 14:03:53 +02:00
2019-05-30 11:26:35 -07:00
2019-05-30 11:26:32 -07:00
2019-06-05 17:37:06 +02:00
2019-06-05 17:37:06 +02:00
2019-09-18 15:58:13 +02:00
2019-05-30 11:26:35 -07:00
2019-06-05 17:36:38 +02:00
2019-05-30 11:26:32 -07:00
2019-11-23 19:56:45 -04:00
2019-10-29 15:04:34 +01:00
2019-06-22 21:21:04 +02:00
2019-08-28 13:01:25 +02:00
2019-11-06 13:02:17 +01:00
2019-12-01 12:59:08 -08:00
2019-07-15 11:03:02 -03:00
2019-05-24 17:36:45 +02:00
2019-05-24 17:36:45 +02:00
2019-10-02 06:36:50 -07:00
2019-06-29 21:08:14 -07:00
2019-11-21 20:10:44 -05:00
2019-05-21 11:28:39 +02:00
2019-05-21 11:28:39 +02:00
2019-05-21 11:28:39 +02:00
2019-05-21 11:28:39 +02:00
2019-11-28 17:15:21 +01:00
2019-06-19 17:09:55 +02:00
2019-11-05 14:03:11 -08:00
2019-11-05 14:03:11 -08:00
2019-07-09 14:52:14 -07:00
2019-09-03 11:33:29 +02:00
2019-11-08 08:46:49 -08:00
2019-07-29 16:40:22 +02:00
2019-05-30 11:26:41 -07:00
2019-05-30 11:26:32 -07:00
2019-07-05 21:34:50 +02:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-10-24 14:53:49 -07:00
2019-05-30 11:26:32 -07:00
2019-07-30 14:42:13 -07:00
2019-07-26 14:20:06 -07:00
2019-07-08 19:25:19 -07:00
2019-10-24 14:53:48 -07:00
2019-05-30 11:26:37 -07:00
2019-10-24 14:53:49 -07:00
2019-06-07 11:00:14 -07:00
2019-11-12 12:25:49 +11:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-06-26 13:19:46 -07:00
2019-05-30 11:26:32 -07:00
2019-06-02 18:08:36 -07:00
2019-08-28 11:50:33 +02:00
2019-07-04 22:01:59 -04:00
2019-06-19 17:09:55 +02:00
2019-10-04 12:31:46 -07:00
2019-06-05 17:37:17 +02:00
2019-07-15 11:42:31 +02:00
2019-07-25 13:03:18 +02:00
2019-11-11 16:10:54 +01:00
2019-06-26 14:08:11 +02:00
2019-05-30 11:26:41 -07:00
2019-07-04 17:26:48 +02:00
2019-08-13 23:02:48 +03:00
2019-08-13 23:02:44 +03:00
2019-09-17 19:15:14 -07:00
2019-09-25 17:51:39 -07:00
2019-06-19 17:09:56 +02:00
2019-08-30 16:12:10 +02:00
2019-11-11 08:40:18 +00:00
2019-10-21 08:51:59 -07:00
2019-08-23 10:09:58 +02:00
2019-06-14 14:31:48 -06:00
2019-11-07 15:44:14 +01:00
2019-07-23 09:51:00 +02:00
2019-05-30 11:26:32 -07:00
2019-06-05 17:37:17 +02:00
2019-05-14 19:52:52 -07:00
2019-10-22 14:42:34 -05:00
2019-05-30 11:26:32 -07:00
2019-05-01 10:41:38 +01:00
2019-06-19 17:09:55 +02:00
2019-08-07 14:24:54 +01:00
2019-05-24 17:36:45 +02:00
2019-06-05 17:36:37 +02:00
2019-06-05 17:36:37 +02:00
2019-07-08 14:01:43 +02:00
2019-11-30 10:53:02 -08:00
2019-06-10 13:00:24 +02:00
2019-10-21 09:16:46 -04:00
2019-05-30 11:26:35 -07:00
2019-06-14 19:31:47 -07:00
2019-06-17 12:09:22 +02:00
2019-05-30 11:26:32 -07:00
2019-07-12 11:05:42 -07:00
2019-12-01 12:59:05 -08:00
2019-11-21 07:33:24 +01:00
2019-11-25 09:15:42 +01:00
2019-11-12 08:18:04 -08:00
2019-09-28 08:14:15 -07:00
2019-07-08 19:36:47 -07:00
2019-09-02 11:43:54 +01:00
2019-05-24 17:27:11 +02:00
2019-05-24 17:36:45 +02:00
2019-09-25 17:51:40 -07:00
2019-09-24 15:54:11 -07:00
2019-06-19 17:09:08 +02:00
2019-06-05 17:37:06 +02:00
2019-05-24 17:36:45 +02:00
2019-04-25 22:06:10 +02:00
2019-07-16 19:23:22 -07:00
2019-06-05 17:37:16 +02:00
2019-05-30 11:29:19 -07:00
2019-05-30 11:29:19 -07:00
2019-05-14 19:52:48 -07:00
2019-11-21 12:03:40 +01:00
2019-06-19 17:09:07 +02:00
2019-10-21 19:20:28 +01:00
2019-05-14 19:52:49 -07:00
2019-08-05 21:52:53 +02:00
2019-11-03 17:38:36 +01:00
2019-05-30 11:29:22 -07:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-06-05 17:37:17 +02:00
2019-06-19 17:09:55 +02:00
2019-06-05 17:37:07 +02:00
2019-05-24 22:40:45 +02:00
2019-11-03 17:38:55 +01:00
2019-11-01 08:50:51 -06:00
2019-05-24 17:39:02 +02:00
2019-11-19 09:52:12 -08:00
2019-06-19 17:09:55 +02:00
2019-08-06 08:20:10 -06:00
2019-10-18 12:13:35 +02:00
2019-10-15 20:40:06 -07:00
2019-06-01 15:51:31 -07:00
2019-05-14 19:52:49 -07:00
2019-06-29 01:31:08 +02:00
2019-11-01 13:08:19 +01:00
2019-06-05 17:37:06 +02:00
2019-10-09 12:46:10 +02:00
2019-06-24 19:23:44 +02:00
2019-08-13 14:54:24 +08:00
2019-05-24 17:37:53 +02:00
2019-10-17 21:31:55 +02:00
2019-07-16 19:23:24 -07:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-04-23 10:40:32 -07:00
2019-06-19 17:09:55 +02:00
2019-06-05 17:37:17 +02:00
2019-06-19 17:09:55 +02:00
2019-09-05 12:32:05 +02:00
2019-08-09 22:52:10 +10:00
2019-12-01 12:59:08 -08:00
2019-12-01 12:59:07 -08:00
2019-12-01 12:59:10 -08:00
2019-11-15 18:34:00 -08:00
2019-09-28 14:05:38 -07:00
2019-11-07 15:45:00 +01:00
2019-09-29 10:33:41 -07:00
2019-06-19 17:09:55 +02:00
2019-06-05 17:36:38 +02:00
2019-10-17 16:31:52 -07:00
2019-05-21 11:28:45 +02:00
2019-08-20 09:35:03 -03:00
2019-10-04 18:11:08 -07:00
2019-11-05 18:25:54 +01:00
2019-05-30 11:26:41 -07:00
2019-05-14 09:47:46 -07:00
2019-09-25 17:51:40 -07:00
2019-11-06 08:28:58 -08:00
2019-06-19 17:09:55 +02:00
2019-12-01 12:59:06 -08:00
2019-11-23 19:56:44 -04:00
2019-12-01 12:59:10 -08:00
2019-07-25 20:12:38 +03:00
2019-08-06 13:41:04 -04:00
2019-09-27 19:37:27 -07:00
2019-12-01 12:59:05 -08:00
2019-05-07 21:50:24 +09:00
2019-08-14 15:30:35 +02:00
2019-05-24 17:27:10 +02:00
2019-10-04 11:10:56 -07:00
2019-06-13 08:59:34 -04:00
2019-10-23 17:23:44 +02:00
2019-08-08 09:09:25 +02:00
2019-05-30 11:26:32 -07:00
2019-07-03 19:28:40 +02:00
2019-05-30 11:26:35 -07:00
2019-09-03 09:30:45 -04:00
2019-11-14 19:06:47 -08:00
2019-07-08 19:25:19 -07:00
2019-05-30 11:26:32 -07:00
2019-11-27 10:17:28 -08:00
2019-09-13 12:35:33 +02:00
2019-09-13 12:35:33 +02:00
2019-10-17 12:20:48 +02:00
2019-07-01 19:12:10 -07:00
2019-07-18 15:50:28 -04:00
2019-07-06 14:54:50 -04:00
2019-09-20 15:15:24 -04:00
2019-04-25 14:18:15 -04:00
2019-05-30 11:26:41 -07:00
2019-07-18 17:08:06 -07:00
2019-06-13 09:02:33 -04:00
2019-08-12 21:34:08 -04:00
2019-11-04 10:56:40 -07:00
2019-04-25 16:51:42 +02:00
2019-11-22 02:21:08 +09:00
2019-11-27 10:53:50 -08:00
2019-05-24 16:39:14 -05:00
2019-09-11 14:46:02 +01:00
2019-06-05 17:37:16 +02:00
2019-11-04 11:21:25 -08:00
2019-07-26 17:01:29 -06:00
2019-05-24 17:27:11 +02:00
2019-05-20 17:27:08 +03:00
2019-07-22 20:56:37 +05:30
2019-05-30 11:26:32 -07:00
2019-08-09 19:56:05 +02:00
2019-07-10 23:08:44 -05:00
2019-05-30 11:26:35 -07:00
2019-07-12 11:05:47 -07:00
2019-06-05 17:30:29 +02:00
2019-05-16 10:29:00 -07:00
2019-05-03 10:49:17 -04:00
2019-09-13 21:15:41 +10:00
2019-10-14 15:04:00 -07:00
2019-08-03 07:02:01 -07:00
2019-11-06 08:28:58 -08:00
2019-12-01 12:59:04 -08:00
2019-05-30 11:26:39 -07:00
2019-09-24 15:54:08 -07:00
2019-11-06 13:02:43 +01:00
2019-11-13 19:09:47 +08:00
2019-05-30 11:29:19 -07:00
2019-08-28 15:25:53 -05:00
2019-09-23 19:16:01 -07:00
2019-06-21 18:11:53 -05:00
2019-04-25 16:33:07 -05:00
2019-08-16 08:41:26 -05:00
2019-11-26 20:04:35 -08:00
2019-06-19 17:09:55 +02:00
2019-06-05 17:37:07 +02:00
2019-05-21 10:50:45 +02:00
2019-05-09 10:51:06 -07:00
2019-10-09 12:46:10 +02:00
2019-07-04 08:05:52 -07:00
2019-11-26 15:04:47 -08:00
2019-06-24 19:19:23 +02:00
2019-07-16 19:23:25 -07:00
2019-06-05 17:37:07 +02:00
2019-09-05 11:54:14 +02:00
2019-05-30 11:26:37 -07:00
2019-11-25 10:47:00 -08:00
2019-11-23 16:13:39 -08:00
2019-11-15 23:49:22 +01:00
2019-11-15 23:49:22 +01:00
2019-11-15 16:22:54 +00:00
2019-05-30 11:29:52 -07:00
2019-11-05 18:33:13 +01:00
2019-05-21 11:28:45 +02:00
2019-06-05 17:37:07 +02:00
2019-06-05 17:37:16 +02:00
2019-11-13 11:41:50 +01:00
2019-11-11 10:27:15 +05:30
2019-10-21 02:05:21 +02:00
2019-06-05 17:37:16 +02:00
2019-08-21 00:20:40 +02:00
2019-11-13 11:41:50 +01:00
2019-05-24 17:36:45 +02:00
2019-07-16 19:23:22 -07:00
2019-05-14 19:52:48 -07:00
2019-05-24 17:36:45 +02:00
2019-09-05 21:16:22 +02:00
2019-07-15 21:06:15 -07:00
2019-06-05 17:37:04 +02:00
2019-05-30 11:26:32 -07:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-05-24 17:36:45 +02:00
2019-05-24 17:36:45 +02:00
2019-07-31 19:03:34 +02:00
2019-09-25 17:51:39 -07:00
2019-06-12 11:42:13 +02:00
2019-06-15 12:25:49 +02:00
2019-11-05 23:18:10 +01:00
2019-10-14 10:55:14 +01:00
2019-05-25 18:00:04 -04:00
2019-05-14 19:52:48 -07:00
2019-05-14 19:52:48 -07:00
2019-06-19 17:09:55 +02:00
2019-06-05 17:36:37 +02:00
2019-06-05 17:37:06 +02:00
2019-05-24 17:36:45 +02:00
2019-06-13 22:34:55 -07:00
2019-05-30 11:26:32 -07:00
2019-05-29 09:31:44 -05:00
2019-09-21 03:25:10 +02:00
2019-10-18 18:24:50 +01:00
2019-07-22 16:25:20 -07:00
2019-05-14 19:52:48 -07:00
2019-11-11 11:06:27 +01:00
2019-11-06 10:52:10 +01:00
2019-11-01 22:26:34 -04:00
2019-06-05 17:37:17 +02:00
2019-09-12 21:05:34 -04:00
2019-08-23 16:39:26 +01:00
2019-09-25 17:51:39 -07:00
2019-07-16 19:23:22 -07:00
2019-08-13 14:35:49 -07:00
2019-08-09 11:01:08 -07:00
2019-10-30 08:32:07 -07:00
2019-08-09 11:00:35 -07:00
2019-11-26 16:02:40 -08:00
2019-10-05 10:46:05 -07:00
2019-10-05 10:46:05 -07:00
2019-09-25 17:42:29 +02:00
2019-05-14 19:52:51 -07:00
2019-11-25 09:15:32 +01:00
2019-07-09 12:34:26 -07:00
2019-05-30 11:29:21 -07:00
2019-06-29 12:02:17 -07:00
2019-10-28 12:18:23 +01:00
2019-10-24 10:26:33 +02:00
2019-06-05 17:36:37 +02:00
2019-05-29 13:27:08 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-06-19 17:09:55 +02:00
2019-06-05 17:37:17 +02:00
2019-09-16 11:43:38 -05:00
2019-05-08 22:14:36 +02:00
2019-05-21 11:28:46 +02:00
2019-11-14 13:07:48 +08:00
2019-06-19 17:09:07 +02:00
2019-10-09 12:46:10 +02:00
2019-08-06 12:49:15 +02:00
2019-11-13 12:50:40 -07:00
2019-06-20 15:21:33 -04:00
2019-06-19 17:09:55 +02:00
2019-11-26 16:02:40 -08:00
2019-08-12 12:23:02 +01:00
2019-05-30 11:29:52 -07:00
2019-05-24 17:39:00 +02:00
2019-05-30 11:26:32 -07:00
2019-10-10 14:55:24 -07:00
2019-11-30 14:35:43 -08:00
2019-11-04 07:11:31 -07:00
2019-04-19 15:09:10 +02:00
2019-06-05 17:37:17 +02:00
2019-11-14 13:15:12 -05:00
2019-07-03 17:52:50 -04:00
2019-10-09 12:46:10 +02:00
2019-05-30 11:26:41 -07:00
2019-06-05 17:36:37 +02:00
2019-06-21 10:18:43 +02:00
2019-07-15 11:03:03 -03:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:35 -07:00
2019-06-19 17:09:55 +02:00
2019-06-19 17:09:55 +02:00
2019-11-20 22:29:40 -08:00
2019-06-19 17:09:55 +02:00
2019-09-12 21:05:34 -04:00
2019-09-24 15:54:11 -07:00
2019-08-19 06:34:13 -05:00
2019-07-09 09:07:00 -07:00
2019-07-09 11:35:38 -07:00
2019-05-30 11:26:32 -07:00
2019-12-04 17:11:25 -08:00
2019-11-28 22:40:29 -08:00
2019-05-16 15:51:55 -07:00
2019-12-01 06:29:17 -08:00
2019-06-19 17:09:55 +02:00
2019-05-30 11:29:19 -07:00
2019-07-08 16:12:03 -07:00
2019-04-24 12:17:08 +02:00
2019-05-30 11:26:35 -07:00
2019-11-25 19:56:11 -07:00
2019-05-24 17:36:45 +02:00
2019-11-14 13:15:11 -05:00
2019-10-09 12:46:10 +02:00
2019-07-31 19:03:35 +02:00
2019-06-05 17:36:37 +02:00
2019-05-28 09:03:35 -07:00
2019-06-05 17:36:37 +02:00
2019-05-30 11:26:37 -07:00
2019-07-25 15:43:26 +02:00
2019-11-13 12:15:34 -08:00
2019-11-04 11:21:25 -08:00
2019-06-05 17:37:16 +02:00
2019-05-30 11:26:32 -07:00
2019-06-15 12:25:55 +02:00
2019-07-03 17:52:50 -04:00
2019-12-01 06:29:18 -08:00
2019-08-08 11:26:01 +02:00
2019-12-01 12:59:07 -08:00
2019-07-16 19:23:21 -07:00
2019-09-11 12:34:29 +02:00
2019-06-05 17:36:37 +02:00
2019-11-04 11:21:25 -08:00
2019-10-10 14:35:32 +02:00
2019-11-15 14:38:30 +01:00
2019-06-05 17:37:16 +02:00
2019-07-18 17:08:07 -07:00
2019-11-13 00:33:21 +11:00
2019-05-21 11:28:46 +02:00
2019-09-17 20:03:49 -06:00
2019-06-05 17:37:06 +02:00
2019-06-19 17:09:55 +02:00
2019-10-25 19:25:37 -07:00
2019-06-05 17:36:37 +02:00
2019-05-30 11:26:32 -07:00
2019-07-31 13:25:15 -06:00
2019-09-25 17:51:40 -07:00
2019-08-26 12:15:06 +03:00
2019-06-05 17:37:06 +02:00
2019-11-26 15:42:43 -08:00
2019-06-19 17:09:55 +02:00
2019-05-30 11:29:19 -07:00
2019-05-30 11:29:19 -07:00
2019-11-15 14:38:29 +01:00
2019-08-30 07:27:17 -07:00
2019-12-06 21:05:14 -08:00
2019-05-30 11:26:37 -07:00
2019-08-23 02:12:11 +02:00
2019-06-25 08:54:51 +02:00
2019-08-01 20:51:22 +02:00
2019-08-02 14:45:14 +10:00
2019-08-28 11:50:43 +02:00
2019-08-20 17:05:05 +02:00
2019-09-16 17:25:49 -07:00
2019-07-31 19:03:35 +02:00
2019-05-24 17:39:02 +02:00
2019-10-07 15:24:36 +02:00
2019-11-12 21:45:37 +02:00
2019-11-22 19:41:08 -05:00
2019-11-14 13:15:12 -05:00
2019-11-22 19:41:08 -05:00
2019-06-19 17:09:55 +02:00
2019-07-16 19:23:24 -07:00
2019-04-26 19:04:19 -07:00
2019-06-05 17:37:09 +02:00
2019-06-05 17:37:17 +02:00
2019-12-01 14:00:59 -08:00
2019-11-07 20:03:08 -08:00
2019-11-02 12:39:12 -07:00
2019-06-19 17:09:55 +02:00
2019-05-30 11:26:32 -07:00
2019-06-05 17:37:04 +02:00
2019-10-31 15:12:34 +00:00
2019-06-19 23:45:09 -04:00
2019-05-30 11:26:35 -07:00
2019-08-21 10:03:35 -07:00
2019-06-26 21:02:32 +01:00
2019-05-14 09:47:45 -07:00
2019-05-30 11:26:41 -07:00
2019-08-05 18:40:18 -04:00
2019-08-14 01:10:42 +09:00
2019-05-30 11:26:41 -07:00
2019-06-19 17:09:55 +02:00
2019-05-24 17:27:13 +02:00
2019-05-24 17:27:13 +02:00
2019-06-05 17:30:27 +02:00
2019-11-14 18:12:18 -08:00
2019-05-12 13:11:36 -04:00
2019-05-24 17:39:00 +02:00
2019-12-01 12:59:05 -08:00
2019-07-12 11:05:43 -07:00
2019-05-14 09:47:45 -07:00
2019-11-14 18:12:18 -08:00
2019-06-21 16:04:05 +02:00
2019-05-30 11:26:35 -07:00
2019-10-29 10:01:16 +01:00
2019-06-19 17:09:55 +02:00
2019-11-14 12:20:02 +08:00
2019-05-15 17:35:54 +01:00
2019-10-31 15:12:23 +00:00
2019-06-05 17:37:07 +02:00
2019-07-14 16:51:47 -07:00
2019-09-13 21:15:39 +10:00
2019-08-27 09:22:38 -06:00
2019-10-09 12:46:10 +02:00
2019-10-14 15:04:01 -07:00
2019-05-24 17:36:47 +02:00
2019-09-24 15:54:12 -07:00