Commit Graph

9098 Commits

Author SHA1 Message Date
Victor Nepveu
594e5ce635 Refactor routerstatus_has_changed function
- Check all fields that might change in a routerstatus
- Document the refactoring

Signed-off-by: Victor Nepveu <victor.nepveu@imt-atlantique.net>
2020-01-16 10:39:15 -05:00
Nick Mathewson
3c89622e39 Merge branch 'ticket32487_squashed' into ticket32487_squashed_and_merged
Resolved conflicts in src/core/include.am
2020-01-16 07:57:37 -05:00
Nick Mathewson
a1bc471dd4 Add a changes file for disabling the dircache code. 2020-01-16 07:48:17 -05:00
teor
fb541ffca3
Merge branch 'maint-0.4.0' into maint-0.4.1 2020-01-16 10:00:40 +10:00
teor
026f068bb3
Merge branch 'maint-0.3.5' into maint-0.4.0 2020-01-16 10:00:32 +10:00
teor
19954cffd7
Merge remote-tracking branch 'tor-github/pr/1513' into maint-0.3.5 2020-01-16 09:57:27 +10:00
Alexander Færøy
ca9a5390ff Don't escape the bridge distribution value.
We already check if there are invalid values in
check_bridge_distribution_setting() and reject the value if that is the
case. We can therefore only have strings of [A-Z] | [a-z] | [0-9] | '-'
| '_' here which is according to the directory specification.

See: https://bugs.torproject.org/32753
2020-01-15 23:41:58 +00:00
Nick Mathewson
5e70c27e85 Merge remote-tracking branch 'tor-github/pr/1657' 2020-01-15 13:10:14 -05:00
teor
5fa7c1b13f
Merge remote-tracking branch 'tor-github/pr/1661' 2020-01-16 00:46:31 +10:00
David Goulet
b958529dbf Merge branch 'tor-github/pr/1633' 2020-01-14 14:03:21 -05:00
Nick Mathewson
08bbb6b8d9 Merge branch 'ticket32892_043_01_squashed' 2020-01-14 13:31:20 -05:00
David Goulet
59dac38ebe chan: Remove dead var cell handler from channel_t
The variable lenght cells are handled directly by
channel_tls_handle_var_cell() from an OR connection reading its inbuf. The
channel var cell handler (agnostic) was never used.

Closes #32892

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-01-14 13:31:08 -05:00
Nick Mathewson
165a92e33f Replace an assertion with a check-and-log
We hit this assertion with bug 32868, but I'm stymied figuring out
how we wound up with a routerstatus like this.  This patch is a
diagnostic to attempt to figure out what is going on, and to avoid a
crash in the meantime.
2020-01-14 13:16:39 -05:00
Nick Mathewson
c948db4252 Merge remote-tracking branch 'tor-github/pr/1636' 2020-01-14 12:46:14 -05:00
Nick Mathewson
c2dc94d8eb Merge branch 'ticket32883' 2020-01-14 12:42:41 -05:00
Nick Mathewson
dec11793ba Merge branch 'ticket32825_squashed' 2020-01-14 12:42:19 -05:00
Nick Mathewson
8ab9f93993 changes file for 32825 2020-01-14 12:42:13 -05:00
Nick Mathewson
75741c6b3a Merge remote-tracking branch 'tor-github/pr/1659' 2020-01-14 12:40:07 -05:00
teor
8095c785f1
Merge branch 'maint-0.4.2' 2020-01-14 17:41:44 +10:00
teor
7e111d0eaa
practracker: print a notice to stderr when disabled
When TOR_DISABLE_PRACTRACKER is set, print a message to
stderr when skipping practracker checks.

Part of 32705.
2020-01-14 17:41:00 +10:00
Neel Chauhan
8d288eb3a7 Deprecate the ClientAutoIPv6ORPort option 2020-01-13 14:55:16 -08:00
Nick Mathewson
6b1592b564 test_practracker.sh: never disable practracker
When practracker is disabled, its output will be empty.  We don't
want that happening during our tests.

Fixes bug 32705; bugfix on 0.4.2.1-alpha, when test_practracker.sh
was introduced.
2020-01-13 16:17:51 -05:00
Nick Mathewson
8b46372f26 Merge branch 'pr_1643_squashed' 2020-01-13 13:26:23 -05:00
Swati Thacker
ec52c8ed69 manpage: alphabetize client options
Alphabetize client options in tor.1.txt.  Closes ticket32846.
2020-01-13 13:26:12 -05:00
Nick Mathewson
73ac1add3f Split core/include.am into per-subdirectory include.am files
Closes ticket 32137.
2020-01-13 09:34:17 -05:00
Nick Mathewson
5888db4967 Merge branch 'disable_ns_macro' 2020-01-09 16:02:41 -05:00
Nick Mathewson
93894fb770 Merge branch 'ticket22029_attempt_squashed' 2020-01-09 15:27:32 -05:00
Neel Chauhan
686c5e90a3 Add changes file for Bug #22029 2020-01-09 15:27:26 -05:00
Nick Mathewson
079912de4d Changes file for ticket 32887 (NS*() removal) 2020-01-09 11:51:46 -05:00
Nick Mathewson
e45810113b Merge branch 'pre_formatter_cleanups_squashed' 2020-01-09 07:32:39 -05:00
Nick Mathewson
8b2041c343 changes file for 32764. 2020-01-09 07:30:35 -05:00
teor
1fd27155d4 changes: file for 32845 2020-01-07 10:16:08 -05:00
Nick Mathewson
1b63eea66c Merge branch 'haxxpop/tcp_proxy_squashed' into tcp_proxy_squshed_and_merged 2020-01-06 13:41:20 -05:00
Suphanat Chunhapanya
14d781fff6 circuit: Add change file 2020-01-06 13:39:10 -05:00
Nick Mathewson
e08d07692f Add documentation about building a TAGS file.
Patch from opara.  Closes ticket 32779.
2020-01-06 13:31:30 -05:00
Nick Mathewson
1f498220bd Merge remote-tracking branch 'tor-github/pr/1620' 2020-01-06 13:28:10 -05:00
Nick Mathewson
48f7341783 Merge branch 'maint-0.4.2' 2020-01-06 13:24:01 -05:00
Nick Mathewson
6da989cfe8 Merge remote-tracking branch 'tor-github/pr/1612' into maint-0.4.2 2020-01-06 13:20:57 -05:00
Nick Mathewson
4f6901d7cc When initializing pthreads, always set the main thread.
Fixes bug 32884.  This is a bugfix on 0.3.3.1-alpha, when we started
allowing restart-in-process with tor_api.h.
2020-01-06 09:37:12 -05:00
Nick Mathewson
dca2629480 Use tor_api.h entry points in ntmain.c.
When we updated main.c to use the same entry points as tor_api.h, we
didn't update ntmain.c.  This led to bugs as the two got out of
sync.

There are two calls that we drop in this patch: first, I drop the
call to set_main_thread(), since that's redundant with the init
function in compat_winthreads.c (but see #32884).  Second, I drop
the check for CMD_RUN_TOR: I'll add that back with a subsequent
commit.

Closes ticket 32883.
2020-01-06 09:24:15 -05:00
Nick Mathewson
54eec5342d Initialize publish/subscribe code when running as an NT service.
Fixes bug 32778; bugfix on 0.4.1.1-alpha.
2020-01-06 09:22:57 -05:00
Nick Mathewson
13216f848a Merge branch 'maint-0.4.2' 2020-01-06 08:08:59 -05:00
Nick Mathewson
2d8d6d1ebf Merge branch 'maint-0.4.1' into maint-0.4.2 2020-01-06 08:08:59 -05:00
Nick Mathewson
f5461a4bdf update changes file to pass "make check-changes" 2020-01-06 08:08:48 -05:00
Nick Mathewson
16e94dc7a7 Merge branch 'maint-0.4.1' into maint-0.4.2 2020-01-06 08:06:54 -05:00
Peter Gerber
b9d81282e0 Fix sandbox crash during reload of logging configuration
Allow calls to dup() which was introduced in commit a22fbab986.

From a security perspective, I don't think this should impact the
security of the sandbox significantly. As far as I can tell, there
is nothing an adversary can do with a duplicated FD that can't be
done with the original.
2020-01-05 15:24:45 +00:00
rl1987
52bbc7fb49 Add changes file 2019-12-30 13:02:04 +07:00
Nick Mathewson
33a0f15b21 Merge branch 'bug29819_035' 2019-12-20 07:37:47 -05:00
teor
7237637871
Merge branch 'maint-0.4.0' into maint-0.4.1 2019-12-20 10:12:43 +10:00
teor
7e17c24381
Merge remote-tracking branch 'tor-github/pr/1606' 2019-12-20 10:12:18 +10:00
Nick Mathewson
42e31b5c45 Mark TestingEstimatedDescriptorPropagationTime as obsolete.
We stopped looking at this option in 85cf6dcba3, back when we
implemented the minimal pieces of prop275.  Since then, we've had
code to validate and adjust this option, and to give it a different
value in testing networks, but the option hasn't actually done
anything.

We can safely mark it as OBSOLETE, since doing so does not make any
old configuration get rejected.

Closes ticket 32807.
2019-12-19 11:04:48 -05:00
Nick Mathewson
3663df6937 changes file for ticket 32806 2019-12-19 10:49:57 -05:00
George Kadianakis
b7304027f6 Merge branch 'tor-github/pr/1587' 2019-12-18 14:19:15 +02:00
Nick Mathewson
08bfc2d71a Merge branch 'ticket32172_once_again' 2019-12-17 15:02:06 -05:00
Peter Gerber
0d64bafcfe Correct how we use libseccomp
This fixes a startup crash with libseccomp v2.4.0 if Sandbox is
set to 1.
2019-12-17 09:47:28 -05:00
Nick Mathewson
5f9808d1d7 Merge remote-tracking branch 'tor-github/pr/1596' 2019-12-17 09:39:50 -05:00
teor
11c8c4f23c
Merge branch 'pr1590_amended_commit' 2019-12-17 09:49:30 +10:00
Nick Mathewson
b4977d1aa9 Fix formatting in tor_assertf() message in struct_check_magic().
Closes 32771; bugfix on 0.4.2.1-alpha.
2019-12-16 15:31:23 -05:00
Nick Mathewson
df5c81fec0 Merge branch 'bug32765_041' into bug32771_042 2019-12-16 15:27:18 -05:00
Nick Mathewson
1b619a627c Use CHECK_PRINTF() for printf-like functions in util_bug.h 2019-12-16 15:14:13 -05:00
George Kadianakis
e6bffeca64 Merge branch 'tor-github/pr/1591' 2019-12-16 22:01:10 +02:00
Mike Perry
e01e199005 Add changes file 2019-12-16 22:00:54 +02:00
teor
55b25ee6c6
Merge branch 'bug32240_32242_042' into bug32240_32242_master
Merge:
* libzstd-dev from ticket32242_042
* coccinelle from master
2019-12-16 09:25:38 +10:00
teor
8b5c11fbf6
Merge branch 'bug32240_32242_041' into bug32240_32242_042 2019-12-16 09:23:46 +10:00
teor
84c4ede052
Merge branch 'bug32240_32242_040' into bug32240_32242_041 2019-12-16 09:23:41 +10:00
teor
d96b35d663
Merge branch 'bug32240_32242_035' into bug32240_32242_040
Merge:
* libzstd-dev from ticket32242_035
* shellcheck from maint-0.4.0
2019-12-16 09:22:52 +10:00
teor
0b3763612c
Merge remote-tracking branch 'tor-github/pr/1459' into bug32240_32242_035 2019-12-16 09:21:05 +10:00
teor
86ca3194aa
Merge branch 'bug32240_042' into bug32240_master 2019-12-16 09:17:02 +10:00
teor
da404910a7
Merge branch 'bug32240_041' into bug32240_042
Merge:
* CHUTNEY_TOR_SANDBOX=0 from bug32240_041
* RUST_VERSION from maint-0.4.2
2019-12-16 09:15:42 +10:00
teor
4a34fd5b74
Merge branch 'bug32240_040' into bug32240_041 2019-12-16 09:14:38 +10:00
teor
e2f78396f4
Merge branch 'bug32240_035' into bug32240_040 2019-12-16 09:14:32 +10:00
teor
75096de4c7
Merge branch 'bug32240_029' into bug32240_035
Merge
* Chutney Trusty deletion in bug32240_029
* NSS addition in maint-0.3.5
2019-12-16 09:09:16 +10:00
teor
37b04aeed7
changes: file for 32240 2019-12-16 09:06:25 +10:00
teor
5082eeba38
Merge branch 'maint-0.4.2' 2019-12-16 08:16:28 +10:00
teor
ffccf6fc55
Merge branch 'maint-0.4.0' into maint-0.4.1 2019-12-16 08:16:12 +10:00
teor
7481172983
Merge branch 'maint-0.3.5' into maint-0.4.0 2019-12-16 08:16:04 +10:00
teor
648399d6c2
Merge remote-tracking branch 'tor-github/pr/1505' 2019-12-16 08:15:19 +10:00
teor
933b0c1b1b
Merge remote-tracking branch 'tor-github/pr/1577' into maint-0.4.2 2019-12-16 08:14:29 +10:00
teor
05908d57f6
Merge remote-tracking branch 'tor-github/pr/1576' into maint-0.3.5 2019-12-16 08:14:04 +10:00
teor
7dd5946094
Merge remote-tracking branch 'tor-github/pr/1575' into maint-0.2.9 2019-12-16 08:13:38 +10:00
Taylor Yu
4bc698f776 changes file for ticket 32708 2019-12-12 10:44:21 -06:00
teor
f9a243a9d4
changes: update changes file for 32609 2019-12-12 16:12:18 +10:00
Taylor Yu
0fd49c6663 Document high-level architecture goals
Create a high-level description of the long-term software architecture
goals.  Closes ticket 32206.
2019-12-10 16:47:38 -06:00
Nick Mathewson
fefa08df75 Add a changes file for ticket 32172. 2019-12-10 15:56:06 -05:00
Neel Chauhan
a8b5b9a1bc In cancel_descriptor_fetches(), use connection_list_by_type_purpose() instead of connection_list_by_type_state() 2019-12-10 12:00:38 -05:00
George Kadianakis
a38014e5c6 Merge branch 'tor-github/pr/1581' 2019-12-10 18:34:00 +02:00
David Goulet
fc32349adc hs-v3: Handle client rendezvous circuit timeout
With v3, the "pending_final_cpath" of a circuit is always NULL which means
that for v3, established client rendezvous circuit waiting for the intro point
to ACK, will always end up timing out quickly.

This can increase the delays to which you connect to a service since in order
to succeed, the rendezvous circuit needs to fully established
(CIRCUIT_PURPOSE_C_REND_JOINED) within the cutoff of the introduction circuit
as well which is these days around 2-3 seconds.

Fixes #32021

Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-12-10 18:33:48 +02:00
Taylor Yu
7bd7089988 changes file for ticket 30984 2019-12-09 09:55:04 -06:00
Nick Mathewson
e93801bfe6 Port changelog tools to python 3
Closes ticket 32704.
2019-12-09 10:53:48 -05:00
Nick Mathewson
089466eff3 Merge branch 'maint-0.4.2' 2019-12-06 16:02:08 -05:00
Nick Mathewson
3248630fc8 Merge branch 'maint-0.4.1' into maint-0.4.2 2019-12-06 16:02:08 -05:00
Nick Mathewson
6513102b9d Merge branch 'maint-0.4.0' into maint-0.4.1 2019-12-06 16:02:08 -05:00
Nick Mathewson
c7ca3fc186 Merge branch 'maint-0.3.5' into maint-0.4.0 2019-12-06 16:02:07 -05:00
Nick Mathewson
74cae547e5 Merge branch 'maint-0.2.9' into maint-0.3.5 2019-12-06 16:02:07 -05:00
Karsten Loesing
b7b467d3af Update geoip and geoip6 to the December 3 2019 database. 2019-12-06 11:50:35 +01:00
teor
f86d508d49
changes: file for 32629 2019-12-06 10:52:19 +10:00
teor
a277f28947
changes: file for 32629 2019-12-06 10:51:43 +10:00
teor
b84e7715da
changes: file for 32629 2019-12-06 10:51:05 +10:00
Nick Mathewson
37d1ee554d Remove changes files that are scheduled for inclusion in 0.4.2.5 2019-12-05 13:27:46 -05:00
teor
cfa9cc34aa
Merge branch 'maint-0.4.0' into maint-0.4.1 2019-12-05 10:14:01 +10:00
teor
92fb099067
Merge branch 'maint-0.3.5' into maint-0.4.0 2019-12-05 10:13:53 +10:00
teor
46057ec5ae
Merge remote-tracking branch 'tor-github/pr/1424' into maint-0.4.0 2019-12-05 10:13:15 +10:00
teor
aee966cb06
Merge remote-tracking branch 'tor-github/pr/1277' into maint-0.3.5 2019-12-05 10:11:18 +10:00
Nick Mathewson
fcb5656128 Merge branch 'ticket32609_squashed' 2019-12-04 12:15:28 -05:00
teor
5ce45ac907 Makefile/git scripts: Add the practracker unit tests
Add a check-practracker-unit-test target, and run it as part of
"make check".

Add the practracker unit tests to scripts/git/pre-commit.git-hook.

Part of 32609.
2019-12-04 12:15:22 -05:00
teor
a4c22164c0
Merge branch 'maint-0.4.2' 2019-12-03 12:47:05 +10:00
teor
3207a8e5c2
Merge branch 'maint-0.4.1' into maint-0.4.2 2019-12-03 12:46:58 +10:00
teor
14089a29b5
Merge branch 'maint-0.4.0' into maint-0.4.1 2019-12-03 12:46:50 +10:00
teor
febbc236d4
Merge branch 'maint-0.3.5' into maint-0.4.0 2019-12-03 12:46:43 +10:00
teor
145ff92d92
Merge branch 'maint-0.2.9' into maint-0.3.5
Merge C_DIALECT_OPTIONS from ticket32500_029 with
other configure options from maint-0.3.5.
2019-12-03 12:45:41 +10:00
teor
792c15fde2
Travis: use -std=gnu99 in some jobs
Require C99 standards-conforming code in Travis CI, but allow GNU gcc
extensions. Also activates clang's -Wtypedef-redefinition warnings.

Builds some jobs with -std=gnu99, and some jobs without.

Closes ticket 32500.
2019-12-03 12:42:39 +10:00
George Kadianakis
53bdd21179 Merge branch 'tor-github/pr/1559' 2019-12-02 12:52:44 +02:00
teor
4a157c7569
Merge branch 'ticket32629_041' into ticket32629_042
Merge RUST_VERSION from maint-0.4.2 with disabling the macOS Rust
job from ticket32629_041.
2019-12-01 20:28:44 +10:00
teor
a00b9e5a86
Merge branch 'ticket32629_040' into ticket32629_041 2019-12-01 20:26:55 +10:00
teor
349554f40d
Merge branch 'ticket32629_035' into ticket32629_040 2019-12-01 20:26:51 +10:00
teor
96e620caaf
Merge remote-tracking branch 'tor-github/pr/1574' 2019-12-01 17:53:06 +10:00
teor
f2f7491cd9
Merge branch 'ticket32629_029' into ticket32629_035
Merge re-enable chutney from ticket32629_029 with
stem from maint-0.3.5.
2019-11-28 12:21:08 +10:00
teor
99b5f1b261
Revert "Travis: Disable all but one macOS build"
This reverts commit 511aeba8ee.
2019-11-28 12:10:10 +10:00
George Kadianakis
68a00c4951 Merge branch 'tor-github/pr/1573' 2019-11-27 15:36:26 +02:00
David Goulet
85b984dbc6 hs: Add changes file for 32020
Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-11-27 14:52:09 +02:00
Neel Chauhan
99cf3f99c0 Make control_event_conf_changed() take a config_line_t 2019-11-26 22:12:23 -05:00
Nick Mathewson
031f204a10 configure: reject Python 2.
Python 2 will be end-of-life as of 1 Jan 2020, so we can finally
stop supporting it.  As a first step, we should make our configure
script stop accepting python 2 as something acceptable to run our
tests with.

Closes ticket 32608.
2019-11-25 13:01:04 -05:00
Nick Mathewson
31f8b4fa65 Merge branch 'stream-socks-auth' into bug19859_merged 2019-11-25 07:58:02 -05:00
teor
26071aa3be
Merge branch 'maint-0.4.0' into maint-0.4.1 2019-11-25 12:37:07 +10:00
teor
055f5d4d1b
Merge branch 'maint-0.3.5' into maint-0.4.0 2019-11-25 12:36:59 +10:00
teor
c17ab20ac0
Merge remote-tracking branch 'tor-github/pr/1441' into maint-0.4.0 2019-11-25 12:36:41 +10:00
teor
ed6f2f61a2
Merge remote-tracking branch 'tor-github/pr/1396' into maint-0.4.0 2019-11-25 12:35:58 +10:00
teor
501b5174d8
Merge remote-tracking branch 'tor-github/pr/1464' into maint-0.3.5 2019-11-25 12:35:11 +10:00
teor
400cee261e
Merge remote-tracking branch 'tor-github/pr/1422' into maint-0.3.5 2019-11-25 12:34:29 +10:00
teor
54c01119ed
Merge remote-tracking branch 'tor-github/pr/1405' into maint-0.3.5 2019-11-25 12:33:55 +10:00
teor
83424cb62f
Merge remote-tracking branch 'tor-github/pr/1395' into maint-0.3.5 2019-11-25 12:33:14 +10:00
teor
f9812ee5f7
Merge remote-tracking branch 'tor-github/pr/1394' into maint-0.3.5 2019-11-25 12:29:43 +10:00
Nick Mathewson
75f417fd0c changes file for 29826 2019-11-23 15:35:59 -05:00
Nick Mathewson
d8ff7d0236 Merge branch 'reversible_3' 2019-11-21 07:49:18 -05:00
David Goulet
cb11276068 hs-v3: Add changes file for ticket #30382
Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-11-21 13:02:29 +02:00
Nick Mathewson
a30d143228 Make KeyDirectory's GroupReadable behave the same as CacheDirectory's.
In #26913 we solved a bug where CacheDirectoryGroupReadable would
override DataDirectoryGroupReadable when the two directories are the
same.  We never did the same for KeyDirectory, though, because
that's a rare setting.

Now that I'm testing this code, though, fixing this issue seems
fine.  Fixes bug #27992; bugfix on 0.3.3.1-alpha.
2019-11-20 09:26:47 -05:00
George Kadianakis
53ac9a9a91 Add changes file for #30381. 2019-11-18 19:21:10 +02:00
teor
c34fb3413d
Merge remote-tracking branch 'tor-github/pr/1517' 2019-11-18 11:21:37 +10:00
teor
825f52784d
Merge remote-tracking branch 'tor-github/pr/1535' 2019-11-15 12:11:32 +10:00
teor
b58e5091b7
Merge remote-tracking branch 'tor-github/pr/1533' 2019-11-15 12:11:22 +10:00
David Goulet
1371d29e5b Merge branch 'tor-github/pr/1489' 2019-11-14 10:37:14 -05:00
Nick Mathewson
a76b7cd8b5 Merge remote-tracking branch 'tor-github/pr/1531' 2019-11-14 09:58:37 -05:00
teor
0df8bcfb6f relay: Disable relay_sys when the relay module is disabled
Closes ticket 32245.
2019-11-14 16:27:06 +10:00
teor
88c2a23c4b relay: Disable relay_periodic when the relay module is disabled
Closes ticket 32244.
2019-11-14 16:17:17 +10:00
teor
ef00b1ce0f dirauth: Remove a HAVE_MODULE_DIRAUTH inside a function
There are now no HAVE_MODULE_{DIRAUTH,RELAY} inside functions.

Closes ticket 32163.
2019-11-14 15:43:27 +10:00
teor
b2b61b0268
changes: Update the changes file for 32410
When the relay module is disabled, we change the ClientOnly
default to 1. But we forgot to mention that in the changes file.
2019-11-14 15:39:40 +10:00
teor
9f37c0f4f2
changes: file for 32451 2019-11-14 13:12:42 +10:00
teor
4514bfe9c2 test/parseconf: Stop ignoring --dump-config failures
When we added the $FILTER for Windows newlines, we made
the pipeline always exit successfully, even if tor failed.

Fixes bug 32468; bugfix on 0.4.2.1-alpha.
2019-11-14 10:55:21 +10:00
Nick Mathewson
79bac44293 Remove changes files that are already merged into 0.4.2.4-rc. 2019-11-12 16:48:12 -05:00
Nick Mathewson
fc1316b559 Merge branch 'ticket32467' 2019-11-12 13:19:12 -05:00