Hash Sum Mismatch Problem in Cydia

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • Hash Sum Mismatch Problem in Cydia

      Hallo zusammen - hab da mal eine etwas spezifischere Frage ;)

      Ich habe eine Cydia Repo - soweit so gut. Nun bekomme ich allerdings in Cydia beim Download eines Paketes aus meiner Repo den Fehler Hash Sum Mismatch angezeigt. Vorerst habe ich mal alle Pakete raus genommen und nur ein Paket drinnen gelassen.

      Aus der Packages Datei wird das Packages.bz2 Archiv generiert. Hier der Inhalt der Packages Datei (entpackt aus der Packages.bz2):

      Quellcode

      1. Package: de.easterncydia.deepskyblue
      2. Version: 1.2-1
      3. Architecture: iphoneos-arm
      4. Maintainer: Maintainer <mail@provider.tld>
      5. Depends: com.anemonetheming.anemone
      6. Author: Author <mail@provider.tld>
      7. Description: All is DeepskyBlue
      8. Filename: ./downloads/de.easterncydia.deepskyblue_1.2_iphoneos-arm.deb
      9. Tag: purpose::extension
      10. Size: 73981448
      11. Section: Themes
      12. MD5Sum: 228dd6a847e99a2b9652b58ff5154ca2
      13. SHA1: 52f144a6055cdb570321351d5610f894e7d946e0
      14. SHA256: 200e7f3e4e1261fa06459b5b32c71ae70a3ced18ae78e0357ef3833c105effb6
      15. SHA512: c9506631d2d6c1e2e205bc8d58cf591689502e883f6c211d3f0be17d6d0b2c3e7546ed4a68e46f2bb6278e2d9492c376189d4de73744414694fe33f391acc1ed
      16. Name: DeepSkyBlue
      17. Depiction: http://repo.easterncydia.de/html/de.easterncydia.deepskyblue_1.2_iphoneos-arm.deb.php
      Alles anzeigen

      Die Hash Summen passen, wenn ich mir die Werte im Terminal auf dem Mac generiere bekomme ich die folgenden Ausgaben:


      Shell-Script: Terminal Ausgabe

      1. OSX  ~/Desktop/repo Work  md5 de.easterncydia.deepskyblue_1.2_iphoneos-arm.deb  ✔  22:16:09
      2. MD5 (de.easterncydia.deepskyblue_1.2_iphoneos-arm.deb) = 228dd6a847e99a2b9652b58ff5154ca2
      3. OSX  ~/Desktop/repo Work  shasum de.easterncydia.deepskyblue_1.2_iphoneos-arm.deb  ✔  22:16:12
      4. 52f144a6055cdb570321351d5610f894e7d946e0 de.easterncydia.deepskyblue_1.2_iphoneos-arm.deb
      5. OSX  ~/Desktop/repo Work  shasum -a 256 de.easterncydia.deepskyblue_1.2_iphoneos-arm.deb  ✔  22:16:20
      6. 200e7f3e4e1261fa06459b5b32c71ae70a3ced18ae78e0357ef3833c105effb6 de.easterncydia.deepskyblue_1.2_iphoneos-arm.deb
      7. OSX  ~/Desktop/repo Work  shasum -a 512 de.easterncydia.deepskyblue_1.2_iphoneos-arm.deb  ✔  22:16:35
      8. c9506631d2d6c1e2e205bc8d58cf591689502e883f6c211d3f0be17d6d0b2c3e7546ed4a68e46f2bb6278e2d9492c376189d4de73744414694fe33f391acc1ed de.easterncydia.deepskyblue_1.2_iphoneos-arm.deb
      Auch die Dateigröße in Bytes ist richtig.

      Bei der Installation in Cydia bekommt man allerdings die folgende Fehlermeldung angezeigt:


      Die Werte unter "Hashes of expected file" sind ja korrekt, nur erhält Cydia selbst andere Hashes. Warum? Keine Ahnung, aber das ist mein Problem aktuell. Normalerweise würde das ja auf eine MITM Attacke o.ä. rauslaufen, aber ich habe mir die .deb über CyDownload gezogen und von der heruntergeladenen Datei die Hashes berechnet und auch diese stimmen 1:1 mit der Packages Datei überein.

      Leider habe ich auf den Server keinen SFTP Zugriff, ansonsten könnte ich mittels grep nach den fehlerhaften Hashes suchen, aber es gibt keine Backupdateien oder ähnliches in der die Werte drinnen stehen könnten.

      Wer sich selbst den Fehler anschauen möchte - einfach die Repo in Cydia hinzufügen und das Theme DeepSkyBlue installieren probieren: http://repo.easterncydia.de (Link öffnet direkt Cydia auf dem iPhone).

      Aktuell bin ich planlos und weiß nichtmehr an was es liegen könnte oder wo der Fehler hier liegt. ?( Bin für jede Hilfe dankbar :)


      Grüße aus Österreich,
      Fabian
      Schaut auf meiner Webseite Hack4Life vorbei. :thumbup:

      Bin ein leichter Apple Fanatiker und habe seit dem iPhone 4 fast alle Geräte mindestens einmal. :rolleyes:
    • Ich erstelle meine deb Dateien auch selber, aber ich benutze ein virtuelles Debian Linux auf meinem Mac.
      Nachdem die deb Datei erstellt ist wird die Package Datei erstellt welche ich brauche um die neue deb Datei auf der Repo sichtbar zu machen. Während des Erstellen der Package Datei wird auch die Hashsum erstellt, welche dann in die Packages Datei auf der Repo kopiert wird.
      Ändere ich etwas und erstelle eine neue deb Datei, auch wenn es lediglich eine geänderte Ordner Permission ist - also keine neuen Bytes dazu, dann hat die deb Datei eine andere Hashsum und ich bekomme eine Mismatch Error message in Cydia.
      Für jede neu erstellte deb Datei braucht man erneut eine neue Hashsum, weil jede Hashsum einzigartig für eine bestimmte deb Datei gilt.
      Selbst wenn man eine neue deb erstellt, ohne irgendetwas zu ändern, dann passt die erste Hashsum nicht mehr.
      Da wird der Fehler liegen.
      Nichts ist unmöglich, nur Wunder dauern etwas länger!
    • Wie erstellst du denn die .deb Dateien? Unter Mac kann man ja sudo dpkg-deb -b directory dafür verwenden. Und vor allem, wie erstellst du dann die Package Datei? Scheint ja bei dir auch automatisiert dann passieren.

      Die Hashsums werden bei meinem System auch automatisiert immer neu generiert, von daher müsste ja eben alles passen und warum nun der Fehler kommt ist mir unklar. Ich habe auch gerade eine neue Test .deb erstellt und probiert diese hochzuladen, aber auch hier nach wie vor der gleiche Fehler.
      Schaut auf meiner Webseite Hack4Life vorbei. :thumbup:

      Bin ein leichter Apple Fanatiker und habe seit dem iPhone 4 fast alle Geräte mindestens einmal. :rolleyes:
    • So, Fehler wurde behoben. Habe mir eine Testrepo erstellt, dort alles eingerichtet und getestet und anschließend die vorhandenen .deb Files von der kaputten Repo rübergeschoben, dort die Package File neu generiert und dort hat alles funktioniert. Warum dort alles funktioniert kann ich nicht sagen, ich weiß nur, dass es funktioniert. Habe nun die kaputte Repo auf die neue Testrepo umgeleitet und neu konfiguriert. Nun läuft auch hier alles super.
      Schaut auf meiner Webseite Hack4Life vorbei. :thumbup:

      Bin ein leichter Apple Fanatiker und habe seit dem iPhone 4 fast alle Geräte mindestens einmal. :rolleyes:
    • Ich benutze eine Debian Linux Installation die in VirtualBox auf meinem Mac läuft.
      Debian Linux war schon immer ein bevorzugtes OS von mir.
      Damit kann man die enthaltene deb package Erstellung benutzen, allerdings braucht die etwas Erweiterungen denn die Einträge für in iOS-deb Package sind etwas anders als für ein Debian-deb Package.
      cydia-repo.zip
      Dieses enthält 2 Dateien, dpkg-scanpackages und dpkg-gettext.pl.
      dpkg-scanpackages gehört in /usr/bin und muß executable sein.
      dpkg-gettext.pl gehört in /etc/perl/ und muß ebenfalls executable sein.
      Und schon kann man deb-Packages für iOS in Debian erstellen.
      Den Vorteil den man hat wenn man Debian Linux benutzt um iOS-deb Packages zu erstellen ist das man Ownership und Permission einstellen kann, ebenso wie Symlinks.
      Ein Beispiel ist das XenHTML widgets, egal ob nun iWidget, LockHTML oder SBHTML, die eine config.js im "root" Ordner haben eine Ownership of User:mobile und Group:mobile haben müssen, sowie read/write Rechte für beide.
      Das läßt sich mit einem Debian Linux hervorragend machen.
      D.h. das die dann "out of the box" funktionieren.
      OK, wenn ich alles so habe wie ich es will, mit den richtigen Ownership und Permissions, mache ich im Terminal
      "dpkg-deb -b MeinPackageOrdnerName"
      das gibt mir die deb Datei.
      Dann im Terminal
      "dpkg-scanpackages -m . /dev/null >Packages"
      Das gibt mir die Packages Datei.
      Hier mal ein Beispiel wie die ausehen.

      Package: com.rasputin007.unixenhtml
      Version: 1.0
      Architecture: iphoneos-arm
      Maintainer: Rasputin007 <ras@rasputin007.com>
      Filename: ./unixen_iphoneos-arm.deb
      Size: 66025664
      MD5sum: 68a8c2888c0b8905aad78eec714b7d26
      SHA1: b6ca00d9cc4cdac5b24066491a73dab9f1b0fcef
      SHA256: 30def34dc2f324917b0884ea02498f88ac9a6ad4972e58f22a43a680c8dcf749
      Section: XenHTML Widget
      Homepage: rasputin007.com
      Description: UniXen is a background widget for XenHTML. There is no text, no dat, no touch zones. It is just a basic UniAW weather based animated wallpaper.
      Author: Rasputin007 <ras@rasputin007.com>
      Depiction: apt.rasputin007.com/info/widget/unixen/unixen.html
      Name: UniXen Widget
      Sponsor: Rasputin007 <rasputin007.com>

      Nun muß ich nur noch den Path in der Filename auf die Repo anpassen und schon kann ich das alles in die Packages Datei in der Repo kopieren.
      Ein kurzes "gzip Packages" und "bzip2 Packages" und dann habe ich die Repo-Packages Dateien fertig.

      Einige sagen das Ubuntu, ein Debian basierendes Linux OS, benutzer freundlicher sei. Das mag sein, aber Ubuntu hat keinen "root" User, Du bist der eingeloggte User mit "root" Privilegien, d.h. bist Du der User "Karl" dann haben deine deb Package Ordner einen User "Karl" und ich weis nicht wie toll das mit iOS abgeht.
      Nichts ist unmöglich, nur Wunder dauern etwas länger!