Age | Commit message (Collapse) | Author |
|
the mtu negotiation seems wrong. it seems to assume
that the peer requests a mtu to us, but actually this
doesnt seem to be the case and if the peer doesnt
request it, we'd always use Defmntu of 1450, no
matter what we set on with -m option.
instead, we use the mtu specified with -m option
and always request it to the peer. if the peer requests
a different mtu we use that instead.
this at least gives some control and allows to just use
the correct mtu from pppoe (1492).
|
|
This only works when we'r not already having a interface
bound to that ethernet. Otherwise ipconfig can get
confused and adds the addresses to the wrong interface.
|
|
Change ip/ppp to call ip/ipconfig to add and remove
addresses to avoid duplicating code for removing
ndb entries and handling default routes as well as
allow ipv6 address auto-configuration.
|
|
This adds a very basic (probably wrong) DHCPv6 client,
to handle the "managed"-flag in IPv6 router solicitations.
We add -U option to pass the DHCPv6 client id as well as
an -s flag to manually add a dns server (because ppp
is going to call ipconfig to handle all the configuration
and write-back to /net/ndb in the future).
Have the remove command also remove default routes and
/net/ndb entries. (needed by ppp).
|
|
for ipv6, we need to be able to set both v4 and v6
local and remote addresses:
local4
local6
local4 remote4
local6 remote6
local4 local6
local6 local4
local4 local6 remote4
local6 local4 remote6
local4 remote4 local6 remote6
local6 remote6 local4 remote4
|
|
|
|
|
|
|
|
|
|
|
|
|
|
the previous change introduces a out of bounds access
as it does not change n.
it is also conceptually wrong because this routine is
supposed to just verify the structure. as later getopts()
is *NOT* going to deal with malfored TLV's.
this actually replaces the android magic garbage with
OBpad bytes, which getopts() later will handle correctly
and makes sure the garbage is fully contained within
the buffer boundaries.
thanks sigrid for testing.
|
|
|
|
|
|
establish ipv6 link-local addresses if supported.
to get a full prefix, one would need to do dhcpv6
or using slaac configuration. this will come later.
remove ipv4 default route on exit.
maintain the entries in /net/ndb on ip change and
also remove them on exit.
dont filter source address, this should be done
differently.
fix various bugs in the option iteration loops.
honour primary flag (it used to just ignore that
and set it unasked in the code... what the hell...)
|
|
|
|
The samaddr definitions in the other compilers have
the return type marked correctly.
|
|
|
|
|
|
|
|
|
|
Send lcp echo request every 5 seconds
and terminate if we do not get any reply
after 12 seconds.
On protocol termination, exit all the processes
using a note and log a reason.
Cleanup.
|
|
register twice
|
|
|
|
R1, R1)
|
|
test case:
void
main(int, char **)
{
union {
float f;
u32int u;
}x;
x.u = 1U<<31;
print("%d %d\n", !x.f, x.f == 0.0f);
exits(nil);
}
|
|
|
|
|
|
|
|
|
|
check error for devread() and do some sanity checking
on the constants and dont leak the Dosbpb when error.
|
|
The iotrack buffer layer always assumed 512 byte sector
size and 9 sectors per track.
To support 4K sector size fats, make the iotrack code
deal with it.
Instead of the fixed size Track structure, we just allocate
the pointers and buffers dynamically, and move the sector
size and tack size in the Xfs structure.
Tracks can still be reused between differnet file-systems
after a purgetrack().
The initial fat header has to be read with devread()
instead of getsect() to determine the sector/track size
of the file-system.
|
|
This patch more fully implements the training patterns for DP 1.2 per the spec,
which then allows more monitors to successfully train and therefore connect. In
my case it was an LG 34UM68-P.
Secondly, this fixes EDID shifting to work with a wider range of values, notably
ones which wrap.
Lastly, a small correction in vesa.c as to which bits are used to determine
available connections.
|
|
終了 is more appropriate then 出口 in this context.
|
|
|
|
|
|
|
|
https://offsec.almond.consulting/ghostscript-cve-2023-28879.html
https://git.ghostscript.com/?p=ghostpdl.git;h=37ed5022cecd584de868933b5b60da2e995b3179
|
|
|
|
(thanks k0ga)
The first usb transaction we run on a device is reading the
device descriptor, but todo this we need to know the maximum
packet size on the control endpoint.
But the packet size itself is stored in the device descriptor
which needs to be read over the control endpoint.
We used to fetch up to 64 bytes of device descriptor, and
if that fails assume some default values.
But this seems to cause errors down the line for some devices
like k0gas usb keyboard.
The new way is to read *ONLY* the first 8 bytes (that contain
the bMaxPktSize0 field) and fetch the full device descriptor
later once we have set the correct packet size.
|
|
echo 'a' | awk 'BEGIN { getline l; getline l; print (s=substr(l,1,10)) " len=" length(s) }'
https://github.com/onetrueawk/awk/commit/1debe1993fc852545a9215621d884be27f08a223
|
|
awk 'BEGIN { while(++i <= 100000) { mem = "ps | grep awk"; printf("%d", 1+2, 3+4, 5+6, 7+8, 9+0) > "/dev/null"; if(i % 10000 == 0) system(mem) }}'
https://github.com/onetrueawk/awk/commit/821c502359855d0c43be8e9b08f037ecb543d310
|
|
|
|
|
|
|
|
|
|
|
|
|
|
this change broke the fix from 49d7ca8d92e5667f3e5ece4c6acbc1064701e2f8
|
|
|