svn commit: samba r13020 - branches/SAMBA_3_0/source/libsmb
trunk/source/libsmb
gd at samba.org
gd at samba.org
Wed Jan 18 22:40:01 GMT 2006
Author: gd
Date: 2006-01-18 22:40:00 +0000 (Wed, 18 Jan 2006)
New Revision: 13020
WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=13020
Log:
Prevent cli_krb5_get_ticket of getting into an infite loop. This whole
area of code needs to be reworked later on.
Guenther
Modified:
branches/SAMBA_3_0/source/libsmb/clikrb5.c
trunk/source/libsmb/clikrb5.c
Changeset:
Modified: branches/SAMBA_3_0/source/libsmb/clikrb5.c
===================================================================
--- branches/SAMBA_3_0/source/libsmb/clikrb5.c 2006-01-18 21:52:19 UTC (rev 13019)
+++ branches/SAMBA_3_0/source/libsmb/clikrb5.c 2006-01-18 22:40:00 UTC (rev 13020)
@@ -456,6 +456,7 @@
krb5_creds creds;
krb5_data in_data;
BOOL creds_ready = False;
+ int i = 0, maxtries = 3;
retval = krb5_parse_name(context, principal, &server);
if (retval) {
@@ -479,7 +480,7 @@
goto cleanup_creds;
}
- while(!creds_ready) {
+ while (!creds_ready && (i < maxtries)) {
if ((retval = krb5_get_credentials(context, 0, ccache,
&creds, &credsp))) {
DEBUG(1,("ads_krb5_mk_req: krb5_get_credentials failed for %s (%s)\n",
@@ -497,6 +498,8 @@
if (!ads_cleanup_expired_creds(context, ccache, credsp))
creds_ready = True;
+
+ i++;
}
DEBUG(10,("ads_krb5_mk_req: Ticket (%s) in ccache (%s) is valid until: (%s - %u)\n",
Modified: trunk/source/libsmb/clikrb5.c
===================================================================
--- trunk/source/libsmb/clikrb5.c 2006-01-18 21:52:19 UTC (rev 13019)
+++ trunk/source/libsmb/clikrb5.c 2006-01-18 22:40:00 UTC (rev 13020)
@@ -457,6 +457,7 @@
krb5_creds creds;
krb5_data in_data;
BOOL creds_ready = False;
+ int i = 0, maxtries = 3;
retval = krb5_parse_name(context, principal, &server);
if (retval) {
@@ -480,7 +481,7 @@
goto cleanup_creds;
}
- while(!creds_ready) {
+ while (!creds_ready && (i < maxtries)) {
if ((retval = krb5_get_credentials(context, 0, ccache,
&creds, &credsp))) {
DEBUG(1,("ads_krb5_mk_req: krb5_get_credentials failed for %s (%s)\n",
@@ -498,6 +499,8 @@
if (!ads_cleanup_expired_creds(context, ccache, credsp))
creds_ready = True;
+
+ i++;
}
DEBUG(10,("ads_krb5_mk_req: Ticket (%s) in ccache (%s:%s) is valid until: (%s - %u)\n",
More information about the samba-cvs
mailing list