What is pancake.apple.com?

stevebot picture stevebot · Nov 13, 2014 · Viewed 20.7k times · Source

I noticed that my app running in the simulator printed this line in the console:

RTCReporting: resolve from http://pancake.apple.com/bags/hls?version=4.12

Now, there is already a question which attempts to answer why this exception is occuring, but frankly I would rather now what pancake.apple.com is and why it is returning a plist? What is this plist used for, and moreover, what is pancake.apple.com, are there other instances where this endpoint gets called?

And here are the contents in all their base 64 decoded glory:

This is the "bag"

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>apple_internal</key>
    <dict>
        <key>dashboard</key>
        <dict>
            <key>display_url</key>
            <string>https://hls.apple.com/dashboard/</string>
            <key>ip</key>
            <string>17.197.13.203</string>
            <key>port</key>
            <integer>16384</integer>
        </dict>
        <key>power</key>
        <dict>
            <key>foo</key>
            <string>bar</string>
        </dict>
        <key>splunk</key>
        <dict>
            <key>clients</key>
            <array>
                <dict>
                    <key>client</key>
                    <string>AppleTV</string>
                    <key>device_whitelist</key>
                    <array>
                        <string>Apple TV</string>
                    </array>
                    <key>filters</key>
                    <array>
                        <dict>
                            <key>action</key>
                            <string>remove</string>
                            <key>key</key>
                            <string>URI</string>
                        </dict>
                    </array>
                    <key>locale_whitelist</key>
                    <array>
                        <string>US</string>
                    </array>
                    <key>override_dnu</key>
                    <integer>1</integer>
                    <key>post_url</key>
                    <string>https://xp.apple.com/report/2/img_atv_qos</string>
                    <key>sampling_threshold</key>
                    <real>1.0</real>
                    <key>service</key>
                    <string>netflix,vega,hulu</string>
                </dict>
                <dict>
                    <key>client</key>
                    <string>Netflix</string>
                    <key>device_whitelist</key>
                    <array>
                        <string>iPhone</string>
                        <string>iPad</string>
                        <string>iPod touch</string>
                    </array>
                    <key>filters</key>
                    <array>
                        <dict>
                            <key>action</key>
                            <string>remove</string>
                            <key>key</key>
                            <string>URI</string>
                        </dict>
                    </array>
                    <key>locale_whitelist</key>
                    <array>
                        <string>US</string>
                    </array>
                    <key>override_dnu</key>
                    <integer>1</integer>
                    <key>post_url</key>
                    <string>https://xp.apple.com/report/2/img_qos</string>
                    <key>sampling_threshold</key>
                    <real>1.0</real>
                </dict>
                <dict>
                    <key>filters</key>
                    <array>
                        <dict>
                            <key>action</key>
                            <string>remove</string>
                            <key>key</key>
                            <string>URI</string>
                        </dict>
                    </array>
                    <key>hierarchy</key>
                    <integer>1</integer>
                    <key>locale_whitelist</key>
                    <array>
                        <string>US</string>
                    </array>
                    <key>override_dnu</key>
                    <integer>1</integer>
                    <key>post_url</key>
                    <string>https://xp.apple.com/report/2/img_itr_qos</string>
                    <key>sampling_threshold</key>
                    <real>1.0</real>
                    <key>service</key>
                    <string>tilt</string>
                </dict>
                <dict>
                    <key>client</key>
                    <string>AppleTV</string>
                    <key>device_whitelist</key>
                    <array>
                        <string>Apple TV</string>
                    </array>
                    <key>filters</key>
                    <array>
                        <dict>
                            <key>action</key>
                            <string>remove</string>
                            <key>key</key>
                            <string>URI</string>
                        </dict>
                    </array>
                    <key>locale_whitelist</key>
                    <array>
                        <string>US</string>
                    </array>
                    <key>override_dnu</key>
                    <integer>1</integer>
                    <key>post_url</key>
                    <string>https://xp.apple.com/report/2/img_atv_qos</string>
                    <key>sampling_threshold</key>
                    <real>1.0</real>
                    <key>service</key>
                    <string>itunes.extras</string>
                </dict>
                <dict>
                    <key>client</key>
                    <string>YouTube</string>
                    <key>device_whitelist</key>
                    <array>
                        <string>iPhone</string>
                        <string>iPad</string>
                        <string>iPod touch</string>
                    </array>
                    <key>event_threshold</key>
                    <integer>50</integer>
                    <key>filters</key>
                    <array>
                        <dict>
                            <key>action</key>
                            <string>remove</string>
                            <key>key</key>
                            <string>URI</string>
                        </dict>
                    </array>
                    <key>locale_whitelist</key>
                    <array>
                        <string>US</string>
                    </array>
                    <key>override_dnu</key>
                    <integer>1</integer>
                    <key>post_url</key>
                    <string>https://xp.apple.com/report/2/img_qos</string>
                    <key>sampling_threshold</key>
                    <real>1.0</real>
                </dict>
            </array>
        </dict>
    </dict>
    <key>development</key>
    <dict>
        <key>dashboard</key>
        <dict>
            <key>display_url</key>
            <string>https://hls.apple.com/dashboard-dev/</string>
            <key>ip</key>
            <string>17.197.13.218</string>
            <key>port</key>
            <integer>16384</integer>
            <key>reliable</key>
            <integer>500</integer>
        </dict>
        <key>power</key>
        <dict>
            <key>foo</key>
            <string>bar</string>
        </dict>
        <key>splunk</key>
        <dict>
            <key>clients</key>
            <array>
                <dict>
                    <key>client</key>
                    <string>AppleTV</string>
                    <key>device_whitelist</key>
                    <array>
                        <string>Apple TV</string>
                    </array>
                    <key>filters</key>
                    <array>
                        <dict>
                            <key>action</key>
                            <string>remove</string>
                            <key>key</key>
                            <string>URI</string>
                        </dict>
                    </array>
                    <key>locale_whitelist</key>
                    <array>
                        <string>US</string>
                    </array>
                    <key>post_url</key>
                    <string>https://xp.apple.com/report/2/img_atv_qos</string>
                    <key>sampling_threshold</key>
                    <real>0.9</real>
                    <key>service</key>
                    <string>netflix,vega,hulu</string>
                </dict>
                <dict>
                    <key>client</key>
                    <string>Netflix</string>
                    <key>device_whitelist</key>
                    <array>
                        <string>iPhone</string>
                        <string>iPad</string>
                        <string>iPod touch</string>
                    </array>
                    <key>filters</key>
                    <array>
                        <dict>
                            <key>action</key>
                            <string>remove</string>
                            <key>key</key>
                            <string>URI</string>
                        </dict>
                    </array>
                    <key>locale_whitelist</key>
                    <array>
                        <string>US</string>
                    </array>
                    <key>override_dnu</key>
                    <integer>1</integer>
                    <key>post_url</key>
                    <string>https://xp.apple.com/report/2/img_qos</string>
                    <key>sampling_threshold</key>
                    <real>1.0</real>
                </dict>
                <dict>
                    <key>filters</key>
                    <array>
                        <dict>
                            <key>action</key>
                            <string>sha256</string>
                            <key>key</key>
                            <string>URI</string>
                            <key>method</key>
                            <integer>1</integer>
                            <key>status</key>
                            <integer>0</integer>
                        </dict>
                        <dict>
                            <key>action</key>
                            <string>remove</string>
                            <key>key</key>
                            <string>URI</string>
                        </dict>
                    </array>
                    <key>hierarchy</key>
                    <integer>1</integer>
                    <key>locale_whitelist</key>
                    <array>
                        <string>US</string>
                    </array>
                    <key>override_dnu</key>
                    <integer>0</integer>
                    <key>post_url</key>
                    <string>https://xp.apple.com/report/2/img_itr_qos</string>
                    <key>sampling_threshold</key>
                    <real>1.0</real>
                    <key>service</key>
                    <string>tilt</string>
                </dict>
                <dict>
                    <key>client</key>
                    <string>AppleTV</string>
                    <key>device_whitelist</key>
                    <array>
                        <string>Apple TV</string>
                    </array>
                    <key>filters</key>
                    <array>
                        <dict>
                            <key>action</key>
                            <string>sha256</string>
                            <key>key</key>
                            <string>URI</string>
                            <key>method</key>
                            <integer>1</integer>
                            <key>status</key>
                            <integer>0</integer>
                        </dict>
                        <dict>
                            <key>action</key>
                            <string>remove</string>
                            <key>key</key>
                            <string>URI</string>
                        </dict>
                    </array>
                    <key>locale_whitelist</key>
                    <array>
                        <string>US</string>
                    </array>
                    <key>override_dnu</key>
                    <integer>1</integer>
                    <key>post_url</key>
                    <string>https://xp.apple.com/report/2/img_atv_qos</string>
                    <key>sampling_threshold</key>
                    <real>0.9</real>
                </dict>
                <dict>
                    <key>client</key>
                    <string>netflix</string>
                    <key>device_whitelist</key>
                    <array>
                        <string>iPhone</string>
                        <string>iPad</string>
                        <string>iPod touch</string>
                    </array>
                    <key>filters</key>
                    <array/>
                    <key>locale_whitelist</key>
                    <array>
                        <string>US</string>
                    </array>
                    <key>override_dnu</key>
                    <integer>1</integer>
                    <key>post_url</key>
                    <string>https://xp.apple.com/report/2/img_atv_qos</string>
                    <key>sampling_threshold</key>
                    <real>0.9</real>
                </dict>
                <dict>
                    <key>client</key>
                    <string>AppleTV</string>
                    <key>device_whitelist</key>
                    <array>
                        <string>Apple TV</string>
                    </array>
                    <key>filters</key>
                    <array>
                        <dict>
                            <key>action</key>
                            <string>remove</string>
                            <key>key</key>
                            <string>URI</string>
                        </dict>
                    </array>
                    <key>locale_whitelist</key>
                    <array>
                        <string>US</string>
                    </array>
                    <key>override_dnu</key>
                    <integer>1</integer>
                    <key>post_url</key>
                    <string>https://xp.apple.com/report/2/img_atv_qos</string>
                    <key>sampling_threshold</key>
                    <real>1.0</real>
                    <key>service</key>
                    <string>itunes.extras</string>
                </dict>
                <dict>
                    <key>client</key>
                    <string>iTunes</string>
                    <key>device_whitelist</key>
                    <array>
                        <string>Mac</string>
                    </array>
                    <key>filters</key>
                    <array>
                        <dict>
                            <key>action</key>
                            <string>remove</string>
                            <key>key</key>
                            <string>URI</string>
                        </dict>
                    </array>
                    <key>locale_whitelist</key>
                    <array>
                        <string>US</string>
                    </array>
                    <key>override_dnu</key>
                    <integer>1</integer>
                    <key>post_url</key>
                    <string>https://xp.apple.com/report/2/img_qos</string>
                    <key>sampling_threshold</key>
                    <real>1.0</real>
                </dict>
            </array>
        </dict>
    </dict>
    <key>release</key>
    <dict>
        <key>splunk</key>
        <dict>
            <key>clients</key>
            <array>
                <dict>
                    <key>client</key>
                    <string>AppleTV</string>
                    <key>device_whitelist</key>
                    <array>
                        <string>Apple TV</string>
                    </array>
                    <key>filters</key>
                    <array>
                        <dict>
                            <key>action</key>
                            <string>remove</string>
                            <key>key</key>
                            <string>URI</string>
                        </dict>
                    </array>
                    <key>locale_whitelist</key>
                    <array>
                        <string>US</string>
                    </array>
                    <key>override_dnu</key>
                    <integer>0</integer>
                    <key>post_url</key>
                    <string>https://xp.apple.com/report/2/img_atv_qos</string>
                    <key>sampling_threshold</key>
                    <real>1.0</real>
                    <key>service</key>
                    <string>netflix,vega,hulu</string>
                </dict>
                <dict>
                    <key>client</key>
                    <string>Netflix</string>
                    <key>device_whitelist</key>
                    <array>
                        <string>iPhone</string>
                        <string>iPad</string>
                        <string>iPod touch</string>
                    </array>
                    <key>filters</key>
                    <array>
                        <dict>
                            <key>action</key>
                            <string>remove</string>
                            <key>key</key>
                            <string>URI</string>
                        </dict>
                    </array>
                    <key>locale_whitelist</key>
                    <array>
                        <string>US</string>
                    </array>
                    <key>override_dnu</key>
                    <integer>0</integer>
                    <key>post_url</key>
                    <string>https://xp.apple.com/report/2/img_qos</string>
                    <key>sampling_threshold</key>
                    <real>1.0</real>
                </dict>
                <dict>
                    <key>filters</key>
                    <array>
                        <dict>
                            <key>action</key>
                            <string>remove</string>
                            <key>key</key>
                            <string>URI</string>
                        </dict>
                    </array>
                    <key>hierarchy</key>
                    <integer>1</integer>
                    <key>locale_whitelist</key>
                    <array>
                        <string>US</string>
                    </array>
                    <key>override_dnu</key>
                    <integer>1</integer>
                    <key>post_url</key>
                    <string>https://xp.apple.com/report/2/img_itr_qos</string>
                    <key>sampling_threshold</key>
                    <real>1.0</real>
                    <key>service</key>
                    <string>tilt</string>
                </dict>
                <dict>
                    <key>client</key>
                    <string>AppleTV</string>
                    <key>device_whitelist</key>
                    <array>
                        <string>Apple TV</string>
                    </array>
                    <key>filters</key>
                    <array>
                        <dict>
                            <key>action</key>
                            <string>remove</string>
                            <key>key</key>
                            <string>URI</string>
                        </dict>
                    </array>
                    <key>locale_whitelist</key>
                    <array>
                        <string>US</string>
                    </array>
                    <key>override_dnu</key>
                    <integer>1</integer>
                    <key>post_url</key>
                    <string>https://xp.apple.com/report/2/img_atv_qos</string>
                    <key>sampling_threshold</key>
                    <real>1.0</real>
                    <key>service</key>
                    <string>itunes.extras</string>
                </dict>
                <dict>
                    <key>client</key>
                    <string>YouTube</string>
                    <key>device_whitelist</key>
                    <array>
                        <string>iPhone</string>
                        <string>iPad</string>
                        <string>iPod touch</string>
                    </array>
                    <key>event_threshold</key>
                    <integer>50</integer>
                    <key>filters</key>
                    <array>
                        <dict>
                            <key>action</key>
                            <string>remove</string>
                            <key>key</key>
                            <string>URI</string>
                        </dict>
                    </array>
                    <key>locale_whitelist</key>
                    <array>
                        <string>US</string>
                    </array>
                    <key>override_dnu</key>
                    <integer>0</integer>
                    <key>post_url</key>
                    <string>https://xp.apple.com/report/2/img_qos</string>
                    <key>sampling_threshold</key>
                    <real>0.25</real>
                </dict>
            </array>
        </dict>
    </dict>
    <key>version</key>
    <string>1.0.0-41-g98d9515</string>
</dict>
</plist>

And the "key" is a binary file.

Answer

Meet picture Meet · Jul 7, 2015

Looking at the data received from pancake.apple.com (it's a base64 encoded plist), it LOOKS like it's just returning a verification to validate whether or not a device is authorized for home sharing.