lukem
1baf19f383
Convert from __attribute__(foo) to the __foo equiv in <sys/cdefs.h>
2013-03-21 05:53:01 +00:00
lukem
f4ec715007
Update version to 20110904 for the user-visible change I made back then:
...
Reduce priority of syslog message if getpeername returns ENOTCONN.
PR bin/18934 by Greg A. Woods (with supplied fix).
2013-03-21 00:17:26 +00:00
mrg
5dc860cdbb
fix PR 47629, using a slightly different patch to the one in the PR.
...
this modifies escape_rfc3986() to escape '%' itself, and to properly
track the buffer size and nul out the final byte, not some random
byte that may actually be unmapped.
2013-03-09 21:36:04 +00:00
ryoon
f29f0747d4
Fix typo, releaases.
2013-03-02 16:45:31 +00:00
martin
b7c828d16f
Make sure UUDECODE_FILES is empty if we do not have an old ld.so_aout
...
(on architectures that never used a.out)
2013-02-05 15:19:18 +00:00
matt
2f0a3a2017
There are other little endian arm machine_arches other than "arm"
2013-02-05 07:22:59 +00:00
christos
f7f3399458
don't free cp before we copy it!
2013-01-24 17:57:29 +00:00
matt
f11367c485
Handle CPUFLAGS being empty
2013-01-23 02:31:54 +00:00
matt
69c1ba57d9
Make sure CFLAGS is not empty.
2013-01-23 02:18:50 +00:00
matt
552187152c
If you are using aapcs, you must be using INITFINI
2013-01-22 22:49:09 +00:00
dholland
dcd34a91c5
Stuff UFS_ in front of a few of ufs's symbols to reduce namespace
...
pollution. Specifically:
ROOTINO -> UFS_ROOTINO
WINO -> UFS_WINO
NXADDR -> UFS_NXADDR
NDADDR -> UFS_NDADDR
NIADDR -> UFS_NIADDR
MAXSYMLINKLEN -> UFS_MAXSYMLINKLEN
MAXSYMLINKLEN_UFS[12] -> UFS[12]_MAXSYMLINKLEN (for consistency)
Sort out ext2fs's misuse of NDADDR and NIADDR; fortunately, these have
the same values in ext2fs and ffs.
No functional change intended.
2013-01-22 09:39:11 +00:00
dsl
c8b3cc05d4
Fix the other lwp_park() to pass 0 for the 'unpark' lwp.
2012-12-16 23:00:46 +00:00
dsl
1ba527af78
You need to pass 0 (not -1) to lwp_park() if you don't also
...
want to do an unpark.
Clearly this code path was never tested!
Needs pullup to netbsd-6
2012-12-16 11:15:21 +00:00
pgoyette
866736a181
Minor typo
2012-12-04 22:42:14 +00:00
apb
6e8c6cbb85
Add support for R_386_TLS_TPOFF32. This patch was created by
...
Nick Hudson for PR 47061.
2012-11-07 07:24:46 +00:00
christos
5d69c93985
Only include the headers we use and remove useless variable.
2012-11-04 21:57:40 +00:00
christos
7dd937fd24
if you are going to use utmpx.h, include it.
2012-11-04 21:35:45 +00:00
christos
92227bd148
remove useless include (sys/stat.h) and add useful one (stdio.h)
2012-11-04 21:14:59 +00:00
christos
bef47ea987
include pwd.h for password stuff
2012-11-04 20:46:46 +00:00
dholland
9d2c006837
Improve the diagnostic messages for invalid/non-ELF files. Proposed a
...
while back; I forget the context. Has been sitting in one of my trees
awaiting a test run since, apparently, August 2011.
2012-10-13 21:13:07 +00:00
riastradh
6f24a346a4
On failure in _rtld_dlcheck, call _rtld_error, not xwarnx.
...
Callers need not call _rtld_error themselves now.
Fixes PR lib/41760. Should add the test case from the PR too.
2012-10-01 03:03:46 +00:00
plunky
faaf3691d2
does not need -I${NETBSDSRCDIR}/sys/dist/ipf here, the files are
...
installed in /usr/include/netinet
2012-09-15 17:45:35 +00:00
joerg
067600c8cf
Revert last, it breaks the tricks xsrc uses.
2012-08-23 21:21:14 +00:00
joerg
8e96262375
Remove SHLIBINSTALLDIR and SHLINKINSTALLLIBDIR. Add rpath entries, if
...
SHLIBDIR differs from /usr/lib.
2012-08-23 15:45:02 +00:00
matt
e3dfed33b6
Add .init_array/.fini_array support (conditionalized on HAVE_INITFINI_ARRAY).
2012-08-15 03:46:06 +00:00
matt
4389fd1152
Add a comment for EABI. Use "pop" instructions to save one instruction.
2012-08-13 02:53:25 +00:00
matt
e43469a595
Don't abuse DBG, use COPTS instead.
2012-08-04 15:17:16 +00:00
martin
972dd84db2
Try to make dbg() printfs realy ELFSIZE independent
2012-07-25 22:51:04 +00:00
martin
0180ae1c0a
Add special handling needed for OLO10 relocations.
...
First part of fixing PR port-sparc64/46724.
2012-07-22 09:21:03 +00:00
martin
e97494f3ca
Remove a debug assert that does not hold for PIE (e.g. phdr = 0x40, but
...
obj has not been mapped at 0, so obj->phdr is 0x100040).
OK: skrll
2012-07-22 09:16:35 +00:00
mrg
1be9745405
when generating URIs escape various characters as specified in RFC 3986.
...
this makes, among other things, files/dirs with "?" work with dir indexing.
2012-07-19 09:53:06 +00:00
darrenr
3ec957d580
bin/46703: BSD r-commands use wrong source address for stderr
...
http://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=46703
Bump libc minor for the addition of rresvport_af_addr()
2012-07-14 15:06:26 +00:00
roy
d56846af22
Don't attempt to parse a termcap/terminfo string ourselves;
...
always use tputs(3).
2012-06-28 08:55:10 +00:00
wiz
df639c6d0d
- Remove redundant argument to (successive) `.Nm' macro;
...
- copy exact line from root's crontab(5) file (and the user name
is indeed unneeded, as root's crontab(5) file is not the system's
one);
- reword the warning: cron(8) _is_ running, by default.
From patch by Bug Hunting.
While here, remove xref to itself.
2012-06-20 09:43:51 +00:00
dholland
94ccf4d58b
Make WARNS=5 the default here.
2012-06-19 06:10:09 +00:00
dholland
c5642eeaf7
Pass WARNS=5
2012-06-19 06:06:34 +00:00
roy
258cf0abec
Add capfile(5) to describe the termcap format.
...
Adjust various man pages and other documentation to point to capfile(5)
instead of termcap(5).
Remove getcap(3) as curses hasn't been building it for a long time.
Punt wrterm.c as tset no longer uses it.
2012-04-21 12:27:24 +00:00
joerg
1736013665
Make load_threshold double and restore original value of 0.2.
...
From NAKAJIMA Yoshihiro.
2012-04-16 10:48:27 +00:00
joerg
53baf6b85e
Don't assign non-integral constants to integral variables.
2012-04-12 11:46:14 +00:00
joerg
b25f8d4458
Use the same loop order for freeing as for allocation. Simpler code and
...
easier to process for analyzers.
2012-04-12 10:30:17 +00:00
joerg
ba562931eb
This version of __diagssert13 is dead.
2012-03-16 11:44:54 +00:00
joerg
66dd2755f5
Add __printflike attribution to use vprintf and friends with an argument
...
as format string.
2012-03-15 02:02:20 +00:00
christos
749108f9b9
Add __diagassert13() so that if libc is compiled with _DIAGNOSTIC, it does
...
not end up bringing in all of stdio.
XXX: This is temporary.
2012-03-15 00:16:07 +00:00
joerg
62451b58c9
Add BOZO_PRINTFLIKE for functions that pass an argument and va_arg to
...
a vprintf-like function.
2012-03-14 23:47:19 +00:00
joerg
8ae54e9304
Mark _rtld_debug_state as not to be inlined. Add an explicit instruction
...
barrier to prevent removal of calls to it.
2012-03-13 21:00:31 +00:00
joerg
f05babd200
Avoid using computed string as format string, just print it as string.
2012-02-29 23:38:46 +00:00
wiz
00872173ab
Bump date for previous. Use more markup.
2012-02-20 09:45:22 +00:00
elric
f082d14a0d
Check in very basic compressed file support. httpd will now serve
...
a precompressed .gz file if it exists, the client claims to support
gzip and the request is not ranged.
2012-02-20 09:26:56 +00:00
elric
982f9a199b
Use a ``certificate chain file'' rather than a ``certificate file'' so
...
that bozohttpd can be used with non-toplevel certs.
2012-02-20 08:40:46 +00:00
joerg
52a4c27e3e
Add _dlauxinfo helper function to provide access to the ELF auxilary
...
vector. This can normally be found via __ps_strings, but libc is
initialised too early when linked dynamically and doesn't have access to
it yet, so provide an alternative mechanism via ld.elf_so.
Bump libc minor.
2012-02-16 23:00:38 +00:00
joerg
410d0f4380
Import the new apropos/whatis.
...
This code has been developed by Abhinav Upadhyay as part of Google's Summer
of Code 2011. It uses libmandoc to parse man pages and builds a Full
Text Index in a SQLite database. The combination of indexing the full
manual page, filtering out stop words and ranking individual matches
based on the section gives a much improved user experience.
The old makewhatis and friends are kept under MKMAKEMANDB=no for now.
2012-02-07 19:13:24 +00:00
perseant
ccf39d2d9b
Shut down the cleaner earlier if the filesystem is unmounted.
2012-02-02 03:47:11 +00:00
dholland
a577f74f5b
libquota no longer requires libprop. Also remove some other no-longer-used
...
.PATH'd-in bits from repquota.
2012-02-01 17:53:01 +00:00
joerg
4c70cdf100
Use __dead
2012-01-10 23:39:11 +00:00
christos
8ec0ca7829
PR/45805: Borodin Oleg: telnet/telnetd with -DAUTHENTICATION -DENCRYPTION
...
(rfc2941)
- separate MKCRYPTO from USE_KERBEROS
- WARNS=4
2012-01-09 16:36:48 +00:00
dholland
24118eee5e
Update rquotad to use the new libquota API.
2012-01-09 15:37:34 +00:00
skrll
1b54bd1886
Implement lazy binding on hppa. rump_server needs it!?!?!
...
Mostly from OpenBSD.
2012-01-06 10:38:56 +00:00
perseant
72d61f7290
In lfs_cleanerd, check errno earlier, to avoid premature exit when the
...
real errno was EAGAIN.
When coalescing, check against NULL to avoid seg fault.
2012-01-02 21:35:17 +00:00
christos
1e34420a70
there is a macro for that, use it.
2011-12-23 16:56:54 +00:00
joerg
e86a1635be
Align in the stack before calling _rtld in the way the x86_64 ABI
...
specifies. This is necessary to ensure that init functions are always
called with the correct alignment, e.g. in case they use SSE
instructions.
2011-12-11 22:07:26 +00:00
joerg
934a3ac455
Mark xassert as __dead
2011-12-11 11:05:11 +00:00
skrll
df83e35987
Remove unused file.
2011-12-05 07:36:32 +00:00
skrll
248fe9e5bd
Use the tlsoffset from the correct object.
2011-12-04 16:53:08 +00:00
skrll
8737e6c85f
Restore backwards compatibility by removing unnecessary addition of
...
dlvsym to Obj_Entry.
Add some comments.
2011-12-02 09:06:49 +00:00
joerg
5b3faf1c05
Unbreak RTLD_NEXT and co on platforms that don't inline or tail call
...
do_dlsym.
2011-11-25 21:27:15 +00:00
dholland
51d1d7e7c4
Rename struct ufs_quota_entry -> struct quotaval.
2011-11-25 16:55:05 +00:00
joerg
7878f85385
Replace if() NADA else if() NADA else continue logic with one explicit
...
block. Split out the MIPS handling to make it explicit and readable.
2011-11-25 14:39:02 +00:00
joerg
6133e96c53
Add TLS support for m68k.
2011-11-22 15:25:28 +00:00
joerg
10dc456d4b
Hook up TLS support on ARM. Tested by martin@, kernel support from matt@
2011-11-18 16:10:02 +00:00
mrg
41f9e94281
merge bozohttpd 20111118
2011-11-18 09:51:31 +00:00
wiz
c54b7cd091
Bump date for previous.
2011-11-17 23:19:30 +00:00
mrg
d0ddf3e7e4
allow the -I option to be useful in non-daemon mode, by letting it force
...
the returned port number
2011-11-17 22:09:12 +00:00
joerg
cc2f98ece2
FreeBSD bug report 161344: TLS area for the main thread is set up to
...
early, if e.g. pointers to functions are used as initializers.
2011-11-17 16:20:11 +00:00
christos
4448e43f58
PR/45542: Henning Petersen: Misplaced parenthesis in rshd.c
2011-10-30 16:54:58 +00:00
chs
d7bbed6455
avoid linker warnings with the new binutils by not forcing ld.elf_so
...
to be soft-float. the floating-point usage in ld.elf_so is only
because of stdarg functions like printf(), and gcc 4.5 is good
about not actually executing the FP instructions in such functions
unless FP values are passed to them, which ld.elf_so doesn't do.
2011-10-26 15:56:58 +00:00
christos
1f1b5ad097
Don't block SIGTRAP so that on architectures where the debugger needs to
...
be able to receive sigtrap for breakpoints to work, it can. For example
we are setting breakpoints inside dlopen(), after we've blocked the signal,
so the process keep trapping and looping over the trap instruction without
being able to send the signal. Another way would be to move the
_rtld_debug_state() calls outside the critical section...
2011-10-23 21:06:07 +00:00
plunky
f65a48c2ec
max WARNS is 4
2011-10-13 17:23:28 +00:00
mrg
4a9d1308c3
obsolete libgcc_pic and friends. all libgcc's are supposed to be pic
...
for platforms with shlibs already (and are.)
this obsoletes our hacks for the libgcc specs to use libgcc_pic, and
fixes a couple of other issues reported to me directly.
2011-10-07 09:15:21 +00:00
mrg
1862dafe3f
match EXIT() with LEAF_ENTRY() so that sizes are actually constants.
...
fixes binutils 2.21 build issues reported by he and chuq.
2011-09-30 03:05:43 +00:00
mrg
b7e0bd3662
match END() with a relevant ENTRY*(). gas 2.21 complains about the
...
non-constant-ness of the symbol otherwise.
2011-09-26 01:52:22 +00:00
chs
b398f9d2e5
gcc 4.5 generates an extra plabel in ld.elf_so,
...
so expand the array of preallocated ones.
2011-09-25 13:34:54 +00:00
christos
23c075161b
add printflike
2011-09-17 14:25:43 +00:00
christos
8017e7237a
log to both syslog and stderr.
2011-09-17 01:50:54 +00:00
plunky
2b8aaed8cd
NULL does not need a cast, here
2011-09-16 16:13:16 +00:00
lukem
30781daf0c
Reduce priority of syslog message if getpeername returns ENOTCONN.
...
PR bin/18934 by Greg A. Woods (with supplied fix).
2011-09-04 23:16:41 +00:00
plunky
87d4f6076b
Apply casts to cases where xdrproc_t is expected but is not
...
strictly passed, for example because the second argument is
a different kind of pointer.
2011-08-30 17:06:20 +00:00
joerg
9eba1e423c
Use __dead
2011-08-29 20:41:06 +00:00
elric
95bd2d4a1e
Remove crypto/dist/heimdal and its associated build infrastructure as
...
it has been replaced by crypto/external/bsd/heimdal.
2011-08-28 16:21:57 +00:00
joerg
0c18f61e04
Use static. Don't manipulate environ directly, just reset it and use
...
setenv.
2011-08-27 17:46:34 +00:00
joerg
17941b2b14
staticfy. Use __dead.
2011-08-27 15:46:59 +00:00
joerg
c59117b957
ANSIfy. staticfy. Bail out on command line error. Use __dead.
2011-08-27 15:45:52 +00:00
joerg
973abb9784
De-__P. staticfy. Use __dead, __printflike.
2011-08-27 15:40:31 +00:00
joerg
43d0646972
Don't check for __attribute__ being defined, it won't. Check for GCC 3.x
...
or compatible and define BOZO_PRINTFLIKE / BOZO_DEAD. Fix fallout.
2011-08-27 15:33:59 +00:00
joerg
6839411995
Rename err() to avoid overlap with libc. Mark it dead.
2011-08-27 15:08:58 +00:00
hannken
0456a9b514
Fix typo.
2011-08-21 10:45:33 +00:00
christos
2ead252a82
use const char [] for format.
2011-08-21 09:03:20 +00:00
christos
5353040f23
document non-literal format strings
2011-08-16 10:35:03 +00:00
christos
41592955fd
remove gcc-4.5 hack
2011-08-14 11:46:28 +00:00
christos
a96758e4b9
XXX: gcc avoid non-literal strings
2011-08-14 11:38:11 +00:00
christos
c5e4118a6b
consistent debugging info for program headers
2011-08-13 22:25:20 +00:00
christos
9813f2c42a
printing the pathname of the shared object is much more useful than the
...
object's address.
2011-08-13 22:24:57 +00:00
christos
89c8b6528a
disable debugging that makes us core dump
2011-08-13 22:24:24 +00:00
mbalmer
631d5867a0
According to the Oxford Dictionary of Etymology, a wether is a male sheep
...
or ram.
2011-08-01 12:28:53 +00:00
joerg
017dd250ef
Fix memset usage.
2011-07-01 02:46:24 +00:00
joerg
30dc9201bb
Fix memcpy usage.
2011-07-01 02:46:15 +00:00
uwe
d1a523b49d
sh3 also needs libgcc_pic for millicode (cf. revision 1.107)
2011-06-27 14:27:56 +00:00
nonaka
c52f9a5df2
PR/45015: ld.elf_so: support ELF symbol versioning
...
Applied latest patch.
2011-06-25 05:45:10 +00:00
mrg
c111245a78
apply some -Wno-error and/or -fno-strict-aliasing.
...
all of this should be looked at closer, but some of them are not
very trivial.
2011-06-22 02:49:41 +00:00
mrg
75e42fa7da
remove most of the remaining HAVE_GCC tests that are always true in
...
the modern world.
2011-06-20 07:43:56 +00:00
christos
94e4c3614b
Add libgcc_pic for millicode.
2011-06-05 23:08:17 +00:00
joerg
9ad3c16b3a
Use -Wl,-Bsymbolic directly for clang
2011-05-30 16:30:01 +00:00
christos
b9972d39ce
Don't use division since we are only dealing with powers of 2.
2011-05-25 14:41:46 +00:00
joerg
6c5e962381
Disable use of various X86 extensions since _rtld_bind_start doesn't
...
save the necessary registers.
2011-05-20 22:22:44 +00:00
joerg
5a156c51e2
Explicitly disable linking against libgcc and friends.
2011-05-20 22:21:32 +00:00
elric
07b0c75a48
We no longer need -I/usr/include/krb5.
2011-04-24 21:42:06 +00:00
elric
5e6c3b7a0c
#include <com_err.h> -> #include <krb5/com_err.h>.
2011-04-24 21:18:24 +00:00
jmmv
9ef6767558
List myself as a contributor.
2011-04-24 07:18:59 +00:00
jmmv
94a4f45f78
Remove the "This option..." sentence prefix for all option definitions.
...
Adjust some sentences so that the new text makes sense. OK mrg@.
2011-04-24 07:17:02 +00:00
joerg
c5f8d1393d
Fix a Freudian slip found by rmind
2011-04-23 16:40:08 +00:00
elric
98fbe74f8c
Upgrade Heimdal to 1.5pre1 by switching the build from crypto/dist/heimdal
...
to crypto/external/bsd/heimdal. The latter was just imported as the head
of the Heimdal tree as of a few days ago.
2011-04-15 18:05:42 +00:00
matt
f126fa1c9a
Add support for TLS relocations.
...
From Joerg Sonnenberger
2011-04-12 16:40:04 +00:00
matt
14d704c9e9
Add a workaround for older crt0.o that overwrite r2 (tcb pointer).
...
(save tcb pointer using _lwp_setprivate in ld.elf_so and retrieve the tcb
via _lwp_getprivate in libc and use it to restore the value in r2).
2011-04-07 02:19:28 +00:00
joerg
278d108904
Revert pthread_atfork related change not intended for commit yet.
2011-04-02 16:49:49 +00:00
joerg
241421a0db
Unbreak HPPA
2011-04-02 12:30:41 +00:00
mbalmer
17ab36f183
fix typo, bump date
2011-04-02 07:44:15 +00:00
skrll
45f37e968c
Enable TLS for alpha - a 2nd class^Wtier system in pookaBSD^WNetBSD
...
alpha_reloc.c diff from joerg on port-alpha.
2011-03-31 15:30:31 +00:00
nakayama
dbbd50a95f
Add missing comma.
2011-03-31 12:47:01 +00:00
mrg
a45221975c
add .mp4 as video/mp4.
2011-03-31 01:19:37 +00:00
martin
9f905ee41c
Add support for TLS relocations
2011-03-30 09:22:29 +00:00
martin
3a4af49105
Add support for 64 bit TLS relocations.
2011-03-30 08:37:52 +00:00
joerg
8fa6585514
Block signals when using the exclusive lock.
2011-03-29 20:56:35 +00:00
jmmv
83bb438905
Add pid file support: if the new -P option is provided, it specifies the
...
location of the pid file to create.
OKed by mrg@.
2011-03-29 07:22:31 +00:00
joerg
e49f915c10
Refine locking scheme around init/fini to not hold the exclusive lock.
...
Use a simple generation count instead and restart looking for work if it
changed (e.g. due to an dlopen call from an init function).
Leave the possible dlclose() race for now.
2011-03-28 00:37:40 +00:00
joerg
7435c9ba49
exit, not enter
2011-03-27 22:20:51 +00:00
joerg
23a805d314
Handle _rtld_exit as full entry point since other threads may still be
...
running at the time.
2011-03-27 21:58:50 +00:00
joerg
2feaef06e3
Add some debug messages for explicit rtld entry points
2011-03-27 13:15:34 +00:00
joerg
0bc9be2143
Locking around dlclose()
2011-03-27 13:14:42 +00:00
joerg
d5a77cf108
Fix merge error that broke HPPA
2011-03-26 21:40:37 +00:00
joerg
cb1cd7e860
Add basic locking to ld.elf_so.
2011-03-25 18:07:04 +00:00
bouyer
d9210c2405
Add a new libquota library, which contains some blocks to build and/or
...
parse quota plists; as well as a getfsquota() function to retrieve quotas
for a single id from a single filesystem (whatever filesystem this is:
a local quota-enabled fs or NFS). This is build on functions getufsquota()
(for local filesystems with UFS-like quotas) and getnfsquota();
which are also available to userland programs.
move functions from quota2_subr.c to libquota or libprop as appropriate,
and ajust in-tree quota tools.
move some declarations from kernel headers to either sys/quota.h or
quota/quota.h as appropriate. ufs/ufs/quota.h still installed because
it's needed by other installed ufs headers.
ufs/ufs/quota1.h still installed as a quick&dirty way to get a code
using the old quotactl() to compile (just include ufs/ufs/quota1.h instead of
ufs/ufs/quota.h - old code won't compile without this change and this is
on purpose).
Discussed on tech-kern@ and tech-net@ (long thread, but not much about
libquota itself ...)
2011-03-24 17:05:39 +00:00
skrll
83c1874f74
Another TLS reloc. Thanks to joerg for a hint.
2011-03-17 22:07:52 +00:00
matt
7e7a53defe
Add support for the MIPS TLS reloc types in shared libraries.
2011-03-15 07:40:52 +00:00
skrll
be1a58855d
More PLABELS are required due to TLS stuff.
2011-03-14 08:49:29 +00:00
skrll
d3aab036e1
Handle some TLS relocs.
2011-03-14 08:21:54 +00:00
skrll
92c298c3a1
First cut at mdtls.c for hppa.
2011-03-14 08:20:15 +00:00
joerg
e7a5551d99
Fill in TLS related fields in dl_iterate_phdr if TLS is supported
2011-03-13 21:08:45 +00:00
joerg
854e6cd69f
Add TLS support for AMD64, i386 and SH3.
...
This material is based upon work partially supported by
The NetBSD Foundation under a contract with Joerg Sonnenberger.
2011-03-12 22:54:36 +00:00
bouyer
72918bae56
Define qfextension here
2011-03-12 12:30:39 +00:00
matt
130f2d3d4c
Add TLS support for PowerPC.
...
If the port has __lwp_gettcb_fast or __lwp_settcb use them instead of
__lwp_getprivate_fast or lwp_setprivate.
2011-03-12 07:43:53 +00:00
joerg
7197db08bd
Add some clarifications
2011-03-10 17:38:30 +00:00