Advertisement
Guest User

Untitled

a guest
Jun 22nd, 2017
642
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.24 KB | None | 0 0
  1. if (!m_bEncrypted)
  2. {
  3. if (!packet_encode(m_lpOutputBuffer, c_pvData, iSize))
  4. {
  5. m_iPhase = PHASE_CLOSE;
  6. }
  7. }
  8. else
  9. {
  10. if (buffer_has_space(m_lpOutputBuffer) < iSize + 8)
  11. {
  12. buffer_adjust_size(m_lpOutputBuffer, iSize);
  13.  
  14. if (buffer_has_space(m_lpOutputBuffer) < iSize + 8)
  15. {
  16. sys_err(
  17. "desc buffer mem_size overflow : ",
  18. " memsize(%u) ",
  19. " write_pos(%u)",
  20. " iSize(%d)",
  21. m_lpOutputBuffer->mem_size,
  22. m_lpOutputBuffer->write_point_pos,
  23. iSize);
  24.  
  25. m_iPhase = PHASE_CLOSE;
  26. }
  27. }
  28. else
  29. {
  30. DWORD * pdwWritePoint = (DWORD *) buffer_write_peek(m_lpOutputBuffer);
  31.  
  32. if (packet_encode(m_lpOutputBuffer, c_pvData, iSize))
  33. {
  34. int iSize2 = TEA_Encrypt(pdwWritePoint, pdwWritePoint, GetEncryptionKey(), iSize);
  35.  
  36. if (iSize2 > iSize)
  37. buffer_write_proceed(m_lpOutputBuffer, iSize2 - iSize);
  38. }
  39. }
  40. }
  41.  
  42.  
  43. Protocol.h
  44. inline bool __packet_encode(LPBUFFER pbuf, const void * data, int length, const char * file, int line)
  45. {
  46. assert(NULL != pbuf);
  47. assert(NULL != data);
  48.  
  49. if (buffer_has_space(pbuf) < length)
  50. {
  51. return false;
  52. }
  53.  
  54. buffer_adjust_size(pbuf, length);
  55. buffer_write(pbuf, data, length);
  56. return true;
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement