Commit graph

6762 commits

Author SHA1 Message Date
cinap_lenrek c5c613357e devip: cleanup udp.c 2018-04-22 18:48:08 +02:00
cinap_lenrek 26aca332bb devip: various icmp stuff
no need to rlock ifc in targetttype() as we are called from icmpiput6(),
which the ifc rlocked.

for icmpadvise, the lport, destination *AND* source have to match.

a connection gets a packet when the packets destination matches the source
*OR* the packets source matches the destination.
2018-04-22 18:47:19 +02:00
cinap_lenrek 575398eb9b devip: verify ifcid on routehint check, check Route.ref for free'd routes
v4lookup() and v6lookup() do not acquire the routelock, so it is
possible to hit routes that are on the freelist. to detect these,
we set ref to 0 and check for this case, avoiding overriding the ifc.

re-evaluate routes when the ifcid on the route hint doesnt match.
2018-04-22 18:42:22 +02:00
cinap_lenrek 638b4a1ec1 devip: add "reflect" ctl message, fix memory leaks in icmpv6, fix source address for icmpttlexceeded, cleanup 2018-04-19 01:08:51 +02:00
cinap_lenrek 691370a08d ip/ipconfig: always refresh ndb/cs and ndb/dns when adding or removing ip addresses 2018-04-19 01:01:39 +02:00
cinap_lenrek fc3c91d91f ndb/dnsquery, ndb/csquery: handle long lines 2018-04-19 01:00:12 +02:00
cinap_lenrek 94018b2130 fix parseip() error handling in ipconfig, ppp, tftpfs and dns 2018-04-17 01:34:10 +02:00
cinap_lenrek 48d117ed64 ndb/dns: remove single-ip-address assuptions 2018-04-17 00:48:42 +02:00
cinap_lenrek ac962a0ae4 ndb/cs: remove single-ip-address assumptions 2018-04-17 00:45:37 +02:00
cinap_lenrek 93ab48008e ip/ipconfig: use unique ip/ipmask/ipgw values close to match for ndbconfig 2018-04-15 00:07:42 +02:00
cinap_lenrek c4603260f8 ndb/cs: remove paranoia debug toggle 2018-04-14 20:32:26 +02:00
cinap_lenrek 1da5285c1e libc: allow /net/cs to specify local address for dial() 2018-04-14 20:28:58 +02:00
kremlin 8666ec6b55 add missing ethermii.h dependencies. patch from cinap_lenrek 2018-04-12 17:50:10 -04:00
cinap_lenrek 4354c401c1 cpurc: remove obsolete device binds, run diskparts after $sysname is known. remove /env/boottime. document. 2018-04-12 21:30:28 +02:00
cinap_lenrek 780c5dfd1a ip/ipconfig: setup per local address default routes 2018-04-11 22:57:16 +02:00
cinap_lenrek 874701d193 devip: make v4 ifc broadcast and multicast routes specific to address
this allows one to access the same network via multiple interfaces,
the local address then determines which interface is used.
2018-04-11 22:56:25 +02:00
cinap_lenrek eac7a2b12a ip/gping: icmpv6 support 2018-04-10 20:04:20 +02:00
cinap_lenrek 829a451c2b devip: properly initialize the connection ignoreadvice and tos flags 2018-04-10 20:02:03 +02:00
cinap_lenrek 0272fa04fd ip/traceroute: icmpv6 support 2018-04-10 19:06:34 +02:00
cinap_lenrek 3e60d7127d ip/ping: stop doing clever things with dialstrings, just let cs/dial figure it out 2018-04-10 00:56:50 +02:00
cinap_lenrek 4cda213a78 ip(3): troff magic 2018-04-08 22:22:03 +02:00
cinap_lenrek f692b73955 ip(3): document changes on /net/arp and /net/iproute 2018-04-08 22:11:18 +02:00
cinap_lenrek dac42bd005 ip/ipconfig: fix v6 ndp code, use source specific default routes 2018-04-08 21:16:29 +02:00
cinap_lenrek c2dd9b1da7 devip: implement source specific routing 2018-04-08 21:15:00 +02:00
cinap_lenrek dc8432d459 nusb/usbd: increase buffer size to capture port information
due to the addition of uframes property, the buffer got truncated
resulting in usbd not recognizing the number of roothub ports.
2018-04-08 20:51:48 +02:00
henesy 21c7c68307 remove duplicate -m definition in upasfs(4) (thanks rodri) 2018-04-06 18:05:25 -05:00
mischief 034d0b08e9 ape: improve assert macro
in a statement such as:

if(expr)
	assert(a);
else
	assert(b);

the previous definition of assert would fail to compile, as the else
would be dangling.  with a ternary expression, this construct works
fine.
2018-04-02 21:44:21 -07:00
stanley lieber 013122b993 9fs: break 9front case into several cases: 9front, 9bugs, 9contrib, 9grep 2018-04-02 19:54:58 -04:00
aiju 9632ff2381 forp(1): document [] and some bugs 2018-03-31 12:41:41 +00:00
aiju 20e695c178 forp: fix precedence for [] 2018-03-31 12:30:48 +00:00
qwx 7d18756b39 gb*: reverse savegame field polarity 2018-03-31 11:38:09 +02:00
qwx 84351ae4cb blit,c64,gb*: fix phaser coolant leak during resize 2018-03-31 11:37:25 +02:00
aiju 2fdd83c827 add forp(1) manpage 2018-03-28 20:49:39 +00:00
aiju 57edb0b2d4 sat.h: update to include satget 2018-03-28 20:36:04 +00:00
aiju 2ca54f6a26 forp: fix multiplication; change division to C semantics 2018-03-28 20:14:29 +00:00
aiju 382d37dbf0 add forp 2018-03-28 17:08:30 +00:00
aiju 80474f7f59 libsat: fix one of the satmore() bugs 2018-03-26 21:39:23 +00:00
Alex Musolino 586a24770c lock(2): fix typo 2018-03-23 11:34:39 +10:30
aiju 39dd26bf08 sat: satget: don't duplicate binary clauses 2018-03-22 13:35:52 +00:00
aiju 8389465f94 sat: satget: include unit literals 2018-03-22 13:15:44 +00:00
aiju 2e2ae33a47 sat: add satget 2018-03-22 12:46:04 +00:00
aiju 3cb5494b26 sshfs: usage 2018-03-20 20:51:04 +00:00
aiju ef17e2a693 resample(1): document -n option 2018-03-20 20:31:25 +00:00
23hiro 992ed21419 man pages: SYNOPSYS typo 2018-03-20 18:24:26 +01:00
aiju 5d4a456ae6 libsat: setmalloctag, fix incorrect allocation size 2018-03-20 11:23:41 +00:00
cinap_lenrek 547f60b4c5 devip: pick source address for neighbor solicitations as of rfc4861 7.2.2, cleanup
rfc4861 7.2.2:

If the source address of the packet prompting the solicitation is the
same as one of the addresses assigned to the outgoing interface, that
address SHOULD be placed in the IP Source Address of the outgoing
solicitation.

this change adds ndbsendsol() which handles the source address selection
and also handles the arp table locking; avoiding access to the arp entry
after the arp table is unlocked.

cleanups:

- use ipmove() instead of memmove().
- useless extern qualifiers
2018-03-19 01:11:08 +01:00
cinap_lenrek 20cbb88e32 merge 2018-03-18 07:53:10 +01:00
cinap_lenrek 71f807873b devip: more v6 improvements
ipv4local() and ipv6local() now take remote address argument,
returning the closest local address to the source. this
implements the standartized source address selection rules
instead of just returning the first local v4 or v6 address.

the source address selection was broken for esp, rudp an udp,
blindly assuming ifc->lifc->local being a valid v4 address.
use ipv6local() instead.

the v6 routing code used to lookup source address route to
decide to drop the packet instead of checking the interface
on the destination route.

factor out the route hint from Conv and put it in Routehint
structure. avoiding stack bloat in v4 routing. implement the
same trick for v6 avoiding second route lookup in ipoput6.

fix memory leak in icmpv6 router solicitation handling.

remove old unfinished handling of multiple v6 routers. should
implement source specific routes instead.

avoid duplication, use common convipvers() function.

use isv4() instead of memcmp v4prefix.
2018-03-18 07:50:48 +01:00
cinap_lenrek 8ce98a0b32 ip/ipconfig: stop spamming the console about router receiving RA's 2018-03-18 07:31:09 +01:00
aiju 87df80019e add sat(1) command 2018-03-18 03:03:12 +00:00