them (which you previously could use to easily crash/take over Haiku).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33570 a95241bf-73f2-0310-859d-f6bbb57e9c96
actual digits. Therefore the buffer was always too small leading to memory
corruption. Use the version that allocates the string for us instead, then trim
it and assign it to the result.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33566 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Tracker forwards auto mounter related messages to the mount_server.
* Rewrote AutoMounterSettings to not know AutoMounter and use
the layout-management.
* Moved the "Eject When Unmounting" setting into the Mount Settings.
* Launch the mount_server during boot, but delay the script until all
previously mounted volumes have been mounted. This solves some annoying
timing bugs during boot. For example when you have desktop backgrounds
on other volumes and some servers don't deal well with the situation
of links to add-ons on other volumes becoming valid with a delay...
* src/kits/tracker/Commands.h includes the private headers/private/
mount/MountServer.h header, which made adjustments to the DiskUsage
Jamfile necessary.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33555 a95241bf-73f2-0310-859d-f6bbb57e9c96
the team with the signature becomes a valid target for BMessages.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33553 a95241bf-73f2-0310-859d-f6bbb57e9c96
and stops processing if it finds something wrong.
* The default indirect/double array size differs from BeOS' BFS. I've changed
the size for double indirect arrays only, since the other size should work
either way (not tested yet, this change has a negative effect on the maximum
file size, but improves BeOS compatibility).
* The read/write path of BFS is now double indirect block size agnostic, and
should work with what it finds.
* Merged all double indirect size computation into some utility inline
functions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33551 a95241bf-73f2-0310-859d-f6bbb57e9c96
Locker.cpp.
* The services are now using recursive_locks, and rw_locks instead.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33548 a95241bf-73f2-0310-859d-f6bbb57e9c96
these interfaces are now available.
* Don't be quite so paranoid by default, the checks that are on by default
should be enough to detect most memory corruptions.
This makes the debug heap way more usable, so much that you can even use it as
your normal everyday heap without noticing much performance impact (it has quite
a bit of additional memory overhead though).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33544 a95241bf-73f2-0310-859d-f6bbb57e9c96
libroot. The mutex is a simple benaphore, the rw_lock is pretty much the same
as the one from libkernelland_emu but uses a mutex per lock instead of emulating
a global thread lock. Also added MutexLocking and RWLock{Read|Write}Locking and
AutoLockers based on them. It's cased with __cplusplus so the locks are also
usable from C. Everything's currently exposed in shared/private/locks.h but I
think we should make these locking primitves public.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33543 a95241bf-73f2-0310-859d-f6bbb57e9c96
indices we store in the fields of subsequent BRows. Fixes the broken threads
list in Debugger (should be some ticket -- can't access Trac ATM).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33539 a95241bf-73f2-0310-859d-f6bbb57e9c96
info would decide which one to start. Now, this is only the last comparison
taken into account: first, the search path will be checked, then, any apps
in the /system folder are selected. Only after that, the version check will
be performed.
* This should improve the choices made, especially when you have a second set
of binaries around due to having built Haiku.
* This therefore also fixes that Haiku would wait for the wrong input_server on
shutdown, as the registrar didn't (and rightly so) recognize the input_server
as a system app since the wrong one had been started.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33528 a95241bf-73f2-0310-859d-f6bbb57e9c96
in the free and/or clear queue. This performs better in the case where only few
pages are free/clear but performs worse in the case where there are a lot of
usable pages. It's not used anywhere but it might come in handy one time.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33527 a95241bf-73f2-0310-859d-f6bbb57e9c96
PageWriteTransfer. This makes the transfer accept virtually contiguous pages,
where the offset is contiguous on either end of the current transfer, but where
the pages aren't physically contiguous. It will then add seperate iovecs for
these pages (32 at max right now). This reduces the number of IO requests
generated and allows for optimizations down the IO path (like in the physical to
virtual mapping case for example).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33526 a95241bf-73f2-0310-859d-f6bbb57e9c96
need for the IO -> InternalIO indirection as it is always fed virtual buffers,
which simplifies things a bit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33525 a95241bf-73f2-0310-859d-f6bbb57e9c96
is virtual already it just returns the vecs directly, if it is physical it takes
over the task of virtualizing the vecs either using vm_map_physical_memory_vecs,
if there are multiple vecs or more than one page, or falls back to page wise
mapping if mapping fails or is not needed. In the best case, scattered physical
pages are mapped into one linear virtual buffer so that subsystems operating on
virtual memory only get a single vector and can then burst read/write.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33524 a95241bf-73f2-0310-859d-f6bbb57e9c96
takes a list of iovecs describing the physical pages to be mapped. With it one
can map a set of physically disjoint pages into one linear virtual range. This
is a private API right now, but we might want to make it public as
map_physical_memory_vecs alongside map_physical_memory.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33523 a95241bf-73f2-0310-859d-f6bbb57e9c96
contiguous. Was used to optimized CD boot before the alpha release.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33521 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Note while this fixed running BeOS apps using BJoystick, it breaks all apps
(and SDL) that have been compiled for Haiku R1/alpha1. It's really bad that
r27171 went through unnoticed. We should really try harder next time (and
try to get the ABI change detection script working in an automated way).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33520 a95241bf-73f2-0310-859d-f6bbb57e9c96
frame changes. Currently that's only the expanded/collapsed state of the
items in the tree view, but that already makes single stepping through code
much less annoying.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33512 a95241bf-73f2-0310-859d-f6bbb57e9c96
* IsNodeExpanded(): It always returned false due to a missing return.
* _SetNodeExpanded(): We must call our version of ExpandOrCollapse() or the
listeners won't be notified.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33508 a95241bf-73f2-0310-859d-f6bbb57e9c96
are required to be physically contiguos, which should be reworked to put them
into seperate iovecs. Still this manages to combine a great deal of page
writes into larger bursts already. Reduces the amount of IO requests being
scheduled (and greatly benefits media where page wise writes are slow when
they are accessed through a non-IOScheduler path, i.e. USB mass storage until
that is properly implemented).
* Abstracted per page page writing tasks into a PageWriteWrapper class.
* Abstracted per transfer page writing tasks into PageWriteTransfer class which
formerly was the PageWriterCallback.
* Use both classes from the PageWriterRun and from
vm_page_write_modified_page_range to remove code duplication.
* Adjusted synchronous VMAnonymousCache::Write() to cope correctly with larger
iovecs and more than one iovec. It assumed that there was exactly one page per
vector previously.
* Introduced MaxPagesPerWrite() and MaxPagesPerAsyncWrite() to VMCache to allow
a cache to specify restricitions. VMAnonymousCache does restrict the max pages
to 1 for WriteAsync right now as I didn't feel like reworking that one to cope
with non single page writes just yet.
* Pulled out PageWriteTransfer methods for better readability.
* Some typo fixes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33507 a95241bf-73f2-0310-859d-f6bbb57e9c96
reads or writes for old style drivers, map the physical memory at once. Since
USB is pretty much the only one affected and there small reads/writes are
exponentially slower, the performance gain of the burst transfer far outweighs
the additional overhead of the mapping. Still this could be further optimized
and will eventually be superseeded by also providing a physical memory API in
USB. For now it should bring back USB reads to an acceptable level. Writes are
still page wise though because of how writing back memory works in general.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33503 a95241bf-73f2-0310-859d-f6bbb57e9c96
- Fixed issues sending data over USB bus (actually write data when
requested to; increased timeout when writing data).
- Added usb_printer to build and Haiku image.
- Sending data to printer over USB bus works now in Haiku (cat ... >
/dev/priner/usb/0). Not sure if it works when printing from an
application as I don't have a driver that supports my printer yet.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33501 a95241bf-73f2-0310-859d-f6bbb57e9c96
--Cette ligne, et les suivantes ci-dessous, seront ignorées--
A src/preferences/fonts/fi.catkeys
M src/preferences/fonts/Jamfile
A src/preferences/appearance/fi.catkeys
M src/preferences/appearance/Jamfile
A src/preferences/locale/fi.catkeys
M src/preferences/locale/Jamfile
A src/preferences/bluetooth/fi.catkeys
M src/preferences/bluetooth/Jamfile
A src/preferences/cpufrequency/fi.catkeys
M src/preferences/cpufrequency/Jamfile
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33497 a95241bf-73f2-0310-859d-f6bbb57e9c96
failed to evaluate, the whole term was ignored. Also, if the left term got
the higher score (and was thus evaluated first), the second term was never
evaluated anymore. This should fix, for example, MDR sometimes not sending
out pending mails.
* Minor cleanup, improved comments.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33496 a95241bf-73f2-0310-859d-f6bbb57e9c96
respective Type classes. StackFrameDebugInfo is pretty much out of work now,
but maybe something comes up later.
* Renamed GlobalTypeLookupContext to GlobalTypeCache and renamed its methods.
* A TeamDebugInfo does now have a GlobalTypeCache which is used for resolving
types. Formerly it was created per stack frame, so all types had to be
resolved after each single step. Single-stepping is usably fast again.
The disadvantage is that DWARF theoretically allows types properties to
depend on instruction/frame/frame base pointer and we don't support that
anymore. I can't think of a reasonable application for that feature, though.
* Refactored DwarfStackFrameDebugInfo:
- Moved the type classes into new DwarfTypes.{h,cpp}.
- Moved the creation of types into new class DwarfTypeFactory.
- Added class DwarfTypeContext which bundles all the dependencies of the type
classes.
* Made DwarfFile a BReferenceable.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33495 a95241bf-73f2-0310-859d-f6bbb57e9c96
always return the source string length, we can't really prevent an overflow
of the source address.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33489 a95241bf-73f2-0310-859d-f6bbb57e9c96
anymore).
* Added interface to get the current settings.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33486 a95241bf-73f2-0310-859d-f6bbb57e9c96
a dedicated mount server. This is pretty much a straight copy from the
AutoMounter code from Tracker, except
* the eject on unmount setting has been added (in Tracker, it's part of the
general settings, not the mount specific ones),
* scripting features have been added, such that it becomes possible to trigger
mounting the previoulsy mounted volumes from the outside, and most
importantly block until the operation is done (waiting for the reply).
TODO:
* Change Tracker to not run it's own AutoMounter, but send messages to the
new server.
* Move the eject when unmounting setting to the mount settings window.
* Enable the mount_server in the Bootscript.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33484 a95241bf-73f2-0310-859d-f6bbb57e9c96
to still receive keyboard events. This is now used for menu windows (before,
the menu feel alone would trigger that behaviour).
* This also fixes bug #4691, as tool tip windows use the menu feel as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33481 a95241bf-73f2-0310-859d-f6bbb57e9c96
- Introduced GlobalTypeLookup interface and GlobalTypeLookupContext to look
up types by name and cache them.
- TeamDebugInfo implementes GlobalTypeLookup iterating through all
ImageDebugInfos, which in turn iterate through all SpecificImageDebugInfos.
- DwarfImageDebugInfo iterates through all compilation units, using
a temporary DwarfStackFrameDebugInfo to create the type.
- DwarfStackFrameDebugInfo no longer caches the types itself, but uses
GlobalTypeLookupContext. It uses GlobalTypeLookup to look up types not
defined in the compilation unit.
- DwarfFile: Made expression evaluation more robust, so that it also works,
when no subroutine entry, frame pointer, and instruction pointer are
available (and not used by the expression).
Basically works already, although the wrong compilation unit might be used
when resolving values for global types. It's also horribly slow, when there
are many types in the stack frame.
* DwarfStackFrameDebugInfo::ResolveArrayElementLocation(): The element location
piece size was set incorrectly (multiplied by 8, although bytes were
expected).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33477 a95241bf-73f2-0310-859d-f6bbb57e9c96
incorrectly. We must only replace the last component of the parent's path for
all following dimensions.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33476 a95241bf-73f2-0310-859d-f6bbb57e9c96
define the app_flags in the rdef, case that isn't well handled apparently
when creating a BMessenger targeting the app.
Thanks to Michael and Rene for helping! Fixes#4712
* Removed unneeded and faulty App::MessageReceived and a strange (probably
copy pasted then forgotten) MainWindow::QuitRequested.
* Minor changes. Made App destructor virtual, moved init into ReadyToRun,
fixed a few style violations.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33474 a95241bf-73f2-0310-859d-f6bbb57e9c96
and some code duplication.
* Fixed the missing click count in the former "movement" label (now in the
move_to_movement() function); the click count was always 0 in that case,
this was most obvious with Firefox where you couldn't click anything as long
as you had a finger on the touchpad.
* Made the functions static that aren't exported to the outside.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33469 a95241bf-73f2-0310-859d-f6bbb57e9c96
the same as the two finger scrolling option (could be disabled, too, opinions
welcome).
* Added a new settings to disable horizontal two finger scrolling, since it's
not that easy to only scroll in one direction with this. Maybe a higher
starting boundary would also be an option for this instead, Clemens what do
you think?
* Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33468 a95241bf-73f2-0310-859d-f6bbb57e9c96
when scanning for drivers, as that reverts the standard locking order with
locks like the device manager lock. There is now a dedicated scan_lock for
each directory.
* get_device_name() now locks itself which also adds a missing lock in the
B_GET_PATH_FOR_DEVICE ioctl().
* Minor refactoring; the directory init code was duplicated over several places
in the source file.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33465 a95241bf-73f2-0310-859d-f6bbb57e9c96
I.e. you need to hold down exactly Ctrl+Alt for the server side window
modifiers.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33459 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Trigger server side window modifiers only if exactly those modifiers are
pressed.
* Add the new window flags defined in Window.h to what the server considers
valid flags. Otherwise the new flags important to the server (only
B_NO_SERVER_SIDE_WINDOW_MODIFIERS) get filtered out.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33458 a95241bf-73f2-0310-859d-f6bbb57e9c96
Otherwise libnetwork.so needs to be dragged in, which has some issues.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33454 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Declaring the structs doesn't work so well for the libbe_test target.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33452 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Remove Fonts from the app_server test environment build, since liblocal.so
is not yet part of that target platform.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33450 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Simplified BBox labels (yes, there is a SetLabel(const char*) version :-))
* Automatic whitespace cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33446 a95241bf-73f2-0310-859d-f6bbb57e9c96
reading the message as an actual string will run into problems.
Should fix#4697.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33442 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Fixed bug introduced with the last change: since the mbox is dumped to
stdout, it's not a good idea to print status messages there as well.
* In the long run, I think we should replace the two conversion tools with a
(better usable) single one.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33440 a95241bf-73f2-0310-859d-f6bbb57e9c96
#4707, this is the BeOS behavior. I have not checked myself and the BeBook is
very brief on this, but similar methods do trim indices to be in range.
Another alternative would be returning an index indicating an error (-1).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33439 a95241bf-73f2-0310-859d-f6bbb57e9c96
address overflows. Apparently at least the x86 string instructions generate
a general protection fault instead of a page fault, and we only use the fault
handler in the latter case (maybe we should change that, too). Fixes#4714.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33436 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Finished support for retrieving and displaying array element values.
* Added work-around for pointer types, if the base type isn't specified in the
debug info (as it should per specification).
* Added support for unspecified types, function types, and pointer to member
types. All types relevant for C++ should be supported now. There are still
quite a few TODOs, though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33434 a95241bf-73f2-0310-859d-f6bbb57e9c96
This fixes#4628.
I added the TODO because I think this code is getting hairy.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33431 a95241bf-73f2-0310-859d-f6bbb57e9c96
improvements:
* fixed text for "Use Text" radio button in Find dialog being cut off
* more user friendly error messages for Find dialog:
"no search string" becomes "No search string was entered.", or "Nothing is
selected." as appropriate.
* Preferences dialog opens unacceptably slow when a larger number of fonts are
installed due to AppearPrefView's "IsFontUsuable" routine. But was able to
cut opening time by about half with a minor optimization to the loop.
* Fixed an ugly word-wrap of Takashi Murai's name in About dialog
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33428 a95241bf-73f2-0310-859d-f6bbb57e9c96
security and compression for the session. This allows to keep these layers
separate from the actual protocol. This needs to be run from the command line,
as it will request ssh auth there. After connecting it will export the needed
env variable and run the specified shell (Terminal by default) on the remote
host to make it connect to the local client app.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33418 a95241bf-73f2-0310-859d-f6bbb57e9c96
primitives by providing a RemoteDrawingEngine and a RemoteHWInterface.
Not really optimized yet, still a bit WIP.
* Adding corresponding infrastructure like a blocking ring buffer and network
sender/receiver that are attached to the buffers to feed/drain them as well
as a RemoteMessage helper that provides a message based interface.
* Adding target screen concept to request an app to be run on a specific screen.
It's controlled by the TARGET_SCREEN environment variable which is added on
the app side and sent to the app_server.
* Right now only remote target screens are supported, in which case a new
RemoteHWInterface is created that tries to connect to the given host:port.
* Fix shape bounds when drawing, they need to be translated by the pen position
and converted to screen like the points as well. Wasn't visible though as the
bounds weren't used in the normal DrawingEngine.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33417 a95241bf-73f2-0310-859d-f6bbb57e9c96
- The text was not centered because it was not taking into account the left
offset of the text rendering, which can be gotten from the left value of the
rect returned by GetBoundingBoxesForStrings. I'm pretty sure this was 0 on
BeOS, so there might be problems with our GetBoundingBoxesForStrings. It
doesn't make sense for flat edged glyphs like D and N to be offset. But
nonetheless taking into account that left offset centers the text in this
screensaver. This fixes#4261.
- The text rendering also could look weird because the low color was not set to
blue. Again I'm pretty sure this was not a problem on BeOS, but could be
related to the new subpixel AA rendering. Setting the low color fixes this
and therefore fixes#4252.
- To avoid any weird repaint issues in the ScreenSaver preferences preview
view, the whole background is painted every frame now.
- I also added an escapement_delta member which is used for both the
GetBoundingBoxesForStrings call and the eventual text rendering. This may be
pointless, but it is probably more consistent.
Other changes:
- This now makes use of the new settings view private function.
- I made the coding style compliant with our latest guidelines (I think I got
most of the big ones at least.)
- Removed the references to the old BeOS screen saver kit stuff from the
Jamfile.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33404 a95241bf-73f2-0310-859d-f6bbb57e9c96
- Make the BuildScreenSaverDefaultSettingsView function be built into
libscreensaver.so and under the BPrivate namespace. This avoids the repetition
of the compiled code in each screen saver that uses it.
- Updated the ScreenSaver preferences to use this.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33403 a95241bf-73f2-0310-859d-f6bbb57e9c96
- Added use of the new BuildScreenSaverDefaultSettingsView function (this is
basically the same code.)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33402 a95241bf-73f2-0310-859d-f6bbb57e9c96
-Added grist to the sourcecode files sent to collectcatkeys to avoid mixups
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33401 a95241bf-73f2-0310-859d-f6bbb57e9c96
identify an element. We use the name string of the TypeComponent as index path.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33395 a95241bf-73f2-0310-859d-f6bbb57e9c96
element in a multi-dimensional array, featuring conversion from and to string.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33393 a95241bf-73f2-0310-859d-f6bbb57e9c96
Meanwhile, let's replace it with a classical glgears one.
BTW, we need an icon for this preflet, currently it's the Network preflet one!
People more fluent with Icon-O-Matic than me (aka everybody) are welcome.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33390 a95241bf-73f2-0310-859d-f6bbb57e9c96
code is no longer loaded, e.g. when the module has been unloaded or the tracing
buffer was reattached from a previous session.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33389 a95241bf-73f2-0310-859d-f6bbb57e9c96
monolithic vmware images as produced by the build system (by registering such
an image via the "diskimage" tool).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33388 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added new header headers/private/system/disk_device_types.h, which defines
the <DiskDeviceTypes.h> constants as macros and which can be used where the
constants cannot be used. The constants are defined using the macros, so now
there's only one place where the string literals should be specified.
* Use the macros in the partitioning systems. I was too lazy to also adjust the
file systems -- most of them seem to hard-code the string literal yet.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33386 a95241bf-73f2-0310-859d-f6bbb57e9c96
- Fixed vfs_get_vnode_from_fd() return type.
- Added vfs_open_vnode().
- Added a "bool traverseLeafLink" parameter to vfs_get_fs_node_from_path().
It was always resolving symlinks.
* device manager/devfs:
- devfs: get_node_for_path() no longer resolves leaf symlinks. That still
doesn't help with file disk devices, as creating partition wouldn't work
anyway.
- Pulled the module-related implementation part of BaseDevice into new class
AbstractModuleDevice and made all methods of BaseDevice virtual. Small
adjustments to devfs to be happy with the new BaseDevice interface.
- Added BaseDevice subclass FileDevice, which maps the interface to a file's
file descriptor. Still got a few TODOs, but should basically work.
- Use FileDevice for publishing file disk devices in devfs. Now those do
actually work, though there's some BFS trouble with one of the images I
tested.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33385 a95241bf-73f2-0310-859d-f6bbb57e9c96
as disk devices. It also demonstrates that the respective devfs functionality
is utterly broken.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33384 a95241bf-73f2-0310-859d-f6bbb57e9c96
-Re enabled the translation of the About alert in bluetooth, as it now works fine. This means you have to update the bluetooth cataogs...
-Updated the french bluetooth catalog accordingly.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33375 a95241bf-73f2-0310-859d-f6bbb57e9c96
Patch by titer : fix build on PPC host by not messing up the fingerprint endianness
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33374 a95241bf-73f2-0310-859d-f6bbb57e9c96
It is good practive to #undef this before every definition,
due to how the ExtractCatalogEntries jam-rule works.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33360 a95241bf-73f2-0310-859d-f6bbb57e9c96
The audio decoding in AVDecoder needs this to work at all.
* Set the infoBuffer and infoSize correctly in GetStreamInfo(). At least this
is what I extract from what the AVDecoder expects.
* Use a slightly more precise timeStamp calculation in the Seek() method.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33358 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added TODO about a probable mix-up to use the media_format meta data
because the FFmpeg Reader plug-in forgot to set the info-buffer correctly
from GetStreamInfo().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33355 a95241bf-73f2-0310-859d-f6bbb57e9c96
* fixed typo and "correction" in de.catkeys (it is not
possible to change the english base text this way - it
will corrupt the catalog instead, as the fingerprint
will no longer match)
* fixed typo in LocaleWindow.cpp and adjusted the existing
catkeys accordingly
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33350 a95241bf-73f2-0310-859d-f6bbb57e9c96
Remove the 4 cores limit at boot, and fix the allocator to handle 8 cores.
There are still performance problems, but this allows booting with 8 cores.
WARNING: since this changes x86 platform kernel args, you really don't want to update haiku_loader and kernel_x86 separately!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33349 a95241bf-73f2-0310-859d-f6bbb57e9c96
aren't routed correctly over the 8259, it seems.
- Removed passing the hpet_regs around, since there's a static variable.
- Added lots of debug dprintfs.
- Fixed setting the timer interrupt to edge
- Timer is initialized once.
- Use the timer 0 instead of 2.
- Renamed register definitions to be more readable
- Use 64 bits registers and unions where applicable.
- Other things I don't remember
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33345 a95241bf-73f2-0310-859d-f6bbb57e9c96
hw rev B1, as some early versions use D-Link System vendor ID (0x07d1),
others use D-Link Corp. vendor ID (0x2001)...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33342 a95241bf-73f2-0310-859d-f6bbb57e9c96
-As the fingerprint is now fully working, all catkeys fingerprints are now checked, and if they don't match, the build will fail.
-This helped find an error in the Locale Preflet french catalog. It now works again.
-Usual set of cleanups and small style fixes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33340 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Some key-sequences cause \0 chars in the "bytes" data which is supposed to
be passed to BView::KeyDown() and BView::KeyUp(). Therefor, one cannot use
string methods for adding/extracting the data to/from the events. For
example, Control-Space now works in the Terminal.
Thanks a lot for the original patch, Joshua!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33338 a95241bf-73f2-0310-859d-f6bbb57e9c96
rebooting via pressing Ctr-Alt-Del twice did not work. (But I didn't test)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33335 a95241bf-73f2-0310-859d-f6bbb57e9c96
Also shortened some defines using "TN" instead of "TIMER". It's also
the same scheme used in the specs
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33334 a95241bf-73f2-0310-859d-f6bbb57e9c96
Implements DA, reporting that the terminal is a VT102.
Implements DEXREQTPARM, reporting the same parameters that xterm does.
Fixes DSR 6 to actually report the position of the cursor.
Resolves ticket #4659. Thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33327 a95241bf-73f2-0310-859d-f6bbb57e9c96
-Jamrule for collectcatkeys no longer print all the strings, only a message when it can't parse one (happens for TR(variable) basically)
-Added fingerprint check in the plaintext catalog ReadFromFile. However, the adler checksum is different each time the catalog is loaded because it relies on the string being iterated always in the same order, but this is not always the case with an HashMap ! Some rethinking is needed, so disabled the check for now so it does not breaks the build
-Some try to debug the bluetooth preflet localization. Still buggy, but I wanted to commit all this mess before I break everything up again.
-Also sorted the fr.catkeys files to be in the same order as the autogenerated en.catkeys (this is useless but makes them easier to check) and updated their fingerprint even if they are still not checked.
-Miscelaneous style fixes, small bugfixes, more error checking and error messages saying where they come from.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33322 a95241bf-73f2-0310-859d-f6bbb57e9c96
Implement origin mode.
Save origin mode and text attributes when saving the cursor.
Have RI respect the scroll region.
When erasing the screen actually erase the screen, not just the scroll region.
Implement all three variants of the EL (erase line) sequence.
Thanks! Resolves ticket #4652.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33319 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Fixed upward scrolling of a partial screen which is anchored at line 0.
Thanks a lot!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33318 a95241bf-73f2-0310-859d-f6bbb57e9c96
* In _InsertGap(), be sure not to set a line's length longer than the space
allocated for it.
Nice catch, thanks a bunch!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33317 a95241bf-73f2-0310-859d-f6bbb57e9c96
Fix fgetln() in libbsd to actually return the length of the string.
Thanks a bunch!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33315 a95241bf-73f2-0310-859d-f6bbb57e9c96
- Changed the bit{Offset,Size} semantics. It's now more or less
aligned with the semantics of the respective DWARF DIE attributes.
DwarfStackFrameDebugInfo does now correctly translate the ValueLocations
returned by the DWARF layer (the bit piece location expression semantics is
different for some reason).
- ValueLocation is now aware of the target's endianess. The SetTo() method
needs that information to correctly meddle with the pieces.
- Support normalizing the pieces.
* Fixed retrieving the values of bit fields in various places. We still don't
handle the bit offset/size attributes of types correctly, but I haven't seen
those in actual debug info yet.
* Added support for enumerations. The variable view shows the enumerator names,
when available.
* Added partial support for subrange types. C++ doesn't have those -- we only
need them for array dimensions.
* Started adding support for array types. Still work in progress.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33314 a95241bf-73f2-0310-859d-f6bbb57e9c96
returned by the DWARF layer need to be translated to be usable in the generic
code.
* DwarfFile::EvaluateDynamicValue(): Added optional parameter to return the type
of the evaluated value, if available.
* Added source language info attribute to CompilationUnit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33313 a95241bf-73f2-0310-859d-f6bbb57e9c96
entry, its abstract origin and specification for something.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33312 a95241bf-73f2-0310-859d-f6bbb57e9c96
_SB_ (System Busses) and _SI_ (System Info) root nodes wasn't published
as device manager nodes, only their subnodes, if any.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33307 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Use the correct interface index for the control transfer that sets a Wacom
tablet into tablet mode.
* Check if the mode is indeed setup correctly.
* Retry switching the mode up to five times, as done in the Linux driver.
Thanks a bunch! As Michael has proposed in ticket #3744, the whole Wacom
driver should be merged into the existing HID driver framework (eventually).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33301 a95241bf-73f2-0310-859d-f6bbb57e9c96
based protocol as the X vmmouse driver does. It yields proper absolute pointer
positions under both the normal VMWare console and using the builtin VNC server.
Therefore "fixes" the issue seen in #4630.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33298 a95241bf-73f2-0310-859d-f6bbb57e9c96
Lowered its priority of hpet timer so it doesn't get picked up first
(yet)
Changed the debug output to be conditional.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33292 a95241bf-73f2-0310-859d-f6bbb57e9c96
factor to avoid compiler issues.
- Removed some useless and commented debug stuff.
- Now prints also the global HPET configuration.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33291 a95241bf-73f2-0310-859d-f6bbb57e9c96
1000. XenServer boots correctly and in reasonable time,
now (meaning hpet timers work). I guess on real hw the bios doesn't
correctly program the hpet timers, so we'll need a bit more work.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33289 a95241bf-73f2-0310-859d-f6bbb57e9c96
XenServer actually boots (but slow as hell) with hpet timers enabled, real hardware does
not.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33287 a95241bf-73f2-0310-859d-f6bbb57e9c96
been since long already.
This should help aljen reintegrate his gallium branch sooner than later,
which after the speed improvment on softpipe made last days will
be welcomed, I'll bet ;-)
Maybe it's possible to even have both current Mesa Software Renderer add-on
*and* Gallium-based SoftPipe one. Will need to actually support renderer
selection (in OpenGL preference panel or via a missing OpenGL Kit API),
as today the first add-on found is the only one ever selected...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33282 a95241bf-73f2-0310-859d-f6bbb57e9c96
Without them, embedded controler may have issue accessing some addresses before
installing his own handlers.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33273 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Moved DPC queue creation / deletion before/after ACPI subsystem
init/shutdown repectively, as AcpiInitializeObjects() would
eventually trigger some AcpiOsExecute() call, which need DPC to be ready.
* Still missing: a DPC queue that run each call in its own thread, not sequentially...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33264 a95241bf-73f2-0310-859d-f6bbb57e9c96
* check the path is NOT a directory or a symlink to a directory.
regular or char/block device are considered both valid path to read
from and write to.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33257 a95241bf-73f2-0310-859d-f6bbb57e9c96
strictly necessary yet, it also makes the app_server test environment run
under Haiku.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33252 a95241bf-73f2-0310-859d-f6bbb57e9c96
all the USB drivers working with this single compat header. Usefulness might
be questionable, but since I did the work anyway, why not check it in as well...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33243 a95241bf-73f2-0310-859d-f6bbb57e9c96
the original BeOS input_server will fail to detect the error and never close
the device.
* Remove the empty kernel_cpp header and use the one from kernel util instead.
* Add some missing headers for completeness.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33242 a95241bf-73f2-0310-859d-f6bbb57e9c96
return an error.
* Properly use the name length instead of a hardcoded buffer size when composing
the name of the raw device and ensure proper termination.
* Case new ioctls for Haiku as the target platform. Indeed this driver works
fine on BeOS even though it was written natively for Haiku.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33240 a95241bf-73f2-0310-859d-f6bbb57e9c96
anymore. It could happen that the transfer was already in the process of being
finished, so wasn't in the list of pending transfers anymore. Cancel would then
return even though the callback wasn't called yet. This could lead to a callback
being called after a driver was already unloaded (even after it cleaned up the
pipes it used).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33239 a95241bf-73f2-0310-859d-f6bbb57e9c96
* oshaiku.c is based on a different original from a stub, therefore it
looks like a lot of comment changes.
* achaiku.h is redone completely.
* dpc is added as boot module.
* acpi_busman.c now does all mandatory steps to init.
* style fixes
* added another acpi kernel settings to avoid full init for debugging.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33236 a95241bf-73f2-0310-859d-f6bbb57e9c96
if they were not already ordered. Or, to say id differently, it was completely
broken.
Luckily no one noticed....
Also disabled again printing the timers, since it could print not available ones.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33235 a95241bf-73f2-0310-859d-f6bbb57e9c96
-The French translation is far from perfect. Comments and suggestions welcome.
-The color picker is an OS Widget but uses text (Red, Green, Blue). This is kind of an edge case, but may need a system-wide catalog. I will now translate other things and see if I encounter similar problems.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33229 a95241bf-73f2-0310-859d-f6bbb57e9c96
now be inspected. Still work in progress -- bit fields and arrays don't work
correctly yet nor does type lookup beyond the current compilation unit.
* Made most of the debugger output configurable via a config header. By default
it's much less noisy now.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33217 a95241bf-73f2-0310-859d-f6bbb57e9c96
_ProcessJobs() loop waited for was processed by an inner one. Instead the loops
now check the state of the waiting job -- it will be changed from waiting as
soon as the job it waits for is done.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33216 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Renamed StatusAddOn to InterfacesAddOn.
* Made the interfaces list a more self-contained InterfacesListView object
Now watch for network notifications, but does nothing yet with those.
* Small style changes (but still not compliant).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33212 a95241bf-73f2-0310-859d-f6bbb57e9c96
-MarkForTranslation was not scanned by collectcatkeys, improved the regexp to take it into account
-Some gristing was missing in jamrules, added a bit, still seem to miss some.
-Replaced $(var:B).ext with $(var:S=.ext) as it is the proper way in order not to loose grist and mess things up
-Removed icu include and replaced direct class nesting with pointer to avoid binary compatibility breakage on ICU updates.
-Fixed TimeFormatSettingsView to properly include needed icu things. Should not be there, actually. Needs cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33210 a95241bf-73f2-0310-859d-f6bbb57e9c96
-Some style fixes (mostly whitespace)
-Switch to the short language list and make it build again. seems to have trouble with BStringByteSink and utf8, or is it just my build env having encoding problems ?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33209 a95241bf-73f2-0310-859d-f6bbb57e9c96
from the current directory. The code was already there but commented out.
This fixes launching the media_addon_server from the liveCD. There was
a ticket, I think, but I can't find it right now.
Also reordered includes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33208 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Check that path is indeed a file, not a directory
* Contrary to what BeBook say, we can't delete BLocalMidi* endpoints,
but only Release() them like all others endpoints. Avoid midi_server to
panic when a device is removed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33202 a95241bf-73f2-0310-859d-f6bbb57e9c96
work to do, but it's about time to give this code more exposure.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33176 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Make sure settings are saved rightaway whenever they change. (Solves a
ticket which I cannot seem to find right now.)
* Some improvements to the NamePanel layout/size (when setting descriptions).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33167 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Make all but DialupAddOn add-ons build.
Not that usefull though, as Services, Dummy and Multi add-ons are totally
useless. Status/Overview add-on show interface status, allow to change their
configuration like NetworkStatus replicant does.
But it doesn't watch (yet) for interface/link status change notifications.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33161 a95241bf-73f2-0310-859d-f6bbb57e9c96
swallow SysEx end byte (F7) when it's the expected one.
Should fix#4445.
* Implement device remove handling.
Which should fix#4053.
Please test it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33159 a95241bf-73f2-0310-859d-f6bbb57e9c96
Fixed code style (not the PPP part)
Updated it with the current Network Pref.
the PPP add-on don't work.
This should work as much as the Network Pref does today.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33155 a95241bf-73f2-0310-859d-f6bbb57e9c96
checked the existence of the apics.
Moved the code to disable the local apic from arch_timer.c to arch_int.cpp, so
we also avoid installing the interrupt handler for it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33149 a95241bf-73f2-0310-859d-f6bbb57e9c96
Same for the IOAPIC, but commented out the code, since we're not using the
IOAPIC yet.
Also renamed the option to "Disable LOCAL APIC", since it's more correct.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33147 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Also rename it from pad1 to code_area as that's what it is.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33146 a95241bf-73f2-0310-859d-f6bbb57e9c96
transfer to the transfer list and scheduling the transfer descriptors on the
controller by switching the endpoint tail. Since we only check that the endpoint
head is equal to the endpoint tail to conclude that there are no active
transfers, we need to ensure that we don't accidently do that check before the
transfer descriptors are scheduled. Otherwise we could happen to processed a not
yet started transfer and finishing it before an actual transfer has taken place.
This would then lead to 0 byte transfers and toggle mismatches. To fix this we
now protect the transfer addition and tail switching as well as the check in the
finisher with a per-endpoint mutex. Note that we allocate the lock on the heap
and only store the pointer in the endpoint structure as this one is allocated
from the precious physical memory pool. Could fix#4067.
Also switched the Jamfile to UsePrivateKernelHeaders (for the MutexLocker) and
removed BeOS compatibility.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33129 a95241bf-73f2-0310-859d-f6bbb57e9c96
* F0 start bytes is not part of the content sprayed anymore
* Realtime byte are now supported during a SysEx, as it's the only
event that could be interleaved between a SySEx F0 .... F7 sequence.
* Orphelin SysEx F7 end byte is passed on *AS IS*.
Please test (no support midi port to do it myself).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33127 a95241bf-73f2-0310-859d-f6bbb57e9c96
* add output support
* fix variable lenght input: all usb_midi_event_packet bytes were
always returned before.
Missing features are:
* multiport support (input from any ports are read and merged currently,
so beware to connect only one port!)
* non-standard USB midi adapters, like my Roland UM-2 which don't advertize
themselves as Audio / Midi stream class/subclass.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33126 a95241bf-73f2-0310-859d-f6bbb57e9c96
* increased responses count
* only unmute active inputs on mixer widgets
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33120 a95241bf-73f2-0310-859d-f6bbb57e9c96
* While adding IPv4 basic validation, I overseen the possibility to leave those fields blank. Now, those fields can be left blank if you wish.
Fixing ticket #4487.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33119 a95241bf-73f2-0310-859d-f6bbb57e9c96
at startup. WIP, as the removing case is not yet handled.
Plus vector icon support should be added to Midi kit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33118 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Remove the local version (not really working) of CenterOnScreen and use the shared one.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33084 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Draw a pseudo mouse instead of using the bitmap. It's ugly and should be done
properly by someone with more of an artistic talent than me. But it should do
for now.
* Downright removed the little icons. The code is still there, but since the
icons aren't there anymore it will simply fail to load them and not use them.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33078 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Delay the display of the alert just a little bit, to let the menu fields enough time to adjust.
Fixes ticket #3893.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33076 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Rather than enlarging the window on (potentially) every line, simply keep the largest delta and use it only once at the end of the listing.
Ref: r33073 and ticket #3797.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33075 a95241bf-73f2-0310-859d-f6bbb57e9c96
* When using the "Show Content" feature, enlarge the window horizontally rather than wrapping.
Ref: enhancement request #3797.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33073 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Make use of CenterOnScreen(); to center the window rather than the dirty trick I tried months ago.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33071 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Sanitize (and pad) the salt passed to the crypt function
* Made the password and confirm password control the same size.
Fixes ticket #4466.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33069 a95241bf-73f2-0310-859d-f6bbb57e9c96
can cause overflows.
* Added a generic IS_VALID_SPOT() macro that checks for overflows and checks if
the area will fit with the given constraints.
* Use the macro to simplify the places where these checks are necessary.
* Use the provided "end" limit instead of the address space end. It currently
doesn't matter but makes more sense.
* Rename newBase variables to alignedBase as that's what they are.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33061 a95241bf-73f2-0310-859d-f6bbb57e9c96
Net_server starts services by invoking fork() followed by exec(). If the latter
fails (for instance because the service isn't installed), the forked child is
invoking exit(). This in turn unloads libbe, triggering static cleanup code in
BMessage, which deletes a couple of message ports that were inherited from the
parent during the fork. After that, net_server was desparately missing those
ports and no longer worked reliably.
* in InitTerminateLibBe, we now register an atfork-(child-)handler, which
takes care to re-initialize the static reply ports used by BMessage code
* added BMessage::Private::StaticReInitForkedChild wrapper and
BMessage::_StaticReInitForkedChild() implementation which overwrites the
inherited port IDs with a set of own ports
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33050 a95241bf-73f2-0310-859d-f6bbb57e9c96
as a result failed DHPC-requests will no longer result in bogus static
configurations (but an auto-config IP-address will be picked instead)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33049 a95241bf-73f2-0310-859d-f6bbb57e9c96
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
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
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
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
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
- 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
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
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
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
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
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
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
* 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
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
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
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
* Integrated ProgressReporter into CopyEngine and UnzipEngine.
* Integrated unzipping to main installer engine. Since there are currently no
.zip files in the _packages_ folder (and not even a _packages_ folder
itself), this is completely invisible, but it works.
TODO: Adjust the build system to optionally copy packages into _packages_
instead of extracting them. Like for the CD build profile mode.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32967 a95241bf-73f2-0310-859d-f6bbb57e9c96