while finish acknowledged and zero receive window.
* SendQueued: try to get window update when send window is zero.
* Golang test TestServerGracefulClose now passes.
tcp_receive_data generates a RST packet with a random sequence, etc.
with _SendReset, the actual connection will be used to generate the segment information, like Linux, ie:
18:07:17.657812 IP localhost.localdomain.40009 > localhost.localdomain.40034: Flags [R.], seq 184, ack 69632, win 0, options [nop,nop,TS val 34750 ecr 33649], length 0
instead of:
18:10:50.816193 IP localhost.localdomain.40051 > localhost.localdomain.40062: Flags [R], seq 1736711, win 0, length 0
Change-Id: Ib621605f74cb6d1cbc2add050bcddbf471402254
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10223
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
I added this assertion thinking it would incorrectly override
thread locales, and that invocationns this way would be a bug.
Instead it appears that this is the expected behavior in select
circumstances.
Fixes#19896 and other recent regressions.
* Drop the global definitions from ctype.h, and move them to
the internal LocaleData.h: the functions should be used always
when building new applications (as they're thread-safe.)
* Make __ctype_get_mb_cur_max thread-safe and move it to live
alongside the other __ctype...() methods.
* Put the __ctype...() methods in two files, clearly indicating
versions: ctype_loc_global for the global (non-thread-safe) versions,
used for the kernel, and ctype_loc_thread for the libroot versions.
* Consolidate more internal functions into LocaleInternal.cpp.
* Test suite runs to completion (with failures).
* Observed sporadic hang in "BMessageQueue::Concurrency Test #1
(with list)".
* Disabled Deskbar tests because they can mess up system's Deskbar.
Something like test_app_server needs to be provided.
* Disabled B_CMAP8 conversion tests due to #19885.
* Fixed typo in variable names in haikudepot Jamfile.
* "TARGET_PLATFORM=libbe_test jam -q install-unittest-libs" should
prepare complete testing environment.
Change-Id: Ie73fc3aaec5e6f73e310421404acda08f0b7faf4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10224
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
* also used by FreeBSD, they are maintained.
* adjust port_before.h after the musl switch
* tested OK manually with the FreeBSD tests
Change-Id: Id6555aecd4df742d4762d54dd1393f05656793a3
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9711
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
With this change, when you hold SHIFT when going to the next email
message - either by clicking the tool bar icon or pressing
ALT+CursorUp/Down - the current email is closed while keeping
its status.
Saves doing ALT+SHIFT+W to keep the status and having to go to the
next email message and open it manually.
Change-Id: I21cbb042403ba84d8992e9e0878f428e38c5604c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10210
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
* Use B_TRANSLATE_SYSTEM_NAME in BAlert title.
* Put filenames in quotes when spaces in filename could be
confusing.
* Avoid a space at the endof a string where it could be overlooked
("Error:").
Change-Id: I7a705f4c36cbfcf27e69994b8f2126b7f6807363
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10221
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Jérôme Duval <[email protected]>
Do not use array interleaving.
It is more consistent and removes special case for protocol definition
driven inspection tools.
Change-Id: I5034e344c2c8611d21f8809dd67acc4864dd1d3e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10214
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
POSIX flags:
- -P for a fixed format usable in scripts with only some fields
- -k for kilobytes (the default for -P is 512 byte blocks). Rename -b to -k accordingly
and implement a new -b to force 512 byte blocks
Default format rework:
- Add usage percentage
- To keep things under 80 columns, use two lines per device: the first
shows the mountpoint and the second shows the details.
- Mount point is shown in bold and other fields are indented
Change-Id: I33843caf67ff01509ce38bf0b5fdd18517ea1aa9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9276
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
The application name should never appear in a translatable string.
Otherwise it will always show translated in the app, even if the
user configured the Locale prefs to not "Translate app and folder
names".
Always concatenate the B_TRANSLATE_SYSTEM_NAME'ed string.
Change-Id: I511c870bef6efc11dbde52203ecd411c2009495b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10218
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
Just like O_NOFOLLOW. Also drop the now-redundant checks from
all filesystems.
At least some filesystem hooks (FIFOs in particular, see #19879) did not
check this, so this fixes them.
* get_new_fd is actually too late for the O_TRUNC one: we will
have already called the vnode open() hook by then. So, we
need to do that in open_vnode.
* Move checks to a new static helper method, and invoke it
in all relevant places.
* Delete now-redundant O_NOFOLLOW checks.
* Copied and adapted deliver_multicast from IPv4
* However, we still need special handling for the Neighbor Discovery
Protocol as there is no associated socket. So for now we just pass
any multicast ICMPv6 packets to the ICMPv6 module's receive_data
that in turn passes it to the NDP module.
Change-Id: Idc9db0ec2132dffcf65c3b767dd1e428c44b27ba
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10169
Reviewed-by: Jérôme Duval <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
Specified in POSIX-2024.
GNUlib currently has a nasty Haiku-specific hack to implement
equivalent functionality; after this it should be able to use
this function instead.
Otherwise, calling open(O_CREAT) on a path that exists but is
a directory will succeed.
Fixes Sortix os-test open-tmpdir-rdonly-creat. (Interestingly
many other OSes also fail this test; only Linux, FreeBSD, Solaris,
and Sortix, and now also Haiku, properly return EISDIR.)
While at it, fix the doc comment, which appears to have been
copied from open_vnode.
It's a good idea to be more descriptive in those file dialogs'
window title and button labels. That way you can be sure the
file dialog does what you intended.
Esp. using "Write" for the button that starts writing an image
onto a volume.
Change-Id: I0ddb71aae1962d107b8d848d772541366c6bba36
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10215
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
It's specified in POSIX, and FreeBSD puts it in this file.
Distinguish it from _POSIX_SEM_VALUE_MAX (which is really a
"minimum value this can have" as specified in POSIX.)
We have returned "1" here since this code was originally written
in 2004 (hrev7290). BeOS R5 apparently returns "1000009" for this
value, while the Be Book gives no details about what this value means.
So, return an actually useful value of the Haiku version, and then
in uname() process this to return a string indicating the Haiku
version. This makes "uname" print the actual system version,
not just the hrev.
It appears Linux and other systems give non-integer values in
info->release, so this should be fine.
Fixes#17030.
Allows to register and unregister disk images, as well as backup a
partition to an image or restore an image to a partition.
Change-Id: I4e377b1d521ceb7a91e1a5c0d1bb3d37b24fcd68
Reviewed-on: https://review.haiku-os.org/c/haiku/+/330
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
It isn't working properly; see #19874.
Leave the others enable for testing for now. We can disable them
in the beta6 branch if necessary (if nobody reports that they are
indeed working.)
Tracker creates a drag bitmap containing the selection being dragged.
There is a size limit if the selection is too large to avoid moving a
huge bitmap around.
There were two problems with the way this was done:
- The smaller rectangle was always centered on the cursor, even if that
was near the edge of the selection being dragged. In that situation,
most of the drag bitmap would end up being empty. Instead, move the
rectangle to align it with the edges of the selection if it goes
outside them. This makes sure we always use as much of the drag
rectangle as possible for useful data.
- Moreover, there was a regression on the rendering of the
"fade" at the edge of the rectangle. This is a transparency gradient
that should be at the edge only, to indicate that the drag bitmap has
been truncated, and that more (invisible) things are also being
dragged. In hrev58665, this transparency gradient was changed to cover
the entire width and height of the dragged bitmap, instead of just the
edge. This lead to most of the text being almost invisible in a lot of
cases. Change the code to use a gradient only near edges again.
Fixes#19429.
Change-Id: I395fda191dc61732e4bdc5287a09882cdc2b5f55
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10177
Reviewed-by: John Scipione <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
* Write overlay will check if a directory being created already
exists. This fixes an issue where creating a directory that already
exists and is empty would remove and recreate it
instead of returning a directory exists error.
* Check if file exists when creating with O_EXCL and VFS did not catch it.
* Add check to Open() to check and fail correctly if we are opening a
non-directory with O_DIRECTORY. Fixes error when trying to copy/move a
file over another (with cp/mv).
* Correctly return file exists when creating a symlink that already
exists.
Fixes#19640
Change-Id: I82f65d06db0f2ba3cd8facbf7114af60d6987a95
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10172
Reviewed-by: waddlesplash <[email protected]>
* input reports are no longer requested, devices send them when available and we only have to wait for interrupt to come. This is written on Microsoft i2c hid reference document. In fact, as some devices may have more than one input report (ie: trackpad and fallback mouse), we were requesting (and receiving) an input report for each of them. Worse than that, our driver was missassigning reports to handlers.
* fix: i2c report type did not match specification
* implemented send feature report
* The driver sets the device to fallback mode (mouse emulation). This is a short/mid term solution, because right now we can't handle multi-touch trackpads properly. On some laptops this feature is there but ignores request.
* The driver fetches a windows 8 blob (if available). It looks like some devices refuses to work if this blob (I think is a certificate) is not fetched.
* Should we reset the device at Open()?
* Some style fixes
* Added some comments and links where things become ugly
* Some refactor is still missing
Change-Id: Ibb73e0d9dfa7184d35ed8f2adf377c277c53ce18
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8942
Reviewed-by: Adrien Destugues <[email protected]>
* Add Model::SniffMimeIfNeeded as a faster alternative to
Model::Mimeset, useful for ensuring that Model::fMimeType is
initialized regardless of whether the filesystem supports MIME.
* Use SniffMimeIfNeeded when the user interacts with a file.
* Change the return value of Model::Mimeset to match the comment in
Model.h, although currently no client functions pay attention to the
return value.
* Fixes#19284.
The SniffMimeIfNeeded calls provide the following behavior:
* AddOneRefSignatures - Populate Open With
* SearchForSignatureEntryList::Relation - Populate Open With
* SearchForSignatureEntryList::RelationDescription - Populate Open
With descriptions (e.g. "Preferred for Text file").
* TTracker::OpenInfoWindows - Set up Get Info window
Change-Id: Icd0aa98781e191d3f804235b0ab8acfdbe47582d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9683
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>