Index: zorp-3.9.2/lib/pystream.c
===================================================================
--- zorp-3.9.2.orig/lib/pystream.c	2011-10-07 15:12:07.000000000 +0200
+++ zorp-3.9.2/lib/pystream.c	2011-10-07 19:42:35.000000000 +0200
@@ -69,30 +69,14 @@
 
 PyTypeObject z_policy_stream_type = 
 {
-  PyObject_HEAD_INIT(&PyType_Type)
-  0,
-  "ZPolicyStream",
-  sizeof(ZPolicyStream),
-  0,
-  (destructor) z_policy_stream_destroy,
-  0,
-  (getattrfunc) z_policy_stream_getattr,
-  (setattrfunc) z_policy_stream_setattr,
-  0,
-  (reprfunc) z_policy_stream_repr,
-  0,
-  0,
-  0,
-  0,
-  0,
-  0,
-  0,
-  0,
-  0,
-  0,
-  "ZPolicyStream class for Zorp",
-  0, 0, 0, 0,
-  Z_PYTYPE_TRAILER
+  PyVarObject_HEAD_INIT(&PyType_Type, 0)
+  .tp_name = "ZPolicyStream",
+  .tp_basicsize = sizeof(ZPolicyStream),
+  .tp_dealloc = (destructor) z_policy_stream_destroy,
+  .tp_getattr = (getattrfunc) z_policy_stream_getattr,
+  .tp_setattr = (setattrfunc) z_policy_stream_setattr,
+  .tp_repr = (reprfunc) z_policy_stream_repr,
+  .tp_doc = "ZPolicyStream class for Zorp",
 };
 
 /**
Index: zorp-3.9.2/lib/zorp/zpython.h
===================================================================
--- zorp-3.9.2.orig/lib/zorp/zpython.h	2011-10-07 16:36:41.000000000 +0200
+++ zorp-3.9.2/lib/zorp/zpython.h	2011-10-07 19:45:46.000000000 +0200
@@ -29,36 +29,6 @@
 
 #include <zorp/zorp.h>
 
-#if PY_MAJOR_VERSION == 2 && PY_MINOR_VERSION == 4
-#  define Z_PYTYPE_TRAILER_COMMON 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
-#  ifdef COUNT_ALLOCS
-#    define Z_PYTYPE_TRAILER_COUNT_ALLOCS , 0, 0, 0, 0
-#  else
-#    define Z_PYTYPE_TRAILER_COUNT_ALLOCS
-#  endif
-#  define Z_PYTYPE_TRAILER Z_PYTYPE_TRAILER_COMMON Z_PYTYPE_TRAILER_COUNT_ALLOCS
-#elif PY_MAJOR_VERSION == 2 && PY_MINOR_VERSION == 5
-#  define Z_PYTYPE_TRAILER_COMMON 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
-#  ifdef COUNT_ALLOCS
-#    define Z_PYTYPE_TRAILER_COUNT_ALLOCS , 0, 0, 0, 0, 0
-#  else
-#    define Z_PYTYPE_TRAILER_COUNT_ALLOCS
-#  endif
-#  define Z_PYTYPE_TRAILER Z_PYTYPE_TRAILER_COMMON Z_PYTYPE_TRAILER_COUNT_ALLOCS
-#elif PY_MAJOR_VERSION == 2 && PY_MINOR_VERSION == 6
-#  define Z_PYTYPE_TRAILER_COMMON 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
-#  ifdef COUNT_ALLOCS
-#    define Z_PYTYPE_TRAILER_COUNT_ALLOCS , 0, 0, 0, 0, 0
-#  else
-#    define Z_PYTYPE_TRAILER_COUNT_ALLOCS
-#  endif
-#  define Z_PYTYPE_TRAILER Z_PYTYPE_TRAILER_COMMON Z_PYTYPE_TRAILER_COUNT_ALLOCS
-#elif PY_MAJOR_VERSION == 2 && PY_MINOR_VERSION == 3
-#  define Z_PYTYPE_TRAILER 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
-#else
-#  define Z_PYTYPE_TRAILER
-#endif
-
 #if PY_MAJOR_VERSION == 2 && PY_MINOR_VERSION >= 5
 #  define Z_PYMAPPING_LENFUNC_TYPE lenfunc
 #  define Z_PYTHON_SIZE_TYPE gssize
Index: zorp-3.9.2/lib/pydispatch.c
===================================================================
--- zorp-3.9.2.orig/lib/pydispatch.c	2011-10-07 15:12:07.000000000 +0200
+++ zorp-3.9.2/lib/pydispatch.c	2011-10-07 20:00:27.000000000 +0200
@@ -614,30 +614,12 @@
 
 static PyTypeObject z_policy_dispatch_type = 
 {
-  PyObject_HEAD_INIT(&PyType_Type)
-  0,
-  "ZPolicyDispatch",
-  sizeof(ZPolicyDispatch),
-  0,
-  (destructor) z_policy_dispatch_free,
-  0,
-  (getattrfunc) z_policy_dispatch_getattr,
-  0,
-  0,
-  0,
-  0,
-  0,
-  0,
-  0,
-  0,
-  0,
-  0,
-  0,
-  0,
-  0,
-  "ZPolicyDispatch class for Zorp",
-  0, 0, 0, 0,
-  Z_PYTYPE_TRAILER
+  PyVarObject_HEAD_INIT(&PyType_Type, 0)
+  .tp_name = "ZPolicyDispatch",
+  .tp_basicsize = sizeof(ZPolicyDispatch),
+  .tp_dealloc = (destructor) z_policy_dispatch_free,
+  .tp_getattr =(getattrfunc) z_policy_dispatch_getattr,
+  .tp_doc = "ZPolicyDispatch class for Zorp",
 };
 
 /**
Index: zorp-3.9.2/lib/pyattach.c
===================================================================
--- zorp-3.9.2.orig/lib/pyattach.c	2011-10-07 15:12:07.000000000 +0200
+++ zorp-3.9.2/lib/pyattach.c	2011-10-07 20:05:50.000000000 +0200
@@ -295,30 +295,12 @@
 
 static PyTypeObject z_policy_attach_type = 
 {
-  PyObject_HEAD_INIT(&PyType_Type)
-  0,
-  "ZPolicyAttach",
-  sizeof(ZPolicyAttach),
-  0,
-  (destructor) z_policy_attach_free,
-  0,
-  (getattrfunc) z_policy_attach_getattr,
-  0,
-  0,
-  0, /*(reprfunc) z_policy_attach_repr,*/
-  0,
-  0,
-  0,
-  0,
-  0,
-  0,
-  0,
-  0,
-  0,
-  0,
-  "ZPolicyAttach class for Zorp",
-  0, 0, 0, 0,
-  Z_PYTYPE_TRAILER
+  PyVarObject_HEAD_INIT(&PyType_Type,0)
+  .tp_name = "ZPolicyAttach",
+  .tp_basicsize = sizeof(ZPolicyAttach),
+  .tp_dealloc = (destructor) z_policy_attach_free,
+  .tp_getattr = (getattrfunc) z_policy_attach_getattr,
+  .tp_doc = "ZPolicyAttach class for Zorp"
 };
 
 
Index: zorp-3.9.2/lib/pydict.c
===================================================================
--- zorp-3.9.2.orig/lib/pydict.c	2011-10-07 15:12:07.000000000 +0200
+++ zorp-3.9.2/lib/pydict.c	2011-10-07 20:25:46.000000000 +0200
@@ -599,30 +599,12 @@
 
 static PyTypeObject z_policy_method_type = 
 {
-  PyObject_HEAD_INIT(&PyType_Type)
-  0,
-  "ZPolicyMethod",
-  sizeof(ZPolicyMethod),
-  0,
-  (destructor) z_policy_method_free, 
-  0,                                  /* tp_print */
-  0,                                  /* tp_getattr */
-  0,                                  /* tp_setattr */
-  0,                                  /* tp_compare */
-  0,                                  /* tp_repr */
-  0,                                  /* tp_as_number */
-  0,                                  /* tp_as_sequence */
-  0,                                  /* tp_as_mapping */
-  0,                                  /* tp_hash */
-  (ternaryfunc) z_policy_method_call,/* tp_call */
-  0,                                  /* tp_str */
-  0,                                  /* tp_getattro */
-  0,                                  /* tp_setattro */
-  0,                                  /* tp_as_buffer */
-  0,                                  /* flags */
-  "ZPolicyMethod class for Zorp",        /* docstring */
-  0, 0, 0, 0,
-  Z_PYTYPE_TRAILER
+  PyVarObject_HEAD_INIT(&PyType_Type, 0)
+  .tp_name = "ZPolicyMethod",
+  .tp_basicsize = sizeof(ZPolicyMethod),
+  .tp_dealloc = (destructor) z_policy_method_free,
+  .tp_call = (ternaryfunc) z_policy_method_call,
+  .tp_doc = "ZPolicyMethod class for Zorp"
 };
 
 /**
@@ -1132,30 +1114,12 @@
 
 PyTypeObject z_policy_hash_type =
 {
-  PyObject_HEAD_INIT(&PyType_Type)
-  0,
-  "Zorp hash",
-  sizeof(ZPolicyHash),
-  0,
-  (destructor) z_policy_hash_free,
-  0,                                  /* tp_print */
-  0,                                  /* tp_getattr */
-  0,                                  /* tp_setattr */
-  0,                                  /* tp_compare */
-  0,                                  /* tp_repr */
-  0,                                  /* tp_as_number */
-  0,                                  /* tp_as_sequence */
-  &z_policy_hash_mapping,             /* tp_as_mapping */
-  0,                                  /* tp_hash */
-  0,                                  /* tp_call */
-  0,                                  /* tp_str */
-  0,                                  /* tp_getattro */
-  0,                                  /* tp_setattro */
-  0,                                  /* tp_as_buffer */
-  0,                                  /* flags */
-  "ZPolicyHash class for Zorp",          /* docstring */
-  0, 0, 0, 0,
-  Z_PYTYPE_TRAILER
+  PyVarObject_HEAD_INIT(&PyType_Type, 0)
+  .tp_name = "Zorp hash",
+  .tp_basicsize = sizeof(ZPolicyHash),
+  .tp_dealloc = (destructor) z_policy_hash_free,
+  .tp_as_mapping = &z_policy_hash_mapping,
+  .tp_doc = "ZPolicyHash class for Zorp"
 };
 
 void
@@ -1441,30 +1405,12 @@
 
 PyTypeObject z_policy_dim_hash_type = 
 {
-  PyObject_HEAD_INIT(&PyType_Type)
-  0,
-  "Zorp Multidimensional hash",
-  sizeof(ZPolicyDimHash),
-  0,
-  (destructor) z_policy_dim_hash_free, 
-  0,                                  /* tp_print */
-  0,                                  /* tp_getattr */
-  0,                                  /* tp_setattr */
-  0,                                  /* tp_compare */
-  0,                                  /* tp_repr */
-  0,                                  /* tp_as_number */
-  0,                                  /* tp_as_sequence */
-  &z_policy_dim_hash_mapping,        /* tp_as_mapping */
-  0,                                  /* tp_hash */
-  0,  				      /* tp_call */
-  0,                                  /* tp_str */
-  0,                                  /* tp_getattro */
-  0,                                  /* tp_setattro */
-  0,                                  /* tp_as_buffer */
-  0,                                  /* flags */
-  "ZPolicyDimHash class for Zorp",       /* docstring */
-  0, 0, 0, 0,
-  Z_PYTYPE_TRAILER
+  PyVarObject_HEAD_INIT(&PyType_Type, 0)
+  .tp_name = "Zorp Multidimensional hash",
+  .tp_basicsize = sizeof(ZPolicyDimHash),
+  .tp_dealloc = (destructor) z_policy_dim_hash_free,
+  .tp_as_mapping = &z_policy_dim_hash_mapping,
+  .tp_doc = "ZPolicyDimHash class for Zorp"
 };
 
 static void
Index: zorp-3.9.2/lib/pyx509.c
===================================================================
--- zorp-3.9.2.orig/lib/pyx509.c	2011-10-07 15:12:07.000000000 +0200
+++ zorp-3.9.2/lib/pyx509.c	2011-10-07 20:35:33.000000000 +0200
@@ -123,30 +123,12 @@
 
 static PyTypeObject z_py_zorp_certificate_type =
 {
-  PyObject_HEAD_INIT(&PyType_Type)
-  0,
-  "Zorp Certificate",
-  sizeof(ZorpCertificate),
-  0,
-  (destructor) z_py_zorp_certificate_free,
-  0,                                  /* tp_print */
-  z_py_zorp_certificate_getattr,      /* tp_getattr */
-  0,                                  /* tp_setattr */
-  0,                                  /* tp_compare */
-  0,                                  /* tp_repr */
-  0,                                  /* tp_as_number */
-  0,                                  /* tp_as_sequence */
-  0,                                  /* tp_as_mapping */
-  0,                                  /* tp_hash */
-  0,                                  /* tp_call */
-  0,                                  /* tp_str */
-  0,                                  /* tp_getattro */
-  0,                                  /* tp_setattro */
-  0,                                  /* tp_as_buffer */
-  0,                                  /* flags */
-  "ZorpCertificate class for Zorp",   /* docstring */
-  0, 0, 0, 0,
-  Z_PYTYPE_TRAILER
+  PyVarObject_HEAD_INIT(&PyType_Type, 0)
+  .tp_name = "Zorp Certificate",
+  .tp_basicsize = sizeof(ZorpCertificate),
+  .tp_dealloc = (destructor) z_py_zorp_certificate_free,
+  .tp_getattr = z_py_zorp_certificate_getattr,      /* tp_getattr */
+  .tp_doc = "ZorpCertificate class for Zorp",   /* docstring */
 };
 
 typedef struct _ZorpCRL
@@ -209,30 +191,12 @@
 
 static PyTypeObject z_py_zorp_crl_type =
 {
-  PyObject_HEAD_INIT(&PyType_Type)
-  0,
-  "Zorp CRL",
-  sizeof(ZorpCRL),
-  0,
-  (destructor) z_py_zorp_crl_free,
-  0,                                  /* tp_print */
-  z_py_zorp_crl_getattr,              /* tp_getattr */
-  0,                                  /* tp_setattr */
-  0,                                  /* tp_compare */
-  0,                                  /* tp_repr */
-  0,                                  /* tp_as_number */
-  0,                                  /* tp_as_sequence */
-  0,                                  /* tp_as_mapping */
-  0,                                  /* tp_hash */
-  0,                                  /* tp_call */
-  0,                                  /* tp_str */
-  0,                                  /* tp_getattro */
-  0,                                  /* tp_setattro */
-  0,                                  /* tp_as_buffer */
-  0,                                  /* flags */
-  "ZorpCRL class for Zorp",           /* docstring */
-  0, 0, 0, 0,
-  Z_PYTYPE_TRAILER
+  PyVarObject_HEAD_INIT(&PyType_Type, 0)
+  .tp_name = "Zorp CRL",
+  .tp_basicsize = sizeof(ZorpCRL),
+  .tp_dealloc = (destructor) z_py_zorp_crl_free,
+  .tp_getattr = z_py_zorp_crl_getattr,
+  .tp_doc = "ZorpCRL class for Zorp"
 };
 
 typedef struct _ZorpCertList
@@ -362,30 +326,12 @@
 
 static PyTypeObject z_py_zorp_cert_list_type =
 {
-  PyObject_HEAD_INIT(&PyType_Type)
-  0,
-  "Zorp Certificate List",
-  sizeof(ZorpCertList),
-  0,
-  (destructor) z_py_zorp_cert_list_free,
-  0,                                  /* tp_print */
-  0,                                  /* tp_getattr */
-  0,                                  /* tp_setattr */
-  0,                                  /* tp_compare */
-  0,                                  /* tp_repr */
-  0,                                  /* tp_as_number */
-  0,                                  /* tp_as_sequence */
-  &z_py_zorp_cert_list_mapping,        /* tp_as_mapping */
-  0,                                  /* tp_hash */
-  0,                                  /* tp_call */
-  0,                                  /* tp_str */
-  0,                                  /* tp_getattro */
-  0,                                  /* tp_setattro */
-  0,                                  /* tp_as_buffer */
-  0,                                  /* flags */
-  "ZorpCertList class for Zorp",   /* docstring */
-  0, 0, 0, 0,
-  Z_PYTYPE_TRAILER
+  PyVarObject_HEAD_INIT(&PyType_Type, 0)
+  .tp_name = "Zorp Certificate List",
+  .tp_basicsize = sizeof(ZorpCertList),
+  .tp_dealloc = (destructor) z_py_zorp_cert_list_free,
+  .tp_as_mapping = &z_py_zorp_cert_list_mapping,        /* tp_as_mapping */
+  .tp_doc = "ZorpCertList class for Zorp",   /* docstring */
 };
 
 typedef struct _ZorpCertNameList
@@ -474,30 +420,12 @@
 
 static PyTypeObject z_py_zorp_cert_name_list_type =
 {
-  PyObject_HEAD_INIT(&PyType_Type)
-  0,
-  "Zorp Certificate Name List",
-  sizeof(ZorpCertNameList),
-  0,
-  (destructor) z_py_zorp_cert_name_list_free,
-  0,                                  /* tp_print */
-  0,                                  /* tp_getattr */
-  0,                                  /* tp_setattr */
-  0,                                  /* tp_compare */
-  0,                                  /* tp_repr */
-  0,                                  /* tp_as_number */
-  0,                                  /* tp_as_sequence */
-  &z_py_zorp_cert_name_list_mapping,        /* tp_as_mapping */
-  0,                                  /* tp_hash */
-  0,                                  /* tp_call */
-  0,                                  /* tp_str */
-  0,                                  /* tp_getattro */
-  0,                                  /* tp_setattro */
-  0,                                  /* tp_as_buffer */
-  0,                                  /* flags */
-  "ZorpCertNameList class for Zorp",   /* docstring */
-  0, 0, 0, 0,
-  Z_PYTYPE_TRAILER
+  PyVarObject_HEAD_INIT(&PyType_Type, 0)
+  .tp_name = "Zorp Certificate Name List",
+  .tp_basicsize = sizeof(ZorpCertNameList),
+  .tp_dealloc = (destructor) z_py_zorp_cert_name_list_free,
+  .tp_as_mapping = &z_py_zorp_cert_name_list_mapping,
+  .tp_doc = "ZorpCertNameList class for Zorp"
 };
 
 typedef struct _ZorpCRLList
@@ -628,30 +556,12 @@
 
 static PyTypeObject z_py_zorp_crl_list_type =
 {
-  PyObject_HEAD_INIT(&PyType_Type)
-  0,
-  "Zorp CRL List",
-  sizeof(ZorpCRLList),
-  0,
-  (destructor) z_py_zorp_crl_list_free,
-  0,                                  /* tp_print */
-  0,                                  /* tp_getattr */
-  0,                                  /* tp_setattr */
-  0,                                  /* tp_compare */
-  0,                                  /* tp_repr */
-  0,                                  /* tp_as_number */
-  0,                                  /* tp_as_sequence */
-  &z_py_zorp_crl_list_mapping,        /* tp_as_mapping */
-  0,                                  /* tp_hash */
-  0,                                  /* tp_call */
-  0,                                  /* tp_str */
-  0,                                  /* tp_getattro */
-  0,                                  /* tp_setattro */
-  0,                                  /* tp_as_buffer */
-  0,                                  /* flags */
-  "ZorpCRLList class for Zorp",   /* docstring */
-  0, 0, 0, 0,
-  Z_PYTYPE_TRAILER
+  PyVarObject_HEAD_INIT(&PyType_Type, 0)
+  .tp_name = "Zorp CRL List",
+  .tp_basicsize = sizeof(ZorpCRLList),
+  .tp_dealloc = (destructor) z_py_zorp_crl_list_free,
+  .tp_as_mapping = &z_py_zorp_crl_list_mapping,
+  .tp_doc = "ZorpCRLList class for Zorp"
 };
 
 ZPolicyObj *
