summaryrefslogtreecommitdiff
path: root/libjava/gnu/javax/crypto/sasl/srp
diff options
context:
space:
mode:
authorupstream source tree <ports@midipix.org>2015-03-15 20:14:05 -0400
committerupstream source tree <ports@midipix.org>2015-03-15 20:14:05 -0400
commit554fd8c5195424bdbcabf5de30fdc183aba391bd (patch)
tree976dc5ab7fddf506dadce60ae936f43f58787092 /libjava/gnu/javax/crypto/sasl/srp
downloadcbb-gcc-4.6.4-554fd8c5195424bdbcabf5de30fdc183aba391bd.tar.bz2
cbb-gcc-4.6.4-554fd8c5195424bdbcabf5de30fdc183aba391bd.tar.xz
obtained gcc-4.6.4.tar.bz2 from upstream website;upstream
verified gcc-4.6.4.tar.bz2.sig; imported gcc-4.6.4 source tree from verified upstream tarball. downloading a git-generated archive based on the 'upstream' tag should provide you with a source tree that is binary identical to the one extracted from the above tarball. if you have obtained the source via the command 'git clone', however, do note that line-endings of files in your working directory might differ from line-endings of the respective files in the upstream repository.
Diffstat (limited to 'libjava/gnu/javax/crypto/sasl/srp')
-rw-r--r--libjava/gnu/javax/crypto/sasl/srp/CALG.h57
-rw-r--r--libjava/gnu/javax/crypto/sasl/srp/ClientStore.h50
-rw-r--r--libjava/gnu/javax/crypto/sasl/srp/IALG.h56
-rw-r--r--libjava/gnu/javax/crypto/sasl/srp/KDF.h66
-rw-r--r--libjava/gnu/javax/crypto/sasl/srp/PasswordFile.h89
-rw-r--r--libjava/gnu/javax/crypto/sasl/srp/SRP.h77
-rw-r--r--libjava/gnu/javax/crypto/sasl/srp/SRPAuthInfoProvider.h48
-rw-r--r--libjava/gnu/javax/crypto/sasl/srp/SRPClient.h129
-rw-r--r--libjava/gnu/javax/crypto/sasl/srp/SRPRegistry.h92
-rw-r--r--libjava/gnu/javax/crypto/sasl/srp/SRPServer.h115
-rw-r--r--libjava/gnu/javax/crypto/sasl/srp/SecurityContext.h68
-rw-r--r--libjava/gnu/javax/crypto/sasl/srp/ServerStore.h54
-rw-r--r--libjava/gnu/javax/crypto/sasl/srp/StoreEntry.h43
13 files changed, 944 insertions, 0 deletions
diff --git a/libjava/gnu/javax/crypto/sasl/srp/CALG.h b/libjava/gnu/javax/crypto/sasl/srp/CALG.h
new file mode 100644
index 000000000..0b625387f
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/srp/CALG.h
@@ -0,0 +1,57 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_srp_CALG__
+#define __gnu_javax_crypto_sasl_srp_CALG__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace javax
+ {
+ namespace crypto
+ {
+ namespace assembly
+ {
+ class Assembly;
+ class Direction;
+ }
+ namespace sasl
+ {
+ namespace srp
+ {
+ class CALG;
+ class KDF;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::javax::crypto::sasl::srp::CALG : public ::java::lang::Object
+{
+
+ CALG(jint, jint, ::java::lang::Object *, ::gnu::javax::crypto::assembly::Assembly *);
+public: // actually package-private
+ static ::gnu::javax::crypto::sasl::srp::CALG * getInstance(::java::lang::String *);
+public:
+ void init(::gnu::javax::crypto::sasl::srp::KDF *, JArray< jbyte > *, ::gnu::javax::crypto::assembly::Direction *);
+ JArray< jbyte > * doFinal(JArray< jbyte > *);
+ JArray< jbyte > * doFinal(JArray< jbyte > *, jint, jint);
+private:
+ ::gnu::javax::crypto::assembly::Assembly * __attribute__((aligned(__alignof__( ::java::lang::Object)))) assembly;
+ ::java::lang::Object * modeNdx;
+ jint blockSize;
+ jint keySize;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_srp_CALG__
diff --git a/libjava/gnu/javax/crypto/sasl/srp/ClientStore.h b/libjava/gnu/javax/crypto/sasl/srp/ClientStore.h
new file mode 100644
index 000000000..3a5e0e60d
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/srp/ClientStore.h
@@ -0,0 +1,50 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_srp_ClientStore__
+#define __gnu_javax_crypto_sasl_srp_ClientStore__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace javax
+ {
+ namespace crypto
+ {
+ namespace sasl
+ {
+ namespace srp
+ {
+ class ClientStore;
+ class SecurityContext;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::javax::crypto::sasl::srp::ClientStore : public ::java::lang::Object
+{
+
+ ClientStore();
+public: // actually package-private
+ static ::gnu::javax::crypto::sasl::srp::ClientStore * instance();
+ virtual jboolean isAlive(::java::lang::String *);
+ virtual void cacheSession(::java::lang::String *, jint, ::gnu::javax::crypto::sasl::srp::SecurityContext *);
+ virtual void invalidateSession(::java::lang::String *);
+ virtual ::gnu::javax::crypto::sasl::srp::SecurityContext * restoreSession(::java::lang::String *);
+private:
+ static ::gnu::javax::crypto::sasl::srp::ClientStore * singleton;
+ static ::java::util::HashMap * uid2ssc;
+ static ::java::util::HashMap * uid2ttl;
+ static ::java::lang::Object * lock;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_srp_ClientStore__
diff --git a/libjava/gnu/javax/crypto/sasl/srp/IALG.h b/libjava/gnu/javax/crypto/sasl/srp/IALG.h
new file mode 100644
index 000000000..faaa512e3
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/srp/IALG.h
@@ -0,0 +1,56 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_srp_IALG__
+#define __gnu_javax_crypto_sasl_srp_IALG__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace javax
+ {
+ namespace crypto
+ {
+ namespace mac
+ {
+ class IMac;
+ }
+ namespace sasl
+ {
+ namespace srp
+ {
+ class IALG;
+ class KDF;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::javax::crypto::sasl::srp::IALG : public ::java::lang::Object
+{
+
+ IALG(::gnu::javax::crypto::mac::IMac *);
+public: // actually package-private
+ static ::gnu::javax::crypto::sasl::srp::IALG * getInstance(::java::lang::String *);
+public:
+ ::java::lang::Object * clone();
+ void init(::gnu::javax::crypto::sasl::srp::KDF *);
+ void update(JArray< jbyte > *);
+ void update(JArray< jbyte > *, jint, jint);
+ JArray< jbyte > * doFinal();
+ jint length();
+private:
+ ::gnu::javax::crypto::mac::IMac * __attribute__((aligned(__alignof__( ::java::lang::Object)))) hmac;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_srp_IALG__
diff --git a/libjava/gnu/javax/crypto/sasl/srp/KDF.h b/libjava/gnu/javax/crypto/sasl/srp/KDF.h
new file mode 100644
index 000000000..3862fa0c1
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/srp/KDF.h
@@ -0,0 +1,66 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_srp_KDF__
+#define __gnu_javax_crypto_sasl_srp_KDF__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace util
+ {
+ class PRNG;
+ }
+ }
+ }
+ namespace javax
+ {
+ namespace crypto
+ {
+ namespace prng
+ {
+ class UMacGenerator;
+ }
+ namespace sasl
+ {
+ namespace srp
+ {
+ class KDF;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::javax::crypto::sasl::srp::KDF : public ::java::lang::Object
+{
+
+ KDF(JArray< jbyte > *, jint);
+public: // actually package-private
+ static ::gnu::javax::crypto::sasl::srp::KDF * getInstance(JArray< jbyte > *);
+private:
+ static jint nextByte();
+public:
+ virtual JArray< jbyte > * derive(jint);
+private:
+ static const jint AES_BLOCK_SIZE = 16;
+ static const jint AES_KEY_SIZE = 16;
+ static JArray< jbyte > * buffer;
+ static ::gnu::java::security::util::PRNG * prng;
+ ::gnu::javax::crypto::prng::UMacGenerator * __attribute__((aligned(__alignof__( ::java::lang::Object)))) umac;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_srp_KDF__
diff --git a/libjava/gnu/javax/crypto/sasl/srp/PasswordFile.h b/libjava/gnu/javax/crypto/sasl/srp/PasswordFile.h
new file mode 100644
index 000000000..46cf78389
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/srp/PasswordFile.h
@@ -0,0 +1,89 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_srp_PasswordFile__
+#define __gnu_javax_crypto_sasl_srp_PasswordFile__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace javax
+ {
+ namespace crypto
+ {
+ namespace sasl
+ {
+ namespace srp
+ {
+ class PasswordFile;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace math
+ {
+ class BigInteger;
+ }
+ }
+}
+
+class gnu::javax::crypto::sasl::srp::PasswordFile : public ::java::lang::Object
+{
+
+public:
+ PasswordFile();
+ PasswordFile(::java::io::File *);
+ PasswordFile(::java::lang::String *);
+ PasswordFile(::java::lang::String *, ::java::lang::String *);
+ PasswordFile(::java::lang::String *, ::java::lang::String *, ::java::lang::String *);
+private:
+ static ::java::lang::String * nameToID(::java::lang::String *);
+public:
+ virtual jboolean containsConfig(::java::lang::String *);
+ virtual JArray< ::java::lang::String * > * lookupConfig(::java::lang::String *);
+ virtual jboolean contains(::java::lang::String *);
+ virtual void add(::java::lang::String *, ::java::lang::String *, JArray< jbyte > *, ::java::lang::String *);
+ virtual void changePasswd(::java::lang::String *, ::java::lang::String *);
+ virtual void savePasswd();
+ virtual JArray< ::java::lang::String * > * lookup(::java::lang::String *, ::java::lang::String *);
+private:
+ void readOrCreateConf();
+ void readConf(::java::io::InputStream *);
+ void writeConf(::java::io::PrintWriter *);
+ ::java::util::HashMap * newVerifiers(::java::lang::String *, JArray< jbyte > *, ::java::lang::String *, ::java::lang::String *);
+ void update();
+ void checkCurrent();
+ void readPasswd(::java::io::InputStream *);
+ void readPasswd2(::java::io::InputStream *);
+ void writePasswd(::java::io::PrintWriter *, ::java::io::PrintWriter *);
+ static ::java::lang::String * USER_FIELD;
+ static ::java::lang::String * VERIFIERS_FIELD;
+ static ::java::lang::String * SALT_FIELD;
+ static ::java::lang::String * CONFIG_FIELD;
+ static ::java::lang::String * DEFAULT_FILE;
+ static ::java::util::HashMap * srps;
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) confName;
+ ::java::lang::String * pwName;
+ ::java::lang::String * pw2Name;
+ ::java::io::File * configFile;
+ ::java::io::File * passwdFile;
+ ::java::io::File * passwd2File;
+ jlong lastmodPasswdFile;
+ jlong lastmodPasswd2File;
+ ::java::util::HashMap * entries;
+ ::java::util::HashMap * configurations;
+ static JArray< ::java::math::BigInteger * > * Nsrp;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_srp_PasswordFile__
diff --git a/libjava/gnu/javax/crypto/sasl/srp/SRP.h b/libjava/gnu/javax/crypto/sasl/srp/SRP.h
new file mode 100644
index 000000000..b092d8a96
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/srp/SRP.h
@@ -0,0 +1,77 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_srp_SRP__
+#define __gnu_javax_crypto_sasl_srp_SRP__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace hash
+ {
+ class IMessageDigest;
+ }
+ }
+ }
+ namespace javax
+ {
+ namespace crypto
+ {
+ namespace sasl
+ {
+ namespace srp
+ {
+ class SRP;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace math
+ {
+ class BigInteger;
+ }
+ }
+}
+
+class gnu::javax::crypto::sasl::srp::SRP : public ::java::lang::Object
+{
+
+ SRP(::gnu::java::security::hash::IMessageDigest *);
+public:
+ static ::gnu::javax::crypto::sasl::srp::SRP * instance(::java::lang::String *);
+private:
+ static JArray< jbyte > * xor$(JArray< jbyte > *, JArray< jbyte > *, jint);
+public:
+ ::java::lang::String * getAlgorithm();
+ ::gnu::java::security::hash::IMessageDigest * newDigest();
+ JArray< jbyte > * digest(JArray< jbyte > *);
+ JArray< jbyte > * digest(::java::lang::String *);
+ JArray< jbyte > * xor$(JArray< jbyte > *, JArray< jbyte > *);
+ JArray< jbyte > * generateM1(::java::math::BigInteger *, ::java::math::BigInteger *, ::java::lang::String *, JArray< jbyte > *, ::java::math::BigInteger *, ::java::math::BigInteger *, JArray< jbyte > *, ::java::lang::String *, ::java::lang::String *, JArray< jbyte > *, JArray< jbyte > *);
+ JArray< jbyte > * generateM2(::java::math::BigInteger *, JArray< jbyte > *, JArray< jbyte > *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, JArray< jbyte > *, jint, JArray< jbyte > *, JArray< jbyte > *, JArray< jbyte > *);
+ JArray< jbyte > * generateKn(JArray< jbyte > *, JArray< jbyte > *, JArray< jbyte > *);
+ JArray< jbyte > * computeX(JArray< jbyte > *, ::java::lang::String *, ::java::lang::String *);
+ JArray< jbyte > * computeX(JArray< jbyte > *, ::java::lang::String *, JArray< jbyte > *);
+private:
+ JArray< jbyte > * computeX(JArray< jbyte > *, JArray< jbyte > *, JArray< jbyte > *);
+ static ::java::util::HashMap * algorithms;
+ static const jbyte COLON = 58;
+ ::gnu::java::security::hash::IMessageDigest * __attribute__((aligned(__alignof__( ::java::lang::Object)))) mda;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_srp_SRP__
diff --git a/libjava/gnu/javax/crypto/sasl/srp/SRPAuthInfoProvider.h b/libjava/gnu/javax/crypto/sasl/srp/SRPAuthInfoProvider.h
new file mode 100644
index 000000000..630c80efa
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/srp/SRPAuthInfoProvider.h
@@ -0,0 +1,48 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_srp_SRPAuthInfoProvider__
+#define __gnu_javax_crypto_sasl_srp_SRPAuthInfoProvider__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace javax
+ {
+ namespace crypto
+ {
+ namespace sasl
+ {
+ namespace srp
+ {
+ class PasswordFile;
+ class SRPAuthInfoProvider;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::javax::crypto::sasl::srp::SRPAuthInfoProvider : public ::java::lang::Object
+{
+
+public:
+ SRPAuthInfoProvider();
+ virtual void activate(::java::util::Map *);
+ virtual void passivate();
+ virtual jboolean contains(::java::lang::String *);
+ virtual ::java::util::Map * lookup(::java::util::Map *);
+ virtual void update(::java::util::Map *);
+ virtual ::java::util::Map * getConfiguration(::java::lang::String *);
+private:
+ ::gnu::javax::crypto::sasl::srp::PasswordFile * __attribute__((aligned(__alignof__( ::java::lang::Object)))) passwordFile;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_srp_SRPAuthInfoProvider__
diff --git a/libjava/gnu/javax/crypto/sasl/srp/SRPClient.h b/libjava/gnu/javax/crypto/sasl/srp/SRPClient.h
new file mode 100644
index 000000000..ec13be653
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/srp/SRPClient.h
@@ -0,0 +1,129 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_srp_SRPClient__
+#define __gnu_javax_crypto_sasl_srp_SRPClient__
+
+#pragma interface
+
+#include <gnu/javax/crypto/sasl/ClientMechanism.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace util
+ {
+ class PRNG;
+ }
+ }
+ }
+ namespace javax
+ {
+ namespace crypto
+ {
+ namespace key
+ {
+ class IKeyAgreementParty;
+ }
+ namespace sasl
+ {
+ namespace srp
+ {
+ class CALG;
+ class IALG;
+ class SRP;
+ class SRPClient;
+ }
+ }
+ }
+ namespace security
+ {
+ namespace auth
+ {
+ class Password;
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace math
+ {
+ class BigInteger;
+ }
+ }
+}
+
+class gnu::javax::crypto::sasl::srp::SRPClient : public ::gnu::javax::crypto::sasl::ClientMechanism
+{
+
+public:
+ SRPClient();
+public: // actually protected
+ virtual void initMechanism();
+ virtual void resetMechanism();
+public:
+ virtual jboolean hasInitialResponse();
+ virtual JArray< jbyte > * evaluateChallenge(JArray< jbyte > *);
+public: // actually protected
+ virtual JArray< jbyte > * engineUnwrap(JArray< jbyte > *, jint, jint);
+ virtual JArray< jbyte > * engineWrap(JArray< jbyte > *, jint, jint);
+ virtual ::java::lang::String * getNegotiatedQOP();
+ virtual ::java::lang::String * getNegotiatedStrength();
+ virtual ::java::lang::String * getNegotiatedRawSendSize();
+ virtual ::java::lang::String * getReuse();
+private:
+ JArray< jbyte > * sendIdentities();
+ JArray< jbyte > * sendPublicKey(JArray< jbyte > *);
+ JArray< jbyte > * receiveEvidence(JArray< jbyte > *);
+ void getUsernameAndPassword();
+ ::java::lang::String * createO(::java::lang::String *);
+ void setupSecurityServices(jboolean);
+ ::gnu::java::security::util::PRNG * getDefaultPRNG();
+ static ::java::util::logging::Logger * log;
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::sasl::ClientMechanism)))) uid;
+ ::java::lang::String * U;
+public: // actually package-private
+ ::java::math::BigInteger * N;
+ ::java::math::BigInteger * g;
+ ::java::math::BigInteger * A;
+ ::java::math::BigInteger * B;
+private:
+ ::gnu::javax::security::auth::Password * password;
+ JArray< jbyte > * s;
+ JArray< jbyte > * cIV;
+ JArray< jbyte > * sIV;
+ JArray< jbyte > * M1;
+ JArray< jbyte > * M2;
+ JArray< jbyte > * cn;
+ JArray< jbyte > * sn;
+ ::gnu::javax::crypto::sasl::srp::SRP * srp;
+ JArray< jbyte > * sid;
+ jint ttl;
+ JArray< jbyte > * sCB;
+ ::java::lang::String * L;
+ ::java::lang::String * o;
+ ::java::lang::String * chosenIntegrityAlgorithm;
+ ::java::lang::String * chosenConfidentialityAlgorithm;
+ jint rawSendSize;
+ JArray< jbyte > * K;
+ jboolean replayDetection;
+ jint inCounter;
+ jint outCounter;
+ ::gnu::javax::crypto::sasl::srp::IALG * inMac;
+ ::gnu::javax::crypto::sasl::srp::IALG * outMac;
+ ::gnu::javax::crypto::sasl::srp::CALG * inCipher;
+ ::gnu::javax::crypto::sasl::srp::CALG * outCipher;
+ ::gnu::javax::crypto::key::IKeyAgreementParty * clientHandler;
+ ::gnu::java::security::util::PRNG * prng;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_srp_SRPClient__
diff --git a/libjava/gnu/javax/crypto/sasl/srp/SRPRegistry.h b/libjava/gnu/javax/crypto/sasl/srp/SRPRegistry.h
new file mode 100644
index 000000000..22cd5d9e4
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/srp/SRPRegistry.h
@@ -0,0 +1,92 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_srp_SRPRegistry__
+#define __gnu_javax_crypto_sasl_srp_SRPRegistry__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace javax
+ {
+ namespace crypto
+ {
+ namespace sasl
+ {
+ namespace srp
+ {
+ class SRPRegistry;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::javax::crypto::sasl::srp::SRPRegistry : public ::java::lang::Object
+{
+
+public:
+ static ::java::lang::String * N_2048_BITS;
+ static ::java::lang::String * N_1536_BITS;
+ static ::java::lang::String * N_1280_BITS;
+ static ::java::lang::String * N_1024_BITS;
+ static ::java::lang::String * N_768_BITS;
+ static ::java::lang::String * N_640_BITS;
+ static ::java::lang::String * N_512_BITS;
+ static JArray< ::java::lang::String * > * SRP_ALGORITHMS;
+ static ::java::lang::String * SRP_DEFAULT_DIGEST_NAME;
+ static ::java::lang::String * SRP_DIGEST_NAME;
+ static ::java::lang::String * SHARED_MODULUS;
+ static ::java::lang::String * FIELD_GENERATOR;
+ static ::java::lang::String * AVAILABLE_OPTIONS;
+ static ::java::lang::String * CHOSEN_OPTIONS;
+ static ::java::lang::String * USER_NAME;
+ static ::java::lang::String * USER_ROLE;
+ static ::java::lang::String * USER_SALT;
+ static ::java::lang::String * PASSWORD_VERIFIER;
+ static ::java::lang::String * CLIENT_PUBLIC_KEY;
+ static ::java::lang::String * SERVER_PUBLIC_KEY;
+ static ::java::lang::String * CLIENT_EVIDENCE;
+ static ::java::lang::String * SERVER_EVIDENCE;
+ static ::java::lang::String * SRP_HASH;
+ static ::java::lang::String * SRP_MANDATORY;
+ static ::java::lang::String * SRP_REPLAY_DETECTION;
+ static ::java::lang::String * SRP_INTEGRITY_PROTECTION;
+ static ::java::lang::String * SRP_CONFIDENTIALITY;
+ static ::java::lang::String * PASSWORD_FILE;
+ static ::java::lang::String * PASSWORD_DB;
+ static ::java::lang::String * DEFAULT_PASSWORD_FILE;
+ static const jboolean DEFAULT_REPLAY_DETECTION = 1;
+ static const jboolean DEFAULT_INTEGRITY = 1;
+ static const jboolean DEFAULT_CONFIDENTIALITY = 0;
+ static ::java::lang::String * HMAC_SHA1;
+ static ::java::lang::String * HMAC_MD5;
+ static ::java::lang::String * HMAC_RIPEMD_160;
+ static JArray< ::java::lang::String * > * INTEGRITY_ALGORITHMS;
+ static ::java::lang::String * AES;
+ static ::java::lang::String * BLOWFISH;
+ static JArray< ::java::lang::String * > * CONFIDENTIALITY_ALGORITHMS;
+ static ::java::lang::String * OPTION_MANDATORY;
+ static ::java::lang::String * OPTION_SRP_DIGEST;
+ static ::java::lang::String * OPTION_REPLAY_DETECTION;
+ static ::java::lang::String * OPTION_INTEGRITY;
+ static ::java::lang::String * OPTION_CONFIDENTIALITY;
+ static ::java::lang::String * OPTION_MAX_BUFFER_SIZE;
+ static ::java::lang::String * MANDATORY_NONE;
+ static ::java::lang::String * DEFAULT_MANDATORY;
+ static ::java::lang::String * MD_NAME_FIELD;
+ static ::java::lang::String * USER_VERIFIER_FIELD;
+ static ::java::lang::String * SALT_FIELD;
+ static ::java::lang::String * CONFIG_NDX_FIELD;
+ static const jint MINIMUM_MODULUS_BITLENGTH = 512;
+ static ::java::lang::Class class$;
+} __attribute__ ((java_interface));
+
+#endif // __gnu_javax_crypto_sasl_srp_SRPRegistry__
diff --git a/libjava/gnu/javax/crypto/sasl/srp/SRPServer.h b/libjava/gnu/javax/crypto/sasl/srp/SRPServer.h
new file mode 100644
index 000000000..b78a26bca
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/srp/SRPServer.h
@@ -0,0 +1,115 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_srp_SRPServer__
+#define __gnu_javax_crypto_sasl_srp_SRPServer__
+
+#pragma interface
+
+#include <gnu/javax/crypto/sasl/ServerMechanism.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace java
+ {
+ namespace security
+ {
+ namespace util
+ {
+ class PRNG;
+ }
+ }
+ }
+ namespace javax
+ {
+ namespace crypto
+ {
+ namespace key
+ {
+ class IKeyAgreementParty;
+ }
+ namespace sasl
+ {
+ namespace srp
+ {
+ class CALG;
+ class IALG;
+ class SRP;
+ class SRPServer;
+ }
+ }
+ }
+ }
+ }
+ namespace java
+ {
+ namespace math
+ {
+ class BigInteger;
+ }
+ }
+}
+
+class gnu::javax::crypto::sasl::srp::SRPServer : public ::gnu::javax::crypto::sasl::ServerMechanism
+{
+
+public:
+ SRPServer();
+public: // actually protected
+ virtual void initMechanism();
+ virtual void resetMechanism();
+public:
+ virtual JArray< jbyte > * evaluateResponse(JArray< jbyte > *);
+public: // actually protected
+ virtual JArray< jbyte > * engineUnwrap(JArray< jbyte > *, jint, jint);
+ virtual JArray< jbyte > * engineWrap(JArray< jbyte > *, jint, jint);
+ virtual ::java::lang::String * getNegotiatedQOP();
+ virtual ::java::lang::String * getNegotiatedStrength();
+ virtual ::java::lang::String * getNegotiatedRawSendSize();
+ virtual ::java::lang::String * getReuse();
+private:
+ JArray< jbyte > * sendProtocolElements(JArray< jbyte > *);
+ JArray< jbyte > * sendEvidence(JArray< jbyte > *);
+ ::java::lang::String * createL();
+ void parseO(::java::lang::String *);
+ void setupSecurityServices(jboolean);
+ ::gnu::java::security::util::PRNG * getDefaultPRNG();
+ static ::java::util::logging::Logger * log;
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::javax::crypto::sasl::ServerMechanism)))) U;
+ ::java::math::BigInteger * N;
+ ::java::math::BigInteger * g;
+ ::java::math::BigInteger * A;
+ ::java::math::BigInteger * B;
+ JArray< jbyte > * s;
+ JArray< jbyte > * cIV;
+ JArray< jbyte > * sIV;
+ JArray< jbyte > * cn;
+ JArray< jbyte > * sn;
+ ::gnu::javax::crypto::sasl::srp::SRP * srp;
+ JArray< jbyte > * sid;
+ jint ttl;
+ JArray< jbyte > * cCB;
+ ::java::lang::String * mandatory;
+ ::java::lang::String * L;
+ ::java::lang::String * o;
+ ::java::lang::String * chosenIntegrityAlgorithm;
+ ::java::lang::String * chosenConfidentialityAlgorithm;
+ jint rawSendSize;
+ JArray< jbyte > * K;
+ jboolean replayDetection;
+ jint inCounter;
+ jint outCounter;
+ ::gnu::javax::crypto::sasl::srp::IALG * inMac;
+ ::gnu::javax::crypto::sasl::srp::IALG * outMac;
+ ::gnu::javax::crypto::sasl::srp::CALG * inCipher;
+ ::gnu::javax::crypto::sasl::srp::CALG * outCipher;
+ ::gnu::javax::crypto::key::IKeyAgreementParty * serverHandler;
+ ::gnu::java::security::util::PRNG * prng;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_srp_SRPServer__
diff --git a/libjava/gnu/javax/crypto/sasl/srp/SecurityContext.h b/libjava/gnu/javax/crypto/sasl/srp/SecurityContext.h
new file mode 100644
index 000000000..b4b4a222e
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/srp/SecurityContext.h
@@ -0,0 +1,68 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_srp_SecurityContext__
+#define __gnu_javax_crypto_sasl_srp_SecurityContext__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace javax
+ {
+ namespace crypto
+ {
+ namespace sasl
+ {
+ namespace srp
+ {
+ class CALG;
+ class IALG;
+ class SecurityContext;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::javax::crypto::sasl::srp::SecurityContext : public ::java::lang::Object
+{
+
+public: // actually package-private
+ SecurityContext(::java::lang::String *, JArray< jbyte > *, JArray< jbyte > *, JArray< jbyte > *, JArray< jbyte > *, jboolean, jint, jint, ::gnu::javax::crypto::sasl::srp::IALG *, ::gnu::javax::crypto::sasl::srp::IALG *, ::gnu::javax::crypto::sasl::srp::CALG *, ::gnu::javax::crypto::sasl::srp::CALG *);
+ virtual ::java::lang::String * getMdName();
+ virtual JArray< jbyte > * getSID();
+ virtual JArray< jbyte > * getK();
+ virtual JArray< jbyte > * getClientIV();
+ virtual JArray< jbyte > * getServerIV();
+ virtual jboolean hasReplayDetection();
+ virtual jint getInCounter();
+ virtual jint getOutCounter();
+ virtual ::gnu::javax::crypto::sasl::srp::IALG * getInMac();
+ virtual ::gnu::javax::crypto::sasl::srp::IALG * getOutMac();
+ virtual ::gnu::javax::crypto::sasl::srp::CALG * getInCipher();
+ virtual ::gnu::javax::crypto::sasl::srp::CALG * getOutCipher();
+private:
+ ::java::lang::String * __attribute__((aligned(__alignof__( ::java::lang::Object)))) mdName;
+ JArray< jbyte > * sid;
+ JArray< jbyte > * K;
+ JArray< jbyte > * cIV;
+ JArray< jbyte > * sIV;
+ jboolean replayDetection;
+ jint inCounter;
+ jint outCounter;
+ ::gnu::javax::crypto::sasl::srp::IALG * inMac;
+ ::gnu::javax::crypto::sasl::srp::IALG * outMac;
+ ::gnu::javax::crypto::sasl::srp::CALG * inCipher;
+ ::gnu::javax::crypto::sasl::srp::CALG * outCipher;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_srp_SecurityContext__
diff --git a/libjava/gnu/javax/crypto/sasl/srp/ServerStore.h b/libjava/gnu/javax/crypto/sasl/srp/ServerStore.h
new file mode 100644
index 000000000..f93429bee
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/srp/ServerStore.h
@@ -0,0 +1,54 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_srp_ServerStore__
+#define __gnu_javax_crypto_sasl_srp_ServerStore__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+#include <gcj/array.h>
+
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace javax
+ {
+ namespace crypto
+ {
+ namespace sasl
+ {
+ namespace srp
+ {
+ class SecurityContext;
+ class ServerStore;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::javax::crypto::sasl::srp::ServerStore : public ::java::lang::Object
+{
+
+ ServerStore();
+public: // actually package-private
+ static ::gnu::javax::crypto::sasl::srp::ServerStore * instance();
+ static JArray< jbyte > * getNewSessionID();
+ virtual jboolean isAlive(JArray< jbyte > *);
+ virtual void cacheSession(jint, ::gnu::javax::crypto::sasl::srp::SecurityContext *);
+ virtual ::gnu::javax::crypto::sasl::srp::SecurityContext * restoreSession(JArray< jbyte > *);
+ virtual void invalidateSession(JArray< jbyte > *);
+private:
+ static ::gnu::javax::crypto::sasl::srp::ServerStore * singleton;
+ static ::java::util::HashMap * sid2ssc;
+ static ::java::util::HashMap * sid2ttl;
+ static ::java::lang::Object * lock;
+ static jint counter;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_srp_ServerStore__
diff --git a/libjava/gnu/javax/crypto/sasl/srp/StoreEntry.h b/libjava/gnu/javax/crypto/sasl/srp/StoreEntry.h
new file mode 100644
index 000000000..19203bcd0
--- /dev/null
+++ b/libjava/gnu/javax/crypto/sasl/srp/StoreEntry.h
@@ -0,0 +1,43 @@
+
+// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
+
+#ifndef __gnu_javax_crypto_sasl_srp_StoreEntry__
+#define __gnu_javax_crypto_sasl_srp_StoreEntry__
+
+#pragma interface
+
+#include <java/lang/Object.h>
+extern "Java"
+{
+ namespace gnu
+ {
+ namespace javax
+ {
+ namespace crypto
+ {
+ namespace sasl
+ {
+ namespace srp
+ {
+ class StoreEntry;
+ }
+ }
+ }
+ }
+ }
+}
+
+class gnu::javax::crypto::sasl::srp::StoreEntry : public ::java::lang::Object
+{
+
+public: // actually package-private
+ StoreEntry(jint);
+ virtual jboolean isAlive();
+private:
+ jboolean __attribute__((aligned(__alignof__( ::java::lang::Object)))) perenial;
+ jlong timeToDie;
+public:
+ static ::java::lang::Class class$;
+};
+
+#endif // __gnu_javax_crypto_sasl_srp_StoreEntry__