X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;f=pppd%2Fauth.c;h=4271af687102dc62e3c2e3b47d3fc8ab1d70d0f8;hb=f8c05f21cc743132fb7c4b996568c09a374725b9;hp=883b7f5bb8aedfec061daa37b7bb2e4eabf15de8;hpb=04c4348108d847e034dd91066cc6843f60d71731;p=ppp.git diff --git a/pppd/auth.c b/pppd/auth.c index 883b7f5..4271af6 100644 --- a/pppd/auth.c +++ b/pppd/auth.c @@ -553,13 +553,11 @@ link_required(unit) void start_link(unit) int unit; { - char *msg; - + status = EXIT_CONNECT_FAILED; new_phase(PHASE_SERIALCONN); hungup = 0; devfd = the_channel->connect(); - msg = "Connect script failed"; if (devfd < 0) goto fail; @@ -572,7 +570,6 @@ void start_link(unit) * gives us. Thus we don't need the tdb_writelock/tdb_writeunlock. */ fd_ppp = the_channel->establish_ppp(devfd); - msg = "ppp establishment failed"; if (fd_ppp < 0) { status = EXIT_FATAL_ERROR; goto disconnect; @@ -669,9 +666,11 @@ link_terminated(unit) (*the_channel->cleanup)(); if (doing_multilink && multilink_master) { - if (!bundle_terminating) + if (!bundle_terminating) { new_phase(PHASE_MASTER); - else + if (master_detach && !detached) + detach(); + } else mp_bundle_terminated(); } else new_phase(PHASE_DEAD);