Commit Graph

18313 Commits

Author SHA1 Message Date
Axel Dörfler
1166a4f9b5 Work-in-progress on TCP:
* Changed the implementation to be more BSD like; state variables are now
  the same set as usual.
* The BufferQueue didn't use the initial sequence correctly (problems with
  SYN sequence).
* It now also removes data out of the current data set (ie. data that was
  already read by the application).
* BufferQueue::Get() also didn't work correctly (the version used by sending
  data).
* Fixed various issues around the code like incorrect handling of unexpected
  data.
* TCP options don't need the end-of-options marker in case they fill up the
  data already, also, the end-of-options marker doesn't need to be padded.
* Options are now only processed during SYN - other options may come
  later (timestamps are candidate number one).
* Also broke what was working before: connections do no longer work!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19376 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-26 23:29:08 +00:00
Axel Dörfler
fc8c0ec946 * Small optimization for set_timer(): now only removes the timer from the list
if it won't be added anymore.
* Small fix for set_timer(): now set the timer->due field back to 0 when a
  timer is removed - this prevented a timer from being correctly readded later
  (possible crash)!
* net_buffer's append_cloned_data() now does some more checks to prevent unnecessary
  work and detect wrong arguments.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19375 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-26 23:18:36 +00:00
Michael Lotz
8449c78396 Fixing build of the printing package for BONE and hopefully R5 too.
Now printing to that old HP LaserJet 2100 over an even older LPR print server from R5 with the PCL5 driver and LPR transport...

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19374 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-25 20:06:18 +00:00
Axel Dörfler
817a7408d4 * Added new BufferQueue.cpp sources.
* The MTU returned by the domain was too large; it should already take the
  IP header into account.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19373 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-25 16:14:40 +00:00
Axel Dörfler
5fcf044823 * Added a helper class tcp_sequence which hides the semantics of comparing sequences
(this was completely broken in the code before).
* Wrote a buffer queue class to replace the previous algorithm - instead of merging
  all buffers together, they're kept in a list, so that the most work will be done
  in the application's thread and only very little when the data is received; maybe
  we should add an append_move() function to net_buffer, and use that instead,
  though, to keep the number of fragments small.
* The advertised receive window is now bound to 65535, the receive window shift
  is correctly computed, but not yet used.
* The new buffer queue is now also responsible for the send buffer.
* TCPConnection::ListenReceive() used the wrong address to retrieve the target route.
* Fixed TCPConnection::ReadData() to also return data when the connection is already
  closed, and to wait if the connection is not yet established (in SO_NONBLOCK mode);
  it still doesn't wait until data is available, though...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19372 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-25 16:13:30 +00:00
Axel Dörfler
3567d0cb1b Added more than one option was broken.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19371 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-25 16:02:07 +00:00
Axel Dörfler
224e38e302 Added function to append cloned data from another buffer (to be used by TCP).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19370 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-25 14:30:54 +00:00
Axel Dörfler
604d21a600 * Added an offset/sequence field to the net_buffer - this can and will be used
by the TCP implementation for its reorder and retransmit queues.
* The ipv4_fragment is no longer needed, as we can use the above field there
  as well - this saves one extra allocation per received fragment.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19369 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-25 11:29:36 +00:00
Axel Dörfler
7c0541c12f Build fix; I obviously forgot to compile the stack itself after the changes :-/
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19368 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-25 10:29:20 +00:00
Axel Dörfler
a627118936 Added support for setting/getting: SO_NONBLOCK, SO_RCVTIMEO, SO_SNDTIMEO,
SO_RCVLOWAT, and SO_SNDLOWAT.
Lowered the default buffer size to be within the uint16 size.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19367 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-24 22:58:39 +00:00
Stefano Ceccherini
64a74d5eff close the menu immediately when user clicks outside the menu
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19366 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-23 21:39:49 +00:00
Axel Dörfler
b38e841106 Added support for simulating simultaneous connect (via the -s option).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19365 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-23 18:40:04 +00:00
Axel Dörfler
bed835af1e The TCP tester now also allows you to reorder random or specific packets.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19364 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-22 19:13:07 +00:00
Axel Dörfler
719aa9ff8c Decoupled receiving threads, so that the server as well as the sender get their own
receiving thread. While this steals away a test case for now (dead lock), it will
allow to reorder packets in a better way.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19363 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-22 17:39:54 +00:00
Axel Dörfler
cc5496e34a Extended the TCP tester app a bit:
* you can now instruct it to drop specific packets
* you can now also define a round trip time for the packets
* added a "send" command to send arbitrarily sized buffers over TCP.
Not surprising, the current implementation of TCP doesn't do anything with
those (other than crashing as soon as you try to send data).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19362 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-22 16:57:22 +00:00
Waldemar Kornewald
7fc2eecefd Found out what trackTime was used for.
We should probably always start BMenuField menus in sticky mode and only switch
to non-sticky mode if the mouse was moved a minimum distance.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19361 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-22 12:30:56 +00:00
Axel Dörfler
2628e60cbc Moved BMenuWindow, BMenuFrame, and BMenuScroller into the BPrivate namespace.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19360 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-22 11:52:18 +00:00
Axel Dörfler
aa389c6b38 Now sends the B_SILENT_RELAUNCH message if the app is already running and has
no arguments (or doesn't want them). We even already had the correct handler for
B_SILENT_RELAUNCH around :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19359 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-22 11:36:11 +00:00
Waldemar Kornewald
a7067566a1 Fixed menu disappearing bug when (in sticky mode) mouse button is pressed (and held down) and the mouse pointer is moved outside of the menu. Now, menus should work as expected and switch from sticky to non-sticky mode on mouse button press correctly.
BTW, I disabled trackTime. It seems to work without it, correctly, so I guess it can be removed completely.
If not, just revert the change ("if (system_time....") after TODO.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19358 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-22 11:32:35 +00:00
Philippe Houdoin
18741bc6ea * Fixed a crashing bug when no renderer add-on can be found.
std::map [] creates a new entry when none can be found!
* Disabled libmesa.a being build with DEBUG turn on, as it's broken ATM.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19357 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-22 00:09:06 +00:00
Jérôme Duval
92aa85ae8d reverted PCI change, now uses a dependency on the PCI bus manager
moved acpi_ns_dump driver into acpi bus manager (also removed from the hd image)
the exported fs path is now acpi/namespace
added some methods to ACPI bus and device new interfaces
ACPI nodes like _TZ_ or _SB_ aren't exposed as devices anymore
added a type to the acpi_device_info structure


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19356 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-21 23:36:02 +00:00
Philippe Houdoin
211e79ca4d Small verbose change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19355 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-21 23:29:51 +00:00
Axel Dörfler
390422241e Small optimization of the timer mechanism: the timeout is no longer updated
if not really necessary; ie. you can now add timers without an extra performance
hit if it's not really required.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19354 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-21 23:20:41 +00:00
Philippe Houdoin
1da73a7b9b Enhanced the GL_RENDERER string returned.
Re-enabled SSE assembly code except for haiku target, until SSE stop crashing Haiku...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19353 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-21 21:52:02 +00:00
Philippe Houdoin
b901ec2715 Stop generating "xxxx, 0 second" uptime string.
How smallish and useless contribution I could do...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19352 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-21 21:05:35 +00:00
Stephan Aßmus
464cd15f0a * you can now assign styles to shapes that had none assigned before
* Transformer menu is correctly enabled/disabled when a shape is selected


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19351 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-21 20:41:12 +00:00
Waldemar Kornewald
0512e98939 Now, menu reacts on first mouse release after having disabled sticky mode on MouseDown.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19350 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-21 17:14:44 +00:00
Waldemar Kornewald
b26e9fb499 In sticky mode, menus should only invoke the selected item after the mouse is released (instead of immediately on MouseDown).
I hope this is the correct fix.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19349 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-21 16:01:11 +00:00
Stefano Ceccherini
e0fcf72ae0 Fixed some semi-random crashes in deskbar and tracker caused by the new scrolling code. patch by Lucasz Zemczak. Also now the menu tracking function checks the result of the userdefined tracking hook, thus fixing bug #938
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19348 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-21 14:54:44 +00:00
Stephan Aßmus
84153c7a0c * various UI improvements and fixes
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19347 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-21 09:37:50 +00:00
DarkWyrm
31a0d05b20 Initial checkin. Definitely a work in progress. Content comes first and then formatting later. :^)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19346 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-21 00:24:51 +00:00
Stefano Ceccherini
e733c6856a Fixed bug 931 by using a different construct to redirect both stderr and
stdout to /dev/null


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19345 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-20 20:45:06 +00:00
Stefano Ceccherini
f7ee8c0d1c Removed bashisms from build_haiku_image, thus fixing part of bug 931.
There's still some weird output being printed, but building the mime 
database now works under dash too.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19344 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-20 20:23:35 +00:00
Stefano Ceccherini
27cc25083e First try at menu scrolling, courthesy of Łukasz Zemczak. Works more or less, although a bit buggy
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19343 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-20 20:19:55 +00:00
Axel Dörfler
1941200400 Added unrar to the image as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19342 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-20 18:55:57 +00:00
Axel Dörfler
2c3cd1b95d Added unrar 3.6.7 to the repository. Most changes to the original versions done
by Ioan Molnar - thanks!
Looks like our mbstowcs() function is broken, BTW - it needs to be disabled when
used under Haiku.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19341 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-20 18:53:55 +00:00
Axel Dörfler
03ece74f5b Renamed x-rar-compressed to x-rar, fixed its contents, and added Expander as
default application.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19336 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-20 18:04:30 +00:00
Axel Dörfler
3e30cbdb1e Added option to the NetBufferPrepend constructor to prepend an arbitrarily sized
piece of data, instead of the type size.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19335 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-20 17:56:17 +00:00
Axel Dörfler
a7470d6bd5 * The kernelland_emu now supports turning off debug output; tcp_tester can toggle
this option now using the "dprintf" command
* Added dump_block() function to kernelland_emu
* Added tcpdump-like output to tcp_tester for each TCP segment, lines from the
  server are red, lines from the client are black.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19334 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-20 17:38:21 +00:00
Axel Dörfler
75743fcd65 * Implemented adding/processing TCP options; so far only "max segment size" (MSS)
is really supported.
* Added TCP option fields to the tcp_segment_header structure - they are filled
  in on receive, and add_tcp_header() now gets a tcp_segment_header as well, and
  will add any options automatically.
* Fixed some minor bugs (connection with passive open had wrong state after connect).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19333 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-20 17:35:51 +00:00
Stefano Ceccherini
fc82227a6e I thought I had found the cause of a bug. Not the case. But still, this looks better.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19332 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-20 10:09:55 +00:00
Ryan Leavengood
e756752ec7 Added myself to the developers list in About Haiku.
I'm not quite sure what the difference between a developer and contributor is,
but I hope I qualify as a developer. If not feel free to move my name.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19331 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-20 03:12:22 +00:00
Axel Dörfler
6ff565b0d6 * Moved the private kernel locking functions into kernelland_emu.cpp because the
actual versions cannot work in userland.
* Extended the tcp_tester to be able to connect and quit connections.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19330 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-19 23:35:07 +00:00
Axel Dörfler
30ea523ad1 * Big rework of TCP - doesn't have any additional features yet, though, even
though it can now connect to itself (and should, in theory, also be able
  to connect to other TCP implemenations).
* Separated the big state machine from ReceiveData() into several smaller sized
  methods.
* Moved reset and acknowledgement handling for all kind of receives to a common
  place in tcp_receive_data().
* Removed locking for now - the previous locking approach was wrong due to a
  number of reasons: the previous version deadlocked when it had to connect
  locally, and it also didn't take into account that TCP is a full-duplex
  protocol; it's not wise to only be able to manage one direction at a time
  if that's not really needed.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19329 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-19 23:33:24 +00:00
Stephan Aßmus
fae6fb6d69 * fixed stupid bug that prevented saving in native format
* fixed bug in RDefExporter
* improved zooming, icon is now centered at program start


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19328 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-19 10:13:23 +00:00
Stephan Aßmus
c9ed0088c9 use B_RGBA32 icons for displaying stuff like "New Terminal", "Launch Tracker"...
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19327 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-19 00:40:35 +00:00
Stephan Aßmus
55efc4c369 * R5 seems to reuse the Workspaces icon for the Desktop, so Haiku does too.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19326 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-19 00:32:17 +00:00
Stephan Aßmus
1f1316fc68 My first commit to the kernel.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19325 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-19 00:30:18 +00:00
Stephan Aßmus
51b55f31e4 * more resemblence of a maple leaf I hope
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19324 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-18 22:35:24 +00:00
Jérôme Duval
37477ce91d moved get_device_hid call, weirdly it compiled ok with gcc4
removed config driver, added acpi as a boot module
removed a duplicate etherpci


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19323 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-11-18 21:51:37 +00:00