Hi all, This is how stream_read_uint32_be is implemented. #define stream_read_uint32_be(_s, _v) do { _v = \ (((uint32)(*(_s->p))) << 8) + \ (((uint32)(*(_s->p + 1)))) + \ (((uint32)(*(_s->p + 2))) << 24) + \ (((uint32)(*(_s->p + 3))) << 16); \ _s->p += 4; } while (0) But this reads the integer wrongly as it should be in Big endian. The correct implementation should be like this. #define stream_read_uint32_be(_s, _v) do { _v = \ (((uint32)(*(_s->p))) << 24) + \ (((uint32)(*(_s->p + 1))) << 16) + \ (((uint32)(*(_s->p + 2))) << 8) + \ (((uint32)(*(_s->p + 3)))); \ _s->p += 4; } while (0)
But the current implementaiton is used in ntlmssp.c to read negotiateFlags .I don't know about it but it might break the ntlmssp.c . So should i have another macro or should change the way it is read in ntlmssp.c. ------------------------------------------------------------------------------ The demand for IT networking professionals continues to grow, and the demand for specialized networking skills is growing even more rapidly. Take a complimentary Learning@Cisco Self-Assessment and learn about Cisco certifications, training, and career opportunities. http://p.sf.net/sfu/cisco-dev2dev _______________________________________________ Freerdp-devel mailing list Freerdp-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freerdp-devel