mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Alan Jenkins <aj504@cs.york.ac.uk>
To: "Christian P. Schmidt" <schmidt@digadd.de>
Cc: linux-kernel@vger.kernel.org
Subject: Re: Sending UDP packets to port 0
Date: Sun, 22 Jun 2008 03:02:52 -0700 (PDT)	[thread overview]
Message-ID: <d67fe091-02b8-4587-8d25-e521d8eb2d2d@d77g2000hsb.googlegroups.com> (raw)
In-Reply-To: <aHtAJ-8bW-11@gated-at.bofh.it>

Christian P. Schmidt wrote:
> Hi all,
>
> I know that the kernel forbids sending UDP packets to port 0. Is there a
> specific reason for this?

_Source_ port 0 is treated specially in the sockets implementation,
though I'm not sure  whether this is an intended feature of the API
(manpages don't mention it).  If you say "bind to port 0", you get an
arbitrary unused port instead, which is potentially useful.

> I'm asking because I regularly need to access a device that asks for
> tftp files using port 0 as source. To use these devices I'm using a
> kernel with removed port 0 checks.
>
> I read RFC 768, and it does not explicitly forbid the use of port 0 as
> far as I can see. It only says that if unused, 0 is to be inserted.

1. No, it only says that about the source port.
2. The only way to tell whether the field is "unused" is to check for
a 0 value.

> RFC 1350 (TFTP) even states explicitly:
> The transfer identifiers (TID's) used by TFTP are passed to the Datagram
> layer to be used as ports; therefore they must be between 0 and 65,535.
>
> In my understanding, and apparently that of the authors of the
> appliance's tftp client implementation, this marks port 0 as valid.

They're a bit mad then.  RFC1700 marks port 0 as "reserved" (other
unused ports are marked "unassigned").

I hope that explains why most sane people would avoid using port 0.  I
can't think of a specific reason for forbidding port 0 as a
destination; it's just generally not expected (and there was no reason
to allow it).  I think you need to be more specific if you hope to
have this check removed in mainline though.

Which TCP/IP stacks is the device tested/supported against?  Are you
saying Windows or some other OS lets you send to port 0?

       reply	other threads:[~2008-06-22 10:03 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <aHtAJ-8bW-11@gated-at.bofh.it>
2008-06-22 10:02 ` Alan Jenkins [this message]
2008-06-22  8:19 Christian P. Schmidt
2008-06-22  9:11 ` Jan Engelhardt

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d67fe091-02b8-4587-8d25-e521d8eb2d2d@d77g2000hsb.googlegroups.com \
    --to=aj504@cs.york.ac.uk \
    --cc=linux-kernel@vger.kernel.org \
    --cc=schmidt@digadd.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®