Что означает «sdparta» в описании сессии Firefox webRTC? - PullRequest
0 голосов
/ 30 сентября 2018

При создании объектов предложений и ответов во время передачи сигналов webRTC в Firefox Mozilla добавила каламбур около S ession D escription P rotocols, возвращая ответы и предложения, которыесказать "THIS_IS_SDPARTA."

Помимо забавности, имеет ли часть 'arta' слова «SDParta» какое-либо значение?


Ниже приведены два SDP.Один был сделан в Chrome, а другой - в Firefox, каждый из которых использовал одно и то же веб-приложение, сервер STUN и сервер сигнализации.

Объект ответа webRTC, сгенерированный Chrome:

"answer": {
    "type": "answer",
    "sdp": "v=0\r\no=-```numbers omitted``` 2 IN IP4 123.4.5.6\r\ns=-\r\nt=0 0\r\na=group:BUNDLE data\r\na=msid-semantic: WMS\r\nm=application 9 DTLS/SCTP 5000\r\nc=IN IP4 0.0.0.0\r\nb=AS:30\r\na=ice-ufrag:CYLs\r\na=ice-pwd:```pwd omitted```\r\na=ice-options:trickle\r\na=fingerprint:sha-256 ```sha-256 omitted```\r\na=setup:active\r\na=mid:data\r\na=sctpmap:5000 webrtc-datachannel 1024\r\n"
}

WebRTCобъект ответа, сгенерированный Firefox:

"answer": {
    "type": "answer",
    "sdp": "v=0\r\no=mozilla...THIS_IS_SDPARTA-61.0.2```numbers omitted``` 0 IN IP4 0.0.0.0\r\ns=-\r\nt=0 0\r\na=fingerprint:sha-256 ```sha-256 omitted``` \r\na=group:BUNDLE sdparta_0\r\na=ice-options:trickle\r\na=msid-semantic:WMS *\r\nm=application 9 DTLS/SCTP 5000\r\nc=IN IP4 0.0.0.0\r\na=sendrecv\r\na=ice-pwd:```pwd omitted```\r\na=ice-ufrag:8e051271\r\na=mid:sdparta_0\r\na=sctpmap:5000 webrtc-datachannel 256\r\na=setup:active\r\na=max-message-size:1073741823\r\n"
}

'THIS_IS_SDPARTA' ссылается на фильм 300 и последующий мем, THIS IS SPARTA.

В соответствии с RFC 4566 , описывающим протокол описания сеанса, исходное значение присваивается 'o = value ' в строке SDP:

o=<username> <sess-id> <sess-version> <nettype> <addrtype> <unicast-address>

Я предполагаю 'THIS_IS_SDPARTA обрабатывается как неофициальный префикс идентификатора сеанса в соответствии с протоколом.

Я не могу найти какое-либо использование «ARTA» в качестве аббревиатуры, которая имеет какое-либо отношение к SDP или webRTC.Словом, «Арта» может быть именем человека или местом в Греции, Джибути или Албании.Я не могу найти никакой связи между древней Спартой и Артой, кроме того, что оба они греки. Страница устранения неоднозначности Википедии на 'Arta.'

Поиск переполнения стека для 'this_is_sdparta' или 'sdparta' возвращает фрагменты кода пользователей, устраняющих ошибки в их SDP и сигнализации, никто не задавал вопрос с sdparta вв их названии SO ищите 'sdparta' , и у меня нет ответов, непосредственно обсуждаемых 'sdparta' или 'this_is_sdparta', которые я смог найти.

Я нашел два примера разработчиков, специально говорящих об этом this_is_sdparta.».Одним из них является твит от Иньяки Баз Кастильо без технических объяснений:

Чувство юмора в Firefox Nightly #WebRTC:

v = 0 o = mozilla ...THIS_IS_SDPARTA-37.0a1 44108 0 В IP4 0.0.0.0 a = group: BUNDLE sdparta_0 sdparta_1

Другой является статья , где я не могу легко найти имя автора икоторый в основном просто наслаждается юмором.Вот снимок экрана: THIS IS SDPARTA

примечание: это перепост вопроса, который я удалил, поскольку он содержал сведения о персональном сетевом подключении.Извините за путаницу.

Помимо забавности, имеет ли значение «арта» в «SDParta» какое-либо значение?

Ответы [ 3 ]

0 голосов
/ 01 октября 2018

В 2014 году пять разработчиков Mozilla (включая меня) заперли себя в AirBnB на одну неделю, чтобы добавить многопотоковую поддержку Firefox.Вечером в понедельник мы пришли к выводу, что этого добиться невозможно с помощью существующей базы кода, которая в то время содержала полноценный стек SIP от Cisco.Утром во вторник мы начали извлекать весь код, который нам никогда не хотелось использовать, и начали заменять его кодом, написанным с нуля, но подходящим для более сложных случаев использования WebRTC.

Вы можете себе представить, что поКонец недели, мы все сыт по горло тайным протоколом описания сессий.Поэтому, когда Адам открыл ошибку, Байрон начал изучать грамматику SDP и указать, где она позволит нам указать номер версии Firefox.Именно тогда мы поняли, что это было бы идеальное место, чтобы добавить немного веселья.

Итак, TL; DR: просто типичное пасхальное яйцо, где разработчики хотели повеселиться.Ничего больше.

0 голосов
/ 01 октября 2018

Чтобы расширить ответ Нильса, я не помню, чья это была идея среди нас пятерых, но я думаю, что это мог быть Мартин.Первое место, где оно появилось в коде, это здесь в некотором искусстве ASCII в переписанном коде.

Мы знали, что это переписывание было экстремальным и рискованным, но наше терпение с текущим состояниемкод наконец-то исчерпал себя, и настроение в комнате напоминало Леруа Дженкинса.Так что немного глупого юмора проникло в код.

0 голосов
/ 01 октября 2018

Интересное расследование.Пользовательский агент был добавлен для целей отладки, что может быть выведено из связанной ошибки :

Адам Роуч: Было бы полезно отладить, если мы сообщим текущую версию Firefox внаш SDP.

, а затем Байрон Кампен добавил changeset с пользовательским агентом и строкой mozilla...THIS_IS_SDPARTA-<user-agent>.Так что, наверняка, больше ничего не надо.

...