socsvn commit: r308177 - soc2016/yuanxunzhang/head/usr.sbin/eaps
yuanxunzhang at FreeBSD.org
yuanxunzhang at FreeBSD.org
Mon Aug 22 15:08:10 UTC 2016
Author: yuanxunzhang
Date: Mon Aug 22 15:08:09 2016
New Revision: 308177
URL: http://svnweb.FreeBSD.org/socsvn/?view=rev&rev=308177
Log:
EAPS: fix set_eaps_hellotime bugs
Modified:
soc2016/yuanxunzhang/head/usr.sbin/eaps/eaps.c
Modified: soc2016/yuanxunzhang/head/usr.sbin/eaps/eaps.c
==============================================================================
--- soc2016/yuanxunzhang/head/usr.sbin/eaps/eaps.c Mon Aug 22 14:53:39 2016 (r308176)
+++ soc2016/yuanxunzhang/head/usr.sbin/eaps/eaps.c Mon Aug 22 15:08:09 2016 (r308177)
@@ -134,6 +134,10 @@
break;
case K_HELLOTIME:
set_eaps_hellotime(argc, argv, s);
+ break;
+ case K_FAILTIME:
+ set_eaps_failtime(argc, argv, s);
+ break;
}
usage(*argv);
return retval;
@@ -227,8 +231,8 @@
printf("state: %s\n", eaps_state_message[es.state]);
printf("\tswitch mode: %s\n", eaps_mode_message[es.mode]);
printf("\tpriority: %s\n", eaps_priority_message[es.priority]);
- printf("\thellotime: %d\n", es.hellotime);
- printf("\tfailtime: %d\n", es.failtime);
+ printf("\thellotime: %d (milliseconds)\n", es.hellotime);
+ printf("\tfailtime: %d (milliseconds)\n", es.failtime);
} else {
printf("Debug print: ioctl failed!\n");
err(1, "SIOCSEAPSDOMAIN");
@@ -323,10 +327,14 @@
int32_t hellotime = atoi(*(++argv));
printf("Debug print: set_eaps_hellotime %d!\n", hellotime);
- // hellotime must be greater than 0
- if (hellotime <= 0)
- {
- err(1, "invalid hellotime, hellotime must be greater than 0");
+ // get current value of failtime, because hellotime must be greater than failtime
+ if (ioctl(s, SIOCSEAPSDOMAIN, &es) == 0) {
+ if (hellotime >= es.failtime) {
+ err(1, "invalid failtime, hellotime must be greater than failtime");
+ }
+ }else {
+ printf("Debug print: ioctl failed!\n");
+ err(1, "SIOCSEAPSDOMAIN");
}
es.hellotime = hellotime;
More information about the svn-soc-all
mailing list