From fb45a44dbbe1f4c7aa2064e19665c4afd8e5a0b4 Mon Sep 17 00:00:00 2001 From: alexhudson Date: Sat, 1 Sep 2007 14:14:20 +0000 Subject: [PATCH] Create the server credential again - seems it's needed :) --- include/msgapi.h | 8 +------- src/apps/config/config.c | 5 +++++ src/libs/msgapi/msgapi.c | 29 +++++++++++++++++++++++++++++ 3 files changed, 35 insertions(+), 7 deletions(-) diff --git a/include/msgapi.h b/include/msgapi.h index ee177c4..6a2ff4e 100644 --- a/include/msgapi.h +++ b/include/msgapi.h @@ -120,6 +120,7 @@ EXPORT BOOL MsgSetRecoveryFlag(void); EXPORT BOOL MsgGetRecoveryFlag(void); EXPORT BOOL MsgGetServerCredential(char *buffer); +EXPORT BOOL MsgSetServerCredential(void); #define MSGSRV_AGENT_ADDRESSBOOK "Address Book Agent" #define MSGSRV_AGENT_ALIAS "Alias Agent" @@ -173,13 +174,6 @@ EXPORT BOOL MsgGetConfigProperty(unsigned char *Buffer, unsigned char *Property) EXPORT const unsigned char *MsgFindUserStore(const unsigned char *user, const unsigned char *defaultPath); EXPORT BOOL MsgFindUserNmap(const unsigned char *user, unsigned char *nmap, int nmap_len, unsigned short *port); -EXPORT const unsigned char *MsgGetDBFDir(char *directory); -EXPORT const unsigned char *MsgGetWorkDir(char *directory); -EXPORT const unsigned char *MsgGetNLSDir(char *directory); -EXPORT const unsigned char *MsgGetLibDir(char *directory); -EXPORT const unsigned char *MsgGetBinDir(char *directory); -EXPORT const unsigned char *MsgGetTLSCertPath(char *path); -EXPORT const unsigned char *MsgGetTLSKeyPath(char *path); EXPORT unsigned long MsgGetHostIPAddress(void); EXPORT unsigned long MsgGetAgentBindIPAddress(void); diff --git a/src/apps/config/config.c b/src/apps/config/config.c index c7fd0da..ca29a17 100644 --- a/src/apps/config/config.c +++ b/src/apps/config/config.c @@ -78,6 +78,11 @@ InitializeDataArea(void) MsgMakePath(path); } } + + if (!MsgSetServerCredential()) { + XplConsolePrintf(_("ERROR: Cannot create server credential\n")); + exit(2); + } } void diff --git a/src/libs/msgapi/msgapi.c b/src/libs/msgapi/msgapi.c index f8c1097..82edbbd 100644 --- a/src/libs/msgapi/msgapi.c +++ b/src/libs/msgapi/msgapi.c @@ -677,3 +677,32 @@ MsgGetServerCredential(char *buffer) } return FALSE; } + +EXPORT BOOL +MsgSetServerCredential() +{ + unsigned char credential[4097]; + unsigned char path[XPL_MAX_PATH]; + FILE *credfile; + const char *posschars = + "abcdefghijlkmnopqrstuvwxyz" + "ABCDEFGHIJKLMNOPQRSTUVWYXZ" + "0123456890"; + int i, range; + + range = strlen(posschars); + for (i=0; i<4097; i++) { + int ran = rand() % range; + credential[i] = posschars[ran]; + } + credential[4096] = '\0'; + + snprintf(path, XPL_MAX_PATH, "%s/credential.dat", XPL_DEFAULT_DBF_DIR); + credfile = fopen(path, "wb"); + if (credfile) { + fwrite(credential, sizeof(char), sizeof(credential), credfile); + fclose(credfile); + return TRUE; + } + return FALSE; +}