summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-05-12add port of aiju's port of games/2600qwx
2018-05-12add libemuqwx
move redundant code from emulators to a common library
2018-05-12add signed fixed size integer typedefsqwx
2018-05-11ndb/dns: lookup *all* entries in dblookup(), v4 and v6 queries in parallel, ↵cinap_lenrek
remove weigthed timeouts dblookup() used to only return the first matching entry. in case of ipv6, we want all entries returned to get both v4 and v6 addresses... and these might not neccesarily be in the same entry (see /lib/ndb/common). note also this makes it behave the same as in cachedb mode which reads in the whole database. we do not know if v4 or v6 routing works, so the simplest is just to query v4 and v6 nameservers in parallel. this is done by changing serveraddrs() to return one address type, and we make sure to get at least one v4 and one v6 address each round. get rid of the weigthed timeout code... there where too many assumptions. instead, we give a round 500ms timeout (or 1 second in patient mode) and honor the maximum query time.
2018-05-11mergecinap_lenrek
2018-05-11fix manpage cross referencescinap_lenrek
2018-05-10libplumb: fix plumbunpackpartial()cinap_lenrek
- *morep was not set in error cases - attr and ntext could be leaked
2018-05-10mergecinap_lenrek
2018-05-10ppp: set source specific default route regardless of primary flag, set link ↵cinap_lenrek
speed thru new ctl message when -b is specified
2018-05-10ip: add some primitive rate limiting knobs to counteract bufferbloatcinap_lenrek
2018-05-08add usb tablet supportaiju
2018-05-05libmp: add awk-generated testsaiju
2018-05-05mpdiv: get signs right...aiju
2018-05-05mp: more testsaiju
2018-05-04mpmagadd: oops...aiju
2018-05-04mpmagadd: force output sign +1 alwaysaiju
2018-05-04mpdiv: fix sign bugaiju
2018-05-04pc: add $ operatoraiju
2018-05-04libmp: add new testsaiju
2018-05-03mplogic: don't drop carry outaiju
2018-05-03pc(1): always allocate at least one mpdigit (itomp assumes this)aiju
2018-05-03mergecinap_lenrek
2018-05-03libplumb: fix old leak introduced in 18b8ed1a5ea3mischief
2018-05-03ipconfig(8): clarify -p and -P optionscinap_lenrek
2018-05-02games/mines: chain new CLists in splitknown correctlyaiju
2018-05-02games/mines -g: elements taken from list should be -2, not -1aiju
2018-05-02ip/linklocal: invert the localadm bit from mac address instead of just ↵cinap_lenrek
setting it
2018-05-02remove ipv6on, update ipconfig(8)cinap_lenrek
2018-05-02ip/ipconfig: fix exit status for ndbconfigcinap_lenrek
2018-05-02termrc: fix mistakecinap_lenrek
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-05-01libplumb: allow attributes larger than 4096, set some malloc tagsmischief
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-26mpdiv: fix dividing 0 by a small power of twoaiju
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.