]> git.zerfleddert.de Git - proxmark3-svn/commitdiff
client should compile without warnings on linux, mac, windows
authorroel@libnfc.org <roel@libnfc.org@ef4ab9da-24cd-11de-8aaa-f3a34680c41f>
Thu, 14 Mar 2013 15:03:04 +0000 (15:03 +0000)
committerroel@libnfc.org <roel@libnfc.org@ef4ab9da-24cd-11de-8aaa-f3a34680c41f>
Thu, 14 Mar 2013 15:03:04 +0000 (15:03 +0000)
client/Makefile
client/cmdhfepa.c
client/cmdhfmf.c
client/cmdlfhitag.c
client/mifarehost.c
client/proxmark3.c
client/proxmark3.h
client/sleep.c [new file with mode: 0644]
client/sleep.h
client/util.h
include/common.h

index d314427c7dbcd788a7fc7754d9dec2f10c88c750..79e6eb2ea36cf3f4ecfbae10e8d06b6b0d794997 100644 (file)
@@ -12,7 +12,7 @@ CXX=g++
 VPATH = ../common
 OBJDIR = obj
 
-LDLIBS = -L/opt/local/lib -L/usr/local/lib -lusb -lreadline -lpthread
+LDLIBS = -L/opt/local/lib -L/usr/local/lib -lreadline -lpthread
 LDFLAGS = $(COMMON_FLAGS)
 CFLAGS = -std=c99 -I. -I../include -I../common -I/opt/local/include -Wall -Wno-unused-function $(COMMON_FLAGS) -g -O4
 
@@ -39,10 +39,14 @@ else
 QTGUI = guidummy.o
 endif
 
-CMDSRCS = \
-                       nonce2key/crapto1.c\
-                       nonce2key/crypto1.c\
-                       nonce2key/nonce2key.c\
+CORESRCS =     uart.c \
+               util.c \
+               sleep.c
+
+
+CMDSRCS =      nonce2key/crapto1.c\
+               nonce2key/crypto1.c\
+               nonce2key/nonce2key.c\
                        mifarehost.c\
                        crc16.c \
                        iso14443crc.c \
@@ -50,8 +54,6 @@ CMDSRCS = \
                        data.c \
                        graph.c \
                        ui.c \
-                       uart.c \
-                       util.c \
                        cmddata.c \
                        cmdhf.c \
                        cmdhf14a.c \
@@ -72,6 +74,7 @@ CMDSRCS = \
                        cmdlft55xx.c \
                        cmdlfpcf7931.c
 
+COREOBJS = $(CORESRCS:%.c=$(OBJDIR)/%.o)
 CMDOBJS = $(CMDSRCS:%.c=$(OBJDIR)/%.o)
 
 RM = rm -f
@@ -84,16 +87,16 @@ all-static: LDLIBS:=-static $(LDLIBS)
 all-static: snooper cli flasher
        
 proxmark3: LDLIBS+=$(QTLDLIBS)
-proxmark3: $(OBJDIR)/proxmark3.o $(CMDOBJS) $(OBJDIR)/uart.o $(QTGUI)
+proxmark3: $(OBJDIR)/proxmark3.o $(COREOBJS) $(CMDOBJS) $(QTGUI)
        $(CXX) $(CXXFLAGS) $^ $(LDLIBS) -o $@
 
-snooper: $(OBJDIR)/snooper.o $(CMDOBJS) $(OBJDIR)/uart.o $(OBJDIR)/guidummy.o
+snooper: $(OBJDIR)/snooper.o $(COREOBJS) $(CMDOBJS) $(OBJDIR)/guidummy.o
        $(CXX) $(CXXFLAGS) $^ $(LDLIBS) -o $@
 
-cli: $(OBJDIR)/cli.o $(CMDOBJS) $(OBJDIR)/uart.o $(OBJDIR)/guidummy.o
+cli: $(OBJDIR)/cli.o $(COREOBJS) $(CMDOBJS) $(OBJDIR)/guidummy.o
        $(CXX) $(CXXFLAGS) $^ $(LDLIBS) -o $@
 
-flasher: $(OBJDIR)/flash.o $(OBJDIR)/flasher.o $(OBJDIR)/uart.o
+flasher: $(OBJDIR)/flash.o $(OBJDIR)/flasher.o $(COREOBJS)
        $(CXX) $(CXXFLAGS) $^ $(LDLIBS) -o $@
 
 $(OBJDIR)/%.o: %.c
index a89c448a737766e4c50afe3d3540ad4cac034bf2..8a36d6aef8bb50d78b3ef0c8b3b3582a5439e033 100644 (file)
@@ -16,7 +16,6 @@
 #include "common.h"
 #include "cmdmain.h"
 #include "sleep.h"
-
 #include "cmdhfepa.h"
 
 static int CmdHelp(const char *Cmd);
index 11288085ecd436c80b3fa4763dc2b48959eca9fc..597841e17fa08b41ff80b3932f87411794163713 100644 (file)
@@ -287,10 +287,16 @@ int CmdHF14AMfDump(const char *Cmd)
        // Read key file\r
        \r
        for (i=0 ; i<16 ; i++) {\r
-               fread ( keyA[i], 1, 6, fin );\r
+               if (fread( keyA[i], 1, 6, fin ) == 0) {\r
+      PrintAndLog("File reading error.");\r
+                       return 2;\r
+    }\r
        }\r
        for (i=0 ; i<16 ; i++) {\r
-               fread ( keyB[i], 1, 6, fin );\r
+               if (fread( keyB[i], 1, 6, fin ) == 0) {\r
+      PrintAndLog("File reading error.");\r
+                       return 2;\r
+    }\r
        }\r
        \r
        // Read access rights to sectors\r
@@ -416,10 +422,16 @@ int CmdHF14AMfRestore(const char *Cmd)
        }\r
        \r
        for (i=0 ; i<16 ; i++) {\r
-               fread(keyA[i], 1, 6, fkeys);\r
+               if (fread(keyA[i], 1, 6, fkeys) == 0) {\r
+      PrintAndLog("File reading error.");\r
+                       return 2;\r
+    }\r
        }\r
        for (i=0 ; i<16 ; i++) {\r
-               fread(keyB[i], 1, 6, fkeys);\r
+               if (fread(keyB[i], 1, 6, fkeys) == 0) {\r
+      PrintAndLog("File reading error.");\r
+                       return 2;\r
+    }\r
        }\r
        \r
        PrintAndLog("Restoring dumpdata.bin to card");\r
@@ -429,7 +441,10 @@ int CmdHF14AMfRestore(const char *Cmd)
                        UsbCommand c = {CMD_MIFARE_WRITEBL, {i*4 + j, keyType, 0}};\r
                        memcpy(c.d.asBytes, key, 6);\r
                        \r
-                       fread(bldata, 1, 16, fdump);\r
+                       if (fread(bldata, 1, 16, fdump) == 0) {\r
+        PrintAndLog("File reading error.");\r
+        return 2;\r
+      }\r
                                        \r
                        if (j == 3) {\r
                                bldata[0]  = (keyA[i][0]);\r
@@ -816,8 +831,11 @@ int CmdHF14AMfChk(const char *Cmd)
                        if ( (f = fopen( filename , "r")) ) {\r
                                while( !feof(f) ){\r
                                        memset(buf, 0, sizeof(buf));\r
-                                       fgets(buf, sizeof(buf), f);\r
-                                       \r
+                                       if (fgets(buf, sizeof(buf), f) == NULL) {\r
+            PrintAndLog("File reading error.");\r
+            return 2;\r
+          }\r
+          \r
                                        if (strlen(buf) < 12 || buf[11] == '\n')\r
                                                continue;\r
                                \r
@@ -1077,7 +1095,10 @@ int CmdHF14AMfELoad(const char *Cmd)
        blockNum = 0;\r
        while(!feof(f)){\r
                memset(buf, 0, sizeof(buf));\r
-               fgets(buf, sizeof(buf), f);\r
+               if (fgets(buf, sizeof(buf), f) == NULL) {\r
+      PrintAndLog("File reading error.");\r
+                       return 2;\r
+    }\r
 \r
                if (strlen(buf) < 32){\r
                        if(strlen(buf) && feof(f))\r
@@ -1344,7 +1365,10 @@ int CmdHF14AMfCLoad(const char *Cmd)
                flags = CSETBLOCK_INIT_FIELD + CSETBLOCK_WUPC;\r
                while(!feof(f)){\r
                        memset(buf, 0, sizeof(buf));\r
-                       fgets(buf, sizeof(buf), f);\r
+                       if (fgets(buf, sizeof(buf), f) == NULL) {\r
+        PrintAndLog("File reading error.");\r
+        return 2;\r
+      }\r
 \r
                        if (strlen(buf) < 32){\r
                                if(strlen(buf) && feof(f))\r
index ab279dcb32e30b94b75ea88f5708db46b1d317bf..af61bd36690e965a45388199bbddd24359ad3b64 100644 (file)
@@ -147,7 +147,10 @@ int CmdLFHitagSim(const char *Cmd) {
                        return 1;
                }
                tag_mem_supplied = true;
-               fread(c.d.asBytes,48,1,pf);
+               if (fread(c.d.asBytes,48,1,pf) == 0) {
+      PrintAndLog("Error: File reading error");
+                       return 1;
+    }
                fclose(pf);
        } else {
                tag_mem_supplied = false;
index 14674b1635d83de45902ebf3c62821440506fecf..9676e6f7a63e28fe2ae64a196947220d2ed00861 100644 (file)
@@ -326,7 +326,10 @@ int loadTraceCard(uint8_t *tuid) {
        blockNum = 0;\r
        while(!feof(f)){\r
                memset(buf, 0, sizeof(buf));\r
-               fgets(buf, sizeof(buf), f);\r
+               if (fgets(buf, sizeof(buf), f) == NULL) {\r
+      PrintAndLog("File reading error.");\r
+                       return 2;\r
+    }\r
 \r
                if (strlen(buf) < 32){\r
                        if (feof(f)) break;\r
index ae4ad7c0e6a2c699cf06dfb2837a8c9947f506bd..32e6320a1dd1b01c02c00de48b82c9dee0967c4b 100644 (file)
@@ -23,6 +23,7 @@
 #include "uart.h"
 #include "messages.h"
 #include "ui.h"
+#include "sleep.h"
 
 static serial_port sp;
 static UsbCommand txcmd;
index eebaa49515d89f18f7020bb433b4eb26527b2a36..8236bfe71fb345cbd5c3b3066cc40f779cae8277 100644 (file)
@@ -18,7 +18,6 @@
 #define lli PRIi64
 #define hhu PRIu8
 
-#include <usb.h>
 #include "usb_cmd.h"
 
 #define PROXPROMPT "proxmark3> "
diff --git a/client/sleep.c b/client/sleep.c
new file mode 100644 (file)
index 0000000..fe397da
--- /dev/null
@@ -0,0 +1,28 @@
+//-----------------------------------------------------------------------------
+// Copyright (C) 2010 iZsh <izsh at fail0verflow.com>
+//
+// This code is licensed to you under the terms of the GNU GPL, version 2 or,
+// at your option, any later version. See the LICENSE.txt file for the text of
+// the license.
+//-----------------------------------------------------------------------------
+// platform-independant sleep macros
+//-----------------------------------------------------------------------------
+
+#ifndef _WIN32
+
+#define _POSIX_C_SOURCE        199309L
+#include "sleep.h"
+#include <time.h>
+#include <stdio.h>
+#include <sys/time.h>
+#include <errno.h>
+
+void nsleep(uint64_t n) {
+  struct timespec timeout;
+  timeout.tv_sec = n/1000000000;
+  timeout.tv_nsec = n%1000000000;
+  while (nanosleep(&timeout, &timeout) && errno == EINTR);
+}
+
+#endif // _WIN32
+
index 62d9f4d16974e27ecbc85926589c2fb8b173046a..81e1dea02eaf96a947b7486b4f3a262f639225aa 100644 (file)
 #define SLEEP_H__
 
 #ifdef _WIN32
-#include <windows.h>
-#define sleep(n) Sleep(1000 * n)
-#define msleep(n) Sleep(n)
+# include <windows.h>
+# define sleep(n) Sleep(1000 * n)
+# define msleep(n) Sleep(n)
 #else
-#include <unistd.h>
-#define msleep(n) usleep(1000 * n)
-#endif
+# include <inttypes.h>
+# include <unistd.h>
+  void nsleep(uint64_t n);
+# define msleep(n) nsleep(1000000 * n)
+# define usleep(n) nsleep(1000 * n)
+#endif // _WIN32
 
-#endif
+#endif // SLEEP_H__
 
index 1d410592e1d39dfc1032cbfd5d551cafd8845b6f..ce8876ed9323518b988d94b2fd347b8b3861e3cd 100644 (file)
 #include <ctype.h>
 #include <time.h>
 
-#define MIN(a, b) (((a) < (b)) ? (a) : (b))
-#define MAX(a, b) (((a) > (b)) ? (a) : (b))
+#ifndef MIN
+# define MIN(a, b) (((a) < (b)) ? (a) : (b))
+#endif
+#ifndef MAX
+# define MAX(a, b) (((a) > (b)) ? (a) : (b))
+#endif
 
 int ukbhit(void);
 
index ba286377fe356ac33686e4696d0badeb8e6710d0..71787b4f4e7a1e164f1cdd959683805a0b7bdc98 100644 (file)
 #include <at91sam7s512.h>
 typedef unsigned char byte_t;
 
-#define MIN(a, b) (((a) < (b)) ? (a) : (b))
-#define MAX(a, b) (((a) > (b)) ? (a) : (b))
+#ifndef MIN
+# define MIN(a, b) (((a) < (b)) ? (a) : (b))
+#endif
+#ifndef MAX
+# define MAX(a, b) (((a) > (b)) ? (a) : (b))
+#endif
 
 #endif
Impressum, Datenschutz