On Fri, 15 May 2020 at 20:46, Konstantin Kuzov <master.nosfer...@gmail.com> wrote:
> Да, там проблема в том, что при использовании конфига в любом > виде stale-nonce по умолчанию включен на 600 секунд, комментарий какой-то > невнятный и лично у меня оставляет впечатление что по умолчанию > всё-же nonce вечная: > # Uncomment if extra security is desired, > # with nonce value having limited lifetime. > # By default, the nonce value is unique for a session, > # and has unlimited lifetime. > # Set this option to limit the nonce lifetime. > # It defaults to 600 secs (10 min) if no value is provided. After that > delay, > # the client will get 438 error and will have to re-authenticate itself. > > А на деле всё своеобразно, проверим поведение с таким хаком: > diff -urN a/src/apps/relay/mainrelay.c b/src/apps/relay/mainrelay.c > --- a/src/apps/relay/mainrelay.c 2019-03-03 00:06:19.000000000 +0300 > +++ b/src/apps/relay/mainrelay.c 2020-05-15 16:02:43.371533695 +0300 > @@ -1282,6 +1282,7 @@ > break; > case STALE_NONCE_OPT: > turn_params.stale_nonce = get_int_value(value, > STUN_DEFAULT_NONCE_EXPIRATION_TIME); > + printf("DEBUG 1: %d\n", turn_params.stale_nonce); > break; > case MAX_ALLOCATE_LIFETIME_OPT: > turn_params.max_allocate_lifetime = get_int_value(value, > STUN_DEFAULT_MAX_ALLOCATE_LIFETIME); > diff -urN a/src/apps/relay/netengine.c b/src/apps/relay/netengine.c > --- a/src/apps/relay/netengine.c 2019-03-03 00:06:19.000000000 +0300 > +++ b/src/apps/relay/netengine.c 2020-05-15 16:02:57.564643335 +0300 > @@ -1637,6 +1637,8 @@ > bufferevent_setcb(rs->auth_in_buf, relay_receive_auth_message, > NULL, NULL, rs); > bufferevent_enable(rs->auth_in_buf, EV_READ); > > + printf("DEBUG 2: %d\n", turn_params.stale_nonce); > + exit(0); > init_turn_server(&(rs->server), > rs->id, turn_params.verbose, > rs->ioa_eng, turn_params.ct, 0, > > тестим без конфига: > [root@om b]# ./bin/turnserver 2>&1 | grep DEBUG > DEBUG 1: 0 > DEBUG 2: 0 > > тестим с абсолютно пустым конфигом: > [root@om b]# ./bin/turnserver -c turnserver.conf 2>&1 | grep DEBUG > DEBUG 2: 600 > > тестим оверрайд через параметр: > [root@om b]# ./bin/turnserver -c turnserver.conf --stale-nonce=0 2>&1 | > grep DEBUG > DEBUG 1: 0 > DEBUG 2: 0 > > А вот пример пострадальцев: > > https://medium.com/confrere/gone-in-1100-seconds-hunting-bugs-on-the-edge-of-webrtc-132a186c45dd > > Перевод: > https://habr.com/ru/company/Voximplant/blog/352730/ эту статью на хабре я даже нашёл про "=0" там нет :( пришлось найти код :) спасибо! > > пт, 15 мая 2020 г. в 16:20, Maxim Solodovnik <solomax...@gmail.com>: > > > я так понимаю имеется в виду втот этот > > > > > https://github.com/coturn/coturn/blob/master/src/server/ns_turn_server.c#L3322 > > код > > > > On Fri, 15 May 2020 at 19:53, Maxim Solodovnik <solomax...@gmail.com> > > wrote: > > > > > конфиг /etc/turnserver.cfg > > > > > > On Fri, 15 May 2020 at 19:45, green_gen...@mail.ru.INVALID > > > <green_gen...@mail.ru.invalid> wrote: > > > > > >> Maxim Solodovnik пишет: > > >> > On Fri, 15 May 2020 at 16:58, Konstantin Kuzov < > > >> master.nosfer...@gmail.com> > > >> > wrote: > > >> > > > >> > > > >> >> Да, документация оставляет местами желать лучшего, > > >> >> > > >> > > > >> > > > >> > каждый норовит маленького обидеть ... > > >> > видите что можно улучшить - PRs are welcome :) > > >> > > > >> > > > >> > > > >> >> но вроде по-тихоньку > > >> >> ситуация выправляется, к тому же 5.0.0 ещё не релизнулся ещё, а > > >> стабильной > > >> >> 4.x версии с флешем и red5 все эти мансы не касаются. > > >> >> Я сам когда первый раз полтора месяца назад ставил OM прошелся по > > всем > > >> >> возможным граблям ^_^ > > >> >> К примеру, о том что TURN вообще нужен в тогдашних туториалах не > было > > >> >> сказано ни слова. Не говоря уже о том что его надо прописывать в > > >> >> webapps/openmeetings/WEB-INF/classes/applicationContext.xml, это я > > >> прочитал > > >> >> уже много после архиве в рассылки... А изначально настроил его не в > > >> режиме > > >> >> статического ключа (static-auth-secret), а через аккаунт > пользователя > > >> >> (user). и отредактировал WebRtcEndpoint.conf.ini, через подачу > > >> >> переменных KMS_EXTERNAL_ADDRESS, > > >> >> KMS_STUN_IP, KMS_STUN_PORT и KMS_TURN_URL. И это даже работало, но > > были > > >> >> проблемы с продлением сессий и большая часть пользователей > > отваливалась > > >> >> каждые 10 минут по channel-lifetime,. А учитывая что M3 не умел в > > >> реконнект > > >> >> вообще, а тупо вырубал камеру с микрофоном при любой ошибке - это > > было > > >> то > > >> >> ещё веселье. > > >> >> Кстати, даже когда я настроил всё по рекомендуемой схеме у > некоторых > > 10 > > >> >> минутные отвалы реденько но продолжали быть, но теперь уже по > nonce, > > >> >> который по-умолчанию включен и 600 секунд несмотря на комментарий в > > >> конфиге > > >> >> говорящий об обратном. Покурив слегка исходники coturn нашел что > его > > >> можно > > >> >> вырубить через stale-nonce=0. После этого левые отвалы прекратились > > >> >> окончательно. > > >> >> > > >> >> > > >> > > > >> > а вот про это не знал > > >> > интересно > > >> > > > >> > > > >> > > > >> > > > >> >> , чт, 14 мая 2020 г. в 11:37, Eugene <roginovi...@hotmail.com>: > > >> >> > > >> >> > > >> >>> Спасибо за информацию! Жалко, что в туториале не объяснены эти > > детали, > > >> >>> сэкономило бы пользователям много времени. > > >> >>> > > >> >>> > > >> >>> > > >> > > > >> > > > >> > > > >> а где это настраевается "нашел что его можно вырубить через > > >> stale-nonce=0. После этого левые отвалы прекратились окончательно." > > >> > > > > > > > > > -- > > > Best regards, > > > Maxim > > > > > > > > > -- > > Best regards, > > Maxim > > > -- Best regards, Maxim