On Mon, Mar 08, 2010 at 02:32:38PM -0800, Stephens, Allan wrote:
So you made a decision to make broken applications continue to work by breaking
the protocol stack, and in so doing violated the specification. Thats wrong.
The right thing to do is fix the stack to conform to the spec, identify the
broken applications, then fix them to conform to the specification.
Thats a big mistake. The right thing to do is to make it clear to the
applications that they need to send everything in network byte order, and assume
everything receive is in network byte order. Then the application doesn't have
to care what the receivers byte order is. Anything less than that is completely
broken. Supporting backwards compatibility with broken applications by further
breaking things is just more broken.
htohl is perfectly meaningful, its just wrong.
Well, thats broken, but the fix isn't to allow them to continue to support
munging byte order for them, its to make them fix their own brokenness. You may
not be able to break the API for your customers, but upstream can. I won't
speak for Dave or anyone else on the list, but for me, convincing me this isn't
needed will require a technical argument, not a business one. Show me that this
code doesn't violate the latest draft RFC as published.
Setting asside how unacceptable I find that, I find a flaw in your logic here.
you assert the code defines the specification, yet from your statements above,
we can't change the behavior of the code (read: we can't change the
specification, because using applications have already assumed the code behaves
the way it currently does). As such, it would seem that we can do little more
with tipc than maintain exact bug-for-bug compatibility, in perpituity, and
thats unacceptable. Either we:
1) Fix the bugs we find, using the latest published specification
2) Drop tipc from the kernel, since we don't really know how it should work
Seriously, if you're tree is the definitive source on how tipc works, drop it
from upstream, maintain it yourself, and save others the grief of having to fix
anything with it.
Yes, I see that, but where in the spec (section 5.2 IIRC defines the subscriber
data), include the timeout, filter and user handle as components of the
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html