summaryrefslogtreecommitdiffstats
path: root/gatchat/ppp.h
AgeCommit message (Collapse)AuthorFilesLines
2014-06-21gatchat: implement PAP authenticationPhilip Paeps1-0/+9
Make the authentication method configurable, CHAP or PAP, defaulting to CHAP (i.e.: previous behaviour). Implementation details: o If PAP is configured, we NAK the CHAP authentication protocol option in LCP configuration requests and suggest PAP instead. This works around the amusing requirement of 3GPP TS 29.061 that modems must send a forced positive acknowledgement of the authentication method tried (i.e.: the modem will successfully accept any CHAP handshake, but if the network only supports PAP, the modem will hang up when it tries and fails to activate the PDP context) o The PAP Authenticate-Request is resent a hard-coded three times at ten-second intervals. This may be a bit too persistent. Chances are if it doesn't work the first time, it'll never work, but the RFC insists that we MUST retry.
2011-11-07gatchat: Add IPv6 Control ProtocolOleg Zhurakivskyy1-0/+8
2011-10-10gatchat: Update copyright informationMarcel Holtmann1-1/+1
2011-06-29ppp: Add basic length sanity checksDenis Kenzior1-2/+4
2011-06-29gatppp: Refactor rx pathDenis Kenzior1-11/+0
2011-06-29GAtPPP: Add PFC option supportGuillaume Zajac1-0/+4
2011-06-29GAtPPP: Add ACFC option supportGuillaume Zajac1-0/+8
2011-05-24ppp_net: add ppp_net_resume_interface() APIGuillaume Zajac1-0/+1
2011-05-24gatppp: Add new contructor to use external fdGuillaume Zajac1-1/+1
2011-05-08ppp_net: add ppp_net_suspend_interface() functionGuillaume Zajac1-0/+1
2011-02-28gatppp: Add a debug macroDenis Kenzior1-0/+7
2010-06-29ppp: Refactor server-side APIDenis Kenzior1-2/+2
The biggest update here is that the server needs to be in dormant mode by default, so as not to send a Configure-Req to the peer until the peer is ready. This requires adding special constructor for LCP to initialize it to Stopped state instead of initial state. Along with this, we pass the server local IP directly to the ppp server constructor.
2010-06-29ppp: Tweak set_server_info API some moreDenis Kenzior1-2/+1
2010-06-28gatppp: Add PPP server extensionZhenhua Zhang1-1/+4
1. Add interface to set PPP server info by g_at_ppp_set_server_info. 2. Pass local and peer address through IPCP handshaking.
2010-05-19ppp: implement ppp_packet_newKristen Carlson Accardi1-0/+1
2010-05-10ppp: Keep these defines privateDenis Kenzior1-2/+0
2010-05-10ppp: set address and control fieldKristen Carlson Accardi1-0/+4
Before sending to hdlc, set the address and control field. Fix hardcode of ppp header size.
2010-04-30ppp: get rid of ppp_enter_phaseDenis Kenzior1-11/+6
This function simply didn't have the context of why the phase was being entered. Instead have each protocol notify GAtPPP as to what is happening. We already had this more or less for IPCP and AUTH events, this just now formalizes it for LCP as well.
2010-04-28ppp: Make ppp_chap_process_packet const correctDenis Kenzior1-1/+1
2010-04-28ppp: Make ppp_net_process_packet const correctDenis Kenzior1-1/+1
2010-04-22ppp: change MTU on TUN device when MRU option receivedKristen Carlson Accardi1-1/+1
2010-04-22ppp: implement MRU optionKristen Carlson Accardi1-0/+2
If the peer requests a MRU option, set the mtu for the network phase. When we are in link establishment phase, we should continue to behave as if no option has been set and the peer should use the default MRU. This option is required for the Huawei E160G modem.
2010-04-14ppp: nak unknown auth protocolKristen Carlson Accardi1-0/+10
If we are sent a Config-Request for an auth proto other than CHAP with MD5, send a NAK.
2010-04-13ppp: Cleanup function definitions in ppp.hDenis Kenzior1-11/+16
2010-04-13ppp: remove pfc and acfcKristen Carlson Accardi1-4/+0
We will not support pfc or acfc
2010-04-13ppp: Get rid of net_open and net_closeDenis Kenzior1-3/+1
There really isn't a need for these now
2010-04-13ppp: Introduce ppp_net_down_notifyDenis Kenzior1-0/+1
2010-04-13ppp: Introduce ppp_net_up_notify and use itDenis Kenzior1-2/+2
This is slightly cleaner way than defining a weird callback function.
2010-04-13ppp: Hide ppp_net definition in ppp_net.cDenis Kenzior1-12/+8
2010-04-13ppp: Remove auth_ functions from ppp_auth.cDenis Kenzior1-15/+8
These really serve no purpose right now as we use only CHAP. So they only take up space and make the code harder to read. If we implement 1-3 auth protocols, then they're easier handled inside gatppp.c. If we have more, then a proper auth driver framework is required.
2010-04-13ppp: introduce ppp_auth_notifyDenis Kenzior1-0/+1
This function will be notified whenever authentication has succeeded / failed. This can happen in the authentication phase or during the network phase. If auth fails, then we should proceed to the terminate phase.
2010-04-13ppp: Transition the phase directlyDenis Kenzior1-9/+7
Use of the generate event function, while more 'pure' with regard to how the spec views transitions, actually makes code more difficult to read. Instead use phase transitions directly inside gatppp. This still bleeds through a little into lcp code, and probably should be fixed in a better way eventually.
2010-04-13ppp: Use pppcp_signal functions directlyDenis Kenzior1-3/+0
No real need to wrap them behind lcp_ functions
2010-04-08ppp: Fix make some functions const correctDenis Kenzior1-3/+3
2010-04-06Fix: Allow setting of tx ACCMDenis Kenzior1-1/+1
Specification is explicit that ACCM defaults to ~0
2010-04-03Move PPP constants where they are usedMarcel Holtmann1-18/+0
2010-04-03Make GAtPPP fields really privateMarcel Holtmann1-31/+3
2010-04-02ppp: implement net closeKristen Carlson Accardi1-0/+1
2010-04-02Refactor: Get rid of packet handler registrationsDenis Kenzior1-8/+3
There are only about 4 protocols that the current ppp code handles and it is doubtful that it will grow much more. There's no point in having an extensive packet handler registration framework.
2010-04-02ppp: use queue to transmitKristen Carlson Accardi1-1/+3
Since we are using non buffered I/O, use a queue to transmit when buffer space is available.
2010-04-02Split out ipcp protocol into ppp_ipcp.cDenis Kenzior1-1/+4
2010-04-02ppp: fix event generation on closeKristen Carlson Accardi1-1/+0
Prevents too early transition to PPP_DEAD
2010-04-01Remove obfuscation for some of the event handlingMarcel Holtmann1-2/+0
2010-04-01Remove PPP event_queue handling and process events directlyMarcel Holtmann1-1/+0
2010-04-01Remove PPP recv_queue handling and process frames directlyMarcel Holtmann1-1/+0
2010-04-01Add support for recording PPP sessions in pppdump formatMarcel Holtmann1-0/+1
2010-04-01Implement g_at_ppp_set_debug supportMarcel Holtmann1-0/+2
2010-04-01Remove useless pppcp_protocol_data structureMarcel Holtmann1-0/+1
2010-03-31Refactor: Use GAtDisconnectFunc for ppp disconnectDenis Kenzior1-1/+1
The ppp argument to the current disconnect callback is useless as the ppp structure is most likely stored in user data anyway.
2010-03-26ppp: send Protocol-RejectKristen Carlson Accardi1-0/+1
change ppp_decode to store the length of the decoded frame, so that if we have a packet with a protocol we don't understand, we can send Protocol-Reject packets. Modify ppp_cp code to add support for sending Protocol-Reject packet.