if ((id_card != null) && (id_card.display_name != IdCard.NO_IDENTITY)) {
nai_out = id_card.nai;
- password_out = id_card.password;
+ if ((request.password!=null) && (request.password != ""))
+ password_out = request.password;
+ else
+ password_out = id_card.password;
server_certificate_hash = id_card.trust_anchor.server_cert;
ca_certificate = id_card.trust_anchor.ca_cert;
string ?ca_cert,
string ?subject,
string ?subject_alt,
- string ?server_cert)
+ string ?server_cert,
+ int force_flat_file_store)
{
IdCard idcard = new IdCard ();
idcard.display_name = display_name;
idcard.username = user_name;
idcard.password = password;
+ if ((password != null) && (password != ""))
+ idcard.store_password = true;
idcard.issuer = realm;
idcard.services = services;
idcard.trust_anchor.ca_cert = ca_cert;
}
}
- return parent_app.add_identity (idcard);
+ return parent_app.add_identity (idcard, force_flat_file_store!=0);
}
card.trust_anchor.ca_cert,
card.trust_anchor.subject,
card.trust_anchor.subject_alt,
- card.trust_anchor.server_cert);
+ card.trust_anchor.server_cert,
+ 0);
if (result) {
installed_cards++;
}
* process ends
*/
public class MoonshotServer : Object {
- private static IdentityManagerView main_window;
+ private static IdentityManagerApp parent_app;
private static MoonshotServer instance = null;
- public static void start (Gtk.Window window)
+ public static void start (IdentityManagerApp app)
{
- main_window = (IdentityManagerView) window;
+ parent_app = app;
Rpc.server_start (MoonshotRpcInterface.spec, "/org/janet/Moonshot", Rpc.Flags.PER_USER);
}
{
bool result = false;
- var request = new IdentityRequest (main_window,
+ var request = new IdentityRequest (parent_app,
nai,
password,
service);
{
bool result;
- var request = new IdentityRequest.default (main_window);
+ var request = new IdentityRequest.default (parent_app);
request.mutex = new Mutex ();
request.cond = new Cond ();
request.set_callback (return_identity_cb);
string ca_cert,
string subject,
string subject_alt,
- string server_cert)
+ string server_cert,
+ bool force_flat_file_store)
{
IdCard idcard = new IdCard ();
bool success = false;
// Defer addition to the main loop thread.
Idle.add (() => {
mutex.lock ();
- success = main_window.add_identity (idcard);
+ success = parent_app.add_identity (idcard, force_flat_file_store);
cond.signal ();
mutex.unlock ();
return false;