Expose server credentials thru Java APIs
This commit is contained in:
@@ -30,7 +30,6 @@
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
JNIEXPORT jint JNICALL
|
||||
Java_com_novell_casa_MiCasa_jmiCASASetCredential
|
||||
(JNIEnv *env, jobject notused,
|
||||
@@ -41,6 +40,29 @@ Java_com_novell_casa_MiCasa_jmiCASASetCredential
|
||||
jstring jsUsername,
|
||||
jstring jsPassword
|
||||
)
|
||||
{
|
||||
return Java_com_novell_casa_MiCasa_jmiCASASetCredentialEx
|
||||
(env, notused,
|
||||
ssFlags,
|
||||
jsAppSecretID,
|
||||
jsSharedSecretID,
|
||||
jUsernameType,
|
||||
jsUsername,
|
||||
jsPassword,
|
||||
SSCS_CRED_TYPE_BASIC_F);
|
||||
}
|
||||
|
||||
JNIEXPORT jint JNICALL
|
||||
Java_com_novell_casa_MiCasa_jmiCASASetCredentialEx
|
||||
(JNIEnv *env, jobject notused,
|
||||
jint ssFlags,
|
||||
jstring jsAppSecretID,
|
||||
jstring jsSharedSecretID,
|
||||
jint jUsernameType,
|
||||
jstring jsUsername,
|
||||
jstring jsPassword,
|
||||
jint jiCredType
|
||||
)
|
||||
{
|
||||
int rcode = 0;
|
||||
SSCS_SECRET_ID_T appSecretId = {0};
|
||||
@@ -90,7 +112,7 @@ Java_com_novell_casa_MiCasa_jmiCASASetCredential
|
||||
ssFlags,
|
||||
&appSecretId,
|
||||
&sharedSecretId,
|
||||
SSCS_CRED_TYPE_BASIC_F,
|
||||
jiCredType,
|
||||
&credential,
|
||||
NULL
|
||||
);
|
||||
@@ -99,7 +121,7 @@ Java_com_novell_casa_MiCasa_jmiCASASetCredential
|
||||
ssFlags,
|
||||
&appSecretId,
|
||||
NULL,
|
||||
SSCS_CRED_TYPE_BASIC_F,
|
||||
jiCredType,
|
||||
&credential,
|
||||
NULL
|
||||
);
|
||||
@@ -107,11 +129,6 @@ Java_com_novell_casa_MiCasa_jmiCASASetCredential
|
||||
return rcode;
|
||||
}
|
||||
|
||||
/*
|
||||
* Class: com_novell_casa_micasa_SecretStore
|
||||
* Method: jmiCASAGetCredential
|
||||
* Signature: (I[B[BILcom/novell/casa/micasa/Secret;)I
|
||||
*/
|
||||
JNIEXPORT jint JNICALL
|
||||
Java_com_novell_casa_MiCasa_jmiCASAGetCredential
|
||||
(JNIEnv *env, jobject unused,
|
||||
@@ -119,13 +136,42 @@ Java_com_novell_casa_MiCasa_jmiCASAGetCredential
|
||||
jstring jsAppSecretID,
|
||||
jstring jsSharedSecretID,
|
||||
jint jUsernameType,
|
||||
jobject jcred)
|
||||
jobject jcred
|
||||
)
|
||||
{
|
||||
int rcode = 0;
|
||||
uint32_t iCredType = SSCS_CRED_TYPE_BASIC_F;
|
||||
return Java_com_novell_casa_MiCasa_jmiCASAGetCredentialEx
|
||||
(env,
|
||||
unused,
|
||||
ssFlags,
|
||||
jsAppSecretID,
|
||||
jsSharedSecretID,
|
||||
jUsernameType,
|
||||
jcred,
|
||||
SSCS_CRED_TYPE_BASIC_F);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Class: com_novell_casa_micasa_SecretStore
|
||||
* Method: jmiCASAGetCredential
|
||||
* Signature: (I[B[BILcom/novell/casa/micasa/Secret;)I
|
||||
*/
|
||||
JNIEXPORT jint JNICALL
|
||||
Java_com_novell_casa_MiCasa_jmiCASAGetCredentialEx
|
||||
(JNIEnv *env, jobject unused,
|
||||
jint ssFlags,
|
||||
jstring jsAppSecretID,
|
||||
jstring jsSharedSecretID,
|
||||
jint jUsernameType,
|
||||
jobject jcred,
|
||||
jint jiCredType)
|
||||
{
|
||||
int rcode = 0;
|
||||
SSCS_SECRET_ID_T appSecretId = {0};
|
||||
SSCS_SECRET_ID_T sharedSecretId = {0};
|
||||
SSCS_BASIC_CREDENTIAL credential = {0};
|
||||
uint32_t iCredType = jiCredType;
|
||||
|
||||
const char* utf_string;
|
||||
jboolean isCopy;
|
||||
@@ -194,7 +240,64 @@ Java_com_novell_casa_MiCasa_jmiCASAGetCredential
|
||||
return rcode;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* Class: com_novell_casa_MiCasa
|
||||
* Method: jmiCASADeleteCredentialEx
|
||||
* Signature: (ILjava/lang/String;Ljava/lang/String;I)I
|
||||
*/
|
||||
JNIEXPORT jint JNICALL Java_com_novell_casa_MiCasa_jmiCASADeleteCredentialEx
|
||||
(JNIEnv *env, jobject unused,
|
||||
jint ssFlags,
|
||||
jstring jsAppSecretID,
|
||||
jstring jsSharedSecretID,
|
||||
jint jiCredType)
|
||||
{
|
||||
int rcode = 0;
|
||||
SSCS_SECRET_ID_T appSecretId = {0};
|
||||
SSCS_SECRET_ID_T sharedSecretId = {0};
|
||||
|
||||
const char* utf_string;
|
||||
jboolean isCopy;
|
||||
|
||||
utf_string = (*env)->GetStringUTFChars(env, jsAppSecretID, &isCopy);
|
||||
sscs_Utf8Strcpy((char*)appSecretId.id, utf_string);
|
||||
appSecretId.len = sscs_Utf8Strlen(utf_string) + 1;
|
||||
if (isCopy == JNI_TRUE)
|
||||
(*env)->ReleaseStringUTFChars(env, jsAppSecretID, utf_string);
|
||||
|
||||
// handle sharedsecretid
|
||||
if (jsSharedSecretID)
|
||||
{
|
||||
utf_string = (*env)->GetStringUTFChars(env, jsSharedSecretID, &isCopy);
|
||||
sscs_Utf8Strcpy((char*)sharedSecretId.id, utf_string);
|
||||
sharedSecretId.len = sscs_Utf8Strlen(utf_string)+1;
|
||||
|
||||
if (isCopy == JNI_TRUE)
|
||||
(*env)->ReleaseStringUTFChars(env, jsSharedSecretID, utf_string);
|
||||
}
|
||||
|
||||
// make the call
|
||||
if (jsSharedSecretID)
|
||||
rcode = miCASADeleteCredential(
|
||||
ssFlags,
|
||||
&appSecretId,
|
||||
&sharedSecretId,
|
||||
jiCredType,
|
||||
NULL);
|
||||
|
||||
else
|
||||
rcode = miCASADeleteCredential(
|
||||
ssFlags,
|
||||
&appSecretId,
|
||||
NULL,
|
||||
jiCredType,
|
||||
NULL);
|
||||
|
||||
return rcode;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Class: com_novell_casa_micasa_SecretStore
|
||||
* Method: jmiCASARemoveCredential
|
||||
|
||||
Reference in New Issue
Block a user