Nick Mathewson
306d5400c3
r12643@0-41-wifi: nickm | 2007-03-23 14:56:35 -0400
...
Refactor a bunch of functions that take edge_connection_t not to also take a crypt_path_t; the cpath is implicit.
svn:r9899
2007-03-24 15:57:51 +00:00
Nick Mathewson
02ce8e6b12
r12474@Kushana: nickm | 2007-03-06 16:10:05 -0500
...
We have a PATH_SEPARATOR macro. How about we use it?
svn:r9782
2007-03-09 21:39:30 +00:00
Nick Mathewson
52713788b4
r12080@catbus: nickm | 2007-03-04 21:40:55 -0500
...
Remove dnsworkers and related code. there goes another 550 lines of code.
svn:r9736
2007-03-05 02:40:58 +00:00
Nick Mathewson
7fcceb2c25
r12074@catbus: nickm | 2007-03-04 15:11:43 -0500
...
Make all LD_BUG log messsages get prefixed with "Bug: ". Remove manually-generated "Bug: "s from log-messages. (Apparently, we remembered to add them about 40% of the time.)
svn:r9733
2007-03-04 20:11:46 +00:00
Nick Mathewson
70e5a83a77
r12057@catbus: nickm | 2007-03-04 13:58:32 -0500
...
Clarify some log messages; note others that could be improved later.
svn:r9724
2007-03-04 18:58:38 +00:00
Nick Mathewson
dae5fc7982
r11981@catbus: nickm | 2007-02-28 11:55:27 -0500
...
Clamp declarable bandwidth at INT32_MAX, not INT_MAX.
svn:r9677
2007-02-28 16:56:07 +00:00
Nick Mathewson
4d127acb53
r11958@catbus: nickm | 2007-02-26 22:28:03 -0500
...
Add a missing set to onion_key_set_at to avoid premature rotates.
svn:r9662
2007-02-27 03:53:40 +00:00
Roger Dingledine
522a97098b
more cleanups; getting closer
...
svn:r9655
2007-02-26 05:36:02 +00:00
Nick Mathewson
b4243d7dfa
r11929@catbus: nickm | 2007-02-24 15:02:43 -0500
...
Split possibly long log line.
svn:r9643
2007-02-24 20:02:47 +00:00
Nick Mathewson
501659e67c
r11927@catbus: nickm | 2007-02-24 14:49:31 -0500
...
Make sure every error case of router_dump_router_to_string warns about what actually went wrong.
svn:r9642
2007-02-24 19:49:35 +00:00
Roger Dingledine
50f22e858a
doc pedant
...
svn:r9634
2007-02-24 07:50:38 +00:00
Nick Mathewson
d2893398f6
r11832@catbus: nickm | 2007-02-16 15:31:59 -0500
...
Fix 35 remaining DOCDOC comments. Yowza.
svn:r9596
2007-02-16 20:39:37 +00:00
Nick Mathewson
759c58151e
r11775@catbus: nickm | 2007-02-12 16:39:09 -0500
...
Update copyright dates.
svn:r9570
2007-02-12 21:39:53 +00:00
Roger Dingledine
690c9cc887
make a log message make more sense
...
svn:r9504
2007-02-07 02:55:34 +00:00
Nick Mathewson
fefba95363
r11629@catbus: nickm | 2007-02-02 15:06:17 -0500
...
Removing the last DOCDOC comment hurt so much that I had to use Doxygen to identify undocumented macros and comments, and add 150 more DOCDOCs to point out where they were. Oops. Hey, kids! Fixing some of these could be your first Tor patch!
svn:r9477
2007-02-02 20:06:43 +00:00
Roger Dingledine
f58678730c
there's such a thing as too much indirection
...
svn:r9451
2007-01-28 08:06:00 +00:00
Roger Dingledine
1fea3a1e59
stop trying to hand 'platform' all around directory.c when we have a
...
bit in routerstatus_t that tells us what we need to know.
svn:r9448
2007-01-27 21:18:08 +00:00
Roger Dingledine
9d5449c52e
Inform the server operator when we decide not to advertise a
...
DirPort due to AccountingMax enabled or a low BandwidthRate. It
was confusing Zax, so now we're hopefully more helpful.
svn:r9404
2007-01-25 19:41:15 +00:00
Nick Mathewson
84790d059f
r9715@catbus: nickm | 2007-01-22 02:51:04 -0500
...
Document a few undocumented functions and arguments.
svn:r9385
2007-01-22 07:51:06 +00:00
Roger Dingledine
c85ff4d6ab
Fix an assert error introduced in 0.1.2.5-alpha: if you're an
...
advertised exit node, somebody might try to exit from you when
you're bootstrapping and before you've built your descriptor yet.
svn:r9305
2007-01-09 00:37:13 +00:00
Nick Mathewson
c8466c5919
r11824@Kushana: nickm | 2007-01-03 17:15:28 -0500
...
control-spec: upcase arguments in status events; note unimplemented events individually
r11825@Kushana: nickm | 2007-01-03 17:41:43 -0500
Implement EXTERNAL IP server status event.
r11826@Kushana: nickm | 2007-01-03 17:47:10 -0500
Implement BAD_SERVER_DESCRIPTOR server status event.
r11827@Kushana: nickm | 2007-01-03 18:01:56 -0500
Implement SOCKS_UNKNOWN_PROTOCOL and DANGEROUS_SOCKS client events.
r11828@Kushana: nickm | 2007-01-03 18:23:22 -0500
Implement BUG controller events. Also, flush ERR-level status events just like ERR-level log messages.
r11829@Kushana: nickm | 2007-01-03 23:37:27 -0500
Yet more status events: CLOCK_SKEW, GOOD/ACCEPTED_SERVER_DESCRIPTOR, {CHECKING_}REACHABILITY_{SUCCEEDED|FAILED}
r11833@Kushana: nickm | 2007-01-05 16:56:37 -0500
Note some unimplementedness in control-spec.txt
svn:r9279
2007-01-06 05:42:31 +00:00
Roger Dingledine
da2ff14839
Set orport= for 4 of the 5 dir authorities; Fix getinfo ns/all; Fix seg
...
fault when starting a server without a fingerprint file present.
svn:r9261
2007-01-04 05:41:24 +00:00
Nick Mathewson
2caeaf4e2f
r11787@Kushana: nickm | 2007-01-02 14:40:14 -0500
...
Stop polluting new descriptors with the defaults-to-1 "opt eventdns" entry.
svn:r9239
2007-01-02 20:08:03 +00:00
Nick Mathewson
e3d5e4fcae
Okay, now descriptors seem to be buildable.
...
svn:r9216
2006-12-29 17:10:29 +00:00
Nick Mathewson
a77bbe2346
r11753@Kushana: nickm | 2006-12-29 11:30:28 -0500
...
Fix flipped sign in compare: make descriptors buildable again.
svn:r9214
2006-12-29 16:31:37 +00:00
Nick Mathewson
7cfdac1bf6
r11737@Kushana: nickm | 2006-12-28 18:32:13 -0500
...
Remove some dead code; refactor some duplicated code.
svn:r9206
2006-12-29 02:49:12 +00:00
Nick Mathewson
b59573949e
r11736@Kushana: nickm | 2006-12-28 17:46:23 -0500
...
Mark a pile of XXXX comments as targetted for 0.1.2: some because they look important, some because they look easy.
svn:r9205
2006-12-29 02:47:51 +00:00
Nick Mathewson
d9f1f3533d
r11724@Kushana: nickm | 2006-12-28 14:22:35 -0500
...
Refactor and unify my-ip-addr-changed logic. Make change in IP address or in nameservers reset and relaunch DNS hijacking tests.
svn:r9200
2006-12-28 21:29:20 +00:00
Nick Mathewson
e5f5b96ca6
r11723@Kushana: nickm | 2006-12-28 13:52:48 -0500
...
Fix bug 364: check for whether popular hostnames (curently google, yahoo, mit, and slashdot) are getting wildcarded. If they are, we are probably behind a DNS server that is useless: change our exit policy to reject *:*.
svn:r9199
2006-12-28 21:29:11 +00:00
Nick Mathewson
58ae3cd648
r11713@Kushana: nickm | 2006-12-24 22:42:08 -0500
...
Better handling of internal addresses wrt X-Your-Address-Is (never believe them; never provide them.) Also, report something useful for X-Your-Address-Is with one-hop tunneled connections.
svn:r9191
2006-12-25 03:42:38 +00:00
Nick Mathewson
baac5389a1
r11690@Kushana: nickm | 2006-12-23 22:09:53 -0500
...
Hmm. Maybe I should have been compiling these before I checked them in.
svn:r9178
2006-12-24 03:09:58 +00:00
Nick Mathewson
bf1014692f
r11686@Kushana: nickm | 2006-12-23 22:05:57 -0500
...
More changes wrt unnecessary disk writes.
svn:r9176
2006-12-24 03:06:03 +00:00
Nick Mathewson
f3fd5d9032
r11680@Kushana: nickm | 2006-12-23 21:45:05 -0500
...
Remove code to look for keys in their old locations: we havent stored them there since 0.0.7.2.
svn:r9175
2006-12-24 02:45:53 +00:00
Nick Mathewson
bba5a3533f
r11679@Kushana: nickm | 2006-12-23 21:38:41 -0500
...
Update the state file less often when AvoidDiskWrites is set.
svn:r9174
2006-12-24 02:45:46 +00:00
Nick Mathewson
4d948281c3
r11676@Kushana: nickm | 2006-12-23 20:42:17 -0500
...
Add an orport option to dirserver lines so that clients can tell where to connect to open an encrypted tunnel to a dirserver even before they have its descriptor.
svn:r9171
2006-12-24 02:45:27 +00:00
Roger Dingledine
f175aca3a8
and then revert half of r9138
...
svn:r9140
2006-12-16 07:04:26 +00:00
Nick Mathewson
80b8abf7be
r11618@Kushana: nickm | 2006-12-16 02:00:52 -0500
...
Make router_is_me work without calling router_rebuild_descriptor.
svn:r9139
2006-12-16 07:00:59 +00:00
Roger Dingledine
9cd8feb649
fix an infinite loop and a memory leak in r9131
...
svn:r9138
2006-12-16 06:56:58 +00:00
Roger Dingledine
ce51a1d349
a changelog for write limiting. also, disable the "advertise dirport
...
until we reach our max bandwidth if it's tiny" trick now that we
do the bandwidth self-test on boot.
svn:r9134
2006-12-15 21:39:35 +00:00
Nick Mathewson
ab2fc7bd62
r11596@Kushana: nickm | 2006-12-15 10:57:12 -0500
...
Mark some TODO items as done. Also, never include ourself in our family list.
svn:r9131
2006-12-15 21:26:15 +00:00
Roger Dingledine
c4ed331d8d
oh, and catch the other instance we should fix
...
svn:r9122
2006-12-15 08:14:32 +00:00
Roger Dingledine
0bc0688668
if we rotate our onion key, publish a new descriptor, and
...
die soon after, we want to stick with that onion key when
we restart.
svn:r9121
2006-12-15 07:58:31 +00:00
Nick Mathewson
38bd6837db
r11588@Kushana: nickm | 2006-12-15 02:04:32 -0500
...
Add a LastRotatedOnionKey variable to the state file, so we can rotate onion keys a week after they change even if we never stay up for a whole week at a time. Should fix bug 368.
svn:r9120
2006-12-15 07:04:37 +00:00
Roger Dingledine
97c83a4c09
finish enabling begin-dir cells. require one-hop circs for
...
socks-command-connect-dir streams, so we don't open new anonymity
questions.
svn:r9099
2006-12-13 02:49:45 +00:00
Roger Dingledine
0dbf725927
Infrastructure to test BEGIN_DIR cells.
...
New socks command CONNECT_DIR. New config option TunnelDirConns that
builds a circ ending at the directory server and delivers a BEGIN_DIR
cell if it's running 0.1.2.2-alpha or later. We still need to make
one-hop circs when appropriate, while making other conns avoid them.
svn:r9098
2006-12-13 00:28:56 +00:00
Roger Dingledine
ab68e312bd
actually, i think this fix was closest to what i originally
...
intended. this way we don't call resolve-my-address, which
yells and screams if we're using an internal address (mere
clients should not have to care).
svn:r8998
2006-11-26 20:01:45 +00:00
Nick Mathewson
116ae04c2d
r9399@totoro: nickm | 2006-11-26 14:22:17 -0500
...
Actually, clients *should* try to guess their addresses.
svn:r8997
2006-11-26 19:22:25 +00:00
Nick Mathewson
68142b18cd
r9396@totoro: nickm | 2006-11-26 13:36:29 -0500
...
Fix router_new_address_suggestion() so it only changes last_guessed_ip() when it actually calls resolve_my_address(). (bug found by dev-girl)
svn:r8996
2006-11-26 18:36:51 +00:00
Nick Mathewson
1bf1f9d2fc
r9449@Kushana: nickm | 2006-10-31 00:12:02 -0500
...
Dump breakdown of PK operations when we get a USR2 signal. This should help us figure out of we are doing some of them for stupid reasons.
svn:r8881
2006-10-31 19:17:07 +00:00
Nick Mathewson
829bf4dcd0
r8970@totoro: nickm | 2006-10-09 10:12:53 -0400
...
Win32 patch from Matt Edman: fix compilation bugs by casting to int; defining SSIZE_T; defining USE_TWOS_COMPLEMENT in windows orconfig.h; and using the proper names for win32 functions on GetProcAddress. Also fixes bug 295.
svn:r8669
2006-10-09 15:46:21 +00:00
Nick Mathewson
c6f2d725d0
r8957@totoro: nickm | 2006-10-08 22:35:17 -0400
...
The otherwise regrettable MIPSpro C compiler warns about values set but never used, and about mixing enums and ints; these are good warnings, and so should be fixed. This removes some dead code and some potential bugs. Thanks to pnx.
svn:r8664
2006-10-09 02:35:51 +00:00
Roger Dingledine
06e5b2283c
minor cleanups
...
svn:r8622
2006-10-07 00:50:39 +00:00
Roger Dingledine
baf208d7b3
bugfix: When testing reachability of our dirport, don't launch a new
...
test if there's already one in progress.
svn:r8604
2006-10-06 04:02:27 +00:00
Nick Mathewson
6e0b90a902
r8838@totoro: nickm | 2006-10-02 15:24:39 -0400
...
Partial implementation of revised nickname syntax for controllers. Implement ability to look up routers by "verbose" nicknames; add a per-v1-control-connection flag to turn the feature on in events. Needs testing, spec, ability to actually turn on the flag, double-checking that we wont overflow any nickname buffers, and changelog.
svn:r8582
2006-10-03 18:58:40 +00:00
Roger Dingledine
a3efc8e3d1
- V1 authorities should set "HSAuthoritativeDir 1" to continue being
...
hidden service authorities too.
- Just because your DirPort is open doesn't mean people should be
able to remotely teach you about hidden service descriptors. Now
only accept rendezvous posts if you've got HSAuthoritativeDir set.
svn:r8573
2006-10-01 22:16:55 +00:00
Roger Dingledine
e6f4431722
stop trying to hammer router_rebuild_descriptor() when we don't
...
have a public address we like yet.
svn:r8554
2006-09-30 20:40:26 +00:00
Nick Mathewson
c2d304366b
r9032@Kushana: nickm | 2006-09-29 18:51:42 -0400
...
Now, all log messages should be distinct.
svn:r8545
2006-09-29 22:51:47 +00:00
Nick Mathewson
7d366f61cb
r9025@Kushana: nickm | 2006-09-29 18:33:13 -0400
...
Differentiate more duplicated log entries
svn:r8542
2006-09-29 22:33:40 +00:00
Nick Mathewson
0335bd51d3
r9005@Kushana: nickm | 2006-09-29 10:37:55 -0400
...
Implement DESCCHANGED event to tell controller when our router descriptor changes.
svn:r8533
2006-09-29 18:13:25 +00:00
Nick Mathewson
907fc6c73e
r8977@Kushana: nickm | 2006-09-28 19:56:41 -0400
...
Make "is a v1 authority", "is a v2 authority", and "is a hidden service authority" into separate flags so we can eventually migrate more trust away from moria.
svn:r8523
2006-09-28 23:57:59 +00:00
Nick Mathewson
adade79f68
r8879@Kushana: nickm | 2006-09-21 17:20:31 -0400
...
Oops from earlier patch; add "opt eventdns" to unittests, fix bug in routerdesc generation.
svn:r8444
2006-09-21 21:49:03 +00:00
Nick Mathewson
a942441615
r8872@Kushana: nickm | 2006-09-21 14:00:20 -0400
...
Implement server-side reverse DNS using eventdns. Add an option to routerdescs so we can tell which servers have eventdns enabled.
svn:r8437
2006-09-21 21:48:06 +00:00
Nick Mathewson
5ebb949c9f
Stop searching routerlist for routers with the same identity as other routers (on router insert): we already have a map for that. (We need to add an index field to routerinfo_t so we can figure out which point in the routerlist to replace.) Also, add a comment to routerlist.c; arma, please advise?
...
svn:r8432
2006-09-19 23:18:30 +00:00
Roger Dingledine
bfa78b3dea
actually, do the bandwidth test anyway, if you've been up at
...
least 6 hours at your previous address.
svn:r8403
2006-09-15 18:07:11 +00:00
Roger Dingledine
a51ec44466
avoid thrashing the bandwidth exercise when we change IPs a lot.
...
(we avoid simply by not doing any new tests when we change IPs --
it looks like we retain our previous bandwidth estimates, so there's
no need to do new exercise. though in some cases new exercises may
still be useful. one day we'll do something smarter.)
svn:r8402
2006-09-15 18:03:53 +00:00
Roger Dingledine
c22dc94fe6
make my bandwidth exercises actually happen
...
svn:r8400
2006-09-15 05:53:00 +00:00
Roger Dingledine
769f9201a6
Send out a burst of long-range drop cells after we've established that
...
we're reachable. Spread them over 4 circuits, so hopefully a few will
be fast. This exercises our bandwidth and bootstraps us quicker.
svn:r8399
2006-09-15 05:30:25 +00:00
Nick Mathewson
e58b9c1151
r8819@Kushana: nickm | 2006-09-15 00:27:45 -0400
...
Implement a smartlist_uniq() that will with luck not end the world.
svn:r8396
2006-09-15 04:27:58 +00:00
Peter Palfrader
2cf6cfe189
r9758@danube: weasel | 2006-09-14 07:10:12 +0200
...
Add a comment
svn:r8391
2006-09-14 05:17:02 +00:00
Peter Palfrader
7fcec09560
r9753@danube: weasel | 2006-09-14 07:07:02 +0200
...
Remove duplicates from MyFamily
svn:r8390
2006-09-14 05:07:34 +00:00
Peter Palfrader
984e8f6efb
r9736@danube: weasel | 2006-09-14 05:53:06 +0200
...
Refactor dirserv_parse_fingerprint_file(fname) into dirserv_load_fingerprint_file():
There is not need to put together the path to the approved-routers file in more than one place.
svn:r8386
2006-09-14 04:53:23 +00:00
Roger Dingledine
e56dbb810f
start remembering X-Your-Address-Is hints even if you're
...
a client, so you can become a server more smoothly.
svn:r8359
2006-09-09 19:36:51 +00:00
Roger Dingledine
5f6351ceb3
fix typo, add log message
...
svn:r8357
2006-09-09 19:16:07 +00:00
Roger Dingledine
29b6d6560e
add a "getinfo address" controller command.
...
svn:r8354
2006-09-09 03:18:39 +00:00
Roger Dingledine
43edbf0461
prefer calling it a client rather than an OP
...
svn:r8334
2006-09-07 01:00:37 +00:00
Nick Mathewson
4ff4577beb
r6908@Kushana: nickm | 2006-07-26 12:38:52 -0400
...
Refactor connection_t into edge, or, dir, control, and base subtypes. This might save some RAM on busy exit servers, but really matters most in terms of correctness.
svn:r6906
2006-07-26 19:07:26 +00:00
Roger Dingledine
e1f30a5f21
when we find our dirport to be reachable, mark our descriptor
...
dirty so we'll tell the world. (fixes bug 306 reported by pnx)
svn:r6787
2006-07-18 03:06:55 +00:00
Roger Dingledine
ac258d2cc8
Start publishing one minute or so after we find our ORPort
...
to be reachable. This will help reduce the number of descriptors
we have for ourselves floating around, since it's quite likely
other things (e.g. DirPort) will change during that minute too.
svn:r6786
2006-07-18 03:06:12 +00:00
Roger Dingledine
c85745cfe2
parameterize the loudness of log_addr_has_changed(), since it's the
...
only place where we inform the user of a new IP address, if we're
guessing it from external sources.
svn:r6780
2006-07-17 19:33:54 +00:00
Roger Dingledine
542adb88d7
Make a louder statement the first time we learn a guessed
...
IP address.
svn:r6779
2006-07-17 08:17:51 +00:00
Roger Dingledine
a2a89da693
and don't try to build the descriptor every second, if it's dirty
...
but we don't have a known address.
svn:r6777
2006-07-17 06:59:56 +00:00
Roger Dingledine
42e2057d67
fix some more places where we shouldn't crash if we can't build
...
our own descriptor yet.
svn:r6775
2006-07-17 06:54:28 +00:00
Roger Dingledine
9db7b2c068
Allow servers with no hostname or IP address to learn their IP address
...
by asking the directory authorities. This code only kicks in when you
would normally have exited with a "no address" error.
This design is flawed, though, since the X-Your-Address-Is header is not
authenticated, and doing it this way introduces too many new attacks. The
right answer is to give IP address hints inside the HELLO cell; much of
this code can be reused when we switch.
svn:r6774
2006-07-17 06:35:06 +00:00
Roger Dingledine
ee5f512e13
parameterize the loudness of resolve_my_address(), and call things
...
IP addresses, not IPs.
svn:r6764
2006-07-15 20:26:05 +00:00
Roger Dingledine
05d0b70573
Get rid of the router_retry_connections notion. Now routers no longer
...
try to rebuild long-term connections to directory authorities, and
directory authorities no longer try to rebuild long-term connections to
all servers.
We still don't hang up connections in these two cases though -- we need
to look at it more carefully to avoid flapping, and we likely need to
wait til 0.1.1.x is obsolete.
svn:r6712
2006-07-04 03:31:27 +00:00
Nick Mathewson
b7910202a3
Next batch of memory miserdom: mmap cached-routers file. This is sure to break somewhere.
...
svn:r6675
2006-06-22 07:01:54 +00:00
Roger Dingledine
2cd349903c
be more lax about recognizing valid hexdigests.
...
svn:r6619
2006-06-13 12:05:59 +00:00
Roger Dingledine
0bfef523df
simplify the tortls api: we only support being a "server", that
...
is, even tor clients do the same sort of handshake.
this has been true for years, so it's best to get rid of the
stale code.
svn:r6557
2006-06-07 06:10:54 +00:00
Nick Mathewson
853e2d99b6
Add a new warning to our "warn a lot" list: unused parameters. This means we have to explicitly "use" unuseds, but it can catch bugs. (It caught two coding mistakes so far.)
...
svn:r6532
2006-06-04 22:42:13 +00:00
Roger Dingledine
82ae38f649
be more verbose about testing reachability of our ORPort.
...
svn:r6506
2006-05-26 16:29:33 +00:00
Roger Dingledine
3c86402cc2
petty cleanups
...
svn:r6421
2006-04-25 07:00:04 +00:00
Roger Dingledine
934e9c49bb
Regenerate our local descriptor if it's dirty and some local
...
function asks for it. This may resolve bug 286.
svn:r6412
2006-04-23 23:09:03 +00:00
Nick Mathewson
6ebd886511
forward-port: "Resolve" all XXX011 items, mostly by marking them non-011.
...
svn:r6396
2006-04-18 03:07:24 +00:00
Roger Dingledine
56df81199a
that extra punctuation distracts me
...
svn:r6250
2006-03-27 05:30:16 +00:00
Roger Dingledine
6f08d121d9
Refactor and consolidate addr/exit policies into a new policies.c.
...
Fix some minor bugs and memory leaks along the way.
svn:r6246
2006-03-27 02:25:34 +00:00
Roger Dingledine
1db263ac3c
stop writing the "router.desc" file, ever. nothing uses it anymore.
...
svn:r6224
2006-03-22 03:45:17 +00:00
Peter Palfrader
805754fdd9
Log server fingerprint on startup
...
svn:r6223
2006-03-22 03:40:59 +00:00
Roger Dingledine
c06e6ddadd
Finish the transition from the word 'verified' to the words
...
'named' and 'valid'.
svn:r6188
2006-03-19 01:21:59 +00:00
Nick Mathewson
0f0e14c6e3
normalize whitespace.
...
svn:r6173
2006-03-17 04:43:37 +00:00
Nick Mathewson
3c0a5f6365
Do not warn about unknown servers in our family when they are given as hex digests.
...
svn:r6163
2006-03-15 05:04:11 +00:00