1Conan / tsschecker

a powerful tool to check tss signing status of various devices and firmwares
GNU Lesser General Public License v3.0
58 stars 15 forks source link

CI not using the latest libraries #5

Closed DanTheMann15 closed 2 years ago

DanTheMann15 commented 2 years ago

Hey there, i'm back posting on here again because i notice a problem with the prebuilt github binaries.

when using the prebuilt tsschecker, it lacks proper support for the newer devices released after June 2020 and as a consequence, can't properly save blobs for these devices.

the main problems are the libirecovery and libplist libraries aren't using the latest commits, but instead are using the old release which is now quickly outdated and useless for the purpose of this program.

when you can, update the ci to use the latest libs for everything (also libzip/curl etc.)

NSAntoine commented 2 years ago

You mean the A14 devices? I'm pretty sure that was fixed, wasn't it..?

1Conan commented 2 years ago

libirecovery isn't used for much in tsschecker. It's just used for getting board configs from device ids. I don't recommend on relying on this and you should always use board configs to save your blobs.

DanTheMann15 commented 2 years ago

libirecovery isn't used for much in tsschecker. It's just used for getting board configs from device ids. I don't recommend on relying on this and you should always use board configs to save your blobs.

if that's the case, i would just eliminate the libirecovery dependency and make a database built-into tsschecker. i think it would save time so that you wouldn't need termcap/ncurses, and libreadline.

i get that you had a bad experience with device id's, i did too and that's why i use boardconfigs.

The Reason why this is an issue is because when you use a boardconfig for a device that's newer than the version of libirecovery you used with building tsschecker you then have to use the Model ID along with the boardconfig, it can be a pain in the ass to do that when you save blobs. which is why it's worth fixing.

just update the libirecovery used to the latest git, or at least the latest git that supports all of the current devices, or just eliminate libirecovery and just make a new database that tsschecker relies on. it'll make our lives better.

1Conan commented 2 years ago

libirecovery isn't used for much in tsschecker. It's just used for getting board configs from device ids. I don't recommend on relying on this and you should always use board configs to save your blobs.

if that's the case, i would just eliminate the libirecovery dependency and make a database built-into tsschecker.

Procursus also depends on this fork and I don't want to break it. Though that can be an option as I've done that before.

i think it would save time so that you wouldn't need termcap/ncurses, and libreadline.

I actually removed building of the tools so I didn't need any of those libs.

i get that you had a bad experience with device id's, i did too and that's why i use boardconfigs.

The Reason why this is an issue is because when you use a boardconfig for a device that's newer than the version of libirecovery you used with building tsschecker you then have to use the Model ID along with the boardconfig, it can be a pain in the ass to do that when you save blobs. which is why it's worth fixing.

just update the libirecovery used to the latest git, or at least the latest git that supports all of the current devices, or just eliminate libirecovery and just make a new database that tsschecker relies on. it'll make our lives better.

I'll try to in the coming weeks or if someone PRs it. Though the patch to not require libusb and other deps might break.

DanTheMann15 commented 2 years ago

I'll try to in the coming weeks or if someone PRs it. Though the patch to not require libusb and other deps might break.

i just tested your patch against the latest libirecovery git and it worked without a hitch, so at least we know it still works.

but try updating all the other deps for the best functionality, like libplist, libzip, libfragmentzip and openssl 1.1.1l, 3.0.0 as well.