summaryrefslogtreecommitdiff
path: root/net/macchanger/files/patch-src_main.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/macchanger/files/patch-src_main.c')
-rw-r--r--net/macchanger/files/patch-src_main.c166
1 files changed, 166 insertions, 0 deletions
diff --git a/net/macchanger/files/patch-src_main.c b/net/macchanger/files/patch-src_main.c
new file mode 100644
index 000000000000..b7381cc8df22
--- /dev/null
+++ b/net/macchanger/files/patch-src_main.c
@@ -0,0 +1,166 @@
+--- src/main.c 2014-01-01 11:23:39.000000000 +0200
++++ src/main.c 2014-10-17 12:15:02.254848839 +0300
+@@ -40,9 +40,6 @@
+ #include "maclist.h"
+ #include "netinfo.h"
+
+-#define EXIT_OK 0
+-#define EXIT_ERROR 1
+-
+ static void
+ print_help (void)
+ {
+@@ -54,7 +51,9 @@
+ " -e, --ending Don't change the vendor bytes\n"
+ " -a, --another Set random vendor MAC of the same kind\n"
+ " -A Set random vendor MAC of any kind\n"
++#if defined(HAVE_ETHTOOL)
+ " -p, --permanent Reset to original, permanent hardware MAC\n"
++#endif
+ " -r, --random Set fully random MAC\n"
+ " -l, --list[=keyword] Print known vendors\n"
+ " -b, --bia Pretend to be a burned-in-address\n"
+@@ -116,7 +115,9 @@
+ char ending = 0;
+ char another_any = 0;
+ char another_same = 0;
++#if defined(HAVE_ETHTOOL)
+ char permanent = 0;
++#endif
+ char print_list = 0;
+ char show = 0;
+ char set_bia = 0;
+@@ -131,7 +132,9 @@
+ {"ending", no_argument, NULL, 'e'},
+ {"endding", no_argument, NULL, 'e'}, /* kept for backwards compatibility */
+ {"another", no_argument, NULL, 'a'},
++#if defined(HAVE_ETHTOOL)
+ {"permanent", no_argument, NULL, 'p'},
++#endif
+ {"show", no_argument, NULL, 's'},
+ {"another_any", no_argument, NULL, 'A'},
+ {"bia", no_argument, NULL, 'b'},
+@@ -142,7 +145,9 @@
+
+ net_info_t *net;
+ mac_t *mac;
++#if defined(HAVE_ETHTOOL)
+ mac_t *mac_permanent;
++#endif
+ mac_t *mac_faked;
+ char *device_name;
+ int val;
+@@ -158,7 +163,7 @@
+ "This is free software; see the source for copying conditions. There is NO\n"
+ "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n",
+ VERSION);
+- exit (EXIT_OK);
++ exit (EXIT_SUCCESS);
+ break;
+ case 'l':
+ print_list = 1;
+@@ -182,9 +187,11 @@
+ case 'A':
+ another_any = 1;
+ break;
++#if defined(HAVE_ETHTOOL)
+ case 'p':
+ permanent = 1;
+ break;
++#endif
+ case 'm':
+ set_mac = optarg;
+ break;
+@@ -192,26 +199,26 @@
+ case '?':
+ default:
+ print_help();
+- exit (EXIT_OK);
++ exit (EXIT_SUCCESS);
+ break;
+ }
+ }
+
+ /* Read the MAC lists */
+ if (mc_maclist_init() < 0) {
+- exit (EXIT_ERROR);
++ exit (EXIT_FAILURE);
+ }
+
+ /* Print list? */
+ if (print_list) {
+ mc_maclist_print(search_word);
+- exit (EXIT_OK);
++ exit (EXIT_SUCCESS);
+ }
+
+ /* Get device name argument */
+ if (optind >= argc) {
+ print_usage();
+- exit (EXIT_OK);
++ exit (EXIT_SUCCESS);
+ }
+ device_name = argv[optind];
+
+@@ -220,10 +227,12 @@
+
+ /* Read the MAC */
+ if ((net = mc_net_info_new(device_name)) == NULL) {
+- exit (EXIT_ERROR);
++ exit (EXIT_FAILURE);
+ }
+ mac = mc_net_info_get_mac(net);
++#if defined(HAVE_ETHTOOL)
+ mac_permanent = mc_net_info_get_permanent_mac(net);
++#endif
+
+ /* --bia can only be used with --random */
+ if (set_bia && !random) {
+@@ -232,16 +241,18 @@
+
+ /* Print the current MAC info */
+ print_mac ("Current MAC: ", mac);
++#if defined(HAVE_ETHTOOL)
+ print_mac ("Permanent MAC: ", mac_permanent);
++#endif
+
+ /* Change the MAC */
+ mac_faked = mc_mac_dup (mac);
+
+ if (show) {
+- exit (EXIT_OK);
++ exit (EXIT_SUCCESS);
+ } else if (set_mac) {
+ if (mc_mac_read_string (mac_faked, set_mac) < 0) {
+- exit (EXIT_ERROR);
++ exit (EXIT_FAILURE);
+ }
+ } else if (random) {
+ mc_mac_random (mac_faked, 6, set_bia);
+@@ -254,10 +265,12 @@
+ } else if (another_any) {
+ mc_maclist_set_random_vendor(mac_faked, mac_is_anykind);
+ mc_mac_random (mac_faked, 3, 1);
++#if defined(HAVE_ETHTOOL)
+ } else if (permanent) {
+ mac_faked = mc_mac_dup (mac_permanent);
++#endif
+ } else {
+- exit (EXIT_OK); /* default to show */
++ exit (EXIT_SUCCESS); /* default to show */
+ }
+
+ /* Set the new MAC */
+@@ -279,9 +292,11 @@
+ /* Memory free */
+ mc_mac_free (mac);
+ mc_mac_free (mac_faked);
++#if defined(HAVE_ETHTOOL)
+ mc_mac_free (mac_permanent);
++#endif
+ mc_net_info_free (net);
+ mc_maclist_free();
+
+- return (ret == 0) ? EXIT_OK : EXIT_ERROR;
++ return (ret == 0) ? EXIT_SUCCESS : EXIT_FAILURE;
+ }