- WINSETUP: Fix a struct alignment issue when dumping the base64 encoded

password for boinc_project to a file.
        
        ATL's string conversion functions act of a class and not a buffer
        which makes memory management easier but doesn't interop well with
        fprintf unless you specify the buffer name directly.
        
    win_build/installerv2/
        BOINC.ism
    win_build/installerv2/redist/Windows/src/boinccas/
        CACreateClientAuthFile.cpp
    win_build/installerv2/redist/Windows/Win32/
        boinccas.dll
        boinccas95.dll
    win_build/installerv2/redist/Windows/x64/
        boinccas.dll
        boinccas95.dll

svn path=/trunk/boinc/; revision=15319
This commit is contained in:
Rom Walton 2008-05-28 21:21:23 +00:00
parent 613746c853
commit e685320684
7 changed files with 35 additions and 2 deletions

View File

@ -4520,3 +4520,21 @@ Eric May 28 2008
Makefile.am moved to clientgui/res Makefile.am moved to clientgui/res
boincmgr.{16x16,32x32,48x48}.png moved to clientgui/res boincmgr.{16x16,32x32,48x48}.png moved to clientgui/res
Rom May 28 2008
- WINSETUP: Fix a struct alignment issue when dumping the base64 encoded
password for boinc_project to a file.
ATL's string conversion functions act of a class and not a buffer
which makes memory management easier but doesn't interop well with
fprintf unless you specify the buffer name directly.
win_build/installerv2/
BOINC.ism
win_build/installerv2/redist/Windows/src/boinccas/
CACreateClientAuthFile.cpp
win_build/installerv2/redist/Windows/Win32/
boinccas.dll
boinccas95.dll
win_build/installerv2/redist/Windows/x64/
boinccas.dll
boinccas95.dll

Binary file not shown.

View File

@ -68,6 +68,7 @@ UINT CACreateClientAuthFile::OnExecution()
tstring strClientAuthFile; tstring strClientAuthFile;
tstring strVersionNT; tstring strVersionNT;
struct _stat buf; struct _stat buf;
TCHAR szMessage[2048];
UINT uiReturnValue = -1; UINT uiReturnValue = -1;
@ -135,7 +136,6 @@ UINT CACreateClientAuthFile::OnExecution()
// We are installing in protected mode, which means the 'boinc_project' // We are installing in protected mode, which means the 'boinc_project'
// account password has been changed, so we need to write out the new // account password has been changed, so we need to write out the new
// username and password to the client_auth.xml file. // username and password to the client_auth.xml file.
FILE* fClientAuthFile = NULL;
DWORD dwSize = Base64EncodeGetRequiredLength((int)strBOINCProjectAccountPassword.length()); DWORD dwSize = Base64EncodeGetRequiredLength((int)strBOINCProjectAccountPassword.length());
LPSTR szBuffer = (LPSTR)malloc(dwSize*sizeof(TCHAR)); LPSTR szBuffer = (LPSTR)malloc(dwSize*sizeof(TCHAR));
if (!szBuffer) if (!szBuffer)
@ -177,7 +177,22 @@ UINT CACreateClientAuthFile::OnExecution()
} }
CA2W pszUnicodeEncodedPassword( szBuffer ); CA2W pszUnicodeEncodedPassword( szBuffer );
_sntprintf(
szMessage,
sizeof(szMessage),
_T("(Unicode) Base64 Encoded String: '%s'"),
pszUnicodeEncodedPassword.m_psz
);
LogMessage(
INSTALLMESSAGE_INFO,
NULL,
NULL,
NULL,
NULL,
szMessage
);
FILE* fClientAuthFile = NULL;
fClientAuthFile = _tfopen(strClientAuthFile.c_str(), _T("w")); fClientAuthFile = _tfopen(strClientAuthFile.c_str(), _T("w"));
_ftprintf( _ftprintf(
@ -189,7 +204,7 @@ UINT CACreateClientAuthFile::OnExecution()
_T(" </boinc_project>\n") _T(" </boinc_project>\n")
_T("</client_authorization>\n"), _T("</client_authorization>\n"),
strBOINCProjectAccountUsername.c_str(), strBOINCProjectAccountUsername.c_str(),
pszUnicodeEncodedPassword pszUnicodeEncodedPassword.m_psz
); );
fclose(fClientAuthFile); fclose(fClientAuthFile);