Commit Graph

64570 Commits

Author SHA1 Message Date
Jérôme Duval
34e9243872 random: always use the PRNG, and use entropy sources to feed it
remove the yarrow module. the hardware modules can push entropy with queue_randomness().
virtio_rng will now push entropy every 300 seconds.
helps with #14937

Change-Id: If76c5deabf61dc616a0e051332f44b89deb6b8a1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5824
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2022-11-21 18:28:41 +00:00
Augustin Cavalier
0843085384 FAT: Limit volume names to 11 characters, not 10.
The rest of the code does a memcpy(..., ..., min(11, strlen(...))
so clearly no NULL terminator is needed and 11 is the real limit.

Should fix #18074.

Change-Id: I6aea166899eab2bab9511ca52981ccc9172b6c17
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5823
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2022-11-19 01:58:42 +00:00
Máximo Castañeda
5728bdf606 BAlert: invalidate icon view on icon change
Invalidating the layout may not be enough for an update.

Fixes: #18069
Change-Id: I93f6b0feb043c7f317a9ff1e7af11b2047fc7cd5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5821
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2022-11-17 21:39:13 +00:00
Jérôme Duval
d2875e7b28 usb: fix references on the module B_PCI_X86_MODULE_NAME
the dependency is optional, only the device modules depend on it.
should fix #18075

Change-Id: Ifddb9814ff5ff59ee7d80d06b14ba9fded04cd56
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5822
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2022-11-17 21:17:20 +00:00
Dominic Martinez
b06ada87fe build: clean hds schema directories correctly
Change-Id: Ie55706885cdaa5bb94f8bf419aac25c326192d64
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5814
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2022-11-15 06:03:15 +00:00
Alexander von Gluck IV
ba659bbc25 release: Bump source release to 1.4GiB
* The if statements now "make sense"
* 1.4 GiB release images easily fit a "mini single layer DVD"
* Our source build is around 1.1GiB
* 200 MiB of "space" in our read-only image allows
  a little room for live-media shenanigans
* Empty space is compressed anyway in release zip files

Change-Id: I5ad017e3f80d5977ca9604f5bf200684796fc7b9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5818
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2022-11-14 01:38:26 +00:00
Alexander von Gluck IV
a2ea46c6ed release: Bump image size to 800MiB. Sorry CD-R
Change-Id: Ib21a3fb8c26a25d84b0b3dd298c22618a53cb7d1
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5817
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Niels Sascha Reedijk <niels.reedijk@gmail.com>
2022-11-13 23:59:44 +00:00
Augustin Cavalier
75fa60f74a HaikuPorts/x86_gcc2: Synchronize, and adjust TIFFTranslator to match. 2022-11-13 01:00:45 -05:00
Augustin Cavalier
96db3233c8 HaikuPorts/x86_64: Synchronize.
* Userguide now provided from HaikuPorts.
 * Python 3.7 -> 3.9.
 * Lots of other version bumps.
2022-11-12 23:46:54 -05:00
Máximo Castañeda
241f109ccb View: provide the transform between different coordinate spaces
There's currently no way for an application to convert between view and
drawing coordinates with a drawing states stack without keeping track of
all the transformations itself, which is not very convenient for helper
or library functions.

Handle other spaces too, for good measure.

Change-Id: Ic8404a1c111e273fff1eebf2f9f59f58246b796c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5775
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2022-11-13 04:04:30 +00:00
Rudolf Cornelissen
423e3645e1 nvidia gfx: removed a syslog message as it was spamming.. 2022-11-13 00:24:05 +01:00
Rudolf Cornelissen
ea959da4df intel gfx: fixed SMAP faults, added 2 G98 IDs to kerneldriver. 2022-11-12 20:16:10 +01:00
Augustin Cavalier
62bd88a64d webpositive: Depends on haiku_datatranslators.
If nothing else for the Media codecs.
2022-11-11 15:52:50 -05:00
Augustin Cavalier
fefa5edf96 Move print add-ons to the haiku_datatranslators package.
This allows us to move the Gutenprint dependency there, too.
2022-11-11 15:48:23 -05:00
Augustin Cavalier
f156c66999 usb_ecm: Disable tracing by default. 2022-11-11 15:47:41 -05:00
John Scipione
369c7b11d2 BAlert: Reserve room for stripe and large icon
... even if no icon is present. Draw stripe w/o icon.

"After ... hrev56382 alerts ... with no icons appears without a
gray stripe, causing it to jump left and right."

Fixes #18033 for R1B4 Release Milestone.

Change-Id: I35acc07411cadd4b394d6dfa1957049280b6f4b3
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5810
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2022-11-11 19:34:25 +00:00
Alexander von Gluck IV
f162d76431 accelerants/radeon_hd: Style cleanup; no functional change
Change-Id: Id54ae8191f7a0b4cd0ffdf3e507df8d694f21899
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5809
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2022-11-09 03:32:26 +00:00
Alexander von Gluck IV
d1b7a784d7 accelerants/radeon_hd: Fix double +
Change-Id: If51bf45076de9871bbd9ed75a4701c31ce9615cb
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5808
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2022-11-09 03:32:26 +00:00
Augustin Cavalier
c1353b749c BControlLook: Fix corner spacing calculation.
Fixes #18046. Ideally app_server would just use
this to pick the size of corners...

Change-Id: I2dc243d55321b3fc0fa90faf415d9b04abf9c376
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5780
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2022-11-08 18:09:48 +00:00
Augustin Cavalier
233c0ffd47 docs/develop: Add missed item to the branch steps and combine the last two. 2022-11-08 12:45:03 -05:00
PulkoMandy
32a71a00aa stdint.h: fix definition of UINT8_MAX, UINT16_MAX, UINT8_C and UINT16_C
C99 chapter 7.18.2, Limits of specified-width integer types:

"This expression shall have the same type as would an expression that is
an object of the corresponding type according to the integer promotions."

C99 chapter 6.3.1.1:

"If an int can represent all values of the original type, the value is
converted to an int; otherwise, it is converted to an unsigned int.
These are called the integer promotions."

Therefore, UINT8_MAX, UINT16_MAX, UINT8_C and UINT16_C should be signed.

This prevents building WebKit with -Werror.

Change-Id: Ib2a2c15acc2c761cccf8caa016c7ff163e3fdc0d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5806
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2022-11-08 16:11:40 +00:00
Jérôme Duval
cedd85556c kernel/x86: init the tsc frequency and clock speed from MSR when available
only for AMD newer CPUs. tested on R5300U

Change-Id: I44be2efca37b1738a759a15140e5fd8d3b5ac7b0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5804
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2022-11-07 09:03:52 +00:00
Jérôme Duval
af136a21bd graphics/edid: add support for the CTA extension block
Change-Id: I2799496faf2f9383c703384a419d8d9fcffc75ab
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5803
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2022-11-07 09:02:42 +00:00
X512
8be7c1aa58 kernel/file_cache: fix VMCache object leak
Fixes #18039.

Change-Id: Ia3cda69f91e56efb36931a97028378ec3ceb2100
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5801
Reviewed-by: Fredrik Holmqvist <fredrik.holmqvist@gmail.com>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2022-11-05 13:27:15 +00:00
PulkoMandy
4c070183d9 PNG translator: remove B_TRANSLATE on string that isn't user visible
Change-Id: I3c04838729740f86493636913ba30a072e633696
2022-11-05 12:59:04 +01:00
Alexander von Gluck IV
28ca540854 docs/release: Bump these changes over to milestones
* There was a bit of overlap

Change-Id: I97b39a38cdb6b3b96aafb42fa1b5a6ed447a6d3c
2022-11-04 15:00:02 -05:00
Alexander von Gluck IV
b5e4f1faa3 docs/release: Extend release engineering documentation
Change-Id: Iade40740e6dfbc7ea5f3f74f572d70443f94841a
2022-11-04 14:38:14 -05:00
Augustin Cavalier
9fc6234686 Versioning: Add BETA_4 and PRE_BETA_5 version constants.
PRE_BETA_5 is now the default in master.
2022-11-03 20:30:10 -04:00
Augustin Cavalier
b966f172df package_infos: "haiku" does not depend on "haiku_datatranslators."
This was initially added so users on the nightlies would not wind up
with no translators installed on updates. It has been long enough
that we can probably remove this in master. (I will re-add it
in the beta4 branch for users upgrading directly from beta3 -> beta4.)
2022-11-03 20:27:18 -04:00
Augustin Cavalier
16081dd2fa libshared: Enable hidden visibility.
This breaks ABI as we forgot to do this originally and a lot of apps
implicitly use symbols from libbe or elsewhere that are imported from
libshared, but we are about to branch beta4, so now is the time to
change this.

Fixes #17256.
2022-11-03 20:24:24 -04:00
Augustin Cavalier
0c6a5835f9 ramfs: Set vnode cache in ramfs_create instead of ramfs_open.
This way it will always be set even on the first creation,
and avoids unnecessary sets. Fixes mmap() of newly created files.
2022-11-03 20:12:50 -04:00
Niels Sascha Reedijk
429cbf2220 NetServices: include libnetservices2.a in the HaikuDevel package
Change-Id: I88e888df5ac7673ab343e25b7216546cb7ca6055
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5799
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2022-11-03 05:28:09 +00:00
X512
ede527512e bfs_shell: fix gcc2 build
Fix regression that building Haiku on 32 bit Haiku become not possible.

Change-Id: I527a8c3bc3ad4744d5515a76888d5cac06293cbe
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5750
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2022-11-02 16:21:43 +00:00
Jérôme Duval
c95c18768b POSIX: wchar.h and wctype.h don't need the locale.h but locale_t.h
* missed in hrev56270.
* mentioned on IRC: <dwa> please ask them if wchar.h isn't meant to include locale_t.h instead of locale.h

Change-Id: Ia9b7553480430c2fefb4a3659ad525322152582b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5797
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2022-11-02 14:09:08 +00:00
Niels Sascha Reedijk
1111dda699 NetServices: Add libnetservices2.a from dev/netservices into master
The overall design does not deviate much from my proof of concept [2] and that still makes a good read to
understanding the overall architecture. If you want to get a sense of how it is built up, the API comes with
full doxygen documentation for the public API [3], and I have also done a PoC change for HaikuDepot which is
useful as an illustration on what the impact for the user of the new library is. [4] There is also a test suite
that may give some insight into the day to day ergonomics of the API [5].

The current state is that I am fairly confident that many HTTP requests will actually work, but I do expect
rough edges with a protocol with this many diverse implementations. There is also a list of features yet to be
implemented on Trac [6]. Additionally, I still want/need to do performance testing.

The goal of merging the kit right now is to start making it available for more uses, and through that also give
a chance to shape its future. There are also some design decisions that need review, most notably I expect some
discussion around the uses of C++ 17 idioms (like std::optional and std::string_view) and around the use of
exceptions for error handling.

The impact of merging right now should be near zero: the netservices2 kit lives in its own header space, and
builds into its own static library (libnetservices2.a). It is not yet used in any of the apps in our
repository.

The branch does remove the deprecated services kit from the libnetapi.so library, though it leaves
libnetservices.a intact. After our previous announcement to remove it after beta 3, this should be expected.

[2] https://github.com/nielx/haiku-netservices-rfc/tree/exceptions
[3] https://git.haiku-os.org/haiku/tree/docs/user/netservices?h=dev/netservices
[4] https://review.haiku-os.org/c/haiku/+/5692
[5] https://git.haiku-os.org/haiku/tree/src/tests/kits/net/netservices2?h=dev/netservices
[6] https://dev.haiku-os.org/wiki/Development/NetServices2

Change-Id: I5d0b7e2619699f39a2506588417b57391f0f5cc2
2022-11-02 01:37:17 +00:00
Augustin Cavalier
8672fc2739 InterfaceDefs: Adjust and introduce new spacing/insets constants.
* Nothing in the tree and few things outside it used BIG_{SPACING|INSETS};
   it seems a value of 15px (at default font size) is not that useful.
   There are, however, a lot of things around the tree that use multiples
   of 20px. So, make BIG be that, with the intent to replace those
   with BIG directly.

 * Introduce CORNER_{SPACING|INSETS}. There are a lot of applications
   (e.g. Tracker, Terminal, Debugger etc.) which use scroll bar width/height
   to metrically align controls with the window frame or with some other
   control which contains scroll bars. Rather than have to invoke
   BScrollBar or BControlLook directly to get the value, we should just
   derive the size of scrollbars from a spacing constant instead
   and get rid of the custom function. (For now it is just replaced.)
   This reuses the old values for BIG, as it is equal to 14px at default.

 * Introduce BORDER_{SPACING|INSETS}. This is equal to the typical border
   size of 1px at default font size (or lower) and uses floor() instead of
   ciel() to compute what the size should be (i.e. it will remain 1px
   at 150%/18pt and only go up at 200%/24pt.) This will allow a lot of
   the hardcoded border sizes around the tree and elsewhere to use
   ComposeSpacing() instead.

Change-Id: Iaea3fa30364859888e816a9d61ac156268d70758
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5702
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Reviewed-by: nephele <nep@packageloss.eu>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2022-11-02 02:23:32 +00:00
Zelenoviy
afe965f464 usb_hid: properly device remove handling
Small fix to device remove handling, when multiple hid-devices published on multiple interfaces.

Fixes #18008.

Change-Id: I64e1a9fb6cbac503e3d55b51ee0539bb6f1908e4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5773
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2022-11-02 02:21:02 +00:00
Zelenoviy
4f18dc0496 usb_hid: Fix MaxReportSize computation
While calculating buffer size for IN reports, only "Input" report type
should been taken in account. Complex HID devices, such as "Gaming"
keyboards and mice, often have "Feature"-reports declared (with size way
bigger than "typical" kbd IN report) for vendor-specific device
configurations.

But "Feature"-reports are sent over control channel only and can't
appear on interrupt channel.

Should fix #14919, #17937, #17699

Change-Id: I4b9eb51938ca4aba2bc34247d00ae164eb2c19fc
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5771
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2022-11-02 02:21:02 +00:00
X512
b71020b095 util/DoublyLinkedList: make GetPrevious/GetNext methods static
This methods do not need DoublyLinkedList class state.

sGetLink field that actually implement GetPrevious/GetNext methods is already static.

Change-Id: Ie0b40f7f1b72d640d75403905b8944666874dc87
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5796
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2022-11-02 02:12:41 +00:00
Máximo Castañeda
baf401757e HaikuBook: small list levels and grammar tweaks
Change-Id: I186e38108a57a8a8b82dbfbdf27766730fe659e4
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5774
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Oscar Lesta <oscar.lesta@gmail.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2022-11-02 02:12:23 +00:00
Augustin Cavalier
20136c336c docs/develop: Linkify version-change hrev. 2022-10-31 23:29:20 -04:00
Máximo Castañeda
7b3e89c094 PoorMan: some libhttpd fixes
The last thttpd update was less than perfect. A bad format string was
causing crashes on directory listings, and some of our changes were
removed, like PoorMan's setting for directory listings, leaks and thread
safety.

Fixes: #17329
Change-Id: I84d9862a0ebd5492a2542cf9776462e7fe7dbe77
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5772
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2022-11-01 01:06:07 +00:00
Oscar Lesta
62b6a4c615 mount_server: BPartition::ContentName() returns a BString now.
Change-Id: I9a236f6a28826d9394265081c3ebf6e96290fa54
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5770
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2022-11-01 01:05:35 +00:00
Oscar Lesta
dfd7e48a6c Partitioner: fixed warnings, and usage of BPartition::ContentName()
Not particularly high priority (this being a test) but... I came across
these while searching for code still needing updates after the changes
on BPartition::ContentName().

Change-Id: I05e8d6c02ba34688cee4f0b55e4e782243b0af4d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5769
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2022-11-01 01:05:35 +00:00
PulkoMandy
4fad6eb32d Tracker: fix thumbnail caching
system_time returns the number of microseconds since booting. This is
not what's needed for the thumbnail generation timestamp attribute, as a
result the attribute was always considered out of date and the stored
attribute would never be used.

Change-Id: I3728077c484f341b765700532d3f986e64f165ad
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5767
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Reviewed-by: John Scipione <jscipione@gmail.com>
2022-10-31 17:40:50 +00:00
Niels Sascha Reedijk
2710b4f5d4 Merge remote-tracking branch 'origin/master' into dev/netservices
Change-Id: I48c8cf4f03e281a5caeb9f27bf052285961529ff
2022-10-29 22:58:24 +01:00
Niels Sascha Reedijk
71e29bbeea NetServices: format code using haiku-format
This commit formats all the netservices2 code with the `haiku-format` tool from
https://github.com/owenca/haiku-format (commit aa7408e), with the following
customizations:
 * SpaceBeforeRangeBasedForLoopColon is set to false
 * Braces before a catch block are not wrapped
 * Most headers, except for ExclusiveBorrow.h, have been manually reformatted
   to adhere to Haiku's header format (issue #19 in the repository)

Change-Id: I693c4515cf26402e48f35d1213ab6d5fcf14bd1e
2022-10-29 22:53:57 +01:00
Augustin Cavalier
1284e971e2 kernel/vfs: Fix locking behavior in acquire_vnode and add a missing ASSERT.
vnode deletion is prevent either by owning a reference to the node,
or by being at least a reader of the vnodes lock. Thus, in acquire_vnode,
we have to inc_ref_count while still holding the lock in order to prevent
a race.

This function is used so rarely and quite deep inside FS drivers that
I'm  not sure this race would ever have been a problem. Nonetheless
the old code was incorrect.
2022-10-29 13:42:19 -04:00
Augustin Cavalier
b4b1561b6a kernel/vfs: Do not wait for removed vnodes to become unbusy.
Most of the time, that is harmless and will just cause a slight delay
before the vnode is removed and we return NULL instead of finding it.
However, in rare circumstances involving renames, we can wind up in
a deadlock with the thread that is trying to remove the vnode, and
would have to wait all the way to the timeout (a full ten seconds!).

The only vnodes not about to disappear from the table that can be both
"removed" and "busy" seem to be special vnodes like pipes, which will
be in an "unpublished" state while they are initially "busy" which we
can check for, in case something wants to wait for them.

The "dirconc" test readily triggered a pathological case of this behavior.
Before this commit, it ran for over 15 minutes before I killed it (and
it was not close to done at that point, either.) After this change,
it completes successfully in around 3 minutes or so on my test VM.

Thanks to mjg@freebsd.org for pointing out this testcase and its
misbehavior on Haiku!

Change-Id: Id1accf0aaf0724e1aec927a437d3a2ac1596cd98
2022-10-29 13:42:19 -04:00
Niels Sascha Reedijk
93069fc4bc NetServices: Disable BasicAuthTest for HTTPS
Change-Id: I0b61af00b96ebe7fbcd04da50e32cb9e9be7f890
2022-10-29 14:29:34 +01:00