Hi, I think we have a bug in packet_utils.checksum, please check it: ============================= def checksum(data, start, skip_word = 0): if len(data) % 2 != 0: arr = array.array('H', data[:-1]) else: arr = array.array('H', data) if skip_word: for i in range(0, len(arr)): if i == skip_word: continue start += arr[i] else: for i in range(0,len(arr)): # BUG? start += arr[i] # BUG? # IT should be : # for i in range(0, len(arr)-1,2): # start += arr[i]*0x100 +arr[i+1] if len(data) % 2 != 0: start += struct.unpack('H', data[-1]+'\0')[0] start = (start >> 16) + (start & 0xffff) start += (start >> 16); return ntohs(~start & 0xffff) =============================== Thanks, Ibrahim
_______________________________________________ nox-dev mailing list nox-dev@noxrepo.org http://noxrepo.org/mailman/listinfo/nox-dev