Extension to Samba IDL.
Elrond
elrond at samba.org
Mon Jun 19 15:56:05 GMT 2000
Hehe... When I talked with Matty and Luke about extensions,
everyone told me, that those are a bad idea, and everyone
told me, it's always better to keep with msidl on that...
After a while, I saw, that most stuff could be done with it
(and other could be done with some tricky attributes, I
learned later about)
hehe... and now everybody is pro samba-specific
extensions...
Okay, some comments follow:
On Sat, Jun 17, 2000 at 07:59:29AM +1000, Christopher R. Hertel wrote:
> All I need is the go-ahead on what I proposed.
I've no probs with extensions, I wanted some too. And got
told, it's a bad idea... after some long discussion, I got
a little pissed and just stopped the discussion and went
doing other stuff. ;)
> Some quick notes:
>
> 1) When using bitfields, we will have to be careful with alignment. A two
> bit field with no following padding or alignment specified will shift the
> rest of the packet. By default, I think that we should force any
> non-bitfield value to start on a byte boundary.
Yep. Having bytes and other stuff not even aligned at 8 bit
will make samba extremely slow... So I think, this is the
right way: Aligning non-bitfields at a minimum of 8 bit...
If you realy need a byte, that is not aligned properly, you
should do uint8:8 or somesuch.
> 2) It's not good enough to simply mask a byte or word. In the example I gave,
> you either have:
>
> [x|x|y|y|y|y|y|y] or
> [x|x|z|z|z|z|z|z|z|z|z|z|z|z|z|z] depending on the value of xx.
>
> So, if you parse it as a uint8 it might turn out that you needed a uint16,
> and vice versa.
Hmm... that's a run-time issue... not easy, but it should
be doable.
Elrond
More information about the samba-technical
mailing list