[Bug 590925] Re: broken version of netcat installed by default
A few years later, but I just have to join in: I don't think nc.openbsd should ever have been added as an alternative to nc.traditional, as they are not compatible. They should be separate packages - nc.traditional should be netcat, and nc.openbsd should be netcat-openbsd. They should have separate binaries that are not part of an alternatives group, and if someone wants to use nc.openbsd then they can call it as such - thereby specifically requesting the openbsd interface instead of the traditional one. Probably too late to fix that now. But just in general, barring the obvious case of one implementation having extra functionality and options that are not present in the other, alternatives should ALWAYS share the same interface (think of the vast number of options to GNU binaries that are ignored or mirror other options, PURELY to provide the same interface that has been used by other implementations for decades). Kind of a 'duh' moment for any programmer reading this thread. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/590925 Title: broken version of netcat installed by default To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/netcat-openbsd/+bug/590925/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 590925] Re: broken version of netcat installed by default
Hello All, >-b is missing. The openbsd version seems to allow broadcast by default, >so we could just make it accept the option and ignore it. I found that no broadcast is being made when trying to send a udp broadcast. The openbsd version will return with error code 1 Regards, Andras -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/590925 Title: broken version of netcat installed by default To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/netcat-openbsd/+bug/590925/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 590925] Re: broken version of netcat installed by default
@sefs: the bug has been fixed in Natty. It won't be fixed in previous versions of Ubuntu because the package doesn't fit the requirements for backporting. See https://help.ubuntu.com/community/UbuntuBackports for more information. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/590925 Title: broken version of netcat installed by default -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 590925] Re: broken version of netcat installed by default
Hi all, How does this fix the bug in lucid. I wish to perform this command in lucid nc -l -p . which would have been a normal nc command. what do I have to do in lucid to have this work. Thanks. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/590925 Title: broken version of netcat installed by default -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 590925] Re: broken version of netcat installed by default
This bug was fixed in the package netcat-openbsd - 1.89-3ubuntu5 --- netcat-openbsd (1.89-3ubuntu5) natty; urgency=low * debian/patches/quit-timer.patch: Re-enabled, but set default to 0 to match current behavior. * debian/patches/netcat-info.patch: Add info about netcat-traditional if you are looking for an option when it is not available. (LP: #590925) -- Chuck ShortTue, 04 Jan 2011 14:31:12 -0500 ** Changed in: netcat-openbsd (Ubuntu) Status: In Progress => Fix Released -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/590925 Title: broken version of netcat installed by default -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 590925] Re: broken version of netcat installed by default
** Changed in: netcat-openbsd (Ubuntu) Status: Fix Released => In Progress ** Changed in: netcat-openbsd (Ubuntu) Assignee: (unassigned) => Chuck Short (zulcss) ** Changed in: netcat-openbsd (Ubuntu) Milestone: None => natty-alpha-2 ** Changed in: netcat-openbsd (Ubuntu) Importance: Undecided => Low -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/590925 Title: broken version of netcat installed by default -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 590925] Re: broken version of netcat installed by default
Manpage should be corrected. The -q option is not working now. And you should report this change to others packages maintainers, for example maintainers of libvirt and virt-manager, which expects this -q option and wrote ugly hacks for compability with other non-debian distros. -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/590925 Title: broken version of netcat installed by default -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 590925] Re: broken version of netcat installed by default
This bug was fixed in the package netcat-openbsd - 1.89-3ubuntu4 --- netcat-openbsd (1.89-3ubuntu4) natty; urgency=low * debian/patches/quit-timer.patch: Drop quit-time.patch as per disccussion on ubuntu-server. (LP: #590925) -- Chuck ShortMon, 03 Jan 2011 10:08:24 -0500 ** Changed in: netcat-openbsd (Ubuntu) Status: Confirmed => Fix Released -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/590925 Title: broken version of netcat installed by default -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 590925] Re: broken version of netcat installed by default
This also breaks the web, resulting in major confusion. Searching the web for netcat linux howto or tutorial returns almost 100% broken examples. Netcat fails without any hint of why, while saying the flags you used where valid. using man nc does does not solve this confusion. >From 'man nc' > -l Used to specify that nc should listen for an incoming connection > rather than initiate a connection to a > remote host. It is an error to use this option in conjunction with > the -p, -s, or -z options. Additionally, > any timeouts specified with the -w option are ignored. This does not say you specify the port with -l port Instead it says how not to use it. Not much help. I propose the following changes 1. Change short usage message to include ref to the man page and the date of switch of behaviour - nc usage flags where changed %date%. Use man nc for more information. 2. Remove the "It is a n error" (way too strong, suggests that this will result in some kind of damage) and at the end (of each parameter) say "can not be used with -p" etc. 3. Add information on HOW -l is used. -l port. See "-i interval" and compare the two. -i has a parameter. -l does not. Sounds good? Regards, Torbjorn -- broken version of netcat installed by default https://bugs.launchpad.net/bugs/590925 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 590925] Re: broken version of netcat installed by default
I just went through the ringer tracing down a problem with nc on lucid and discovered that the problem is in a major difference between nc.openbsd and nc.traditional. Above, Soren states: > Both have -w. They do the same. Well, they don't. Not by a longshot. If you surf the 'net for ssh ProxyCommand usage you will see a lot of suggestions to do this in your ~/.ssh/config file: Host foobar ProxyCommand ssh mygateway nc -w 1 foobar 22 The above allows one to ssh into host foobar which sits behind a ssh gateway, mygateway. The -w option in nc.traditional is a timeout "on connections and EOFs". Add to that for nc.openbsd, "stdin". In other words, my users are discovering that if they don't send input every second they will be bumped off. Man page for nc_traditional: -w secs timeout for connects and final net reads Man page for nc (openbsd): -w timeout If a connection and stdin are idle for more than timeout seconds, then the connection is silently closed. I installed both netcat-openbsd and netcat-traditional on mygateway. I put this in my ~/.ssh/config file on a remote computer: Host foobar ProxyCommand ssh mygateway nc.openbsd -w 1 foobar 22 Host foobar2 ProxyCommand ssh mygateway nc.traditional -w 1 foobar 22 If I ssh to foobar, I get disconnected after one second of idle time. Foobar2, I stay logged in. Cheers, Dan -- broken version of netcat installed by default https://bugs.launchpad.net/bugs/590925 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 590925] Re: broken version of netcat installed by default
Yea. I just spent all morning on this not having the piping thing. I had to use -q-1 printf 'GET / HTTP/1.0\n\n' | nc -q-1 example.com 80 The same with the following: nc example.com 80
[Bug 590925] Re: broken version of netcat installed by default
The bsd version does not support requests via piping too. This works with nc.traditional, but does not with nc.openbsd: printf 'GET / HTTP/1.0\n\n' | nc example.com 80 The same with the following: nc example.com 80
[Bug 590925] Re: broken version of netcat installed by default
This bug has also affected me though the work around below sudo apt-get install netcat sudo update-alternatives --set nc /bin/nc.traditional The bug I had with the netcat-openbsd missing -e and -u (udp mode) does not work. -- broken version of netcat installed by default https://bugs.launchpad.net/bugs/590925 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
Re: [Bug 590925] Re: broken version of netcat installed by default
On Fri, Jun 11, 2010 at 06:49:26PM -, Grondr wrote: > P.S. Huh. I haven't gone and looked at nc's code carefully, but that > clause you quote that includes the string "cannot use -p and -l" > doesn't seem to make it through to any user-visible output. Umm. Yeah, that's really stupid. Someone put those things *after* the other cmdline syntax checks, so they'd (hardly?) ever be shown. I'll fix that while I'm at it. -- Soren Hansen Ubuntu Developer http://www.ubuntu.com/ -- broken version of netcat installed by default https://bugs.launchpad.net/bugs/590925 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 590925] Re: broken version of netcat installed by default
Aha! In that case, I agree with everything you've said. :) (Yes, I agree that it's pointlessly incompatible, but I thought someone must have had a good reason for it---e.g., I'd simply assumed there was -some- point that I was missing, and that Ubuntu had gone along. I also agree that -having- to pass -p is silly if it can take it as a parameter without -p [it certainly makes both the client & server syntax much more similar to not require -p), but yes, for backward compatibility, -p should be allowed.) Thanks! P.S. Huh. I haven't gone and looked at nc's code carefully, but that clause you quote that includes the string "cannot use -p and -l" doesn't seem to make it through to any user-visible output. If I try just "nc -l -p 1234", I get the "usage: nc [blah blah blah]" that lists all the options but does not include that string, which was one of the problems---the message I saw never said "you're using incompatible options", and since I was using the same options as I always had before, it seemed like option parsing had simply gotten broken somehow instead. Anyway, thanks again. -- broken version of netcat installed by default https://bugs.launchpad.net/bugs/590925 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
Re: [Bug 590925] Re: broken version of netcat installed by default
On Thu, Jun 10, 2010 at 04:38:21PM -, Grondr wrote: > Wait, what? Are you saying that nc -should- accept -p with -l? Of course. Otherwise it'd be pointlessly incompatible with the old netcat. > In other words, that "nc -l -p 1234" is the same thing as "nc -l 1234" > in OpenBSD nc? No, it /is/ not. It should be. > But that wasn't what the manpage seemed to indicate -at all-. No, because it's not the case now. > It goes out of its way, in several places, to claim that this isn't > possible, It's not. From netcat.c: if (lflag && pflag) errx(1, "cannot use -p and -l"); We should just change that. > yes, changing this will restore a huge amount of compatibility with > the traditional nc, and I don't understand why OpenBSD went out of > their way (in both the code and the manpage) to make this not work in > the first place. Well, having to pass -p /is/ kind of silly. If you want to listen, you want to specify a port on which to do so, so making you pass the -p *option* only makes sense because of tradition. > P.S. You say you don't know where I was going w/my comment about > "broken" vs -l -p. I was simply trying to say that the current (bug? > deliberate change?) to the behavior of -l -p made it look like nc > simply couldn't be used as a listener at all, and that, when I wrote > the report, I hadn't yet discovered that the manpage for the OpenBSD's > version claimed that -l -p was simply incorrect usage (based on what > looked like a non-upward-compatible change) that that's why I was so > intemperate in my tone---until I found what looked like a deliberate > change in semantics (which you now say is a bug---I agree!), it looked > like the intended way to use nc as a listener had just somehow been > entirely broken instead. The OpenBSD folks may not see it as a bug at all. For us, it's a bug, because it pointlessly breaks compatibility. No doubt about that. -- Soren Hansen Ubuntu Developer http://www.ubuntu.com/ -- broken version of netcat installed by default https://bugs.launchpad.net/bugs/590925 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 590925] Re: broken version of netcat installed by default
Wait, what? Are you saying that nc -should- accept -p with -l? In other words, that "nc -l -p 1234" is the same thing as "nc -l 1234" in OpenBSD nc? If so, I very much agree with that sentiment! But that wasn't what the manpage seemed to indicate -at all-. It goes out of its way, in several places, to claim that this isn't possible, which was why I assumed that they had incompatibly changed the meaning of -p such that it no longer made sense to use it with -l, and then Ubuntu had (knowingly) shipped a version of nc that no longer accepted args that previous versions had accepted. If that's not the case, and the two cases really -are- supposed to be equivalent, then yes, changing this will restore a huge amount of compatibility with the traditional nc, and I don't understand why OpenBSD went out of their way (in both the code and the manpage) to make this not work in the first place. Since you say this is a bug, I'll change the status. (And yes, Hobbit really does have a real name, but he almost never uses it.) P.S. You say you don't know where I was going w/my comment about "broken" vs -l -p. I was simply trying to say that the current (bug? deliberate change?) to the behavior of -l -p made it look like nc simply couldn't be used as a listener at all, and that, when I wrote the report, I hadn't yet discovered that the manpage for the OpenBSD's version claimed that -l -p was simply incorrect usage (based on what looked like a non-upward-compatible change) that that's why I was so intemperate in my tone---until I found what looked like a deliberate change in semantics (which you now say is a bug---I agree!), it looked like the intended way to use nc as a listener had just somehow been entirely broken instead. ** Changed in: netcat-openbsd (Ubuntu) Status: Incomplete => Confirmed -- broken version of netcat installed by default https://bugs.launchpad.net/bugs/590925 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
Re: [Bug 590925] Re: broken version of netcat installed by default
On Thu, Jun 10, 2010 at 04:52:32AM -, Grondr wrote: > I'll try one more time to make the point I'm trying to make, and then > I'll give up until someone who seems to understand it chimes in. (And > by the way, calling a usability complaint "flamebait" isn't exactly > setting the right tone yourself.) I'm not calling the usability complaint itself flamebait. I'm calling the language you used to convey said usability complaint flamebait. And counter-productive. > You complain that I called it "broken", but it wasn't until after I > posted my first entry in this that I even -realized- that the > currently- default nc -did not allow- both -l and -p in the same > command line! I don't see where you're going with this /at all/. > So yeah, when I wrote that report, I honestly believed that Ubuntu had > shipped a completely broken netcat---one that, despite my best > efforts, could not be made into a listener. I just couldn't believe > it. It seemed incomprehensible that their quality control had fallen > so far that they could (a) modify and (b) -break- such a fundamental > part of netcat. > > As I see it, there's plenty of blame to go around: Yes, everyone except you suck. Now that we've established this, can we /please/ get on with fixing the 1 (one!) bug that you actually seem to have encountered? > Unless Ubuntu can successfully apply backpressure upstream (I'd have > said, "We won't make OpenBSD's version of nc the default until the > following fake-out usability issues are addressed"), The OpenBSD folks never asked for us to include their software, much less make it our default netcat. This is not politics. There's no need to go and make demands to all sorts of people. It's simple engineering. In the time I've spent writing this response I could have fixed this bug several times. > Ubuntu certainly isn't shy about making their own downstream patches > in other things---this seems like an issue that begs for it. You'd be surprised how much the OpenBSD netcat in Ubuntu has been patched compared to what's in OpenBSD, /precisely/ to make this transition smooth. Yes, I missed this "-p" option when I did this. Shit happens. > As for filing a feature request with OpenBSD for better and clearer > version/origin info, I can try it, but I'm fairly sure the OpenBSD > crowd will just say, "We've been using this for years and it's -our- > program, so why should -we- be the ones to include something that > points out it's from OpenBSD?" Yeah, openbsd-devel seems like quite an argumentative place. I've met my quota for argumentativity for this week, though. > They might object that it's Ubuntu's job (or maybe Debian's---I don't > know who made this change) I did. > to make it clear, since U/D are the ones who decided to -switch-, > after years of the traditional nc, to using OpenBSD's version in the > first place. Yeah. And as is always the case when humans are involved, mistakes happen, which brings me back to the 1 (one!), small bug you seem to be experiencing: netcat-openbsd should accept "-p" along with "-l". I would update the bug title and description (as appropriate), but I can't be bothered to respond to another burst of outrage. Replacing netcat-openbsd with netcat-traditional just because of such a small (in terms of lines of code to fix it) bug would be just as silly as switching from Ubuntu to Fedora because of this (easily revertable) change. Well, except that Fedora also ships the OpenBSD version of netcat as their default nc and have been for years. > And as for the original nc, it so happens I've been friends with its > author for almost 30 years. Cool. Hobbit actually has a name? -- Soren Hansen Ubuntu Developer http://www.ubuntu.com/ -- broken version of netcat installed by default https://bugs.launchpad.net/bugs/590925 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 590925] Re: broken version of netcat installed by default
I'll try one more time to make the point I'm trying to make, and then I'll give up until someone who seems to understand it chimes in. (And by the way, calling a usability complaint "flamebait" isn't exactly setting the right tone yourself.) 100% of my usage of nc is in building tunnels. 50% of nc's invocations are thus listeners, and 50% are senders. 100% of listeners require (in the old nc) specifying both -l and -p. Since OpenBSD apparently decided to take what seems to me the case that is -required- in -every- usage of nc for this purpose and incompatibly break it (not -just- by dropping -p's original meaning---which at least would mean it wouldn't show up in a usage messsage---but by making it mean something -completely different- while -simultaneously- making it fail when used with -l!), this means that anyone expecting the traditional nc (which is not only something like 20 years old, but has also been shipping by default in Ubuntu as long as Ubuntu has been around---until now) will be screwed by the change in behavior. So it really doesn't matter how many -other- options -haven't- been changed---they picked the -one- option I use -every single time- and made the same option mean something completely different, in a way guaranteed to cause the program to (apparently inexplicably) fall over and emit a usage message instead. You complain that I called it "broken", but it wasn't until after I posted my first entry in this that I even -realized- that the currently- default nc -did not allow- both -l and -p in the same command line! It just never even crossed my mind that the old nc would have been replaced with one that didn't take the same command line args in an upward- compatible fashion, but instead decided to just break if called with the old ones. So yes, when I first posted, I truly believed that nc was absolutely, completely broken, because I could not come up with a single command line that failed to do anything but emit a usage message. When I've been using the same program for decades and it suddenly won't take the same commands I've been giving it all that time, my first inclination is -not- to turn to a manpage to see if someone has scrambled the allowed options---especially when I see in the usage it spits out that the only options I was trying (-l and -p) -were- still there. Sre, if I'd really read it carefully, I'd have seen "source" at -p and said, "Eh?", but even that might not have necessarily been enough to raise a big red flag. So yeah, when I wrote that report, I honestly believed that Ubuntu had shipped a completely broken netcat---one that, despite my best efforts, could not be made into a listener. I just couldn't believe it. It seemed incomprehensible that their quality control had fallen so far that they could (a) modify and (b) -break- such a fundamental part of netcat. As I see it, there's plenty of blame to go around: (a) OpenBSD, for breaking the established argline for no particularly good reason. (b) Ubuntu, for substituting in their version without making some changes (like making it -really clear- from the usage that this isn't the nc you were expecting, e.g., by altering the usage message or applying pressure upstream to do so), or perhaps offering -both- as nc and nc.openbsd or something---at least the latter would have been entirely upward-compatible with scripts and usage that -did work- under prior Ubuntu releases, unlike the current behavior. (c) OpenBSD again, for doing such a piss-poor job of options parsing that, instead of actually telling you -why- it's rejecting what you tried, it just blats out a generic usage message---if it's supposedly so improved, then why is the argument parsing so lame? -Especially- if they're going to incompatibly change such a common option as -p, they should have gone the extra mile and been very clear about what was going on---maybe not in every possible case, but c'mon, it's the first thing any traditional nc user is going to trip over, so seeing both -l and -p in the same command line should probably be special-cased into saying, "This is OpenBSD's version of netcat, which has incompatibly changed the meaning of -p, which no longer means which port to listen on. Please see the following usage" or something like that. Unless Ubuntu can successfully apply backpressure upstream (I'd have said, "We won't make OpenBSD's version of nc the default until the following fake-out usability issues are addressed"), then I'd say this is a bug in Ubuntu usability (no idea where to file -that- bug) because they accepted OpenBSD's redefinition of nc's args without complaint and without warning their installed base---perhaps by patching nc.openbsd downstream to issue that warning. Ubuntu certainly isn't shy about making their own downstream patches in other things---this seems like an issue that begs for it. As for filing a feature request with OpenBSD for better and clearer version/origin info, I can try
Re: [Bug 590925] Re: broken version of netcat installed by default
On Mon, Jun 07, 2010 at 08:52:50PM -, Grondr wrote: > I believe I was quite clear: > > (a) "nc -l -p 1234" spits out a usage message. I think this is the first time you shared any of the commands you attempted to run. You are asking people (volunteers, mostly) to help you with your problems. Please don't make their lives more difficult by making them guess what you've done when you could just tell them. > The traditional version actually listens on port 1234. Having finally > found nc's manpage, I see that the OpenBSD version uses completely > incompatible arguments, Ok, I'll take your flame bait. -c and -e are missing. Noone should be using them anyway, but yes, they are missing. -b is missing. The openbsd version seems to allow broadcast by default, so we could just make it accept the option and ignore it. -g and -G are missing, so you don't get to specify source routing. Both have -h. It does the same. Both have -i. It does the same. Both have -k. They seem to do the same. Both have -l. They do the same. Both have -n. They do the same. -o is missing in the openbsd version. I think it's a silly option, but yes, it's missing. -p is different between the two. The OpenBSD version uses it to set a source port for remote connections, while the traditional nc uses it to specify the local port on which it will listen when in listen mode. Both have -r. They do the same. Both have -q. They do the same, but have different defaults (see #544935). Both have -s. They do the same. Both have -T. They do the same. Both have -t. They do the same. Both have -u. They do the same. Both have -v. They do the same. Both have -w. They do the same. Both have -z. They do the same. In addition, the openbsd version has all these cool new things: -4 and -6 to specify ipv4 or ipv6, respectively. -D to enable a debug socket (don't really know what this is). -d detaches from stdin. -P to specify username for proxy auth. -S to enable TCP MD5 signatures. -C to do LF/CRLF translation. -U to talk to UNIX domain sockets. -X to specify proxy protocol. -x to specify proxy address. So no, they're not identical, but they're also hardly "completely incompatible". This is the sort of stuff I'm talking about when I say "constructive tone". Let's focus on the specific issues and try to work on them rather than tossing around (incorrect) absolutes, shall we? > hence breaking scripts that expect the decades-old version and giving > no real clue what happened, because: (b) nc's usage message does not > say it's from OpenBSD and has no version number, hence making > debugging the change in behavior needlessly frustrating. True. The "nc -h" output says it loud and clear, though: OpenBSD netcat (Debian patchlevel 1.89-3ubuntu2) Would you like to file a feature request about making it output this as part of its usage message? If so, could you file a similar bug against the traditional netcat as it has the same behaviour? > (Not to mention that it has -only- a short-form usage message and > fails to take --version or --help or any of the other canonical ways > of getting more info, so it fakes people out into believing that it's > basically the same set of options when in fact they're totally > different.) Yeah. Neither of the netcats follow this GNU convention: so...@leonard:~$ nc.traditional --version nc.traditional: invalid option -- '-' nc -h for help so...@leonard:~$ nc.traditional --help nc.traditional: invalid option -- '-' nc -h for help so...@leonard:~$ nc.openbsd --help nc.openbsd: invalid option -- '-' usage: nc [-46DdhklnrStUuvzC] [-i interval] [-P proxy_username] [-p source_port] [-s source_ip_address] [-T ToS] [-w timeout] [-X proxy_protocol] [-x proxy_address[:port]] [hostname] [port[s]] so...@leonard:~$ nc.openbsd --version nc.openbsd: invalid option -- '-' usage: nc [-46DdhklnrStUuvzC] [-i interval] [-P proxy_username] [-p source_port] [-s source_ip_address] [-T ToS] [-w timeout] [-X proxy_protocol] [-x proxy_address[:port]] [hostname] [port[s]] so...@leonard:~$ nc.openbsd -h 2>&1| head -n 1 OpenBSD netcat (Debian patchlevel 1.89-3ubuntu2) so...@leonard:~$ nc.traditional -h 2>&1 | head -n 1 [v1.10-38] It's quite annoying. Certainly worthy of a bug report on its own. > This is true in both 32- and 64-bit Lucid on any machine I've tried. Yeah, we woulnd't make such things behave differently depending on word size. That would be silly. > I note, btw, that using update-alternatives did -not- replace the > OpenBSD manpage with the traditional one, even though it replaced the > links in /etc/alternatives, so I now have the manpage for the OpenBSD > version installed even though nc & netcat on my machines are actually > the traditional version. This also seems buggy to me, since it's a > really easy way to totally confuse people by showing them the manpage > for the wrong program. I suppose I should file a bug report about that, > too. You need to do updat
[Bug 590925] Re: broken version of netcat installed by default
I believe I was quite clear: (a) "nc -l -p 1234" spits out a usage message. The traditional version actually listens on port 1234. Having finally found nc's manpage, I see that the OpenBSD version uses completely incompatible arguments, hence breaking scripts that expect the decades-old version and giving no real clue what happened, because: (b) nc's usage message does not say it's from OpenBSD and has no version number, hence making debugging the change in behavior needlessly frustrating. (Not to mention that it has -only- a short-form usage message and fails to take --version or --help or any of the other canonical ways of getting more info, so it fakes people out into believing that it's basically the same set of options when in fact they're totally different.) This is true in both 32- and 64-bit Lucid on any machine I've tried. I note, btw, that using update-alternatives did -not- replace the OpenBSD manpage with the traditional one, even though it replaced the links in /etc/alternatives, so I now have the manpage for the OpenBSD version installed even though nc & netcat on my machines are actually the traditional version. This also seems buggy to me, since it's a really easy way to totally confuse people by showing them the manpage for the wrong program. I suppose I should file a bug report about that, too. -- broken version of netcat installed by default https://bugs.launchpad.net/bugs/590925 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 590925] Re: broken version of netcat installed by default
** Changed in: netcat-openbsd (Ubuntu) Status: New => Incomplete -- broken version of netcat installed by default https://bugs.launchpad.net/bugs/590925 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 590925] Re: broken version of netcat installed by default
Please try to keep a constructive tone. Your bug report does not, as far as I can see, describe the actual symptoms you're seeing at all. What is it, specifically, that you tried and how did it fail? -- broken version of netcat installed by default https://bugs.launchpad.net/bugs/590925 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs