Introduction
Introduction Statistics Contact Development Disclaimer Help
client id is always fixed at 16 bytes - sdhcp - simple dhcp client
git clone git://git.codemadness.org/sdhcp
Log
Files
Refs
LICENSE
---
commit a3a3e615d0e66b388b436196863095aede5c9dbe
parent 5ad98876ed3e0d8024c8e65174a675bd35ce058e
Author: sin <[email protected]>
Date: Wed, 13 Jan 2016 19:34:17 +0000
client id is always fixed at 16 bytes
Diffstat:
M sdhcp.c | 15 +++++----------
1 file changed, 5 insertions(+), 10 deletions(-)
---
diff --git a/sdhcp.c b/sdhcp.c
@@ -87,7 +87,6 @@ static unsigned char hwaddr[16];
static time_t starttime;
static char *ifname = "eth0";
static unsigned char cid[16];
-static size_t cidlen;
static char *program = "";
static int sock;
/* sav */
@@ -275,7 +274,7 @@ dhcpsend(int type, int how)
memcpy(bp.chaddr, hwaddr, sizeof bp.chaddr);
p = bp.optdata;
p = hnoptput(p, ODtype, type, 1);
- p = optput(p, ODclientid, cid, cidlen);
+ p = optput(p, ODclientid, cid, sizeof(cid));
switch(type) {
case DHCPdiscover:
@@ -466,12 +465,8 @@ main(int argc, char *argv[])
if (argc)
ifname = argv[0]; /* interface name */
- if (argc >= 2) {
- cidlen = strlen(argv[1]);
- if (cidlen > sizeof(cid))
- cidlen = sizeof(cid);
- strlcpy(cid, argv[1], cidlen); /* client-id */
- }
+ if (argc >= 2)
+ strlcpy(cid, argv[1], sizeof(cid)); /* client-id */
memset(&ifreq, 0, sizeof(ifreq));
signal(SIGALRM, nop);
@@ -491,8 +486,8 @@ main(int argc, char *argv[])
eprintf("bind:");
ioctl(sock, SIOCGIFHWADDR, &ifreq);
memcpy(hwaddr, ifreq.ifr_hwaddr.sa_data, sizeof ifreq.ifr_hwaddr.sa_da…
- if (!cidlen)
- memcpy(cid, hwaddr, cidlen = sizeof(hwaddr));
+ if (!cid[0])
+ memcpy(cid, hwaddr, sizeof(cid));
if ((rnd = open("/dev/urandom", O_RDONLY)) == -1)
eprintf("can't open /dev/urandom to generate unique transactio…
You are viewing proxied material from codemadness.org. The copyright of proxied material belongs to its original authors. Any comments or complaints in relation to proxied material should be directed to the original authors of the content concerned. Please see the disclaimer for more details.