Commit Graph

10539 Commits

Author SHA1 Message Date
dim
7360f347b2 Ensure mkcsmapper and mkesdb compile with clang, if WITH_ICONV is
defined.

Submitted by:	zeising
PR:		bin/167481
MFC after:	3 days
X-MFC-With:	r238197
2012-09-11 16:32:31 +00:00
zont
c2780232f1 - Remove unused variables.
- Remove redundant return after err(3) call.

Approved by:	kib (mentor)
2012-09-11 16:30:26 +00:00
jhale
1296b38e20 - Add myself to calendar.freebsd
- Add my mentor relationships to committers-ports.dot

Approved by:	makc (mentor)
2012-09-11 13:29:50 +00:00
joel
19f0291d49 mdocify the chat(8) manual page.
Reviewed by:	brueffer
2012-09-10 11:08:08 +00:00
des
8711a9ad0b Note that -quit terminates successfully.
Requested by:	jmg@
2012-09-10 07:56:59 +00:00
des
8aa3be489e Document -quit, four and a half years after it was implemented.
MFC after:	3 days
Pointy hat to:	imp@
2012-09-09 13:18:13 +00:00
joel
4158c20722 Remove clause 3 and 4 from the NetBSD Foundation copyright header, missed
in r203971.
2012-09-09 07:23:15 +00:00
joel
2a33599cdd Remove trailing whitespace. 2012-09-09 06:54:42 +00:00
glebius
5190d38ee3 Merge the projects/pf/head branch, that was worked on for last six months,
into head. The most significant achievements in the new code:

 o Fine grained locking, thus much better performance.
 o Fixes to many problems in pf, that were specific to FreeBSD port.

New code doesn't have that many ifdefs and much less OpenBSDisms, thus
is more attractive to our developers.

  Those interested in details, can browse through SVN log of the
projects/pf/head branch. And for reference, here is exact list of
revisions merged:

r232043, r232044, r232062, r232148, r232149, r232150, r232298, r232330,
r232332, r232340, r232386, r232390, r232391, r232605, r232655, r232656,
r232661, r232662, r232663, r232664, r232673, r232691, r233309, r233782,
r233829, r233830, r233834, r233835, r233836, r233865, r233866, r233868,
r233873, r234056, r234096, r234100, r234108, r234175, r234187, r234223,
r234271, r234272, r234282, r234307, r234309, r234382, r234384, r234456,
r234486, r234606, r234640, r234641, r234642, r234644, r234651, r235505,
r235506, r235535, r235605, r235606, r235826, r235991, r235993, r236168,
r236173, r236179, r236180, r236181, r236186, r236223, r236227, r236230,
r236252, r236254, r236298, r236299, r236300, r236301, r236397, r236398,
r236399, r236499, r236512, r236513, r236525, r236526, r236545, r236548,
r236553, r236554, r236556, r236557, r236561, r236570, r236630, r236672,
r236673, r236679, r236706, r236710, r236718, r237154, r237155, r237169,
r237314, r237363, r237364, r237368, r237369, r237376, r237440, r237442,
r237751, r237783, r237784, r237785, r237788, r237791, r238421, r238522,
r238523, r238524, r238525, r239173, r239186, r239644, r239652, r239661,
r239773, r240125, r240130, r240131, r240136, r240186, r240196, r240212.

I'd like to thank people who participated in early testing:

Tested by:	Florian Smeets <flo freebsd.org>
Tested by:	Chekaluk Vitaly <artemrts ukr.net>
Tested by:	Ben Wilber <ben desync.com>
Tested by:	Ian FREISLICH <ianf cloudseed.co.za>
2012-09-08 06:41:54 +00:00
trociny
00a74f4b48 Free memory allocated by procstat_getfiles(), which may make difference
when procstat(1) is run with -a option.

Submitted by:	Daniel Dettlaff <dmilith gmail com>
MFC after:	1 week
2012-09-04 05:54:43 +00:00
zont
b328cce0e3 - Style(9) cleanup.
Approved by:	kib (mentor)
2012-09-02 11:03:18 +00:00
ed
02dcf28b58 Rework all non-contributed files that use `struct timezone'.
This structure is not part of POSIX. According to POSIX, gettimeofday()
has the following prototype:

	int gettimeofday(struct timeval *restrict tp, void *restrict tzp);

Also, POSIX states that gettimeofday() shall return 0 (as long as tzp is
not used). Remove dead error handling code. Also use NULL for a
nul-pointer instead of integer 0.

While there, change all pieces of code that only use tv_sec to use
time(3), as this provides less overhead.
2012-09-01 14:45:15 +00:00
trasz
a6edc1e4b7 Improve description for "rctl -l".
MFC after:	2 weeks
2012-09-01 11:24:02 +00:00
zont
e5760ee679 - Remove unused variables.
- Fix warnings about comparing signed and unsigned ints.

Approved by:	kib (mentor)
2012-08-30 08:54:13 +00:00
dim
a90171d81e Sprinkle a bit of style.Makefile(5) across various clang Makefiles. No
functional changes.

MFC after:	3 days
2012-08-23 17:08:07 +00:00
zont
c4772b1361 - Put arguments for print_syscall_ret() function in proper order.
Bug was introduced in r192025.

Approved by:	kib (mentor)
2012-08-23 12:20:29 +00:00
dim
e879931fda When WITH_CLANG_EXTRAS is enabled, avoid needlessly building the llvm
and clang extras in the cross-tools stage.

MFC after:	1 week
2012-08-21 18:24:11 +00:00
dim
9d2ff6f8e9 Support the WITH_SHARED_TOOLCHAIN setting that was introduced in r234782
for the clang executable.  Build it statically by default, like the gcc
executables, which should improve performance a little bit.

MFC after:	1 week
2012-08-21 17:58:30 +00:00
zont
89d46bf90a - Use pid_t type instead of just int.
Approved by:	kib (mentor)
2012-08-21 14:58:51 +00:00
zont
da7355117c - Add myself to the calendar.
Approved by:	kib (mentor)
2012-08-21 12:47:34 +00:00
dim
ea718b0e08 Upgrade our copy of llvm/clang to trunk r162107. With thanks to
Benjamin Kramer and Joerg Sonnenberger for their input and fixes.
2012-08-20 18:33:03 +00:00
kevlo
5320d001f0 Cleanup use of 'host' when running 'rpcinfo -p'.
Obtained from:	NetBSD
2012-08-18 16:14:50 +00:00
gonzo
b501ab9dc9 Merging of projects/armv6, part 3
r238211:
Support TARGET_ARCH=armv6 and TARGET_ARCH=armv6eb

This adds a new TARGET_ARCH for building on ARM
processors that support the ARMv6K multiprocessor
extensions.  In particular, these processors have
better support for TLS and mutex operations.

This mostly touches a lot of Makefiles to extend
existing patterns for inferring CPUARCH from ARCH.
It also configures:
 * GCC to default to arm1176jz-s
 * GCC to predefine __FreeBSD_ARCH_armv6__
 * gas to default to ARM_ARCH_V6K
 * uname -p to return 'armv6'
 * make so that MACHINE_ARCH defaults to 'armv6'
It also changes a number of headers to use
the compiler __ARM_ARCH_XXX__ macros to configure
processor-specific support routines.

Submitted by:	Tim Kientzle <kientzle@freebsd.org>
2012-08-15 03:21:56 +00:00
dim
7c93ab23a4 In usr.bin/make/var.c, function ParseModifier(), initialize the 'error'
variable to NULL, to avoid using it uninitialized in certain cases.

This fixes the following clang 3.2 warning:

  usr.bin/make/var.c:1770:10: error: variable 'error' is used uninitialized whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]
                                          if (vp->execute) {
                                              ^~~~~~~~~~~
  usr.bin/make/var.c:1777:10: note: uninitialized use occurs here
                                          if (error)
                                              ^~~~~
  usr.bin/make/var.c:1770:6: note: remove the 'if' if its condition is always true
                                          if (vp->execute) {
                                          ^~~~~~~~~~~~~~~~~
  usr.bin/make/var.c:1768:23: note: initialize the variable 'error' to silence this warning
                                          const char      *error;
                                                                ^
                                                                 = NULL

MFC after:      1 week
2012-08-05 15:55:36 +00:00
bdrewery
17b60f5307 - Add myself to calendar.freebsd
- Add my mentor relationships to committers-ports.dot

Approved by:	eadler (mentor)
2012-08-01 17:48:38 +00:00
jilles
7f0e821767 find: Remove unnecessary and inconsistent initialization.
Submitted by:	jhb
2012-07-31 16:55:41 +00:00
brian
1d869bdf57 Mention when -d, -p and -r first hit FreeBSD.
Bump the document date to when the change was made (rather than when the PR
was submitted).

Suggested by:	pluknet
2012-07-30 08:06:00 +00:00
brian
c60a6d3106 Add d, p and r switches for recording script sessions with timing data
and playing sessions back with or without time delays.

PR:		114465
Submitted by:	ighighi at gmail dot com
MFC after:	3 weeks
2012-07-30 07:13:06 +00:00
mm
11bb7fcf7b Update libarchive to 3.0.4 2012-07-28 06:38:44 +00:00
pluknet
f52de12ecb Document -g option in the usage string. 2012-07-26 20:41:36 +00:00
jilles
06d7138556 find: Implement real -ignore_readdir_race.
If -ignore_readdir_race is present, [ENOENT] errors caused by deleting a
file after find has read its name from a directory are ignored.

Formerly, -ignore_readdir_race did nothing.

PR:		bin/169723
Submitted by:	Valery Khromov and Andrey Ignatov
2012-07-25 21:59:10 +00:00
trociny
9d1f67b421 Align the header with output.
MFC after:	3 days
2012-07-24 19:40:12 +00:00
hrs
9e3aea4852 Fix a bug which prevents "nfsstat -W" for server statistics from working. 2012-07-22 18:59:31 +00:00
des
385988dde5 Add -g (gigabyte) flag to complement -k (kilobyte) and -m (megabyte).
MFC after:	1 week
2012-07-18 19:28:22 +00:00
obrien
74d4079029 Sort per the comment. 2012-07-18 07:07:54 +00:00
pgj
f939e5a15a - Add support for displaying process stack memory regions.
Approved by:	rwatson
MFC after:	3 days
2012-07-16 09:38:19 +00:00
tuexen
8843fcf6f3 Allow netstat to be build if INET is not defined in the kernel.
Thanks to Garrett Cooper for reporting the issue.

MFC after: 3 days
X-MFC: 238501
2012-07-16 06:43:04 +00:00
eadler
2a7f91bf1a Fix spelling
PR:		bin/167480
Submitted by:	zeising
Approved by:	cperciva
2012-07-07 17:05:55 +00:00
kientzle
9eb6f52527 Unbreak building WITH_ICONV=yes and new yacc. 2012-07-07 04:14:28 +00:00
gabor
58344b5c4d - Change --nthreads parameter to --parallel for GNU compatibility
- Change default sort method to mergesort, which has a better worst case
  performance than qsort

Submitted by:	Oleg Moskalenko <oleg.moskalenko@citrix.com>
2012-07-04 16:25:11 +00:00
trociny
087598e58b Fix style.
MFC after:	3 days
2012-07-03 19:11:38 +00:00
zeising
ebe19c57a1 Add myself to commiters-[doc,ports].dot and calendar.freebsd
Approved by:	joel (doc/www mentor)	kwm (ports mentor)
2012-07-03 07:28:57 +00:00
jhb
2883940819 Fix two layout bugs in the previous change:
- Properly increase y_mem when per-CPU stats are enabled.
- Update y_arc for per-CPU stats being enabled/disabled.

MFC after:	3 days
2012-07-02 20:08:11 +00:00
kib
9b048bab45 Issue proper diagnostic on the short writes, also consider the
case of write reporting 0 bytes as short write.

Reported and tested by:	adreast
MFC after:   1 week
2012-07-02 09:53:57 +00:00
kib
5199a9a8a6 Once in a month, when the moon is full, killall mistakenly considers
living process as a zombie and refuses to kill it. The cause is that
the code masks ki_stat with SZOMB to compare with SZOMB, but ki_stat
is not a mask.

Possibly reported by:	cperciva
MFC after:	3 days
2012-06-30 16:36:22 +00:00
kib
80eade56fc killall(1) does not use libkvm.
MFC after:	3 days
2012-06-30 16:23:08 +00:00
kib
9d420f977d Only initialize array of mibs once.
MFC after:	3 days
2012-06-30 16:21:51 +00:00
kib
2398425887 Initialize procs closer to the place were it is used.
Free can properly handle NULL pointer (but keep free() call on the premise
that the code might be reused).
Show errno when realloc failed.

MFC after:	3 days
2012-06-30 16:20:01 +00:00
thompsa
aeff4d048d Update the usage with the new jail option.
Spotted by:	Jason Hellenthal
MFC after:	3 days
2012-06-27 23:26:32 +00:00
jhb
a461bd1507 Add a new line to top that provides a brief summary of the ZFS ARC memory
usage on hosts using ZFS.  The new line displays the total amount of RAM
used by the ARC along with the size of MFU, MRU, anonymous (in flight),
headers, and other (miscellaneous) sub-categories.  The line is not
displayed on systems that are not using ZFS.

Reviewed by:	avg, fs@
MFC after:	3 days
2012-06-27 18:08:48 +00:00
jhb
06bb0a9299 Clarify that the cached file data pages included in the "Wired" count
in top are the BIO-level cached data (i.e. "Buf"), since the previous
phrase was a bit ambiguous with the "Cache" count.

MFC after:	3 days
2012-06-27 12:30:56 +00:00
gabor
c7fbb67362 - Switch to BSD sort as default sort. GNU sort will still be installed as
"gnusort".  Most of the BSD sort development work was done by
  Oleg Moskalenko <oleg.moskalenko@citrix.com>.
- GNU grep can be set to default by setting WITH_GNU_GREP.  It will cause
  BSD sort to be installed as "bsdsort".

Portbuild tested by:    linimon
2012-06-27 05:59:01 +00:00
gabor
dd4780f8e2 - Disable threaded sort by default
- Fix typo in the NLS support
2012-06-27 05:50:15 +00:00
delphij
db1afde94a Add a -I flag which requests confirmation before action, like what is done
in pkill(1).

MFC after:	2 weeks
2012-06-27 00:50:25 +00:00
delphij
922d40fed4 MFV: less v449. 2012-06-26 23:17:33 +00:00
delphij
f1aa605755 MFV: Update zlib to 1.2.7.
(x86 assembler optimization disabled for now because it
requires the new .cfi_* directives that is not supported
by base system binutils).

MFC after:	1 week
2012-06-21 21:47:08 +00:00
delphij
1cd76f76b0 Currently the code uses gzFile * for a zlib file descriptor, which
is not correct.  The code works by accident because gzFile is
currently defined as void *, and internally it would be casted from
or to its real type.

A newer version of zlib will instead define it as a pointer to a
specific type pointer (namely, struct gzFile_s *).  This therefore
would cause stricter checks and compiler would catch this type
mismatch.

This change does not cause any changes to the resulting binary,
as validated with md5(1).

MFC after:	3 days
2012-06-20 23:53:36 +00:00
obrien
5c7e44656e Correct typo in version. 2012-06-20 00:37:00 +00:00
np
67d5f1a727 - Updated TOE support in the kernel.
- Stateful TCP offload drivers for Terminator 3 and 4 (T3 and T4) ASICs.
  These are available as t3_tom and t4_tom modules that augment cxgb(4)
  and cxgbe(4) respectively.  The cxgb/cxgbe drivers continue to work as
  usual with or without these extra features.

- iWARP driver for Terminator 3 ASIC (kernel verbs).  T4 iWARP in the
  works and will follow soon.

Build-tested with make universe.

30s overview
============
What interfaces support TCP offload?  Look for TOE4 and/or TOE6 in the
capabilities of an interface:
# ifconfig -m | grep TOE

Enable/disable TCP offload on an interface (just like any other ifnet
capability):
# ifconfig cxgbe0 toe
# ifconfig cxgbe0 -toe

Which connections are offloaded?  Look for toe4 and/or toe6 in the
output of netstat and sockstat:
# netstat -np tcp | grep toe
# sockstat -46c | grep toe

Reviewed by:	bz, gnn
Sponsored by:	Chelsio communications.
MFC after:	~3 months (after 9.1, and after ensuring MFC is feasible)
2012-06-19 07:34:13 +00:00
jilles
786835d589 find(1): Move description of -d option to -depth primary.
The nullary -depth primary is standard and the -d option provides little
advantage.

PR:		docs/168885
MFC after:	1 week
2012-06-13 21:53:40 +00:00
des
307fcde100 None of these programs actually use auth.conf.
MFC after:	1 week
2012-06-11 16:18:39 +00:00
kevlo
25b00968da Fix typo 2012-06-11 03:10:15 +00:00
kevlo
2c79397387 - Consistenly mention columns and fields
- Add -b to short error messages

Obtained from:	NetBSD
2012-06-11 03:02:40 +00:00
issyl0
352ba3f296 Add more description and clarification about the -depth and -d options in
both places where they are mentioned in find(1).

Discussed with:	dougb
PR:		docs/168885
Reported by:	Ronald F. Guilmette (rfg at tristatelogic dot com)
Approved by:	gabor (mentor)
MFC after:	3 days
2012-06-10 22:14:52 +00:00
jilles
0af45322c0 touch: Add the -d option from POSIX.1-2008.
This is much like -t but with a different format which is ISO8601-like and
allows fractions of a second.

The precision is limited to microseconds because of utimes() and friends,
even though stat() returns nanoseconds.

MFC after:	10 days
2012-06-10 14:26:51 +00:00
gabor
671916033f - Remove the UNUSED_ARG macro and use __unused in argument lists
Reviewed by:	dim
MFC after:	3 days
2012-06-08 19:21:49 +00:00
dim
a3a73ec277 In usr.bin/sort, use another method of silencing warnings about unused
arguments, which does not trigger self-assignment warnings in certain
circumstances (for example, using clang with ccache).

MFC after:	3 days
2012-06-08 17:08:27 +00:00
ashish
d7a11d4072 Add myself to the calendar. 2012-06-08 01:51:49 +00:00
eadler
d7c9a0e9e9 Fix style nit: don't use leading zero for dates in .Dd
Prompted by:	brueffer
Approved by:	brueffer
MFC after:	3 days
2012-06-05 03:14:39 +00:00
jhb
6c78422cc5 Allow the -p argument to kdump to accept either a PID or a thread ID.
Submitted by:	Dmitry Banschikov  d.banschikov hostcomm ru
MFC after:	1 week
2012-06-04 19:09:14 +00:00
joel
2ca9c240e7 Minor mdoc improvements. 2012-06-03 11:09:51 +00:00
eadler
2ada280165 Document the limitations of the -delete primary
PR:		bin/166554
Submitted by:	Richard Kettlewell <rjk@greenend.org.uk>
Discussed with:	jilles
Approved by:	bcr
MFC after:	3 days
2012-06-02 03:13:27 +00:00
jase
99a3cbfc7c Add myself as a new committer.
Approved by:	flo, culot (mentors)
2012-06-01 08:44:17 +00:00
obrien
9eb7711d51 Update date for r236338 & r236346. 2012-05-31 20:13:44 +00:00
jhb
2599ce43d6 Don't trace or dump page fault records in the default set of tracepoints
as they can be quite noisy.

Requested by:	Peter Jeremy
MFC after:	3 days
2012-05-31 14:46:02 +00:00
obrien
0a0b648466 Add "-V '${VAR}'" variable expansion from Portable Berkeley Make.
Submitted by:	Simon Gerraty <sjg@juniper.net>
2012-05-31 00:36:56 +00:00
obrien
71a59e1336 Deprecate the FreeBSD make's ":U" (to-upper case) and ":L" (to-lower case)
modifiers for ":tu" and ":tl" from OSF's ODE, which made its way into
NetBSD's make, which is the source for the Portable Berkeley Make.

Submitted by:	Simon Gerraty <sjg@juniper.net>
2012-05-30 22:23:08 +00:00
eadler
336581c2f4 Fix likely race condition if wait_child() is interrupted by sigchild()
PR:		bin/102834
Submitted by:	Andreas Longwitz <longwitz@incore.de>
Approved by:	cperciva
MFC after:	2 weeks
2012-05-30 03:55:44 +00:00
des
fdd7d585a8 Pass a filename, rather than a file descriptor, to libarchive.
Submitted by:	Alex Kozlov <spam@rm-rf.kiev.ua>
MFC after:	1 week
2012-05-29 09:11:19 +00:00
kevlo
07ebfe1b9c Make sure that each va_start has one and only one matching va_end,
especially in error cases.
2012-05-29 01:48:06 +00:00
des
1339de0936 Revert r232274 - unauthorized, unnecessary and incorrect. 2012-05-26 17:19:41 +00:00
des
e591108b4f Update to OpenPAM Micrampelis. 2012-05-26 17:10:16 +00:00
joel
4f1c4001e8 mdoc: sort sections into conventional order. 2012-05-26 06:31:54 +00:00
gabor
02feec4a45 - Only use multi-threading for large files
- Do not use mmap() by default; it can be enabled by --mmap
- Add some minor optimizations for -u
- Update manual page according to the changes

Submitted by:	Oleg Moskalenko <oleg.moskalenko@citrix.com>
2012-05-25 09:30:16 +00:00
gber
cf4496cb42 Fix resolving symbol names on ARM.
On ARM, binutils are adding '$a' symbols in the symbol table for
every function (in addition to normal symbol). When gprof(1) looks
up symbol name, it often reads '$a' instead of proper function name,
because it find it first. With this fix, when read symbol name
begins with '$' and previous symbol has the same address, it will
use previous symbol name (which is proper function name).

Obtained from:	Semihalf
2012-05-25 06:48:42 +00:00
jpaetzel
f67d641e11 Hook up mkulzma to the build.
MFC after:	3 days
2012-05-24 16:11:51 +00:00
mav
96f3e42ce2 MFprojects/zfsd:
Revamp the CAM enclosure services driver.
This updated driver uses an in-kernel daemon to track state changes and
publishes physical path location information\for disk elements into the
CAM device database.

Sponsored by:   Spectra Logic Corporation
Sponsored by:   iXsystems, Inc.
Submitted by:   gibbs, will, mav
2012-05-24 14:07:44 +00:00
wblock
9fa9a2acad Fixes to man8 groff mandoc style, usage mistakes, or typos.
PR:		168016
Submitted by:	Nobuyuki Koganemaru
Approved by:	gjb
MFC after:	3 days
2012-05-24 02:24:03 +00:00
thompsa
add2d11101 Allow the socket list to be limited to a specific jail id.
No objections:	current@
2012-05-24 01:31:10 +00:00
joel
94cbb01e94 Fix error reported by mandoc. 2012-05-23 18:41:45 +00:00
delphij
d10fe1dadc commandline -> command line
MFC after:	1 week
2012-05-22 19:40:54 +00:00
bapt
310ab6d7ff Fix world after byacc import:
- old yacc(1) use to magicially append stdlib.h, while new one don't
- new yacc(1) do declare yyparse by itself, fix redundant declaration of
  'yyparse'

Approved by:	des (mentor)
2012-05-22 16:33:10 +00:00
bapt
913116490c Import byacc from invisible island, it brings us lots of compatibilities with
bison, keeping full compatibility with our previous yacc implementation.

Also bring the ability to create reentrant parser

This fix bin/140309 [1]

PR:		bin/140309 [1]
Submitted by:	Philippe Pepiot <ksh@philpep.org> [1]
Approved by:	des (mentor)
MFC after:	1 month
2012-05-21 13:31:26 +00:00
marcel
85ee223365 Bring DPADD in sync with LDADD. 2012-05-19 05:07:03 +00:00
gleb
6419400ed4 Don't cast inode number or file size down to long or unsigned.
Since ino_t size is about to change to 64-bits, casts to long would
truncate 64-bit numbers on 32-bit archs.

Sponsored by:	Google Summer of Code 2011
2012-05-18 10:15:46 +00:00
gjb
6fce315734 Fix a typo that crept in.
Pointyhat:	gjb (myself)
Spotted by:	hrs
MFC after:	2 days (minor change)
2012-05-18 03:30:50 +00:00
gabor
57fe23061a - Fix -o option that was broken by my clang compile fix
Submitted by:	Oleg Moskalenko <oleg.moskalenko@citrix.com>
2012-05-17 13:08:30 +00:00
kib
8f04882e81 Allow to specify strftime(3) format for process start end exit times.
Submitted by:	Andrey Zonov <andrey zonov org>
MFC after:	1 week
2012-05-17 11:10:13 +00:00
mav
b796f78b0a Add support for -z option for reading operations. It allows to not request
current values from device, but only receive changes.
2012-05-16 20:30:20 +00:00
gabor
1b903beae4 - Eliminate initializations if global variables. Compilers are not
required to optimize these so it may result in larger binary size.

Pointed out by:	kib
2012-05-14 10:06:49 +00:00