r1558 - in packages/libauthen-krb5-perl/trunk: . debian
Russ Allbery
rra-guest at costa.debian.org
Sat Dec 3 18:07:31 UTC 2005
Author: rra-guest
Date: 2005-12-03 18:07:30 +0000 (Sat, 03 Dec 2005)
New Revision: 1558
Modified:
packages/libauthen-krb5-perl/trunk/COPYRIGHT
packages/libauthen-krb5-perl/trunk/Changes
packages/libauthen-krb5-perl/trunk/Krb5.pm
packages/libauthen-krb5-perl/trunk/Krb5.xs
packages/libauthen-krb5-perl/trunk/debian/changelog
packages/libauthen-krb5-perl/trunk/typemap
Log:
* New upstream release.
- Add keyblock accessor functions to allow use of the session key.
Modified: packages/libauthen-krb5-perl/trunk/COPYRIGHT
===================================================================
--- packages/libauthen-krb5-perl/trunk/COPYRIGHT 2005-12-03 18:05:19 UTC (rev 1557)
+++ packages/libauthen-krb5-perl/trunk/COPYRIGHT 2005-12-03 18:07:30 UTC (rev 1558)
@@ -1,3 +1,3 @@
-Copyright (c) 2000-2005 Jeff Horwitz (jeff at smashing.org). All rights reserved.
+Copyright (c) 2000-2004 Jeff Horwitz (jeff at smashing.org). All rights reserved.
This module is free software; you can redistribute it and/or modify it under
the same terms as Perl itself.
Modified: packages/libauthen-krb5-perl/trunk/Changes
===================================================================
--- packages/libauthen-krb5-perl/trunk/Changes 2005-12-03 18:05:19 UTC (rev 1557)
+++ packages/libauthen-krb5-perl/trunk/Changes 2005-12-03 18:07:30 UTC (rev 1558)
@@ -1,6 +1,9 @@
Revision history for Perl extension Krb5.
+1.5 Fix broken compile for Authen::Krb5::Keytab::get_name()
+
1.4 Added methods for manipulating keytabs (ajk at iu.edu)
+ Added keyblock accessor functions to allow use of the session key.
1.3 Added get_in_tkt_with_keytab() function (jorgen at greytower.net)
Modified: packages/libauthen-krb5-perl/trunk/Krb5.pm
===================================================================
--- packages/libauthen-krb5-perl/trunk/Krb5.pm 2005-12-03 18:05:19 UTC (rev 1557)
+++ packages/libauthen-krb5-perl/trunk/Krb5.pm 2005-12-03 18:07:30 UTC (rev 1558)
@@ -52,7 +52,7 @@
KRB5_NT_UNKNOWN
KRB5_TGS_NAME
);
-$VERSION = '1.4';
+$VERSION = '1.5';
sub KRB5_TGS_NAME() { return "krbtgt"; }
@@ -284,6 +284,8 @@
=head2 CLASSES & METHODS
+=over 4
+
=item Authen::Krb5::Principal
Kerberos 5 princpal object.
@@ -330,6 +332,30 @@
=back
+=item Authen::Krb5::KeyBlock
+
+Kerberos 5 keyblock object.
+
+=over 4
+
+=item o enctype()
+
+Returns the encryption type ID.
+
+=item o enctype_string()
+
+Returns a text description of the encryption type.
+
+=item o length()
+
+Returns the length of the session key.
+
+=item o contents()
+
+Returns the actual contents of the keyblock (the session key).
+
+=back
+
=item Authen::Krb5::AuthContext
Kerberos 5 auth_context object.
@@ -356,6 +382,10 @@
Sets the replay cache for auth_context. 'rc' is a Authen::Krb5::Rcache object
generated by get_server_rcache.
+=item o getkey()
+
+Retrieves the session key as an Authen::Krb5::KeyBlock object.
+
=back
=item Authen::Krb5::Ticket
Modified: packages/libauthen-krb5-perl/trunk/Krb5.xs
===================================================================
--- packages/libauthen-krb5-perl/trunk/Krb5.xs 2005-12-03 18:05:19 UTC (rev 1557)
+++ packages/libauthen-krb5-perl/trunk/Krb5.xs 2005-12-03 18:07:30 UTC (rev 1558)
@@ -29,6 +29,7 @@
typedef krb5_keyblock *Authen__Krb5__Keyblock;
typedef krb5_keytab_entry *Authen__Krb5__KeytabEntry;
typedef krb5_kt_cursor *Authen__Krb5__KeytabCursor;
+typedef krb5_keyblock *Authen__Krb5__KeyBlock;
static krb5_context context = 0;
static krb5_error_code err;
@@ -648,6 +649,60 @@
freed((SV *)cc);
}
+MODULE = Authen::Krb5 PACKAGE = Authen::Krb5::KeyBlock
+
+int
+length(kb)
+ Authen::Krb5::KeyBlock kb
+
+ CODE:
+ RETVAL = kb->length;
+
+ OUTPUT:
+ RETVAL
+
+void
+contents(kb)
+ Authen::Krb5::KeyBlock kb
+
+ PPCODE:
+ /* sv_2mortal here causes 'Attempt to free unreferenced scalar' later */
+ XPUSHs(newSVpvn((char*)(kb->contents), kb->length));
+
+int
+enctype(kb)
+ Authen::Krb5::KeyBlock kb
+
+ CODE:
+ RETVAL = (int)kb->enctype;
+
+ OUTPUT:
+ RETVAL
+
+void
+enctype_string(kb)
+ Authen::Krb5::KeyBlock kb
+
+ PREINIT:
+ char buf[256];
+
+ PPCODE:
+ err = krb5_enctype_to_string(kb->enctype, buf, 255);
+ if (err) {
+ XSRETURN_UNDEF;
+ }
+ XPUSHs(newSVpv(buf, 0));
+
+void
+DESTROY(kb)
+ Authen::Krb5::KeyBlock kb
+
+ CODE:
+ if (kb && should_free((SV *)kb)) {
+ krb5_free_keyblock(context,kb);
+ freed((SV *)kb);
+ }
+
MODULE = Authen::Krb5 PACKAGE = Authen::Krb5::AuthContext
Authen::Krb5::AuthContext
@@ -752,6 +807,21 @@
if (err) XSRETURN_UNDEF;
XSRETURN_YES;
+Authen::Krb5::KeyBlock
+getkey(auth_context)
+ Authen::Krb5::AuthContext auth_context;
+
+ PREINIT:
+ SV *sv;
+
+ CODE:
+ err = krb5_auth_con_getkey(context, auth_context, &RETVAL);
+ if (err) XSRETURN_UNDEF;
+ can_free((SV *)RETVAL);
+
+ OUTPUT:
+ RETVAL
+
void
DESTROY(auth_context)
Authen::Krb5::AuthContext auth_context;
@@ -929,18 +999,23 @@
OUTPUT:
RETVAL
-char *
+SV *
get_name(keytab)
Authen::Krb5::Keytab keytab
+ PREINIT:
+ char name[MAX_KEYTAB_NAME_LEN+1];
+
CODE:
- char name[BUFSIZ];
- err = krb5_kt_get_name(context, keytab, name, sizeof name - 1);
+ err = krb5_kt_get_name(context, keytab, name, MAX_KEYTAB_NAME_LEN);
if (err)
XSRETURN_UNDEF;
- name[sizeof name - 1] = '\0';
- ST(0) = sv_2mortal(newSVpv(name, 0));
+ RETVAL = sv_2mortal(newSVpv(name, 0));
+ can_free((SV *)RETVAL);
+ OUTPUT:
+ RETVAL
+
Authen::Krb5::KeytabEntry
next_entry(keytab, cursor)
krb5_kt_cursor *cursor
Modified: packages/libauthen-krb5-perl/trunk/debian/changelog
===================================================================
--- packages/libauthen-krb5-perl/trunk/debian/changelog 2005-12-03 18:05:19 UTC (rev 1557)
+++ packages/libauthen-krb5-perl/trunk/debian/changelog 2005-12-03 18:07:30 UTC (rev 1558)
@@ -1,3 +1,10 @@
+libauthen-krb5-perl (1.5-1) unstable; urgency=low
+
+ * New upstream release.
+ - Add keyblock accessor functions to allow use of the session key.
+
+ --
+
libauthen-krb5-perl (1.4-5) unstable; urgency=low
* Make init_ets a no-op, since krb5_init_ets was a private symbol,
Modified: packages/libauthen-krb5-perl/trunk/typemap
===================================================================
--- packages/libauthen-krb5-perl/trunk/typemap 2005-12-03 18:05:19 UTC (rev 1557)
+++ packages/libauthen-krb5-perl/trunk/typemap 2005-12-03 18:07:30 UTC (rev 1558)
@@ -18,6 +18,7 @@
Authen::Krb5::Address T_PTROBJ_NU
Authen::Krb5::Keyblock T_PTROBJ_NU
Authen::Krb5::KeytabEntry T_PTROBJ_NU
+Authen::Krb5::KeyBlock T_PTROBJ_NU
struct in_addr * T_PTROBJ_NU
krb5_error_code T_INT
More information about the Pkg-perl-cvs-commits
mailing list