<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 12pt;
font-family:Calibri
}
--></style></head>
<body class='hmmessage'><div dir='ltr'>> against which version of libOFX did you apply the patch?<BR> <BR>"<a href="http://downloads.sourceforge.net/project/libofx/libofx/0.9.10/libofx-0.9.10.tar.gz">http://downloads.sourceforge.net/project/libofx/libofx/0.9.10/libofx-0.9.10.tar.gz</a>"<BR> <BR>Just changed time.tm_isdst as follows:<BR> <BR>--- libofx-0.9.10.orig\lib\ofx_utilities.cpp 2015-11-07 10:06:17.446846600 -0600<br>+++ libofx-0.9.10\lib\ofx_utilities.cpp 2015-11-07 16:58:40.645096200 -0600<br>@@ -116,7 +116,7 @@<br>   string ofxdate_whole;<br>   time_t temptime;<br> <br>-  time.tm_isdst = daylight; // initialize dst setting<br>+  time.tm_isdst = -1; //mktime will figure out daylight savings based on locale<br>   std::time(&temptime);<br>   local_offset = difftime(mktime(localtime(&temptime)), mktime(gmtime(&temptime))) + (3600 * daylight);<br><BR> <BR>I am building on Windows 8.1 with mingw, gcc version 4.8.2. The handling of tm_isdst by mktime apparently has a checkered past, so I only know that this fixed my problem on Windows when DST was not in effect.<BR> <BR> <BR>While I'm at it, here's the <CLIENTUID> change:<BR> <BR>--- libofx-0.9.10.orig\lib\ofx_request.cpp 2015-11-29 11:30:54.119081400 -0600<br>+++ libofx-0.9.10\lib\ofx_request.cpp 2015-11-29 11:28:46.128634400 -0600<br>@@ -103,6 +103,9 @@<br>   else<br>     sonrqTag.Add( "APPVER", "1400");<br> <br>+  if ( strlen(m_login.clientuid) > 0 )<br>+    sonrqTag.Add( "CLIENTUID", m_login.clientuid);<br>+<br>   OfxAggregate signonmsgTag("SIGNONMSGSRQV1");<br>   signonmsgTag.Add( sonrqTag );<br> <BR> <BR><br>where m_login.clientuid needs to be added to libofx.h.  My libofx.h currently has a bunch of other changes so my patch line numbers won't match, but the changes there are:<BR> <BR>@@ -90,6 +90,7 @@<br> #define OFX_APPID_LENGTH               (32)<br> #define OFX_APPVER_LENGTH              (32)<br> #define OFX_HEADERVERSION_LENGTH       (32)<br>+#define OFX_CLIENTUID_LENGTH           (36 + 1)<br><BR>@@ -811,6 +937,7 @@<br>     char header_version[OFX_HEADERVERSION_LENGTH];<br>     char appid[OFX_APPID_LENGTH];<br>     char appver[OFX_APPVER_LENGTH];<br>+    char clientuid[OFX_CLIENTUID_LENGTH];<br>   };<br><BR> <BR>Then I have KMM set the OfxFiLogin.clientuid. Snippet (not a diff) from mymoneyofxconnector.cpp:<BR> <BR>void MyMoneyOfxConnector::initRequest(OfxFiLogin* fi) const<br>{<br>  memset(fi, 0, sizeof(OfxFiLogin));<br>  strncpy(fi->fid, fiid().toLatin1(), OFX_FID_LENGTH - 1);<br>  strncpy(fi->org, fiorg().toLatin1(), OFX_ORG_LENGTH - 1);<br>  strncpy(fi->clientuid, clientUid().toLatin1(), OFX_CLIENTUID_LENGTH - 1);<br>  strncpy(fi->userid, username().toLatin1(), OFX_USERID_LENGTH - 1);<br>  strncpy(fi->userpass, password().toLatin1(), OFX_USERPASS_LENGTH - 1);<BR> <BR>where the clientUid comes from the new edit box I added in the OFX Details dialog and stored as m_fiSettings.value("clientUid");<BR><br> <BR>                                     </div></body>
</html>