The patch is incomplete. I'm currently fixing it and will post again to
the list when corrected.

On Fri, 2008-05-30 at 18:45 +0200, Julien Kerihuel wrote:
> Hi List,
>
> This patch fixes the if_version generated by pidl in the server
> boilerplate code for an interface.
>
> the ndr_syntax_id structure in misc.idl defines if_version as uint32_t
> but should be represented as:
> uint16_t if_version;
> uint16_t if_version_minor;
>
> Using a unique uint32_t causes byte order problem for interfaces with a
> version minor different from 0. For example:
>
> version(0.81)
> * if_version: 00
> * if_version_minor: 81
> * wire representation: 00 00 51 00
> * ndr_syntax_id NDR code will pull uint32 if_version and store
> 5308416 (00 51 00 00), causing if_version to mismatch in
> epmapper server code.
>
> Theoretically, this problem should also affect server code for
> interfaces: trkwks, rot, w32time, frsapi.
>
> Cheers,
> Julien.
>

--
Julien Kerihuel
j.kerihuel@openchange.org
OpenChange Project Manager

GPG Fingerprint: 0B55 783D A781 6329 108A B609 7EF6 FE11 A35F 1F79


-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.7 (GNU/Linux)

iD8DBQBIQDbCfvb+EaNfH3kRApvMAJ0TYroazTNBBiCitLab3z c+iE5XiACffTBl
I7eUG8WLEWuOGUq+WLeoNPE=
=VkOD
-----END PGP SIGNATURE-----