Commit Graph

375 Commits

Author SHA1 Message Date
Glenn L McGrath
0e766183ee Superficial changes to make the exclude/include code easier to understand 2001-10-13 05:03:29 +00:00
Matt Kraai
f86bbfaddd Fix tar segfault when include list is empty and exclude list is not. 2001-10-12 19:00:15 +00:00
Glenn L McGrath
30f68908ef Another part of Stafan's latest patch, when replacing a pre-existing package set its status correctly. 2001-10-06 02:40:20 +00:00
Glenn L McGrath
f28d819554 status_package_num should refer to package not status.
Only initialise a new entry in the status hashtable if it really is a new entry.
2001-10-06 02:27:36 +00:00
Glenn L McGrath
24e2833cdf Initial support for for bunzip2....
This code could be improvemed by
 1) supporting more options,
 2) Creating a shared crc table with gunzip, or perhaps generated on the fly.
 3) Removing any remaining unneccessary code (e.g. if (noisy))
2001-10-05 03:48:57 +00:00
Glenn L McGrath
2e772edacf Change extraction/list code to use common unarchive code. 2001-10-05 02:58:48 +00:00
Glenn L McGrath
a8412dbf39 Fixes with help from Stefan, Typo in prerm script, and when reinstall a package the old packages status was getting overwritten. 2001-10-04 05:22:42 +00:00
Glenn L McGrath
35636540ea Extract control.tar.gz and data.tar.gz unconditionally, another one picked up by Stefan 2001-10-03 03:10:35 +00:00
Glenn L McGrath
95bfe631a4 Fix return status, picked up by Stefan 2001-09-29 03:34:38 +00:00
Glenn L McGrath
dece3c5684 The <package>.list file was prepending "./" to the files, fixed that.
Also fixed a very silly error by me when running postinst (remember to use the variable BEFORE its freed)
2001-09-22 04:16:55 +00:00
Glenn L McGrath
b8f5adb64f Dont free everytime getline() is used, fix from Stefan Soucek 2001-09-22 03:24:07 +00:00
Glenn L McGrath
48cc89b738 Fix to make preinst run when required, from Stefan Soucek 2001-09-21 05:07:47 +00:00
Glenn L McGrath
e73866181f Implement dpkg -l option, from Stefan Soucek (slightly modified) 2001-09-21 04:30:51 +00:00
Eric Andersen
dcbca62e89 Standard typing (u_int16_t instead of u16, u_int32_t instead
of u32, etc) cleanups from Laurence Anderson <laurence@zxmail.com>
2001-08-29 19:02:26 +00:00
Matt Kraai
ac20ce1924 Canonicalize dirname(3) behavior. 2001-08-24 19:51:54 +00:00
Eric Andersen
39eb040757 Patch from Rodney Brown <RDBrown@mira.net>, shrinking 1.5k
from gzip by careful optimization.  Appears to work just fine
(I've tested the changes on x86, ARM, and powerpc).
2001-08-22 04:15:47 +00:00
Glenn L McGrath
bac490fe53 Fix version comparision bug 2001-08-15 11:25:01 +00:00
Glenn L McGrath
7499918f30 If filename is a '-' then read from stdin to stdout 2001-07-30 04:48:50 +00:00
Glenn L McGrath
81108e7653 Cleanup (most) memory leaks 2001-07-19 12:15:13 +00:00
Glenn L McGrath
c3fbec73fb Change read_package_field interface, and rewrite using low level functions
Fixes for a few bugs that have crept into dpkg in the last few days
2001-07-18 15:47:21 +00:00
Glenn L McGrath
778041f8d1 Use the unofficial -C instead of -c to --configure a package, -c conflicts with another dpkg command 2001-07-18 05:17:39 +00:00
Glenn L McGrath
ed4492a697 More feedback to user 2001-07-18 05:03:49 +00:00
Glenn L McGrath
7b0241579c Be more verbose when configureing package, minor changes 2001-07-18 04:33:31 +00:00
Glenn L McGrath
4cdc607f72 Use xfopen to abort on error to prevent segfaulting later. 2001-07-18 03:13:49 +00:00
Eric Andersen
044228d5ec This is vodz' latest patch. Sorry it took so long...
1) ping cleanup (compile fix from this patch already applied).
    2) traceroute call not spare ntohl() now (and reduce size);
    3) Fix for functions not declared static in insmod, ash, vi and mount.
    4) a more simple API cmdedit :))
    5) adds "stopped jobs" warning to ash on Ctrl-D and fixes "ignoreeof" option
    6) reduce exporting library function index->strchr (traceroute), bzero->memset (syslogd)
2001-07-17 01:12:36 +00:00
Glenn L McGrath
a868ec89e8 Allow the unarchive() extract_list variable to be NULL, meaning extract all 2001-07-14 08:49:53 +00:00
Glenn L McGrath
58a5bd187d Tolerate fields with no data, e.g. "Depends: " 2001-07-14 06:25:54 +00:00
Glenn L McGrath
ccd65c9be6 Total rewrite, uses hash tables for speed and low memory use. 2001-07-13 18:35:24 +00:00
Glenn L McGrath
5e66a26eaa Dont setvbuff in here, must be called just after stream is initialised, glibc tolerates using it later, uclibc doesnt 2001-07-13 06:51:56 +00:00
Glenn L McGrath
26a0d9a945 Call setvbuf from here isntead of gz_open for compatability with uclibc 2001-07-13 06:49:18 +00:00
Glenn L McGrath
b028e08d35 Move setvbuf calls from gz_open() to calling functions, setvbuf is only supposed to be called prior to opening the stream, glibc tolerates later use, uclibc doesnt. 2001-07-13 06:43:03 +00:00
Glenn L McGrath
c127008840 Allow unarchive to redirect stdout (tobe used by dpkg applet) 2001-07-11 17:32:14 +00:00
Glenn L McGrath
93febe672a free coniditionally, just to make it play nice with dmalloc which is incompatable with standard free() 2001-07-11 07:25:01 +00:00
Glenn L McGrath
59e50f634a Unpack the filename not the package name 2001-07-11 03:30:11 +00:00
Matt Kraai
5710f9f690 Read 20 512-byte blocks at a time (like GNU tar). 2001-07-10 15:05:39 +00:00
Eric Andersen
807bda4a24 Minor update to include file ordering 2001-07-07 08:13:02 +00:00
Matt Kraai
623cfa99e5 Remove a redundant call to mkdir. 2001-07-03 20:55:30 +00:00
Eric Andersen
3073dfbf30 Patch from Aaron Lehmann <aaronl@vitelus.com> to scrub a ton of
portability junk from gzip.c, making it a zillion times more readable.
2001-07-02 17:57:32 +00:00
Manuel Novoa III
a2949aa217 Add some missing includes to kill warnings when building with the default
Config.h and using gcc's -fno-builtin.  There are probably other files
with the similar problems.
Also, if building against uClibc, don't include asm/unistd.h in syscalls.c
and module_syscalls.c.
2001-06-29 18:59:32 +00:00
Eric Andersen
0d8cc1670c Fix a type promotion bug discivered and analyzed by Alan Modra
<amodra@bigpond.net.au>, which caused false checksum errors
2001-06-27 06:15:50 +00:00
Glenn L McGrath
f8736d251e rpm2cpio applet by Laurence Anderson 2001-06-26 01:19:34 +00:00
Eric Andersen
24982c589b Fix up some warnings that show up on ppc 2001-06-25 19:31:48 +00:00
Glenn L McGrath
2e6d3cfa82 Nore unarchive (and doc) fixes from Laurence Anderson 2001-06-24 12:36:54 +00:00
Glenn L McGrath
8f5b63edea cpio applet, and changes to associated code 2001-06-22 09:22:06 +00:00
Tim Riker
837097648e comment cleanup 2001-06-22 00:27:11 +00:00
Matt Kraai
ceeff73819 Rewrote mkdir (and touched lots of things in the process). 2001-06-21 19:41:37 +00:00
Eric Andersen
091781e20e Support tar -C, per bug #1176
-Erik
2001-06-21 19:30:10 +00:00
Eric Andersen
ea4abff595 Add in (and ignore) tar -p, since we preserver permissions automatically.
closes bug #1185
 -Erik
2001-06-21 15:17:59 +00:00
Eric Andersen
aff5e2eaef it turs out, there was a nasty tar bug where bb tar would create leading dirs
with mode 0777 in all cases due to usask issues.  Thanks to Matt Kraai for
noticing and spotting the culprit.  This makes bb tar behave just like GNU
tar once again.
 -Erik
2001-06-20 20:47:31 +00:00
Glenn L McGrath
06a71cced2 Initialise in_file to stdin, so it wont crash if no source specified 2001-06-20 08:07:34 +00:00
Glenn L McGrath
8e74bf94f3 Changed gz_open to ruturn a stream 2001-06-20 07:54:15 +00:00
Glenn L McGrath
eb1c94078f Reorganise unarchiving functions, more code re-use, only does single pass(no more linked lists), basis for supporting a cpio (and cheaper untar) applet, but cpio applet isnt included in this.
It effects ar, dpkg-deb applets only
2001-06-20 07:48:00 +00:00
Glenn L McGrath
9aff903603 Reorganise archive extraction code 2001-06-13 07:26:39 +00:00
Eric Andersen
cb2a372c9f Revert the patch from Konstantin Boldyshev <konst@linuxassembly.org> to never
change permissions on existing directories.  This behavior is contrary to SUSv2
and contrary to GNU tar.  Thanks to Matt Kraai for pointing this out.  I should
have been much more careful about accepting such a patch.
 -Erik
2001-06-04 16:54:39 +00:00
Eric Andersen
5a9d441b2c Fix up some signed char vs int issues that show up on powerpc. 2001-05-24 14:16:28 +00:00
Eric Andersen
77d9268892 Patch from larry to fix some grammar errors. 2001-05-23 20:32:09 +00:00
Matt Kraai
117231c44f Make - read compressed data from stdin (thanks to Marius Groeger). 2001-05-22 14:23:02 +00:00
Matt Kraai
7f7348b7b2 Correctly remove leading slashes upon extraction (thanks to Marius Groeger). 2001-05-22 14:18:03 +00:00
Matt Kraai
7cedac567c Remove unused function. If necessary, we can use remove_file instead. 2001-05-17 04:03:22 +00:00
Matt Kraai
59df6f7398 Change 'printf("%s\n", ...)' into 'puts(...)'. Noted and patched in hostname.c
by Larry Doolittle.
2001-05-16 14:21:09 +00:00
Eric Andersen
a17b3631fe Do not ever change permissions on existing directories, only
on directories we created while extracting a tarball.  Fix
based on bug report and patch from Konstantin Boldyshev
<konst@linuxassembly.org>
 -Erik
2001-05-13 15:39:30 +00:00
Eric Andersen
28355a36da Per some comments from Lars Kellogg-Stedman <lars@larsshack.org>,
make xreadlink() return NULL on failure, and make sure everyone
uses the interface correctly.
 -Erik
2001-05-07 17:48:28 +00:00
Glenn L McGrath
713b398700 woops, forgot the break statment 2001-05-07 12:06:37 +00:00
Glenn L McGrath
5bcfc9ba1a Tolerate -q argument, if -q is passed give a warning and continue rather than just fail 2001-05-07 12:01:58 +00:00
Matt Kraai
e0244b0642 Skip headers with empty filenames, rather than stopping. 2001-05-01 21:12:31 +00:00
Mark Whitley
8a633268ef Made new xreadlink function for libbb and changed applets to use it instead of
readlink(2).
2001-04-30 18:17:00 +00:00
Glenn L McGrath
af166e7ce0 Logic reversal for last_char_is 2001-04-29 00:50:33 +00:00
Eric Andersen
c1bdffe99b Another nice cleanup from Larry. This adds a new last_char_is() function and
uses it to avoid possible buffer underruns whn strlen is zero, and avoid the
possible space-hogging inline of strlen() in several cases.
 -Erik
2001-04-26 15:56:47 +00:00
Eric Andersen
04095e58fb Move messages.c to libbb. Make each string in messages.c be its own .o file.
This way, we can new get rid of all that tedious #define rubbish we used to
need to enable specific messages.  This way is enormously simpler, and as a
bonus also ends up saving us 96 bytes.
 -Erik
2001-04-25 05:39:18 +00:00
Matt Kraai
53265546a6 Eliminate spurious warning, convert to getopt, and eliminate redundant check. 2001-04-18 16:05:34 +00:00
Matt Kraai
96dcd19b8a Fix a number of problems with argument handling. 2001-04-18 15:54:09 +00:00
Matt Kraai
54652230d4 Eliminate a segfault when called on an existing file with out an extension:
touch foo && gunzip foo
2001-04-18 15:51:45 +00:00
Matt Kraai
b181056e06 Eliminated seeks so that we work correctly on pipes, and removed reliance on
undefined evaluation ordering.  Thanks to Anthony Towns for explanation and
solution.
2001-04-18 14:49:55 +00:00
Glenn L McGrath
bcfeb2ac44 Fix zcat/gunzip when reading from stdin 2001-04-18 13:34:09 +00:00
Glenn L McGrath
ae1c704c44 Write full status file 2001-04-16 10:26:46 +00:00
Glenn L McGrath
33431ebb9a dpkg improvements, use full package struct, avoid extracting to tmp dir, rename variable.
deb_extract, untar and dpkg_deb modified to make the above possible
2001-04-16 04:52:19 +00:00
Glenn L McGrath
445fb952b8 dpkg-deb -f and partial -I commands, adds 600 bytes 2001-04-13 04:02:57 +00:00
Glenn L McGrath
47fd219c95 Rename variable that shadows global 2001-04-12 16:37:13 +00:00
Glenn L McGrath
3e2ab88ee2 New dpkg-deb function -t, stands for --fsys-tarfile 2001-04-12 13:49:09 +00:00
Glenn L McGrath
6785b51280 dpkg-deb -c works now 2001-04-12 11:48:02 +00:00
Glenn L McGrath
359c106871 Fix dpkg-deb, enum's are cool 2001-04-12 10:19:08 +00:00
Glenn L McGrath
2975a34f23 readTarFile changed from exter nto static 2001-04-11 16:49:07 +00:00
Glenn L McGrath
4949faf4b2 copy_file_chunk uses streams now. 2001-04-11 16:23:35 +00:00
Glenn L McGrath
f70f6cef39 Disable sigterm 2001-04-11 15:09:30 +00:00
Glenn L McGrath
48081f81bd replace getOctal with strtol( , NULL, 8)
saves 100 Bytes
2001-04-11 05:01:09 +00:00
Glenn L McGrath
528ef50a4a Gzip is indepenedent of gunzip 2001-04-11 03:45:37 +00:00
Glenn L McGrath
7fd92949d0 Move unzip, gz_open, gz_close to libbb 2001-04-11 03:11:33 +00:00
Glenn L McGrath
d22e560ad6 Move deb_extract() to libbb, dpkg now independent of dpkg-deb 2001-04-11 02:12:08 +00:00
Glenn L McGrath
9d53c8ab74 Move get_ar_headers to libbb, make dpkg_deb.c independent of ar.c 2001-04-11 01:37:03 +00:00
Eric Andersen
e5dfced23a Apply Vladimir's latest cleanup patch.
-Erik
2001-04-09 22:48:12 +00:00
Glenn L McGrath
305fdfa755 Reorganise status field to use 3 chars instead of one bit shifted long int.
Generates status file properly now, not compatable with full dpkg yet.
2001-04-08 13:27:39 +00:00
Glenn L McGrath
37849f3320 Use create_path instead of mkdir 2001-04-08 07:23:53 +00:00
Glenn L McGrath
13e9c7ad82 It now correctly backs up the (still corrupt) status file 2001-04-08 07:18:08 +00:00
Glenn L McGrath
0e757a2f3f Some fixes, but still broken... (cont)
Make better use of some libbb functions
New remove dir code to avoid depending on the rm applet
dont use copy_file() it doesnt fail elegantly
Use getopt.
Generate correct /var/lib/dpkg/info/ files
Status file is broken, working on it now
2001-04-08 05:27:18 +00:00
Glenn L McGrath
f608da4288 Ignore SIGTERM prior to gz_close() 2001-04-07 02:40:59 +00:00
Glenn L McGrath
e5f3957665 Fix warning 2001-04-07 02:17:36 +00:00
Eric Andersen
83f173b61e A first pass at making D_FILE_OFFSET_BITS=64 work, from
Jari Ruusu <jari.ruusu@pp.inet.fi>
2001-04-05 23:07:25 +00:00
Eric Andersen
4e2439ad27 It seems all the stdout munging was useless anyways, since
deb_extract and all its called functions do nothing with
stdout anyways.  Axe that stuff.
 -Erik
2001-04-05 18:30:38 +00:00
Eric Andersen
fdefbbbe85 dpkg_deb had not been updated for the new gunzip interface. Fix it.
-Erik
2001-04-05 06:04:11 +00:00
Eric Andersen
e76c3b08e1 A number of cleanups. Now compiles with libc5, glibc, and uClibc. Fix a few
shadowed variables.  Move (almost) all syscalls to libbb/syscalls.c, so I can
handle them sanely and all at once.
 -Erik
2001-04-05 03:14:39 +00:00
Eric Andersen
3a6da8c183 gz_open and gz_close were left in, even when BB_FEATURE_TAR_GZIP was disabled.
Fix that.
2001-03-29 14:22:45 +00:00
Glenn L McGrath
5f2ef46d6d Fix zcat 2001-03-29 01:07:54 +00:00
Glenn L McGrath
ed7a776538 gunzip -c works again 2001-03-29 00:57:20 +00:00
Glenn L McGrath
ae8ad35590 Fixes from Robert Kaiser 2001-03-28 23:57:51 +00:00
Glenn L McGrath
02cebebc3b Remove cruft 2001-03-28 07:37:48 +00:00
Glenn L McGrath
9233959940 Remove tar_unzip_init() not needed any more, uses gz_open instead 2001-03-28 07:31:37 +00:00
Glenn L McGrath
018e9e6799 Fix tar -z, calls gz_open now 2001-03-28 07:27:26 +00:00
Glenn L McGrath
0cbc8cf4c9 Gunzip changes broke tar -z support (woops) 2001-03-28 05:47:26 +00:00
Glenn L McGrath
58e42d5356 Major cleanup to better adhere to style guide and use standard busybox functions 2001-03-28 05:38:24 +00:00
Glenn L McGrath
f58efb57d1 Add functions that were shared with gunzip.c, gunzip about to change. 2001-03-28 05:35:16 +00:00
Eric Andersen
851895ab80 Clean up more local vars which shadow globals
-Erik
2001-03-21 21:52:25 +00:00
Mark Whitley
3bf60aa723 If only BB_DPKG was enabled in Config.h, busybox would not build; it'd say:
dpkg.c:18: #error It looks like you are using libc5, which does not support
  dpkg.c:19: #error tfind().  tfind() is used by busybox dpkg.
  dpkg.c:20: #error Please disable BB_DPKG.  Sorry.
This was fixed by changing the || to an && in the preprocessor.
(We've changed the logic in there too many times.)
Found using multibuild.pl.
2001-03-15 17:39:29 +00:00
Eric Andersen
82d8502409 Fix from Manuel for a silly thinko on my part. 2001-03-14 17:15:45 +00:00
Eric Andersen
3c0b425cde dpkg used tfind, which doesn't work with libc5. Print a friendy error
should someone try to use it...
 -Erik
2001-03-14 01:31:11 +00:00
Eric Andersen
3e6ff9017f A cleanup patch from Jeff Garzik to static-ify a number of
namespace polluting things that really should be static.
2001-03-09 21:24:12 +00:00
Eric Andersen
cbe31dace5 It turns out that DODMALLOC was broken when I reorganized busybox.h
header file usage before the 0.49 release.  To fix it, I had to move
the '#include "busybox.h"' to the end of the list of #include files.
 -Erik
2001-02-20 06:14:08 +00:00
Eric Andersen
b50d707633 fix a few mallocs to be xmallocs.
-Erik
2001-02-15 19:50:11 +00:00
Eric Andersen
67991cf824 This patch, put together by Manuel Novoa III, is a merge of work
done by Evin Robertson (bug#1105) and work from Manuel to make
usage messages occupy less space and simplify how usage messages
are displayed.
2001-02-14 21:23:06 +00:00
Glenn L McGrath
3af1f88725 Closer integration with dpkg-deb and other busybox functions.
Hopefully simplified some code (works for me).
2001-02-12 11:33:09 +00:00
Glenn L McGrath
821fbf0f42 New option 'list' produces output that can be used for the packages .list file.
Will be used be bb dpkg
2001-02-12 11:16:26 +00:00
Glenn L McGrath
bc9afadecd New function, deb-extract to be used by dpkg, code cleanups. saves some bytes 2001-02-11 03:32:41 +00:00
Glenn L McGrath
728875f340 Consmetic changes 2001-02-11 03:15:57 +00:00
Glenn L McGrath
631064613f More style changes 2001-02-11 01:40:23 +00:00
Glenn L McGrath
0c9d77ccfd Style changes; use get_line_from_file from utilities 2001-02-11 00:17:22 +00:00
Glenn L McGrath
510f0ddafa Use copy_file from utilty.c, remove some char defines 2001-02-10 14:53:08 +00:00
Glenn L McGrath
649968ceb1 Bug fix, rename status file, cleanups 2001-02-10 14:26:48 +00:00
Glenn L McGrath
af8c65deaa Replace status defines with const int to conform to sytle guide, adds 32 bytes 2001-02-10 03:19:51 +00:00
Glenn L McGrath
c900575dc4 Initial import 2001-02-10 02:05:24 +00:00
Matt Kraai
05e782ddd3 Fix wget error message and add (and use) chomp library function. 2001-02-01 16:49:30 +00:00
Matt Kraai
dd19c69904 Removed trailing \n from error_msg{,_and_die} messages. 2001-01-31 19:00:21 +00:00
Eric Andersen
8ec10a9483 Fix up copyright msgs. Bump version to 0.49 in preparation for
a release.  Update the website with release details.
 -Erik
2001-01-27 09:33:39 +00:00
Eric Andersen
ed3ef50c23 Fix header file usage -- there were many unnecessary header files included in
busybox.h which slowed compiles.  I left only what was needed and then fixed up
all the apps to include their own header files.  I also fixed naming for pwd.h
and grp.h functions.  Tested to compile and run with libc5, glibc, and uClibc.
 -Erik
2001-01-27 08:24:39 +00:00
Eric Andersen
d35c21587a Commit Larry Doolittle's buffers-on-stack/buffers-via-malloc patch.
-Erik
2001-01-25 23:49:09 +00:00
Mark Whitley
59ab025363 #define -> static const int. Also got rid of some big static buffers. 2001-01-23 22:30:04 +00:00
Matt Kraai
3b3f5c364a Use getopt (or getopt_long). 2001-01-22 20:49:00 +00:00
Matt Kraai
8f8dab94e5 Fixed listed files to extract to be more like GNU. Reported by Deon George. 2001-01-22 05:25:19 +00:00
Glenn L McGrath
f914a8af2b Close files before exit 2001-01-20 06:23:54 +00:00
Glenn L McGrath
1d269432b1 Close unused pipe handle before fork (for tar -z). 2001-01-20 00:12:21 +00:00
Matt Kraai
541ffe30a2 Fix ownership of extracted directories. 2001-01-13 21:46:25 +00:00
Matt Kraai
be7499c83c Behave like GNU tar when matching excluded files. 2001-01-03 17:22:10 +00:00
Glenn L McGrath
59c09d06e3 Fix warning for unused variable 2001-01-03 01:44:49 +00:00
Glenn L McGrath
58a408512b really add dpkg-deb.c this time 2001-01-02 23:49:26 +00:00
Glenn L McGrath
7541e3a812 add dpkg-deb command 2001-01-02 23:41:50 +00:00
Matt Kraai
a9819b2908 Use busybox error handling functions wherever possible. 2000-12-22 01:48:07 +00:00
Matt Kraai
e80a2633bc Be sure to read from the given path, not the one used in the header. 2000-12-19 20:45:49 +00:00
Matt Kraai
a1f9775981 Fix tar handling of absolute paths and excluded directories. 2000-12-19 06:24:08 +00:00
Matt Kraai
1fa1adea2a Change calls to error_msg.* and strerror to use perror_msg.*. 2000-12-18 03:57:16 +00:00
Glenn L McGrath
4f1b0124c7 Rewrite, fix a bug with multiple long filenames, simplify structure, remove cruft, make code conform closer to style guide, saves 350 Bytes. 2000-12-15 06:50:09 +00:00
Eric Andersen
02ced93ec2 Add GNU compatibile gzip -d 2000-12-13 17:55:11 +00:00
Eric Andersen
4836fd44f0 Patch from Matt Kraai:
The following patch makes the -X option to tar behave like GNU,
    which reads one file per line.  It also prevents the last file
    from being appended to the list twice (though that has no
    noticeable impact).
2000-12-13 15:28:48 +00:00