lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:	Thu, 02 Aug 2012 22:39:28 +0200
From:	Dirk Gouders <gouders@...bocholt.fh-gelsenkirchen.de>
To:	Rob Landley <rob@...dley.net>
Cc:	Milton Miller <miltonm@....com>, Borislav Petkov <bp@...en8.de>,
	Cong Wang <xiyou.wangcong@...il.com>,
	Jesse Barnes <jbarnes@...tuousgeek.org>,
	Jan Engelhardt <jengelh@...i.de>,
	Linux Kernel <linux-kernel@...r.kernel.org>
Subject: Re: [RFC] netconsole.txt: "nc" needs "-p" to specify the listening port

Dirk Gouders <gouders@...bocholt.fh-gelsenkirchen.de> writes:

> Rob Landley <rob@...dley.net> writes:
>
>> On 07/29/2012 03:40 AM, Milton Miller wrote:
>>> [adding Rob as Doc maintanier]
>>> 
>>> On Sat, 28 Jul 2012 about 11:08:16 -0000, Dirk Gouders wrote:
>>>> Borislav Petkov <bp@...en8.de> writes:
>>>>
>>>>> On Fri, Jul 27, 2012 at 11:24:53AM +0200, Dirk Gouders wrote:
>>>>>> Cong Wang <xiyou.wangcong@...il.com> writes:
>>>>>>
>>>>>>> On Fri, Jul 27, 2012 at 2:35 PM, Dirk Gouders
>>>>>>> <gouders@...bocholt.fh-gelsenkirchen.de> wrote:
>>>>>>>> Hi Jesse,
>>>>>>>>
>>>>>>>> I would like to ask you to check if the documentation of "nc" in
>>>>>>>> netconsole.txt is still correct.  I tried two different netcat packages
>>>>>>>> and both require "-p" to specify the listening port.  I am wondering if
>>>>>>>> that changed after the use of "nc" has been documented.
>>>>>>>
>>>>>>> On Fedora 16, `nc -u -l <port number>` works fine.
>>>>>>
>>>>>> Thanks for checking that.
>>>>>>
>>>>>> If the information I found is correct, Fedora uses OpenBSD's nc
>>>>>> codebase.  The two netcat packages I tested on a Gentoo system differ in
>>>>>> requiring the -p switch for the port specification.
>>>>>
>>>>> So say exactly that in the doc: that the *BSD's version of nc doesn't
>>>>> need the port number specified with '-p' and you're covered.
>>>> OK, I tried that in the attached patch.
>>>> I'm not sure if every exeption needs to/should be documented, though.
>>>>
>>>> >From 3cdeac3e814471053129145c5fa8391acb365fd8 Mon Sep 17 00:00:00 2001
>>>> From: Dirk Gouders <gouders@...bocholt.fh-gelsenkirchen.de>
>>>> Date: Sat, 28 Jul 2012 12:32:49 +0200
>>>> Subject: [PATCH] netconsole.txt: non-BSD versions of nc(1) require '-p'
>>>>  switch
>>>>
>>>> Gentoo for example uses non-BSD versions of nc(1) which require
>>>> the '-p' switch to specify the listening port.
>>>>
>>>> ---
>>>> Documentation/networking/netconsole.txt |    3 ++-
>>>>  1 files changed, 2 insertions(+), 1 deletions(-)
>>
>> Did this ever resolve to a specific recommended patch? The one at the
>> start of the thread:
>>
>>  http://lkml.indiana.edu/hypermail/linux/kernel/1207.3/01995.html
>>
>> Apparently isn't it...?
>
> Sorry for the delay.
> I tested the situation on a few distributions and am still thinking
> about a proper way to write it in a way without netconsole.txt becoming
> a kind of "netcat.txt".
>
> I would be glad about comments to what I currently have -- also, because
> I am not a native English speaker:
>
> ------------------------------------------------------------------------
> The remote host can run syslogd or netcat to receive the kernel
> messages.  On distributions using a BSD-based netcat version
> (e.g. Fedora, openSUSE and Ubuntu) the listening port must be
> specified without the -p switch:
>
> 'nc -u -l -p <port>' / 'nc -u -l <port>' or
> 'netcat -u -l -p <port>' / 'netcat -u -l <port>'
> ------------------------------------------------------------------------
>
> At the end, I also attach what I have noted during the tests with the
> different distributions.
>
> Dirk
>
> ------------------------------------------------------------------------
> Problem on systems where the gnu-netcat package provides a symbolic
> link /usr/bin/nc -> /usr/bin/netcat:
>
> gnu-netcat requires -p to specify the local port but does not complain
> if invoked as `nc -l -u <port>'; you need to use -v to see that it
> does not do what you might expect:
>
> # nc -l -u 4444 -v
> Warning: Inverse name lookup failed for `0.0.17.92'
> ------------------------------------------------------------------------
>
> Distro		Package						needs -p
> 		Command invocation
> ========================================================================
> Arch		gnu-netcat					yes
> (Website	nc | netcat
>  documentation)
> 		openbsd-netcat					no
> 		nc.openbsd
> ------------------------------------------------------------------------
> Debian-6.0.5	netcat-openbsd					no 
> 		nc | netcat | nc.openbsd		   
> 		                                   
> 		netcat / netcat-traditional (preinstalled)	yes
> 		nc | netcat
> 		                                   
> 		netcat6						yes
> 		nc | netcat | nc6
> ------------------------------------------------------------------------
> Fedora-17	nc (preinstalled)				no
> 		nc
>
> 		nc6
> 		nc6						yes
> ------------------------------------------------------------------------
> Gentoo		gnu-netcat					yes
> 		netcat
>
> 		netcat						yes
> 		nc
>
> 		netcat6						yes
> 		nc | nc6
> ------------------------------------------------------------------------
> OpenSUSE-12.1	netcat-openbsd					no
> 		nc | netcat
> ------------------------------------------------------------------------
> Ubuntu-12.04	netcat-openbsd (preinstalled)			no 
> Desktop		nc | netcat | nc.openbsd
> 		                                   
> 		netcat / netcat-traditional			yes
> 		nc | netcat		   
> 		                                   
> 		netcat6						yes
> 		nc | netcat | nc6
> ------------------------------------------------------------------------

Here is a patch that also includes Jan's suggestion for socat(1).

The problem with the patch is that the netcat part does not cover every
possible distribution/netcat-package situation but in my opinion it is a
bearable compromise with respect to keeping the example section compact.

Dirk

>From d756d2750e4cf07d3c0942dc3c491d57631d4338 Mon Sep 17 00:00:00 2001
From: Dirk Gouders <gouders@...bocholt.fh-gelsenkirchen.de>
Date: Thu, 2 Aug 2012 22:20:16 +0200
Subject: [PATCH] netconsole.txt: revision of examples for the receiver of kernel messages

There are at least 4 implementations of netcat with the BSD-based
being the only one that has to be used without the -p switch to
specify the listening port.

Jan Engelhardt suggested to add an example for socat(1).
---
 Documentation/networking/netconsole.txt |   19 +++++++++++++++++--
 1 files changed, 17 insertions(+), 2 deletions(-)

diff --git a/Documentation/networking/netconsole.txt b/Documentation/networking/netconsole.txt
index 8d02207..2e9e0ae2 100644
--- a/Documentation/networking/netconsole.txt
+++ b/Documentation/networking/netconsole.txt
@@ -51,8 +51,23 @@ Built-in netconsole starts immediately after the TCP stack is
 initialized and attempts to bring up the supplied dev at the supplied
 address.
 
-The remote host can run either 'netcat -u -l -p <port>',
-'nc -l -u <port>' or syslogd.
+The remote host has several options to receive the kernel messages,
+for example:
+
+1) syslogd
+
+2) netcat
+
+   On distributions using a BSD-based netcat version (e.g. Fedora,
+   openSUSE and Ubuntu) the listening port must be specified without
+   the -p switch:
+
+   'nc -u -l -p <port>' / 'nc -u -l <port>' or
+   'netcat -u -l -p <port>' / 'netcat -u -l <port>'
+
+3) socat
+
+   'socat udp-recv:<port> -'
 
 Dynamic reconfiguration:
 ========================
-- 
1.7.8.6

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ