summaryrefslogtreecommitdiffstats
path: root/usr.sbin/ppp/bundle.c
diff options
context:
space:
mode:
authorbrian <brian@FreeBSD.org>1999-06-02 00:46:55 +0000
committerbrian <brian@FreeBSD.org>1999-06-02 00:46:55 +0000
commit3b531265df52d6694a750e5ccc98f84ec147c98f (patch)
tree274fa060e902f85fbe2c53913fd5ff25930d27aa /usr.sbin/ppp/bundle.c
parent528563d156b054b4067862174976e63c99eab3c2 (diff)
downloadFreeBSD-src-3b531265df52d6694a750e5ccc98f84ec147c98f.zip
FreeBSD-src-3b531265df52d6694a750e5ccc98f84ec147c98f.tar.gz
Introduce the ``keep-session'' option. Refer to the man
page for details. This allows MP over non-tty devices where the original ppp process must not exit (such as sshd-spawned ppp sessions).
Diffstat (limited to 'usr.sbin/ppp/bundle.c')
-rw-r--r--usr.sbin/ppp/bundle.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/usr.sbin/ppp/bundle.c b/usr.sbin/ppp/bundle.c
index 757621b..4529732 100644
--- a/usr.sbin/ppp/bundle.c
+++ b/usr.sbin/ppp/bundle.c
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $Id: bundle.c,v 1.54 1999/05/27 08:42:15 brian Exp $
+ * $Id: bundle.c,v 1.55 1999/05/31 23:57:32 brian Exp $
*/
#include <sys/param.h>
@@ -1220,6 +1220,8 @@ bundle_ShowStatus(struct cmdargs const *arg)
optval(arg->bundle, OPT_SROUTES));
prompt_Printf(arg->prompt, " ID check: %s\n",
optval(arg->bundle, OPT_IDCHECK));
+ prompt_Printf(arg->prompt, " Keep-Session: %s\n",
+ optval(arg->bundle, OPT_KEEPSESSION));
prompt_Printf(arg->prompt, " Loopback: %s\n",
optval(arg->bundle, OPT_LOOPBACK));
prompt_Printf(arg->prompt, " PasswdAuth: %s\n",
@@ -1520,7 +1522,8 @@ bundle_SendDatalink(struct datalink *dl, int s, struct sockaddr_un *sun)
/* We must get the ACK before closing the descriptor ! */
read(s, &ack, 1);
- newsid = tcgetpgrp(link_fd) == getpgrp();
+ newsid = Enabled(dl->bundle, OPT_KEEPSESSION) ||
+ tcgetpgrp(link_fd) == getpgrp();
close(link_fd);
if (newsid)
bundle_setsid(dl->bundle, 1);
OpenPOWER on IntegriCloud