[CalendarServer-changes] [15659] PyKerberos/trunk/src/kerberos.c

source_changes at macosforge.org source_changes at macosforge.org
Mon Jun 6 17:13:06 PDT 2016


Revision: 15659
          http://trac.calendarserver.org//changeset/15659
Author:   dre at apple.com
Date:     2016-06-06 17:13:05 -0700 (Mon, 06 Jun 2016)
Log Message:
-----------
Contributed patch to fix 'ValueError: PyCapsule_SetPointer called with null pointer' on python3. Regression testing was also performed on python2.

Modified Paths:
--------------
    PyKerberos/trunk/src/kerberos.c

Modified: PyKerberos/trunk/src/kerberos.c
===================================================================
--- PyKerberos/trunk/src/kerberos.c	2016-06-06 18:21:21 UTC (rev 15658)
+++ PyKerberos/trunk/src/kerberos.c	2016-06-07 00:13:05 UTC (rev 15659)
@@ -63,6 +63,9 @@
 static char spnego_mech_oid_bytes[] = "\x2b\x06\x01\x05\x05\x02";
 gss_OID_desc spnego_mech_oid = { 6, &spnego_mech_oid_bytes };
 
+char STATE_NULL_C = 'C';
+void* STATE_NULL = &STATE_NULL_C;
+
 PyObject *KrbException_class;
 PyObject *BasicAuthException_class;
 PyObject *PwdChangeException_class;
@@ -198,11 +201,11 @@
 
     state = (gss_client_state *)PyCObject_AsVoidPtr(pystate);
 
-    if (state != NULL) {
+    if (state != STATE_NULL) {
         result = authenticate_gss_client_clean(state);
 
         free(state);
-        PyCObject_SetVoidPtr(pystate, NULL);
+        PyCObject_SetVoidPtr(pystate, STATE_NULL);
     }
 
     return Py_BuildValue("i", result);
@@ -226,7 +229,7 @@
 
     state = (gss_client_state *)PyCObject_AsVoidPtr(pystate);
 
-    if (state == NULL) {
+    if (state == STATE_NULL) {
         return NULL;
     }
 
@@ -255,7 +258,7 @@
 
     state = (gss_client_state *)PyCObject_AsVoidPtr(pystate);
 
-    if (state == NULL) {
+    if (state == STATE_NULL) {
         return NULL;
     }
 
@@ -278,7 +281,7 @@
 
     state = (gss_server_state *)PyCObject_AsVoidPtr(pystate);
 
-    if (state == NULL) {
+    if (state == STATE_NULL) {
         return NULL;
     }
 
@@ -301,7 +304,7 @@
 
     state = (gss_client_state *)PyCObject_AsVoidPtr(pystate);
 
-    if (state == NULL) {
+    if (state == STATE_NULL) {
         return NULL;
     }
 
@@ -324,7 +327,7 @@
 
     state = (gss_client_state *)PyCObject_AsVoidPtr(pystate);
 
-    if (state == NULL) {
+    if (state == STATE_NULL) {
         return NULL;
     }
 
@@ -349,7 +352,7 @@
 
 	state = (gss_client_state *)PyCObject_AsVoidPtr(pystate);
 
-	if (state == NULL) {
+	if (state == STATE_NULL) {
 		return NULL;
     }
 
@@ -384,7 +387,7 @@
 
 	state = (gss_client_state *)PyCObject_AsVoidPtr(pystate);
 
-	if (state == NULL) {
+	if (state == STATE_NULL) {
 		return NULL;
     }
 
@@ -412,7 +415,7 @@
     }
 
     state = (gss_client_state *)PyCObject_AsVoidPtr(pystate);
-    if (state == NULL) {
+    if (state == STATE_NULL) {
         return NULL;
     }
 
@@ -469,11 +472,11 @@
 
     state = (gss_server_state *)PyCObject_AsVoidPtr(pystate);
 
-    if (state != NULL) {
+    if (state != STATE_NULL) {
         result = authenticate_gss_server_clean(state);
 
         free(state);
-        PyCObject_SetVoidPtr(pystate, NULL);
+        PyCObject_SetVoidPtr(pystate, STATE_NULL);
     }
 
     return Py_BuildValue("i", result);
@@ -497,7 +500,7 @@
 
     state = (gss_server_state *)PyCObject_AsVoidPtr(pystate);
 
-    if (state == NULL) {
+    if (state == STATE_NULL) {
         return NULL;
     }
 
@@ -527,7 +530,7 @@
 
     state = (gss_server_state *)PyCObject_AsVoidPtr(pystate);
 
-    if (state == NULL) {
+    if (state == STATE_NULL) {
         return NULL;
     }
 
@@ -556,7 +559,7 @@
 
     state = (gss_server_state *)PyCObject_AsVoidPtr(pystate);
 
-    if (state == NULL) {
+    if (state == STATE_NULL) {
         return NULL;
     }
 
@@ -579,7 +582,7 @@
     
     state = (gss_server_state *)PyCObject_AsVoidPtr(pystate);
 
-    if (state == NULL) {
+    if (state == STATE_NULL) {
         return NULL;
     }
     
@@ -602,7 +605,7 @@
     
     state = (gss_server_state *)PyCObject_AsVoidPtr(pystate);
 
-    if (state == NULL) {
+    if (state == STATE_NULL) {
         return NULL;
     }
 
@@ -625,7 +628,7 @@
     
     state = (gss_server_state *)PyCObject_AsVoidPtr(pystate);
 
-    if (state == NULL) {
+    if (state == STATE_NULL) {
         return NULL;
     }
     
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/calendarserver-changes/attachments/20160606/2a682dc2/attachment.html>


More information about the calendarserver-changes mailing list