Mac OS 9 Software Update: Difference between revisions

From Computers Wiki
Jump to navigationJump to search
(→‎XML templates: Add screenshot)
(→‎Network traffic?: Add User-Agent)
Line 36: Line 36:
* Files may have used binhex, StuffIt, and self-extracting archives.<ref>Software Update Extension, resource <code>STR#</code>, ID = -20905 (Status Strings), string 14: "Debinhexing..."</ref><ref>Software Update Extension, resource <code>STR#</code>, ID = 2110</ref>
* Files may have used binhex, StuffIt, and self-extracting archives.<ref>Software Update Extension, resource <code>STR#</code>, ID = -20905 (Status Strings), string 14: "Debinhexing..."</ref><ref>Software Update Extension, resource <code>STR#</code>, ID = 2110</ref>
* Though the baked-in URL is <code>http://</code>, the following are likely also supported: <code>ftp://</code>, <code>https://</code>, <code>urlproxy:</code> (?), and <code>file:///</code>.<ref>Software Update Extension, resource <code>STR#</code>, ID = -20902 (Subwoofer Schemes)</ref>
* Though the baked-in URL is <code>http://</code>, the following are likely also supported: <code>ftp://</code>, <code>https://</code>, <code>urlproxy:</code> (?), and <code>file:///</code>.<ref>Software Update Extension, resource <code>STR#</code>, ID = -20902 (Subwoofer Schemes)</ref>
* User-Agent is "URL_Access/2.1 (Macintosh; PPC)"<ref>Software Update Extension, resource <code>STR </code>, ID = -20902 (User Agent String)</ref>


== References ==
== References ==

Revision as of 19:48, 25 September 2025

Scattered notes on reverse engineering how the Mac OS 9 Software Update system works.

URL?

In the Software Update Engine extension, resource ulsu ID = 128 has this URL:

Unfortunately, no samples of this XML file seem to be archived anywhere.

XML templates

Pieces of a possible request or response format

Hints at the data structures used for requests, responses, and logging.

Log format

From STR# ID = 20000, then prettyprinted. Caret-prefixed numbers are template placeholders.

<DOCUMENT>
    <VERSION>0</VERSION>
    <LOG>
        <DATE>^0</DATE>
        <NAME>^1</NAME>
        <VERSION>^2</VERSION>
        <STATUS>^3</STATUS>
    </LOG>
    <!-- additional log entries... -->
</DOCUMENT>

Network traffic?

I have not done any disassembly yet, so these notes come from poking around in ResEdit.

  • Files may have used binhex, StuffIt, and self-extracting archives.[1][2]
  • Though the baked-in URL is http://, the following are likely also supported: ftp://, https://, urlproxy: (?), and file:///.[3]
  • User-Agent is "URL_Access/2.1 (Macintosh; PPC)"[4]

References

  1. Software Update Extension, resource STR#, ID = -20905 (Status Strings), string 14: "Debinhexing..."
  2. Software Update Extension, resource STR#, ID = 2110
  3. Software Update Extension, resource STR#, ID = -20902 (Subwoofer Schemes)
  4. Software Update Extension, resource STR , ID = -20902 (User Agent String)