mirror of
https://github.com/openjdk/jdk.git
synced 2026-02-15 21:05:11 +00:00
7040916: DynamicKeyTab test fails on Windows
Reviewed-by: xuelei
This commit is contained in:
parent
abc0e63cbc
commit
317bcf10c2
@ -92,10 +92,10 @@ public class KeyTab implements KeyTabConstants {
|
||||
tabName = filename;
|
||||
try {
|
||||
lastModified = new File(tabName).lastModified();
|
||||
KeyTabInputStream kis =
|
||||
new KeyTabInputStream(new FileInputStream(filename));
|
||||
load(kis);
|
||||
kis.close();
|
||||
try (KeyTabInputStream kis =
|
||||
new KeyTabInputStream(new FileInputStream(filename))) {
|
||||
load(kis);
|
||||
}
|
||||
} catch (FileNotFoundException e) {
|
||||
entries.clear();
|
||||
isMissing = true;
|
||||
@ -439,10 +439,10 @@ public class KeyTab implements KeyTabConstants {
|
||||
public synchronized static KeyTab create(String name)
|
||||
throws IOException, RealmException {
|
||||
|
||||
KeyTabOutputStream kos =
|
||||
new KeyTabOutputStream(new FileOutputStream(name));
|
||||
kos.writeVersion(KRB5_KT_VNO);
|
||||
kos.close();
|
||||
try (KeyTabOutputStream kos =
|
||||
new KeyTabOutputStream(new FileOutputStream(name))) {
|
||||
kos.writeVersion(KRB5_KT_VNO);
|
||||
}
|
||||
return new KeyTab(name);
|
||||
}
|
||||
|
||||
@ -450,13 +450,13 @@ public class KeyTab implements KeyTabConstants {
|
||||
* Saves the file at the directory.
|
||||
*/
|
||||
public synchronized void save() throws IOException {
|
||||
KeyTabOutputStream kos =
|
||||
new KeyTabOutputStream(new FileOutputStream(tabName));
|
||||
kos.writeVersion(kt_vno);
|
||||
for (int i = 0; i < entries.size(); i++) {
|
||||
kos.writeEntry(entries.elementAt(i));
|
||||
try (KeyTabOutputStream kos =
|
||||
new KeyTabOutputStream(new FileOutputStream(tabName))) {
|
||||
kos.writeVersion(kt_vno);
|
||||
for (int i = 0; i < entries.size(); i++) {
|
||||
kos.writeEntry(entries.elementAt(i));
|
||||
}
|
||||
}
|
||||
kos.close();
|
||||
}
|
||||
|
||||
/**
|
||||
@ -519,9 +519,9 @@ public class KeyTab implements KeyTabConstants {
|
||||
* @exception IOException.
|
||||
*/
|
||||
public synchronized void createVersion(File file) throws IOException {
|
||||
KeyTabOutputStream kos =
|
||||
new KeyTabOutputStream(new FileOutputStream(file));
|
||||
kos.write16(KRB5_KT_VNO);
|
||||
kos.close();
|
||||
try (KeyTabOutputStream kos =
|
||||
new KeyTabOutputStream(new FileOutputStream(file))) {
|
||||
kos.write16(KRB5_KT_VNO);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -30,6 +30,8 @@
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.nio.file.Files;
|
||||
import java.nio.file.Paths;
|
||||
import org.ietf.jgss.GSSException;
|
||||
import sun.security.jgss.GSSUtil;
|
||||
import sun.security.krb5.KrbException;
|
||||
@ -47,8 +49,7 @@ public class DynamicKeytab {
|
||||
OneKDC k = new OneKDC(null);
|
||||
k.writeJAASConf();
|
||||
|
||||
new File(OneKDC.KTAB).delete();
|
||||
|
||||
Files.delete(Paths.get(OneKDC.KTAB));
|
||||
|
||||
// Starts with no keytab
|
||||
c = Context.fromJAAS("client");
|
||||
@ -79,11 +80,13 @@ public class DynamicKeytab {
|
||||
connect();
|
||||
|
||||
// Test 5: invalid keytab file, should ignore
|
||||
new FileOutputStream(OneKDC.KTAB).write("BADBADBAD".getBytes());
|
||||
try (FileOutputStream fos = new FileOutputStream(OneKDC.KTAB)) {
|
||||
fos.write("BADBADBAD".getBytes());
|
||||
}
|
||||
connect();
|
||||
|
||||
// Test 6: delete keytab file, identical to revoke all
|
||||
new File(OneKDC.KTAB).delete();
|
||||
Files.delete(Paths.get(OneKDC.KTAB));
|
||||
try {
|
||||
connect();
|
||||
throw new Exception("Should not success");
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user