Commit Graph

64 Commits (master)

Author SHA1 Message Date
Henrik Grimler 02b577ec77
* Fix segfault when file to flash does not exist

* Rename some fields in the flashing protocol, MMC4096 seem to be UFS,
  and what I thought was the protocol number seem to be the number of
  logical units in the storage
2022-07-12 17:42:55 +02:00
Henrik Grimler d81e0f5bc2
Except for general cleanup we have these functional changes:

* Change printed pit header: last unknown number seem to be the Odin
  protocol version.

* Only run libusb_reset_device on ubuntu: on some distros/devices
  resetting the device causes the handshake to fail (observered for
2022-02-13 11:38:55 +01:00
Henrik Grimler 95e5c1cdcb
heimdall-frontend: set version to 2.0.0 here as well
Will not make a new release for just this though.
2021-12-16 17:40:42 +01:00
Henrik Grimler 6441c6a6c5
Remove some extra whitespace and convert some spaces to tabs 2021-12-10 09:46:30 +01:00
Henrik Grimler af87b7b7e4
cmake: replace LFS check with scripts from wireshark
Testing on 32bit arm have weird issues where the build failed if
run/continued without configuring again.

With these scripts we also require less files, no .c files in cmake/.

One downside is that we now require at least Visual Studio
2005 (MSVCR80) for compiling on windows (and there's no check for this
2021-12-10 09:46:24 +01:00
Henrik Grimler 761c2db4d2
cmake: set -std=c+++11 with target_compile_features instead 2021-12-10 09:46:17 +01:00
Henrik Grimler 6d17eb5178 heimdall-frontend: Remove one indentation level from Packaging
In the two variants of Packaging::ClashlessFilename.
2021-05-03 14:53:19 +02:00
Romain Hunault 6ede1f1f33 Fix macOS issues
[ Taken from ]
2021-05-03 14:53:19 +02:00
Henrik Grimler af3f0d6ac9 Convert all files to unix line endings
All except Win32/README.txt.
2021-05-03 14:24:06 +02:00
Henrik Grimler ccafa21e64 heimdall-frontend: fix deprecated use of qrand()
Use QRandomGenerator instead. Fixes compilation warning:

/home/grimler/Heimdall/heimdall-frontend/source/Packaging.cpp: In static member function ‘static QString HeimdallFrontend::Packaging::ClashlessFilename(const QList<HeimdallFrontend::FileInfo>&, const QString&)’:
/home/grimler/Heimdall/heimdall-frontend/source/Packaging.cpp:910:34: warning: ‘int qrand()’ is deprecated: use QRandomGenerator instead [-Wdeprecated-declarations]
  910 |      filename.append(QChar(qrand() % ('Z' - 'A' + 1) + 'A'));
      |                                  ^
In file included from /usr/include/qt/QtCore/qchar.h:43,
                 from /usr/include/qt/QtCore/qstring.h:49,
                 from /usr/include/qt/QtCore/qdatetime.h:44,
                 from /usr/include/qt/QtCore/QDateTime:1,
                 from /home/grimler/Heimdall/heimdall-frontend/source/Packaging.cpp:32:
/usr/include/qt/QtCore/qglobal.h:1274:80: note: declared here
 1274 | Q_CORE_EXPORT QT_DEPRECATED_VERSION_X_5_15("use QRandomGenerator instead") int qrand();
      |                                                                                ^~~~~
2021-05-03 14:24:06 +02:00
Henrik Grimler 220f90a4fe heimdall-frontend: fix deprecated use of sprintf
Use QString::asprintf instead. Fixes compilation warning:

/home/grimler/Heimdall/heimdall-frontend/source/mainwindow.cpp: In member function ‘void HeimdallFrontend::MainWindow::StartFlash()’:
/home/grimler/Heimdall/heimdall-frontend/source/mainwindow.cpp:925:53: warning: ‘QString& QString::sprintf(const char*, ...)’ is deprecated: Use asprintf(), arg() or QTextStream instead [-Wdeprecated-declarations]
  925 |   flag.sprintf("--%u", fileInfos[i].GetPartitionId());
      |                                                     ^
In file included from /usr/include/qt/QtCore/qcoreapplication.h:44,
                 from /usr/include/qt/QtCore/QCoreApplication:1,
                 from /home/grimler/Heimdall/heimdall-frontend/source/mainwindow.cpp:22:
/usr/include/qt/QtCore/qstring.h:393:14: note: declared here
  393 |     QString &sprintf(const char *format, ...) Q_ATTRIBUTE_FORMAT_PRINTF(2, 3);
2021-05-03 14:24:06 +02:00
Henrik Grimler 9bff064d40 CMake: bump minimum version
Mostly because 2.8.4 will be deprecated in the not too far future
2021-05-03 14:07:33 +02:00
Alan 4a9259b477 Added install targets 2017-11-10 15:25:08 +01:00
Benjamin Dobell 699549e3c6 Bumped version to 1.4.2 2017-05-12 04:34:25 +10:00
Benjamin Dobell 8709370bc4 It's 2017. Where did the years go? 2017-05-12 03:47:37 +10:00
Steffen Pankratz 34c4636ee0 - fixed possible null pointer access 2016-02-29 19:50:53 +01:00
Steffen Pankratz 6d7d35fa76 - fixed memory leak
Memory allocated by 'new[]' should be deallocated by 'delete[]'.
2016-02-29 18:39:21 +01:00
Benjamin Dobell 2ad53a5100 Due to a Qt bug on OS X we need to browse for *.gz not *.tar.gz 2015-03-06 00:48:18 +11:00
Benjamin Dobell d3335dec58 Fixed a few Heimdall Frontend niggles
Yes, the HeimdallState enum class operator overloading and operator usage is
crazy nonsense. I want to love enum class, but this is just ridiculous.
2015-02-21 03:50:55 +11:00
Benjamin Dobell 67c17cc48b Fix Unix build issues and work-around Qt5 Mac UI bugs 2015-02-19 05:22:04 +11:00
Benjamin Dobell b22ae7b89f Removed autotools and VS files, and standardised source dir naming 2015-02-19 04:13:33 +11:00
Benjamin Dobell 39b48f2357 Upgrade Heimdall Frontend to Qt5 and build with cmake 2015-02-19 04:13:26 +11:00
Benjamin Dobell d1a7f8d693 Tweaked VC++ linker options for Frontend (to ensure quicker builds). 2014-05-18 05:03:57 +10:00
Benjamin Dobell fc0d542bc2 Fixed Frontend bug that could cause flashing to fail.
The resume boolean did not have a default value set. Consequently if the
memory address containing the boolean was already non-null it resulted in
the heimdall CLI binary being called with the --resume flag even though
the Resume check-box in the UI was not checked.
2014-05-18 03:05:46 +10:00
Benjamin Dobell ba8600a6c3 Fixed Heimdall Frontend Mac builds. 2014-05-15 00:59:47 +10:00
Benjamin Dobell 9f957a1937 Updated copyright notices to 2014 2014-05-06 22:53:10 +10:00
Benjamin Dobell 7d0d608473 Fixed statically linked builds on Windows. 2014-05-06 21:39:08 +10:00
Benjamin Dobell 3dae56a596 Bumped version number to 1.4.1 2014-05-06 21:39:06 +10:00
Benjamin Dobell a934ad2608 Project file changes (for statically linked vc++ library builds). 2014-05-06 21:39:04 +10:00
Benjamin Dobell f47b69d037 Modified Heimdall Frontend so it can find Heimdall CLI in /usr/local/bin on OS X. Also updated the OS X build files, as well as READMEs for all platforms. 2013-06-08 15:07:01 +10:00
Benjamin Dobell 3d6a35972b Renamed udev rules file and explictly added /usr/include to the include search path for Heimdall Frontend on UNIX systems. 2013-06-04 23:00:55 +10:00
Benjamin Dobell 858a3470e9 Moved LICENSE to root of the repo and deleted heimdall-frontend duplicate documentation in doc-pak. 2013-05-14 00:09:19 +10:00
Benjamin Dobell 07dcba54fc Update copyright notices, version identifier and documentation for 1.4.0 release. 2013-05-13 00:08:30 +10:00
Benjamin Dobell 4b089d8084 Fix OS X qmake/environment variable usage in .pro file. 2013-05-13 00:06:44 +10:00
Benjamin Dobell 59cc6133d5 Fixed bug in Heimdall Frontend where "resume" wasn't being checked when it should have been. 2013-05-06 00:01:08 +10:00
Benjamin Dobell 55d6c9551e Fixed two major bugs in libpit related functionality:
- Partitions were being excluded from flashing (and UI) if the block-count
  was zero. Instead this is now done using a new IsFlashable() method
  which checks if the partition name is not blank.
- PitData::Pack() was packing the partition name where it should have been
  packing the "flash filename". This resulted in incorrect PIT files being
  flashed to the device.
2013-05-05 20:53:36 +10:00
Benjamin Dobell f7f29172cb Updated Linux build files and fixed a string formatting warning in Heimdall Frontend. 2013-03-10 02:33:12 +11:00
Benjamin Dobell ebbc3e7cd2 - Removed legacy command line hard-coded partition name parameters.
- As a result of the above two points, there are no "known boot
  partitions", and hence boot partitions are not automatically flashed
- Made partitions flash in the order in order in which partition arguments
  are specified. Hence, it's recommended that you specify boot partitions
- Added --usb-level argument that can be used for debugging libusbx, or
  flashing issues in general.
- Removed generally non-functional firmware dumping behaviour.
- Removed auto-resume functionality - Although this feature was definitely
  nice to have; I believe it may be responsible for flashing compatibility
  issues for a variety of devices.
- As a result of the above. In order perform another action after a
  --no-reboot action, you must provide the --resume flag.
- Heimdall Frontend also has support for specifying the --resume flag
  via a GUI. Heimdall Frontend also tries to keep track of your actions
  and enable "Resume" automatically after a "No Reboot" action.
- Refactored quite a few of the actions, and code responsible for flashing
  (particularly PIT file flashing).
- Bumped version to 1.4RC3 *however* this commit is not yet an official
  release candidate. It's still a WIP. In particular build files still
  have not been updated for Linux and OS X.
2013-03-08 00:12:27 +11:00
Benjamin Dobell 4d850a272a - Updated MSVC projects to MSVC2012.
- Changed from libusb-1.0 to libusbx.
- Upgraded to C++11 (defined as C++0x for backwards compatibility with gcc < 4.7).
2013-01-23 00:44:12 +11:00
Benjamin Dobell 7a8f81347b Made Heimdall Frontend pass the --verbose parameter for all actions when 'Verbose Output' is checked. 2012-10-13 19:35:20 +11:00
Benjamin Dobell 648bfb1bb7 Added a Qt4VSPropertySheet.props file that will hopefully work for other people. 2012-10-07 23:40:07 +11:00
Benjamin Dobell 4994531230 Made Qt project (qmake) configurable using environment variables on OS X. Also added a missing &reference symbol in heimdall/source/Arguments.h 2012-10-03 00:54:30 +10:00
Benjamin Dobell 6cd6b35c73 Heimdall 1.4 RC1:
- Massive refactoring.
    - Support for Qualcomm based devices.
    - Print PIT from file.
    - Use partition names as arguments e.g. --HIDDEN, --KERNEL, --MOVINAND etc.
    - Heimdall Frontend UI improvements.
    - And much more...
2012-10-02 01:41:25 +10:00
Benjamin Dobell 66f1e84dd2 Updated version to 1.3.2 and copyright notices to 2012. 2012-03-31 12:22:17 +11:00
Benjamin Dobell 0de82e08b6 Heimdall 1.3.1
- Improved the no-reboot functionality, you no longer have to reboot to
  flash more files.
- Fixed repartitioning functionality (thanks XDA user psych0phobia
  for finding the problem!)
2011-09-11 23:02:55 +10:00
Benjamin-Dobell ed9b08e5d9 Minor OS X UI tweaks. 2011-07-28 02:01:23 +10:00
Benjamin Dobell d8642f9ce2 Added proper copyright notices to the About window and also updated some documentation slightly. 2011-07-26 17:50:06 +10:00
Benjamin Dobell babef8e580 - Added file extension checks to Heimdall Frontend (for partition files).
- Made sure Heimdall command line always returns 1 if a device is not detected.
- Minor interface tweaks for Heimdall Frontend.
2011-07-21 02:43:49 +10:00
Benjamin Dobell 7dc796a988 Documentation update. 2011-07-20 04:55:22 +10:00
Benjamin Dobell 3fe2564481 - Heimdall Frontend large font fixes.
- Heimdall Frontend name collision resolution (over the top).
- Attempt at resolving SGS2 failure to end session errors. (Needs testing)
2011-07-20 04:18:18 +10:00