3 ---------------------------------------------------------------------------
7 - possibly fixed the 'error 629 on startup' bug. this fix is incompatible
8 with the 'silent' option of pppd, so don't use the 'silent' option.
9 - support a single localip with a range of remoteip's
10 - new, small, fast, simple get_call_id() function
11 - removed a few hardcoded values in ctrlpacket and replaced with defines
12 - new pptp_read_header() - slightly more 'expensive' but should be much more
14 - use openpty() if possible, internalize tty opening, startCall much more
17 ---------------------------------------------------------------------------
21 - removed ctrl-manager pipe completely
22 - moved awareness of pppd-ip-alloc option to manager only
23 - if using pppd-ip-alloc, manager runs more efficiently
24 - made pptpctrl able to have a none, one or both of local/remote addresses
25 rather than only both or none
26 - great code simplicication
27 - re-did IP parser; less potential segfaults from bad config
28 - correctly calculate max connections based on number of IP addresses given
29 and statically configured maximum
30 - no max connections for the pppd-ip-alloc case
31 - properly permit hostnames in IP parser
32 - always use fd 0 for network connection
34 - note - this version changes the 'run from inetd' options. re-read
35 README.inetd if you use it
37 ---------------------------------------------------------------------------
41 - made autoconf actually check the relevant headers
42 - made config.embed.h and removed most #if EMBED in favour of using this
43 - fixed some includes and re-arranged things to be a bit cleaner
44 - minor cosmetic fixes
45 - fixed compilation on StarOS 4 (and hence SunOS 4)
46 - documentation on running from ientd
47 - removed ctrl-manager pipe by default
49 ---------------------------------------------------------------------------
53 - now only two executables, pptpd and pptpctrl
54 - re-did dependency generation
55 - minor include cleanups
57 ---------------------------------------------------------------------------
61 - added getopt_long() from GNU libc for use on non-Linux platforms
62 - fixed compilation on FreeBSD, Digital Unix and Solaris
63 - replaced PPTPD_DEBUG define with configuration option (debug) and
64 command line option (-d/--debug)
66 ---------------------------------------------------------------------------
70 - unified CTRL and GRE processes (removed pptpgre), without the vfork
71 problem since this is not forking
72 - changed process name for child processes to pptpd [ip.address.here]
73 - moved INTERNAL_IP_ALLOCATION to a configure option (see configure --help)
74 - added support for libwrap tcp wrappers
75 - made sure pppd doesn't get copies of file descriptors it shouldn't, so
76 it closes down properly
77 - lots of other misc fixes
79 ---------------------------------------------------------------------------
83 - increased MAX number of clients to 100
84 - layout and comments have been tidied up extensively throughout code
85 - new function in ctrlpacket.c for making Control Message headers
87 - many other minor bug fixes
88 - some portability issues addressed
89 - accept() moved into pptpmanager.
90 - pptpmanager closes one side of socketpair server fd and passes client fd
91 other side of socketpair to pptpctrl.
92 - pptpmanager main loop changed to select without timeout and made to
93 watch ALL appropriate file descriptors.
94 - also made resiliant against some potential error modes, eg, if we are
95 full don't select on new connections descriptor, if accept() fails
96 ignore it cleanly, etc.
97 - should be more 'resource friendly' now.
98 - Make error state filename instead of just CONFIG FILE: file not found.
99 - Limit packet size to PACKET_MAX instead of permitting 4 more if no ACK
100 is bundled (for consistency of packet size limit).
102 ---------------------------------------------------------------------------
106 - GRE seperated from pptpctrl to support vforking
107 - adds link status detection (ie if a link goes down, we can figure it out
108 and deal with it) (Kevin)
109 - Solaris/Slirp port (Harald Vogt)
110 - cleaned up comments a lot (move towards C style to permit compiling in
111 older compilers/increase portablity)
112 - standardized #ifndef #define #endif defines in header files
113 - stop inststr from nuking environment (hopefully)
114 - use longer argv[0] in exec()s to make inststr much nicer
115 - make inststr wipe args other than argv[0]
116 - #define to remove some debugging (PPTPD_DEBUG) and to remove the
117 IP address allocation code so PPPD can be used to allocate IP addresses
118 (INTERNAL_IP_ALLOCATION)
119 - in pptpctrl.c, main()'s addrlen was uninitialized - yuck, was causing
120 random variable overwriting
121 - clean up some wasteful memory copying and so on, as well as remove some
122 copies into small static buffers
123 - clean up some blank lines - increasing the amount of code visible one
124 screen is good if it can be done without making the formatting ugly.
125 - use exit() not _exit() in pptpd - the fear of this closing fork()d
126 filedescriptors is wrong. both have the same file descriptor closing
128 - remove a potential leak of 2 filedescriptors in option parsing (checks
129 of optional file names).
130 - miscellaneous EMBED support for syslog etc.
131 - many other misc changes.
133 ---------------------------------------------------------------------------
137 - added new ip address reading from config file (for multiple connections)
138 there is a new pptpd configuration file example in samples/
139 - pptpdebug.* is no longer... syslog now handles ALL debugging
141 ---------------------------------------------------------------------------
145 - command line args/config file options are broken (everything hardcoded)
146 - many, many, many structural changes for a multiple connection hack
147 - multiple connection support
149 - OpenBSD port (may be broken for this release... Peter?)
150 - logging now to syslog DAEMON|DEBUG
152 ---------------------------------------------------------------------------
156 - call_id/peer_id issues addressed in OUT_CALL packets
157 - bug in debug log time fixed
158 - local added by default to the pppd launcher
159 - call_disconnect_notify bug fixed
160 - -p command line arg broken
162 ---------------------------------------------------------------------------
166 - a few minor multiple connection hacks.. still nowhere near ready to
167 handle more than one client
168 - pptpd -p logfile bug fix
170 ---------------------------------------------------------------------------
174 - Server will no longer die if client disconnects
175 - pppd is closed down cleanly now
176 - autoconf/automake is back.. but still needs some work
177 - a number of minor CTRL establishment bugs fixed
178 - callid assignment modified slightly in manager
180 ---------------------------------------------------------------------------
184 - PPTPD no longer relies on a signal (which had the potential to cause
185 a race condition) to know when to launch PPPD/GRE. The CTRL session
186 no longer relies on a signal to return from a fork. Signalling has
187 now been replaced with IPC between PPTPD and CTRL sessions.
188 - The GRE/PPPD sessions are now launched *after* an OUT_CALL_RPLY is sent
190 - CTRL and PPTP managers are now seperate from PPTPD
192 ---------------------------------------------------------------------------
196 PoPToP now works with windows 95/98/NT and Linux clients.