420-indicate-features.patch 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. --- a/hostapd/main.c
  2. +++ b/hostapd/main.c
  3. @@ -15,6 +15,7 @@
  4. #include "utils/common.h"
  5. #include "utils/eloop.h"
  6. #include "utils/uuid.h"
  7. +#include "utils/build_features.h"
  8. #include "crypto/random.h"
  9. #include "crypto/tls.h"
  10. #include "common/version.h"
  11. @@ -675,7 +676,7 @@ int main(int argc, char *argv[])
  12. wpa_supplicant_event = hostapd_wpa_event;
  13. wpa_supplicant_event_global = hostapd_wpa_event_global;
  14. for (;;) {
  15. - c = getopt(argc, argv, "b:Bde:f:hi:KP:sSTtu:vg:G:");
  16. + c = getopt(argc, argv, "b:Bde:f:hi:KP:sSTtu:g:G:v::");
  17. if (c < 0)
  18. break;
  19. switch (c) {
  20. @@ -712,6 +713,8 @@ int main(int argc, char *argv[])
  21. break;
  22. #endif /* CONFIG_DEBUG_LINUX_TRACING */
  23. case 'v':
  24. + if (optarg)
  25. + exit(!has_feature(optarg));
  26. show_version();
  27. exit(1);
  28. break;
  29. --- a/wpa_supplicant/main.c
  30. +++ b/wpa_supplicant/main.c
  31. @@ -12,6 +12,7 @@
  32. #endif /* __linux__ */
  33. #include "common.h"
  34. +#include "build_features.h"
  35. #include "fst/fst.h"
  36. #include "wpa_supplicant_i.h"
  37. #include "driver_i.h"
  38. @@ -202,7 +203,7 @@ int main(int argc, char *argv[])
  39. for (;;) {
  40. c = getopt(argc, argv,
  41. - "b:Bc:C:D:de:f:g:G:hH:i:I:KLMm:No:O:p:P:qsTtuvW");
  42. + "b:Bc:C:D:de:f:g:G:hH:i:I:KLMm:No:O:p:P:qsTtuv::W");
  43. if (c < 0)
  44. break;
  45. switch (c) {
  46. @@ -305,8 +306,12 @@ int main(int argc, char *argv[])
  47. break;
  48. #endif /* CONFIG_DBUS */
  49. case 'v':
  50. - printf("%s\n", wpa_supplicant_version);
  51. - exitcode = 0;
  52. + if (optarg) {
  53. + exitcode = !has_feature(optarg);
  54. + } else {
  55. + printf("%s\n", wpa_supplicant_version);
  56. + exitcode = 0;
  57. + }
  58. goto out;
  59. case 'W':
  60. params.wait_for_monitor++;