Казалось бы и писать тут нечего - всё становится и работает из портов. Но после очередного обновления перестал работать гостевой портал - люди не могут авторизоваться по ваучерам, а админы не могут их выписать....
Задача:
Починить работу ваучеров в контролере Unifi
Изучение проблемы:
В интернет проблема освещена тут: https://bugs.launchpad.net/ubuntu/+sour ... ug/1692870
а решение предложено тут: https://github.com/madler/zlib/commit/f ... 7f260db0a1
Решение:
Итак, для того что бы всё заработало нужно:
1) исправить исходники мира
2) пересобрать и переустановить мир
3) перезагрузиться
В оригинальном тексте говорится, что для проверки можно выполнить команду
Код: Выделить всё
curl -vvvv --compress localhost:8880/guest/s/default/
Вот код, который нужно исправить:
Код: Выделить всё
s->wrap == 2 ? crc32(0L, Z_NULL, 0) :
#endif
adler32(0L, Z_NULL, 0);
- s->last_flush = Z_NO_FLUSH;
+ s->last_flush = -2;
_tr_init(s);
@@ -587,12 +587,12 @@ int ZEXPORT deflateParams(strm, level, strategy)
func = configuration_table[s->level].func;
if ((strategy != s->strategy || func != configuration_table[level].func) &&
- s->high_water) {
+ s->last_flush != -2) {
/* Flush the last buffer: */
int err = deflate(strm, Z_BLOCK);
if (err == Z_STREAM_ERROR)
return err;
- if (strm->avail_out == 0)
+ if (strm->avail_in || (s->strstart - s->block_start) + s->lookahead)
return Z_BUF_ERROR;
}
if (s->level != level) {