Перейти к содержимому
Local
banderlog

sgauth на openwrt-роутере запустил, но...

Рекомендованные сообщения

Доброго времени суток!

 

Я подключен в Харькове к одной конторе-монополисту в монем районе проживания.

У меня есть роутер с wifi - TP-Link WR741ND, для которого никто не хочет ставить галочку 'always online', потому задача стояла запустить sgauth на нем.

 

Вкратце: я перепрошил роутер под openwrt, и с помощью тулчейна openwrt собрал под его архитектуру (atheros ar71xx или mips) sgauth.

После того как я залил на роутер sgauth, libstdc++.so.6, libpthread.so.0 (библиотеки взяты из тулчейна), я смог-таки запустить авторизатор.

 

Однако, авторизация не проходит и в top висит 'sgauth Offline'. Порты вроде как открыты.

 

root@OpenWrt:~# netstat -tulpn | grep sgaut
tcp		0	  0 127.0.0.1:5580		  0.0.0.0:*			   LISTEN	 14631/sgauth.10
netstat: /proc/net/tcp6: No such file or directory
udp		0	  0 0.0.0.0:5554			0.0.0.0:*						   14631/sgauth.10
udp		0	  0 0.0.0.0:5555			0.0.0.0:*						   14631/sgauth.10
netstat: /proc/net/udp6: No such file or directory

 

ACCEPT	 udp  --  192.168.59.3		 192.168.66.96	   udp spts:5554:5556 dpts:5554:5556
ACCEPT	 udp  --  192.168.66.96		192.168.59.3		udp spts:5554:5556 dpts:5554:5556

 

192.168.59.3 - сервак sg; 192.168.66.96 - мой ip

 

Версия sgauth - 2.12.6

 

Что бы это могло быть и как с этим бороться?

 

PS: есть ли способ заставить его давать выхлоп о текущей ситуации, типа verbose или debug mode?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

2.12.6 это такая древность, он вполне может и не работать с современными версиями Stargazer. Попробуйте собрать ту которая идет в комплекте со Stargazer.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

я конечно попробую, но этот же самый sgauth собранный под arch_i686 прекрасно авторизируется с сервером и все работает

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Я собрал под openwrt две версии sgauth - 2.12.6 и та что идет в составе stargazer последней версии. Они обе запускаются на роуте но инета нет.

 

Собранные на ноутбуке обе дают инет. Проверил, подключив ноутбук в wan роутера, wireshark и sniffit грят что пакеты с роутера уходят, с правильного 5554 порта. Когда sgauth запущен, то 5554 порт открыт - проверял nmap. Wireshark утверждает что пакеты уходят c 5554 порта на 192.168.59.3:5555 - сервак, а приходят с 192.168.66.1:5554 (gw) на 5555 порт. При этом у gw и сервака одинаковый mac.

При этом, sniffit видит такую картину на любой версии sgauth, а wireshark не видит приходящие пакеты, если запущена старая версия.

 

Привязки по маку нет, но я на всякий случай копировал свой. Пробовал даже hostname своеже передирать. В iptables открыто все что можно: http://pastebin.com/SnY9rLyL

 

Как проверить, находясь за роутером, приходят ли ему пакеты на 5554 порт от сервака я не знаю.

 

ЧЯДН? Идеи, мысли, соображения?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Сделал flush всем таблицам в iptable, поставил tcpdump, листинги всех 4х бинарников:

 

1. Новый на буке:

sudo tcpdump -i eth0 udp port 5555
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
21:51:29.702272 IP 192.168.66.96.5554 > 192.168.59.3.5555: UDP, length 96
21:51:44.691084 IP 192.168.66.1.5555 > 192.168.66.96.5554: UDP, length 200
21:51:44.709485 IP 192.168.66.96.5554 > 192.168.59.3.5555: UDP, length 64
21:51:59.712488 IP 192.168.66.1.5555 > 192.168.66.96.5554: UDP, length 384
21:51:59.731777 IP 192.168.66.96.5554 > 192.168.59.3.5555: UDP, length 64
21:51:29.687486 IP 192.168.66.1.5555 > 192.168.66.96.5554: UDP, length 384
...

 

2.Старый на буке:

sudo tcpdump -i eth0 udp port 5555 -n
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
21:52:54.544171 IP 192.168.66.96.5554 > 192.168.59.3.5555: UDP, length 64
21:52:54.549032 IP 192.168.66.1.5555 > 192.168.66.96.5555: UDP, length 192
21:52:54.566144 IP 192.168.66.96.5554 > 192.168.59.3.5555: UDP, length 64
21:52:54.570003 IP 192.168.66.1.5555 > 192.168.66.96.5555: UDP, length 368
21:52:54.588008 IP 192.168.66.96.5554 > 192.168.59.3.5555: UDP, length 64
21:53:09.576636 IP 192.168.66.1.5555 > 192.168.66.96.5555: UDP, length 368
21:53:09.596958 IP 192.168.66.96.5554 > 192.168.59.3.5555: UDP, length 64
....

 

3.Новый на роутере:

tcpdump: listening on eth1, link-type EN10MB (Ethernet), capture size 65535 bytes
19:38:04.306452 IP 192.168.66.96.5554 > 192.168.59.3.5555: UDP, length 96
19:38:04.309377 IP 192.168.66.1.5555 > 192.168.66.96.5554: UDP, length 264

 

4.Старый на роутере

19:41:59.259789 IP 192.168.66.96.5554 > 192.168.59.3.5555: UDP, length 64
19:41:59.265685 IP 192.168.66.1.5555 > 192.168.66.96.5554: UDP, length 256

 

бинари с роутера получают только 1 пакет с сервера и на этом прекращают свою деятельность.

причем этот пакет имеет не такаю длину, как первый ответный пакет на буке

 

ЗЫ: данные авторизации проверял\перепроверял\копировал файлы напрямую

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

думаю что UDP, length 256 это пакет с ошибкой о которой сообщает сервер нет варианта подцепить терминал и посмотреть оутпут пклиента на роутере ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Похоже на ошибку авторизации. Что в этот момент пишется в лог сервера?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

нет варианта подцепить терминал и посмотреть оутпут пклиента на роутере ?

терминал на роутере есть, а sgauth никакого выхлопа не дает, кроме настроек с которыми он запущен

я ненашел никаких verbose или debug mode

 

Похоже на ошибку авторизации. Что в этот момент пишется в лог сервера?

 

хотелось бы знать. сервак-то у провайдера стоит. я конечо у них логи попрошу, но скорее всего меня пошлют.

 

UPD: послали

Проц на роутере Atheros AR7240 rev2 гугол грит что это таки big endian

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Еще можно зайти на веб-интерфейс авторизатора и посмотреть что он там пишет

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А лог сборки нового sgauth можно увидеть?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

banderlog ~/TEMP/stg-2.408-rc2/projects/sgauth $ make
make -C /home/banderlog/TEMP/stg-2.408-rc2/projects/sgauth/../../stglibs
make[1]: Вход в каталог `/home/banderlog/TEMP/stg-2.408-rc2/stglibs'
make[1]: Цель `all' не требует выполнения команд.
make[1]: Выход из каталога `/home/banderlog/TEMP/stg-2.408-rc2/stglibs'
for file in ./main.cpp ./settings_impl.cpp ./web.cpp; do
 echo "`/home/banderlog/TEMP/tp_link/staging_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/usr/bin/mips-openwrt-linux-uclibc-g++ -I/home/banderlog/TEMP/tp_link/build_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/uClibc-0.9.30.1/include/ -DARCH_BE -DLINUX -I ../../stglibs/conffiles.lib/include -I ../../stglibs/ia.lib/include -I ../../stglibs/crypto.lib/include -I ../../stglibs/common.lib/include -I ../../include -MM $file` Makefile" >> deps ;
 echo -e 't$(CXX) -c $< -I/home/banderlog/TEMP/tp_link/build_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/uClibc-0.9.30.1/include/ -DARCH_BE -DLINUX -I ../../stglibs/conffiles.lib/include -I ../../stglibs/ia.lib/include -I ../../stglibs/crypto.lib/include -I ../../stglibs/common.lib/include -I ../../include' >> deps ;
done
make -C /home/banderlog/TEMP/stg-2.408-rc2/projects/sgauth/../../stglibs
make[1]: Вход в каталог `/home/banderlog/TEMP/stg-2.408-rc2/stglibs'
make[1]: Цель `all' не требует выполнения команд.
make[1]: Выход из каталога `/home/banderlog/TEMP/stg-2.408-rc2/stglibs'
/home/banderlog/TEMP/tp_link/staging_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/usr/bin/mips-openwrt-linux-uclibc-g++ -c main.cpp -I/home/banderlog/TEMP/tp_link/build_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/uClibc-0.9.30.1/include/ -DARCH_BE -DLINUX -I ../../stglibs/conffiles.lib/include -I ../../stglibs/ia.lib/include -I ../../stglibs/crypto.lib/include -I ../../stglibs/common.lib/include -I ../../include
/home/banderlog/TEMP/tp_link/staging_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/usr/bin/mips-openwrt-linux-uclibc-g++ -c settings_impl.cpp -I/home/banderlog/TEMP/tp_link/build_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/uClibc-0.9.30.1/include/ -DARCH_BE -DLINUX -I ../../stglibs/conffiles.lib/include -I ../../stglibs/ia.lib/include -I ../../stglibs/crypto.lib/include -I ../../stglibs/common.lib/include -I ../../include
/home/banderlog/TEMP/tp_link/staging_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/usr/bin/mips-openwrt-linux-uclibc-g++ -c web.cpp -I/home/banderlog/TEMP/tp_link/build_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/uClibc-0.9.30.1/include/ -DARCH_BE -DLINUX -I ../../stglibs/conffiles.lib/include -I ../../stglibs/ia.lib/include -I ../../stglibs/crypto.lib/include -I ../../stglibs/common.lib/include -I ../../include
/home/banderlog/TEMP/tp_link/staging_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/usr/bin/mips-openwrt-linux-uclibc-g++ main.o settings_impl.o web.o -I/home/banderlog/TEMP/tp_link/build_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/uClibc-0.9.30.1/include/ -L/home/banderlog/TEMP/tp_link/build_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/uClibc-0.9.30.1/lib/ -Wl,-E -L ../../stglibs/conffiles.lib -L ../../stglibs/ia.lib -L ../../stglibs/crypto.lib -L ../../stglibs/common.lib -o sgauth -lstgconffiles -lstgia -lstgcrypto -lstgcommon -lpthread -static

 

библиотеки чего то не хотят собираться вместе с sgauth и я их собираю отдельно, например:

banderlog ~/TEMP/stg-2.408-rc2/stglibs/ia.lib $ make
/home/banderlog/TEMP/tp_link/staging_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/usr/bin/mips-openwrt-linux-uclibc-g++ -I/home/banderlog/TEMP/tp_link/build_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/uClibc-0.9.30.1/include/ -DARCH_BE -fPIC -I ../../include -I . -I ./include -I ../crypto.lib/include -I ../common.lib/include -DLINUX -DSTG_TIME -c ia.cpp
ar rc libstgia.a ia.o
ranlib libstgia.a

 

Еще можно зайти на веб-интерфейс авторизатора и посмотреть что он там пишет

 

нельзя, мне пришлось закомментить int WEB::SendReply() компилятору не нравилось gettext

web.o: In function `WEB::SendReply()':
web.cpp:(.text+0x508): undefined reference to `gettext'
web.cpp:(.text+0x584): undefined reference to `gettext'
web.cpp:(.text+0x600): undefined reference to `gettext'
web.cpp:(.text+0x67c): undefined reference to `gettext'
web.cpp:(.text+0x7c4): undefined reference to `gettext'
web.o:web.cpp:(.text+0x888): more undefined references to `gettext' follow

в common.cpp закоментено iconv.h и несколько строк с ним связанных, они все равно шли после #if defined(FREE_BSD) || defined(FREE_BSD5) || defined(WIN32)

с ним такая фигня:

banderlog ~/TEMP/stg-2.408-rc2/stglibs/common.lib $ make
In file included from common.cpp:48:
/home/banderlog/TEMP/tp_link/build_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/uClibc-0.9.30.1/include/iconv.h:27:2: error: #error Attempted to include iconv.h when uClibc was built without locale support.
deps:1: *** пропущен разделитель.  Останов.

Изменено пользователем banderlog

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Что там big endian - я уже понял. А почему при сборке не выполнен build?

И еще, хочется увидеть Makefile.conf после build. Он лежит в ../.. относительно каталога проекта.

 

И еще, зачем закомменчены строки которые следуют после #if defined(FREE_BSD) ? Они все равно не будут участвовать в процессе компиляции.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А почему при сборке не выполнен build?

И еще, хочется увидеть Makefile.conf после build. Он лежит в ../.. относительно каталога проекта.

 

build был выполнен, но он же bash скрипт о собирает данные о моей домашней системе на ноутбуке.

а я компилю тулчейном для роутера MIPS

 

я подредактировал Makefile.conf под роутер

 

OS=linux
STG_TIME=yes
DIR_BUILD=/home/banderlog/TEMP/stg-2.408-rc2/projects/sgauth
DIR_LIB=$(DIR_BUILD)/../../lib
DIR_LIBSRC=$(DIR_BUILD)/../../stglibs
DIR_INCLUDE=$(DIR_BUILD)/../../include
ARCH=be
DEFS= -DLINUX
STG_LIBS=crypto.lib common.lib conffiles.lib ia.lib
LIB_THREAD=-lpthread
SHELL=/bin/bash
CXX=/home/banderlog/TEMP/tp_link/staging_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/usr/bin/mips-openwrt-linux-uclibc-g++
CXXFLAGS= -I/home/banderlog/TEMP/tp_link/build_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/uClibc-0.9.30.1/include/ -DARCH_BE
CFLAGS= -DARCH_BE
LDFLAGS= -I/home/banderlog/TEMP/tp_link/build_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/uClibc-0.9.30.1/include/ -L/home/banderlog/TEMP/tp_link/build_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/uClibc-0.9.30.1/lib/
PREFIX=/
BIN_MODE=0755
DATA_MODE=0644
DIR_MODE=0755
OWNER=root
#commonlib - error Attempted to include iconv.h when uClibc was built without locale support.

 

библиотеки собираются теперь нормально:

banderlog ~/TEMP/stg-2.408-rc2/projects/sgauth $ make clean
rm -f deps sgauth *.o tags *.*~ .OS
rm -f .OS
rm -f .store
rm -f .db.sql
rm -f core*
rm -f css.h
make -C /home/banderlog/TEMP/stg-2.408-rc2/projects/sgauth/../../stglibs clean
make[1]: Вход в каталог `/home/banderlog/TEMP/stg-2.408-rc2/stglibs'
make clean -C crypto.lib
make[2]: Вход в каталог `/home/banderlog/TEMP/stg-2.408-rc2/stglibs/crypto.lib'
rm -f deps libstgcrypto.a *.o *.a *.so tags *.*~
make[2]: Выход из каталога `/home/banderlog/TEMP/stg-2.408-rc2/stglibs/crypto.lib'
make clean -C common.lib
make[2]: Вход в каталог `/home/banderlog/TEMP/stg-2.408-rc2/stglibs/common.lib'
rm -f deps libstgcommon.a *.o *.a *.so tags *.*~
make[2]: Выход из каталога `/home/banderlog/TEMP/stg-2.408-rc2/stglibs/common.lib'
make clean -C conffiles.lib
make[2]: Вход в каталог `/home/banderlog/TEMP/stg-2.408-rc2/stglibs/conffiles.lib'
rm -f deps libstgconffiles.a *.o *.a *.so tags *.*~
make[2]: Выход из каталога `/home/banderlog/TEMP/stg-2.408-rc2/stglibs/conffiles.lib'
make clean -C ia.lib
make[2]: Вход в каталог `/home/banderlog/TEMP/stg-2.408-rc2/stglibs/ia.lib'
rm -f deps libstgia.a *.o *.a *.so tags *.*~
make[2]: Выход из каталога `/home/banderlog/TEMP/stg-2.408-rc2/stglibs/ia.lib'
make[1]: Выход из каталога `/home/banderlog/TEMP/stg-2.408-rc2/stglibs'
banderlog ~/TEMP/stg-2.408-rc2/projects/sgauth $ make
make -C /home/banderlog/TEMP/stg-2.408-rc2/projects/sgauth/../../stglibs
make[1]: Вход в каталог `/home/banderlog/TEMP/stg-2.408-rc2/stglibs'
make  -C crypto.lib
make[2]: Вход в каталог `/home/banderlog/TEMP/stg-2.408-rc2/stglibs/crypto.lib'
make[2]: Выход из каталога `/home/banderlog/TEMP/stg-2.408-rc2/stglibs/crypto.lib'
make[2]: Вход в каталог `/home/banderlog/TEMP/stg-2.408-rc2/stglibs/crypto.lib'
/home/banderlog/TEMP/tp_link/staging_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/usr/bin/mips-openwrt-linux-uclibc-g++ -DARCH_BE -fPIC -I ../../include -I . -I ./include -DLINUX -DSTG_TIME -c ag_md5.c
/home/banderlog/TEMP/tp_link/staging_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/usr/bin/mips-openwrt-linux-uclibc-g++ -DARCH_BE -fPIC -I ../../include -I . -I ./include -DLINUX -DSTG_TIME -c blowfish.c
ar rc libstgcrypto.a ag_md5.o blowfish.o
ranlib libstgcrypto.a
make[2]: Выход из каталога `/home/banderlog/TEMP/stg-2.408-rc2/stglibs/crypto.lib'
make  -C common.lib
make[2]: Вход в каталог `/home/banderlog/TEMP/stg-2.408-rc2/stglibs/common.lib'
make[2]: Выход из каталога `/home/banderlog/TEMP/stg-2.408-rc2/stglibs/common.lib'
make[2]: Вход в каталог `/home/banderlog/TEMP/stg-2.408-rc2/stglibs/common.lib'
/home/banderlog/TEMP/tp_link/staging_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/usr/bin/mips-openwrt-linux-uclibc-g++ -I/home/banderlog/TEMP/tp_link/build_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/uClibc-0.9.30.1/include/ -DARCH_BE -fPIC -I ../../include -I . -I ./include -DLINUX -DSTG_TIME -c common.cpp
/home/banderlog/TEMP/tp_link/staging_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/usr/bin/mips-openwrt-linux-uclibc-g++ -I/home/banderlog/TEMP/tp_link/build_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/uClibc-0.9.30.1/include/ -DARCH_BE -fPIC -I ../../include -I . -I ./include -DLINUX -DSTG_TIME -c strptime.cpp
ar rc libstgcommon.a common.o strptime.o
ranlib libstgcommon.a
make[2]: Выход из каталога `/home/banderlog/TEMP/stg-2.408-rc2/stglibs/common.lib'
make  -C conffiles.lib
make[2]: Вход в каталог `/home/banderlog/TEMP/stg-2.408-rc2/stglibs/conffiles.lib'
make[2]: Выход из каталога `/home/banderlog/TEMP/stg-2.408-rc2/stglibs/conffiles.lib'
make[2]: Вход в каталог `/home/banderlog/TEMP/stg-2.408-rc2/stglibs/conffiles.lib'
/home/banderlog/TEMP/tp_link/staging_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/usr/bin/mips-openwrt-linux-uclibc-g++ -I/home/banderlog/TEMP/tp_link/build_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/uClibc-0.9.30.1/include/ -DARCH_BE -fPIC -I ../../include -I . -I ./include -DLINUX -DSTG_TIME -c conffiles.cpp
ar rc libstgconffiles.a conffiles.o
ranlib libstgconffiles.a
make[2]: Выход из каталога `/home/banderlog/TEMP/stg-2.408-rc2/stglibs/conffiles.lib'
make  -C ia.lib
make[2]: Вход в каталог `/home/banderlog/TEMP/stg-2.408-rc2/stglibs/ia.lib'
make[2]: Выход из каталога `/home/banderlog/TEMP/stg-2.408-rc2/stglibs/ia.lib'
make[2]: Вход в каталог `/home/banderlog/TEMP/stg-2.408-rc2/stglibs/ia.lib'
/home/banderlog/TEMP/tp_link/staging_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/usr/bin/mips-openwrt-linux-uclibc-g++ -I/home/banderlog/TEMP/tp_link/build_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/uClibc-0.9.30.1/include/ -DARCH_BE -fPIC -I ../../include -I . -I ./include -I ../crypto.lib/include -I ../common.lib/include -DLINUX -DSTG_TIME -c ia.cpp
ar rc libstgia.a ia.o
ranlib libstgia.a
make[2]: Выход из каталога `/home/banderlog/TEMP/stg-2.408-rc2/stglibs/ia.lib'
make[1]: Выход из каталога `/home/banderlog/TEMP/stg-2.408-rc2/stglibs'
for file in ./main.cpp ./settings_impl.cpp ./web.cpp; do
 echo "`/home/banderlog/TEMP/tp_link/staging_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/usr/bin/mips-openwrt-linux-uclibc-g++ -I/home/banderlog/TEMP/tp_link/build_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/uClibc-0.9.30.1/include/ -DARCH_BE -DLINUX -I ../../stglibs/conffiles.lib/include -I ../../stglibs/ia.lib/include -I ../../stglibs/crypto.lib/include -I ../../stglibs/common.lib/include -I ../../include -MM $file` Makefile" >> deps ;
 echo -e 't$(CXX) -c $< -I/home/banderlog/TEMP/tp_link/build_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/uClibc-0.9.30.1/include/ -DARCH_BE -DLINUX -I ../../stglibs/conffiles.lib/include -I ../../stglibs/ia.lib/include -I ../../stglibs/crypto.lib/include -I ../../stglibs/common.lib/include -I ../../include' >> deps ;
done
make -C /home/banderlog/TEMP/stg-2.408-rc2/projects/sgauth/../../stglibs
make[1]: Вход в каталог `/home/banderlog/TEMP/stg-2.408-rc2/stglibs'
make  -C crypto.lib
make[2]: Вход в каталог `/home/banderlog/TEMP/stg-2.408-rc2/stglibs/crypto.lib'
make[2]: Цель `all' не требует выполнения команд.
make[2]: Выход из каталога `/home/banderlog/TEMP/stg-2.408-rc2/stglibs/crypto.lib'
make  -C common.lib
make[2]: Вход в каталог `/home/banderlog/TEMP/stg-2.408-rc2/stglibs/common.lib'
make[2]: Цель `all' не требует выполнения команд.
make[2]: Выход из каталога `/home/banderlog/TEMP/stg-2.408-rc2/stglibs/common.lib'
make  -C conffiles.lib
make[2]: Вход в каталог `/home/banderlog/TEMP/stg-2.408-rc2/stglibs/conffiles.lib'
make[2]: Цель `all' не требует выполнения команд.
make[2]: Выход из каталога `/home/banderlog/TEMP/stg-2.408-rc2/stglibs/conffiles.lib'
make  -C ia.lib
make[2]: Вход в каталог `/home/banderlog/TEMP/stg-2.408-rc2/stglibs/ia.lib'
make[2]: Цель `all' не требует выполнения команд.
make[2]: Выход из каталога `/home/banderlog/TEMP/stg-2.408-rc2/stglibs/ia.lib'
make[1]: Выход из каталога `/home/banderlog/TEMP/stg-2.408-rc2/stglibs'
/home/banderlog/TEMP/tp_link/staging_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/usr/bin/mips-openwrt-linux-uclibc-g++ -c main.cpp -I/home/banderlog/TEMP/tp_link/build_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/uClibc-0.9.30.1/include/ -DARCH_BE -DLINUX -I ../../stglibs/conffiles.lib/include -I ../../stglibs/ia.lib/include -I ../../stglibs/crypto.lib/include -I ../../stglibs/common.lib/include -I ../../include
/home/banderlog/TEMP/tp_link/staging_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/usr/bin/mips-openwrt-linux-uclibc-g++ -c settings_impl.cpp -I/home/banderlog/TEMP/tp_link/build_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/uClibc-0.9.30.1/include/ -DARCH_BE -DLINUX -I ../../stglibs/conffiles.lib/include -I ../../stglibs/ia.lib/include -I ../../stglibs/crypto.lib/include -I ../../stglibs/common.lib/include -I ../../include
/home/banderlog/TEMP/tp_link/staging_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/usr/bin/mips-openwrt-linux-uclibc-g++ -c web.cpp -I/home/banderlog/TEMP/tp_link/build_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/uClibc-0.9.30.1/include/ -DARCH_BE -DLINUX -I ../../stglibs/conffiles.lib/include -I ../../stglibs/ia.lib/include -I ../../stglibs/crypto.lib/include -I ../../stglibs/common.lib/include -I ../../include
/home/banderlog/TEMP/tp_link/staging_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/usr/bin/mips-openwrt-linux-uclibc-g++ main.o settings_impl.o web.o -I/home/banderlog/TEMP/tp_link/build_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/uClibc-0.9.30.1/include/ -L/home/banderlog/TEMP/tp_link/build_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/uClibc-0.9.30.1/lib/ -Wl,-E -L ../../stglibs/conffiles.lib -L ../../stglibs/ia.lib -L ../../stglibs/crypto.lib -L ../../stglibs/common.lib -o sgauth -lstgconffiles -lstgia -lstgcrypto -lstgcommon -lpthread -static

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

зачем закомменчены строки которые следуют после #if defined(FREE_BSD) ? Они все равно не будут участвовать в процессе компиляции.

 

пардон, закоменчены все строки, юзающие iconv

 

#include <iconv.h>

и строки 915-947

iconv_t handle = iconv_open(to.c_str(),
					    from.c_str());

if (handle == iconv_t(-1))
   {
   if (errno == EINVAL)
    {
    printfd(__FILE__, "IconvString(): iconv from %s to %s failedn", from.c_str(), to.c_str());
    delete[] outBuf;
    delete[] inBuf;
    return source;
    }
   else
    printfd(__FILE__, "IconvString(): iconv_open errorn");

   delete[] outBuf;
   delete[] inBuf;
   return source;
   }

size_t res = iconv(handle,
			   &srcPos, &inBytesLeft,
			   &dstPos, &outBytesLeft);

if (res == size_t(-1))
   {
   printfd(__FILE__, "IconvString(): '%s'n", strerror(errno));

   iconv_close(handle);
   delete[] outBuf;
   delete[] inBuf;
   return source;
   }

и 953

iconv_close(handle);

 

если закоментить инклуд iconv без них то:

 

banderlog ~/TEMP/stg-2.408-rc2/stglibs/common.lib $ make
/home/banderlog/TEMP/tp_link/staging_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/usr/bin/mips-openwrt-linux-uclibc-g++ -I/home/banderlog/TEMP/tp_link/build_dir/toolchain-mips_r2_gcc-4.3.3+cs_uClibc-0.9.30.1/uClibc-0.9.30.1/include/ -DARCH_BE -fPIC -I ../../include -I . -I ./include -DLINUX -DSTG_TIME -c common.cpp
common.cpp: In function 'std::string IconvString(const std::string&, const std::string&, const std::string&)':
common.cpp:915: error: 'iconv_t' was not declared in this scope
common.cpp:915: error: expected `;' before 'handle'
common.cpp:918: error: 'handle' was not declared in this scope
common.cpp:935: error: 'handle' was not declared in this scope
common.cpp:937: error: 'iconv' was not declared in this scope
common.cpp:943: error: 'iconv_close' was not declared in this scope
common.cpp:953: error: 'iconv_close' was not declared in this scope
make: *** [common.o] Ошибка 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А можно увидеть выхлоп tcpdump с ключами -s0 -X для обоих случаев работы нового авторизатора (запуск с роутера, запуск с ноутбука)?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

sgauth из 2.408-rc2 собранный без -static с Makefile

  1 OS=linux
  2 STG_TIME=yes
  3 DIR_BUILD=/home/banderlog/TEMP/stg-2.408-rc2[bOOK]/projects/sgauth
  4 DIR_LIB=$(DIR_BUILD)/../../lib
  5 DIR_LIBSRC=$(DIR_BUILD)/../../stglibs
  6 DIR_INCLUDE=$(DIR_BUILD)/../../include
  7 ARCH=le
  8 DEFS= -DLINUX
  9 STG_LIBS=crypto.lib common.lib conffiles.lib ia.lib 
10 LIB_THREAD=-lpthread
11 SHELL=/bin/bash
12 CXXFLAGS= -I/usr/local/include -DARCH_LE
13 CFLAGS= -DARCH_LE
14 LDFLAGS= -I/usr/local/include -L/usr/local/lib
15 PREFIX=/
16 BIN_MODE=0755
17 DATA_MODE=0644
18 DIR_MODE=0755
19 OWNER=root

 

выхлоп с ноутбука: http://pastebin.com/5M0VXNmW

Для роутера собран с Makefile что я показывал и с ключом -static, прописанным в Makefile что в projects/sgauth/

$(CXX) $^ $(LDFLAGS) -o $(PROG) $(LIBS) -static

выхлоп с роутера: http://pastebin.com/eJcaVNSj

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

100% из за разницы в edian отсылается иначе зашифрованный пакет соединения , после расшифровки сервер не получает правильной инфы о заголовке и у нехо выходит не та версия протокола или вообще неизвестный протокол

 

там при инициализации матрицы шифрования это играет большую роль

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

100% из за разницы в edian отсылается иначе зашифрованный пакет соединения , после расшифровки сервер не получает правильной инфы о заголовке и у нехо выходит не та версия протокола или вообще неизвестный протокол

 

там при инициализации матрицы шифрования это играет большую роль

 

я вижу, да :ph34r: пакеты от сервера одинаковы, от буки и роутера нет.

 

мне бы патчик T_T

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вот я выхлопы покурю и будет патчик.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

в патчах не мастак .. но если мне не изменяет память .. тебе копать надо в blowfish.cpp там endian воздействует на блоки кодирования в функциях block2bytes и byte2block там их тупо можно перевернуть.. думаю поможет

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Нет, копать надо в другую сторону. blowfish уже перекопан, когда я добивался авторизации с обычных компов на BE-сервере. Думал что тогда все перекопал, а оказывается не все...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

К стати, block2byte там появились как раз в результате перекапывания. Если посмотреть на их код то можно заметить что он как раз зависит от endianess.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

  • Похожие публикации

    • Автор: freehost
      Описание вакансии
      На постоянную работу в хостинг-компанию требуется сотрудник на первую линию службы технической поддержки. Офис расположен в Киеве.
       
      Обязанности:
      Отвечать на вопросы клиентов (работа с панелью управления, настройка POP3, SMTP, FTP) по телефону, эл. почте, решать мелкие проблемы (неверно заполненные данные и настройки в контрольной панели, проблемы с доступом и т. п.), сортировка заявок абонентов.
       
      Требования:
      - Умение работать в Интернет с основными клиентами (браузеры: IE и Mozilla, почтовые клиенты: The bat, outlook, FTP-клиенты: IE, Far, Cute FTP;
      - Иметь представление о том что такое HTML, PHP, MySQL
      - Скорость печати на клавиатуре не ниже 100 знаков в в минуту
      - Грамотное владение русским и украинским языком
      - Коммуникабельность, терпение, эмоциональная уравновешенность, способность к обучению.
      - Желание учиться
       
      Условия:
      Официальное трудоустройство
      24 дня отпуска
      Обеды за счет компании
      Рабочий график с 9 до 18 с понедельника по пятницу
      Оплачиваемый больничный
      Возможность повышения
       
      ЗП от 8 000. Пишите в личку.
    • Автор: bot
      Следом за выявленной на прошлой неделе DoS-уязвимости SegmentSmack в TCP-стеках различных операционных систем, опубликована информация о другой похожей уязвимости (CVE-2018-5391, кодовое имя FragmentSmack), которая также позволяет организовать отказ в обслуживании через отправку специально оформленного набора сетевых пакетов, при обработке которого будут заняты все реcурсы CPU. Если первая уязвимость была связана с неэффективностью алгоритма обработки TCP-сегментов, то новая проблема затрагивает алгоритм пересборки фрагментированных IP-пакетов.
       
      Атака осуществляется через отправку потока фрагментированных IP-пакетов, в каждом из которых смещение фрагмента установлено случайным образом. В отличие от прошлой уязвимости SegmentSmack, в FragmentSmack возможно совершение атаки с использованием спуфинга (отправки пакетов с указанием несуществующего IP). При этом для новой атаки требуется большая интенсивность отправки: для полной утилизации ресурсов одного ядра CPU Intel Xeon D-1587@1.70GHz необходим поток на уровне 30 тысяч пакетов в секунду, в то время как для SegmentSmack было достаточно 2 тысячи пакетов в секунду.
       
      Наличие проблемы подтверждено в TCP стеках Linux и FreeBSD. В ядре Linux проблема проявляется начиная с выпуска ядра 3.9. Обновления с устранением проблемы подготовлены для Debian, Fedora, SUSE/openSUSE, Ubuntu, RHEL и FreeBSD. В качестве обходного пути защиты в Linux можно снизить значения sysctl net.ipv4.ipfrag_high_thresh и net.ipv4.ipfrag_low_thresh до 256kB и 192kB или ещё меньших значений.
      sysctl -w net.ipv4.ipfrag_low_thresh=262144 sysctl -w net.ipv4.ipfrag_high_thresh=196608 sysctl -w net.ipv6.ip6frag_low_thresh=262144 sysctl -w net.ipv6.ip6frag_high_thresh=196608  
      Во FreeBSD в качестве обходного пути защиты рекомендовано отключить пересборку фрагментированных пакетов:
      sysctl net.inet.ip.maxfragpackets=0 sysctl net.inet6.ip6.maxfrags=0 Источник: opennet
    • Автор: bot
      После двух месяцев разработки Линус Торвальдс представил релиз ядра Linux 4.18. Среди наиболее заметных изменений в ядре 4.18: возможность монтирования ФС на базе FUSE непривилегированным пользователем, пакетный фильтр bpfilter, подсистема AF_XDP (eXpress Data Path), новый тип модулей ядра umh (usermode helper), device-mapper модуль writecache, поддержка SoC Qualcomm Snapdragon 845 и GPU AMD Vega 20, новый API поллинга для асинхронного ввода/вывода.

      В новую версию принято 13 тысяч исправлений от 1668 разработчиков, размер патча - 50 Мб (изменения затронули 12866 файлов, добавлено 521039 строк кода, удалено - 619603 строк). Около 49% всех представленных в 4.18 изменений связаны с драйверами устройств, примерно 14% изменений имеют отношение к обновлению кода специфичного для аппаратных архитектур, 13% связано с сетевым стеком, 5% - файловыми системами и 3% c внутренними подсистемами ядра. 9.5% всех исправлений подготовлено разработчиками компании Intel, 7.5% - Red Hat, 4.6% - AMD, 4.3% - IBM, 3.8% - Linaro, 3.4% - Renesas Electronics, 3.0% - Google, 2.9% - SUSE, 2.8% - Samsung, 2.2% - Mellanox, 2.1% - Huawei, 2.0% - Oracle.

      В состав ядра включен новый механизм фильтрации пакетов bpfilter, использующего предоставляемую ядром подсистему eBPF, но предлагая привычный синтаксис iptables. Bpfilter обрабатывает запросы API iptables и транслирует их в программы BPF, привязываемые к различным подсистемам. В настоящий момент в ядро добавлена только базовая инфраструктура для bpfilter, но ещё нехватает некоторых компонентов, необходимых для полноценного применения bpfilter для фильтрации пакетов;

      В качестве сопутствующей bpfilter разработки в ядро добавлен новый тип модулей ядра umh (usermode helper), которые выполняются в пространстве пользователя и привязываются в базовым модулям, предоставляя для них вспомогательную функциональность, которую нецелесообразно или опасно выполнять c привилегиями ядра (например в модуле bpfilter.ko через них выполняется разбор и трансляция в BPF правил фильтрации). Модули umh функционируют под управлением ядра, оформляются в виде модулей ядра и загружаются через modprobe, но выполняются в пространстве пользователя с привилегиями пользовательских приложений. Взаимодействие umh-модулей с обычными модулями ядра производится с использованием неименованных каналов (unix pipe);

      В состав ядра включена подсистема AF_XDP (eXpress Data Path), которая предоставляет средства для запуска BPF-программ на уровне сетевого драйвера, с возможностью прямого доступа к DMA-буферу пакетов, что позволяет создавать высокопроизводительные обработчики для работы в условиях большой сетевой нагрузки. В качестве примера реализованы обработчики для быстрой блокировки и перенаправления пакетов.

      Реализована возможность чтения данных из сетевого сокета в режиме zero-copy (флаг TCP_ZEROCOPY_RECEIVEY), позволяющем организовать передачу данных по сети без промежуточного копирования данных между ядром и пространством пользователя (поддержка записи в режиме zero-copy была представлена в ядре 4.14);

      В реализации протокола TLS на уровне ядра (KTLS) добавлена возможность задействования аппаратного ускорения операций с использовнием специализированных чипов. В настоящее время вынос связанных с работой TLS вычислений на плечи оборудования доступен только при использовании драйвера Mellanox mlx5;

      В TCP-стек добавлена поддержка режима сжатия для выборочного подтверждения соединений (SACK), что позволяет сократить число отправляемых SACK-пакетов при перегрузке сети;

      Добавлена возможность прикрепления BPF-программ к сокету и запуска обработчиков при вызове sendmsg(). Подобные обработчики могут применяться для выполнения такхи задач, как перезапись IP-адресов в исходящих пакетах;


      В подсистему шифрования (crypto) добавлена поддержка шифров AEGIS и MORUS, а также алгоритма сжатия Zstandard;
      Пользователь с правами root в пространстве имён идентификаторов пользователя (user namespaces) теперь может монтировать файловые системы, даже если у него нет на это прав вне пространства имён. При этом файловая система должна быть специально помечена для разрешения подобных операций (в настоящий момент операции разрешены только для ФС, реализуемых в пространстве пользователя при помощи модулей FUSE);

      В модуль fscrypt, применяемый для шифрования ФС F2FS и ext4, добавлена поддержка шифров Speck128 и Speck256, разработанных Агентством национальной безопасности США. Шифры обеспечивают очень высокую производительность программной реализации, которая обгоняет AES на системах без наличия средств аппаратного ускорения AES. Использование Speck позволяет применять шифрование на маломощных устройствах, на которых применение AES не оправдано из-за больших накладных расходов;

      Для 32-разрядной архитектуры ARM обеспечена защита от уязвимостей Spectre 1 и Spectre 2 (ранее защита от Spectre была обеспечена для архитектур x86, ARM64 и S390). Для ARM64 добавлена защита от Spectre v4.
      Проведена работа по переводу ядра на более защищёные от переполнения буфера варианты функций распределения памяти. Например, вызовы "kmalloc(count*size, gfp_flags)" заменены на "kmalloc_array(count, size, gfp_flags)";

      Изменены настройки для включения защиты от переполнения стека - теперь автоматически включается наиболее действенный механизм защиты, доступный для текущей конфигурации;


      Для Device Mapper реализован новый модуль "writecache", который может применяться для кэширования операций записи блоков на SSD-накопителях или в постоянной памяти (кэширование операций чтения не реализовано, так как такие операции и так кэшируются кэше страниц памяти в ОЗУ);

      Обеспечена возможность применения флага IOCB_FLAG_IOPRIO для операций асинхронного ввода/вывода, позволяющего установить приоритет выполнения отдельных операций;

      Добавлен новый API поллинга (определение готовности файлового дескриптора к вводу/выводу без блокировки), основанный на использовании системы асинхронного ввода/вывода (AIO);

      В файловой системе Btrfs обеспечена возможность удаления пустого подраздела при помощи вызова rmdir() без специальных дополнительных привилегий. Добавлены новые ioctl-команды FS_IOC_FSGETXATTR и FS_IOC_FSSETXATTR для манипуляции с различными атрибутами файла (append, immutable, noatime, nodump и sync), которые в отличие от команд GET/SETFLAGS могут выставить атрибуты на уровне отдельных inode. Также реализован набор ioctl-команд для получения непривилегированным пользователем информации о подразделах;

      В файловой системе XFS появилась возможность смены метки для уже примонтированной ФС, добавлена поддержка резервирования пустых областей через вызов fallocate() для файлов подкачки, задействован FUA для обеспечения прямой записи данных в режиме O_DSYNC. Кроме того, началась интеграция нового инструментария для восстановления целостности ФС на лету и выполнена переработка кода growfs с целью подготовки интеграции поддержки подразделов (subvolume);

      В файловой системе ext4 продолжена работа по чистке кода и повышению надёжности работы в условиях обработки некорректных образов ФС, специально модифицированных для вредоносных целей;

      Из раздела "staging" удалён код кластерной файловой системы Lustre. В качестве причин упоминается отсутствие должной активности по приведению имеющегося кода к соответствию с остальным ядром, плохая адаптация кода к изменениям в VFS, а также игнорирование проблем и периодическая публикация патчей, ломающих имеющуюся функциональность;
      В файловой системе F2FS улучшена поддержка режима "discard";


      В систему доменов управления питанием (genpd, generic power domain) добавлена поддержка уровней производительности, при помощи которых можно настраивать работу всей системы, включая периферийные устройства, для достижения требуемого баланса между потреблением энергии и производительностью;

      В контроллер ресурсов памяти group, позволяющий управлять расходованием памяти группой задач, добавлен параметр memory.min, который в отличие от ранее доступного параметра memory.low предоставляет более надёжную гарантию предоставления минимального размера доступной для группы оперативной памяти (не отключается при срабатывании OOM killer в условиях нехватки памяти);

      Добавлен системный вызов с реализацией перезапускаемых последовательностей (restartable sequences), позволяющих приложениям организовать неразрывное выполнение группы инструкций, не прерываемой и подтверждающей результат последней инструкцией в группе. По сути предоставляется средство для очень быстрого атомарного выполнения операций, которые в случае прерывания другим потоком очищаются и предпринимается повторная попытка выполнения. Возможность реализована для архитектур x86, ARM и PowerPC;

      Реализован новый параметр запуска ядра no5lvl, предназначенный для отключения пятиуровневых таблиц страниц памяти, даже если оборудование обеспечивает их поддержку;

      Из интерфейса /proc удалена статстика IPMI (по-прежнему оставлена в sysfs);

      Добавлена новая система определения макросов для конфигурации ядра, которую можно использовать для выноса различных тестов, выполняемых на этапе сборки, из makefile в файлы Kconfig;

      В JIT-компиляторе подсистемы eBPF реализована поддержка 32-разрядных систем x86;


      В драйвер Nouveau добавлена поддержка GPU NVIDIA Volta;

      В DRM-драйвер AMDGPU добавлена поддержка GPU AMD Vega 20, а также GPU Kabylake-G (VEGAM - intel и radeon на одном чипе). Добавлены профили управления питанием, напряжением и частотой для GPU Vega10. Реализован режим энергосбережения gfxoff для GPU Raven;

      В DRM-драйвере Intel включена поддержка чипов Icelake (ICL), проведён рефакторинг кода GuC/HuC и DPLL, включена поддержка NV12 и PSR/PSR2;

      В драйвере amdkfd для dGPU (дискретные GPU, такие как Fiji, Tonga, Polaris) добавлена поддержка GPU GFX9;
      Добавлен новый DRM-драйвер v3d для оборудования Broadcom V3D V3.x+;

      Добавлен драйвер xen-front с реализаций графического фронтэнда для гостевых систем XEN в режиме паравиртуализации (PV);

      Добавлена поддержка SoC Qualcomm Snapdragon 845, применяемого в новейших мобильных устройствах класса high-end;

      Добавлена поддержка игровых контроллеров Steam от компании Valve;


      Одновременно Латиноамериканский Фонд свободного ПО сформировал вариант полностью свободного ядра 4.18 - Linux-libre 4.18-gnu, очищенного от элементов прошивок и драйверов, содержащих несвободные компоненты или участки кода, область применения которых ограничена производителем. В новом выпуске представлен новый интерфейс для загрузки прошивок (firmware_reject_nowarn), не выводящий предупреждения в случае если прошивка не найдена. Добавлена чистка блобов для драйверов psp-dev и icn8505. Обновлён код чистки блобов в драйверах c3xxx, c62x, dvb-usb, dvb-usb-v2, iwlwifi, ks7010, ath10k, andgpu, i915, tg3, silead и ca0132. Прекращена чистка блобов для atom isp. Проведены ассемблерные файлы, вынесенные из основного кода amdkfd.

      Источник: Opennet
    • Автор: bot
      Китайская компания Bitmain, выпускающая компьютерное обеспечение, представила новый роутер AntRouter R3, который способен майнить криптовалюту. Устройство предназначено для распространения интернета по Wi-Fi и майнинга электронных денег Dash и Siacoin.

      Мощность оборудования для добычи криптовалюты составляет 300 M/s для Dash и 11.54 G/s для Siacoin. Роутер весит 2 кг. Его стоимость составляет 58 долларов.



      Компания гарантирует доставку в течение 10 дней после совершения оплаты.

      Bitmain Technologies Ltd. является частной компанией со штаб-квартирой в Пекине, с офисами в Шэньчжэне, Шанхае, Чэнду, Гонконге, Фучжоу, США, Израиле, Нидерландах и Швейцарии. Компания также управляет Antpool, одной из криптовалютных крупнейших площадок.

      Product model: R3-DASH
      Hash rate: 300M/s ± 5%
      Supply voltage: 85~265 VAC
      Supply current: 0.5A
      Core voltage: 0.83V
      Mining mode: Solo/Pool
      Chip mining frequency: 500M
      220VAC Power @Mining frequency 500M@25°C: 24.37W
      220VAC Power efficiency @25°C: 0.082 J/MH
      Surface temperature @25°C: 36℃
      Operation temperature: 0-40 °C
      Storage temperature: -40-85 °C
      Operation humidity: 5%RH-95%RH,prevent condensation
      Number of channels: 1~11,A total of 11 channels
      Network standard: IEEE 802.11b/g/n
      Transmission rate 2.4G:300M, support 2*MIMO
      Network Interface: 10M/100M Adaptive WAN port
      Size (Length*Width*Hight): 208 X 148.6 X 69mm
      Noise: Maximum 40dB
      Weight(without package): 0.6kg

      Источник: finance
    • Автор: bot
      В TCP-стеке ядра Linux выявлена опасная уязвимость (CVE-2018-5390), которая позволяет удалённо вызвать отказ в обслуживании из-за исчерпания доступных ресурсов CPU. Для совершения атаки достаточно отправить поток специальным образом оформленных пакетов на любой открытый TCP-порт. Атака может быть совершена только с реального IP-адреса (спуфинг невозможен так как требуется установка TCP-соединения).

      Суть проблемы в том, что при определённых параметрах сегментирования ядро при поступлении каждого пакета вызывает достаточно ресурсоёмкие функции tcp_collapse_ofo_queue() и tcp_prune_ofo_queue(). Из-за неэффективности применяемого алгортима, необходимые для обработки сегментов ресурсы CPU линейно возрастают в зависимости от числа сегментов в очереди пересборки пакетов. При выполнении операции пересборки большого числа сегментов, cоздаваемой нагрузки достаточно, чтобы полностью загрузить процессор при обработке потока с незначительной интенсивностью. Например, для появления существенных задержек в обработке запросов системой для каждого ядра CPU достаточно потока интенсивностью всего 2 тысячи пакетов в секунду.

      Уязвимость проявляется на всех ядрах Linux, начиная с выпуска 4.9 (атака может быть проведена и против более старых ядер, но требует существенного более интенсивного потока пакетов). Проблема устранена в обновлении ядра 4.17.12. Обновления пакетов подготовлены для Debian, SUSE и Fedora, и ожидаются для Ubuntu и RHEL.

      Дополнение: Проблема также проявляется во FreeBSD и вероятно в других операционных системах. Во FreeBSD проблема пока временно решена через ограничение размера очереди пересборки пакетов (net.inet.tcp.reass.maxqueuelen).

      Источник: Opennet
×