diff options
Diffstat (limited to 'share/examples/isdn/i4brunppp')
-rw-r--r-- | share/examples/isdn/i4brunppp/Makefile | 19 | ||||
-rw-r--r-- | share/examples/isdn/i4brunppp/README | 18 | ||||
-rw-r--r-- | share/examples/isdn/i4brunppp/i4brunppp-isdnd.rc | 65 | ||||
-rw-r--r-- | share/examples/isdn/i4brunppp/i4brunppp.8 | 51 | ||||
-rw-r--r-- | share/examples/isdn/i4brunppp/i4brunppp.c | 224 |
5 files changed, 0 insertions, 377 deletions
diff --git a/share/examples/isdn/i4brunppp/Makefile b/share/examples/isdn/i4brunppp/Makefile deleted file mode 100644 index e1eeceaa18c5..000000000000 --- a/share/examples/isdn/i4brunppp/Makefile +++ /dev/null @@ -1,19 +0,0 @@ -# $FreeBSD$ - -PROG = i4brunppp -SRCS = i4brunppp.c -MAN = i4brunppp.8 - -RUNPPPDEST= /etc/isdn - -INSTALL ?= install - -install: - @echo i4brunppp is not installed automatically. In case you want to run - @echo user-ppp in dial-in server under i4b, please copy it into /etc/isdn. - -installetc: i4brunppp - ${INSTALL} -m ${BINMODE} -o ${BINOWN} -g ${BINGRP} \ - ${.CURDIR}/i4brunppp ${RUNPPPDEST} - -.include <bsd.prog.mk> diff --git a/share/examples/isdn/i4brunppp/README b/share/examples/isdn/i4brunppp/README deleted file mode 100644 index 81ebe75cf30d..000000000000 --- a/share/examples/isdn/i4brunppp/README +++ /dev/null @@ -1,18 +0,0 @@ -$FreeBSD$ - -BEWARE: HIGHLY EXPERIMENTAL! ---------------------------- - -This program is used in conjunction with an isdnd.rc entry similar to - - regexpr = "ULPPP.*call active" # look for matches in log messages - regprog = i4brunppp # execute program when match is found - -this one (see also i4brunppp-isdnd.rc). - -i4brunppp _must_ be put into /etc/isdn! - -When an active call is detected, isdnd fires off i4brunppp, which attaches -the rbch device used to stdin/stdout and then runs ppp which is given the -"-direct" command and the string "inc_rbchX" (where X is the i4brbch unit -number) as arguments. diff --git a/share/examples/isdn/i4brunppp/i4brunppp-isdnd.rc b/share/examples/isdn/i4brunppp/i4brunppp-isdnd.rc deleted file mode 100644 index 962022045cae..000000000000 --- a/share/examples/isdn/i4brunppp/i4brunppp-isdnd.rc +++ /dev/null @@ -1,65 +0,0 @@ -#------------------------------------------------------------------------------ -# -# sample isdnd.rc for taking incoming calls with userland ppp -# ----------------------------------------------------------- -# -# $FreeBSD$ -# -# last edit-date: [Sat Jul 21 13:40:50 2001] -# -#------------------------------------------------------------------------------ -#============================================================================== -# SYSTEM section: global configuration parameters -#============================================================================== -system - -ratesfile = /etc/isdn/isdnd.rates # name & location of rates file - -useacctfile = yes # generate accouting info to file -acctall = on # generate info for everything -acctfile = /var/log/isdnd.acct # name & location of accounting file - -rtprio = 25 # modify isdnd's priority - -regexpr = "ULPPP.*call active" # look for matches in log messages -regprog = i4brunppp # execute program when match is found - -#============================================================================== -# ENTRY: Userland PPP over ISDN -#============================================================================== -entry - -name = ULPPP # name for reference - -usrdevicename = rbch # ipr, tel, rbch -usrdeviceunit = 0 # unit number - -isdncontroller = 0 # contoller to use or -1 to use any -isdnchannel = -1 # channel (1/2) to use or 0 or -1 for any - - # numbers used to verify at DIAL IN -local-phone-incoming = 567 # this is my number -remote-phone-incoming = 123 # this one can call in - - # numbers used to DIAL OUT -local-phone-dialout = 567 # this is my number -remote-phone-dialout = 123 # i call this number - -remdial-handling = first # first, last or next - -dialin-reaction = accept # accept, reject, ignore, answer - -dialout-type = normal # normal / calledback - -b1protocol = hdlc # hdlc, raw - -idletime-incoming = 30 # 3 seconds idle timeout -idletime-outgoing = 30 # 3 seconds idle timeout - -ratetype = 0 # ratesfile entry to use -unitlength = 60 # unitlength to assume - -dialretries = 2 # # of dial retries -recoverytime = 5 # time to wait between 2 dial tries - -# EOF ######################################################################### diff --git a/share/examples/isdn/i4brunppp/i4brunppp.8 b/share/examples/isdn/i4brunppp/i4brunppp.8 deleted file mode 100644 index bc4799032ea2..000000000000 --- a/share/examples/isdn/i4brunppp/i4brunppp.8 +++ /dev/null @@ -1,51 +0,0 @@ -.\" -.\" Copyright (c) 1999, 2001 Hellmuth Michaelis. All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND -.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE -.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE -.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS -.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY -.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF -.\" SUCH DAMAGE. -.\" -.\" $FreeBSD$ -.\" -.\" last edit-date: [Sat Jul 21 13:37:00 2001] -.\" -.Dd July 28, 1999 -.Dt I4BRUNPPP 8 -.Os -.Sh NAME -.Nm i4brunppp -.Nd interface i4b to userland ppp in server mode -.Sh DESCRIPTION -The -.Nm -utility -is part of the isdn4bsd package and is used to interface i4b to the so-called -userland -.Xr ppp 8 -when dialling into an i4b machine. -.Sh FILES -.Bl -tag -width ".Pa /dev/i4brbchX" -.It Pa /dev/i4brbchX -.El -.Sh AUTHORS -The -.Nm -utility and this manpage were written by -.An Hellmuth Michaelis Aq hm@FreeBSD.org . diff --git a/share/examples/isdn/i4brunppp/i4brunppp.c b/share/examples/isdn/i4brunppp/i4brunppp.c deleted file mode 100644 index 3c8b6e76e243..000000000000 --- a/share/examples/isdn/i4brunppp/i4brunppp.c +++ /dev/null @@ -1,224 +0,0 @@ -/* - * Copyright (c) 1999, 2001 Hellmuth Michaelis. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - *--------------------------------------------------------------------------- - * - * i4brunppp - run userland ppp for incoming call from rbch i/f - * ------------------------------------------------------------ - * - * $FreeBSD$ - * - * last edit-date: [Sat Jul 21 13:38:10 2001] - * - *--------------------------------------------------------------------------- - * - * BEWARE: HIGHLY EXPERIMENTAL! - * --------------------------- - * - * This program is used in conjunction with an isdnd.rc entry similar to - * - * regexpr = "ULPPP.*call active" # look for matches in log messages - * regprog = i4brunppp # execute program when match is found - * - * this one. It _must_ be put into /etc/isdn! - * When an active call is detected, isdnd fires off i4brunppp, which attaches - * the rbch device used to stdin/stdout and then runs ppp which is given the - * "-direct" command and the string "inc_rbchX" (where X is the i4brbch unit - * number) as arguments. - * - *---------------------------------------------------------------------------*/ - -#include <stdio.h> -#include <errno.h> -#include <unistd.h> -#include <fcntl.h> -#include <syslog.h> -#include <errno.h> -#include <string.h> -#include <time.h> -#include <ctype.h> - -#include <i4b/i4b_ioctl.h> -#include <i4b/i4b_rbch_ioctl.h> - -#define I4BDEVICE "/dev/i4b" - -#define PPPPROG "/usr/sbin/ppp" -#define PPPNAME "ppp" -#define PPPARG1 "-direct" -#define PPPLABEL "inc_" - -#define VERIFYSTRING "call active" -#define DEVSTRING "rbch" - -#define PPPDEBUG - -/*---------------------------------------------------------------------------* - * program entry - *---------------------------------------------------------------------------*/ -int -main(int argc, char **argv) -{ - char buffer[256]; - int rbch_fd; - char *p = "DeadPointer"; - int found; - int i; - -#ifdef PPPDEBUG - FILE *dfp; - time_t tim; - register struct tm *tp; -#endif - - /* open syslog */ - - (void)openlog("i4brunppp", LOG_PID|LOG_CONS|LOG_NDELAY, LOG_USER); - -#ifdef PPPDEBUG - - /* open debug log */ - - if((dfp = fopen("/tmp/i4brunppp-debug.log", "a")) == NULL) - { - syslog(LOG_INFO, "cannot open logfile: %s", strerror(errno)); - exit(1); - } - - tim = time(NULL); - tp = localtime(&tim); - strftime(buffer, 40, I4B_TIME_FORMAT, tp); - fprintf(dfp, "\n=================== %s ===================\n", buffer); - - for(i=0; i < argc; i++) - fprintf(dfp, "\t%s\n", argv[i]); -#endif - - /* check if this is the right message */ - - found = 0; - - for(i=0; i < argc; i++) - { - if((strstr(argv[i], VERIFYSTRING)) != NULL) - { - found = 1; - break; - } - } - - if(found == 0) - { -#ifdef PPPDEBUG - fprintf(dfp, "did not found [%s], exit\n", VERIFYSTRING); -#endif - exit(0); - } - - found = 0; - - /* check if we got a good device name */ - - for(; i < argc; i++) - { - if((p = strstr(argv[i], DEVSTRING)) != NULL) - { - found = 1; - break; - } - } - - if(found == 0) - { -#ifdef PPPDEBUG - fprintf(dfp, "did not found [%s], exit\n", DEVSTRING); -#endif - exit(0); - } - - /* everything ok, now prepare for running ppp */ - - /* close all file descriptors */ - - i = getdtablesize(); - - for(;i >= 0; i--) - if (i != 2) - close(i); - - /* fiddle a terminating zero after the rbch unit number */ - - p += strlen(DEVSTRING); - - if(isdigit(*p) && isdigit(*(p+1))) - *(p+2) = '\0'; - else - *(p+1) = '\0'; - - /* construct /dev/i4brbchX device name */ - - sprintf(buffer, "%s%s%s", I4BDEVICE, DEVSTRING, p); - - /* open the rbch device as fd 0 = stdin */ - - rbch_fd = open(buffer, O_RDWR); - - if(rbch_fd != 0) - { - if(rbch_fd < 0) - syslog(LOG_INFO, "cannot open %s: %s", buffer, strerror(errno)); - else - syslog(LOG_INFO, "cannot open %s as fd 0 (is %d): %s", buffer, rbch_fd, strerror(errno)); - exit(1); - } - - /* dup rbch device fd as fd 1 = stdout */ - - if((i = dup(rbch_fd)) != 1) - { - if(i < 0) - syslog(LOG_INFO, "cannot dup rbch_fd: %s", strerror(errno)); - else - syslog(LOG_INFO, "cannot dup rbch as fd 1 (is %d): %s", i, strerror(errno)); - exit(1); - } - - /* construct the label for ppp's ppp.conf file */ - - sprintf(buffer, "%s%s%s", PPPLABEL, DEVSTRING, p); - - syslog(LOG_INFO, "executing: %s %s %s %s", PPPPROG, PPPNAME, PPPARG1, buffer); - - /* execute ppp */ - - if((execl(PPPPROG, PPPNAME, PPPARG1, buffer, NULL)) == -1) - { - syslog(LOG_INFO, "cannot exec: %s", strerror(errno)); - exit(1); - } - syslog(LOG_INFO, "finished: %s %s %s %s", PPPPROG, PPPNAME, PPPARG1, buffer); - return(0); -} - -/* EOF */ |