netresolv (and libbind) won't cache DNS requests, which can result in a
lot of DNS requests being made for the same host. Implement a simple
cache in RAM (local to each application) which will keep the most
recently requested addresses cached. This can speed up loading of an
HTTP page a lot, by saving a DNS request for each resource stored on the
same server as the main page.
libbind development was transferred to the NetBSD project at
http://wiki.netbsd.org/individual-software-releases/netresolv/
There isn't an official release yet, but they provide a set of patches
against the latest libbind release.
* Remove all files we don't use
* Merge the changes to the remaining files
* Add some new files we need
* Move getifaddrs implementation to libnetwork (instead of libbnetapi)
so it can be used by netresolv.
Fixes#8293 : netresolv uses getifaddrs to determine if there is a local
IPv6 address. If there is not, it will not return AAAA records.
TableCell{Bool,Enumeration}Editor:
- OptionPopUp-derived editors for their respective value types.
TableCellIntegerEditor:
- TextControl-derived editor for integer values that validates inputs
based on the target integer size and type.
Not actually used yet, but together with the previous changes, these lay
the groundwork for the remaining part of #9708.
TableCellTextControlEditor:
- Serves as a base for editors that expose their functionality via a
text control. Handles common functionality of watching for changes,
validating input, and notifying listeners appropriately.
TableCellOptionPopUpEditor:
- Serves as a base class for editors where the set of possible values
is fixed and known up front. Handles reacting to selection changes
and notifying listeners.
- Introduce interface class ValueFormatter. This one takes on the
responsibilities of formatting a value into a string, which were
previously embedded within the various TableCellValueRenderer
subclasses.
- Add implementing subclasses for the various value types.
- Introduce TableCellValueRenderer subclass TableCellFormattedValueRenderer.
This is a simple TableCellValueRenderer implementation for the simple case
of a renderer that does nothing more than use a formatter to present a
string version of its corresponding Value. Since this describes all existing
renderers, this renders them obsolete.
- Refactor the respective ValueHandler subclasses to make use of the formatters
and new rendererer subclass.
- Add new interface class TableCellValueEditor, which provides a controller
for handling editing of table cell values, and corresponding listener
notifications.
ValueHandler:
- Add new hook for requesting such an editor, given a corresponding
value.
This was fixed in 2008 in the ide_pci driver, but has never been merged
in ide_isa. It probably won't matter as machine with IDE on the ISA bus
are unlikely to run Haiku.
Thanks to philcostin for finding the problem using cppcheck.
The C code would crash on my machine, and using std::list is simpler and
cleaner.
May help with #11895 as well, but I didn't have that issue on my
machine.
* This also updates /etc/profile to detect whether our
parent process is a shell, and changes the banner
message accordingly.
* Also, pipe errors to /dev/null, in case grep is not
installed; this allows us to not require grep as a
dependency, and let the banner message do the right
thing.
* Icon-O-Matic and Cortex are dependent on the feature.
* remove expat lib from the build and from the tree.
* expat package is added to regular builds.
... from "Use this time" to "Keep this time", as the question is about
keeping the status quo, not changing to some different time.
As discussed with Humdinger in #haiku.