diff options
Diffstat (limited to 'user/ppp/dhcp.patch')
-rw-r--r-- | user/ppp/dhcp.patch | 324 |
1 files changed, 324 insertions, 0 deletions
diff --git a/user/ppp/dhcp.patch b/user/ppp/dhcp.patch new file mode 100644 index 000000000..611882326 --- /dev/null +++ b/user/ppp/dhcp.patch @@ -0,0 +1,324 @@ +--- ppp-2.4.7/pppd/plugins/Makefile.linux.old 2019-05-09 23:06:56.499058276 +0000 ++++ ppp-2.4.7/pppd/plugins/Makefile.linux 2019-05-09 23:11:21.040252628 +0000 +@@ -16,7 +16,7 @@ + MANDIR = $(DESTDIR)/share/man/man8 + LIBDIR = $(DESTDIR)/lib/pppd/$(VERSION) + +-SUBDIRS := rp-pppoe pppoatm pppol2tp ++SUBDIRS := dhcp rp-pppoe pppoatm pppol2tp + # Uncomment the next line to include the radius authentication plugin + SUBDIRS += radius + PLUGINS := minconn.so passprompt.so passwordfd.so winbind.so +--- ppp-2.4.7/pppd/plugins/dhcp/README.old 2002-09-30 11:33:49.000000000 +0000 ++++ ppp-2.4.7/pppd/plugins/dhcp/README 2019-05-09 23:11:37.408470308 +0000 +@@ -37,7 +37,7 @@ + + This option specified the local IP address of the system running + this proxy, as should be identified to the DHCP server in the +- 'giaddr' field of DHCP requests. Normal server behavor should ++ 'giaddr' field of DHCP requests. Normal server behaviour should + be to send DHCP responses to this address. The default is the + primary address bound to the dhcp interface. + +diff -Naur ppp-2.4.7/pppd/plugins/dhcp.old/clientpacket.c ppp-2.4.7/pppd/plugins/dhcp/clientpacket.c +--- ppp-2.4.7/pppd/plugins/dhcp.old/clientpacket.c 2002-08-31 12:19:20.000000000 +0000 ++++ ppp-2.4.7/pppd/plugins/dhcp/clientpacket.c 2019-05-09 23:42:33.566347764 +0000 +@@ -179,8 +179,8 @@ + { + int bytes; + struct udp_dhcp_packet packet; +- u_int32_t source, dest; +- u_int16_t check; ++ uint32_t source, dest; ++ uint16_t check; + + memset(&packet, 0, sizeof(struct udp_dhcp_packet)); + bytes = read(fd, &packet, sizeof(struct udp_dhcp_packet)); +diff -Naur ppp-2.4.7/pppd/plugins/dhcp.old/dhcpc.c ppp-2.4.7/pppd/plugins/dhcp/dhcpc.c +--- ppp-2.4.7/pppd/plugins/dhcp.old/dhcpc.c 2019-05-09 23:41:38.732319544 +0000 ++++ ppp-2.4.7/pppd/plugins/dhcp/dhcpc.c 2019-05-09 23:42:33.566347764 +0000 +@@ -56,11 +56,11 @@ + #include "socket.h" + #include "debug.h" + +-static void (*dhcp_old_ip_choose_hook)(u_int32_t *addrp); ++static void (*dhcp_old_ip_choose_hook)(uint32_t *addrp); + + static int dhcp_state; +-static u_int32_t requested_ip; /* = 0 */ +-u_int32_t assigned_ip; /* value supplied to remote ppp */ ++static uint32_t requested_ip; /* = 0 */ ++uint32_t assigned_ip; /* value supplied to remote ppp */ + static unsigned long server_addr; + unsigned long lease, renew_timeout; + unsigned long xid = 0; +@@ -118,7 +118,7 @@ + void dhcp_release(void *ptr, int arg); + void dhcp_renew(void *dummy); + void dhcp_request_new(); +-void dhcp_ip_choose(u_int32_t *addrp); ++void dhcp_ip_choose(uint32_t *addrp); + void dhcp_read_options(void); + + +@@ -453,8 +453,8 @@ + return; + } + +-void dhcp_ip_choose(u_int32_t *addrp) { +- u_int32_t entryvalue; ++void dhcp_ip_choose(uint32_t *addrp) { ++ uint32_t entryvalue; + + dbglog("DHCPC: ip_choose_hook entered with peer name %s",peer_authname); + +diff -Naur ppp-2.4.7/pppd/plugins/dhcp.old/dhcpc.h ppp-2.4.7/pppd/plugins/dhcp/dhcpc.h +--- ppp-2.4.7/pppd/plugins/dhcp.old/dhcpc.h 2002-08-31 11:54:23.000000000 +0000 ++++ ppp-2.4.7/pppd/plugins/dhcp/dhcpc.h 2019-05-09 23:42:33.566347764 +0000 +@@ -24,9 +24,9 @@ + unsigned char *hostname; /* Optional hostname to use */ + int ifindex; /* Index number of the interface to use */ + unsigned char arp[6]; /* Our arp address */ +- u_int32_t giaddr; /* Fill in this value on all packets we generate */ +- u_int32_t siaddr; /* If defined, only talk to this server (never broadcast) */ +- u_int32_t subnet_selection; /* If non zero, send and require SS option */ ++ uint32_t giaddr; /* Fill in this value on all packets we generate */ ++ uint32_t siaddr; /* If defined, only talk to this server (never broadcast) */ ++ uint32_t subnet_selection; /* If non zero, send and require SS option */ + }; + + extern struct client_config_t client_config; +diff -Naur ppp-2.4.7/pppd/plugins/dhcp.old/dhcpd.h ppp-2.4.7/pppd/plugins/dhcp/dhcpd.h +--- ppp-2.4.7/pppd/plugins/dhcp.old/dhcpd.h 2002-08-31 11:52:31.000000000 +0000 ++++ ppp-2.4.7/pppd/plugins/dhcp/dhcpd.h 2019-05-09 23:42:33.566347764 +0000 +@@ -101,9 +101,9 @@ + }; + + struct server_config_t { +- u_int32_t server; /* Our IP, in network order */ +- u_int32_t start; /* Start address of leases, network order */ +- u_int32_t end; /* End of leases, network order */ ++ uint32_t server; /* Our IP, in network order */ ++ uint32_t start; /* Start address of leases, network order */ ++ uint32_t end; /* End of leases, network order */ + struct option_set *options; /* List of DHCP options loaded from the config file */ + char *interface; /* The name of the interface to use */ + int ifindex; /* Index number of the interface to use */ +@@ -122,7 +122,7 @@ + char *lease_file; + char *pidfile; + char *notify_file; /* What to run whenever leases are written */ +- u_int32_t siaddr; /* next server bootp option */ ++ uint32_t siaddr; /* next server bootp option */ + char *sname; /* bootp server name */ + char *boot_file; /* bootp boot file option */ + }; +diff -Naur ppp-2.4.7/pppd/plugins/dhcp.old/leases.h ppp-2.4.7/pppd/plugins/dhcp/leases.h +--- ppp-2.4.7/pppd/plugins/dhcp.old/leases.h 2002-08-23 13:17:14.000000000 +0000 ++++ ppp-2.4.7/pppd/plugins/dhcp/leases.h 2019-05-09 23:42:33.566347764 +0000 +@@ -4,20 +4,20 @@ + + + struct dhcpOfferedAddr { +- u_int8_t chaddr[16]; +- u_int32_t yiaddr; /* network order */ +- u_int32_t expires; /* host order */ ++ uint8_t chaddr[16]; ++ uint32_t yiaddr; /* network order */ ++ uint32_t expires; /* host order */ + }; + + +-void clear_lease(u_int8_t *chaddr, u_int32_t yiaddr); +-struct dhcpOfferedAddr *add_lease(u_int8_t *chaddr, u_int32_t yiaddr, unsigned long lease); ++void clear_lease(uint8_t *chaddr, uint32_t yiaddr); ++struct dhcpOfferedAddr *add_lease(uint8_t *chaddr, uint32_t yiaddr, unsigned long lease); + int lease_expired(struct dhcpOfferedAddr *lease); + struct dhcpOfferedAddr *oldest_expired_lease(void); +-struct dhcpOfferedAddr *find_lease_by_chaddr(u_int8_t *chaddr); +-struct dhcpOfferedAddr *find_lease_by_yiaddr(u_int32_t yiaddr); +-u_int32_t find_address(int check_expired); +-int check_ip(u_int32_t addr); ++struct dhcpOfferedAddr *find_lease_by_chaddr(uint8_t *chaddr); ++struct dhcpOfferedAddr *find_lease_by_yiaddr(uint32_t yiaddr); ++uint32_t find_address(int check_expired); ++int check_ip(uint32_t addr); + + + #endif +diff -Naur ppp-2.4.7/pppd/plugins/dhcp.old/options.c ppp-2.4.7/pppd/plugins/dhcp/options.c +--- ppp-2.4.7/pppd/plugins/dhcp.old/options.c 2002-08-31 11:52:37.000000000 +0000 ++++ ppp-2.4.7/pppd/plugins/dhcp/options.c 2019-05-09 23:42:33.566347764 +0000 +@@ -148,17 +148,17 @@ + + + /* add a one to four byte option to a packet */ +-int add_simple_option(unsigned char *optionptr, unsigned char code, u_int32_t data) ++int add_simple_option(unsigned char *optionptr, unsigned char code, uint32_t data) + { + char length = 0; + int i; + unsigned char option[2 + 4]; + unsigned char *u8; +- u_int16_t *u16; +- u_int32_t *u32; +- u_int32_t aligned; ++ uint16_t *u16; ++ uint32_t *u32; ++ uint32_t aligned; + u8 = (unsigned char *) &aligned; +- u16 = (u_int16_t *) &aligned; ++ u16 = (uint16_t *) &aligned; + u32 = &aligned; + + for (i = 0; options[i].code; i++) +diff -Naur ppp-2.4.7/pppd/plugins/dhcp.old/options.h ppp-2.4.7/pppd/plugins/dhcp/options.h +--- ppp-2.4.7/pppd/plugins/dhcp.old/options.h 2002-08-23 13:06:28.000000000 +0000 ++++ ppp-2.4.7/pppd/plugins/dhcp/options.h 2019-05-09 23:42:33.566347764 +0000 +@@ -33,7 +33,7 @@ + unsigned char *get_option(struct dhcpMessage *packet, int code); + int end_option(unsigned char *optionptr); + int add_option_string(unsigned char *optionptr, unsigned char *string); +-int add_simple_option(unsigned char *optionptr, unsigned char code, u_int32_t data); ++int add_simple_option(unsigned char *optionptr, unsigned char code, uint32_t data); + struct option_set *find_option(struct option_set *opt_list, char code); + void attach_option(struct option_set **opt_list, struct dhcp_option *option, char *buffer, int length); + +diff -Naur ppp-2.4.7/pppd/plugins/dhcp.old/packet.c ppp-2.4.7/pppd/plugins/dhcp/packet.c +--- ppp-2.4.7/pppd/plugins/dhcp.old/packet.c 2019-05-09 23:41:38.732319544 +0000 ++++ ppp-2.4.7/pppd/plugins/dhcp/packet.c 2019-05-09 23:42:33.566347764 +0000 +@@ -83,13 +83,13 @@ + } + + +-u_int16_t checksum(void *addr, int count) ++uint16_t checksum(void *addr, int count) + { + /* Compute Internet Checksum for "count" bytes + * beginning at location "addr". + */ + register int32_t sum = 0; +- u_int16_t *source = (u_int16_t *) addr; ++ uint16_t *source = (uint16_t *) addr; + + while( count > 1 ) { + /* This is the inner loop */ +@@ -110,8 +110,8 @@ + + + /* Constuct a ip/udp header for a packet, and specify the source and dest hardware address */ +-int raw_packet(struct dhcpMessage *payload, u_int32_t source_ip, int source_port, +- u_int32_t dest_ip, int dest_port, unsigned char *dest_arp, int ifindex) ++int raw_packet(struct dhcpMessage *payload, uint32_t source_ip, int source_port, ++ uint32_t dest_ip, int dest_port, unsigned char *dest_arp, int ifindex) + { + int fd; + int result; +@@ -169,8 +169,8 @@ + + + /* Let the kernel do all the work for packet generation */ +-int kernel_packet(struct dhcpMessage *payload, u_int32_t source_ip, int source_port, +- u_int32_t dest_ip, int dest_port) ++int kernel_packet(struct dhcpMessage *payload, uint32_t source_ip, int source_port, ++ uint32_t dest_ip, int dest_port) + { + int n = 1; + int fd, result; +diff -Naur ppp-2.4.7/pppd/plugins/dhcp.old/packet.h ppp-2.4.7/pppd/plugins/dhcp/packet.h +--- ppp-2.4.7/pppd/plugins/dhcp.old/packet.h 2002-08-23 13:04:56.000000000 +0000 ++++ ppp-2.4.7/pppd/plugins/dhcp/packet.h 2019-05-09 23:42:33.566347764 +0000 +@@ -5,22 +5,22 @@ + #include <netinet/ip.h> + + struct dhcpMessage { +- u_int8_t op; +- u_int8_t htype; +- u_int8_t hlen; +- u_int8_t hops; +- u_int32_t xid; +- u_int16_t secs; +- u_int16_t flags; +- u_int32_t ciaddr; +- u_int32_t yiaddr; +- u_int32_t siaddr; +- u_int32_t giaddr; +- u_int8_t chaddr[16]; +- u_int8_t sname[64]; +- u_int8_t file[128]; +- u_int32_t cookie; +- u_int8_t options[308]; /* 312 - cookie */ ++ uint8_t op; ++ uint8_t htype; ++ uint8_t hlen; ++ uint8_t hops; ++ uint32_t xid; ++ uint16_t secs; ++ uint16_t flags; ++ uint32_t ciaddr; ++ uint32_t yiaddr; ++ uint32_t siaddr; ++ uint32_t giaddr; ++ uint8_t chaddr[16]; ++ uint8_t sname[64]; ++ uint8_t file[128]; ++ uint32_t cookie; ++ uint8_t options[308]; /* 312 - cookie */ + }; + + struct udp_dhcp_packet { +@@ -31,11 +31,11 @@ + + void init_header(struct dhcpMessage *packet, char type); + int get_packet(struct dhcpMessage *packet, int fd); +-u_int16_t checksum(void *addr, int count); +-int raw_packet(struct dhcpMessage *payload, u_int32_t source_ip, int source_port, +- u_int32_t dest_ip, int dest_port, unsigned char *dest_arp, int ifindex); +-int kernel_packet(struct dhcpMessage *payload, u_int32_t source_ip, int source_port, +- u_int32_t dest_ip, int dest_port); ++uint16_t checksum(void *addr, int count); ++int raw_packet(struct dhcpMessage *payload, uint32_t source_ip, int source_port, ++ uint32_t dest_ip, int dest_port, unsigned char *dest_arp, int ifindex); ++int kernel_packet(struct dhcpMessage *payload, uint32_t source_ip, int source_port, ++ uint32_t dest_ip, int dest_port); + + + #endif +diff -Naur ppp-2.4.7/pppd/plugins/dhcp.old/socket.c ppp-2.4.7/pppd/plugins/dhcp/socket.c +--- ppp-2.4.7/pppd/plugins/dhcp.old/socket.c 2019-05-09 23:41:38.732319544 +0000 ++++ ppp-2.4.7/pppd/plugins/dhcp/socket.c 2019-05-09 23:42:33.566347764 +0000 +@@ -43,7 +43,7 @@ + + #include "debug.h" + +-int read_interface(char *interface, int *ifindex, u_int32_t *addr, unsigned char *arp) ++int read_interface(char *interface, int *ifindex, uint32_t *addr, unsigned char *arp) + { + int fd; + struct ifreq ifr; +diff -Naur ppp-2.4.7/pppd/plugins/dhcp.old/socket.h ppp-2.4.7/pppd/plugins/dhcp/socket.h +--- ppp-2.4.7/pppd/plugins/dhcp.old/socket.h 2002-08-23 13:06:28.000000000 +0000 ++++ ppp-2.4.7/pppd/plugins/dhcp/socket.h 2019-05-09 23:42:33.566347764 +0000 +@@ -2,7 +2,7 @@ + #ifndef _SOCKET_H + #define _SOCKET_H + +-int read_interface(char *interface, int *ifindex, u_int32_t *addr, unsigned char *arp); ++int read_interface(char *interface, int *ifindex, uint32_t *addr, unsigned char *arp); + int listen_socket(unsigned int ip, int port, char *inf); + int raw_socket(int ifindex); + +--- ppp-2.4.7/pppd/plugins/dhcp/Makefile.linux.old 2019-05-09 23:54:56.595427092 +0000 ++++ ppp-2.4.7/pppd/plugins/dhcp/Makefile.linux 2019-05-09 23:56:53.012746364 +0000 +@@ -1,6 +1,11 @@ + + PLUGIN=dhcpc.so + CFLAGS=$(COPTS) -I../.. -I../../../include -fPIC ++INSTALL = install ++DESTDIR = $(INSTROOT)/usr ++LIBDIR = $(DESTDIR)/lib/pppd/$(VERSION) ++ ++VERSION = $(shell awk -F '"' '/VERSION/ { print $$2; }' ../../patchlevel.h) + + all: $(PLUGIN) + |