- Fix for writing secrets into the default Wallet instead of
writing into CASAWallet. - Changed the port attribute in Keyring from string to unit32.
This commit is contained in:
@@ -25,9 +25,10 @@
|
||||
#include <kcmdlineargs.h>
|
||||
#include<kwallet.h>
|
||||
#include <dcopclient.h>
|
||||
|
||||
#include<iostream.h>
|
||||
|
||||
using namespace KWallet;
|
||||
using namespace std;
|
||||
|
||||
#include "kwallets_rw.h"
|
||||
#include "kwallets_rw.moc"
|
||||
@@ -252,6 +253,49 @@ extern "C"
|
||||
|
||||
}
|
||||
|
||||
void GetDefaultWallet(char dwallet[100])
|
||||
{
|
||||
char *ptr = NULL;
|
||||
char homedir[100];
|
||||
char defaultwallet[100];
|
||||
strcpy(homedir, getenv("HOME"));
|
||||
FILE *fs;
|
||||
char str[100];
|
||||
int i;
|
||||
//cout<<"kwallets_rw.cpp : Home Directory =" << homedir;
|
||||
strcat(homedir, "/.kde/share/config/kwalletrc");
|
||||
fs = fopen(homedir,"r");
|
||||
//fs = fopen("/root/.kde/share/config/kwalletrc","r");
|
||||
while(!feof(fs))
|
||||
{
|
||||
fgets(str,80,fs);
|
||||
//cout<<str;
|
||||
ptr = strstr(str,"Default Wallet");
|
||||
//cout<<"got it";
|
||||
|
||||
if(ptr == NULL)
|
||||
continue;
|
||||
else
|
||||
{
|
||||
ptr = strchr(str,'=');
|
||||
ptr++;
|
||||
i=0;
|
||||
while(*ptr != '\n')
|
||||
{
|
||||
//printf("%c",*ptr);
|
||||
defaultwallet[i] = *ptr;
|
||||
ptr++;
|
||||
i++;
|
||||
}
|
||||
defaultwallet[i] = '\0';
|
||||
break;
|
||||
}
|
||||
}
|
||||
//return NULL;
|
||||
//cout<<"Default Wallet : " << defaultwallet;
|
||||
strcpy(dwallet,defaultwallet);
|
||||
//return defaultwallet;
|
||||
}
|
||||
|
||||
int RemoveEntry(char *name, char *foldername, char *keyname)
|
||||
{
|
||||
@@ -260,15 +304,19 @@ extern "C"
|
||||
}
|
||||
int SetEntry(char *name, char *foldername, int entryType, char *keyname, char *value, int valueLen )
|
||||
{
|
||||
char dwallet[100];
|
||||
GetDefaultWallet(dwallet); //function called here
|
||||
DCOPDemoWidget kw;
|
||||
//printf("kwallet : In Set Entry\n");
|
||||
return(kw.SetEntry(name,foldername,entryType,keyname,value,valueLen));
|
||||
return(kw.SetEntry(dwallet,foldername,entryType,keyname,value,valueLen));
|
||||
}
|
||||
int SetMapEntry(char *name, char *foldername, char *keyname, char **value, int eleCount )
|
||||
{
|
||||
char dwallet[100];
|
||||
GetDefaultWallet(dwallet);//function called here
|
||||
DCOPDemoWidget kw;
|
||||
//printf("kwallet: SetMapEntry\n");
|
||||
return(kw.SetMap(name,foldername,keyname,value,eleCount));
|
||||
return(kw.SetMap(dwallet,foldername,keyname,value,eleCount));
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user