Commit Graph

65661 Commits

Author SHA1 Message Date
John Scipione
1395769e97 AboutSystem: Fix up layout issues with old replicants
... you have lying around on your Desktop that did not get updated
correctly based on changes that have been made since the replicant
feature was introduced.

Do not archive class members in Archive(). Remove SysInfoView
archive constructor. Recreate replicants fresh. No saving to lists
and restoring.

Maintain bottom right corner whenever replicant is resized by
creating _ResizeBy() and _ResizeTo() methods. Since we're starting
over with replicants, this only happens when the uptime wraps.

Fix box height issues, was a bit too tall.

Change-Id: I464fc09a6f86bc88dc09007c9356d2faac340e77
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7189
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: John Scipione <jscipione@gmail.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2023-12-11 18:20:04 +00:00
Jérôme Duval
1a7cf57024 usb_hid: the report value for an array is an index starting at the logical minimum
to be tested, related to bug #18641

Change-Id: I54b09001a7baf5e868eb5f26ca3064d4e6f31e53
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7069
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2023-12-11 18:17:06 +00:00
Pascal Abresch
6fe3a560bd radeon_hd: tell ATOMbios that we handle brightness control
In hrev55767, a previous patch added the needed code for Haiku to control the display brightness. However, we didn't tell the video card BIOS about it, and so the card could also control the brightness by itself.

This disables BIOS based brightness control and lets Haiku take over cleanly.

Change-Id: Ie0e8f7e653c2d4773c463d21246f2ccc6ec8f441
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7116
Reviewed-by: nephele nephele <nep-git@packageloss.eu>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2023-12-11 18:10:14 +00:00
X512
33365c2a0d AbstractSocket: do not bind AF_LOCAL socket when connecting
Fix connection error for AF_LOCAL sockets.

Change-Id: I2e822f34e64434ccdbdd484f1647de2a8a6232d7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7166
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2023-12-11 18:09:42 +00:00
Freaxed
5014ac9392 BColumnListView: Resolve column resizing drawing glitch (wider than 600px)
* use of a shared bitmap buffer in OutlineView and TitleView
* dynamically increase of the bitmap buffer after adding a column or a row

Change-Id: I4feddf636fb1446c29e60353b8f70fc084833731
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7176
Reviewed-by: John Scipione <jscipione@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Reviewed-by: Stefano Ceccherini <stefano.ceccherini@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2023-12-11 08:19:08 +00:00
PulkoMandy
4f9df95dc8 HaikuDepot TextView: add a way to relayout when document changed
When adding new paragraphs or otherwise editing a document from outside
the view, the layout needs to be recomputed and the view invalidated.
Otherwise, the changed text is not shown.

Change-Id: Id3c60d8b510443f71ebbc805b7b7ca5b35220fd5
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7131
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2023-12-11 08:18:44 +00:00
PulkoMandy
6af1381397 HaikuDepot TextView: add support for hyperlinks/clikable areas
Specific text spans can be assigned a cursor and BMessage to send when
they are clicked. This allows for implementing hyperlinks, specific
popup menus, and clickable text of any type.

With some extra work it can also be used to implement spell checking
suggestions, buttons, and so on.

Change-Id: I390e0c44656da76a950c432bdd934bd51af49baf
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7130
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2023-12-11 08:18:44 +00:00
PulkoMandy
9cd2a23203 HaikuDepot TextView: simple implementation of underlined text
The TextView has planned support for fancy underlines (double underline,
squiggly, and possibly different colors than the text). However, it does
not implement any rendering for these yet. Until that is added, have at
least the basic case (single line underline the same color as the text)
by using BFont B_UNDERSCORE_FACE flag.

Change-Id: I26875e51efb1050cbabb2287307516c4cea077cf
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7129
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2023-12-11 08:18:44 +00:00
François Revol
71522c937e net: Rename IFT_TUN to IFT_TUNNEL as on BSD
We already use their value, let's use the name too.

Change-Id: I5afbd69923ae3b5e702dfb935a709c3069de5365
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7146
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: François Revol <revol@free.fr>
2023-12-10 19:50:48 +00:00
John Scipione
e26329ce22 BTextView: Prevent scrolling if text rect is inside view rect
No horizontal (or vertical) scrolling allowed if the text rect is
inside the view rect in x (or y).

This fixes issues with right-aligned text views getting scrolled
within bounds becoming left-aligned text views. Prevent scrolling
so that this cannot happen unless text is outside the view.

You can still get DeskCalc to be in a scrolled over no-longer-
right-aligned state by scrolling and resizing repeatedly, but
it's better than before and it is at least fixable. This is most
likely a bug in DeskCalc.

This also fixes issues not being able to scroll all the way right
after scrolling left dragging with the mouse.

Do not set any limits in _PerformAutoScroll(), all limits are set
by the code that does the keyboard handling. Set x and y and call
_ScrollBy();

Update limits set in _ScrollBy() to accommodate both keyboard
and mouse (taking from mouse and using on keyboard as well).
This unifies keyboard and mouse scroll limits in x and y.

Change-Id: I0dd24ce03f9b95651bcee4e190564b77f0343863
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7161
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: John Scipione <jscipione@gmail.com>
2023-12-10 09:44:58 +00:00
John Scipione
0e673505eb Keymap: Capitalize L in Caps Lock as a proper noun
... exception to sentence case rule, also Scroll Lock and Num Lock.

Capitalize Right/Left Shift, Control, Option and Command as well.

Change-Id: I65b85eb580fe8cd06664b1bc230ac6aef15d6487
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7182
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2023-12-10 04:20:43 +00:00
Autocomitter
fcddb1a8f7 Update translations from Pootle 2023-12-09 08:18:18 +00:00
John Scipione
64a2e73375 Add _ViewWidth(), _ViewHeight(), _TextWidth(), _TextHeight()
private convenience methods to calculate the text view width and
height with insets and the text rect width and height without
insets respectively.

Also add _ViewRect() and _TextRect() methods for completeness,
but they are not currently used.

Change-Id: I0582bc93a0a3a6820bbb2262a1d726457309ab9f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7162
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2023-12-08 10:14:14 +00:00
Andrew Lindesay
2af0f027cb HaikuDepot : Rename Depot Url to Identifier
The old depot / repository "url" was renamed as
"identifier" some years ago. This field seemed
to remain as "url" and is now corrected.

Change-Id: Icd1390745311030e3fd57b852de91ed69b326496
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7190
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2023-12-08 10:09:36 +00:00
Augustin Cavalier
64408be772 acpi: Fix copy/paste error in GlobalLock functions.
Should fix #18701.
2023-12-07 16:08:44 -05:00
Andrew Lindesay
13bbb4d8f2 HaikuDepot : Break Out Pkg Model
The data model for packages contains a number
of components which all reside in a single
source header and implementation file making
maintenance and modifications difficult. This
change will break the sub-models out into
separate files without making any functional
changes.

Change-Id: I9c2557bc1e5a33661145c55290a0baad4084fd49
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7181
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2023-12-07 19:01:54 +00:00
John Scipione
89b4e5d23e BMenuItem: Add B_BACKSPACE and B_DELETE UTF-8 shortcut chars
U+232B Erase To The Left
U+2326 Erase To The Right

Special case B_DELETE so we don't have to fill out kUTF8ControlMap
with NULLs to get to the last char of the ASCII table at 0x7f.

Lowercase the A in the B_SPACE hex string matching other cases.

Change-Id: Ia5d793112ae8063dfe58366c9dd10d6e616af350
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7177
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2023-12-07 10:47:52 +00:00
PulkoMandy
841c1c0c10 acpica: fix tracing on 64bit systems
Change-Id: I75be1a37a17c171a45c4b5994c65117aed894b56
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7141
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2023-12-07 06:48:59 +00:00
Jérôme Duval
9fb1ce2781 radeon: use the KernelStaticLibrary rule
to build with GCC 13 on x86

Change-Id: I1a79154e3c41a86e34542feff99f3b0a331ef8b7
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7188
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2023-12-06 19:16:19 +00:00
Jérôme Duval
7be86b18a3 libgraphicscommon.a: use the KernelStaticLibrary rule
to build with GCC 13 on x86

Change-Id: Ic775196ffff556dd12381c7b374100bb46838973
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7187
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2023-12-06 19:16:19 +00:00
Jérôme Duval
ff45b65f4d acpi: use the KernelStaticLibrary rule
to build with GCC 13 on x86

Change-Id: If4e37cf5e15038169a16eab048cad4cd6b905707
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7186
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2023-12-06 19:16:19 +00:00
Jérôme Duval
f2acc47f43 acpi: update AcpiOsAcquireGlobalLock and AcpiOsReleaseGlobalLock
implementations from FreeBSD. Because the argument wasn't volatile,
the compiler wasn't considerung reading the lock content.
* fix the acquire and release loops:
The loop could be exited when any new values were read.
Instead the return value should be checked against the old value.

Old x86 gcc2 asm loop in AcpiOsAcquireGlobalLock:
   11660:       89 c8                   mov    %ecx,%eax
   11662:       f0 0f b1 1a             lock cmpxchg %ebx,(%edx)
   11666:       39 0a                   cmp    %ecx,(%edx)
   11668:       74 f6                   je     11660 <AcpiOsAcquireGlobalLock+0x20>

New x86 gcc13 asm loop in AcpiOsAcquireGlobalLock:

    4d58:       8b 11                   mov    (%ecx),%edx
    4d5a:       89 d0                   mov    %edx,%eax
    4d5c:       89 d3                   mov    %edx,%ebx
    4d5e:       83 e0 fc                and    $0xfffffffc,%eax
    4d61:       83 cb 03                or     $0x3,%ebx
    4d64:       f6 c2 02                test   $0x2,%dl
    4d67:       75 05                   jne    4d6e <AcpiOsAcquireGlobalLock+0x1e>
    4d69:       83 c8 02                or     $0x2,%eax
    4d6c:       89 c3                   mov    %eax,%ebx
    4d6e:       89 d0                   mov    %edx,%eax
    4d70:       f0 0f b1 19             lock cmpxchg %ebx,(%ecx)
    4d74:       75 e2                   jne    4d58 <AcpiOsAcquireGlobalLock+0x8>

Old x86 gcc2 asm loop in AcpiOsReleaseGlobalLock:
   11690:       89 c8                   mov    %ecx,%eax
   11692:       f0 0f b1 1a             lock cmpxchg %ebx,(%edx)
   11696:       39 0a                   cmp    %ecx,(%edx)
   11698:       74 f6                   je     11690 <AcpiOsReleaseGlobalLock+0x10>

New x86 gcc13 asm loop in AcpiOsReleaseGlobalLock:
    4d88:       8b 11                   mov    (%ecx),%edx
    4d8a:       89 d3                   mov    %edx,%ebx
    4d8c:       89 d0                   mov    %edx,%eax
    4d8e:       83 e3 fc                and    $0xfffffffc,%ebx
    4d91:       f0 0f b1 19             lock cmpxchg %ebx,(%ecx)
    4d95:       75 f1                   jne    4d88 <AcpiOsReleaseGlobalLock+0x8>

Change-Id: Ia55ba8666efe8b5c198a01db100b4747b72df4a0
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7185
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2023-12-06 19:16:19 +00:00
Jérôme Duval
153bb8ef67 Revert "ACPICA removed our cast we need for gcc 2.95.3"
This reverts commit fe0910891a.

Change-Id: I5887dcbfad83fb10978cd58bda5c2dc540226fe3
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7184
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2023-12-06 19:16:19 +00:00
Jérôme Duval
a45709f630 Revert "ACPICA fixes for gcc2.95.3"
This reverts commit 3f6f7f7420.

Change-Id: If47a81ada6c7fe38c1e40bed4381a384ef25c050
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7183
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2023-12-06 19:16:19 +00:00
John Scipione
f66a7eb59e Tracker: Fix Default button in settings for thumbs default on
Change-Id: I3d7398cb19a34d78a12c4a1fc325f2d15d59e825
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7180
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2023-12-06 18:07:07 +00:00
John Scipione
d8f0eb354e DataTranslations: Call parent list view MouseMoved
... in this version's MouseMoved() to draw selection while dragging.

Related style update to MouseMoved in header (dragMessage, 80 char).

Change-Id: I7b6396ca9dd9b7868894a6424c02ba3ee4e6b20e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7175
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2023-12-05 22:10:10 +00:00
John Scipione
6761bf581f BListView: Update selection on mouse down and mouse up
A version of this feature was originally implemented in hrev50495
that allowed you to scroll through a list of list items while the
mouse was held down updating the selection as you went.

This feature was removed when we switched to selecting on mouse up
in hrev52062 and was never reimplimented when we switched back to
selecting on mouse down in hrev52121.

In BeOS R5 as you scrolled through a single-selection list with the
mouse button held down the selected item appeared to change, but
the selection didn't actually update until you released the mouse
button. The selection never changes on mouse down, only on mouse
up. You could click on one item then move your mouse off the first
item to a second item releasing your mouse button and it would
select the second item without ever selecting the first item.

In this commit we replicate this behavior with one exception, we
always select on mouse down, but still allow the selection to
change on mouse up.

The big difference between this and the BeOS behavior is that on
BeOS you could only select exactly one item on mouse up, while with
this you can select one item on mouse down and a second item on
mouse up.

ScrollToSelection() in MouseMoved() if mouse button is down and
we are not not dragging. This performs auto-scroll.

Create private _DoSelection() method copied from MouseDown().
Remove Thread.h include that is no longer used.

Fixes #15009 (and doesn't cause regression for #9190 #14264 #14289)

Change-Id: Icae02b8d37ed281390647504b4efa3d694ea522a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/1956
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Reviewed-by: John Scipione <jscipione@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2023-12-05 22:10:10 +00:00
John Scipione
c70de894ea Tracker: Another minor code simplification
Replace string literal with kMakeActivePrinter command, shorter.

Change-Id: I64b552fb49fd34f07d956ed6f8a740d7c84a3f7a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7173
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2023-12-05 20:33:01 +00:00
Alexander von Gluck IV
3634f14235 docs/develop/ide: A quick guide for haiku code completion
* Works under a Linux "cross-compile" environment
* We can't check in compile_commands.json unforunetly because it
  highly depends on your build environment
* An in-tree .clangd is a thing, but our includes are complex
  and directory-spefific.
* Thanks to Pulkomandy for adding the flag to jam to do this!

Change-Id: I3be4084c43f7b822bb04ea7ec527c5fbe03d7289
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7158
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2023-12-05 20:02:07 +00:00
John Scipione
9bc1ff61eb Tracker: Allow Get info without selection in File menu
If you don't have a selection, Get info on the window instead.

Change-Id: I83db030798788a487ce3123bb8b2c25056d4fbf2
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7170
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2023-12-05 16:51:01 +00:00
John Scipione
0509d19b91 BTextView: Stylish fix, -x is clear we don't need -1 * x
Change-Id: I38a5e6c88e2ba3b2f82c49aa760942e1799a7595
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7171
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@pulkomandy.tk>
2023-12-05 16:50:27 +00:00
Oscar Lesta
2e1f37d6de AboutSystem: update RAM size on replicant instantiation.
Fixes #18696

Change-Id: If56670a756b4512732edd6846c8055a89d8e3a4f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7174
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2023-12-04 02:38:44 +00:00
John Scipione
6a0798da0c Tracker: Show "-" for packagefs volume size
... instead of "4096 bytes" (i.e. 1 block).

Set total_blocks to 0 in packagefs_read_fs_info to indicate
that the capacity is 0, this avoids some potential issues
that using 1 or -1 might cause.

In WidgetAttributeText look for volumes with 0 blocks and
set fValueIsDefined to false which displays a "-".

Also replace capacity string with "-" in Get info.

Fixes #10291 the quick and dirty solution to #18567.

Change-Id: I7ff204c9ffd10cf9cc6343fcdd4422c034004004
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7164
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: John Scipione <jscipione@gmail.com>
2023-12-02 19:29:08 +00:00
Autocomitter
a07cdb3feb Update translations from Pootle 2023-12-02 08:19:09 +00:00
John Scipione
6f451a737b Tracker: Minor code simplifications
Call TargetModel() instead of PoseView()->TargetModel(), shorter

Eliminate duplicate method in FSUtils. Call FSIsRootDir() in a
couple of places instead of looking for "/".

Change-Id: I42b7f39e7708eda107ee479a6cd36cb58ac77ad9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7172
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2023-12-02 03:33:40 +00:00
John Scipione
41fcdb3c1c Tracker: Remove stray separator
... when context-click on a volume in Open/Save dialog.

Regresssion introduced in hrev56978. Separator goes with the
Paste item that is not currently added.

Change-Id: Ic9402cae27ed84f15479ee9b9cc1f48fea806efa
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7169
Reviewed-by: John Scipione <jscipione@gmail.com>
2023-12-01 22:03:21 +00:00
Alexander von Gluck IV
6ce8dc888f remote_disk_server: Fix incorrect format size on 64-bit
* Of note, using the Linux version since this tool is
  generally compiled on the host system

Change-Id: I85907a09877a97ec6ec709add6f7985b551fcad3
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7168
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2023-12-01 18:29:05 +00:00
Alexander von Gluck IV
c678ffc139 remote_disk_server: dos2unix line endings; no functional change
Change-Id: Ie325a24bb6a06907a8404c6c0f07addfcfa99e71
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7167
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2023-12-01 18:29:05 +00:00
Augustin Cavalier
f7fb846f5b Tracker: Store the correct time value in the thumbnail creation attribute.
We were storing real_time_clock_usecs() but comparing against
BStatable::GetModificationTime() which is just a time_t. The
values were thus displayed wrongly in the "Get Info" window,
but also thumbnails would not have been updated when the file was.

Should fix #18691 and possibly some other tickets.
2023-11-30 17:42:08 -05:00
Augustin Cavalier
b6c24e6b40 network: Overhaul TUN/TAP subsystem.
* Rename the "tun" network device to "tunnel". FreeBSD calls theirs
   "tuntap" but speaks of both TUN and TAP devices as interfaces for
   tunnels. The other BSDs seem to do likewise.

 * Fold the "tun" driver into the "tunnel" network device. The
   network device now publishes entries in devfs when interfaces
   are created, and unpublishes them when interfaces are destroyed.

   This removes the need for the driver and device to communicate
   through a file descriptor, and thus allows the receive queue
   to be totally eliminated, massively simplifying that logic.

 * Use standard net-stack FIFOs instead of TCP BufferQueue, which is
   specialized to TCP's needs in far too many ways. Thanks to the
   previous commit adding support for interrupting semaphore waits,
   we can use the FIFO wait mechanisms, too.

 * Restructure the TAP logic, and generate MAC addresses more like
   Linux does.

 * Actually set type = IFT_TUN, and use the "loopback" frame handler
   instead of the "ethernet" frame handler. This allows significant
   cleanup of the header handling logic.

 * In TUN mode, reject packets that don't look like IP packets.

 * Delete "tunconfig"; it was mostly stubs and is now unnecessary.

TUN mode tested and confirmed as working by kallisti5 with OpenVPN.
TAP mode partially tested, but not yet confirmed as working.

Fixes #18673.

Change-Id: Ibd803139474e8db556a4f567901da15ee4083621
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7143
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
2023-11-30 20:44:44 +00:00
Augustin Cavalier
daf1dd9c40 kernel/sem: Use "count" as thread_unblock status in B_RELEASE_ALL.
Previously, "count" did nothing for B_RELEASE_ALL. Now, if it is
< 0, it will be the error code returned by acquire_sem() of any
waiting threads.

As B_RELEASE_ALL is a Haiku extension, this change should not
cause any compatibility problems that we cannot fix.

This will be useful in implementing some features of TUN/TAP
with network FIFOs.

Change-Id: I2dbccedefac2024fe740b87543ff3b80f5257e20
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7163
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2023-11-30 20:44:44 +00:00
John Scipione
0d85e8fb10 AboutSystem: Consolidate info, remove inaccessible memory
Change-Id: I0a5c0cb61f8c2b01caf12a907ad1c7938c519cf9
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7152
Reviewed-by: nephele nephele <nep-git@packageloss.eu>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2023-11-30 20:27:10 +00:00
Andrew Lindesay
ba1465cc86 HaikuDepot : Faster DTO Models
This change includes some changes to the
generated DTO models between HaikuDepotServer
and HaikuDepot which should improve
performance.

Change-Id: I74c6014f8115aa0a55907a24b6115dd48d341794
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7165
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2023-11-30 19:22:03 +00:00
Augustin Cavalier
255314f734 libroot: Make stpncpy compatible with GCC2. 2023-11-28 21:47:39 -05:00
Augustin Cavalier
611d3d7803 BSocket: Fix swapped parameters in Bind().
Spotted by X512.
2023-11-28 20:41:02 -05:00
Augustin Cavalier
15a3f4c540 libroot: Add stpncpy.
Imported from musl.

It is in POSIX.1-2017.
2023-11-28 20:37:15 -05:00
John Scipione
5a66a92969 BColorControl: right-align text box values
Change-Id: I2ead9d310d265c04b49ea3029694584e628d782f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7160
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2023-11-28 22:33:03 +00:00
Alexander von Gluck IV
53bc9ad035 bfs: Reduce potential for garbage value ingestion
* Pointed out by clang static analysis.  These are
  later read while not being completely validated.

Change-Id: I4546526535d6e011aee40c74136f992962ab8cff
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7159
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
2023-11-28 19:48:02 +00:00
Andrew Lindesay
2174e23fcb HaikuDepot : New Parser Generation Script
Without functionally changing the generated
code, create a new mechanic for generation
in order that improvements can be later made.

Change-Id: Ieb420f2eb0fee51c266ab2e0734ec5c298640cfa
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7156
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2023-11-27 20:00:16 +00:00
John Scipione
ba4ed24acc Tracker: Replace Path with Location in Query
... matching what's in the Attributes menu and everywhere else.
Right align Size column. Replace attribute literals with constants.

Change-Id: I336ef03cd500bf0e079435e21e5b8bf704d29aac
Reviewed-on: https://review.haiku-os.org/c/haiku/+/7157
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2023-11-27 17:18:38 +00:00