58 lines
1.7 KiB
C
58 lines
1.7 KiB
C
//
|
|
// Copyright (C) 2012 The Android Open Source Project
|
|
//
|
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
|
// you may not use this file except in compliance with the License.
|
|
// You may obtain a copy of the License at
|
|
//
|
|
// http://www.apache.org/licenses/LICENSE-2.0
|
|
//
|
|
// Unless required by applicable law or agreed to in writing, software
|
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
// See the License for the specific language governing permissions and
|
|
// limitations under the License.
|
|
//
|
|
|
|
// pppd.h declares a field member called |class| which forces this file to be C.
|
|
#include <pppd/pppd.h>
|
|
|
|
#include "shill/shims/c_ppp.h"
|
|
|
|
char pppd_version[] = VERSION;
|
|
|
|
static void PPPOnUp(void* data, int arg) {
|
|
PPPOnConnect(ifname);
|
|
}
|
|
|
|
static void PPPOnPhaseChange(void* data, int arg) {
|
|
if (arg == PHASE_AUTHENTICATE) {
|
|
PPPOnAuthenticateStart();
|
|
} else if (arg == PHASE_NETWORK) {
|
|
// Either no authentication was required, or authentication has
|
|
// completed.
|
|
//
|
|
// TODO(quiche): We can also transition backwards to PHASE_NETWORK,
|
|
// when disconnecting. In such cases, the may want to omit this
|
|
// (spurious) call.
|
|
PPPOnAuthenticateDone();
|
|
} else if (arg == PHASE_DISCONNECT || arg == PHASE_DEAD) {
|
|
PPPOnDisconnect();
|
|
}
|
|
}
|
|
|
|
__attribute__ ((visibility("default"))) int plugin_init() {
|
|
PPPInit();
|
|
|
|
chap_check_hook = PPPHasSecret;
|
|
pap_check_hook = PPPHasSecret;
|
|
|
|
pap_passwd_hook = PPPGetSecret;
|
|
chap_passwd_hook = PPPGetSecret;
|
|
|
|
add_notifier(&ip_up_notifier, PPPOnUp, NULL);
|
|
add_notifier(&phasechange, PPPOnPhaseChange, NULL);
|
|
add_notifier(&exitnotify, PPPOnExit, NULL);
|
|
|
|
return 0;
|
|
}
|