Hello community,

here is the log from the commit of package python-pykerberos for 
openSUSE:Factory checked in at 2017-08-22 11:11:14
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-pykerberos (Old)
 and      /work/SRC/openSUSE:Factory/.python-pykerberos.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-pykerberos"

Tue Aug 22 11:11:14 2017 rev:3 rq:518029 version:1.1.14

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-pykerberos/python-pykerberos.changes      
2016-09-28 11:29:56.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.python-pykerberos.new/python-pykerberos.changes 
2017-08-22 11:11:16.082524563 +0200
@@ -1,0 +2,6 @@
+Tue Aug 22 04:35:01 UTC 2017 - tbecht...@suse.com
+
+- update to 1.1.14
+- convert to singlespec
+
+-------------------------------------------------------------------

Old:
----
  pykerberos-1.1.13.tar.gz

New:
----
  pykerberos-1.1.14.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-pykerberos.spec ++++++
--- /var/tmp/diff_new_pack.yLWVkK/_old  2017-08-22 11:11:16.810422071 +0200
+++ /var/tmp/diff_new_pack.yLWVkK/_new  2017-08-22 11:11:16.814421507 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package python-pykerberos
 #
-# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -16,24 +16,25 @@
 #
 
 
+%{?!python_module:%define python_module() python-%{**} python3-%{**}}
 Name:           python-pykerberos
-Version:        1.1.13
+Version:        1.1.14
 Release:        0
 Summary:        High-level interface to Kerberos
 License:        Apache-2.0
 Group:          Development/Languages/Python
 Url:            https://github.com/02strich/pykerberos/
 Source:         
https://pypi.io/packages/source/p/pykerberos/pykerberos-%{version}.tar.gz
-BuildRequires:  python-devel
-BuildRequires:  python-setuptools
+BuildRequires:  %{python_module devel}
+BuildRequires:  %{python_module setuptools}
+BuildRequires:  python-rpm-macros
 BuildRequires:  pkgconfig(krb5)
 # https://github.com/02strich/pykerberos/issues/17
 Conflicts:      python-kerberos
 Requires:       krb5
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
-%if 0%{?suse_version} && 0%{?suse_version} <= 1110
-%{!?python_sitearch: %global python_sitearch %(python -c "from 
distutils.sysconfig import get_python_lib; print get_python_lib(1)")}
-%endif
+
+%python_subpackages
 
 %description
 This Python package is a high-level wrapper for Kerberos (GSSAPI) operations.
@@ -45,12 +46,13 @@
 %setup -q -n pykerberos-%{version}
 
 %build
-CFLAGS="%{optflags}" python setup.py build
+export CFLAGS="%{optflags}"
+%python_build
 
 %install
-python setup.py install --prefix=%{_prefix} --root=%{buildroot}
+%python_install
 
-%files
+%files %{python_files}
 %defattr(-,root,root,-)
 %doc README.txt LICENSE
 %{python_sitearch}/*

++++++ pykerberos-1.1.13.tar.gz -> pykerberos-1.1.14.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pykerberos-1.1.13/PKG-INFO 
new/pykerberos-1.1.14/PKG-INFO
--- old/pykerberos-1.1.13/PKG-INFO      2016-06-03 04:21:48.000000000 +0200
+++ new/pykerberos-1.1.14/PKG-INFO      2017-01-26 08:32:40.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: pykerberos
-Version: 1.1.13
+Version: 1.1.14
 Summary: High-level interface to Kerberos
 Home-page: UNKNOWN
 Author: UNKNOWN
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pykerberos-1.1.13/pykerberos.egg-info/PKG-INFO 
new/pykerberos-1.1.14/pykerberos.egg-info/PKG-INFO
--- old/pykerberos-1.1.13/pykerberos.egg-info/PKG-INFO  2016-06-03 
04:21:48.000000000 +0200
+++ new/pykerberos-1.1.14/pykerberos.egg-info/PKG-INFO  2017-01-26 
08:32:40.000000000 +0100
@@ -1,6 +1,6 @@
 Metadata-Version: 1.1
 Name: pykerberos
-Version: 1.1.13
+Version: 1.1.14
 Summary: High-level interface to Kerberos
 Home-page: UNKNOWN
 Author: UNKNOWN
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pykerberos-1.1.13/pysrc/kerberos.py 
new/pykerberos-1.1.14/pysrc/kerberos.py
--- old/pykerberos-1.1.13/pysrc/kerberos.py     2016-05-30 07:38:36.000000000 
+0200
+++ new/pykerberos-1.1.14/pysrc/kerberos.py     2017-01-26 08:32:32.000000000 
+0100
@@ -101,7 +101,7 @@
 GSS_C_PROT_READY_FLAG = 128
 GSS_C_TRANS_FLAG      = 256
 
-def authGSSClientInit(service, principal=None, 
gssflags=GSS_C_MUTUAL_FLAG|GSS_C_SEQUENCE_FLAG):
+def authGSSClientInit(service, principal=None, 
gssflags=GSS_C_MUTUAL_FLAG|GSS_C_SEQUENCE_FLAG, mech_oid=None):
     """
     Initializes a context for GSSAPI client-side authentication with the given 
service principal.
     authGSSClientClean must be called after this function returns an OK result 
to dispose of
@@ -114,6 +114,8 @@
     @param gssflags: optional integer used to set GSS flags.
         (e.g.  GSS_C_DELEG_FLAG|GSS_C_MUTUAL_FLAG|GSS_C_SEQUENCE_FLAG will 
allow
         for forwarding credentials to the remote host)
+    @param mech_oid: Optional GSS mech OID. Defaults to None (GSS_C_NO_OID).
+        Other possible values are GSS_MECH_OID_KRB5, GSS_MECH_OID_SPNEGO.
     @return: a tuple of (result, context) where result is the result code (see 
above) and
         context is an opaque value that will need to be passed to subsequent 
functions.
     """
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pykerberos-1.1.13/setup.py 
new/pykerberos-1.1.14/setup.py
--- old/pykerberos-1.1.13/setup.py      2016-06-03 04:21:00.000000000 +0200
+++ new/pykerberos-1.1.14/setup.py      2017-01-26 08:32:32.000000000 +0100
@@ -58,7 +58,7 @@
 
 setup (
     name = "pykerberos",
-    version = "1.1.13",
+    version = "1.1.14",
     description = "High-level interface to Kerberos",
     long_description=long_description,
     license="ASL 2.0",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pykerberos-1.1.13/src/kerberos.c 
new/pykerberos-1.1.14/src/kerberos.c
--- old/pykerberos-1.1.13/src/kerberos.c        2016-05-30 07:38:36.000000000 
+0200
+++ new/pykerberos-1.1.14/src/kerberos.c        2017-01-26 08:32:32.000000000 
+0100
@@ -34,6 +34,12 @@
     #define PyClear(object) PyCObject_SetVoidPtr(object, NULL)
 #endif
 
+static char krb5_mech_oid_bytes [] = "\x2a\x86\x48\x86\xf7\x12\x01\x02\x02";
+gss_OID_desc krb5_mech_oid = { 9, &krb5_mech_oid_bytes };
+
+static char spnego_mech_oid_bytes[] = "\x2b\x06\x01\x05\x05\x02";
+gss_OID_desc spnego_mech_oid = { 6, &spnego_mech_oid_bytes };
+
 PyObject *KrbException_class;
 PyObject *BasicAuthException_class;
 PyObject *PwdChangeException_class;
@@ -120,18 +126,32 @@
     const char *principal = NULL;
     gss_client_state *state;
     PyObject *pystate;
-    static char *kwlist[] = {"service", "principal", "gssflags", NULL};
+    gss_OID mech_oid = GSS_C_NO_OID;
+    PyObject *pymech_oid = NULL;
+    static char *kwlist[] = {"service", "principal", "gssflags", "mech_oid", 
NULL};
     long int gss_flags = GSS_C_MUTUAL_FLAG | GSS_C_SEQUENCE_FLAG;
     int result = 0;
 
-    if (!PyArg_ParseTupleAndKeywords(args, keywds, "s|zl", kwlist, &service, 
&principal, &gss_flags)) {
+    if (!PyArg_ParseTupleAndKeywords(args, keywds, "s|zlO", kwlist, &service, 
&principal, &gss_flags, &pymech_oid)) {
         return NULL;
     }
 
+    if (pymech_oid != NULL) {
+        if (!PyCheck(pymech_oid)) {
+            PyErr_SetString(PyExc_TypeError, "Invalid type for mech_oid");
+            return NULL;
+        }
+        mech_oid = PyGet(pymech_oid, gss_OID_desc);
+        if (mech_oid == NULL) {
+            PyErr_SetString(PyExc_TypeError, "Invalid value for mech_oid");
+            return NULL;
+        }
+    }
+
     state = (gss_client_state *) malloc(sizeof(gss_client_state));
     pystate = PyNew(state, &destruct_client);
 
-    result = authenticate_gss_client_init(service, principal, gss_flags, 
state);
+    result = authenticate_gss_client_init(service, principal, gss_flags, 
mech_oid, state);
     if (result == AUTH_GSS_ERROR) {
         return NULL;
     }
@@ -597,6 +617,8 @@
     PyDict_SetItemString(d, "GSS_C_ANON_FLAG", 
PyInt_FromLong(GSS_C_ANON_FLAG));
     PyDict_SetItemString(d, "GSS_C_PROT_READY_FLAG", 
PyInt_FromLong(GSS_C_PROT_READY_FLAG));
     PyDict_SetItemString(d, "GSS_C_TRANS_FLAG", 
PyInt_FromLong(GSS_C_TRANS_FLAG));
+    PyDict_SetItemString(d, "GSS_MECH_OID_KRB5", PyNew(&krb5_mech_oid, NULL));
+    PyDict_SetItemString(d, "GSS_MECH_OID_SPNEGO", PyNew(&spnego_mech_oid, 
NULL));
 
 error:
     if (PyErr_Occurred())
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pykerberos-1.1.13/src/kerberosgss.c 
new/pykerberos-1.1.14/src/kerberosgss.c
--- old/pykerberos-1.1.13/src/kerberosgss.c     2016-05-27 03:39:58.000000000 
+0200
+++ new/pykerberos-1.1.14/src/kerberosgss.c     2017-01-26 08:32:32.000000000 
+0100
@@ -106,7 +106,7 @@
     return result;
 }
 
-int authenticate_gss_client_init(const char* service, const char* principal, 
long int gss_flags, gss_client_state* state)
+int authenticate_gss_client_init(const char* service, const char* principal, 
long int gss_flags, gss_OID mech_oid, gss_client_state* state)
 {
     OM_uint32 maj_stat;
     OM_uint32 min_stat;
@@ -116,6 +116,7 @@
 
     gss_OID mech;
     state->server_name = GSS_C_NO_NAME;
+    state->mech_oid = mech_oid;
     state->context = GSS_C_NO_CONTEXT;
     state->gss_flags = gss_flags;
     state->client_creds = GSS_C_NO_CREDENTIAL;
@@ -234,7 +235,7 @@
                                     state->client_creds,
                                     &state->context,
                                     state->server_name,
-                                    GSS_C_NO_OID,
+                                    state->mech_oid,
                                     (OM_uint32)state->gss_flags,
                                     0,
                                     NULL, //GSS_C_NO_CHANNEL_BINDINGS,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/pykerberos-1.1.13/src/kerberosgss.h 
new/pykerberos-1.1.14/src/kerberosgss.h
--- old/pykerberos-1.1.13/src/kerberosgss.h     2015-04-14 07:01:38.000000000 
+0200
+++ new/pykerberos-1.1.14/src/kerberosgss.h     2017-01-26 08:32:32.000000000 
+0100
@@ -33,6 +33,7 @@
 typedef struct {
     gss_ctx_id_t     context;
     gss_name_t       server_name;
+    gss_OID          mech_oid;
     long int         gss_flags;
     gss_cred_id_t    client_creds;
     char*            username;
@@ -53,7 +54,7 @@
 
 char* server_principal_details(const char* service, const char* hostname);
 
-int authenticate_gss_client_init(const char* service, const char* principal, 
long int gss_flags, gss_client_state* state);
+int authenticate_gss_client_init(const char* service, const char* principal, 
long int gss_flags, gss_OID mech_oid, gss_client_state* state);
 int authenticate_gss_client_clean(gss_client_state *state);
 int authenticate_gss_client_step(gss_client_state *state, const char 
*challenge);
 int authenticate_gss_client_unwrap(gss_client_state* state, const char* 
challenge);


Reply via email to