Ste Packaging

No more iPHUCing around.

Archive for the 'Misc' Category

Where in the World is … Ste?

February 21st, 2008 by Ste

Some of you may have noticed that I’m not in IRC. I decided I needed a break from it. Frankly, too many people were hounding me for package updates. Between people hounding me there and via email, it was getting very stressful. After a recent incident of this, I decided that I needed to take a step back. People seem to expect me to work on package updates 24×7, without pay. Yes, I am behind and that’s unusual. Regular readers of this blog know why, so I’ll not repeat it here. I’m working to get caught up - hell, I put out 44 updates last week. That wasn’t good enough for many people though - they want all the updates done NOW, preferably yesterday. Well, it ain’t gonna happen.

So, to give myself a mental break from the masses, I have stepped away from IRC for now. I’ll probably also press ‘delete’ on any email from users (NOT developers), that asks where the update to some package is. The fact is, it’ll be out when I get to it. I will generally work on them every day, but I make no promises. I *would* like to get caught up, so I’ll not be lazy about it, but if I feel like taking a day off here and there, I will. If you don’t like that: tough. My goal is to try to do them faster than they come in, otherwise I’ll never get caught up, but I won’t be pressured or bullied by users who, for the most part, download a half a million packages a day without donating a single penny to me. You won’t be getting quick updates when I lose my house and Internet connection … To those of you who have donated, and you know who you are, thank you for your kindness and generosity.

See you when I’m caught up. Developers, you know how to reach me via email. If you need a more immediate conversation, just ask, and I’ll give you my AIM/Yahoo screen names.

-ste

UPDATE: For the curious, in order for me to live solely off of this site, it needs to gross a minimum of $219 a day. So far, this month, it’s grossing an average of $33.28 a day (ad revenue = 37%, donations = 63%). -ste

Category: Misc | 2 Comments »

Why do I bother?

February 17th, 2008 by Ste

>From: Josh Barrow <carbiiee@gmail.com>
>To: “ste@psmxy.org” <ste@psmxy.org>
>Subject: Your packages
>Date: Sat, 16 Feb 2008 23:51:18 -0600
>
>How about you quit boohooing and update your damn packages.

My reply:

“How about you fuck off and die, asshole.”

-ste

UPDATE 2008-02-17 2:05 PM: Mr. Barrow emailed me again, a few minutes ago:

>Hello again,
>
>I would like to apologize for the email that I sent you yesterday.  I was in a really bad mood because my wife and I had had an argument, and I was reading your site and I fired off a shitty email without thinking about it.  I really do appreciate what you do for the community.
>
>Again, I’m sorry.
>
>Josh

-ste

Category: Misc | 17 Comments »

Jailbreak/Installer.app developers: Fix this mess, please.

February 16th, 2008 by Ste

Prior to the 1.1.3 firmware, everything was installed as, and ran as root. Following good UNIX practices, I installed apps with the following permissions: 755 for directories and executable files; 644 for all else. I held developer’s to this standard, too.

Now, with 1.1.3, we have multiple, competing, dissimilar jailbreak methods. Owner and group settings are not consistent between them, nor do they behave the same. This is causing havoc for app developers and me. Some examples:

“Nate’s” jailbreak:

  • /var/mobile is a symbolic link to /var/root, which is owner:group root:wheel
  • Files installed under /var/mobile by Installer.app are created root:wheel
  • If you run “id” as mobile, you get: uid 0 (root), gid 0 (wheel), groups 0 (wheel)
  • Applications run as root

ziphone jailbreak:

  • /var/root is root:wheel
  • /var/mobile is mobile:wheel
  • Files installed under /var/mobile by Installer.app are created root:wheel
  • If you run “id” as mobile, you get: uid 501 (mobile), gid 501 (mobile), groups (501)
  • Applications run as mobile

“Official” jailbreak:

  • /var/root is root:wheel
  • /var/mobile is mobile:mobile
  • Files installed under /var/mobile  by Installer.app are created root:mobile
  • If you run “id” as mobile, you get: uid 501 (mobile), gid 501 (mobile), groups (501)
  • Applications run as mobile

Problem arise, as neither application developers, nor I, know which jailbreak method a user has chosen to use.

With “Nate’s” jailbreak method, the 755/644 permissions were still fine, as everything was owned by, and running as, root.

Then, to support the  “Official” jailbreak method, I had to change the permissions on files and directories I installed under /var/mobile to 775/664. The files were owned by root and couldn’t be written to by mobile. However, since their group ownership was mobile, I was able to get things working by allowing group write.

Now along comes ziphone. Files created by Installer.app under /var/mobile are owned by root and their group is wheel, but the app’s owner and group when run are both mobile so even 775/664 won’t allow an app to write. Now I am forced to set those files and directories to 777/666 in order for things to work correctly.

So, even though Apple is trying to create privilege separation between the root and mobile accounts, I have to throw out all separation when it comes to what can write where, when it comes to anything under /var/mobile that I install via installer.app, if the app must write there.

This issue does not arise, however, for files and directories that an app creates under /var/mobile itself. That’s because the app’s running as mobile and creates the files and directories with the whatever uid/gid mobile has under that jailbreak.

Jailbreak developers need to  standardize on what the correct uid/gid is for the mobile account and what account apps run as. Installer.app needs to make sure that when it creates files under an account, they they can actually be read by and written to by, that account.

Unfortunately, so many people have used the various jailbreaks that I can’t stand my ground against users and developers and say “X jailbreak is the correct one, and the only one I will support.”, because 1) I no longer know which is correct (does anyone? What’s your proof?) and 2) even if I did, users and developers would be in an uproar if I refused to make it work for everyone, when I clearly can, just because it’s not the right way to do it.

So, I’m left with the distasteful task of installing everything under /var/root or /var/mobile with world read/write.

Someone please fix this mess.

-ste

Category: Misc, Nullriver | 6 Comments »

Original 1.1.3 Jailbreak removed from Ste Packaging.

February 2nd, 2008 by Ste

Ever since the dev team released their version of the 1.1.3 jailbreak, there have been problems, as theirs and the one that Nate True released do not behave the same. The jailbreak released by Nate does not maintain the privilege separation between the “mobile” user, which most apps run as in 1.1.3, and the “root” user. The dev team’s jailbreak preserves this.

Nate’s allowed most apps to continue to run as they had on previous releases. The dev team’s causes many apps to break. The dev team’s is the more correct method, however. Apps need to be rewritten to work in the new environment, rather than hacking the system to allow them to run unmodified.

Some developers are coding their apps to work with Nate’s jailbreak, while others are coding theirs to work with the dev team’s. This is bad. Users can’t tell which jailbreak method an app is targeted to run under and developers don’t know which jailbreak method the user used.

I have been asking Nate to update his jailbreak package so that it behaves the same as the dev team’s. I believe he is working on it, but it is not yet ready apparently. I cannot, in good conscience, keep letting people download and use his method and just letting this problem continue to get out of hand. Therefore, I have removed Nate’s jailbreak package from my repository. When/if he provides me with an updated version that is compatible with the dev team’s jailbreak method, I will be happy to host it for him.

Developers: code your apps for the environment created by the dev team’s jailbreak.

Users: Nate tells me he is working on a package that will convert a device jailbroken with his package to one compatible with the dev team’s. I encourage you to run it, when it becomes available, or that you start over and jailbreak with the dev team’s package.

We all need to be on the same page, with the same kind of jailbreak. Otherwise we will only have a huge mess. Yes, moving to the new way of doing things causes pain for developers and packagers. Installer.app 3.0 will help ease this pain, but the fact is we will just have to bit the bullet and get through this transition the best we can.

-ste

Category: Misc, Pkg Updates | 10 Comments »

iPhone and iPod Touch developers: come join us …

January 29th, 2008 by Ste

A few of us have gotten together and created a channel, on freenode, called #iphone-hackers. This is a place where devs can come and hang out with each other to exchange ideas and work together, in what we hope will be a productive environment for all.

The channel is not for general iPhone or iPod Touch questions - there is an already-established channel, ##iphone, on freenode for that.

So, developers, feel free to come join us. We welcome you.

-ste

Category: Misc | 3 Comments »