commit 8f77179a2f
Author: Philippe Teuwen <phil@teuwen.org>
Date: Thu Jan 6 11:25:38 2022 +0100
remove unused file
commit bcafc5d03c
Author: Philippe Teuwen <phil@teuwen.org>
Date: Thu Jan 6 11:24:04 2022 +0100
some historical copyright adjustments, thanks @iceman1001!
commit b703bb746b
Author: Philippe Teuwen <phil@teuwen.org>
Date: Thu Jan 6 02:19:46 2022 +0100
Adapting license headers, WIP
commit 8952a1f712
Author: Philippe Teuwen <phil@teuwen.org>
Date: Thu Jan 6 00:37:34 2022 +0100
adapt contributing text
commit cdfb83075f
Author: Philippe Teuwen <phil@teuwen.org>
Date: Thu Jan 6 00:24:15 2022 +0100
toc
commit 014817f854
Author: Philippe Teuwen <phil@teuwen.org>
Date: Thu Jan 6 00:15:40 2022 +0100
Adding AUTHORS and changing licensing terms from 'GPLv2 or later' to 'GPLv3 or later' to comply with components available only under 'GPLv3 or later'. Details:
Initial releases by Jonathan Westhues in 2005-2007 were made under GPL
"either version 2 of the License, or (at your option) any later version"
Since then, a number of dependencies and files were integrated to the project, but under a "GPLv3 or later" license. These components are reveng, desfire_crypto and lrpcrypto. Note that compnents cryptorf, hitag2crack and fpga-xc3s100e are also under GPLv3+ but not bound to the firmware or client source code.
Therefore, we must mechanically upgrade the license of the whole project to GPLv3+, as made possible by the initial licensing terms and as mandated by the inclusion of GPLv3+ code.
Still to do: update each source file header:
Copyright (C) Proxmark3 contributors. See AUTHORS.md for details.
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
commit 5561466fe8
Author: Philippe Teuwen <phil@teuwen.org>
Date: Wed Jan 5 18:56:56 2022 +0100
make style
commit 2d1a1dc034
Author: Philippe Teuwen <phil@teuwen.org>
Date: Wed Jan 5 17:57:49 2022 +0100
make style doc/commands.json
commit fc53665e5c
Merge: a6d22ee43c0cc09d86
Author: Philippe Teuwen <phil@teuwen.org>
Date: Wed Jan 5 17:52:44 2022 +0100
Merge pull request #1552 from joswr1ght/master
Add --no-auth support for hf mfdes createapp
commit c0cc09d86b
Author: Joshua Wright <jwright@hasborg.com>
Date: Wed Jan 5 07:12:20 2022 -0500
Style consistency changes for hf mfdes createapp feature addition
commit f9c96f49da
Author: Joshua Wright <jwright@hasborg.com>
Date: Tue Jan 4 17:01:10 2022 -0500
Update CHANGELOG with MIFARE DESFire createapp --no-auth change
commit 859b55933d
Author: Joshua Wright <jwright@hasborg.com>
Date: Tue Jan 4 15:55:26 2022 -0500
Add --no-auth support for hf mfdes createapp
* .h include only the strict minimum for their own parsing
* this forces all files to include explicitment their needs and not count on far streched dependencies
* this helps Makefile to rebuild only the minimum
* according to this rule, most standalone .h are now gone
* big app.h is gone
* remove seldom __cplusplus, if c++ happens, everything will have to be done properly anyway
* all unrequired include were removed
* split common/ into common/ (client+arm) and common_arm/ (os+bootloader)
* bring zlib to common/
* bring stuff not really/not yet used in common back to armsrc/ or client/
* bring liblua into client/
* bring uart into client/
* move some portions of code around (dbprint, protocols,...)
* rename unused files into *_disabled.[ch] to make it explicit
* rename soft Uarts between 14a, 14b and iclass, so a standalone could use several without clash
* remove PrintAndLogDevice
* move deprecated-hid-flasher from client to tools
* Makefiles
* treat deps in armsrc/ as in client/
* client: stop on warning (-Werror), same as for armsrc/
Tested on:
* all standalone modes
* Linux
- Clean up bootloader asm
- Remove fromflash.c - it's not worth doing in C, do it in ASM
- Clean up linker script
- Force use of symbol inside bootphase2 (otherwise linker
garbage-collects it)
- Link bootloader with gcc instead of ld
I have kept whatever copyright notices exist. Please add your own
copyright notice if you have made any nontrivial changes or additions to
the code. There are several files without any attribution, currently.
+ Add common area at end of RAM to communicate between main os and bootrom
+ Lower stack end to make room for common area
+ Implement CMD_DEVICE_INFO in both OS and bootrom to give information about the current state and supported features
+ Allow hands-free firmware update: When CMD_START_FLASH is received over USB in OS mode, the device will reset and enter the bootrom
Pressing the button in hands-free update mode takes precedence: releasing the button will immediately abort firmware update and
perform a reset. Do not press the button.
+ Require each flash sequence to be preceded by a CMD_START_FLASH to set up the boundaries for the following flash sequence
Not compatible with linux flasher before SVN revision 200
Currently no compatible flasher for Windows. WINDOWS USERS: DO NOT UPDATE YOUR BOOTROM YET
+ Protect bootrom flash area unless magic unlock sequence is given in CMD_START_FLASH
Use perl to create the version information (thereby re-creating the perl dependency and adding an svn dependency) but fall back in case of missing perl or svn
Remove the now unnecessary files (merge-srec.pl, ldscript-ram-jtag)
Note that this drops the dependency on perl for bootrom build, so end-users who don't touch the FPGA bitstream will not need perl anymore
It is identical to the popular 20081211, with the doob addition (20090301), a
linux client, and two additional commands for LF analysis. Let me know if
you find issues here!