really should get rid of the current mail kit some day.
* Fixed another memory leak I stumpled upon.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38245 a95241bf-73f2-0310-859d-f6bbb57e9c96
which has rather desastrous consequences - thanks to Stippi for the heads
up :-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38242 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Automatic whitespace cleanup.
* This also fixes the build; I wanted to commit this earlier.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38237 a95241bf-73f2-0310-859d-f6bbb57e9c96
discard mechanism eventually causing the conflicts between the file cache
and the block cache it intended to fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38232 a95241bf-73f2-0310-859d-f6bbb57e9c96
this (and other checks) should not be necessary in the first place.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38229 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Also fixed a leak of the same object in team_create_thread_start() I spotted
while looking into it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38227 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Made an enum out of the mailbox type.
* Rearranged some code to get rid of CID 1328 which was not a bug, though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38209 a95241bf-73f2-0310-859d-f6bbb57e9c96
(this might also have derefenced a potentially freed vnode).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38196 a95241bf-73f2-0310-859d-f6bbb57e9c96
the crashing bug reported by Atis when trying to add an interface which fails
(the bug causing this has already been fixed with the previous commit).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38180 a95241bf-73f2-0310-859d-f6bbb57e9c96
really be deleted (a reference of them was kept in memory).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38179 a95241bf-73f2-0310-859d-f6bbb57e9c96
it once more. This should be the final nail on bug #6446.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38178 a95241bf-73f2-0310-859d-f6bbb57e9c96
#6446, although I could not reproduce the exact problem.
* net_datalink::is_local_[link_]address() now releases a previous reference if
the _interfaceAddress arguments does not point to NULL.
* When a buffer is received from a device, it's interface_address should be NULL
already.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38118 a95241bf-73f2-0310-859d-f6bbb57e9c96
that caused the change (but that has not actually been changed yet).
* Also, it will now reset the INADDR_ANY local address in case there is no
other address configured. This should help with automatic configuring after
deletion of an interface address (though it doesn't seem to work yet for
some other reason, at least in VMware).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38110 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added a TODO that thread_yield() doesn't like to be called from the idle
thread.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38109 a95241bf-73f2-0310-859d-f6bbb57e9c96
change the current MII management, but I ran out of time.
* This should fix bug #6295.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38078 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added BNetworkInterfaceAddress::Destination() as synonym for Broadcast()
(depending on the configuration, it could be either one).
* Media() will now return -1 in case of an error.
* Added "const" where it makes sense.
* Added convenience functions for AddAddress(), and RemoveAddress() that only
take the actual address.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38060 a95241bf-73f2-0310-859d-f6bbb57e9c96
as well (of course, no address is created automatically here).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38058 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added comment explaining why using AF_INET is not really a good idea.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38057 a95241bf-73f2-0310-859d-f6bbb57e9c96
now has an almost equivalent logic to the old setters like SIOCSIFADDR.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38054 a95241bf-73f2-0310-859d-f6bbb57e9c96
they will no longer be unset - instead they are set with defaults.
* If B_SOCKET_SET_ALIAS gets an index of -1, it will now try to find the local
address, and if that fails, will just use the first address there is.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38053 a95241bf-73f2-0310-859d-f6bbb57e9c96
to iterate over all possible addresses, as suggested privately by Rene.
* Added flags to the resolving methods that allow more control over the
addresses returned.
* Added setters to BNetworkAddress that accept a service name instead of port
number, renamed PortName() to ServiceName().
* Made the sockaddr* cast operators return a const sockaddr as it was supposed
to be, although I should probably add non-const ones as well.
* This also simplified the code somewhat.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38039 a95241bf-73f2-0310-859d-f6bbb57e9c96
configuring or deleting interfaces, the ioctl()s are used directly for now;
but this should be changed as well.
* Applied patch by Atis partially that fixes mask creation by prefix length,
and changes a few other minor things.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38025 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Added an ipv6_ prefix to all test apps, as their names clashed with existing
test apps.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38019 a95241bf-73f2-0310-859d-f6bbb57e9c96
mailing list if I am then asked to do the work myself ;-)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38016 a95241bf-73f2-0310-859d-f6bbb57e9c96
and then replaced.
* Now considers a space to end a number chunk. In the future, we might want to
think about sorting fractional amounts correctly as well, but I guess that's
not that important for Tracker.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38013 a95241bf-73f2-0310-859d-f6bbb57e9c96
cannot be stable for entries with up to B_FILE_NAME_LENGTH (256) bytes.
* Rewrote the natural sorting code to be simpler where possible, but also
supports sorting numbers of arbitrary length.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38012 a95241bf-73f2-0310-859d-f6bbb57e9c96
it's not needed for locally received buffers. This fixes a doubled
initialization for a single device when there is more than a single domain
involved. Reported by Atis.
* Fixed missing call to unregister_device_deframer() in case there was not
enough memory to allocate the loopback_frame_protocol object.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38002 a95241bf-73f2-0310-859d-f6bbb57e9c96
the window. This closes ticket #6429.
* Got rid of useless _Extract*() methods. Also removed the _ActionFor() variant
that only took a message.
* Removed unused "invalidate" variable in MouseUp().
* Coding style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37998 a95241bf-73f2-0310-859d-f6bbb57e9c96
"clicks" field of the mouse message as everywhere else.
* Renamed Decorator::Clicked() to MouseAction().
* Minor style cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37996 a95241bf-73f2-0310-859d-f6bbb57e9c96
and always returned the first interface.
* Fixed bug #6436 by using the new BNetworkRoster functionality.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37994 a95241bf-73f2-0310-859d-f6bbb57e9c96
the buffer, and we also need to release it when freeing it.
* Adapted patch by Atis: append_cloned_data() now preserves the stored header;
this is kind of bad, because it will not notice if the original header is
removed, but this could probably just be documented this way.
* Also print the reference count of the interface addresses.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37993 a95241bf-73f2-0310-859d-f6bbb57e9c96
in order to be able to use SIOCSIFADDR (and friends) on a net yet added
family superfluous; we now add a new address when needed on the fly.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37990 a95241bf-73f2-0310-859d-f6bbb57e9c96
untested at this point, though.
* Will port ifconfig, NetworkStatus, and the Network preferences application
later in order to test the API.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37988 a95241bf-73f2-0310-859d-f6bbb57e9c96
know how I implement that function :-)
* Cleaned up libbnetapi.so Jamfile, removed non-Haiku target code.
* Added empty files to the build to see that the headers are compiling.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37942 a95241bf-73f2-0310-859d-f6bbb57e9c96
using it - hopefully, that is actually correct (it's adopted from FreeBSD).
* Fixed bug that cut off the sockaddr_dl reported by the system, so that DHCP
wouldn't work anymore (and ifconfig wouldn't show the actual MAC address
anymore).
* Changed the listing code to actually pad to ifreq size, and leave the length
of the sockaddr untouched.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37941 a95241bf-73f2-0310-859d-f6bbb57e9c96
sockaddr_storage here (wasn't that bad before, as ifreq has a 30 bytes buffer
after the sockaddr.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37940 a95241bf-73f2-0310-859d-f6bbb57e9c96
effectively rejecting any try to set an address.
* It now copies the new address as well in order to make sure that its
sa_len field is set correctly.
* Improved debug output.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37937 a95241bf-73f2-0310-859d-f6bbb57e9c96
started implementing it yet, anyway).
* Note that BNetworkAddress is supposed to replace BNetAddress -- the latter
does not provide enough space for a struct sockaddr_storage, and has a very
IPv4 specific and incapable API, anyway.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37936 a95241bf-73f2-0310-859d-f6bbb57e9c96
smaller than sizeof(sockaddr). This fixes a compatibility issue with other
platforms - portable software often assumes that the amount of bytes to
add to an ifreq structure is the larger amount between sizeof(ifreq), and
basically what the _SIZEOF_ADDR_IFREQ() macro returns, instead of always
relying on that macro.
* Renamed UserBuffer::Copy() to Push, ConsumedAmount() to BytesConsumed(),
added Pad() method.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37927 a95241bf-73f2-0310-859d-f6bbb57e9c96
arp_update_entry() for known entries, as it also uses that to update the
timestamp.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37923 a95241bf-73f2-0310-859d-f6bbb57e9c96
a second click on the right mouse button will raise the window again.
* Desktop::SendWindowBehind() now locks a bit earlier, as some of the things
it did shouln't really be done without holding a lock (depending from where
it was called).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37922 a95241bf-73f2-0310-859d-f6bbb57e9c96
old address is NULL for anything but SIOCAIFADDR. Hopefully, this fixes the
problem Rene is seeing.
* Make sure that arp_entry::protocol is not NULL before using it. This is
necessary because of the possibility to manually set ARP entries.
* Further improved debug output.
* Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37916 a95241bf-73f2-0310-859d-f6bbb57e9c96
turned out it's pretty much broken. Not only did it potentially leak memory,
it would also potentially replace the original data with a NULL pointer,
making the current transaction non revertable. The code should now be much
clearer. This fixes bug #6378.
* Changed a few "if (... != NULL)" into ASSERTs, since the code should bail out
earlier in these cases already.
* Added a TODO comment to cache_start_sub_transaction() about its broken discard
handling. This can cause FS corruptions in case the parent transaction is ever
going to be aborted (which shouldn't happen in real life, though).
* Added a bit more and better comments.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37899 a95241bf-73f2-0310-859d-f6bbb57e9c96
* It feels much better, but maybe raising the window should only happen on the
second click instead?
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37894 a95241bf-73f2-0310-859d-f6bbb57e9c96
desktop setting, following bug #6420.
* Now, only windows with the flag set have to implement their activate behaviour
itself (as Tracker does), the desktop setting no longer has an influence on
this.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37885 a95241bf-73f2-0310-859d-f6bbb57e9c96
* Made the return type of remove_interface() void, as it cannot fail.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37884 a95241bf-73f2-0310-859d-f6bbb57e9c96
once the file descriptor is closed.
* Reinstantiated the FIFO functionality as long there are no writers yet as
explained by Ingo.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37883 a95241bf-73f2-0310-859d-f6bbb57e9c96
global name space, and have ugly identifiers for nothing :-)
* Added a flags field to struct ifaliasreq. Added flags to mark an alias that
is currently being configured, or has been automatically configured.
Those flags aren't used yet, but they will replace IFF_CONFIGURING and
friends.
* Implemented deleting addresses only from interfaces via ifconfig.
* Added more command aliases for delete to ifconfig ("del", and "delete", for
more consistency with route).
* Fixed control_routes() to only release a reference to an address if it
actually got one before.
* If an interface address is deleted, its routes are now removed as well.
* InterfaceAddress now holds a reference to its interface as planned.
* Implemented removing interfaces. Works quite nicely.
* When downing an interface, all of its routes are now removed. When upping
it again, at least the default routes are added.
* datalink.cpp's get_interface_name_or_index() leaked a reference to the
interface found.
* SIOCAIFADDR would also leak a reference when new addresses were added.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37872 a95241bf-73f2-0310-859d-f6bbb57e9c96
send_datagram() to send_data().
* Renamed DatagramSocket::SocketEnqueue() to EnqueueClone(), SocketDequeue()
to Dequeue().
* Ordered the methods in ProtocolUtilities.h according to their declaration.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37870 a95241bf-73f2-0310-859d-f6bbb57e9c96
type one wants to receive. Changed ipv6_datagram to use that (but note that
it currently does not compile).
* Header cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37868 a95241bf-73f2-0310-859d-f6bbb57e9c96