MD5Buf
MD5Update(&Context, (MD5Buf)S, (MD5Len)strlen(S));
MD5Update(&Context, (MD5Buf)R, (MD5Len)LEN_AUTH);
MD5Update(&Context, (MD5Buf)S, (MD5Len)strlen(S));
MD5Update(&Context, (MD5Buf)C, (MD5Len)16);
MD5Update(&Context, (MD5Buf)S, (MD5Len)Slen);
MD5Update(&Context, (MD5Buf)R, (MD5Len)LEN_AUTH);
MD5Update(&Context, (MD5Buf)A, (MD5Len)SALT_LEN);
MD5Update(&Context, (MD5Buf)S, (MD5Len)Slen);
MD5Update(&Context, (MD5Buf)C, (MD5Len)16);
MD5Update(&ctx, (MD5Buf)srvp->secret,
MD5Update(&ctx, (MD5Buf)srvp->secret,
MD5Update(&ctx, (MD5Buf)srvp->secret,