Just a straight code import, various things need to be done before
it will compile and actually work.
Change-Id: Ibb3629a14067d350d58e2066bafc64a901d6a85e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6040
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
see RFC9293 3.7.1. Maximum Segment Size Option
The maximum size of a segment that a TCP endpoint really sends, the
"effective send MSS", MUST be the smaller of the send MSS (that
reflects the available reassembly buffer size at the remote host)
and the largest transmission size permitted by the IP layer.
Previously, instead of just choosing a lower send MSS, we would
(try to) fragment those packets.
With this change I now get a 10/10 score from test-ipv6.com when
setting the local MTU to 1280 (this is needed as a workaround as we
don't implement Path MTU Discovery).
Change-Id: I27bdfebe2f94a55951407136ab7c4dd9626cdcea
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6043
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
This fixes two separate issues in relation to Tracker:
1) If the desktop base color is set to a lighter color (such that black text is used for desktop items),
clicking on another window and then dragging that window over the item leads
to a black selection and text color, leaving the text unreadable. (Fix in Pose.cpp)
2) After fixing the first problem, I noticed that Tracker still didn't immediately update the color of inactive,
though still selected desktop items until another window was dragged over them. (Fix in DeskWindow.cpp)
Change-Id: I43653e23c69a7666ed8a53751b0f65622c8dc596
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5882
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: nephele <nep@packageloss.eu>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Previously, a default route was only added if the interface was not
set for auto configuration and it was added before the address was
configured. Currently, using DHCP for IPv4 means that the interface is
set as auto-configured (i.e. this also meant that the statically
configured default route for IPv6 wasn't even attempted to be added).
Also, adding a default route when the address hasn't been set is
questionable.
Always adding a default route (if a gateway is configured) shouldn't
cause any issues, even for auto-configuration cases, as the default
route will just be replaced once auto-configuration has completed
(which already happens for the IP address).
This change fixes network configuration where IPv6 is statically
configured and IPv4 is either also statically configured or
auto-configured.
Change-Id: I6b268ab1fa89777c64e1396cc460444f49edfef9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6039
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
"Newer" synaptics touchpad support a new mode where they can report more
information to the host. In this mode, there is a different packet
format for tracking extra data from the touchpad, including a wheel
encoder (mousewheel) if available, and multitouch finger tracking.
This mode is documented in the Synaptics touchpad interfacing guide
(Synaptics document 511-000275-01 Rev. B), but was not yet implemented
in our driver.
It should help with detecting multiple fingers, or finger position on
clickpads to determine right or left click.
This change implements the following items from the Synaptics
interfacing guide:
- Cleanup and clarify the code for features detection to properly report
clickpads
- Enable "extended W" mode if supported
- Process extended W values 0 (mouse wheels, reported in the
touchpad_event structure and could be used by input_server for
scrolling), 1 (secondary finger), and 2 (finger count)
- Fix handling of wValue, which is not always a finger width
- Add handling of vValuen which indicates the finger width when wValue
doesn't
Overall, this should provide the movement_maker with a better picture of
what's happening.
Also improve tracing to show received packets and the corresponding
WValue since that's an important value in identifying which type of
packet it is.
Unfortunately I currently don't have a laptop with synaptics touchpad to
test this with.
Change-Id: If334392f4eb2a146955f6c8c897f0ab64d79b8d9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4425
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Reviewed-by: nephele <nep@packageloss.eu>
All neighbor discovery messages need to be sent with a hop limit of
255, but some messages, like solicited neighbor advertisements, are
unicast messages. So need to set the hop limit for both multicast and
unicast messages.
Fixes#14562
Change-Id: I84fba8acbb5833c65d6113c8a7e0cc821a706881
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6038
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
This is duplicated across multiple filesystems, and could probably be
used in more still.
Adjusted only BFS, EXT2, and NTFS in this commit, as they are the ones
which make use of fs_ops_support.h already and thus need to be modified
to avoid duplicate-definition errors.
Also tweak next_dirent to support being built under fs_shell.
(Possibly we should define ASSERT there, though?)
This required the addition of some slight modifications to the main
(FreeBSD compat) bus_dma implementation.
Allows some #ifdefs from iaxwifi/idualwifi to be dropped, and will
ease the porting of some future drivers.
Tested with idualwifi7260, seems to work as before.
Send a neighbor advertisment when we have received a neighbor
solicitation.
Change-Id: Ie552a8e81d3f06b2dbfaab83ad5a30bac8962224
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6037
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Ensure that any overflow bits aren't lost when returning from the
helper function. These need to added to the least significant bits in
ipv6_checksum.
Change-Id: Ida9821dd87d34ac1982703d9861419ed97ab4b9e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6036
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
The function returns a positive nonzero value when it works.
Change-Id: I99ee3e2f8f60dff960a07fefc1cf42dc3b3969cd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6013
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
ffmpeg API reference does not allow to allocate AVFrame on the stack,
and especially not without initializing anything in the frame. Calling
av_frame_unref then attempts to free some non-existing data, and
crashes.
The code for video was already using a correctly allocated frame, which
we can reuse here.
Fixes#17415
Probably fixes#16831
Change-Id: I9d6ee7724ab9f22547b0030de12542ef3a650640
fix avframe
Change-Id: I170597ec323ac67be460ccbab9dae5ee3e6e1b71
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6015
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
As investigated by madmax in #18230; Date() returns a time_t since 2015. Thanks!
Change-Id: Ic35129ad60f6cadc09917c05e86f726de3061dcb
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6010
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
The table of content of the top level will include everything that's up
to 2 levels down. Currently this results in a lot of pages and no clear
organization.
Extra index pages allow for more intermediate levels, resulting in less
things being listed in the main page. This way the organization is a bit
clearer, even if this is still not great due to many missing pages and
sections in the documentation currently.
Change-Id: I5bbdd96b3c2ff3334b9ad1b86fd9e7fb00fd63a6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6008
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Reapply part of 12ae5308f2 that was lost in the long revision history of
user fonts. No big deal as the values are the same.
Change-Id: I26bbceb0380b33e35b105519a11e309500f9acf6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6006
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
"Colors" is simpler, better translatable and currently more
correct. A "theme" is broader, including backgrounds, fonts,
mouse cursor, sounds etc.
For a Terminal it's mostly colours. Fonts are being handled in
the "Settings" panel.
Change-Id: Icf043fffbc64d976db7a71c28c41aeea0cdf44e6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5999
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
When #15963 was fixed, some build profiles were succeeded by newer
ones, while the older ones were completely removed. However, this
document was never updated to specifically reflect this change.
Additionally, some headers were slightly improved to make them more
descriptive.
Change-Id: If89e927bef3b87df4e54eecb13a69d877b90e6af
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6001
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Compute a font size that just fits the available space, instead of using
an arbitrary scaling. This makes the code adjust to any font and any UI
size.
Select the appropriate font using a binary search, which will need only
a few attempts (I think 6 font sizes will be tried at the default
config)
Change-Id: Ie3b8678678c0d940981f1785418aa8ab354d01c5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3893
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
While profiling with iperf for #18203 I noticed that the default MTU for
the loopback interface is 16KiB. Other operating systems set this quite
a bit higher. Linux sets it to 64KiB by default. Random Google searches
seem to suggest that Microsoft sets it even higher than this although I
don't have a Windows computer to verify this at the moment.
Changing the default to 64KiB in this patch makes a pretty big
difference in a kvm VM with a single CPU. The max throughput goes from
about 2Mbps/s to around 12Mbps/s, around a 6x increase.
With the same VM but 8 CPUs, the throughput goes from 1.58Gbps to
1.99Gbps, about a 26% increase in throughput. It seems the throughput
is a little more stable too and doesn't drop periodically. I suspect
that this is just because there is less CPU saturation in the loop
consumer thread.
With window size maxed out to around 1GiB as described in #15886 there
is still about a 10% increase in throughput with this change.
There are still some weird performance issues to diagnose but this seems
like a better default.
Change-Id: I8c5d088298a4a7b3e8b1aa1a2f4f85b0cc9c62c2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6000
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
* virtio is sketchy still due to some non-architecture
specific bugs. This lets us control the VM until virtio
improves
Change-Id: I2b6805b7282f8b060fae6d831c675eb2dd2f84ef
* kputs uses the string printing functions per arch
which includes logic to detect \ n and add a \ r before it on
serial devices.
* kputchar uses the individual character printing arch code
which doesn't include this check. This results in a floating
prompt on serial kernel debugger sessions:
kdebug>
kdebug> help
Prints a command...
* Since kputchar is lower level and most would expect it to print
"a single untampered character", just convert these newline calls
to use kputs which includes the \ r check serial devices use.
Change-Id: I8389899e7670859597aeddbb6f58e9b7f7942230
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5992
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
These should return EBUSY instead of EDEADLK, so move the check
for deadlock into _Wait(), where the timeout can be checked prior
to the deadlock check.
Fixes the issue introduced in hrev56698.
Change-Id: I5717dd0579a93a117c15be93ce84136a0e065829
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5989
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>