History log of /haiku/src/add-ons/kernel/network/ppp/ipcp/Protocol.cpp
Revision Date Author Comments
# cd6365c7 17-May-2018 Jérôme Duval <jerome.duval@gmail.com>

style fixes


# ceff2b88 05-Apr-2017 Alexander von Gluck IV <kallisti5@unixzen.com>

ppp: Basic build fixes on x86_64


# e3724c38 04-Jan-2014 mshlyn <linlongzhou@163.com>

PPP: Port to the new stack.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>

This is a squash of the 42 commits by @mshlyn, as I couldn't find a
way to break them into logical chunks. I did not include these in the build,
as it appears that they only partially work anyway, and much more cleanup is
still needed. However, this is a huge improvement on what was in the tree
before, which looked horrendous and didn't even compile (as it was designed
for the old stack).

Mostly fixes #812.


# 2f13f213 16-Jul-2006 Waldemar Kornewald <wkornew@nowhere.fake>

* Made the PPP code more single-threaded.
* Removed ppp_up code.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18161 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 758b1d0e 12-Nov-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

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


# abdb7d1a 10-Oct-2005 Waldemar Kornewald <wkornew@nowhere.fake>

- 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


# 0cbb739d 20-Dec-2004 Waldemar Kornewald <wkornew@nowhere.fake>

Renamed "Dial" to "Connect" (only modems dial).
Removed DialOnDemand settings key.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10496 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 84b580c4 20-Nov-2004 Waldemar Kornewald <wkornew@nowhere.fake>

DialOnDemand will be handled differently. Instead of setting it manually in the prefs we have one default interface. Still not finished.
Moved ppp_up code to KPPPManager.
Experimenting with IPCP DialOnDemand support.
Many changes I do not remember.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10117 a95241bf-73f2-0310-859d-f6bbb57e9c96


# cdee6f97 15-Apr-2004 Waldemar Kornewald <wkornew@nowhere.fake>

The DEBUG version dumps all packets to /boot/home/ipcpdebug.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7208 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ce0b86e9 05-Apr-2004 Waldemar Kornewald <wkornew@nowhere.fake>

* IPCP: I think this fixed the default route bug. At least it does not crash anymore.
* PPP stack: Fixed a bug that was introduced with the settings_tools change.
* Modem: Renamed "Interface" to "Port" and made it use any device (i.e.: a complete path must be supplied) and made it assume that the device is a port (termios.h API).
* Fixed a compilation warning.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7167 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6ff76cda 03-Apr-2004 Waldemar Kornewald <wkornew@nowhere.fake>

I had nearly forgotten this.
Changed some constants to match our style-guidelines.
Extended settings_tools to support modifying driver_settings/parameter structures (used by DialUpPreflet).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7157 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b8f24e83 26-Mar-2004 Waldemar Kornewald <wkornew@nowhere.fake>

Sorry, I did not commit this change (sharing the configuration values between the IPCP kernel and DialUpPreflet modules).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7067 a95241bf-73f2-0310-859d-f6bbb57e9c96


# abf44d1a 02-Mar-2004 Waldemar Kornewald <wkornew@nowhere.fake>

Some changes I did a long time ago. I think this also contains a fix for the last dead-lock I could find.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6857 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1cea3d85 24-Jan-2004 Waldemar Kornewald <wkornew@nowhere.fake>

Updated according to name changes in kernel classes.
IPCP and PAP (hopefully) make use of profiles.
Minor changes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6284 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6cfb4dca 19-Jan-2004 Waldemar Kornewald <wkornew@nowhere.fake>

Replaced all printf and spawn_thread functions with their kernel counterparts.
IPCP: changed route initialization a little bit. Still cannot remove default route correctly.
Renamed interface_id to ppp_interface_id.
Some minor changes.
Worked on libppp.a (userland PPP library).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6159 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 86c13dda 05-Jan-2004 Waldemar Kornewald <wkornew@nowhere.fake>

Yeah! It finally works! The default route was missing, that was the only problem!
I established a connection with PPPoE and pinged goole and osnews. Net+ loaded half of www.osnews.com but then crashed because of a bug in our DNS resolver.
There is one more bug to fix: our core stack module does not remove the routes when an interface is deleted.
Thus, there will always remain the route(s) from the last connection(s).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5910 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 20d09e03 01-Jan-2004 Waldemar Kornewald <wkornew@nowhere.fake>

Simplified Jamfiles a little bit.
Fixed a warning in modem.
Fixed a small bug in IPCP.
Added empty PPPInterfaceListener class (needed for DialUpPreflet and Deskbar add-on).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5877 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8dad9b1e 27-Dec-2003 Waldemar Kornewald <wkornew@nowhere.fake>

Added modem driver (completely untested, currently no support for settings speed because modem API is missing).
Some minor changes.
Added TODO file to almost all modules.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5768 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 153f2c30 19-Dec-2003 Waldemar Kornewald <wkornew@nowhere.fake>

Fixed compilation errors.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5714 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 93a59056 26-Nov-2003 Waldemar Kornewald <wkornew@nowhere.fake>

Fixed bugs.
IPCP: fixed setting of local and peer address (in_control).
Renamed some variables to comply with our style defs.
Fixed a dead-lock in ppp interface and libkernelppp.a.

TODO:
Unfortunately, our stack does not want to ping the remote host. :(
I do not know if this is my fault or a problem with our stack.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5487 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ca43389a 21-Nov-2003 Waldemar Kornewald <wkornew@nowhere.fake>

Some small changes and fixes.

Most important:
Finished IPCP and PAP modules.
Both of them are untested at the moment.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5442 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2f13f213de8e2b44640b88a2b3d42ed921f637cb 16-Jul-2006 Waldemar Kornewald <wkornew@nowhere.fake>

* Made the PPP code more single-threaded.
* Removed ppp_up code.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18161 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 758b1d0e05fe1042cce6e00d194a147802d4f9be 12-Nov-2005 Ingo Weinhold <ingo_weinhold@gmx.de>

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


# abdb7d1abbf1686ecb8f7132e576d332f6cc01ed 10-Oct-2005 Waldemar Kornewald <wkornew@nowhere.fake>

- 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


# 0cbb739d3b656a76c5c1249b4d0e76bcba81836c 20-Dec-2004 Waldemar Kornewald <wkornew@nowhere.fake>

Renamed "Dial" to "Connect" (only modems dial).
Removed DialOnDemand settings key.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10496 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 84b580c425e26370792255dbb5e1879250434372 20-Nov-2004 Waldemar Kornewald <wkornew@nowhere.fake>

DialOnDemand will be handled differently. Instead of setting it manually in the prefs we have one default interface. Still not finished.
Moved ppp_up code to KPPPManager.
Experimenting with IPCP DialOnDemand support.
Many changes I do not remember.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@10117 a95241bf-73f2-0310-859d-f6bbb57e9c96


# cdee6f9740fc4f57d1b7bbcaa110ab96720e5da4 15-Apr-2004 Waldemar Kornewald <wkornew@nowhere.fake>

The DEBUG version dumps all packets to /boot/home/ipcpdebug.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7208 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ce0b86e9ddb0d244e360d7bf25c3126c9ba66004 05-Apr-2004 Waldemar Kornewald <wkornew@nowhere.fake>

* IPCP: I think this fixed the default route bug. At least it does not crash anymore.
* PPP stack: Fixed a bug that was introduced with the settings_tools change.
* Modem: Renamed "Interface" to "Port" and made it use any device (i.e.: a complete path must be supplied) and made it assume that the device is a port (termios.h API).
* Fixed a compilation warning.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7167 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6ff76cdaf54b79d9dc74b4d47114f19a8955d651 03-Apr-2004 Waldemar Kornewald <wkornew@nowhere.fake>

I had nearly forgotten this.
Changed some constants to match our style-guidelines.
Extended settings_tools to support modifying driver_settings/parameter structures (used by DialUpPreflet).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7157 a95241bf-73f2-0310-859d-f6bbb57e9c96


# b8f24e83767263443414d6235da68b94c4319714 26-Mar-2004 Waldemar Kornewald <wkornew@nowhere.fake>

Sorry, I did not commit this change (sharing the configuration values between the IPCP kernel and DialUpPreflet modules).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@7067 a95241bf-73f2-0310-859d-f6bbb57e9c96


# abf44d1a2b878b33fcf39a6cf0d0b1625d78edfe 02-Mar-2004 Waldemar Kornewald <wkornew@nowhere.fake>

Some changes I did a long time ago. I think this also contains a fix for the last dead-lock I could find.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6857 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1cea3d8564d4b4351a69aba0e5e6171cbdf5e907 24-Jan-2004 Waldemar Kornewald <wkornew@nowhere.fake>

Updated according to name changes in kernel classes.
IPCP and PAP (hopefully) make use of profiles.
Minor changes.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6284 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 6cfb4dcac25af9c27f1b69ea71ba47d12e1c64fb 19-Jan-2004 Waldemar Kornewald <wkornew@nowhere.fake>

Replaced all printf and spawn_thread functions with their kernel counterparts.
IPCP: changed route initialization a little bit. Still cannot remove default route correctly.
Renamed interface_id to ppp_interface_id.
Some minor changes.
Worked on libppp.a (userland PPP library).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@6159 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 86c13dda5a831b614ef044139c2e89f4f3352621 05-Jan-2004 Waldemar Kornewald <wkornew@nowhere.fake>

Yeah! It finally works! The default route was missing, that was the only problem!
I established a connection with PPPoE and pinged goole and osnews. Net+ loaded half of www.osnews.com but then crashed because of a bug in our DNS resolver.
There is one more bug to fix: our core stack module does not remove the routes when an interface is deleted.
Thus, there will always remain the route(s) from the last connection(s).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5910 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 20d09e03beb45c99e87896d6fb5873dece5cf61f 01-Jan-2004 Waldemar Kornewald <wkornew@nowhere.fake>

Simplified Jamfiles a little bit.
Fixed a warning in modem.
Fixed a small bug in IPCP.
Added empty PPPInterfaceListener class (needed for DialUpPreflet and Deskbar add-on).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5877 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8dad9b1eb24c679b79309f1380a91eb8c0246de5 27-Dec-2003 Waldemar Kornewald <wkornew@nowhere.fake>

Added modem driver (completely untested, currently no support for settings speed because modem API is missing).
Some minor changes.
Added TODO file to almost all modules.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5768 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 153f2c3012e8a31de96271754c2dde9b19a9dfdd 19-Dec-2003 Waldemar Kornewald <wkornew@nowhere.fake>

Fixed compilation errors.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5714 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 93a59056e2b575c038d74055e4c9b865596364a8 26-Nov-2003 Waldemar Kornewald <wkornew@nowhere.fake>

Fixed bugs.
IPCP: fixed setting of local and peer address (in_control).
Renamed some variables to comply with our style defs.
Fixed a dead-lock in ppp interface and libkernelppp.a.

TODO:
Unfortunately, our stack does not want to ping the remote host. :(
I do not know if this is my fault or a problem with our stack.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5487 a95241bf-73f2-0310-859d-f6bbb57e9c96


# ca43389a750b879b6e3bcabc6c3913fa33e4a3ad 21-Nov-2003 Waldemar Kornewald <wkornew@nowhere.fake>

Some small changes and fixes.

Most important:
Finished IPCP and PAP modules.
Both of them are untested at the moment.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@5442 a95241bf-73f2-0310-859d-f6bbb57e9c96