Jump to content

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


Recommended Posts

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

 

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

У меня есть роутер с 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?

Link to post
Share on other sites
  • Replies 60
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Архив с пропатченными работающими исходниками и скомпилированным бинарником sgauth для BE [потомкам]: stg-2.408-rc2_BE_patched.tar.gz

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

Link to post
Share on other sites

Я собрал под 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 порт от сервака я не знаю.

 

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

Link to post
Share on other sites

Сделал 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 пакет с сервера и на этом прекращают свою деятельность.

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

 

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

Link to post
Share on other sites

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

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

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

 

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

 

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

 

UPD: послали

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

Link to post
Share on other sites

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: *** пропущен разделитель.  Останов.

Edited by banderlog
Link to post
Share on other sites

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

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

 

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

Link to post
Share on other sites

А почему при сборке не выполнен 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

Link to post
Share on other sites

зачем закомменчены строки которые следуют после #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

Link to post
Share on other sites

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

Link to post
Share on other sites

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

Link to post
Share on other sites

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

 

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

Link to post
Share on other sites

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

 

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

 

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

 

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

Link to post
Share on other sites

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

Link to post
Share on other sites

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

Link to post
Share on other sites

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

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • By Rostyk.07
      Як відомо з попередньої теми, мій Huawei B525s - 23A скидає налаштування після відключення живлення не зміг зробити. Шукаю заміну. 
      Чи варто брати Nokia 4G05-B? 
      **allegro.pl/oferta/nokia-4g05-b-router-4g-lte-na-karte-sim-z-antena-zewnetrzna-agregacja-300mb-13830823421
       
    • By hp11
      Продається маршрутизатор операторського рівня. Був становлений у якості ядра мережі, продається у зв'язку зі зміною топології.
      Має можливість встановлення додаткових плат розширення.
      Продається у комплекті, вказаному на фото.
      Встановлені розширення: має два блоки живленя з безшовним перемиканням, дві плати управління F1-2XGMR4-PREM (підтримує по 2 модулі 10G кожна), два розширення балансування блоків живлення FISP (два блоки встановлені, підтримує ще 2 блоки), плата розширення з 2ма 10G роз'ємами F1-42XG, плата 24 SFP роз'єми 10/100/1000 F1-424F, плата 24 ethernet роз'єми 10/100/1000.
       
      Ціна: 19 999 грн. Торг.
       
      Оголошення на OLX: https://www.olx.ua/d/uk/obyavlenie/marshrutizator-brocade-fast-iron-sx800-IDWoK5E.html?bs=olx_pro_listing

      Brocade FastIron SX - призначені для використання в мережах, де необхідні продуктивність, висока щільність портів, відмовостійкість та резервування всіх елементів обладнання.
      Ця лінійка включає дві моделі FastIron SX 800 і FastIron SX 1600.
      модель FastIron SX 800 має 8 інтерфейсних слотів, резервування по живленню (N+1), в тому числі для модулів з підтримкою PoE, резервування модуля, що управляє (Management module), резервування модуля комутації (Switch Fabric)
      Програмне забезпечення для цього комутатора має розширений функціонал та підтримку протоколів маршрутизації RIPv2/OSPF
      /BGP-4/PBR/GRE/PIM а також IPv6 та ін. Апаратна архітектура комутатора дозволяє забезпечити мінімальну затримку трафіку, якість обслуговування, безпеку та відмовостійкість.
      Завдяки розширеній підтримці Metro функціоналу (VLAN stacking (Q-in-Q), Metro Ring Protocol (MRP I and II), Virtual Switch Redundancy Protocol, Super Aggregated VLANs (SAV), Topology Groups), даний комутатор може використовуватися для агрегації користувача Ethernet трафіку (MTU), c 10 Гб аплінками та XFP трансиверами з дальністю до 80 км.
       
       
      image.webp
    • By lyric
      Доброго времени суток, нужна помощь с выбором оборудования.
       
      Задача: есть корпоративный ноутбук, с которым можно работать только на территории Украины. Т.к. ноут корпоративный - VPN-клиент на него поставить нельзя.
      Есть идея купить на территории Украины VPS и поднять там OpenVPN сервер. В качестве клиента использовать роутер, устанавливающий соединение с этим OpenVPN сервером и пускающим весь трафик туда. Нюанс в том, что хотелось бы иметь возможность использовать разные аплинки: кабель (тут все просто, как я понимаю - просто использовать WAN-порт), Wi-Fi и LTE (последнее необязательно, хоть и желательно).
      Сам ноут планирую подключать кабелем к LAN-порту.
      Ну и до кучи нужно запрещать выход в инет для подключенных к LAN клиентов иначе, как через OpenVPN (напрямую не должен улететь ни один пакет).
       
      Буду рад, если накидаете конкретные модели, на которых возможно реализовать описанную схему.
    • By shik
      Продам маршрутизатор Juniper MX480. Використовувався для тестування в проектах. Ціна 3500$
       
      В комплектацію входить:
       
      1. Модуль router Engine - RE-S-1300-2048-R
      2. 2*БП 1440Вт DC!!!
      3. Лінійна карта Juniper DPCE-R-4XGE-XFP 
       
      Більш детально: 
      Item             Version  Part number     Serial number         Description
      Chassis                                               JN10C7FFAAFB         MX480
      Midplane     REV 05    710-017414       TR2102                 MX480 Midplane
      FPM Board   REV 02    710-017254       WR5974               Front Panel Display
      PEM 0          Rev 02     740-017343   QCS0805A02U        DC Power Entry Module
      PEM 1          Rev 02     740-017343   QCS0805A08H        DC Power Entry Module
      RE 0             REV 17     740-015113   9009086944            RE-S-1300
      CB 0             REV 18     710-021523   ABBP2461               MX SCB
      FPC 0            REV 13   750-018124     KE6373                   DPCE 4x 10GE R
        CPU            REV 06   710-013713     KD7100                  DPC PMB
      Fan Tray                                                 Left Fan Tray
       
      Блоки живлення:
       
      MX-3> show chassis power 
      PEM 0:
        State:     Online
        DC input:  OK (1 feed expected, 1 feed connected)
        DC input:  48.0 V input (53500 mV)
        Capacity:  1440 W (maximum 1440 W)
        DC output: 265 W (zone 0, 5 A at 53 V, 18% of capacity)
      PEM 1:
        State:     Online
        DC input:  OK (1 feed expected, 1 feed connected)
        DC input:  48.0 V input (53500 mV)
        Capacity:  1440 W (maximum 1440 W)
        DC output: 0 W (zone 1, 0 A at 53 V, 0% of capacity)
      PEM 2:
        State:     Empty
        Input:     Absent
      PEM 3:
        State:     Empty
        Input:     Absent
      System:                                 
        Zone 0:
            Capacity:          1440 W (maximum 1440 W)
            Allocated power:   790 W (650 W remaining)
            Actual usage:      265 W
        Zone 1:
            Capacity:          1440 W (maximum 1440 W)
            Allocated power:   0 W (1440 W remaining)
            Actual usage:      0 W
        Total system capacity: 2880 W (maximum 2880 W)
        Total remaining power: 2090 W
       
      Версія ПЗ: 
       
      Model: mx480
      JUNOS Base OS boot [12.3R5.7]
      JUNOS Base OS Software Suite [12.3R5.7]
      JUNOS Kernel Software Suite [12.3R5.7]
      JUNOS Crypto Software Suite [12.3R5.7]
      JUNOS Packet Forwarding Engine Support (M/T/EX Common) [12.3R5.7]
      JUNOS Packet Forwarding Engine Support (MX Common) [12.3R5.7]
      JUNOS Online Documentation [12.3R5.7]
      JUNOS Services AACL Container package [12.3R5.7]
      JUNOS Services Application Level Gateways [12.3R5.7]
      JUNOS AppId Services [12.3R5.7]
      JUNOS Border Gateway Function package [12.3R5.7]
      JUNOS Services Captive Portal and Content Delivery Container package [12.3R5.7]
      JUNOS Services HTTP Content Management package [12.3R5.7]
      JUNOS IDP Services [12.3R5.7]
      JUNOS Services LL-PDF Container package [12.3R5.7]
      JUNOS Services NAT [12.3R5.7]
      JUNOS Services PTSP Container package [12.3R5.7]
      JUNOS Services RPM [12.3R5.7]
      JUNOS Services Stateful Firewall [12.3R5.7]
      JUNOS Voice Services Container package [12.3R5.7]
      JUNOS Services Example Container package [12.3R5.7]
      JUNOS Services Crypto [12.3R5.7]        
      JUNOS Services SSL [12.3R5.7]
      JUNOS Services IPSec [12.3R5.7]
      JUNOS Runtime Software Suite [12.3R5.7]
      JUNOS platform Software Suite [12.3R5.7]
      JUNOS Routing Software Suite [12.3R5.7]
       

       
       
    • By Кузьменко.
      Куплю, можна на вінчестері, може хтось перейшов з Мікротіка...

×
×
  • Create New...