diff options
author | rillig <rillig> | 2006-03-14 13:53:57 +0000 |
---|---|---|
committer | rillig <rillig> | 2006-03-14 13:53:57 +0000 |
commit | c3be6d00f408f91b3b68507213eb24ae6725af7a (patch) | |
tree | f328c4f493541e59e5065b3a26fb7eab8ad64d36 /net | |
parent | 3dd8e238dc35c2f40c943a7a964f3ef311e917b4 (diff) | |
download | pkgsrc-c3be6d00f408f91b3b68507213eb24ae6725af7a.tar.gz |
Updated pptp to 1.7.0.
Release 1.7.0: (27th July 2005)
- silently discard packets not for the call [Cameron/Jenkins]
- adopt sigpipe for use with SIGALRM on control connection [Wolter/Cameron]
- fixes known valgrind heap violations in 1.6.0 [Cameron/Thorne]
- properly report control connection echo reply loss [Wolter]
Release 1.6.0: (18th February 2005)
- fix double-free on stop control connection reply [Kivity]
- add --idle-wait option [Cameron]
- fix segfault on fatal connection error [Kivity]
- prevent a possible signal race [Kivity]
- prevent kill of init [Shurdeek]
- portability fix for non-Linux systems [Quinot]
- rename package from pptp-linux to pptp [Cameron]
Release 1.5.0: (22nd June 2004)
- fix statistics when buffering disabled [Wilson]
- do not inherit the GRE socket [Cameron]
- fix a case of non-shutdown of call manager [Klazes]
- add --nobuffer option to eliminate all buffering of packets [Wilson]
- fix corruption of command line as shown by ps [Howarth]
- fix CPU loop after pppd killed [Cameron]
- fix compile for ARM architecture [Hopf]
- add documentation for command-line options [Wilson]
- do not hang when a connection is refused [McCurdy]
- better describe a cause of EMSGSIZE [Cameron]
Release 1.4.0: (2nd January 2004)
- support options before hostname [Wilson]
- defer OCRQ until after SCCRP [Cameron]
- include uninstall target [Pieter]
- only issue a warning if sync mode is different to pppd [Klazes]
- reformat and tidy code [Klazes]
- reduce transmitted ack-only packets from 40% to 0.8% [Klazes]
Release 1.3.1: (11th June 2003)
- fixed bug introduced since 1.2.0 that prevented simultaneous tunnels.
Release 1.3.0: (10th June 2003)
- rewrite command usage text.
- increase call disconnect notification log message verbosity.
- inherit more make command line options.
- remove execute permissions on man page.
- fixed inefficient acknowledgement immediately followed by data packet.
- added statistics for link quality monitoring.
- remove include of callmgr, do separate compile.
- remove duplicate messages caused by code in header file.
- compilation fixes for Apple MacOS X.
- support multiple clients on alias IP addresses.
Release 1.2.0: (14th February 2003)
- subsecond packet timeout to improve performance on fast links.
- rewrite INSTALL.
- add man page to install target.
- fix response to dropped packets.
- fix man page, address must be before options.
- adopt man page contributed by Thomas Quinot.
- close stderr to prevent holding open ssh sessions.
- minor hint added in case of EIO on read() of pty.
- support synchronous HDLC ppp encoding. Synchronous mode results in an
important improvement of the CPU efficiency.
- handle out-of-order packets arriving on the GRE socket by buffering.
- bind GRE socket early to prevent ICMP Unreachable response by client.
Release 1.1.0: (20th March 2002)
- New release engineer.
- allow activation as a psuedo-tty child process from pppd.
This allows on demand pptp links or automatically reconnect.
- ADSL modem quirks handler by mulix@actcom.co.il.
Workarounds for Orckit ADSL modem.
- workaround for Cisco PIX connection drop after 60 seconds.
- enhance bad FCS error message.
- ported to FreeBSD and NetBSD.
- integrated call manager into pptp binary.
- many bugfixes improving stability.
Release 1.0.3: (7th May 2001)
- New maintaining team.
- Various bug fixes from the Debian package and FreeBSD port.
- Incorporate patch to support erroneous return code with
Alcatel ADSL 1000 modems.
- Fix incorrect call id error.
- New command line option: --phone (specify phone number).
(Needed by the Dutch Mxstream ADSL service.)
Contributed by Rein Klazes <rklazes@xs4all.nl>
Diffstat (limited to 'net')
-rw-r--r-- | net/pptp/DESCR | 22 | ||||
-rw-r--r-- | net/pptp/Makefile | 24 | ||||
-rw-r--r-- | net/pptp/PLIST | 18 | ||||
-rw-r--r-- | net/pptp/distinfo | 19 | ||||
-rw-r--r-- | net/pptp/patches/patch-aa | 51 | ||||
-rw-r--r-- | net/pptp/patches/patch-ab | 81 | ||||
-rw-r--r-- | net/pptp/patches/patch-ac | 464 | ||||
-rw-r--r-- | net/pptp/patches/patch-ad | 100 | ||||
-rw-r--r-- | net/pptp/patches/patch-ae | 28 | ||||
-rw-r--r-- | net/pptp/patches/patch-af | 14 | ||||
-rw-r--r-- | net/pptp/patches/patch-ag | 65 |
11 files changed, 343 insertions, 543 deletions
diff --git a/net/pptp/DESCR b/net/pptp/DESCR index ea2de7250ee..38793926b46 100644 --- a/net/pptp/DESCR +++ b/net/pptp/DESCR @@ -1,21 +1,13 @@ -pptp-linux - -pptp-linux is an implementation of the PPTP protocol for Linux and -other Unix systems. +pptp is an implementation of the PPTP protocol for Linux and other Unix +systems. The code is released under the terms of the GPL; see the file COPYING for details. -You can find notes on installing and using this package in the file -USING; design notes are in the Documentation directory; and the -standards documents used to implement pptp-linux can be found in the +You can find notes on installing in the file INSTALL, usage notes in +the file USING, design notes in the Documentation directory, and the +standards documents used to implement pptp can be found in the Reference directory. -Discussion of this code is ongoing on the mailing list pptp@debs.fuller.edu, -subscribe by sending "subscribe" in the body on an email to -pptp-request@debs.fuller.edu, or look at http://debs.fuller.edu. -Christoph Lameter is the list organizer. - -Re-organization and patches are of course greatly welcomed. - -C. Scott Ananian <cananian@alumni.princeton.edu> +New versions and additional documentation can be found on the PPTP +Client project page, at http://pptpclient.sourceforge.net/ diff --git a/net/pptp/Makefile b/net/pptp/Makefile index 0e3f920de53..7bbf63dc6d0 100644 --- a/net/pptp/Makefile +++ b/net/pptp/Makefile @@ -1,18 +1,28 @@ -# $NetBSD: Makefile,v 1.8 2006/03/04 21:30:23 jlam Exp $ +# $NetBSD: Makefile,v 1.9 2006/03/14 13:53:57 rillig Exp $ -DISTNAME= pptp-linux-1.0.2 -PKGNAME= pptp-1.0.2 +DISTNAME= pptp-1.7.0 CATEGORIES= net -MASTER_SITES= http://www.pdos.lcs.mit.edu/~cananian/Synaptics/release/ +MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=pptpclient/} MAINTAINER= pkgsrc-users@NetBSD.org -HOMEPAGE= http://www.pdos.lcs.mit.edu/~cananian/Projects/PPTP/ +HOMEPAGE= http://pptpclient.sourceforge.net/ COMMENT= PPTP client package for Microsoft VPN servers (no encryption yet) -#LICENSE= GPL - NOT_FOR_PLATFORM= Interix-*-* +MAKE_FLAGS+= BINDIR=${PREFIX:Q}/sbin +MAKE_FLAGS+= MANDIR=${PREFIX:Q}/${PKGMANDIR:Q}/man8 +MAKE_FLAGS+= PPPDIR=${PREFIX:Q}/share/examples/pptp + +INSTALLATION_DIRS= bin ${PKGMANDIR:Q}/man8 share/examples/pptp +INSTALLATION_DIRS+= share/doc/pptp/Documentation share/doc/pptp/Reference +DOCDIR= ${PREFIX}/share/doc/pptp + +post-install: + cd ${WRKSRC:Q}/Documentation && ${INSTALL_DATA} * ${DOCDIR:Q}/Documentation + cd ${WRKSRC:Q}/Reference && ${INSTALL_DATA} * ${DOCDIR:Q}/Reference + cd ${WRKSRC:Q} && ${INSTALL_DATA} INSTALL NEWS README USING ${DOCDIR:Q} + .include "../../mk/bsd.prefs.mk" # Not quite yet---special config for MPPE in pppd. diff --git a/net/pptp/PLIST b/net/pptp/PLIST index be162cfb799..d0b239651bd 100644 --- a/net/pptp/PLIST +++ b/net/pptp/PLIST @@ -1,10 +1,13 @@ -@comment $NetBSD: PLIST,v 1.1 2001/10/31 22:58:03 zuntum Exp $ +@comment $NetBSD: PLIST,v 1.2 2006/03/14 13:53:57 rillig Exp $ sbin/pptp -share/doc/pptp/USING +share/doc/pptp/Documentation/DESIGN.CALLMGR +share/doc/pptp/Documentation/DESIGN.PPTP +share/doc/pptp/Documentation/PORTING share/doc/pptp/INSTALL -share/doc/pptp/README share/doc/pptp/NEWS +share/doc/pptp/README share/doc/pptp/Reference/README +share/doc/pptp/Reference/README.Reference share/doc/pptp/Reference/ms-chap.txt share/doc/pptp/Reference/pptp-draft.txt share/doc/pptp/Reference/rfc1661.txt @@ -14,10 +17,9 @@ share/doc/pptp/Reference/rfc1702.txt share/doc/pptp/Reference/rfc1990.txt share/doc/pptp/Reference/rfc791.txt share/doc/pptp/Reference/rfc793.txt -share/doc/pptp/Documentation/DESIGN.CALLMGR -share/doc/pptp/Documentation/DESIGN.PPTP -share/doc/pptp/Documentation/PORTING -man/man8/pptp.8 -@dirrm share/doc/pptp/Documentation +share/doc/pptp/USING +share/examples/pptp/options.pptp +@dirrm share/examples/pptp @dirrm share/doc/pptp/Reference +@dirrm share/doc/pptp/Documentation @dirrm share/doc/pptp diff --git a/net/pptp/distinfo b/net/pptp/distinfo index d1b86cef4b4..272985040ae 100644 --- a/net/pptp/distinfo +++ b/net/pptp/distinfo @@ -1,12 +1,9 @@ -$NetBSD: distinfo,v 1.3 2005/02/24 12:14:01 agc Exp $ +$NetBSD: distinfo,v 1.4 2006/03/14 13:53:57 rillig Exp $ -SHA1 (pptp-linux-1.0.2.tar.gz) = fe7c7ea298483de37052d57f2641977753817fcf -RMD160 (pptp-linux-1.0.2.tar.gz) = d82bb10a9ca78848bd9c44cad451aead31ee11b5 -Size (pptp-linux-1.0.2.tar.gz) = 193299 bytes -SHA1 (patch-aa) = 66724c2083970fdcced1cf81bbb9e3a70daf8b5d -SHA1 (patch-ab) = b6fa33037515042f13057f2593e3a073f694f932 -SHA1 (patch-ac) = 71685d2992349a2b6796fc08fd598b8bf5b60226 -SHA1 (patch-ad) = 22da1feec4d0d80e760839e15d97e89bfee6216f -SHA1 (patch-ae) = 82b15dce081e938351876e86866eea308829c7d0 -SHA1 (patch-af) = 56b7f7eece4b9b92de6a113886ae80c27c30b5e6 -SHA1 (patch-ag) = c272983a86ba4fbaf96baed678cb10cd95c1ac0e +SHA1 (pptp-1.7.0.tar.gz) = fc96e8a765bf17eb02ce1584d8e9d024b68ab5a7 +RMD160 (pptp-1.7.0.tar.gz) = 62c947379c44102945a198ddc914d5aa634db13c +Size (pptp-1.7.0.tar.gz) = 227699 bytes +SHA1 (patch-ab) = 564949ffc4ab97af5e0845b930880cc48ee00a6b +SHA1 (patch-ac) = 8a0dd645ed0a766375a803fecda80d716c441d52 +SHA1 (patch-ad) = a037ba927c181f812ecd5c1ea2d344483d8ad4bf +SHA1 (patch-ah) = 9f1739cbb375c1c5d15c559490d2ec44abc72ce6 diff --git a/net/pptp/patches/patch-aa b/net/pptp/patches/patch-aa deleted file mode 100644 index e3ebf75a845..00000000000 --- a/net/pptp/patches/patch-aa +++ /dev/null @@ -1,51 +0,0 @@ -$NetBSD: patch-aa,v 1.1.1.1 2000/04/10 01:14:02 jtk Exp $ - -Index: Makefile ---- Makefile.orig Wed Feb 18 17:42:14 1998 -+++ Makefile Sun Apr 9 21:07:17 2000 -@@ -1,10 +1,11 @@ --VERSION = 1.0.2 --VERSION_DEFINE = '-DPPTP_LINUX_VERSION="${VERSION}"' -+VERSION = 1.0.2+NetBSD -+VERSION_DEFINE = '-DPPTP_LINUX_VERSION="${VERSION}"' -DPROGRAM_NAME='"pptp"' - - CC = gcc -Wall --DEBUG = -g -+RM = rm -+DEBUG = -g -O2 # -O9 - INCLUDE = --CFLAGS = -O9 $(VERSION_DEFINE) $(DEBUG) $(INCLUDE) -+CFLAGS = $(VERSION_DEFINE) $(DEBUG) $(INCLUDE) - LIBS = - LDFLAGS = - -@@ -24,7 +25,19 @@ - CALLMGR_OBJS = pptp_callmgr.o pptp_ctrl.o dirutil.o util.o vector.o version.o - CALLMGR_DEPS = pptp_callmgr.h pptp_ctrl.h dirutil.h pptp_msg.h vector.h - --all: $(PPTP_BIN) $(CALLMGR_BIN) -+MANPAGE=pptp.8 -+ -+all: $(PPTP_BIN) $(MANPAGE) -+ -+install: -+ $(INSTALL) -c $(PPTP_BIN) ${PREFIX}/sbin/${PPTP_BIN} -+ $(INSTALL) -c -m 444 $(MANPAGE) ${PREFIX}/man/man8/$(MANPAGE) -+ mkdir -p ${PREFIX}/share/doc/pptp -+ $(INSTALL) -c -m 444 USING ${PREFIX}/share/doc/pptp/USING -+ $(INSTALL) -c -m 444 README ${PREFIX}/share/doc/pptp/README -+ $(INSTALL) -c -m 444 INSTALL ${PREFIX}/share/doc/pptp/INSTALL -+ $(INSTALL) -c -m 444 NEWS ${PREFIX}/share/doc/pptp/NEWS -+ tar cf - Reference Documentation |(cd ${PREFIX}/share/doc/pptp && tar xpBf -) - - $(PPTP_BIN): $(PPTP_OBJS) $(PPTP_DEPS) - $(CC) -o $(PPTP_BIN) $(PPTP_OBJS) $(LDFLAGS) $(LIBS) -@@ -36,7 +49,7 @@ - $(CC) -o vector_test vector_test.o vector.o - - clean: -- $(RM) *.o *~ -+ $(RM) -f *.o *~ - - clobber: clean - $(RM) $(PPTP_BIN) $(CALLMGR_BIN) vector_test diff --git a/net/pptp/patches/patch-ab b/net/pptp/patches/patch-ab index b62bef5f4d1..c192dbf7644 100644 --- a/net/pptp/patches/patch-ab +++ b/net/pptp/patches/patch-ab @@ -1,58 +1,37 @@ -$NetBSD: patch-ab,v 1.1.1.1 2000/04/10 01:14:02 jtk Exp $ +$NetBSD: patch-ab,v 1.2 2006/03/14 13:53:57 rillig Exp $ -Index: pptp.c ---- pptp.c.orig 1998/09/02 14:40:54 -+++ pptp.c 1999/02/12 14:23:28 -@@ -71,6 +71,8 @@ - /* Step 1: Get IP address for the hostname in argv[1] */ - inetaddr = get_ip_address(argv[1]); +Added more logging. + +--- pptp.c.orig 2005-07-28 03:15:11.000000000 +0200 ++++ pptp.c 2006-03-14 13:51:22.000000000 +0100 +@@ -261,6 +261,8 @@ int main(int argc, char **argv, char **e + inetaddr = get_ip_address(argv[optind]); + optind++; -+ log("using remote IP address %s\n", inet_ntoa(inetaddr)); ++ log("using remote IP address %s\n", inet_ntoa(inetaddr)); + - /* Step 2: Open connection to call manager - * (Launch call manager if necessary.) - */ -@@ -127,8 +129,8 @@ - } + /* Find the ppp options, extract phone number */ + pppdargc = argc - optind; + pppdargv = argv + optind; +@@ -356,7 +358,7 @@ int main(int argc, char **argv, char **e + signal(SIGUSR1, sigstats); + + /* Do GRE copy until close. */ +- pptp_gre_copy(call_id, peer_call_id, pty_fd, gre_fd); ++ pptp_gre_copy(peer_call_id, call_id, pty_fd, gre_fd); - /* Step 6: Do GRE copy until close. */ -- pptp_gre_copy(call_id, peer_call_id, pty_fd, inetaddr); -- -+ pptp_gre_copy(peer_call_id, call_id, pty_fd, inetaddr); -+ shutdown: - /* on close, kill all. */ - kill(parent_pid, SIGTERM); -@@ -140,13 +142,14 @@ - struct in_addr get_ip_address(char *name) { - struct in_addr retval; - struct hostent *host = gethostbyname(name); -- if (host==NULL) -+ if (host==NULL) { - if (h_errno == HOST_NOT_FOUND) - fatal("gethostbyname: HOST NOT FOUND"); - else if (h_errno == NO_ADDRESS) - fatal("gethostbyname: NO IP ADDRESS"); - else - fatal("gethostbyname: name server error"); -+ } - - if (host->h_addrtype != AF_INET) - fatal("Host has non-internet address"); -@@ -239,9 +242,14 @@ - new_argv[0] = PPPD_BINARY; - new_argv[1] = ttydev; - new_argv[2] = "38400"; -- for (i=0; i<argc; i++) -- new_argv[i+3] = argv[i]; -+ fprintf(stderr, "running pppd: %s %s %s", new_argv[0], new_argv[1], new_argv[2]); -+ for (i=0; i<argc; i++) { -+ fprintf(stderr, " %s", argv[i]); -+ new_argv[i+3] = argv[i]; -+ } -+ fprintf(stderr, "\n"); - new_argv[i+3] = NULL; -+ - execvp(new_argv[0], new_argv); + /* on close, kill all. */ +@@ -504,6 +506,12 @@ void launch_pppd(char *ttydev, int argc, + for (j = 0; j < argc; j++) + new_argv[i++] = argv[j]; + new_argv[i] = NULL; ++ ++ fprintf(stderr, "running pppd:"); ++ for (i = 0; new_argv[i] != NULL; i++) ++ fprintf(stderr, " %s", new_argv[i]); ++ fprintf(stderr, "\n"); ++ + execvp(new_argv[0], new_argv); } diff --git a/net/pptp/patches/patch-ac b/net/pptp/patches/patch-ac index dc32242e879..f9e21a95398 100644 --- a/net/pptp/patches/patch-ac +++ b/net/pptp/patches/patch-ac @@ -1,241 +1,233 @@ -$NetBSD: patch-ac,v 1.1.1.1 2000/04/10 01:14:02 jtk Exp $ +$NetBSD: patch-ac,v 1.2 2006/03/14 13:53:57 rillig Exp $ -Index: pptp_ctrl.c ---- pptp_ctrl.c.orig 1998/09/02 14:40:54 -+++ pptp_ctrl.c 1999/02/12 14:23:29 -@@ -159,6 +159,7 @@ - hton16(PPTP_MAX_CHANNELS), hton16(PPTP_FIRMWARE_VERSION), - PPTP_HOSTNAME, PPTP_VENDOR - }; -+ log("sending start ctrl conn rqst"); - if (pptp_send_ctrl_packet(conn, &packet, sizeof(packet))) - conn->conn_state = CONN_WAIT_CTL_REPLY; - else return NULL; /* could not send initial start request. */ -@@ -211,6 +212,7 @@ - hton32(PPTP_BEARER_CAP), hton32(PPTP_FRAME_CAP), - hton16(PPTP_WINDOW), 0, 0, 0, {0}, {0} - }; +Added more logging and made its appearance more consistent. + +--- pptp_ctrl.c.orig 2005-07-28 03:15:11.000000000 +0200 ++++ pptp_ctrl.c 2006-03-14 14:26:42.000000000 +0100 +@@ -291,6 +291,7 @@ PPTP_CONN * pptp_conn_open(int inet_sock + hton16(PPTP_MAX_CHANNELS), hton16(PPTP_FIRMWARE_VERSION), + PPTP_HOSTNAME, PPTP_VENDOR + }; ++ log("sending start ctrl conn rqst"); + /* fix this packet, if necessary */ + int idx, rc; + idx = get_quirk_index(); +@@ -366,6 +367,7 @@ PPTP_CALL * pptp_call_open(PPTP_CONN * c + packet.phone_len = sizeof(packet.phone_num); + packet.phone_len = hton16 (packet.phone_len); + } + log("sending out call rqst"); if (pptp_send_ctrl_packet(conn, &packet, sizeof(packet))) { - pptp_reset_timer(); - call->state.pns = PNS_WAIT_REPLY; -@@ -238,6 +240,7 @@ - * requests to be made. - */ - -+ log("sending call clear rqst"); - pptp_send_ctrl_packet(conn, &rqst, sizeof(rqst)); - pptp_reset_timer(); - call->state.pns = PNS_WAIT_DISCONNECT; -@@ -272,7 +275,7 @@ - pptp_call_close(conn, vector_get_Nth(conn->call, i)); - - /* now close connection */ -- log("Closing PPTP connection"); -+ log("Closing PPTP connection (sending stop ctrl conn rqst)"); - pptp_send_ctrl_packet(conn, &rqst, sizeof(rqst)); - pptp_reset_timer(); /* wait 60 seconds for reply */ - conn->conn_state = CONN_WAIT_STOP_REPLY; -@@ -485,14 +488,27 @@ - hton32(PPTP_FRAME_CAP), hton32(PPTP_BEARER_CAP), - hton16(PPTP_MAX_CHANNELS), hton16(PPTP_FIRMWARE_VERSION), - PPTP_HOSTNAME, PPTP_VENDOR }; -+ log("received start conn rqst: v%d rcode %d ecode %d fcap %x bcap %x chans %d fw %x host `%.64s' vendor `%.64s'", -+ ntoh16(packet->version), -+ packet->result_code, -+ packet->error_code, -+ ntoh32(packet->framing_cap), -+ ntoh32(packet->bearer_cap), -+ ntoh16(packet->max_channels), -+ ntoh16(packet->firmware_rev), -+ packet->hostname, -+ packet->vendor -+ ); - if (conn->conn_state == CONN_IDLE) { - if (ntoh16(packet->version) < PPTP_VERSION) { - /* Can't support this (earlier) PPTP_VERSION */ - reply.version = packet->version; - reply.result_code = hton8(5); /* protocol version not supported */ -+ log("sending start ctrl conn reply (NAK)"); - pptp_send_ctrl_packet(conn, &reply, sizeof(reply)); - pptp_reset_timer(); /* give sender a chance for a retry */ - } else { /* same or greater version */ -+ log("sending start ctrl conn reply (ACK)"); - if (pptp_send_ctrl_packet(conn, &reply, sizeof(reply))) { - conn->conn_state=CONN_ESTABLISHED; - log("server connection ESTABLISHED."); -@@ -506,6 +522,17 @@ - { - struct pptp_start_ctrl_conn *packet = - (struct pptp_start_ctrl_conn *) buffer; -+ log("received start conn reply: v%d rcode %d ecode %d fcap %x bcap %x chans %d fw %x host `%.64s' vendor `%.64s'", -+ ntoh16(packet->version), -+ packet->result_code, -+ packet->error_code, -+ ntoh32(packet->framing_cap), -+ ntoh32(packet->bearer_cap), -+ ntoh16(packet->max_channels), -+ ntoh16(packet->firmware_rev), -+ packet->hostname, -+ packet->vendor -+ ); - if (conn->conn_state == CONN_WAIT_CTL_REPLY) { - /* XXX handle collision XXX [see rfc] */ - if (ntoh16(packet->version) != PPTP_VERSION) { -@@ -545,7 +572,14 @@ - PPTP_HEADER_CTRL(PPTP_STOP_CTRL_CONN_RPLY), - hton8(1), hton8(PPTP_GENERAL_ERROR_NONE), 0}; - -+ log("received stop conn rqst: reason %d err %d reserved %d", -+ packet->reason_result, -+ packet->error_code, -+ ntoh16(packet->reserved1) -+ ); + pptp_reset_timer(); + call->state.pns = PNS_WAIT_REPLY; +@@ -393,6 +395,7 @@ void pptp_call_close(PPTP_CONN * conn, P + /* don't check state against WAIT_DISCONNECT... allow multiple disconnect + * requests to be made. + */ ++ log("sending call clear rqst"); + pptp_send_ctrl_packet(conn, &rqst, sizeof(rqst)); + pptp_reset_timer(); + call->state.pns = PNS_WAIT_DISCONNECT; +@@ -427,7 +430,7 @@ void pptp_conn_close(PPTP_CONN * conn, u + for (i = 0; i < vector_size(conn->call); i++) + pptp_call_close(conn, vector_get_Nth(conn->call, i)); + /* now close connection */ +- log("Closing PPTP connection"); ++ log("Closing PPTP connection (sending stop ctrl conn rqst)"); + pptp_send_ctrl_packet(conn, &rqst, sizeof(rqst)); + pptp_reset_timer(); /* wait 60 seconds for reply */ + conn->conn_state = CONN_WAIT_STOP_REPLY; +@@ -706,7 +709,17 @@ int ctrlp_disp(PPTP_CONN * conn, void * + hton16(PPTP_MAX_CHANNELS), hton16(PPTP_FIRMWARE_VERSION), + PPTP_HOSTNAME, PPTP_VENDOR }; + int idx, rc; +- log("Received Start Control Connection Request"); ++ log("Received Start Control Connection Request: v%d rcode %d ecode %d fcap %x bcap %x chans %d fw %x host `%.64s' vendor `%.64s'", ++ ntoh16(packet->version), ++ packet->result_code, ++ packet->error_code, ++ ntoh32(packet->framing_cap), ++ ntoh32(packet->bearer_cap), ++ ntoh16(packet->max_channels), ++ ntoh16(packet->firmware_rev), ++ packet->hostname, ++ packet->vendor ++ ); + /* fix this packet, if necessary */ + idx = get_quirk_index(); + if (idx != -1 && pptp_fixups[idx].start_ctrl_conn) { +@@ -719,9 +732,11 @@ int ctrlp_disp(PPTP_CONN * conn, void * + reply.version = packet->version; + /* protocol version not supported */ + reply.result_code = hton8(5); ++ log("sending start ctrl conn reply (NAK)"); + pptp_send_ctrl_packet(conn, &reply, sizeof(reply)); + pptp_reset_timer(); /* give sender a chance for a retry */ + } else { /* same or greater version */ ++ log("sending start ctrl conn reply (ACK)"); + if (pptp_send_ctrl_packet(conn, &reply, sizeof(reply))) { + conn->conn_state = CONN_ESTABLISHED; + log("server connection ESTABLISHED."); +@@ -735,7 +750,18 @@ int ctrlp_disp(PPTP_CONN * conn, void * + { + struct pptp_start_ctrl_conn *packet = + (struct pptp_start_ctrl_conn *) buffer; +- log("Received Start Control Connection Reply"); ++ log("Received Start Control Connection Reply: v%d rcode %d ecode %d fcap %x bcap %x chans %d fw %x host `%.64s' vendor `%.64s'", ++ ntoh16(packet->version), ++ packet->result_code, ++ packet->error_code, ++ ntoh32(packet->framing_cap), ++ ntoh32(packet->bearer_cap), ++ ntoh16(packet->max_channels), ++ ntoh16(packet->firmware_rev), ++ packet->hostname, ++ packet->vendor ++ ); + - if (conn->conn_state==CONN_IDLE) break; -+ log("sending stop ctrl conn reply"); - if (pptp_send_ctrl_packet(conn, &reply, sizeof(reply))) { - if (conn->callback!=NULL) conn->callback(conn, CONN_CLOSE_RQST); - conn->conn_state=CONN_IDLE; -@@ -560,6 +594,11 @@ - /* conn_state should be CONN_WAIT_STOP_REPLY, but it - * could be something else */ - -+ log("received stop conn reply: reason %d err %d reserved %d", -+ packet->reason_result, -+ packet->error_code, -+ ntoh16(packet->reserved1) -+ ); - if (conn->conn_state == CONN_IDLE) break; - conn->conn_state=CONN_IDLE; - pptp_conn_destroy(conn); -@@ -570,6 +609,12 @@ - { - struct pptp_echo_rply *packet = - (struct pptp_echo_rply *) buffer; -+ log("received echo rply: id %x result %d err %d reserved %d", -+ ntoh32(packet->identifier), -+ packet->result_code, -+ packet->error_code, -+ ntoh16(packet->reserved1) -+ ); - if ((conn->ka_state == KA_OUTSTANDING) && - (ntoh32(packet->identifier)==conn->ka_id)) { - conn->ka_id++; -@@ -586,6 +631,10 @@ - PPTP_HEADER_CTRL(PPTP_ECHO_RPLY), - packet->identifier, /* skip hton32(ntoh32(id)) */ - hton8(1), hton8(PPTP_GENERAL_ERROR_NONE), 0}; -+ log("received echo rqst: id %x", -+ ntoh32(packet->identifier) -+ ); -+ log("sending echo reply"); - pptp_send_ctrl_packet(conn, &reply, sizeof(reply)); - pptp_reset_timer(); - break; -@@ -600,8 +649,23 @@ - 0 /* callid */, packet->call_id, 1, PPTP_GENERAL_ERROR_NONE, 0, - hton32(PPTP_CONNECT_SPEED), - hton16(PPTP_WINDOW), hton16(PPTP_DELAY), 0 }; -+ log("received out call rqst: id %x csn %d minbps %d max %d bearer %x framing %x rsize %d delay %d plen %d rsv1 %d phone `%.64s' sub `%.64s'", -+ ntoh16(packet->call_id), -+ ntoh16(packet->call_sernum), -+ ntoh32(packet->bps_min), -+ ntoh32(packet->bps_max), -+ ntoh32(packet->bearer), -+ ntoh32(packet->framing), -+ ntoh16(packet->recv_size), -+ ntoh16(packet->delay), -+ ntoh16(packet->phone_len), -+ ntoh16(packet->reserved1), -+ packet->phone_num, -+ packet->subaddress -+ ); - /* XXX PAC: eventually this should make an outgoing call. XXX */ - reply.result_code = hton8(7); /* outgoing calls verboten */ -+ log("sending out call reply (NAK)"); - pptp_send_ctrl_packet(conn, &reply, sizeof(reply)); - break; + if (conn->conn_state == CONN_WAIT_CTL_REPLY) { + /* XXX handle collision XXX [see rfc] */ + if (ntoh16(packet->version) != PPTP_VERSION) { +@@ -778,14 +804,21 @@ int ctrlp_disp(PPTP_CONN * conn, void * + /* ----------- STANDARD Stop-Session MESSAGES ------------ */ + case PPTP_STOP_CTRL_CONN_RQST: + { ++ struct pptp_stop_ctrl_conn *packet = ++ (struct pptp_stop_ctrl_conn *) buffer; + /* conn_state should be CONN_ESTABLISHED, but it could be + * something else */ + struct pptp_stop_ctrl_conn reply = { + PPTP_HEADER_CTRL(PPTP_STOP_CTRL_CONN_RPLY), + hton8(1), hton8(PPTP_GENERAL_ERROR_NONE), 0 + }; +- log("Received Stop Control Connection Request."); ++ log("Received Stop Control Connection Request: reason %d err %d reserved %d", ++ packet->reason_result, ++ packet->error_code, ++ ntoh16(packet->reserved1) ++ ); + if (conn->conn_state == CONN_IDLE) break; ++ log("sending stop ctrl conn reply"); + if (pptp_send_ctrl_packet(conn, &reply, sizeof(reply))) { + if (conn->callback != NULL) + conn->callback(conn, CONN_CLOSE_RQST); +@@ -796,7 +829,13 @@ int ctrlp_disp(PPTP_CONN * conn, void * + } + case PPTP_STOP_CTRL_CONN_RPLY: + { +- log("Received Stop Control Connection Reply."); ++ struct pptp_stop_ctrl_conn *packet = ++ (struct pptp_stop_ctrl_conn *) buffer; ++ log("Received Stop Control Connection Reply: reason %d err %d reserved %d", ++ packet->reason_result, ++ packet->error_code, ++ ntoh16(packet->reserved1) ++ ); + /* conn_state should be CONN_WAIT_STOP_REPLY, but it + * could be something else */ + if (conn->conn_state == CONN_IDLE) break; +@@ -842,9 +881,23 @@ int ctrlp_disp(PPTP_CONN * conn, void * + hton32(PPTP_CONNECT_SPEED), + hton16(PPTP_WINDOW), hton16(PPTP_DELAY), 0 + }; +- log("Received Outgoing Call Request."); ++ log("Received Outgoing Call Request: id %x csn %d minbps %d max %d bearer %x framing %x rsize %d delay %d plen %d rsv1 %d phone `%.64s' sub `%.64s'", ++ ntoh16(packet->call_id), ++ ntoh16(packet->call_sernum), ++ ntoh32(packet->bps_min), ++ ntoh32(packet->bps_max), ++ ntoh32(packet->bearer), ++ ntoh32(packet->framing), ++ ntoh16(packet->recv_size), ++ ntoh16(packet->delay), ++ ntoh16(packet->phone_len), ++ ntoh16(packet->reserved1), ++ packet->phone_num, ++ packet->subaddress ++ ); + /* XXX PAC: eventually this should make an outgoing call. XXX */ + reply.result_code = hton8(7); /* outgoing calls verboten */ ++ log("sending out call reply (NAK)"); + pptp_send_ctrl_packet(conn, &reply, sizeof(reply)); + break; + } +@@ -854,7 +907,17 @@ int ctrlp_disp(PPTP_CONN * conn, void * + (struct pptp_out_call_rply *)buffer; + PPTP_CALL * call; + u_int16_t callid = ntoh16(packet->call_id_peer); +- log("Received Outgoing Call Reply."); ++ log("Received Outgoing Call Reply: id %x peer %d result %d err %d cause %x speed %d rsize %d delay %d channel %x", ++ ntoh16(packet->call_id), ++ ntoh16(packet->call_id_peer), ++ packet->result_code, ++ packet->error_code, ++ ntoh16(packet->cause_code), ++ ntoh32(packet->speed), ++ ntoh16(packet->recv_size), ++ ntoh16(packet->delay), ++ ntoh32(packet->channel) ++ ); + if (!vector_search(conn->call, (int) callid, &call)) { + log("PPTP_OUT_CALL_RPLY received for non-existant call: " + "peer call ID (us) %d call ID (them) %d.", +@@ -908,12 +971,16 @@ int ctrlp_disp(PPTP_CONN * conn, void * + PPTP_HEADER_CTRL(PPTP_CALL_CLEAR_NTFY), packet->call_id, + 1, PPTP_GENERAL_ERROR_NONE, 0, 0, {0} + }; +- log("Received Call Clear Request."); ++ log("Received Call Clear Request: cid %d reserved %d", ++ ntoh16(packet->call_id), ++ ntoh16(packet->reserved1) ++ ); + if (vector_contains(conn->call, ntoh16(packet->call_id))) { + PPTP_CALL * call; + vector_search(conn->call, ntoh16(packet->call_id), &call); + if (call->callback != NULL) + call->callback(conn, call, CALL_CLOSE_RQST); ++ log("sending call clear ntfy"); + pptp_send_ctrl_packet(conn, &reply, sizeof(reply)); + pptp_call_destroy(conn, call); + log("Call closed (RQST) (call id %d)", (int) call->call_id); +@@ -924,8 +991,13 @@ int ctrlp_disp(PPTP_CONN * conn, void * + { + struct pptp_call_clear_ntfy *packet = + (struct pptp_call_clear_ntfy *)buffer; +- log("Call disconnect notification received (call id %d)", +- ntoh16(packet->call_id)); ++ log("received call clear ntfy: cid %d result %d err %d cause %x reserved %d", ++ ntoh16(packet->call_id), ++ packet->result_code, ++ packet->error_code, ++ ntoh16(packet->cause_code), ++ ntoh16(packet->reserved1) ++ ); + if (vector_contains(conn->call, ntoh16(packet->call_id))) { + PPTP_CALL * call; + ctrlp_error(packet->result_code, packet->error_code, +@@ -944,12 +1016,12 @@ int ctrlp_disp(PPTP_CONN * conn, void * + /* this is really dealt with in the HDLC deencapsulation, anyway. */ + struct pptp_set_link_info *packet = + (struct pptp_set_link_info *)buffer; +- /* log it. */ +- log("PPTP_SET_LINK_INFO received from peer_callid %u", +- (unsigned int) ntoh16(packet->call_id_peer)); +- log(" send_accm is %08lX, recv_accm is %08lX", +- (unsigned long) ntoh32(packet->send_accm), +- (unsigned long) ntoh32(packet->recv_accm)); ++ log("received set link info: peer %x res %d send %x recv %x\n", ++ ntoh16(packet->call_id_peer), ++ ntoh16(packet->reserved1), ++ ntoh32(packet->send_accm), ++ ntoh32(packet->recv_accm) ++ ); + if (!(ntoh32(packet->send_accm) == 0 && + ntoh32(packet->recv_accm) == 0)) + warn("Non-zero Async Control Character Maps are not supported!"); +@@ -1051,6 +1123,7 @@ static void pptp_handle_timer() + } else { /* ka_state == NONE */ /* send keep-alive */ + struct pptp_echo_rqst rqst = { + PPTP_HEADER_CTRL(PPTP_ECHO_RQST), hton32(global.conn->ka_id) }; ++ log("sending echo request: %d", global.conn->ka_id); + pptp_send_ctrl_packet(global.conn, &rqst, sizeof(rqst)); + global.conn->ka_state = KA_OUTSTANDING; } -@@ -611,6 +675,18 @@ - (struct pptp_out_call_rply *)buffer; - PPTP_CALL * call; - u_int16_t callid = ntoh16(packet->call_id_peer); -+ -+ log("received out call reply: id %x peer %d result %d err %d cause %x speed %d rsize %d delay %d channel %x", -+ ntoh16(packet->call_id), -+ ntoh16(packet->call_id_peer), -+ packet->result_code, -+ packet->error_code, -+ ntoh16(packet->cause_code), -+ ntoh32(packet->speed), -+ ntoh16(packet->recv_size), -+ ntoh16(packet->delay), -+ ntoh32(packet->channel) -+ ); - if (!vector_search(conn->call, (int) callid, &call)) { - log("PPTP_OUT_CALL_RPLY received for non-existant call."); - break; -@@ -634,7 +710,9 @@ - call->speed = ntoh32(packet->speed); - pptp_reset_timer(); - if (call->callback!=NULL) call->callback(conn, call, CALL_OPEN_DONE); -- log("Outgoing call established.\n"); -+ log("Outgoing call established: cid %d @ %d bps.\n", -+ call->peer_call_id, -+ call->speed); - } - } - break; -@@ -650,10 +728,15 @@ - PPTP_HEADER_CTRL(PPTP_CALL_CLEAR_NTFY), packet->call_id, - 1, PPTP_GENERAL_ERROR_NONE, 0, 0, {0} - }; -+ log("received call clear rqst: cid %d reserved %d", -+ ntoh16(packet->call_id), -+ ntoh16(packet->reserved1) -+ ); - if (vector_contains(conn->call, ntoh16(packet->call_id))) { - PPTP_CALL * call; - vector_search(conn->call, ntoh16(packet->call_id), &call); - if (call->callback!=NULL) call->callback(conn, call, CALL_CLOSE_RQST); -+ log("sending call clear ntfy"); - pptp_send_ctrl_packet(conn, &reply, sizeof(reply)); - pptp_call_destroy(conn, call); - log("Call closed (RQST) (call id %d)", (int) call->call_id); -@@ -664,6 +747,14 @@ - { - struct pptp_call_clear_ntfy *packet = - (struct pptp_call_clear_ntfy *)buffer; -+ log("received call clear ntfy: cid %d result %d err %d cause %x reserved %d", -+ ntoh16(packet->call_id), -+ packet->result_code, -+ packet->error_code, -+ ntoh16(packet->cause_code), -+ ntoh16(packet->reserved1) -+ ); -+ - if (vector_contains(conn->call, ntoh16(packet->call_id))) { - PPTP_CALL * call; - vector_search(conn->call, ntoh16(packet->call_id), &call); -@@ -679,6 +770,12 @@ - /* this is really dealt with in the HDLC deencapsulation, anyway. */ - struct pptp_set_link_info *packet = - (struct pptp_set_link_info *)buffer; -+ log("received set link info: peer %x res %d send %x recv %x\n", -+ ntoh16(packet->call_id_peer), -+ ntoh16(packet->reserved1), -+ ntoh32(packet->send_accm), -+ ntoh32(packet->recv_accm) -+ ); - if (ntoh32(packet->send_accm)==0 && ntoh32(packet->recv_accm)==0) - break; /* this is what we expect. */ - /* log it, otherwise. */ -@@ -752,6 +849,7 @@ - else { /* ka_state == NONE */ /* send keep-alive */ - struct pptp_echo_rqst rqst = { - PPTP_HEADER_CTRL(PPTP_ECHO_RQST), hton32(global.conn->ka_id) }; -+ log("sending echo request: %d", global.conn->ka_id); - pptp_send_ctrl_packet(global.conn, &rqst, sizeof(rqst)); - global.conn->ka_state = KA_OUTSTANDING; - /* XXX FIXME: wake up ctrl thread -- or will the SIGALRM do that diff --git a/net/pptp/patches/patch-ad b/net/pptp/patches/patch-ad index 8ff10d9cc43..79f11838aa0 100644 --- a/net/pptp/patches/patch-ad +++ b/net/pptp/patches/patch-ad @@ -1,61 +1,47 @@ -$NetBSD: patch-ad,v 1.2 2000/04/10 01:24:39 jtk Exp $ +$NetBSD: patch-ad,v 1.3 2006/03/14 13:53:57 rillig Exp $ -Index: pptp_gre.c ---- pptp_gre.c.orig Wed Feb 18 17:42:14 1998 -+++ pptp_gre.c Sun Apr 9 21:21:00 2000 -@@ -6,8 +6,8 @@ - */ +Added more logging. + +--- pptp_gre.c.orig 2005-07-28 03:15:11.000000000 +0200 ++++ pptp_gre.c 2006-03-14 14:15:51.000000000 +0100 +@@ -44,12 +44,12 @@ int dequeue_gre(callback_t callback, int -+#include <sys/types.h> - #include <netinet/in.h> - #include <arpa/inet.h> - #include <sys/socket.h> --#include <sys/types.h> - #include <sys/stat.h> - #include <sys/time.h> -@@ -35,10 +35,10 @@ #if 1 #include <stdio.h> --void print_packet(int fd, void *pack, unsigned len) { -+void print_packet(int fd, void *pack, unsigned len, const char *msg) { - unsigned char *b = (unsigned char *)pack; - unsigned i,j; - FILE *out = fdopen(fd, "w"); - -- fprintf(out,"-- begin packet (%u) --\n", len); -+ fprintf(out,"-- begin %s packet (%u) --\n", msg, len); - for (i=0; i<len; i+=16) { - for (j=0; j<8; j++) -@@ -120,4 +120,6 @@ - if (start>=end) { - if ((status=read(fd,buffer,sizeof(buffer)))<0) return status; -+ if (status == 0) -+ return -1; /* FD is closed */ - end = status; start = 0; - } -@@ -199,4 +201,5 @@ - header = (struct pptp_gre_header *)(buffer+ip_len); - -+/* print_packet(2, buffer, status, "in");*/ - /* verify packet (else discard) */ - if (((ntoh8(header->ver)&0x7F)!=PPTP_GRE_VER) || /* version should be 1 */ -@@ -259,5 +262,5 @@ - - /* special case ACK with no payload */ -- if (pack==NULL) -+ if (pack==NULL) { - if (ack_sent != seq_recv) { - u.header.ver |= hton8(PPTP_GRE_FLAG_A); -@@ -267,4 +270,5 @@ - return write(fd, &u.header, sizeof(u.header)-sizeof(u.header.seq)); - } else return 0; /* we don't need to send ACK */ -+ } - /* send packet with payload */ - u.header.flags |= hton8(PPTP_GRE_FLAG_S); -@@ -284,5 +288,5 @@ - seq_sent = seq; seq++; - /* write this baby out to the net */ -- /* print_packet(2, u.buffer, header_len+len); */ -+/* print_packet(2, u.buffer, header_len+len, "out");*/ - return write(fd, u.buffer, header_len+len); - } +-void print_packet(int fd, void *pack, unsigned int len) ++void print_packet(int fd, void *pack, unsigned int len, const char *msg) + { + unsigned char *b = (unsigned char *)pack; + unsigned int i,j; + FILE *out = fdopen(fd, "w"); +- fprintf(out,"-- begin packet (%u) --\n", len); ++ fprintf(out,"-- begin %s packet (%u) --\n", msg, len); + for (i = 0; i < len; i += 16) { + for (j = 0; j < 8; j++) + if (i + 2 * j + 1 < len) +@@ -234,6 +234,8 @@ int decaps_hdlc(int fd, int (*cb)(int cl + if ( start + len <= end) + if ((status = cb (cl, buffer + start, len)) < 0) + return status; /* error-check */ ++ if (status == 0) ++ return -1; /* avoid an endless loop */ + start += len; + } + return 0; +@@ -329,6 +331,7 @@ int decaps_gre (int fd, callback_t callb + if ((buffer[0] & 0xF0) == 0x40) + ip_len = (buffer[0] & 0xF) * 4; + header = (struct pptp_gre_header *)(buffer + ip_len); ++ /* print_packet(2, buffer, status, "in"); */ + /* verify packet (else discard) */ + if ( /* version should be 1 */ + ((ntoh8(header->ver) & 0x7F) != PPTP_GRE_VER) || +@@ -508,7 +511,7 @@ int encaps_gre (int fd, void *pack, unsi + /* record and increment sequence numbers */ + seq_sent = seq; seq++; + /* write this baby out to the net */ +- /* print_packet(2, u.buffer, header_len + len); */ ++ /* print_packet(2, u.buffer, header_len + len, "out"); */ + rc = write(fd, u.buffer, header_len + len); + if (rc < 0) { + stats.tx_failed++; diff --git a/net/pptp/patches/patch-ae b/net/pptp/patches/patch-ae deleted file mode 100644 index 379bec11f59..00000000000 --- a/net/pptp/patches/patch-ae +++ /dev/null @@ -1,28 +0,0 @@ -$NetBSD: patch-ae,v 1.1.1.1 2000/04/10 01:14:02 jtk Exp $ - -Index: pty.h ---- pty.h.orig 1998/09/02 14:40:55 -+++ pty.h 1998/09/03 13:33:54 -@@ -19,6 +19,22 @@ - #define PTYCHAR2 "0123456789abcdef" - #endif - -+#ifdef __NetBSD__ -+#define PTYDEV "/dev/ptyxx" -+#define TTYDEV "/dev/ttyxx" -+ -+#define PTYMAX (strlen(PTYDEV)+1) -+#define TTYMAX (strlen(TTYDEV)+1) -+ -+#ifdef __i386__ -+/* PCVT conflicts with ttyv*. */ -+#define PTYCHAR1 "pqrstuwxyzPQRST" -+#else -+#define PTYCHAR1 "pqrstuvwxyzPQRST" -+#endif -+#define PTYCHAR2 "0123456789abcdef" -+#endif -+ - /* Get pty/tty pair, put filename in ttydev, ptydev (which must be - * at least PTYMAX characters long), and return file descriptor of - * open pty. diff --git a/net/pptp/patches/patch-af b/net/pptp/patches/patch-af deleted file mode 100644 index e0f0e06b0cd..00000000000 --- a/net/pptp/patches/patch-af +++ /dev/null @@ -1,14 +0,0 @@ -$NetBSD: patch-af,v 1.1.1.1 2000/04/10 01:14:02 jtk Exp $ - -Index: util.c ---- util.c.orig 1998/09/02 14:40:55 -+++ util.c 2000/04/09 23:24:53 -@@ -18,7 +18,7 @@ - static void close_log(void) __attribute__ ((destructor)); - - static void open_log(void) { -- openlog(PROGRAM_NAME, LOG_PERROR | LOG_PID, LOG_DAEMON); -+ openlog(PROGRAM_NAME, /* LOG_PERROR | (too noisy!) */ LOG_PID, LOG_DAEMON); - } - static void close_log(void) { - closelog(); diff --git a/net/pptp/patches/patch-ag b/net/pptp/patches/patch-ag deleted file mode 100644 index ca08135cc02..00000000000 --- a/net/pptp/patches/patch-ag +++ /dev/null @@ -1,65 +0,0 @@ -$NetBSD: patch-ag,v 1.1.1.1 2000/04/10 01:14:02 jtk Exp $ - -Index: pptp.8 ---- /dev/null Sun Apr 9 20:55:33 2000 -+++ pptp.8 Sun Apr 9 20:55:52 2000 -@@ -0,0 +1,59 @@ -+.\" Manual page for pptp-1.0.2 -+.\" Information gleaned from USING file in the distribution -+.\" SH section heading -+.\" SS subsection heading -+.\" LP paragraph -+.\" IP indented paragraph -+.\" TP hanging label -+.Dd April 9, 2000 -+.Dt pptp 8 -+.Sh NAME -+.Nm pptp -+.Nd Point-to-Point Tunneling Protocol daemon -+.Sh SYNOPSIS -+.Nm -+.Ar hostname -+.Op Ar ppp-options -+.Sh DESCRIPTION -+.Nm -+manages -+a virtual private network (VPN) connection using Microsoft -+PPTP protocols using IP GRE tunneling protocols. -+.Nm -+uses -+.Xr pppd 8 -+on a pseudo-tty -+to negotiate the connection with MS-CHAP authentication. -+.Pp -+Because -+.Nm -+uses GRE by using a raw IP socket, it will not work if your kernel has -+the -+.Xr gre 4 -+pseudo-device -+configured. -+The -+.Ar hostname -+parameter specifies which host should be contacted as the PPTP server. -+Additional parameters are passed on to -+.Ic pppd -+and typically include a remote username or a file containing options. -+.Pp -+.Nm -+must be run as root. -+ -+.Sh EXAMPLE -+.Nm -+.Ar vpnhost.company.com -+.Ar file -+.Pa /etc/ppp/options.pptp.company.com -+.Sh FILES -+.Pa /var/run/pptp/<ip-address> -+is created as a socket. It is used for communicating with an existing -+PPTP call manager for a given remote server host. -+.Sh SEE ALSO -+.Xr pppd 8 , -+.Xr gre 4 , -+.Pa ${PREFIX}/share/doc/pptp/USING -+ -+ |