Browse Source

adding config_cipher_suite

JNI-88
Volker Birk 6 years ago
parent
commit
678fca7ea8
  1. 1
      src/Makefile
  2. 3
      src/gen_cpp_Engine.ysl2
  3. 11
      src/jniutils.cc
  4. 1
      src/jniutils.hh
  5. 28
      src/pEp.yml2
  6. 1
      src/types_c.ysl2

1
src/Makefile

@ -128,5 +128,6 @@ clean:
rm -f org/pEp/jniadapter/Status.java rm -f org/pEp/jniadapter/Status.java
rm -f org/pEp/jniadapter/SyncHandshakeResult.java rm -f org/pEp/jniadapter/SyncHandshakeResult.java
rm -f org/pEp/jniadapter/SyncHandshakeSignal.java rm -f org/pEp/jniadapter/SyncHandshakeSignal.java
rm -f org/pEp/jniadapter/CipherSuite.java
rm -f throw_pEp_exception.* rm -f throw_pEp_exception.*
rm -f org_pEp_jniadapter_Message.cc org_pEp_jniadapter_Engine.cc rm -f org_pEp_jniadapter_Message.cc org_pEp_jniadapter_Engine.cc

3
src/gen_cpp_Engine.ysl2

@ -166,7 +166,6 @@ tstylesheet {
|| ||
} }
when "ancestor::namespace/child::enum[@name=$type]" { when "ancestor::namespace/child::enum[@name=$type]" {
const "ljtype" call "lcase" with "text","$jtype"; const "ljtype" call "lcase" with "text","$jtype";
|| ||
@ -225,7 +224,7 @@ tstylesheet {
choose { choose {
when "$type = 'message'" when "$type = 'message'"
| message *_«$name» = (message *) callLongMethod(env, «$name», "getHandle"); | message *_«$name» = (message *) callLongMethod(env, «$name», "getHandle");
when "$type='EncFormat' or $type='SyncHandshakeResult'" when "$type='EncFormat' or $type='SyncHandshakeResult' or $type='CipherSuite'"
| √$type _«$name» = to_«$type»(env, «$name»); | √$type _«$name» = to_«$type»(env, «$name»);
when "$type='bool'" when "$type='bool'"
| bool _«$name» = (bool) «$name»; | bool _«$name» = (bool) «$name»;

11
src/jniutils.cc

@ -698,6 +698,17 @@ namespace pEp {
return (PEP_enc_format) env->GetIntField(obj, field_value); return (PEP_enc_format) env->GetIntField(obj, field_value);
} }
PEP_CIPHER_SUITE to_CipherSuite(JNIEnv *env, jobject obj)
{
static const char *classname = "org/pEp/jniadapter/Message$CipherSuite";
jclass clazz_enc_format = findClass(env, classname);
jfieldID field_value = env->GetFieldID(clazz_enc_format, "value", "I");
assert(field_value);
env->DeleteLocalRef(clazz_enc_format);
return (PEP_CIPHER_SUITE) env->GetIntField(obj, field_value);
}
sync_handshake_result to_SyncHandshakeResult(JNIEnv *env, jobject obj) sync_handshake_result to_SyncHandshakeResult(JNIEnv *env, jobject obj)
{ {
static const char *classname = "org/pEp/jniadapter/SyncHandshakeResult"; static const char *classname = "org/pEp/jniadapter/SyncHandshakeResult";

1
src/jniutils.hh

@ -91,6 +91,7 @@ namespace pEp {
bloblist_t *to_bloblist(JNIEnv *env, jobject obj); bloblist_t *to_bloblist(JNIEnv *env, jobject obj);
PEP_enc_format to_EncFormat(JNIEnv *env, jobject obj); PEP_enc_format to_EncFormat(JNIEnv *env, jobject obj);
PEP_CIPHER_SUITE to_CipherSuite(JNIEnv *env, jobject obj);
sync_handshake_result to_SyncHandshakeResult(JNIEnv *env, jobject obj); sync_handshake_result to_SyncHandshakeResult(JNIEnv *env, jobject obj);
}; };

28
src/pEp.yml2

@ -112,18 +112,6 @@ namespace pEp {
PEP_color_red > -1 PEP_color_red > -1
}; };
enum CypherSuite {
pEp_cipher_suite_default > 0
pEp_cipher_suite_cv25519 > 1
pEp_cipher_suite_p256 > 2
pEp_cipher_suite_p384 > 3
pEp_cipher_suite_p521 > 4
pEp_cipher_suite_rsa2k > 5
pEp_cipher_suite_rsa3k > 6
pEp_cipher_suite_rsa4k > 7
pEp_cipher_suite_rsa8k > 8
};
enum Rating { enum Rating {
pEp_rating_undefined > 0 pEp_rating_undefined > 0
pEp_rating_cannot_decrypt > 1 pEp_rating_cannot_decrypt > 1
@ -175,6 +163,18 @@ namespace pEp {
sync_notify_in_group > 255 sync_notify_in_group > 255
}; };
enum CipherSuite {
pEp_cipher_suite_default > 0
pEp_cipher_suite_cv25519 > 1
pEp_cipher_suite_p256 > 2
pEp_cipher_suite_p384 > 3
pEp_cipher_suite_p521 > 4
pEp_cipher_suite_rsa2k > 5
pEp_cipher_suite_rsa3k > 6
pEp_cipher_suite_rsa4k > 7
pEp_cipher_suite_rsa8k > 8
};
interface Engine { interface Engine {
method encrypt_message( method encrypt_message(
in message src, in message src,
@ -296,6 +296,10 @@ namespace pEp {
in identitylist identities in identitylist identities
); );
method config_cipher_suite(
in CipherSuite suite
);
basic string trustwords(identity ident); basic string trustwords(identity ident);
basic identity myself(identity ident); basic identity myself(identity ident);
basic identity updateIdentity(identity ident); basic identity updateIdentity(identity ident);

1
src/types_c.ysl2

@ -16,6 +16,7 @@ function "toC" {
when "$type='Color'" > PEP_color when "$type='Color'" > PEP_color
when "$type='Rating'" > PEP_rating when "$type='Rating'" > PEP_rating
when "$type='SyncHandshakeResult'" > sync_handshake_result when "$type='SyncHandshakeResult'" > sync_handshake_result
when "$type='CipherSuite'" > PEP_CIPHER_SUITE
otherwise value "$type"; otherwise value "$type";
} }

Loading…
Cancel
Save