freebsd-ports/comms/xcept/files/patch-ab
Joerg Wunsch 18666fbe54 XCept - a decoder for the CEPT protocol as it is in use in the Btx
service of the Deutsche Telekom.

XCept 2 is freeware (BSD-style copyright), but has later been replaced
by the commercial XCept 3.  The authors no longer distribute or support
this old version.

I cannot build it on freefall's 2.1.x system, but it builds fine on my
2.2-current.  thud seems to be down...
1996-09-01 14:14:14 +00:00

230 lines
7.2 KiB
Plaintext

--- ceptd/config.h.orig Wed Jul 27 10:28:38 1994
+++ ceptd/config.h Sun Sep 1 12:37:09 1996
@@ -49,7 +49,7 @@
#undef NO_STRERROR /* define NO_STRERROR if you don't have strerror func. */
#define HASTERMIOS /* define HASTERMIOS if system has termios.h */
-#undef ASCIIPID /* define if your system writes pid in ascii to
+#define ASCIIPID /* define if your system writes pid in ascii to
uucp-lock */
#endif /* __bsdi__ */
--- ceptd/Makefile.orig Wed Jun 15 17:10:59 1994
+++ ceptd/Makefile Sun Sep 1 14:17:11 1996
@@ -1,21 +1,30 @@
# directories:
OWNER= root
-GROUP= sys
-EXECMODE= 6750
+GROUP= bin
+EXECMODE= 04750
+MANMODE= 0644
-BINDIR= /usr/local/bin# directory for the executable ceptd
-MANDIR= /usr/local/man/manl# directory for the ceptds manpage
+BINDIR= /usr/local/libexec# directory for the executable ceptd
+MANDIR= /usr/local/man/man8# directory for the ceptds manpage
ETCDIR= /usr/local/etc# directory for 'init file' and 'users file'
# defaults for the ceptd :
-DEFAULTINITFILENAME= $(ETCDIR)/init.cept# modems default init file
-DEFAULTUSERSFILENAME= $(ETCDIR)/users.cept# file with allowed users
-DEFAULTLOGFILENAME= /tmp/log.cept# logfile for user online times
+DEFAULTINITFILENAME= $(ETCDIR)/cept.init# modems default init file
+DEFAULTUSERSFILENAME= $(ETCDIR)/cept.users# file with allowed users
+DEFAULTLOGFILENAME= /var/log/log.cept# logfile for user online times
DEFAULTMODEM= /dev/modem# char. special file for modem
DEFAULTSPEED= 2400# modem baud rate
DEFAULTSOCKETPORT= 20005# socket port for connections
-LOCKDIR= /var/spool/locks# lock dir for uucp-locks
+LOCKDIR= /var/spool/lock# lock dir for uucp-locks
+
+.ifdef NOMANCOMPRESS
+MANPAGE= ceptd.8
+MANCOMPRESS= cat
+.else
+MANPAGE= ceptd.8.gz
+MANCOMPRESS= gzip -c -9
+.endif
# define these flags in $(DEFS):
@@ -54,86 +63,49 @@
-DDEFAULTINITFILENAME=\"$(DEFAULTINITFILENAME)\"\
-DDEFAULTUSERSFILENAME=\"$(DEFAULTUSERSFILENAME)\"\
-DDEFAULTLOGFILENAME=\"$(DEFAULTLOGFILENAME)\"\
- -DSVR4
+ -DBSD
# -DISDN\
# the GNU C-compiler:
-CC = gcc
-CCOPTS = -O
-CCFLAGS = -Wswitch -Wcomment -Wshadow -Wpointer-arith -Wcast-qual\
- -Wtrigraphs# -Wunused
+#CC = gcc
+#CCOPTS = -O
+#CCFLAGS = -Wswitch -Wcomment -Wshadow -Wpointer-arith -Wcast-qual\
+# -Wtrigraphs# -Wunused
# ... the lex is ...
-LEX = flex
+#LEX =flex
##############################################################################
-all: ceptd ceptd.8
+all: ceptd ${MANPAGE}
OBJS = ceptd.o level2.o modeminit.o socket.o term.o lex.yy.o isdn.o
SRC = ceptd.c level2.c modeminit.c socket.c term.c lex.yy.c isdn.c
INC = config.h cept.h ../xcept/protocol.h
-.c.o: makefile config.h cept.h ../xcept/protocol.h
- @echo
- @echo '########################## $@ ########################'
- $(CC) -c $(CCOPTS) $(CCFLAGS) $(DEFS) $*.c
+.c.o: config.h cept.h ../xcept/protocol.h
+ $(CC) -c $(CFLAGS) $(DEFS) $*.c
lex.yy.c: lex_yy
- @echo
- @echo '########################## $@ ########################'
$(LEX) -s -i -p lex_yy
ceptd: $(OBJS)
- @echo
- @echo '########################## $@ ########################'
- $(CC) $(OBJS) -L. -o ceptd -lnsl -lsocket
- @echo "$@ finished"
-
-install: ceptd ceptd.8
- @echo
- @echo '########################## $@ #################################'
- strip ceptd
- mv ceptd $(BINDIR)
- chown $(OWNER) $(BINDIR)/ceptd
- chgrp $(GROUP) $(BINDIR)/ceptd
- chmod $(EXECMODE) $(BINDIR)/ceptd
- mv ceptd.8 $(MANDIR)
- chown $(OWNER) $(MANDIR)/ceptd.8
- chgrp $(GROUP) $(MANDIR)/ceptd.8
- chmod 644 $(MANDIR)/ceptd.8
- @echo
- @echo '**************************************************************'
- @echo '**************************************************************'
- @echo "------>>> Now do the following steps:"
- @echo
- @echo '1)' add the following line to your /etc/inetd.conf file:
- @echo " cept stream tcp nowait $(OWNER)"\
- $(BINDIR)/ceptd ceptd
- @echo
- @echo '2)' add the following line to your /etc/services file:
- @echo " cept $(DEFAULTSOCKETPORT)/tcp ceptd"
- @echo
- @echo '3)' copy the ../etc/users.cept file to $(DEFAULTUSERSFILENAME)\
- and edit it.
- @echo
- @echo '4)' copy the ../etc/init.cept file to $(DEFAULTINITFILENAME)\
- and edit it.
- @echo
- @echo '5)' read the ceptd manual.
- @echo '***************************************************************'
- @echo '***************************************************************'
+ $(CC) $(OBJS) -L. -o ceptd
+
+install: ceptd ${MANPAGE}
+ ${INSTALL} -c -o ${OWNER} -g ${GROUP} -m ${EXECMODE} ceptd ${BINDIR}/ceptd
+ ${INSTALL} -c -o ${OWNER} -g ${GROUP} -m ${MANMODE} ${MANPAGE} ${MANDIR}/${MANPAGE}
-ceptd.8: ceptd.8.template
+${MANPAGE}: ceptd.8.template
sed -e 's|--- The permissions file.|$(DEFAULTUSERSFILENAME)|g'\
-e 's|--- The initalization file.|$(DEFAULTINITFILENAME)|g'\
-e 's|--- The log file.|$(DEFAULTLOGFILENAME)|g'\
- ceptd.8.template > ceptd.8
+ ceptd.8.template | ${MANCOMPRESS} > ${MANPAGE}
clean:
- rm -f ceptd.8 *.o TAGS ceptd
+ rm -f ${MANPAGE} *.o TAGS ceptd
veryclean:
rm -f ceptd.8 *.o TAGS ceptd lex.yy.c *.zoo
--- ceptd/ceptd.8.template.orig Wed May 25 19:36:11 1994
+++ ceptd/ceptd.8.template Sun Sep 1 15:33:16 1996
@@ -17,8 +17,8 @@
.I ceptd
can be started from the \fIinetd\fR. If not started from inetd,
\fIceptd\fR will deal with connection request forking on connects.
-If the standard input of ceptd
-is not a tty, ceptd assumes being started from inetd.
+If standard input and output of ceptd
+are sockets, ceptd assumes being started from inetd.
.PP
.I Available options:
.PP
--- ceptd/ceptd.c.orig Wed May 25 19:36:11 1994
+++ ceptd/ceptd.c Sun Sep 1 15:36:13 1996
@@ -67,12 +67,12 @@
static int endtime();
static void exit_btx_server(); /* signal routine for parent */
static pid_t childpid = -1; /* pid of child process */
-static int modem = -1, inetd = 0;
+static int modem = -1;
int debug =0;
static char *userlogfilename = DEFAULTLOGFILENAME;
static int connected;
static char *caller;
-int connectstatus, isdnflag = 0;
+int connectstatus, isdnflag = 0, inetd = 0;
main(argc,argv)
int argc;char *argv[];
@@ -220,12 +220,8 @@
#else
{
struct sigaction act;
+ memset(&act, 0, sizeof act);
act.sa_handler = hang_childs;
- act.sa_mask.sa_sigbits[0] = 0;
- act.sa_mask.sa_sigbits[1] = 0;
- act.sa_mask.sa_sigbits[2] = 0;
- act.sa_mask.sa_sigbits[3] = 0;
- act.sa_flags =0;
sigaction(SIGCHLD, &act, NULL); /* POSIX */
}
#endif
--- ceptd/modeminit.c.orig Wed May 25 19:36:12 1994
+++ ceptd/modeminit.c Sun Sep 1 15:35:42 1996
@@ -82,6 +82,7 @@
extern int errno;
extern int connectstatus, isdnflag;
+extern int inetd;
#ifdef USE_LOCK
#include <string.h>
@@ -134,7 +135,8 @@
*/
modemclose()
{
- (void) setsid (); /* give up controling terminal modem */
+ if (!inetd)
+ (void) setsid (); /* give up controling terminal modem */
if(modem != -1){
sendmodem(hangupstring);
termflush(modem); /* get rid of garbage */
@@ -163,7 +165,7 @@
#endif
int s;
- if(-1 == setsid())
+ if(!inetd && -1 == setsid())
log(LOG_ERR,"Can't setsid : %m");
#ifdef USE_LOCK
device = strrchr(devname, '/');