In the prototype of the gzclose() function of changed from:
typedef struct gzFile_s *gzFile; /* semi-opaque gzip file descriptor */
to:
typedef voidp gzFile;
This caused type mismatch when calling funopen(3) as:
'int (*)(void *)' != 'int (*)(struct gzFile_s *)'
Cast gzclose to (int (*)(void *)) when used in funopen(3).
default, build a handful of tools as n64 so they work properly.
unfortunately, they're also static as dynamic n64 has a problem.
of these tools pstat is probably the lowest hanging fruit to convert
to sysctl. systat would be close were it not for the netstat screen,
which includes netstat itself.
the rest are difficult to perhaps foolish.
the upside is that netstat, pmap and fstat all work properly now.
routed previousely ignored local routes, which have RTF_LOCAL flag, because
such routes have RTF_LLINFO and routed ignored routes having the flag. When
we obsoleted RTF_LLINFO, we removed the ignoring logic from routed, then
routed started removing local routes unexpectedly.
Fix this behavior by teaching local routes to routed to ignore them.
kardel@ reported the issue and helped testing, thanks!
small or wildly too large intervals, but it did allow intervals that
failed at poll(). Since that's signed integer overflow and thus UB,
better not to.
Reject packet intervals < 1 ns as they lead to infinite loops adding
zero timespecs.
Fix the behind-schedule behavior so it doesn't spend all its time in
that loop adding very small timespecs. Try ping -c 500 -i 0.000000001
to see this in action with the old ping.
Check for values between INT_MAX and LONG_MAX (if they're different)
when using strtol to get an int. This applies to the -c and -l options;
the other uses were already checked.
Also limit the inter-packet interval given with -i to values that
don't cause integer overflow calling poll() with milliseconds.
Really large intervals (the number is read as floating point) can
produce positive poll() values but negative integers when converted to
struct timespec; this produces behavior akin to using -l at first and
could be construed as a local DoS vulnerability.
Now you can do
# mount_puffs -o rdonly rot13fs#/home/foo /mnt/rot13
or in fstab
rot13fs#/home/foo /mnt/rot13 puffs rdonly
to start rot13fs with arguments identical to
# rot13fs -o rdonly /home/foo /mnt/rot13
parameters/enables for error recovery, similar to {get,set}cache.
Many old SCSI disks shipped with reallocation disabled, albeit supporting it.
Minor (cosmetic) fixup of scsi_disk_pages while there.
Based upon code in PR bin/29165 by Greg A. Woods.
OK christos@
previously attempting to use mount -t ext2 like myself would result in
the warning "mount: mount_ext2 not found for /mnt", which (if you're me)
can be misunderstood as "/mnt is not an ext2 filesystem"...
change it to "mount: mount_ext2 not found"
Strictly this shouldnt be (and hasn't been for almost a year) a problem,
but there are compilers that warn about locals shadowing globals (which
this is/was) and it is easy to avoid, so ... No functinal difference.
mask set is non-contiguous. We don't prohibit setting such things
(even if they are basically useless) so they can be set by accident.
ifconfig ifN 10.0.0.1 netmask 225.0.0.0
produced
ifN .. inet 10.0.0.1/8
with the previous form (since 225 is 0xE1), now it produces
ifN ... inet 10.0.0.1 netmask 0xe1000000
If the "netmask" form ever appears in ifconfig output, it (now)
means that the netmask is non-contig, which should make that case
obvious (whther intended, or set by accident)