summaryrefslogtreecommitdiff
path: root/accel-pppd/ctrl/ipoe/dhcpv4.c
diff options
context:
space:
mode:
Diffstat (limited to 'accel-pppd/ctrl/ipoe/dhcpv4.c')
-rw-r--r--accel-pppd/ctrl/ipoe/dhcpv4.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/accel-pppd/ctrl/ipoe/dhcpv4.c b/accel-pppd/ctrl/ipoe/dhcpv4.c
index 8f536ca..bc2ecad 100644
--- a/accel-pppd/ctrl/ipoe/dhcpv4.c
+++ b/accel-pppd/ctrl/ipoe/dhcpv4.c
@@ -818,7 +818,7 @@ out_err:
return -1;
}
-int dhcpv4_send_nak(struct dhcpv4_serv *serv, struct dhcpv4_packet *req)
+int dhcpv4_send_nak(struct dhcpv4_serv *serv, struct dhcpv4_packet *req, const char *err)
{
struct dhcpv4_packet *pack;
int val, r;
@@ -844,6 +844,9 @@ int dhcpv4_send_nak(struct dhcpv4_serv *serv, struct dhcpv4_packet *req)
if (req->relay_agent && dhcpv4_packet_add_opt(pack, 82, req->relay_agent->data, req->relay_agent->len))
goto out_err;
+ if (err && dhcpv4_packet_add_opt(pack, 56, err, strlen(err)))
+ goto out_err;
+
*pack->ptr++ = 255;
if (conf_verbose) {