Commit Graph
68392 Commits
Author SHA1 Message Date
John Scipione adce07dae3 Mail: Style fixes related to text control color updates.
Change-Id: I3e642194ecad877f75f13e0031b9b234541f19aa
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10008
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: John Scipione <[email protected]>
2025-12-31 19:24:27 +00:00
John Scipione 9215b337a9 AboutSystem: Live update credit text view colors
Change-Id: Ibf5737f3724451f1e4e1a0272333e66759cc72e5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10132
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: nephele nephele <[email protected]>
2025-12-31 12:54:15 +00:00
PulkoMandy 9867652063 bfs: better filter invalid timestamp values
Timestamps in BFS are stored with a 16 bit subsecond precision. However,
a lot of files have this field set to 0 as they are created with APIs
that do not set a subsecond precsion value.

The previous format (introduced in hrev31057) did not track wether the
stored data was a 12 bit sequential number or a 12 bit subsecond
timestamp + 4 bit sequential number.

As a result, setting a timestamp with nsec=0 would read back a different
value (exposing the sequential counter to userspace).

Older versions of Haiku, and BeOS according to the Practical Filesystem
Design book, did not store a timestamp there. Haiku used to store the
volume UID (I don't understand why), and BeOS stored a sequence number
because the POSIX APIs at the time didn't allow to get and set the time
with nanosecond precision.

The Practical Filesystem Design already mentions that storing a
subsecond precision value here would have been better than their
workaround.

The new format relies on the fact that nanoseconds can only be in the
range from 0 to 999999999. After the conversion to a 16 bit value using
simple shifts, this result in a maximum possible value of 0xEE60. The
new format exploits that, and uses the range 0xF000 to 0xFFFF to
represent 0 timestamps with a 12 bit sequence number.

This allows the sequence number to be hidden from userspace entirely.

Fixes #19213.

Change-Id: Id80289a4331ecfbf2f1a35520b58a99227d1f1d6
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10146
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-12-31 12:50:48 +00:00
Augustin Cavalier 33bc049b2d freebsd_wlan: Don't include stdbool.h under C++.
Should appease GCC 2.
2025-12-30 22:04:33 -05:00
waddlesplash 781af7ad7a Revert "makebootable: guard against writing to non-bfs partitions"
This reverts commit 41f7e3c29a.

It breaks generation of @*-raw images: they weren't bootable anymore
after this change.

Change-Id: I23afdb99fd7b14d5e5a0dc5d3db244a83817ae4d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10173
Reviewed-by: waddlesplash <[email protected]>
2025-12-31 02:58:18 +00:00
Augustin Cavalier 80dc70d5df drivers/ether: Synchronize intel22x, ipro1000, iflib with FreeBSD 15. 2025-12-30 21:56:34 -05:00
Augustin Cavalier 829caf8905 freebsd_network: Additions and motifications for FreeBSD 15 iflib drivers.
* Rewrite machine/atomic.h for clarity and correctness, and add
   a few methods.

 * Add two methods to libkern.h.
2025-12-30 21:55:45 -05:00
Augustin Cavalier a564fd3ccd drivers/ether: Synchronize all non-iflib drivers with FreeBSD upstream.
Mostly minor changes. (Some related to power management refactors
not imported for now.)
2025-12-30 21:54:35 -05:00
Augustin Cavalier e67600e2a4 Synchronize net80211 and all FreeBSD drivers with upstream 15.0.
Tested with realtekwifi.
2025-12-30 19:49:40 -05:00
Augustin Cavalier 4203e71194 freebsd_network: Split m_get3 out of m_get2.
The manpages indicate get2 will return NULL for anything larger
than MJUMPAGESIZE.

(The soon-to-be-merged realtekwifi from FreeBSD 15 uses m_get3 directly.)
2025-12-30 19:18:32 -05:00
Augustin Cavalier e923b9b52b checkfs & resizefs: Adapt following API change in the Storage Kit.
This function always declared that it returned status_t, but
then in practice it didn't. In d225106a20
that was fixed, so these workarounds can be removed now.

Fixes #19862.
2025-12-30 18:36:25 -05:00
Oscar Lesta 3a9d48c77c makefile-engine: split C and C++ flags.
Gets rid of the annoying:

"cc1: warning: command-line option '-Wno-ctor-dtor-privacy'
is valid for C++/ObjC++ but not for C".

Change-Id: Ic72506277af56365cfe52513e1118584bf338ac9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10163
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-12-30 22:46:59 +00:00
PulkoMandy 41f7e3c29a makebootable: guard against writing to non-bfs partitions
- Check superblock magic. Overwriting the first sector of partitions
  using other filesystems is likely to cause trouble
- Tell the user when the partition was already bootable and nothing was
  done, hopefully this will finally stop people from thinking that
  makebootable is of any use (it isn't, Installer already does the
  work).

Change-Id: I9352f1a3853626d093c04f8283771189395d023b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10171
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2025-12-30 20:45:34 +00:00
Humdinger d0b565c5b2 Fix Web+ Loader pages
* Assign correct MIME type for XHTML
* Fix XML encoding of '&' as '&amp;'
* Use 'https' instead of 'http' where possible

Change-Id: I9d0628bd560b253bf9df10ed7e28eb77cf9161e2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10168
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-12-29 20:52:25 +00:00
cafeina 1be6a11df6 Haiku Book: added SerialPort
Change-Id: I7e4c1c6cf2e65a27d26ef22d44619067e498f572
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10134
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2025-12-28 12:01:52 +00:00
PulkoMandy 368cac3c9d ImageRules: do not include catalogs from .so in dependencies
The rule to add an executable or shared library to the Haiku image
automatically also includes the corresponding locale catalogs and MIME
database entries.

The locale catalogs for .a files linked in the executable are also
included, since .a files are not themselves added to the same package.
This makes sure the executable has all the catalogs it needs.

The jam rule was written assuming that NEEDLIBS would only contain .a
files, but that is not the case when compiling Haiku. Libroot for
example is also in NEEDLIBS (this makes sure it is linked by absolute
file path, whereas LINKLIBS would instead use -lroot and may link the
host system one).

Filter out .so files from the NEEDLIBS list when determining which
catalogs to include.

Fixes #19721.

Change-Id: I04604bd37c656f987dd17be8db6edffe88cee651
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10144
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-12-28 11:57:29 +00:00
X512 457cf2a9bf app_server: remove unreferenced server protocol commands
Change-Id: I48ec8a823bfc8660975cb6647b36f809f31374d3
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10164
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-12-28 11:54:57 +00:00
Jim906 86c44a0176 fat: Fix potential double lock
* Unlock the volume once the directories are locked in dosfs_rename.
  At that point locking the volume has served its purpose.
* If the volume lock is retained throughout dosfs_rename, a double
  lock can occur in dosfs_read_vnode, in the event that one of the
  involved file nodes has not already been constructed prior to the
  rename.
* Fixes #19614.

Change-Id: Ib679a6f3ba3dc8f87fb0c6263eb82d2d06cb6064
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10166
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-12-27 23:39:20 +00:00
Autocomitter ffa620b2b5 Update translations from Pootle 2025-12-27 08:13:05 +00:00
Axel Dörfler b15cb7f6d0 bfswhich/bfsinfo/recover can now run on Linux
* You can build them using the <build> prefix; their Jamfiles are below
  src/tools/ as with other host builds.

Change-Id: I9986b85ba0f758d8420f625873b5e37c3274e678
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10126
Reviewed-by: waddlesplash <[email protected]>
Reviewed-by: Axel Dörfler <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-12-25 17:26:09 +00:00
Axel Dörfler 27512d20c7 bfs_tools: Replaced S_* macros with internal BFS_S_* macros
* This makes the BFS tools implementation independent from the actual
  values of these macros to ease porting.

Change-Id: Id7aa8d38c2574875999362a147701f00ec8fab26
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10147
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-12-25 17:25:44 +00:00
Kacper Kasper fca32fdb8b Fix test_app_server build
* Add layers_test.

Change-Id: Ibadd70e9be5118e9c9b764600ef515475b86566a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10151
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-12-23 23:14:55 +00:00
Christof Meerwald c8ebd7dde0 resolv: Zero-initialize res_state objects.
Import fix from NetBSD PR lib/58888

This could have leaked data to the resolver or resulted in the resolver
returning incorrect results.

Change-Id: Idedb9d12c8ad7a88f0e5e05e735efdd8c914cbde
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10149
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-12-23 16:56:19 +00:00
Christof Meerwald 09115ce009 build: Fix NetBSD build issues
* Use LITTLE_ENDIAN instead of __LITTLE_ENDIAN (LITTLE_ENDIAN is what
  POSIX now specifies and everyone seems to define - NetBSD also
  defines _LITTLE_ENDIAN, but not __LITTLE_ENDIAN)

* file descriptors greater than 2 must be explicitly passed to a child
  on NetBSD. POSIX leaves that unspecified, see
  https://pubs.opengroup.org/onlinepubs/9799919799/utilities/V3_chap02.html#exec

* system library functions get declared with visibility "default" on
  NetBSD, so a "hidden" visibility attribute is ignored on a
  redeclaration. Work around by putting the functions in a namespace -
  as they are extern "C", they still end up in the object file without
  the namespace qualifier.

* remove the cast on the NULL pointer on the funopen call - it's not
  needed and the types are different between FreeBSD (fpos_t) and
  NetBSD/OpenBSD (off_t); also trying to change that upstream
  https://github.com/openSUSE/libsolv/pull/603

Change-Id: I6ab7f3c74d18960d7589b403a1c219cdac85a453
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10133
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2025-12-23 09:01:45 +00:00
PulkoMandy ad4a31e93c getnetent: move networks file to system data directory
Hosts and services files have been moved in a similar way in hrev33972.

Fixes #19432.

Change-Id: Ib0a74cc8706f9ac5ed76ee1f6f8d6d362574d0f0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10143
Reviewed-by: waddlesplash <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-12-23 08:58:15 +00:00
cafeina 6feb991b9e Haiku Book: added SimpleGameSound
Change-Id: I502fb2dff202f1b83d289c0713256e930adaee6a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10135
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2025-12-21 09:47:10 +00:00
Autocomitter 00e99303e4 Update translations from Pootle 2025-12-20 08:11:43 +00:00
PulkoMandy b731250e25 Improve drawing of "partially on" checkboxes
Use the existing practice from other operatign systems (at least
some places in Windows XP do this): fill the checkbox with a square
to indiate that it is partially activated.

There is already a color difference, but that is not visible when the
checkbox is also disabled, and maybe a bit too subtle in general.

Change-Id: Icd4403374bd1cec3efeb3146e64b352caabc6d82
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10051
Reviewed-by: waddlesplash <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-12-19 20:19:58 +00:00
Christof Meerwald d29137917a build: Add NetBSD as a host platform
* NetBSD is very similar to FreeBSD

* there is no libdl on NetBSD

* packages live in /usr/pkg on NetBSD

* the argument to tolower() must be representable as an unsigned char

Change-Id: Icff569c4472f7e91edd0ce6d489affb04babde7c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10130
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-12-19 17:45:22 +00:00
PulkoMandy 0bd4842c05 docs/user: Typo in BKeyStore documentation, reported by TmTfx
Change-Id: Id2ddb67050d8b8de53c20146b9beb35d884186cb
2025-12-19 18:40:40 +01:00
PawanYr d225106a20 Installer: Add EFI Loader copy tool
Add a simple tool to the installer that copies the Haiku EFI loader
to a valid partition of the user's choice. Very basic with the
intention of making this process a bit less annoying; nothing more than a
one-to-one implementation of the copy instructions on this page:
https://www.haiku-os.org/guides/uefi_booting/

Also, fix bug in BDiskDeviceRoster::FindPartitionByMountPoint that caused
an error to be incorrectly returned on success.

Change-Id: Ifd3bb96d907dc93908de5ead007c3d5e72b110b8
2025-12-18 14:53:04 -06:00
SED4906 dc7f5e5753 notification_server: Only emit sound if progress moved
Change-Id: Ib5145f0f8b141b155a0f9f7d8eb50f07aef60f37
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10056
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2025-12-18 10:47:37 +00:00
nipos dd184bc74a MidiPlayer: Fill VolumeSlider with B_CONTROL_HIGHLIGHT_COLOR
Fixes #14898 (maybe)

Change-Id: Ic110c411f23084214c2876108d6aeccea2395354
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10104
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
2025-12-18 10:47:17 +00:00
nipos 2a449d1d3d HaikuDepot: Optimize usage conditions window size for HiDPI
Fixes #16017

Change-Id: Ie3abe304d010d3264f25c2b225a927e95670cfe7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9737
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-12-18 10:46:26 +00:00
PulkoMandy 1251c7d8a9 Bootstrap image: Add network stack and drivers to preloaded boot modules
This is needed for network booting the image.

Change-Id: I8132bca717de7e0b72d43ad9b348f045300ef353
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10112
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-12-18 10:45:08 +00:00
PulkoMandy a4f6102692 efi network boot: tell the kernel we're booting from the network
Pass network boot parameters in the same format used by the PXE loader.

Change-Id: I90c9cbfcb6b7bd5bbeb3bf4918880174fd348ee3
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10111
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-12-18 10:45:08 +00:00
PulkoMandy d0d8228843 efi arm: use kernel args allocator built-in alignment feature
No need to manually align allocations, the kernel can do it.

Change-Id: Ib5b271df0a44f0ed3d8af584b9a881b1d35120a3
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10110
Reviewed-by: waddlesplash <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-12-18 10:45:08 +00:00
PulkoMandy 3d2b40d59e efi: synchronize style fixes accross versions of arch_start
The arch_start code is quite similar for all efi architectures and may
be unified someday. Try to keep it as similar as possible by
synchronizing at least style fixes (variables renaming, line breaks,
format macro fixes).

No functional changes intended.

Change-Id: Ie4d54e73020e05a2af6755b7f5a65b92b4953080
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10106
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-12-18 10:45:08 +00:00
PulkoMandy b42876eb45 bootloader fat: use shared utf16 conversion function
Change-Id: I9264e633479ea039a2c004c3331453754a92ca43
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10105
Tested-by: Commit checker robot <[email protected]>
Reviewed-by: Jérôme Duval <[email protected]>
Reviewed-by: waddlesplash <[email protected]>
2025-12-18 10:45:08 +00:00
Alexander von Gluck IV b157c2179a boot/platform/efi: Add network booting support
Similar to open firmware implementation.
This allows to load the kernel from a remote_disk_server.

IP address is recovered using LoadOptions with a syntax similar to the
Linux kernel network boot "ip" parameter. If this is not set, no network
booting is attempted, in order to not slow down normal booting by
waiting on network traffic.

Change-Id: I17738bbcde85921672965b9936a2b484f1e57c6c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/3678
Reviewed-by: waddlesplash <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
Tested-by: Commit checker robot <[email protected]>
2025-12-18 10:45:08 +00:00
Augustin Cavalier ea58f1fc7c kernel/vm: Add missing Put() when removing a reserved area.
This code is triggered whenever an area gets resized to be as large
as, or larger than, a reservation. That can happen with the new heap
when it grows to rather large sizes, in which case we would then leak
the address space when the team was deleted (including all the page
table memory.)

Fixes memory leaks seen e.g. when running Rust compiles, and especially
other short-lived but high-memory-use applications.
2025-12-15 21:24:22 -05:00
Augustin Cavalier 51d39dc74f kernel/vm: Put the address space in get_memory_map_etc.
We don't need a lock here (as we just want the TranslationMap),
but we do need to release the reference we acquired when finished,
otherwise the address space will be leaked.
2025-12-15 21:21:51 -05:00
Augustin Cavalier 24f5beed39 kernel/vm: Minor code cleanup to get_memory_map_etc.
* Move variable declarations closer to use.

 * Adjust comment to be similar to other functions.

No functional change.
2025-12-15 21:21:17 -05:00
Augustin Cavalier ab701fd69e kernel/vm: Print thread ID as decimal, not hex.
Matches the other places this is done.
2025-12-15 21:19:56 -05:00
Augustin Cavalier 0110436f37 ProcessController: Add casts to appease GCC2. 2025-12-15 13:48:57 -05:00
Augustin Cavalier 1e3d21fd30 ProcessController: Allow manual resizing of the replicant window.
There's no real reason to forbid it.

Fixes #13173.
2025-12-15 13:38:42 -05:00
Augustin Cavalier f77f533f72 ProcessController: Scale width by height.
This makes ProcessController look a whole lot nicer on HiDPI.
Tested with 12pt (should be the same), 18pt, 24pt fonts.
2025-12-15 13:34:55 -05:00
Augustin Cavalier 4523120b97 ProcessController: Refactor size computation.
* Don't duplicate the logic, put it all in one place: in a
   static method of the main class.

 * Compose sizes in PCWindow.

Fixes #18049.
2025-12-15 13:34:23 -05:00
Augustin Cavalier 42bb2865fd ProcessController: Base margin on font size.
Arrows don't overlap bars in HiDPI anymore.

Fixes #16306.
2025-12-15 11:58:02 -05:00
Nathan Patrizi 0ce28c177c Tracker: Item view shows number of selected items
Fixes #18811

Change-Id: I4e9abbbf58ec693f0af9b136d973603fa437cdfd
Reviewed-on: https://review.haiku-os.org/c/haiku/+/10048
Reviewed-by: waddlesplash <[email protected]>
2025-12-15 16:01:35 +00:00