[zorp-hu] zorp 64 bit issue

Balazs Scheidler zorp-hu@lists.balabit.hu
Mon, 29 Nov 2004 15:32:58 +0100


hali,

a lenti levelben levo patch megoldja a 64 bites problemat.

-----Forwarded Message-----
> From: Balazs Scheidler <bazsi@balabit.hu>
> To: Magosányi Árpád (mag) <mag@debian.org>
> Cc: Sasa <sasa@debian.org>, sasa@balabit <sasa@balabit.hu>, SZALAY Attila <sasa@pheniscidae.tvnetwork.hu>
> Subject: Re: Zorp test hibák
> Date: Tue, 23 Nov 2004 11:43:02 +0100
> 
> tudunk a dologrol, 3.0-ban van javitva, ime a patch:
> 
> Index: zorp-core/lib/pysockaddr.c
> diff -u zorp-core/lib/pysockaddr.c:1.40 zorp-core/lib/pysockaddr.c:1.41
> --- zorp-core/lib/pysockaddr.c:1.40     Fri Jul  2 12:03:33 2004
> +++ zorp-core/lib/pysockaddr.c  Mon Sep 13 14:26:53 2004
> @@ -22,9 +22,9 @@
>  static PyObject *
>  z_py_ntohl(PyObject *self G_GNUC_UNUSED, PyObject *args)
>  {
> -  long i;
> +  unsigned int i;
> 
> -  if (!PyArg_ParseTuple(args, "i", &i))
> +  if (!PyArg_ParseTuple(args, "I", &i))
>      return NULL;
> 
>    return PyInt_FromLong(ntohl(i));
> @@ -33,9 +33,9 @@
>  static PyObject *
>  z_py_htonl(PyObject *self G_GNUC_UNUSED, PyObject *args)
>  {
> -  int i;
> +  unsigned int i;
> 
> -  if (!PyArg_ParseTuple(args, "i", &i))
> +  if (!PyArg_ParseTuple(args, "I", &i))
>      return NULL;
>    return PyInt_FromLong(htonl(i));
>  }
> 
> 
> 
> 
> On Mon, 2004-11-22 at 22:33, Magosányi Árpád (mag) wrote:
> > Hi!
> > 
> > Van architektúrafüggő hibánk.
> > 
> > Ez Alpha-n, HPPA-n és IA64-en jön elő, tehát a 64 bites architektúrákon,
> > és a gond az, hogy túllépjük az int ábrázolási korlátját:)
> > 
> > +    self.mask = htonl(((1 << self.mask_bits) - 1) << (32 - self.mask_bits))
> > +OverflowError: signed integer is greater than maximum
-- 
Bazsi