31519 Commits

Author SHA1 Message Date
Michael Lotz
e717a35b6f * Change the way we check for enough available space when searching for spots
to insert areas so we don't overflow.
* Consequently use the area end (base + size - 1) where appropriate which
  prevents overflows in a few places.
* Properly check for reaching the address space end.
* If we've already found a spot we don't need to recheck if we've found one.
* Simplify the B_EXACT_ADDRESS checks down to a simpler single if statement
  instead of the four seperate ones.
* Properly calculate the search end for B_EXACT_ADDRESS as well, it's also
  base + size - 1.
* Block the full last page now that this actually works without overflowing.
* Some style changes and added spacing.

This should now really fix #2550. Previously the overflow protection didn't
actually work because on allocation we overflowed and completely missed the
protecting area.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33037 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev33037
2009-09-10 17:58:19 +00:00
Michael Lotz
cb4a951f4c Also return B_NOT_A_DIRECTORY in write_overlay when appropriate.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33035 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev33035
2009-09-10 03:29:04 +00:00
Michael Lotz
5332eb402b Style fix. I really tried hard, but still failed...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33034 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev33034
2009-09-10 02:11:40 +00:00
Michael Lotz
65b5e4d7ed Make use of the address range blocking to guarantee that accessing 0xdeadbeef
and 0xcccccccc (and 64 pages thereafter) in any way will always lead to a crash.
Before it could happen that these ranges were allocated for an area and then
accessing these would not be as evident anymore. Only enabled when the
corresponding paranoid setting is enabled (which it currently is).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33033 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev33033
2009-09-10 02:09:16 +00:00
Michael Lotz
9aff7f1593 Block the very last page of kernel address space. The problem here is that non
of the VM functions handling areas are overflow safe. If an area is created that
spans across the last page many places will run into an integer overflow. This
mostly concerns the area allocation path in find_and_insert_area_slot() and also
vm_create_anonymous_area() where the loop for mapping pages for B_FULL_LOCK
areas overflows and runs more times than it should leading to #2550.
This could be seen as a workaround. The real fix would be to make everything
overflow safe. The thing is that this does also concern the user of the area
which could easily have forgotten to check for overflows as well, so I am a bit
uneasy with handing out areas that could easily lead to such hard to debug
problems. Since this is really an edge case and this single step safes quite a
bit of extra checks I'd actually be OK with keeping it that way.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33032 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev33032
2009-09-10 02:03:31 +00:00
Michael Lotz
3794518c2d Also check for read-protection of an area. Adjusted naming from read-only to
write-protected and read-protected.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33031 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev33031
2009-09-10 01:47:22 +00:00
Michael Lotz
0f4242de40 Implement a vm_block_address_range() function which creates an area with no
mapped pages and a non-read and non-write protection to block a certain address
range from being used by anything.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33030 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev33030
2009-09-10 01:40:46 +00:00
Oliver Tappe
425cb3d716 * revert r32999 and adjusted each filesystem to return B_NOT_A_DIRECTORY in
its open_dir() implementation instead (as suggested by Ingo).
-alphabranch (it's only a cleanup)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33025 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev33025
2009-09-09 13:45:12 +00:00
Oliver Tappe
30fd88d297 * reverted r33019-33021, as the patch was only meant for the alpha-branch,
sorry for all the noise!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33024 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev33024
2009-09-09 13:42:22 +00:00
Oliver Tappe
86e43ff70c sigh, fixing even more stuff of Matt's patch that I forgot
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33021 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev33021
2009-09-09 12:58:54 +00:00
Oliver Tappe
695424657d applied part from Matt's patch that I missed last time:
* removed gcc4 optional package for Firefox

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33020 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev33020
2009-09-09 12:56:55 +00:00
Oliver Tappe
844172ba63 applying patch by Matt:
* update Firefox optional package for r1a1
+alphabranch (will do that next)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33019 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev33019
2009-09-09 12:33:49 +00:00
Stephan Aßmus
9df7112c5f Appled patch by scottmc from #4450, fixed Pe package to not include stray .svn
folders. Thanks!

+alphabranch


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33017 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev33017
2009-09-09 10:03:03 +00:00
Jonas Sundström
72a7ad1137 Replace process_refs() with the same from TrackerAddOnAppLaunch.h, and adapt to it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33015 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev33015
2009-09-09 01:35:20 +00:00
Jonas Sundström
70dc439139 Check return value also for B_ALREADY_RUNNING, or else we launch the add-on twice.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33014 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev33014
2009-09-09 01:29:45 +00:00
Bruno G. Albuquerque
95ed6b3c0b Patch by ArCePi.
- Implements STARTTLS support to the SMTP add-on.
- Untested, but implementation matches RFC.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33012 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev33012
2009-09-08 23:00:36 +00:00
Jérôme Duval
1cab92ade6 try at workaround early playback interrupts on non intel.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33011 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev33011
2009-09-08 22:49:32 +00:00
Marcus Overhagen
ed20dd306d interrupt debugging instrumentation for bug hunting.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33010 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev33010
2009-09-08 21:27:04 +00:00
Oliver Tappe
b21ffe25a0 * updated Perl optional package for r1a1
+alphabranch (will do that next)

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33008 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev33008
2009-09-08 21:12:39 +00:00
Oliver Tappe
84eac0b07c closing #4453:
* fixed precedence problem in jam rule that caused an if to evaluate to true, no matter
  if a cd or an image was being built


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33007 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev33007
2009-09-08 21:07:27 +00:00
Jérôme Duval
568708be10 the lba type returned is now off_t, trace with %lld
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33005 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev33005
2009-09-08 20:36:40 +00:00
Marcus Overhagen
501ba96759 remove color usage from debug output
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33004 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev33004
2009-09-08 20:34:01 +00:00
Jérôme Duval
c8ef813271 ok, fix this one a better way, as suggested by Michael and Marcus.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33003 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev33003
2009-09-08 20:29:10 +00:00
Jérôme Duval
22d58c7521 ensure we return a positive lba, fixed #4439
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33002 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev33002
2009-09-08 20:21:16 +00:00
Michael Lotz
1a053eedc0 Revert r32994 and add a comment to explain the intention. Thanks Ingo for the
clarification.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33001 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev33001
2009-09-08 16:24:43 +00:00
Oliver Tappe
be628a94e2 * opendir() is supposed to return ENOTDIR if the given path is not
a directory, we returned EINVAL instead, which caused Perl's internal
  glob() implementation to fail prematurely
+alphabranch (will do that myself in a minute)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32999 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev32999
2009-09-08 15:59:51 +00:00
Stephan Aßmus
6ab71ad3b7 Introduced new buildsystem feature that places certain packages into _packages_
on the target image instead of extracting them, but only if the target image
is a CD image. This then speeds up installing a great lot, at the expense of
certain applications not being available in LiveCD mode. This affects
* the revision control tools and their dependency libraries,
* autotools
* texinfo
* perl and python


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32996 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev32996
2009-09-08 11:45:52 +00:00
Stephan Aßmus
bf81407606 * Removed Installer back into Deskbar menu by popular request.
* Changed the Bootscript and the InstallerFinishScript to only create and
  cleanup a link on the Desktop.
* Applied patch by idefix to fix removing the Installer link from volumes
  that contain spaces in the name. (Thanks!)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32995 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev32995
2009-09-08 09:58:51 +00:00
Michael Lotz
fbcf5f3f92 Don't know what this was supposed to do, but with the VADDR_TO_PDENT() it would
end up as 0 again in any case. It certainly looks correct without it, removing
so it doesn't confuse the next one reading over it.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32994 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev32994
2009-09-08 03:51:17 +00:00
Michael Lotz
58465926de Fix auto indent feature of BTextView. The indent was inserted before the line
break instead of after. Also whitespace after the cursor position wasn't
ignored.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32993 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev32993
2009-09-08 03:46:37 +00:00
Michael Lotz
50a8c7c63e Apply OptionalPackages9.diff by scottmc from #4363 to fix libiconv and libxml2
troubles. Fixes #4438.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32992 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev32992
2009-09-08 03:38:30 +00:00
Michael Lotz
3e513e1b8b Ignore negative start LBA values and assume 0 instead. At least VMWare Fusion
seems to incorrectly set pseconds to 0 for the first track, leading to an LBA of
-150 which messes up session recognition. Works around VMWare issue in #4439.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32990 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev32990
2009-09-08 00:45:16 +00:00
Marcus Overhagen
f4f2f6f565 Add more debug code. I see spurius device selection timeouts.
When this happens, no recovery is possible right now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32989 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev32989
2009-09-07 23:52:58 +00:00
Marcus Overhagen
c43d83c81a Use kernel tracing for debugging output.
Fix interrupt handling for bus master DMA.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32988 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev32988
2009-09-07 23:41:53 +00:00
Stephan Aßmus
4ca1875ae9 Fixed warning.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32987 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev32987
2009-09-07 19:46:40 +00:00
Stephan Aßmus
43eaa79d33 Handle the .OptionalPackageDescription files correctly in the UnzipEngine.
Decided it would be easiest there, since it already needed to know about them.
Tested with a whole bunch of our packages and it appends them correctly to the
AboutSystem COPYRIGHTS attribute.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32986 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev32986
2009-09-07 19:45:39 +00:00
imker
3a576e820f - KeymapSwitcher and Vim packages were updated for Alpha-1;
- Bugs #4218 #4275 are fixed with this version of KeymapSwitcher.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32984 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev32984
2009-09-07 06:08:05 +00:00
Ryan Leavengood
4288f6acf3 Update libiconv to the latest which has shared libraries that were missing from
the previous version (which at least broke BeZilla.) This is part of #4363.

+alphabranch


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32983 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev32983
2009-09-07 04:46:20 +00:00
Jonas Sundström
ec577ecf2f Removing printf committed by accident.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32982 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev32982
2009-09-07 04:19:01 +00:00
Jonas Sundström
4230fe9a76 Simplified window accounting and application quitting. Added silent relaunch. Serialize prefs saving through app. Replaced deprecated B_CLOSE_REQUESTED with B_QUIT_REQUESTED for Command-W. Set Command-Q to target application.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32981 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev32981
2009-09-07 04:12:22 +00:00
Michael Lotz
257f000bd2 * When reserving pages and there aren't yet enough free pages, only steal as
many pages as are actually missing, not the full count.
* Take into account that free_page_queue_count() can be less than sReservedPages
  (when some of the reserved pages have been allocated already) in
  vm_page_num_unused_pages(). Before it could return negative and therefore
  wrapped numbers.
* Simplify the page scrubber loop by continuing early. Also avoids a needless
  interrupt spin lock acquisition when there's nothing to do.
* Some minor coding style cleanup.
* Fix a typo.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32980 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev32980
2009-09-07 02:08:09 +00:00
Michael Lotz
156b8d5d2d * Initialize member variables.
* Remove some unused members.
* Avoid initializing the mouse position to non-integer coordinates.
* The frame right/bottom are width/height - 1.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32979 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev32979
2009-09-07 01:37:22 +00:00
Marcus Overhagen
5987738cbe Faster bus scan by reusing device presence information that is available before
resetting the bus. This allows to skip devices that are not present. Works for
most but not all devices. Sometimes device 0 pretends that a device 1 exists,
but it's usefull anyway.
Allow working device 1 only configurations by not selecting device 0 anymore
for identification. Moved indentification from Reset into BusScan to do everything
in a single step. A SATA emulation in combined mode might have a slave (device 1)
only configuration when only one device is connected, depending on the port.
Also tested with PATA.
Recovery for lost interrupts. Works but is dead slow because of the timeout.
Bus reset isn't possible anymore, this needs to be implemented in a save way.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32978 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev32978
2009-09-07 00:58:31 +00:00
Marcus Overhagen
ab9074ffa5 This should fix interrupt timeouts when using DMA mode.
Also ignore simplex bit for Intel controllers, and use
DMA for both channels.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32977 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev32977
2009-09-07 00:46:02 +00:00
Michael Lotz
1dd6345561 If the boot volume is BFS and read-only mount it with the write_overlay. This
allows for BFS based LiveCDs. Still this whole name matching feels hacky.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32976 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev32976
2009-09-06 23:15:23 +00:00
Jérôme Duval
b6d2c58586 added an optional package for OCaml
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32974 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev32974
2009-09-06 22:18:10 +00:00
Jonas Sundström
cbced9ed90 Removing unused bitmaps on request by Ralf Schülke. Thanks.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32973 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev32973
2009-09-06 21:02:11 +00:00
Jonas Sundström
3360020ab0 If moved to Trash, close window.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32972 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev32972
2009-09-06 20:42:23 +00:00
Jérôme Duval
bd7b0937db the float format is not supposed to be selected yet, as we don't support the float format in multi_audio.
dump more audio formats in hda.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32971 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev32971
2009-09-06 19:22:01 +00:00
Jonas Sundström
c7a206e9b1 ¡Ya basta! No more bitmap icons.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32970 a95241bf-73f2-0310-859d-f6bbb57e9c96
hrev32970
2009-09-06 18:37:48 +00:00