[LON-CAPA-cvs] cvs: loncom / lond
raeburn
lon-capa-cvs@mail.lon-capa.org
Sun, 28 Jan 2007 18:49:51 -0000
raeburn Sun Jan 28 13:49:51 2007 EDT
Modified files:
/loncom lond
Log:
In cases where FC6 is run with Authen::Krb5 1.5 or earlier, prevent the call to init_ets(). (This is deprecated in Krb5.pm rev 1.6, so distro detection will not be required for future distros).
$credentials->initialize() was causing a segmentation fault for krb5 on 64 bit machines, when passing a previously defined object. Not sure why, but creating the object in situ eliminates the segfault.
Index: loncom/lond
diff -u loncom/lond:1.358 loncom/lond:1.359
--- loncom/lond:1.358 Thu Jan 18 22:09:07 2007
+++ loncom/lond Sun Jan 28 13:49:49 2007
@@ -2,7 +2,7 @@
# The LearningOnline Network
# lond "LON Daemon" Server (port "LOND" 5663)
#
-# $Id: lond,v 1.358 2007/01/19 03:09:07 albertel Exp $
+# $Id: lond,v 1.359 2007/01/28 18:49:49 raeburn Exp $
#
# Copyright Michigan State University Board of Trustees
#
@@ -59,7 +59,7 @@
my $status='';
my $lastlog='';
-my $VERSION='$Revision: 1.358 $'; #' stupid emacs
+my $VERSION='$Revision: 1.359 $'; #' stupid emacs
my $remoteVERSION;
my $currenthostid="default";
my $currentdomainid;
@@ -5466,8 +5466,8 @@
# my $tmpsnum=0; # Now global
#---------------------------------------------------- kerberos 5 initialization
&Authen::Krb5::init_context();
- unless (($dist eq 'fedora5') || ($dist eq 'fedora4')
- || ($dist eq 'suse9.3')) {
+ unless (($dist eq 'fedora5') || ($dist eq 'fedora4') ||
+ ($dist eq 'fedora6') || ($dist eq 'suse9.3')) {
&Authen::Krb5::init_ets();
}
@@ -5880,7 +5880,8 @@
my $krbservice = "krbtgt/".$contentpwd."\@".$contentpwd;
my $krbserver = &Authen::Krb5::parse_name($krbservice);
my $credentials= &Authen::Krb5::cc_default();
- $credentials->initialize($krbclient);
+ $credentials->initialize(&Authen::Krb5::parse_name($user.'@'
+ .$contentpwd));
my $krbreturn = &Authen::Krb5::get_in_tkt_with_password($krbclient,
$krbserver,
$password,