merge of '65027e70ec9585f6013d97ec88d4f251869e47fd'

and 'c26f9208a0245c8b4b421076479271214ff1d660'
This commit is contained in:
str4d
2016-06-13 06:03:03 +00:00
47 changed files with 618 additions and 279 deletions

View File

@ -85,7 +85,12 @@
<!-- the getopt translation files -->
<fileset dir="src" includes="${translation.includes}" />
<manifest>
<attribute name="Specification-Title" value="I2P Core API" />
<attribute name="Specification-Version" value="${release.number}" />
<attribute name="Specification-Vendor" value="The I2P Project https://geti2p.net/" />
<attribute name="Implementation-Title" value="I2P Java Core API" />
<attribute name="Implementation-Version" value="${full.version}" />
<attribute name="Implementation-Vendor" value="The I2P Project https://geti2p.net/" />
<attribute name="Built-By" value="${build.built-by}" />
<attribute name="Build-Date" value="${build.timestamp}" />
<attribute name="Base-Revision" value="${workspace.version}" />

View File

@ -41,6 +41,7 @@ public interface AMDCPUInfo extends CPUInfo {
public boolean IsAthlon64Compatible();
/**
* @return true if the CPU present in the machine is at least an 'k10' CPU
* @since 0.9.26
*/
public boolean IsK10Compatible();
/**
@ -49,6 +50,7 @@ public interface AMDCPUInfo extends CPUInfo {
public boolean IsBobcatCompatible();
/**
* @return true if the CPU present in the machine is at least an 'jaguar' CPU
* @since 0.9.26
*/
public boolean IsJaguarCompatible();
/**
@ -57,14 +59,17 @@ public interface AMDCPUInfo extends CPUInfo {
public boolean IsBulldozerCompatible();
/**
* @return true if the CPU present in the machine is at least a 'piledriver' CPU
* @since 0.9.26
*/
public boolean IsPiledriverCompatible();
/**
* @return true if the CPU present in the machine is at least a 'steamroller' CPU
* @since 0.9.26
*/
public boolean IsSteamrollerCompatible();
/**
* @return true if the CPU present in the machine is at least a 'excavator' CPU
* @since 0.9.26
*/
public boolean IsExcavatorCompatible();

View File

@ -376,27 +376,33 @@ public class CPUID {
System.out.println("CPU has ABM: " + c.hasABM());
if(c instanceof IntelCPUInfo){
System.out.println("\n **Intel-info**");
System.out.println("Is PII-compatible: "+((IntelCPUInfo)c).IsPentium2Compatible());
System.out.println("Is PIII-compatible: "+((IntelCPUInfo)c).IsPentium3Compatible());
System.out.println("Is PIV-compatible: "+((IntelCPUInfo)c).IsPentium4Compatible());
System.out.println("Is Atom-compatible: "+((IntelCPUInfo)c).IsAtomCompatible());
System.out.println("Is PII-compatible: "+((IntelCPUInfo)c).IsPentium2Compatible());
System.out.println("Is PIII-compatible: "+((IntelCPUInfo)c).IsPentium3Compatible());
System.out.println("Is PIV-compatible: "+((IntelCPUInfo)c).IsPentium4Compatible());
System.out.println("Is Atom-compatible: "+((IntelCPUInfo)c).IsAtomCompatible());
System.out.println("Is Pentium M compatible: "+((IntelCPUInfo)c).IsPentiumMCompatible());
System.out.println("Is Core2-compatible: "+((IntelCPUInfo)c).IsCore2Compatible());
System.out.println("Is Corei-compatible: "+((IntelCPUInfo)c).IsCoreiCompatible());
System.out.println("Is Sandy-compatible: "+((IntelCPUInfo)c).IsSandyCompatible());
System.out.println("Is Ivy-compatible: "+((IntelCPUInfo)c).IsIvyCompatible());
System.out.println("Is Haswell-compatible: "+((IntelCPUInfo)c).IsHaswellCompatible());
System.out.println("Is Core2-compatible: "+((IntelCPUInfo)c).IsCore2Compatible());
System.out.println("Is Corei-compatible: "+((IntelCPUInfo)c).IsCoreiCompatible());
System.out.println("Is Sandy-compatible: "+((IntelCPUInfo)c).IsSandyCompatible());
System.out.println("Is Ivy-compatible: "+((IntelCPUInfo)c).IsIvyCompatible());
System.out.println("Is Haswell-compatible: "+((IntelCPUInfo)c).IsHaswellCompatible());
System.out.println("Is Broadwell-compatible: "+((IntelCPUInfo)c).IsBroadwellCompatible());
}
if(c instanceof AMDCPUInfo){
System.out.println("\n **AMD-info**");
System.out.println("Is K6-compatible: "+((AMDCPUInfo)c).IsK6Compatible());
System.out.println("Is K6_2-compatible: "+((AMDCPUInfo)c).IsK6_2_Compatible());
System.out.println("Is K6_3-compatible: "+((AMDCPUInfo)c).IsK6_3_Compatible());
System.out.println("Is Geode-compatible: "+((AMDCPUInfo)c).IsGeodeCompatible());
System.out.println("Is Athlon-compatible: "+((AMDCPUInfo)c).IsAthlonCompatible());
System.out.println("Is Athlon64-compatible: "+((AMDCPUInfo)c).IsAthlon64Compatible());
System.out.println("Is Bobcat-compatible: "+((AMDCPUInfo)c).IsBobcatCompatible());
System.out.println("Is K6-compatible: "+((AMDCPUInfo)c).IsK6Compatible());
System.out.println("Is K6_2-compatible: "+((AMDCPUInfo)c).IsK6_2_Compatible());
System.out.println("Is K6_3-compatible: "+((AMDCPUInfo)c).IsK6_3_Compatible());
System.out.println("Is Geode-compatible: "+((AMDCPUInfo)c).IsGeodeCompatible());
System.out.println("Is Athlon-compatible: "+((AMDCPUInfo)c).IsAthlonCompatible());
System.out.println("Is Athlon64-compatible: "+((AMDCPUInfo)c).IsAthlon64Compatible());
System.out.println("Is Bobcat-compatible: "+((AMDCPUInfo)c).IsBobcatCompatible());
System.out.println("Is K10-compatible: "+((AMDCPUInfo)c).IsK10Compatible());
System.out.println("Is Jaguar-compatible: "+((AMDCPUInfo)c).IsJaguarCompatible());
System.out.println("Is Bulldozer-compatible: "+((AMDCPUInfo)c).IsBulldozerCompatible());
System.out.println("Is Piledriver-compatible: "+((AMDCPUInfo)c).IsPiledriverCompatible());
System.out.println("Is Steamroller-compatible: "+((AMDCPUInfo)c).IsSteamrollerCompatible());
System.out.println("Is Excavator-compatible: "+((AMDCPUInfo)c).IsExcavatorCompatible());
}
}

View File

@ -1492,7 +1492,7 @@ public class BlockfileNamingService extends DummyNamingService {
rv = lookupAll2(hostname, lookupOptions, storedOptions);
}
}
// we sort the destinations in addDestionation(),
// we sort the destinations in addDestination(),
// which is a lot easier than sorting them here
return rv;
}

View File

@ -15,6 +15,7 @@ import java.security.InvalidKeyException;
import java.security.KeyFactory;
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.MessageDigest;
import java.security.ProviderException;
import java.security.interfaces.ECPrivateKey;
import java.security.interfaces.ECPublicKey;
@ -416,19 +417,30 @@ public final class KeyGenerator {
else
System.out.println(type + " private-to-public test FAILED");
//System.out.println("privkey " + keys[1]);
MessageDigest md = type.getDigestInstance();
for (int i = 0; i < runs; i++) {
RandomSource.getInstance().nextBytes(src);
md.update(src);
byte[] sha = md.digest();
SimpleDataStructure hash = type.getHashInstance();
hash.setData(sha);
long start = System.nanoTime();
Signature sig = DSAEngine.getInstance().sign(src, privkey);
Signature sig2 = DSAEngine.getInstance().sign(hash, privkey);
if (sig == null)
throw new GeneralSecurityException("signature generation failed");
if (sig2 == null)
throw new GeneralSecurityException("signature generation (H) failed");
long mid = System.nanoTime();
boolean ok = DSAEngine.getInstance().verifySignature(sig, src, pubkey);
boolean ok2 = DSAEngine.getInstance().verifySignature(sig2, hash, pubkey);
long end = System.nanoTime();
stime += mid - start;
vtime += end - mid;
if (!ok)
throw new GeneralSecurityException(type + " V(S(data)) fail");
if (!ok2)
throw new GeneralSecurityException(type + " V(S(H(data))) fail");
}
stime /= 1000*1000;
vtime /= 1000*1000;