Commit Graph

119 Commits

Author SHA1 Message Date
Ingo Weinhold
7e8ac2903b * Prefixed the variables NETWORK_LIBS, NETAPI_LIB, and
SELECT_UNAME_ETC_LIB with TARGET_ and introduced HAIKU_* and HOST_*
  counterparts.
* Use HOST_NETWORK_LIBS for building remote_disk_server.
* Also got rid of {R5,BONE,DANO,HAIKU}_COMPATIBLE.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21912 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-08-12 22:15:10 +00:00
Hugo Santos
77bf99deb0 fixed the way accept() works in regards to the cookie pointer. It is no longer visible to userspace, we pass the fd instead. Also renamed kernel's shutdown() to system_shutdown as it collides with Posix's shutdown().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21223 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-05-23 19:56:40 +00:00
Hugo Santos
75f1f9e04a added two more test multicast applications: multicat/multisend. sockaddr_in6/in6_addr must be visible through <netinet/in.h>, fixed that as well.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20926 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-30 16:56:58 +00:00
Axel Dörfler
6cde6beba7 Fixed several issues pointed out by Olivier "Methe" Milla.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20645 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-10 21:21:36 +00:00
Hugo Santos
17b77c3b92 consolidate all RECV/SEND ioctls into a single RECEIVE/SEND pair
- changed the socket module to use thew new RECEIVE/SEND in all forms of recv() and send()
 - changed libnetwork to use the new RECEIVE/SEND
 - remove transfer_args processing from strace since the structure was removed


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20581 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-05 14:26:46 +00:00
Hugo Santos
dae7f8ea46 initial recvmsg and sendmsg implementations
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20562 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-04 17:39:43 +00:00
Axel Dörfler
235a50037c accept() and bind() now accept NULL address parameters in the R5 compatibility mode.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19810 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-15 13:07:09 +00:00
Axel Dörfler
7383c05e71 The R5 socket protocol constant conversion routine was broken - now, NetPositive
is starting to work under Haiku.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19807 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-15 12:37:08 +00:00
Axel Dörfler
ef33454cfd * Reverted my change to AddFileDataResource - I obviously missed someone's intentions :-)
* Added a comment about the proper use of the data-file argument.
* Applied Ingo's suggestion to the Jamfile, and it worked out of the box.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19649 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-28 21:28:17 +00:00
Axel Dörfler
c8c228ca64 * Renamed lcl_sv.c to lcl_sv.cpp (local services) to be able to use the
C++ API functions.
* Made some internal headers C++ safe.
* Cleaned up lcl_sv.cpp to only contain what's actually used (in particular,
  the IRS_LCL_SV_DB stuff is gone).
* Wrote a basic "services" file and put it into libnetwork.so's resources.
* Updated lcl_sv.cpp to look into the resources if /etc/services doesn't exist.
* Removed the "quasipublic" status of irs_lclsv_fnxt() and made it private.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19644 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-28 13:54:04 +00:00
Axel Dörfler
bcb0dd2b3b The R5 compatibility is now turned off when the socket functions are used
within the library - theoretically, this mechanism could be extended to
turn the compatibility layer on and off based on the images that call the
functions (allowing to mix R5 and BONE network add-ons in a single executable).
This change fixes R5 networking apps such as Vision, and NetworkTime (both
now seem to work fine under Haiku).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19431 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-05 03:03:15 +00:00
Axel Dörfler
379cdb69ee Added _socket_interrupt() for compatibility.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19409 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-01 12:41:21 +00:00
Axel Dörfler
598d9e8dd5 Added _h_errnop(), fixing bug #898.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19042 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-11 10:48:34 +00:00
Jérôme Duval
127f01dd39 fix for gcc4 (strcmp needs cstring, nothrow is in std namespace)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19038 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-10 19:14:54 +00:00
Axel Dörfler
66a1b50b01 Forgot to add an 'extern "C"' to the R5 compatibility exports.
This fixes bug #892.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19029 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-08 11:05:49 +00:00
Axel Dörfler
e6a3af0462 Added R5 libnet.so specific getusername() and getpassword().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19020 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-07 16:04:18 +00:00
Axel Dörfler
fb4e373041 * Followed suggestions by Philippe and moved libnetapi.so into libnetwork.so as well.
* Also added libbnetapi.so and libnetapi.so to the R5 compatibility evaluation score.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19016 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-06 17:20:50 +00:00
Axel Dörfler
6a5dcb571c Imported most of the old libnet.so compatibility functions (from old/compat/libnet/compat.c).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19015 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-06 13:46:14 +00:00
Axel Dörfler
e9828bbd25 * libnetapi.so should now work correctly in the R5 compatibility environment.
* Added a link from libbnetapi.so to libnetapi.so. We might think about moving
  libnetapi.so into libnetwork.so as well.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19014 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-06 13:17:00 +00:00
Axel Dörfler
fd589b20ba Fixed the build - one of those last minute changes you forgot to compile... :-/
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19013 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-06 13:14:22 +00:00
Axel Dörfler
153b2845d2 * Added a link from libnet.so to libnetwork.so for R5 compatibility.
* Fixed R5 socket definitions to match their actual definitions.
* libnetwork.so now detects at runtime wether or not R5 compatibility should be
  enabled or not.
* All socket functions should now be R5 net_server compatible.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19012 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-06 13:07:05 +00:00
Jérôme Duval
7d725e0df4 added weak symbols for inet_addr and inet_ntoa, normally exported by libnet.so
should be enough for bug #860, feel free to drop them if a libnet.so is created


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18891 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-09-19 16:17:02 +00:00
Axel Dörfler
241b048033 * Fixed build of libnetapi.so - it probably won't work for now, though, have a look
at the comment in r5_compatibility.h.
* Intentionally broke source compatibility and removed all that outdated Nettle stuff.
* Also, I took the liberty of making m_init private and rename it to fInit - again, this
  will only affect source compatibility.
* Rewrote NetEndpoint.h
* Fixed quite a few small bugs around the code that I touched, for example in NetAddress,
  SetTo() never set fInit, and therefore could be wrong.
* Some cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18680 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-29 00:19:23 +00:00
Axel Dörfler
6fdccb80f5 Moved libnetapi.so sources into the src/kit/net/ directory - they don't yet build, though.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18678 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-28 21:46:23 +00:00
Axel Dörfler
c22d69bf1f * Completed the previous commit and merger of the team/network/new_stack branch.
* Removed ppp_up and pppcontrol from the image for now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18457 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-08 13:07:07 +00:00
Axel Dörfler
5adca30a18 Merge of branches/team/network/new_stack - not yet complete as SVN does only support
replacing files when merging when you don't have deleted them manually (for some reason,
it only works as part of the merge operation, and we didn't copy the whole tree to
have "a fresh start" - next time we know better, at least if SVN still suffers from
that same limitation).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18456 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-08-08 12:33:33 +00:00
Jérôme Duval
f425cb84a0 fix the build, sorry for the long delay
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17922 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-25 22:34:09 +00:00
Jérôme Duval
4e0eae1865 patch from Olivier Coursiere for better error output in ping
change the size parameter type of several functions in sys/socket.h to match POSIX
compat libs and legacy headers keep the original R5 type (though I make a change for this)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17911 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-23 12:22:26 +00:00
Jérôme Duval
5f09b6a38e added an empty impl for _netstat
should fix bug #654


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17724 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-05 09:16:32 +00:00
Oliver Tappe
e6ae8c76ed - removed debugging printf()
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17721 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-04 16:03:54 +00:00
Oliver Tappe
b0623e48ef - created a new pseudotarget 'install-userland-networking' that installs all
userland-networking files into a convenient place for easier testing:
  + net_server_driver and net_stack_driver are installed to 
    /boot/home/config/add-ons/kernel/drivers/bin and ../dev/net
  + net_stack_tester, ifconfig, arp and route are installed to 
    $(HAIKU_TEST_DIR)/kits/net/userland
  + libsocket, libnet, libbind and libnetapi are installed to 
    $(HAIKU_TEST_DIR)/kits/net/userland/lib
  + userland add-ons are installed to
    $(HAIKU_TEST_DIR)/kits/net/userland/add-ons/obos_network


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17701 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-06-02 17:08:19 +00:00
Waldemar Kornewald
470dbda0b0 Last libnetwork.so commit. Added DEVNOTES to socket interface. libnetwork.so now compiles fine and the source is shared with libbind.so.
NEXT: port the FreeBSD netstack
I need volunteers for this huge task. And I don't have much time left for coding, anyway.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15608 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-20 11:18:31 +00:00
Waldemar Kornewald
45b03b39c4 Also deleted TLSInit.cpp.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15607 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-20 10:59:34 +00:00
Waldemar Kornewald
5af343b54b Removed unneeded sources.
Just noticed that VI did not like my copy-pasted commit log. It should be: we _need_ better pthread/mutex support. Here is the important part, again:
Cleaned up native part of libbind.so a little bit more. Though, the ugly hack remains. We need better pthread/mutex support. Added TODO that we also should move sysctl() into the kernel and libroot.so.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15606 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-20 10:58:47 +00:00
Waldemar Kornewald
ce823541ec Removed #ifdef __cplusplus from networking headers. The check is already done in cdefs.h (__BEGIN_DECLS) which I committed yesterday.
Committed libnetwork.so. I actually wanted to port BSD's libc/net resolver, but that one uses too many unsupported functions, so I basically merged libbind.so and libsocket.so into one library.

Moved the libbind.so sources to libnetwork/dns.

Cleaned up native part of libbind.so a little bit more. Though, the ugly hack remains. We nbetter pthread/mutex support. Added TODO that we also shousctl() into the kernel and libroot.so.

Improved DEVNOTES a little bit.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15605 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-20 10:54:58 +00:00
Waldemar Kornewald
5d7cf21bdf More preparations for libnetwork.so. SVN does not let me commit everything at once.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15604 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-20 10:48:12 +00:00
Waldemar Kornewald
ffcb4cfc98 Preparations for libnetwork.so commit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15603 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-20 10:43:54 +00:00
Waldemar Kornewald
f7a223fa1b Removed unneeded libbind files (were never compiled, anyway).
Moved some headers around and cleaned them up.

Fixed threading code in libbind.so. Don't know why I hadn't noticed this before. Now it is reliable, but uses an even uglier hack.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15585 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-19 13:26:54 +00:00
Waldemar Kornewald
5352d6baaa Updated DEVNOTES. It's finally complete, now.
Fixed headers:
- added checks for C++
- removed _REENTRANT checks


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15572 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-17 11:58:39 +00:00
Waldemar Kornewald
c544064d35 Updated BIND resolver library (libbind.so) to version 9.3.1.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15570 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-16 22:38:13 +00:00
Waldemar Kornewald
57eab4408b Now we use the legacy headers when building our compatibility libraries. Fixed BuildSetup to use root instead of libroot.so because arp would not build otherwise. Command-line apps now don't build for R5, anymore. I hope nothing is broken.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15527 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-13 16:30:16 +00:00
Waldemar Kornewald
9ad01d8d1f Added the merged objects to LinkAgainst.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15307 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-12-03 21:10:53 +00:00
Waldemar Kornewald
f6ba01da14 Fixed ld reporting too many arguments.
Question about libbind: Why do I have to specify libroot.so in LinkAgainst? And does SharedLibrary not set the dependencies? I had to add Depends libbind.so : ... ;. Ingo, anyone?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15192 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-27 13:36:49 +00:00
Ingo Weinhold
eb94488877 Fixed image build broken since revision 15169.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15179 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-26 23:16:20 +00:00
Waldemar Kornewald
67b376e953 Moved our networking libraries to src/kits/network/compat. We want to have our own, clean libnetwork.so.
TODO: move all public networking headers to some other place (compat or headers/legacy?) and replace the current headers with clean versions from FreeBSD and BIND 9.3.1
TODO: remove R5 target support


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@15169 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-26 17:36:59 +00:00
Ingo Weinhold
758b1d0e05 Fixes that make Haiku build with gcc 4. Mainly out of the following
categories:
* Missing includes (like <stdlib.h> and <string.h>).
* Linking against $(TARGET_LIBSTDC++) instead of libstdc++.r4.so.
* Local variables shadowing parameters.
* Default parameters in function definitions (as opposed to function
  declarations).
* All C++ stuff (nothrow, map, set, vector, min, max,...) must be imported
  explicitly from the std:: namespace now.
* "new (sometype)[...]" must read "new sometype[...]", even if sometype is
  something like "const char *".
* __FUNCTION__ is no longer a string literal (but a string expression), i.e.
  'printf(__FUNCTION__ ": ...\n")' is invalid code.
* A type cast results in a non-lvalue. E.g. "(char *)buffer += bytes"
  is an invalid expression.
* "friend class SomeClass" only works when SomeClass is known before.
  Otherwise the an inner class with that name is considered as friend.
  gcc 4 is much pickier about scopes.
* gcc 4 is generally stricter with respect to type conversions in C.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14878 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-12 23:27:14 +00:00
Jérôme Duval
1c24d3c1c2 addr and addrlen can be null
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14724 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-06 23:48:01 +00:00
Ingo Weinhold
338b8dc301 Merged changes from branch build_system_redesign at revision 14573.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14574 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-29 16:27:43 +00:00
Jérôme Duval
060d9206d9 added some netdebug and netconfig files
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14373 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-13 15:49:30 +00:00
Jérôme Duval
e289737816 added some legacy functions for ftpd and telnetd
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14364 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-12 15:51:23 +00:00