Subject: how to prohibit an application from sending a jumbo payload opt

From: JINMEI Tatuya / 神明達哉<[email-masked]>
Date: Mon, 19 Jul 1999 23:30:28 +0900

draft-ietf-ipngwg-2292bis-00 says that we should prohibit a userland
application from including a jumbo payload option in a hop-by-hop
options header when the application sends a packet:

   The Jumbo Payload option should not
   be passed back to an application and an application should receive an
   error if it attempts to set it.
   (the second paragraph of section 7, page 30.) 

I agree that we need some kind of restriction on sending a packet with
a hop-by-hop options header. However, IMO, the behavior described in
the draft is too heavy for the kernel. The kernel has to parse all
options in a hop-by-hop options header passed from an application in
order to check whether or not a jumbo payload option is mistakenly
included. (Note that an application can set a jumbo payload option in
any position of a hop-by-hop options header using inet6_opt_xxx
library functions.) Moreover, the check must be done for every packet
when the application uses a raw/UDP socket.

I'd prefer the following approach:

  - simply prohibit an application from setting a hop-by-hop
    options header(i.e. not special type of options) in a sending
    packet unless the application has some privilege(e.g. the super
    user privilege).
  - if we need an application which may send a hop-by-hop options
    header and can be used by a normal user, temporarily give the
    privilege to the user(using, for example, setuid operation).

Erik Nordmark(@Sun, who is one of the authors of the draft) suggested
me to ask other implementors' opinion. So I posted here. How do you
think of this issue as implementors? I'd appreciate any comments.

Thanks,

					JINMEI, Tatuya
					Communication Platform Laboratory
					Corporate R&D Center, Toshiba
					[email-masked]
--------------------------------------------------------------------
IETF IPng Working Group Mailing List
IPng Home Page:                      http://playground.sun.com/ipng
FTP archive:                      ftp://playground.sun.com/pub/ipng
Direct all administrative requests to [email-masked]
--------------------------------------------------------------------

---

From: Craig Metz <[email-masked]>
Date: Mon, 19 Jul 1999 14:22:21 -0400

>when the application uses a raw/UDP socket.

  I believe that having the application send the kernel fully formed options
headers is inherently flawed.

									-Craig

---

From: JINMEI Tatuya / 神明達哉<[email-masked]>
Date: Tue, 20 Jul 1999 03:46:10 +0900

>>>>> On Mon, 19 Jul 1999 14:22:21 -0400, 
>>>>> Craig Metz <[email-masked]> said:

>> when the application uses a raw/UDP socket.

(To make sure of it:) I didn't mean that an application should
correctly set all options including a jumbo payload option. Some
options, of course, should be set in the kernel automatically.

> headers is inherently flawed.

So do you have any good idea? Should we adopt a completely different
API?

					JINMEI, Tatuya