Commit graph

7097 commits

Author SHA1 Message Date
cinap_lenrek
1e97adc86b nusbrc: detect "keyboardio model 01", appears as multifuction device with IAD csp(0102EF) (thanks sam-d) 2019-03-21 02:14:40 +01:00
cinap_lenrek
58668339bc nusb/kb: fix continuous scrollwheel delta not being reported (thanks sam-d) 2019-03-21 01:27:28 +01:00
cinap_lenrek
678be83990 merge 2019-03-18 07:16:37 +01:00
cinap_lenrek
746a99e10d python: clean and nuke pgen and libpython.a for all $CPUS 2019-03-18 07:15:09 +01:00
stanley lieber
36603ece3c fortunes: Open source may not be safe if it has no super excellent moderator. 2019-03-17 23:13:27 -04:00
cinap_lenrek
c8fcefb38b dtracy(1): fix print(2) reference 2019-03-18 02:41:15 +01:00
cinap_lenrek
8f5d831e9e python: remove /$objtype/lib/ape/libpython.a, track graminit.h dependencies, remove graminit.c 2019-03-17 23:52:07 +01:00
cinap_lenrek
8f00b7096e ip/ipconfig: use defaults for loopback
- do not write /net/ndb for loopback medium unless -p is specified
- use defmask() instead of hardcoded /64 for v6 to get correct /128 mask for ::1
- only do duplicate address detection on ethernet
2019-03-17 05:44:55 +01:00
cinap_lenrek
7aac23b02b ip/ipconfig: use ewrite() to enable routing command for sendra 2019-03-17 04:07:30 +01:00
cinap_lenrek
5fe49f9c71 rootstub: create arm and mips directories in /usr/glenda/bin (tanks timclassic) 2019-03-17 02:43:49 +01:00
cinap_lenrek
d75f7d273b ip/tinc: 4096 bit RSA, (passive) pmtu discovery, fix udpfd close() race, cleanup
- increase buffer size to support up to 4096 bit RSA keys
- handle PMTUDiscovery option and respond to pmtu probes
- handle port in Address option
- wlock(&netlk) before closing udpfd to sync with writers
- move default subnet handling out of gethost()
2019-03-10 19:07:58 +01:00
cinap_lenrek
a0acae173e libmemdraw: remove static Point p00 and use ZP instead 2019-03-09 17:36:19 +01:00
cinap_lenrek
5a724464d9 libmemdraw: handle memarc() phi == 0 and phi <= -360, keep alpha in bounds 2019-03-09 17:34:22 +01:00
cinap_lenrek
c7b2ca5716 merge 2019-03-07 22:41:42 +01:00
cinap_lenrek
4b8f7a2110 devip: ignore the evil bit in fragment info field
using ~IP_DF mask to select offset and "more fragments" bits
includes the evil bit 15. so instead define a constant IP_FO
for the fragment offset bits and use (IP_MF|IP_FO). that way
the evil bit gets ignored and doesnt cause any useless calls
to ipreassemble().
2019-03-07 22:39:50 +01:00
mischief
c0383d8291 mach(2): fix byteswapping function signatures 2019-03-06 19:10:58 -08:00
mischief
617bf42890 vmx: check for draw initialization errors 2019-03-06 19:10:48 -08:00
cinap_lenrek
4885c75526 devip: ignore icmp advise about laggard fragments
icmp has to advise protocols about the first
fragment only. all other fragments should be
ignored.
2019-03-07 01:25:11 +01:00
qwx
88e054ffdf vgadb: add t43p 1600x1200 panel entry 2019-03-04 21:38:50 +01:00
qwx
b7525d1ed8 igfx: add support for 915gm
tested on a t43 with igfx and a 1600x1200 t43p screen
what works: lvds, blanking
what doesn't: hwgc (not visible), snarfing edid
untested: vga

based on realemu traces.
2019-03-04 21:37:52 +01:00
cinap_lenrek
14da3b8a1f ip/tinc: honor TcpOnly and IndirectData settings, script support, prefer incoming udp connections
only try listen/dial on udp when IndirectData/TcpOnly is not
enabled.

add support for scipts:
 host-up
 host-down
 tinc-up
 tinc-down
 subnet-up
 subnet-down

when dialing udp connection, only switch when there is no
other udp connection active. when we receive an authenticated
message, we switch to that connection immidiately.
2019-03-04 20:29:33 +01:00
cinap_lenrek
57284d07ca devip: ignore reserved fragment offset bits 2019-03-04 12:07:40 +01:00
cinap_lenrek
e2d310e623 devip: handle packet too big advise for icmp6, remove fragment header 2019-03-04 03:13:29 +01:00
cinap_lenrek
2af6b08960 devip: use common code in icmp for handling advise 2019-03-04 03:09:39 +01:00
cinap_lenrek
827020f686 devip: zero fragment offset after reassembly, remove tos magic, cleanup 2019-03-04 03:08:27 +01:00
cinap_lenrek
a1fceabd5b devip: fix fragment forwarding
unfraglen() had the side effect that it would always copy the
nexthdr field from the fragment header to the previous nexthdr
field. this is fine when we reassemble packets but breaks
fragments that we want to just forward unchanged.
2019-03-04 03:05:30 +01:00
cinap_lenrek
fa97c3dd10 devip: simplify ip reassembly functions, getting rid of Ipfrag.hlen
given that we now keep the block size consistent with the
ip packet size, the variable header part of the ip packet
is just: BLEN(bp) - fp->flen == fp->hlen.

fix bug in ip6reassemble() in the non-fragmented case:
reload ih after ip header was moved before writing ih->ploadlen.

use concatbloc() instead of pullupblock().
2019-03-03 18:56:18 +01:00
cinap_lenrek
a859f05837 devip: fix block list handling for icmp/icmp6, use proper MinAdvise for icmp6 2019-03-03 09:01:23 +01:00
cinap_lenrek
a2c0e55e68 qio: handle common case in trimblock() 2019-03-03 05:26:09 +01:00
cinap_lenrek
5b972a9aea devip: fix ip fragmentation handling issues with header options
some protocols assume that Ip4hdr.length[] and Ip6hdr.ploadlen[]
are valid and not out of range within the block but this has
not been verified. also, the ipv4 and ipv6 headers can have variable
length options, which was not considered in the fragmentation and
reassembly code.

to make this sane, ipiput4() and ipiput6() now verify that everything
is in range and trims to block to the expected size before it does
any further processing. now blocklen() and Ip4hdr.length[] are conistent.

ipoput4() and ipoput6() are simpler now, as they can rely on
blocklen() only, not having a special routing case.

ip fragmentation reassembly has to consider that fragments could
arrive with different ip header options, so we store the header+option
size in new Ipfrag.hlen field.

unfraglen() has to make sure not to run past the buffer, and hadle
the case when it encounters multiple fragment headers.
2019-03-03 05:25:00 +01:00
cinap_lenrek
0aac600fb3 lib9p: fix zero msize abort() due to unknown version (thanks kivik)
kivik wrote:

I've found a nasty bug in lib9p handling of Tversion
messages, where an invalid version string in the request
leads to servers abort()ing the spaceship.

To reproduce:
	; ramfs -S ram
	; aux/9pcon /srv/ram
	Tversion ~0 DIE

The issue lies in sversion() where in case an invalid
version string is received we respond right away with
ofcall.version="unknown"; however, we fail to set the
ofcall.msize, which at this point is cleared to 0.  This
causes the convS2M call in respond() to fail and abort being
called.
2019-03-01 01:43:55 +01:00
cinap_lenrek
967b1248f8 libip: move optimized 386 assembly version of ptclbsum() from kernel to libip 2019-02-27 18:29:08 +01:00
cinap_lenrek
88ccea37f6 kernel: remove ptclbsum dependencies from configs 2019-02-27 08:47:17 +01:00
cinap_lenrek
242403d9f9 pi, pi2: remove ptclbsum dependency from config 2019-02-27 08:38:19 +01:00
cinap_lenrek
b76a78c1a1 cwfs: fix %.*s format in cmd_printconf() 2019-02-25 04:36:37 +01:00
cinap_lenrek
66ab4ac223 pc, pc64: fix %.*s format in multibootargs 2019-02-25 04:25:36 +01:00
cinap_lenrek
96d6f44335 wifi: fix %.*s format in wifictl 2019-02-25 04:22:03 +01:00
cinap_lenrek
4de506404b abaco: fix %.*s format in findctype() 2019-02-25 04:20:43 +01:00
cinap_lenrek
980d64826e atazz: fix %.*s format in special command processing 2019-02-25 04:20:00 +01:00
cinap_lenrek
b4b4d2286b aux/depend: fix %.*s format in path concatenation 2019-02-25 04:18:30 +01:00
cinap_lenrek
bc5b85c37c aux/statusmsg: fix %.*s format 2019-02-25 04:17:19 +01:00
cinap_lenrek
28bcea12aa aux/wpa: fix %.*s format in debug prints 2019-02-25 04:16:48 +01:00
cinap_lenrek
5d58b9573c cc: fix %.*s format usage in lexer "token too long" error 2019-02-25 04:15:43 +01:00
cinap_lenrek
ac3e3c342f hgfs: fix %.*s usage in walk 2019-02-25 04:08:13 +01:00
cinap_lenrek
a7ab815839 ip/cifsd: fix %.*s format xdirflush() path 2019-02-25 03:53:09 +01:00
cinap_lenrek
80b1890093 ip/ppp: fix %.*s format in debug print 2019-02-25 03:52:05 +01:00
cinap_lenrek
cb8ef42b55 ip/pppoe: fix %.*s format in debug prints 2019-02-25 03:51:19 +01:00
cinap_lenrek
b01b637889 ip/socksd: fix %.*s format in dialstring 2019-02-25 03:50:14 +01:00
cinap_lenrek
80a1d1ab93 ip/tftpd: fix %.*s format for homedir path 2019-02-25 03:49:17 +01:00
cinap_lenrek
1335a57865 ip/torrent: fix %.*s format in dialstring 2019-02-25 03:48:12 +01:00