pptp-linux is an implementation of the PPTP protocol for Linux and

other Unix systems.

port based on NetBSD package.

thanks karma@altern.org and Alexander.Farber@t-online.de for testing.
This commit is contained in:
reinhard 2000-12-21 14:02:52 +00:00
parent 4bdbf52ffa
commit a526a2a18b
14 changed files with 645 additions and 0 deletions

27
net/pptp/Makefile Normal file
View File

@ -0,0 +1,27 @@
# $OpenBSD: Makefile,v 1.1.1.1 2000/12/21 14:02:52 reinhard Exp $
# $NetBSD: Makefile,v 1.1.1.1 2000/04/10 01:14:01 jtk Exp $
DISTNAME= pptp-linux-1.0.2
PKGNAME= pptp-1.0.2
NEED_VERSION= 1.340
CATEGORIES= net
MASTER_SITES= http://cag.lcs.mit.edu/~cananian/Synaptics/release/
HOMEPAGE= http://cag.pdos.lcs.mit.edu/~cananian/Projects/PPTP/
MAINTAINER= Reinhard J. Sammer <reinhard@openbsd.org>
PERMIT_PACKAGE_CDROM= Yes
PERMIT_PACKAGE_FTP= Yes
PERMIT_DISTFILES_CDROM= Yes
PERMIT_DISTFILES_FTP= Yes
post-patch:
@cp files/pptp_8 files/pptp_reconnect ${WRKSRC}
@cd ${WRKSRC}; sed -e s,PREFIX,${PREFIX}, \
< pptp_8 > pptp.8
@cd ${WRKSRC}; sed -e s,PREFIX,${PREFIX}, \
< pptp_reconnect > pptp-reconnect
@rm ${WRKSRC}/pptp_8 ${WRKSRC}/pptp_reconnect
.include <bsd.port.mk>

3
net/pptp/files/md5 Normal file
View File

@ -0,0 +1,3 @@
MD5 (pptp-linux-1.0.2.tar.gz) = 257835dbb111673dcf80bdf927a1be87
RMD160 (pptp-linux-1.0.2.tar.gz) = d82bb10a9ca78848bd9c44cad451aead31ee11b5
SHA1 (pptp-linux-1.0.2.tar.gz) = fe7c7ea298483de37052d57f2641977753817fcf

72
net/pptp/files/pptp_8 Normal file
View File

@ -0,0 +1,72 @@
.\" $OpenBSD: pptp_8,v 1.1.1.1 2000/12/21 14:02:52 reinhard Exp $
.\" 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 pppd 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 hostname
.Op Ar pppd options
.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
.Sh BUGS
.Nm
does not work with a GENERIC kernel, because
.Xr gre 4
conflicts with
.Xr pptp 8
protocol ip (47).
.Sh HISTORY
This man page appeared first in
.Nx
\'s pptp-package.
.Sh AUTHORS
.An C. Scott Ananian Aq cananian@alumni.princeton.edu ,
.An John Kohl Aq jtk@NetBSD.org
(patches and original man page).

View File

@ -0,0 +1,37 @@
#!/bin/sh
# $OpenBSD: pptp_reconnect,v 1.1.1.1 2000/12/21 14:02:52 reinhard Exp $
#
# PPTP reconnect script
#
# sample crontab entry: 0,30 * * * * /sbin/ping -c 2 MY_REMOTE_PEER_IP >/dev/null || /usr/local/sbin/pptp-reconnect
#
#
# INSTALL-INSTRUCTIONS: edit below ip and uncomment the line
#MODEMIP=10.0.0.138
PATH=/bin:/usr/bin:/sbin:/usr/sbin:PREFIX/sbin
if [ "$MODEMIP" = "" ]; then
echo "You have to edit the pptp-reconnect script."
exit
fi
echo "Killing pppd."
kill -9 `ps -ax|grep pppd|grep -v grep|awk '{print $1}'`
/bin/sleep 3
echo "Killing pptp."
kill -9 `ps -ax|grep pptp|grep -v pptp-reconnect|grep -v grep|awk '{print $1}'`
/bin/sleep 3
if [ -x /var/run/pptp/$MODEMIP ]; then
/bin/rm -f /var/run/pptp/$MODEMIP
fi
echo "Establishing connection."
PREFIX/sbin/pptp $MODEMIP >/var/log/ppp.log 2>&1
/bin/sleep 7
echo "Flushing rulesets:"
/sbin/ipf -Fa -f /etc/ipf.rules
/sbin/ipnat -CF -f /etc/ipnat.rules

View File

@ -0,0 +1,50 @@
--- Makefile.orig Wed Feb 18 23:42:14 1998
+++ Makefile Thu Dec 14 16:09:48 2000
@@ -1,10 +1,11 @@
VERSION = 1.0.2
-VERSION_DEFINE = '-DPPTP_LINUX_VERSION="${VERSION}"'
+VERSION_DEFINE = '-DPPTP_LINUX_VERSION="${VERSION}"' -DPROGRAM_NAME='"pptp"'
-CC = gcc -Wall
-DEBUG = -g
+CC = gcc -O2
+RM = rm
+DEBUG = -g -O2 # -O9
INCLUDE =
-CFLAGS = -O9 $(VERSION_DEFINE) $(DEBUG) $(INCLUDE)
+CFLAGS = $(VERSION_DEFINE) $(DEBUG) $(INCLUDE)
LIBS =
LDFLAGS =
@@ -24,7 +25,21 @@ CALLMGR_BIN = pptp_callmgr
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) $(CALLMGR_BIN) $(MANPAGE)
+
+install:
+ $(INSTALL) -c $(PPTP_BIN) ${PREFIX}/sbin/${PPTP_BIN}
+ $(INSTALL) -c $(CALLMGR_BIN) ${PREFIX}/sbin/${CALLMGR_BIN}
+ $(INSTALL) -c -m 755 pptp-reconnect ${PREFIX}/sbin/
+ $(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 +51,7 @@ vector_test: vector_test.o vector.o
$(CC) -o vector_test vector_test.o vector.o
clean:
- $(RM) *.o *~
+ $(RM) -f *.o *~
clobber: clean
$(RM) $(PPTP_BIN) $(CALLMGR_BIN) vector_test

View File

@ -0,0 +1,59 @@
$OpenBSD: patch-pptc_c,v 1.1.1.1 2000/12/21 14:04:09 reinhard Exp $
$NetBSD: patch-ab,v 1.1.1.1 2000/04/10 01:14:02 jtk 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]);
+ 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 @@
}
/* 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);
}

View File

@ -0,0 +1,242 @@
$OpenBSD: patch-pptc_ctrl_c,v 1.1.1.1 2000/12/21 14:04:01 reinhard Exp $
$NetBSD: patch-ac,v 1.1.1.1 2000/04/10 01:14:02 jtk 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}
};
+ 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)
+ );
+
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;
}
@@ -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

View File

@ -0,0 +1,62 @@
$OpenBSD: patch-pptc_gre_c,v 1.1.1.1 2000/12/21 14:04:09 reinhard Exp $
$NetBSD: patch-ad,v 1.2 2000/04/10 01:24:39 jtk 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 @@
*/
+#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);
}

View File

@ -0,0 +1,29 @@
$OpenBSD: patch-pty_h,v 1.1.1.1 2000/12/21 14:04:09 reinhard Exp $
$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 __OpenBSD__
+#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.

View File

@ -0,0 +1,15 @@
$OpenBSD: patch-util_c,v 1.1.1.1 2000/12/21 14:04:09 reinhard Exp $
$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();

1
net/pptp/pkg/COMMENT Normal file
View File

@ -0,0 +1 @@
PPTP client package for Microsoft VPN servers

12
net/pptp/pkg/DESCR Normal file
View File

@ -0,0 +1,12 @@
pptp-linux 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
${PREFIX}/share/doc/pptp/USING; design notes are in the Documentation
directory; and the standards documents used to implement pptp-linux
can be found in the Reference directory.
WWW: ${HOMEPAGE}

11
net/pptp/pkg/MESSAGE Normal file
View File

@ -0,0 +1,11 @@
Documentation has been installed in ${PREFIX}/share/doc/pptp/.
A reconnect-script has been installed as ${PREFIX}/sbin/pptp-reconnect,
edit it to reflect your environment.
Next, setup /etc/ppp/{options,pap-secrets} with information provided
by your ISP.
If you get "LCP timeout sending config request" messages, build a
kernel without "GRE encapsulation interface" support.
(NB: look in /usr/src/sys/conf/GENERIC for "pseudo-device gre 1".)

25
net/pptp/pkg/PLIST Normal file
View File

@ -0,0 +1,25 @@
@comment $OpenBSD: PLIST,v 1.1.1.1 2000/12/21 14:02:52 reinhard Exp $
sbin/pptp
sbin/pptp_callmgr
sbin/pptp-reconnect
share/doc/pptp/USING
share/doc/pptp/INSTALL
share/doc/pptp/README
share/doc/pptp/NEWS
share/doc/pptp/Reference/README
share/doc/pptp/Reference/ms-chap.txt
share/doc/pptp/Reference/pptp-draft.txt
share/doc/pptp/Reference/rfc1661.txt
share/doc/pptp/Reference/rfc1662.txt
share/doc/pptp/Reference/rfc1701.txt
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
@dirrm share/doc/pptp/Reference
@dirrm share/doc/pptp