Commit Graph

43 Commits

Author SHA1 Message Date
Hugo Santos
a073ba1aa8 DHCP: since we are only installing routes while handling an OFFER, request gateway in DISCOVER. Fixes an issue where the gateway address is not configured.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20506 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-01 23:46:24 +00:00
Hugo Santos
5d4d5313c7 DHCP: explicitly request the gateway address and domain name servers to the DHCP server. This fixes an issue some people reported regarding obtaining such information.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20505 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-04-01 22:05:35 +00:00
Axel Dörfler
4b661a956f Fixed a stupid bug that prevented DHCP from trying again if a request was lost
(always happened here with my laptop :-)).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@20398 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-03-20 22:09:53 +00:00
Axel Dörfler
bbaa26a490 The net_server is now a BServer instead of a BApplication, IOW it doesn't rely on the
app_server being started anymore.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19816 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-15 16:51:27 +00:00
Axel Dörfler
625f8abdb0 * The networking stack now removes all invalid interfaces during startup (those
where there is either no address or MAC address [ethernet only]).
* _ConfigureInterfaces() now notices if a network device that has a configuration
  is gone and memorizes this configuration.
* If a new device pops up, and there is an existing configuration for a device
  no longer available, that configuration will be used for the new device, allowing
  you to easily move your Haiku image to a new system without losing its network
  settings - it does not yet test if the IP address is already in use in the local
  network, though (in which case a configuration using DHCP would be preferrable).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19742 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-01-08 16:04:16 +00:00
Axel Dörfler
16aceec16e Put the new server into its own session.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19664 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-31 16:33:21 +00:00
Axel Dörfler
c30e35eb9b Actually launching services should work now:
* ServiceSocketMap now maps directly to service_address objects which now have
  gotten a pointer to their owner.
* now uses listen(), and accept() for SOCK_STREAM sockets
* fMinSocket could be wrong.
* use FD_CLOEXEC on all sockets, and the communication pipe.
* removed unused service::type and service::protocol.
* if no family is specified, we now default to AF_INET.
* uses fork()/exec() to actually spawn the servers to not clobber the net_server's
  input/output streams.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19663 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-31 16:21:19 +00:00
Axel Dörfler
c42ca72638 Work-in-progress on the "services" implementation: it now reads the configuration
message, parses it, and stops/starts the services as needed - it doesn't launch
any actual servers yet, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19645 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-28 13:58:58 +00:00
Jérôme Duval
dde7916d62 gcc4 build fix
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19632 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-26 18:06:46 +00:00
Axel Dörfler
fc398fa2ab * Added "services" to the network settings, and refactored the settings class a bit
to be easier extendable with more classes.
* Fixed a bug in the settings that caused updated settings to be appended to the
  existing ones (missing BMessage::MakeEmpty()).
* Started services system, doesn't do anything useful yet (inetd replacement).
* Fixed the bug that caused the loopback default netmask to be incorrectly chosen;
  removed the temporary fix Bruno introduced before. The same bug has been in
  ifconfig where I copied the code from (but wrote it there, too) :-).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19609 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-22 20:53:08 +00:00
Bruno G. Albuquerque
eaeb7fd4f5 The loopbacl interface has a fixed netmask.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19607 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-22 15:30:37 +00:00
Axel Dörfler
46ff54007d * Made the implementation more state driven.
* Now should adhere to the specs with regard to filling the DHCP_REQUEST messages
  in BOUND/RENEWAL/REBINDING states.
* Now take over the times for renewal/rebinding state from the DHCP server, if any,
  or falls back to 2/3 and 5/6 of the original lease time.
* The lease time was accidently shortened twice (to compute the renewal time, in
  case that was missing).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19489 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-13 13:57:57 +00:00
Axel Dörfler
5782c5a3e2 * Added support for setting the broadcast address as well (option 28).
* Now prints out the domain name as suggested by DHCP (option 15).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19486 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-13 11:58:54 +00:00
Axel Dörfler
1a4e8e7b49 Since VMware seems to have some ridiculuous low lease times, I added some code
that prints out the renewal/rebinding times as well - maybe those should be
preferred when they are there.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19484 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-13 10:22:34 +00:00
Axel Dörfler
6cc7630f36 * Implemented lease time renewal.
* The DHCPClient is now added to its looper before doing the negotiation, so that
  it's BMessenger is already valid.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19478 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-12 17:55:48 +00:00
Axel Dörfler
a552ec1396 * If DHCP reports DNS addresses, we'll now rewrite /etc/resolv.conf for now.
* minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19477 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-12 16:11:16 +00:00
Axel Dörfler
ef8ff79cdb * A copy and paste bug prevented the gateway to be added (worked before the
previous commit).
* Removed the acceptance of a missing DHCP acknowledge message.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19470 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-12 02:56:23 +00:00
Axel Dörfler
0cf5e6ac7d Removed the automatic endian conversion in PutOption() - it was confusing and
the actual cause that my router didn't send an acknowledgement (qemu didn't care) :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19469 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-12 02:18:51 +00:00
Axel Dörfler
10cc12da06 Now delays configuring the interface until we got the DHCP acknowledge message - this
might fix the missing message from my router.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19468 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-12 01:49:47 +00:00
Axel Dörfler
e2e290db9b Forgot to add the "auto config" settings parameter to the BMessage template conversion.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19466 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-12 01:18:09 +00:00
Axel Dörfler
0ce7725e1c * An interface can now also be configured to be "auto config" (which means DHCP for now).
* Some minor cleanup in the DHCP client.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19465 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-12 01:16:28 +00:00
Axel Dörfler
df3624c10e * DHCP will now actually acknowledge a successful negotiation.
* The lease time wasn't printed correctly.
* if the DHCP acknowledge message never comes, we won't try
  forever, but will just stop early and assume the IP address
  we have is okay (looks like my router doesn't send DHCP_ACK).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19463 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-12 00:32:05 +00:00
Axel Dörfler
f9af65667d * Work-in-progress of DHCP - the interface should now be correctly configured.
* Lease times are currently ignored, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19462 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-11 23:58:16 +00:00
Axel Dörfler
2e31a85d7f The DHCP message must be send as a link-level broadcast for an unconfigured interface.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19458 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-11 16:54:49 +00:00
Axel Dörfler
fb81684f81 The beginnings of automatic configuration of network devices using DHCP; this is
currently only triggered when there is no configuration file - it can't be configured
this way yet.
All DHCP currently does is to send a UDP broadcast DHCP discover message. More to come.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19437 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-06 19:00:00 +00:00
Axel Dörfler
8a93edb60c Made all server version and signatures consistent, and thus closing bug #909.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19092 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-22 17:56:02 +00:00
Axel Dörfler
c04f283d6a Fixed the bug noticed by Philippe - we might not only be able to open the
"interfaces" file in the future :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19088 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-19 21:37:31 +00:00
Axel Dörfler
b01a3a33a6 * Implemented node monitoring: if you change the interfaces settings file, the
networking stack is reconfigured automatically.
* The previous default route is now removed before installing a new one.
* "gateway" was missing in the driver settings to BMessage conversion template,
  and thus, it was only set to a default value in case there was no settings
  file.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19086 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-19 13:37:13 +00:00
Axel Dörfler
535df2cff3 Now also supports setting a gateway through the configuration.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19085 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-19 12:20:44 +00:00
Axel Dörfler
53d1802e02 Now checks if a valid configuration was found, and if that's not the case, it
will automatically configure the stack - without DHCP for now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19084 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-19 12:11:19 +00:00
Axel Dörfler
1a2ad4cb2c * Moved settings stuff into its own file.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19083 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-19 11:24:57 +00:00
Axel Dörfler
919c897b98 Started writing the new networking server. Right now, it'll configure the
networking stack according to some settings file. Doesn't do anything beyond
that yet, though.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19082 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-10-19 10:45:11 +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
Waldemar Kornewald
6e17c55acc Bye, bye, poor net_server. :)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14352 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-11 18:17:18 +00:00
Waldemar Kornewald
abdb7d1abb - updated email-address
- removed profiles, ppp_up, and some TODOs
- simplified KPPPReportManager and reports API, KPPPInterface::Up()+Down(), and PPPInterfaceListener (also removed some features from the last one)
- KPPPInterface now sends the last PPP_CONNECTION_REPORT message to every newly registered report receiver
- added net_server to the build, but removed old net_server testing-stuff

all changes are completely untested


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14338 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-10-10 15:11:36 +00:00
Waldemar Kornewald
dceee0de1e Changed license headers. Consider net_server as dead.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10118 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-11-21 12:56:05 +00:00
Philippe Houdoin
9f1208bd84 Stop assuming we build on a BONE system, start linking agaisnt *our* libsocket.so
& libbind.so librairies.
Should unbroke the NetworkingKit target.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7611 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-05-19 06:15:48 +00:00
Waldemar Kornewald
0a628cf2fc Nothing special. Just bringing the cvs version up-to-date with my private version.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7206 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-15 16:05:40 +00:00
Waldemar Kornewald
64002c3e10 Thank you, Jack Burton, for telling me. Sorry. Did not checkin this file.
BTW, this is the first checkin with our own netstack and ppp implementation!


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7183 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-08 11:13:14 +00:00
Waldemar Kornewald
60abfca048 Initial checkin of skeleton net_server.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7136 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-04-01 11:12:36 +00:00
Philippe Houdoin
073b7c62a6 Silly me. How to build something without a Jamfile these days!?!...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1851 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-05 17:30:55 +00:00
Philippe Houdoin
df1cbf3cc4 Make the debug/tests net_server to build again.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@1846 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-11-05 02:32:32 +00:00
Philippe Houdoin
a225fd0942 Let's move the userland version (net_server-like) of the net stack here, too.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@896 a95241bf-73f2-0310-859d-f6bbb57e9c96
2002-08-27 07:53:49 +00:00