Rev 1838 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1838 | Rev 2300 | ||
---|---|---|---|
Line 14... | Line 14... | ||
14 | ;; GNU GENERAL PUBLIC LICENSE ;; |
14 | ;; GNU GENERAL PUBLIC LICENSE ;; |
15 | ;; Version 2, June 1991 ;; |
15 | ;; Version 2, June 1991 ;; |
16 | ;; ;; |
16 | ;; ;; |
17 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
17 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 18... | Line 18... | ||
18 | 18 | ||
Line 19... | Line 19... | ||
19 | $Revision: 1838 $ |
19 | $Revision: 2300 $ |
20 | 20 | ||
21 | MAX_FRAGMENTS equ 64 |
21 | MAX_FRAGMENTS equ 64 |
Line 595... | Line 595... | ||
595 | IPv4_output: |
595 | IPv4_output: |
Line 596... | Line 596... | ||
596 | 596 | ||
Line 597... | Line 597... | ||
597 | DEBUGF 1,"IPv4_create_packet: size=%u\n", ecx |
597 | DEBUGF 1,"IPv4_create_packet: size=%u\n", ecx |
598 | 598 | ||
Line 599... | Line 599... | ||
599 | cmp ecx, 65500 ; Max IPv4 packet size |
599 | cmp ecx, 65500 ; Max IPv4 packet size |
Line 600... | Line 600... | ||
600 | jg .too_large |
600 | ja .too_large |
Line 671... | Line 671... | ||
671 | IPv4_output_raw: |
671 | IPv4_output_raw: |
Line 672... | Line 672... | ||
672 | 672 | ||
Line 673... | Line 673... | ||
673 | DEBUGF 1,"IPv4_output_raw: size=%u ptr=%x socket=%x\n", ecx, esi, eax |
673 | DEBUGF 1,"IPv4_output_raw: size=%u ptr=%x socket=%x\n", ecx, esi, eax |
674 | 674 | ||
Line 675... | Line 675... | ||
675 | cmp ecx, 1480 ;;;;; |
675 | cmp ecx, 1480 ;;;;; |
676 | jg .too_large |
676 | ja .too_large |
Line 677... | Line 677... | ||
677 | 677 | ||
Line 759... | Line 759... | ||
759 | DEBUGF 1,"IPv4_fragment\n" |
759 | DEBUGF 1,"IPv4_fragment\n" |
Line 760... | Line 760... | ||
760 | 760 | ||
Line 761... | Line 761... | ||
761 | and ecx, not 111b ; align 4 |
761 | and ecx, not 111b ; align 4 |
762 | 762 | ||
Line 763... | Line 763... | ||
763 | cmp ecx, IPv4_Packet.DataOrOptional + 8 ; must be able to put at least 8 bytes |
763 | cmp ecx, IPv4_Packet.DataOrOptional + 8 ; must be able to put at least 8 bytes |
764 | jl .err2 |
764 | jb .err2 |
765 | 765 | ||
766 | push esi ecx |
766 | push esi ecx |
Line 844... | Line 844... | ||
844 | add ecx, [esp] ; offset |
844 | add ecx, [esp] ; offset |
Line 845... | Line 845... | ||
845 | 845 | ||
Line 846... | Line 846... | ||
846 | DEBUGF 1,"Ipv4_fragment - bytes remaining: %u\n", ecx |
846 | DEBUGF 1,"Ipv4_fragment - bytes remaining: %u\n", ecx |
847 | 847 | ||
Line 848... | Line 848... | ||
848 | cmp ecx, [esp+1*4] |
848 | cmp ecx, [esp+1*4] |
849 | jge .new_fragment |
849 | jae .new_fragment |
Line 850... | Line 850... | ||
850 | 850 |