Opened 8 years ago

Closed 8 years ago

#9 closed defect (fixed)

kinit (possibly others) cannot find %TMP%

Reported by: Lewis Rosenthal Owned by:
Priority: major Milestone: Heimdal - 1.5.3
Component: general Version: Heimdal - 1.5.3
Keywords: Cc:

Description

krb5.conf says:

[libdefaults]
    default_cc_name = FILE:C:/krb5cc_%{uid}

klist says:

[C:\]klist
kcc.exe: No ticket file: C:/krb5cc_0

%TMP% is set to:

TMP=C:\var\temp

However, if there is no /tmp, attempting kinit yields:

kinit.exe: krb5_cc_new_unique: mkstemp /tmp/krb5cc_bumRFE failed

once /tmp (or \tmp, in OS/2-speak) has been created, kinit succeeds

Change History (6)

comment:1 by Lewis Rosenthal, 8 years ago

I should add that this is with:

7-23-16 9:21 1,109,378 124 krb5.dll

on top of the 2016-07-23 full Heimdal package.

comment:3 by Lewis Rosenthal, 8 years ago

Odd...

On the test system, with no \tmp (or, more accurately, no %UNIXROOT%\tmp) but with %TMP% set to C:\MPTN\ETC, with the 7/29 build of krb5.dll, I get:

[C:\]kinit
lewis@SAMBA.ARCANOAE's Password:
here
kinit.exe: krb5_cc_new_unique: mkstemp /tmp/krb5cc_bHisSg failed

(The "here" is consistent across test systems.)

On my local machine, even renaming %UNIXROOT%\tmp to something else and ensuring that the currently-logged-on volume has no \tmp, I just get:

[c:\]kinit lewis
lewis@SAMBA.ARCANOAE's Password:
here

and klist succeeds.

I'm not sure what is different between the two configurations.

comment:4 by Paul Smedley, 8 years ago

The 'here' is likely leftover debug code.

The code is looking for %temp% not %tmp% but will use /tmp as a fall back.

I refreshed the link to a) remove the debug 'here' and also to correct a mistakenly removed 'else'

Last edited 8 years ago by Paul Smedley (previous) (diff)

comment:5 by Paul Smedley, 8 years ago

Hi Lewis, were you able to retest this?

comment:6 by Lewis Rosenthal, 8 years ago

Resolution: fixed
Status: newclosed

Sorry for the late follow-up.

Indeed, fixed with:

7-30-16 5:32 1,109,375 124 krb5.dll

Confirmed on Warp 4 FP10, with *no* %UNIXROOT%, and no /tmp (%TEMP% and %TMP% point to D:\OS2\MDOS\WINOS2\TEMP, in fact, and as long as default_cc_name is present in krb5.conf, this works as expected.

Thanks!

Note: See TracTickets for help on using tickets.