- 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:
smanojna
2006-03-07 09:40:28 +00:00
parent d7ed360f66
commit 52f11fa9cd
3 changed files with 78 additions and 7 deletions

View File

@@ -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));
}