Rev 1161 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1161 | Rev 1165 | ||
---|---|---|---|
Line 275... | Line 275... | ||
275 | 275 | ||
276 | .dump: |
276 | .dump: |
Line 277... | Line 277... | ||
277 | DEBUGF 1,"ICMP_Handler - dumping\n" |
277 | DEBUGF 1,"ICMP_Handler - dumping\n" |
278 | 278 | ||
Line 279... | Line 279... | ||
279 | call kernel_free |
279 | call kernel_free |
Line 280... | Line 280... | ||
280 | add esp, 4 ; pop (balance stack) |
280 | add esp, 8 ; pop (balance stack) |
Line 330... | Line 330... | ||
330 | 330 | ||
331 | .dump: |
331 | .dump: |
Line 332... | Line 332... | ||
332 | DEBUGF 1,"ICMP_Handler_fragments - end\n" |
332 | DEBUGF 1,"ICMP_Handler_fragments - end\n" |
333 | 333 | ||
334 | call kernel_free |
- | |
335 | add esp, 4 ; pop (balance stack) |
334 | call kernel_free |
Line 336... | Line 335... | ||
336 | 335 | add esp, 8 ; pop (balance stack) |
|
337 | ret |
336 | ret |
338 | 337 | ||
Line 364... | Line 363... | ||
364 | mov di , IP_PROTO_ICMP |
363 | mov di , IP_PROTO_ICMP |
365 | shr edx, 16 |
364 | shr edx, 16 |
Line 366... | Line 365... | ||
366 | 365 | ||
Line 367... | Line -... | ||
367 | call IPv4_create_Packet |
- | |
368 | - | ||
369 | DEBUGF 1,"full icmp packet size: %u\n", ebx |
366 | call IPv4_create_Packet |
370 | 367 | ||
Line -... | Line 368... | ||
- | 368 | cmp edi, -1 |
|
- | 369 | je .exit |
|
371 | cmp edi, -1 |
370 | |
372 | je .exit |
371 | DEBUGF 1,"full icmp packet size: %u\n", ebx |
373 | 372 | ||
374 | pop eax |
373 | pop eax |
375 | mov word [edi + ICMP_Packet.Type], ax ; Write both type and code bytes at once |
374 | mov word [edi + ICMP_Packet.Type], ax ; Write both type and code bytes at once |
Line 399... | Line 398... | ||
399 | push edx edi ecx |
398 | push edx edi ecx |
400 | DEBUGF 1,"Sending ICMP Packet\n" |
399 | DEBUGF 1,"Sending ICMP Packet\n" |
401 | ret ; Send the packet (create_packet routine outputs pointer to routine to send packet in eax) |
400 | ret ; Send the packet (create_packet routine outputs pointer to routine to send packet in eax) |
Line 402... | Line 401... | ||
402 | 401 | ||
- | 402 | .exit: |
|
403 | .exit: |
403 | DEBUGF 1,"Creating ICMP Packet failed\n" |
404 | add esp, 8 |
404 | add esp, 3*4 |