Commit Graph

3051 Commits

Author SHA1 Message Date
Sylvain Rochet
d9e2edd1df Merge branch 'master' into ppp-new 2014-05-05 20:55:18 +02:00
Simon Goldschmidt
f9d80d5bd2 try to fix another warning from static code analysis 2014-04-30 22:11:49 +02:00
goldsimon
406874b6c2 snmp: added missing default cases (only used for trace output) 2014-04-30 13:50:18 +02:00
goldsimon
e4ddd6cb6d Multiple fixes found by coverity scan 2014-04-30 12:22:31 +02:00
Sylvain Rochet
a7745e9a86 PPP, PPPoE, fixed bug #42138, pppoe_destroy() called with wrong pointer, PPPoE control block was never freed 2014-04-19 23:38:24 +02:00
Sylvain Rochet
3fd7bc8058 PPP, updated pppd followup 2014-04-15 22:57:59 +02:00
Sylvain Rochet
25e398a8f0 PPP, from PPPD upstream, accept IPCP ConfAck packets containing MS-WINS options
pppd: Accept IPCP ConfAck packets containing MS-WINS options

Since last week I'm seeing IPCP negotiations going like this (and
eventually failing) when connecting to my ISP:

Jul 11 20:03:25 * pppd[4833]: sent [IPCP ConfReq id=0x2 <addr 0.0.0.0> <ms-dns1
0.0.0.0> <ms-dns2 0.0.0.0>]
Jul 11 20:03:26 * pppd[4833]: sent [IPCP ConfReq id=0x2 <addr 0.0.0.0> <ms-dns1
0.0.0.0> <ms-dns2 0.0.0.0>]
Jul 11 20:03:26 * pppd[4833]: rcvd [IPCP ConfNak id=0x2 <addr 10.167.246.198>
<ms-dns1 213.162.69.1> <ms-dns2 213.162.69.169> <ms-wins 124.6.168.55> <ms-wins
17.17.17.17>]
Jul 11 20:03:26 * pppd[4833]: sent [IPCP ConfReq id=0x3 <addr 10.167.246.198>
<ms-dns1 213.162.69.1> <ms-dns2 213.162.69.169> <ms-wins 124.6.168.55> <ms-wins
17.17.17.17>]
Jul 11 20:03:26 * pppd[4833]: rcvd [IPCP ConfAck id=0x3 <addr 10.167.246.198>
<ms-dns1 213.162.69.1> <ms-dns2 213.162.69.169> <ms-wins 124.6.168.55> <ms-wins
17.17.17.17>]
Jul 11 20:03:27 * pppd[4833]: sent [IPCP ConfReq id=0x3 <addr 10.167.246.198>
<ms-dns1 213.162.69.1> <ms-dns2 213.162.69.169> <ms-wins 124.6.168.55> <ms-wins
17.17.17.17>]
...

with the last two lines repeating until the IPCP error limit is
reached. As you can see, the peer added two extra fields in the
ConfNak reply. This is allowed, and indeed the following sent
ConfReq packet reflects this. However, when the ConfAck packet
is received, pppd discards it as invalid, because of the ms-wins
fields.

This fixes it.
2014-04-15 22:55:28 +02:00
Sylvain Rochet
c31b03327f PPP, from PPPD upstream, Don't crash if NULL pointer passed to vslprintf for %q or %v
pppd: Don't crash if NULL pointer passed to vslprintf for %q or %v

This is to avoid crashes like that reported in
https://bugs.launchpad.net/ubuntu/+source/ppp/+bug/1244714
2014-04-15 22:50:53 +02:00
Sylvain Rochet
f6d56e2937 PPP, from PPPD upstream, take out unused %r conversion completely,
pppd: Take out unused %r conversion completely

This just removes some code surrounded by #if 0/#endif, which Fedora
apparently feels the need to patch...
2014-04-15 22:34:24 +02:00
Sylvain Rochet
ca7769e041 Merge branch 'master' into ppp-new 2014-04-12 01:25:00 +02:00
Sylvain Rochet
c0aef7dd6b PPP, VJ compression enabled, fixed IP forward from PPP to Ethernet by allocating a PBUF_LINK instead of a PBUF_RAW if IP forwarding is enabled 2014-04-12 01:23:57 +02:00
Sylvain Rochet
4283ecf774 PPP, PPPoS, fixed IP forward from PPP to Ethernet by allocating PBUF_LINK instead of PBUF_RAW if IP forwarding is enabled 2014-04-11 22:31:01 +02:00
Simon Goldschmidt
88a57dc98d Fixed bug #36167 tcp server crash when client closes (maximum window) 2014-04-08 21:26:27 +02:00
Simon Goldschmidt
035ecef8a5 Fixed bug #36210 lwIP does not elicit an empty ACK when received unacceptable ACK 2014-04-06 22:40:51 +02:00
Simon Goldschmidt
4c3b6814dc Fixed compiling broken ip6.c after last commit 2014-04-06 22:33:27 +02:00
Simon Goldschmidt
3f016fcc5a Multiple small/minor issues: bug #36492 Static Analysis on code 1.4.0 2014-04-06 21:43:37 +02:00
Simon Goldschmidt
be75c483d0 Fixed bug #41787 DHCP Discovery is invalid when an IP is set to thet netif (send discover, request and decline from 'any').
Addd functions to send udp/ipv4/ipv6 packets with source address 'any' although netif has an address assigned
2014-04-06 20:32:37 +02:00
Sylvain Rochet
08dd32d32d PPP, most PPP headers are using u_long, u_int, u_short and u_char types, moved typedef of those types before we include any PPP header 2014-04-04 20:42:01 +02:00
Sylvain Rochet
b49584457a Merge branch 'master' into ppp-new 2014-03-23 13:17:55 +01:00
goldsimon
40d25adb88 Added LWIP_HOOK_ETHARP_GET_GW to implement IPv4 routing with multiple gateways 2014-03-17 12:53:31 +01:00
Sylvain Rochet
a38e5a44ec Merge branch 'master' into ppp-new 2014-03-14 20:48:12 +01:00
Simon Goldschmidt
3fceef0936 - fixed bug #36153 TCP Cheksum error if LWIP_CHECKSUM_ON_COPY=1;
- don't fail on small mss or snd_wnd_max
2014-03-14 19:46:24 +01:00
Simon Goldschmidt
c065427ebe fixed bug #35928 BSD sockets functions must set errno for POSIX-compliance (patch by Mason) 2014-03-11 20:53:44 +01:00
Simon Goldschmidt
c82f04f54c fixed bug #40303 DHCP xid renewed when sending a DHCPREQUEST 2014-02-27 22:44:16 +01:00
Simon Goldschmidt
d9d0c52770 fixed bug #41680 raw socket can not receive IPv6 packet when IP_SOF_BROADCAST_RECV==1 2014-02-27 22:18:45 +01:00
Simon Goldschmidt
c60635855d fixed bug #38404 getpeeraddr returns success on unconnected/listening TCP sockets 2014-02-27 21:28:15 +01:00
Simon Goldschmidt
2666d6df90 fixed bug #41729 Some socket functions return Exyz instead of -1 2014-02-27 20:57:37 +01:00
Simon Goldschmidt
8558fa0bcf etharp_entry::ctime must be u16_t after changing ARP_TMR_INTERVAL from 5 seconds to 1 second when fixing bug #34682 2014-02-26 21:51:56 +01:00
Simon Goldschmidt
f36d6b7ef5 fixed bug #39514 ip_route() may return an IPv6-only interface 2014-02-25 22:37:52 +01:00
Simon Goldschmidt
e9908048ec fixed bug #39356 Wrong increment in pbuf_memfind() 2014-02-25 22:34:27 +01:00
Simon Goldschmidt
dceed2ea5c fixed bug #39225 udp.c uses netif_matches_ip6_addr() incorrectly; renamed function netif_matches_ip6_addr() to netif_get_ip6_addr_match() 2014-02-25 22:30:46 +01:00
Simon Goldschmidt
7b63878926 Fixed bug #39224 Unused IPv6 address state defines in nd6 2014-02-25 22:26:02 +01:00
Simon Goldschmidt
01ecd3517e fixed bug #39145 IGMP membership report for 224.0.0.1
-> ensure that we never send a report for 224.0.0.1
2014-02-25 22:21:31 +01:00
Simon Goldschmidt
fbdea8dc71 fixed bug #39076 ETHARP_STATS is not defined when LWIP_STATS is 0 2014-02-25 22:14:26 +01:00
Sylvain Rochet
58d0e8b28f Merge branch 'master' into ppp-new 2014-02-24 20:21:47 +01:00
Simon Goldschmidt
07fbe82305 fixed bug #34681 Limit ARP queue length by ARP_QUEUE_LEN (=3) 2014-02-22 21:38:56 +01:00
Simon Goldschmidt
05a967564a fixed bug #34682 Limit ARP request flood for unresolved entry 2014-02-22 21:23:06 +01:00
Sylvain Rochet
75ef1278e6 Merge branch 'master' into ppp-new 2014-02-21 20:37:10 +01:00
Simon Goldschmidt
fc158ad5c0 Fixed netconn_gethostbyname for LWIP_MPU_COMPATIBLE: removed invalid check on 'addr', copy 'name' since it could be located on the caller's stack 2014-02-21 09:04:39 +01:00
Simon Goldschmidt
4d69d0eda5 Fixed IPv6 raw checksumming after a hint from Philip Gladstone 2014-02-21 08:41:44 +01:00
Sylvain Rochet
d7ba4bbb9b Merge branch 'master' into ppp-new 2014-02-21 00:39:29 +01:00
Simon Goldschmidt
2225b8add7 fixed bug #39683 Assertion "seg->tcphdr not aligned" failed with MEM_ALIGNMENT = 8 2014-02-20 22:35:37 +01:00
Simon Goldschmidt
9572db262c Fixed bug #39718: disconnecting an UDP socket reports an error 2014-02-20 22:32:57 +01:00
Simon Goldschmidt
515e4b9187 fixed bug #39882 No function shall set errno to 0 2014-02-20 22:23:40 +01:00
Simon Goldschmidt
c1dc1a20d6 fixed bug #40050 SNMP problem with MIB arrays > 255 2014-02-20 22:14:10 +01:00
Simon Goldschmidt
a58083b11e Fixed comment on LWIP_HAVE_LOOPIF 2014-02-20 22:09:38 +01:00
Simon Goldschmidt
0f24fba28a IGMP: fixed !define LWIP_RAND case 2014-02-20 22:07:58 +01:00
Simon Goldschmidt
4d774e275d netconn::recv_avail: forgot one line 2014-02-20 22:01:13 +01:00
Simon Goldschmidt
a2d6a50dff fixed bug #41499 netconn::recv_avail can overflow 2014-02-20 21:55:11 +01:00
Freddie Chopin
08b56e8180 SNMP: mib-2.system.sysObjectID is read-only, so make the object "static const" and modify just the pointer; snmp_get_sysobjid_ptr() and snmp_set_sysobjid() take a pointer to "const" object now
Signed-off-by: Freddie Chopin <freddie.chopin@gmail.com>
2014-02-20 21:24:23 +01:00