--- /dev/null
+--- ppp-2.4.3/pppd/plugins/rp-pppoe/discovery.c.fix 2004-11-04 11:07:37.000000000 +0100
++++ ppp-2.4.3/pppd/plugins/rp-pppoe/discovery.c 2004-11-22 16:00:24.522462124 +0100
+@@ -13,6 +13,8 @@
+ #include "pppoe.h"
+ #include "pppd/pppd.h"
+
++void warn __P((char *, ...)); /* log a warning message */
++
+ #include <string.h>
+ #include <stdlib.h>
+ #include <errno.h>
+--- ppp-2.4.3/pppd/ipv6cp.c.fix 2004-11-13 03:28:15.000000000 +0100
++++ ppp-2.4.3/pppd/ipv6cp.c 2004-11-22 16:00:27.049114044 +0100
+@@ -151,6 +151,7 @@
+ */
+
+ #include <stdio.h>
++#include <stdlib.h>
+ #include <string.h>
+ #include <unistd.h>
+ #include <netdb.h>
+@@ -1064,7 +1065,9 @@
+ return (rc); /* Return final code */
+ }
+
+-
++#if defined(SOL2) || defined(__linux__)
++int ether_to_eui64(eui64_t *p_eui64);
++#endif
+ /*
+ * ipv6_check_options - check that any IP-related options are OK,
+ * and assign appropriate defaults.
+--- ppp-2.4.3/pppdump/deflate.c.fix 2004-02-02 04:36:46.000000000 +0100
++++ ppp-2.4.3/pppdump/deflate.c 2004-11-22 16:02:18.071820020 +0100
+@@ -39,6 +39,7 @@
+ #include <sys/types.h>
+ #include <stdio.h>
+ #include <stddef.h>
++#include <stdio.h>
+ #include <stdlib.h>
+ #include <string.h>
+ #include "ppp_defs.h"
+@@ -237,8 +238,8 @@
+ {
+ struct deflate_state *state = (struct deflate_state *) arg;
+ u_char *rptr, *wptr;
+- int rlen, olen, ospace;
+- int seq, i, flush, r, decode_proto;
++ int rlen, olen;
++ int seq, r;
+
+ rptr = mi;
+ if (*rptr == 0)
+--- ppp-2.4.3/pppdump/bsd-comp.c.fix 2004-02-02 04:36:46.000000000 +0100
++++ ppp-2.4.3/pppdump/bsd-comp.c 2004-11-22 16:00:27.052113631 +0100
+@@ -383,7 +383,7 @@
+ || options[0] != CI_BSD_COMPRESS || options[1] != CILEN_BSD_COMPRESS
+ || BSD_VERSION(options[2]) != BSD_CURRENT_VERSION
+ || BSD_NBITS(options[2]) != db->maxbits
+- || decomp && db->lens == NULL)
++ || (decomp && db->lens == NULL))
+ return 0;
+
+ if (decomp) {
+@@ -556,11 +556,11 @@
+ u_int n_bits = db->n_bits;
+ u_int tgtbitno = 32-n_bits; /* bitno when we have a code */
+ struct bsd_dict *dictp;
+- int explen, i, seq, len;
++ int explen, seq, len;
+ u_int incode, oldcode, finchar;
+ u_char *p, *rptr, *wptr;
+ int ilen;
+- int dlen, space, codelen, extra;
++ int dlen=0, codelen, extra;
+
+ rptr = cmsg;
+ if (*rptr == 0)
+@@ -616,7 +616,7 @@
+ }
+
+ if (incode > max_ent + 2 || incode > db->maxmaxcode
+- || incode > max_ent && oldcode == CLEAR) {
++ || (incode > max_ent && oldcode == CLEAR)) {
+ if (db->debug) {
+ printf("bsd_decomp%d: bad code 0x%x oldcode=0x%x ",
+ db->unit, incode, oldcode);
+--- ppp-2.4.3/pppdump/pppdump.c.fix 2004-02-02 04:36:46.000000000 +0100
++++ ppp-2.4.3/pppdump/pppdump.c 2004-11-22 16:00:27.054113356 +0100
+@@ -34,6 +34,7 @@
+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+ */
+ #include <stdio.h>
++#include <stdlib.h>
+ #include <unistd.h>
+ #include <stdlib.h>
+ #include <time.h>
+@@ -191,7 +192,7 @@
+ show_time(f, c);
+ break;
+ default:
+- printf("?%.2x\n");
++ printf("?%.2x\n", c);
+ }
+ }
+ }
+@@ -421,7 +422,7 @@
+ show_time(f, c);
+ break;
+ default:
+- printf("?%.2x\n");
++ printf("?%.2x\n", c);
+ }
+ }
+ }