summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-05-01termrc: put #u in front for endpoint renaming to be effective, handle ↵cinap_lenrek
multipe ether= tuples in ndb
2018-05-01mergecinap_lenrek
2018-05-01ip/ipconfig: populate /net/ndb from v6 router advertisements, configure ↵cinap_lenrek
multiple addresses in ndbconfig() we now update /net/ndb with the following information gathered from router advertisements (rfc6106 and plan9 specific options): - recursive dns servers (option 25, ndb: dns=) - dns search list (option 31, ndb: dnsdomain=) - plan9 fileserver (option 250, ndb: fs=) - plan9 authserver (option 251, ndb: auth=) note the plan9 specific options can be disabled with the -G flag. for ndbconfig (-N flag), we now collect all ip addresses in ndb belonging to the devices mac address and configue them all. v6 addresses are getting added when a link local address exists or the -6 flag has been specified to automatically configure one. move the dhcp code in its own dhcp.c file and make symbols static that are not used across modules.
2018-05-01ndb/cs: fix crash in ndbredorder due to ndbnew() not maintaining the ->line ringcinap_lenrek
we have to maintain the ->line chain for ndbreorder() to work, so add a little helper: ndbline() which replicates the ->entry chain and links the last tuple to the first; makeing the whole list into a single line.
2018-04-28ndb/csquery: insert \n between read chunkscinap_lenrek
2018-04-28ip/ppp: remove old structcinap_lenrek
2018-04-28libndb: cleanupcinap_lenrek
2018-04-24mergecinap_lenrek
2018-04-24devip: improve arp and ndp codecinap_lenrek
there appears to be confusion about the refresh flag of arpenter(). when we get an arp reply, it makes more sense to just refresh waiting/existing entries instead creating a new one as we do not know if we are going to communicate with the remote host in the future. when we see an arp request for ourselfs however, we want to always enter the senders address into the arp cache as it is likely the sender attempts to communicate with us and with the arp entry, we can reply immidiately. reject senders from multicast/broadcast mac addresses. thats just silly. we can get rid of the multicast/broadcast ip checks in ethermedium and do it in arpenter() instead, checking the route type for the target to see if its a non unicast target. enforce strict separation of interface's arp entries by passing a rlock'd ifc explicitely to arpenter, which we compare against the route target interface. this makes sure arp/ndp replies only affect entries for the receiving interface. handle neighbor solicitation retransmission in nbsendsol() only. that is, both ethermedium and the rxmitproc just call nbsendsol() which maintains the timers and counters and handles the rotation on the re-transmission chain.
2018-04-24forp: fix ternary operatoraiju
2018-04-24libsat, forp: fix va_list hack on amd64aiju
2018-04-22devip: fix ipv6 icmp unreachable handling, fix retransmit, fix ifc locking, ↵cinap_lenrek
remove tentative check
2018-04-22devip: cleanup ipmux.ccinap_lenrek
2018-04-22devip: increment in counter *AFTER* acquiering the ifc lock or loopbackmediumcinap_lenrek
2018-04-22devip: cleanup rudp.ccinap_lenrek
2018-04-22devip: cleanup tcp.ccinap_lenrek
2018-04-22devip: cleanup udp.ccinap_lenrek
2018-04-22devip: various icmp stuffcinap_lenrek
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-22devip: verify ifcid on routehint check, check Route.ref for free'd routescinap_lenrek
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-19devip: add "reflect" ctl message, fix memory leaks in icmpv6, fix source ↵cinap_lenrek
address for icmpttlexceeded, cleanup
2018-04-19ip/ipconfig: always refresh ndb/cs and ndb/dns when adding or removing ip ↵cinap_lenrek
addresses
2018-04-19ndb/dnsquery, ndb/csquery: handle long linescinap_lenrek
2018-04-17fix parseip() error handling in ipconfig, ppp, tftpfs and dnscinap_lenrek
2018-04-17ndb/dns: remove single-ip-address assuptionscinap_lenrek
2018-04-17ndb/cs: remove single-ip-address assumptionscinap_lenrek
2018-04-15ip/ipconfig: use unique ip/ipmask/ipgw values close to match for ndbconfigcinap_lenrek
2018-04-14ndb/cs: remove paranoia debug togglecinap_lenrek
2018-04-14libc: allow /net/cs to specify local address for dial()cinap_lenrek
2018-04-12add missing ethermii.h dependencies. patch from cinap_lenrekkremlin
2018-04-12cpurc: remove obsolete device binds, run diskparts after $sysname is known. ↵cinap_lenrek
remove /env/boottime. document.
2018-04-11ip/ipconfig: setup per local address default routescinap_lenrek
2018-04-11devip: make v4 ifc broadcast and multicast routes specific to addresscinap_lenrek
this allows one to access the same network via multiple interfaces, the local address then determines which interface is used.
2018-04-10ip/gping: icmpv6 supportcinap_lenrek
2018-04-10devip: properly initialize the connection ignoreadvice and tos flagscinap_lenrek
2018-04-10ip/traceroute: icmpv6 supportcinap_lenrek
2018-04-10ip/ping: stop doing clever things with dialstrings, just let cs/dial figure ↵cinap_lenrek
it out
2018-04-08ip(3): troff magiccinap_lenrek
2018-04-08ip(3): document changes on /net/arp and /net/iproutecinap_lenrek
2018-04-08ip/ipconfig: fix v6 ndp code, use source specific default routescinap_lenrek
2018-04-08devip: implement source specific routingcinap_lenrek
2018-04-08nusb/usbd: increase buffer size to capture port informationcinap_lenrek
due to the addition of uframes property, the buffer got truncated resulting in usbd not recognizing the number of roothub ports.
2018-04-06remove duplicate -m definition in upasfs(4) (thanks rodri)henesy
2018-04-02ape: improve assert macromischief
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-029fs: break 9front case into several cases: 9front, 9bugs, 9contrib, 9grepstanley lieber
2018-03-31forp(1): document [] and some bugsaiju
2018-03-31forp: fix precedence for []aiju
2018-03-31gb*: reverse savegame field polarityqwx
2018-03-31blit,c64,gb*: fix phaser coolant leak during resizeqwx
2018-03-28add forp(1) manpageaiju
2018-03-28sat.h: update to include satgetaiju