there is a mistake in your changes: You stores 2 values in the config file freeauth.conf, but when calling the pam module, you change the 3rd value (after skipping the 1nd and 2nd):
<SNIP>
pos -= strlen(buffer);
p=buffer;
while ( p && (! isspace(*p)) ) p++; // skip name
while ( p && isspace(*p) ) p++; // skip gap
while ( p && (! isspace(*p)) ) p++; // skip secret
while ( p && isspace(*p) ) p++; // skip gap
pos += (p-buffer);
</SNIP>
<SNIP>
for (;pos--;) if (fgetc(fp)==EOF) return PAM_PERM_DENIED;
fflush(fp);
if ( fputs(SECRET,fp) == EOF ) return PAM_PERM_DENIED;
</SNIP>
You have to remove the lines to skip the secret:
<SNIP>
pos -= strlen(buffer);
p=buffer;
while ( p && (! isspace(*p)) ) p++; // skip name
while ( p && isspace(*p) ) p++; // skip gap
pos += (p-buffer);
</SNIP>