Commit Graph

22 Commits

Author SHA1 Message Date
Andrei Borzenkov ebd92af8c3 net: trivial grub_cpu_to_XX_compile_time cleanup 2015-03-27 18:58:57 +03:00
Vladimir Serbinenko 63034d3261 arp, icmp: Fix handling in case of oversized or invalid packets.
This restrict ARP handling to MAC and IP addresses but in practice we need
only this case anyway and other cases are very rar if exist at all. It makes
code much simpler and less error-prone.
2015-03-27 12:18:25 +01:00
Andrey Borzenkov 954fe77163 cleanup: grub_cpu_to_XXX_compile_time for constants
This tries to catch all cases where grub_cpu_to_XXX was used for constant
expressions (including sizeof).
2014-09-22 20:47:10 +04:00
Paulo Flabiano Smorigo 6f65e36cc4 increase network try interval gradually
* grub-core/net/arp.c (grub_net_arp_send_request): Increase network try
interval gradually.
* grub-core/net/icmp6.c (grub_net_icmp6_send_request): Likewise.
* grub-core/net/net.c (grub_net_fs_read_real): Likewise.
* grub-core/net/tftp.c (tftp_open): Likewise.
* include/grub/net.h (GRUB_NET_INTERVAL_ADDITION): New define.
2014-01-21 11:06:35 -02:00
Vladimir Serbinenko 7e47e27bd8 Add gcc_struct to all packed structures when compiling with mingw.
Just "packed" doesn't always pack the way we expect.
2013-12-15 14:14:30 +01:00
Vladimir 'phcoder' Serbinenko 28153eb87a * grub-core/net/arp.c: Remove variable length arrays.
* grub-core/net/bootp.c: Likewise.
	* grub-core/net/dns.c: Likewise.
	* grub-core/net/icmp6.c: Likewise.
	* grub-core/net/net.c: Likewise.
2013-10-20 17:40:21 +02:00
Vladimir 'phcoder' Serbinenko 96f7e60eae Stop polling as soon as we have the packet we were waiting for.
* include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
	All users updated.
	* grub-core/net/arp.c (have_pending): New var.
	(pending_req): Likewise.
	(grub_net_arp_send_request): Fill pending_req and use have_pending as
	stop indicator.
	(grub_net_arp_receive): Set have_pending.
	* grub-core/net/dns.c (recv_data): New field stop.
	(recv_hook): Set stop.
	(grub_net_dns_lookup): Init stop and use as stop condition.
	* grub-core/net/http.c (http_establish): Use headers_recv as stop
	condition.
	* grub-core/net/net.c (grub_net_poll_cards): New argument
	stop_condition. Stop when it goes true.
	* grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
	indicator.
	* grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
2012-06-09 11:06:55 +02:00
Vladimir 'phcoder' Serbinenko 9c4b5c13e6 Improve gettext support. Stylistic fixes and error handling fixes while
on it.
2012-02-08 19:26:01 +01:00
Vladimir 'phcoder' Serbinenko da1b289afc IPv6. Apparently working. At least I could retrieve a file with http6 2011-10-13 01:22:56 +02:00
Vladimir 'phcoder' Serbinenko 7c006811f8 more ipv6 code. Now ipv6 ping succeeds 2011-10-12 23:15:02 +02:00
Vladimir 'phcoder' Serbinenko 9aad3cd91d IPv6 support. Several fixes and unifications 2011-10-05 22:15:30 +02:00
Vladimir 'phcoder' Serbinenko fecdbd6b17 support ip fragmentation 2011-07-09 00:27:27 +02:00
Vladimir 'phcoder' Serbinenko 7e0c2d162a Restructurisations, cleanups and few bugfixes 2011-07-02 22:13:33 +02:00
Vladimir 'phcoder' Serbinenko a057797f18 merge mine and abranches' branches. Fix several issues 2011-06-24 21:51:57 +02:00
Vladimir 'phcoder' Serbinenko 8b51fd98b9 bootp support 2011-06-24 20:35:25 +02:00
Manoel R. Abranches d855fbcf37 Add error verification in netbuff operations. 2011-06-18 20:20:53 -03:00
Manoel Rebelo Abranches 4700d08bb4 Run indent on files. 2011-06-07 21:59:53 -03:00
Vladimir 'phcoder' Serbinenko eea841440d fix several bugs 2011-05-19 15:39:34 +02:00
Manoel Rebelo Abranches 25f1579b43 Adapt protocols to new network struct. 2011-04-01 05:42:34 -03:00
Vladimir 'phcoder' Serbinenko 04d22dddd9 Fix a bunch of net issues 2010-09-23 00:45:39 +02:00
Vladimir 'phcoder' Serbinenko ce3a2ec025 Remove some dead code 2010-09-22 20:34:20 +02:00
Manoel R. Abranches 7bb47706c9 Merge grub_net into net. Compiles but is broken right now. 2010-09-16 21:57:31 +02:00