Jump to content
Калькуляторы

accel pptpd accel pptpd

Попробую.

Этот модуль совместим с тем, который для pppd от Xeb'a или его тоже от вас брать?

Совместим.

Share this post


Link to post
Share on other sites

sfstudio,

думаешь если у меня .32-е ядро не собирается, то более рание собирутся ? что-то я сомневаюсь ...

Share this post


Link to post
Share on other sites

Так может попытаться поставить с leaf.sourceforge.net ихнюю среду разработки/компиляции? Там и gcc древний, ядро нормально собирается 2.4.34.6 родное...

Share this post


Link to post
Share on other sites

Заменил файл pptp.c, вот что получилось:

 

gcc -D__KERNEL__ -I/usr/src/linux/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fno-stack-protector -fomit-frame-pointe          r -fno-stack-protector -pipe -mpreferred-stack-boundary=2 -march=i686  -DMODULE           -fno-stack-protector -DMODVERSIONS -include /usr/src/linux/include/linux/modversions.h  -nostdinc -iwithprefix include -DKBUILD_BASENAME=pptp  -c -o pptp.o pptp.c
pptp.c: In function `find_call':
pptp.c:164: error: union has no member named `pptp'
pptp.c:165: error: union has no member named `pptp'
pptp.c: In function `add_call':
pptp.c:200: error: union has no member named `pptp'
pptp.c: In function `delete_call':
pptp.c:215: error: union has no member named `pptp'
pptp.c:229: error: union has no member named `pptp'
pptp.c: In function `pptp_xmit':
pptp.c:255: error: union has no member named `pptp'
pptp.c:258: error: dereferencing pointer to incomplete type
pptp.c:259: error: dereferencing pointer to incomplete type
pptp.c:282: error: dereferencing pointer to incomplete type
pptp.c:284: error: dereferencing pointer to incomplete type
pptp.c:291: error: dereferencing pointer to incomplete type
pptp.c:292: error: dereferencing pointer to incomplete type
pptp.c:300: error: dereferencing pointer to incomplete type
pptp.c:300: error: dereferencing pointer to incomplete type
pptp.c:300: error: dereferencing pointer to incomplete type
pptp.c:302: error: dereferencing pointer to incomplete type
pptp.c:302: error: dereferencing pointer to incomplete type
pptp.c:302: error: dereferencing pointer to incomplete type
pptp.c:304: error: dereferencing pointer to incomplete type
pptp.c:307: error: dereferencing pointer to incomplete type
pptp.c: In function `pptp_rcv_core':
pptp.c:359: error: union has no member named `pptp'
pptp.c:366: error: dereferencing pointer to incomplete type
pptp.c:366: error: dereferencing pointer to incomplete type
pptp.c:367: error: dereferencing pointer to incomplete type
pptp.c:367: error: dereferencing pointer to incomplete type
pptp.c:379: error: dereferencing pointer to incomplete type
pptp.c:379: error: dereferencing pointer to incomplete type
pptp.c:379: error: dereferencing pointer to incomplete type
pptp.c:382: error: dereferencing pointer to incomplete type
pptp.c:382: error: dereferencing pointer to incomplete type
pptp.c:382: error: dereferencing pointer to incomplete type
pptp.c:383: error: dereferencing pointer to incomplete type
pptp.c:385: error: dereferencing pointer to incomplete type
pptp.c:386: error: dereferencing pointer to incomplete type
pptp.c: In function `pptp_bind':
pptp.c:461: error: union has no member named `pptp'
pptp.c:461: error: union has no member named `pptp'
pptp.c: In function `pptp_connect':
pptp.c:474: error: union has no member named `pptp'
pptp.c:477: error: `PX_PROTO_PPTP' undeclared (first use in this function)
pptp.c:477: error: (Each undeclared identifier is reported only once
pptp.c:477: error: for each function it appears in.)
pptp.c:478: error: union has no member named `pptp'
pptp.c:478: error: union has no member named `pptp'
pptp.c:486: error: dereferencing pointer to incomplete type
pptp.c:486: error: union has no member named `pptp'
pptp.c:501: error: dereferencing pointer to incomplete type
pptp.c:501: error: union has no member named `pptp'
pptp.c: In function `pptp_getname':
pptp.c:514: error: `PX_PROTO_PPTP' undeclared (first use in this function)
pptp.c:515: error: union has no member named `pptp'
pptp.c:515: error: union has no member named `pptp'
pptp.c: In function `pptp_create':
pptp.c:568: error: `PX_PROTO_PPTP' undeclared (first use in this function)
pptp.c:581: error: union has no member named `pptp'
pptp.c: In function `pptp_ppp_ioctl':
pptp.c:588: error: union has no member named `pptp'
pptp.c:594: error: dereferencing pointer to incomplete type
pptp.c:594: error: dereferencing pointer to incomplete type
pptp.c:594: error: dereferencing pointer to incomplete type
pptp.c:594: error: dereferencing pointer to incomplete type
pptp.c:599: error: dereferencing pointer to incomplete type
pptp.c: In function `pptp_init_module':
pptp.c:614: error: `PX_PROTO_PPTP' undeclared (first use in this function)
pptp.c: In function `pptp_exit_module':
pptp.c:622: error: `PX_PROTO_PPTP' undeclared (first use in this function)
make[3]: *** [pptp.o] Error 1
make[3]: Leaving directory `/root/install/accel_pptpd/accel-pptp-2.4.32/kernel/driver'
make[2]: *** [_mod_/root/install/accel_pptpd/accel-pptp-2.4.32/kernel/driver] Error 2
make[2]: Leaving directory `/usr/src/linux-2.4.32'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/root/install/accel_pptpd/accel-pptp-2.4.32/kernel/driver'
make: *** [module] Error 2

 

Что-то не так делаю?

Share this post


Link to post
Share on other sites
hiller, если тебе очень нужно, я могу собрать accel-pptp на твоей системе, пиши в асю/жабу

Share this post


Link to post
Share on other sites

Xeb, огромное спасибо за предложение, но боюсь начальство меня за это по головке не погладит. К тому же, я не так давно работаю. Рисковать не стану. Но все равно спасибо!

Share this post


Link to post
Share on other sites

ну, моё дело предложить :)

да, и риска никакого нету, я многим ставил, в том числе участникам этого форума ...

ладно, у меня есть еще одна идея ...

Share this post


Link to post
Share on other sites

hiller, конфиг ядра дать можешь ?

Share this post


Link to post
Share on other sites

проблема не в accel-pptp, пргоблема в ядре, вобщем сделай вот что:

I have run into those problems in the past with several modules, which

could be solved by 'make mrproper' (Note: save you .config, because it

will be erased, too) prior to 'make oldconfing' (after having copied

.config to its place again) and 'make bzImage modules'.

Share this post


Link to post
Share on other sites

rpm под RHEL\CentOS можете собирать?

Стоит CentOS-5.3 64 бита, впн сервера строю на флешках, лишний раз компилить на нем нехочется ;)

Организовать виртуалку для сборки пакета конечно можно... Но хотелось бы пакеты от производителя так сказать ;)

Share this post


Link to post
Share on other sites

не знаю, не пробовал

Share this post


Link to post
Share on other sites
Заменил файл pptp.c, вот что получилось:

Что-то не так делаю?

А в лоб не выйдет, я предлагал xeb`у глянуть на тему может что для себя интересного почерпнёт да добавит дефайнами 2.4.17-2.4.18 (сейчас попробовал и 2.4.19) поддержку, на самом деле там ещё и в хидерах есть различия if_pppox.h и т.д. Т.е. в лоб оно и не перенёстся. Ну и не забываем что я интегрю это дело сразу в ядро, а не компилю вне его структуры ибо у меня всё делается для встраиваемых систем, а там своих нюансов хватает.

Share this post


Link to post
Share on other sites
rpm под RHEL\CentOS можете собирать?

Стоит CentOS-5.3 64 бита, впн сервера строю на флешках, лишний раз компилить на нем нехочется ;)

Организовать виртуалку для сборки пакета конечно можно... Но хотелось бы пакеты от производителя так сказать ;)

Для сборки пакетов есть (и должен быть) линуксовый дэсктоп причём пофиг какой проц и какой архитектуры на сервере и на десктопе. Кросскомпиляцию ещё не отменяли. Лучше бы xeb занялся бы пропихиванием патчей в основную ветку, или таки починил бы баги в режиме клиента, я пока ничего кроме как запретить icmp3 в сторону сервера pptp умнее не придумал, но это костыль, а откуда ноги растут не въеду.

 

Плюс у accell-pptp есть потенциальная возможность завалить ядро устроив петлю на интерфейсе клиента. Столкнулся с этим в корбине. Их сервер выдаёт IP шлюза внутри VPN такой же как и внешний IP сервера. Попробовал сэмулировать обратную ситуацию, закольцевал маршруты на роутере - и писец серверу - ресурсы кончились. Бага очень сурьёзная, в юзерлевел реализации вывалился бы только один процесс, а тут раком встаёт ядро и приплыли.

Share this post


Link to post
Share on other sites
починил бы баги в режиме клиента
о каком баге идёт речь ?
Их сервер выдаёт IP шлюза внутри VPN такой же как и внешний IP сервера.
я создавал такую ситуацию, ничего не валится

к томуже назначением ип адреса занимается pppd, так что его надо паччить если есть проблемы с этим

закольцевал маршруты на роутере - и писец серверу - ресурсы кончились.
поделись методикой заколцовывания, у меня не получается
интересного почерпнёт да добавит дефайнами 2.4.17-2.4.18
а есть смысл поддерживать столь старые ядра ?
Edited by xeb

Share this post


Link to post
Share on other sites
о каком баге идёт речь ?

Соединение устанавливается через раз пока не добавиш правило iptables -A OUTPUT -o eth0 -p icmp -m icmp --icmp-type 3 -j DROP. В логах типа удалённая сторона разорвала соединение. Правило нужно добавлять со стороны клиента причём бага только если клиент accell-pptp. От версии ядра не зависит абсолютно. В чём заморочка так и не разобрался просто дропаю icmp3 пакеты летящие от клиента к серверу в момент дозвона и дело с концом. Но ИМХО кривовато.

 

я создавал такую ситуацию, ничего не валится

Самый простой пример поднять серверную часть на винде хоть той же XP штатными средствами и звонить на неё accel-pptp.

 

к томуже назначением ип адреса занимается pppd, так что его надо паччить если есть проблемы с этим

Стоп стоп стоп. Грю кривой сервер выдаёт. Там вообще некоторый иосы бывают но чаще проблемы с виндой. Решается сразу после подъёма туннеля прибиванием маршрута который создаёт ядро при подъёме ppp ифейса. (192.168.200.254 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0 к примеру)

 

поделись методикой заколцовывания, у меня не получается

На форуме корбины методика обсуждалась, у мну таких трашных серверов нет, пример как эмулировать ситуацию брал там же. Резко растёт sys в top и резко уходит память и приплыли.

 

а есть смысл поддерживать столь старые ядра ?

Встраиваемые системы. Например ещё не поступивший в продажу 8196 чип имеет модули ядра для wifi только для 2.4.18, Ti тоже балуется некрофилией, броадком не отстаёт. Вот и пляшем. А синкаться вручную постоянно уже слегка забадался.

Edited by sfstudio

Share this post


Link to post
Share on other sites
Соединение устанавливается через раз пока не добавиш правило iptables -A OUTPUT -o eth0 -p icmp -m icmp --icmp-type 3 -j DROP.
fixed
commit fbed48c5f85c270c4622de1acd5a85ee396bd6f4

Author: xeb <xeb@mail.ru>

Date: Fri Jun 26 00:24:33 2009 +0400

 

removed send ICMP_DEST_UNREACH

Грю кривой сервер выдаёт.
a я говорю что нужно кривость проверять в pppd, ибо только он знает ип адрес
Встраиваемые системы. Например ещё не поступивший в продажу 8196 чип имеет модули ядра для wifi только для 2.4.18,
хорошо, будет поддержка ...

Share this post


Link to post
Share on other sites
проблема не в accel-pptp, пргоблема в ядре, вобщем сделай вот что:
I have run into those problems in the past with several modules, which

could be solved by 'make mrproper' (Note: save you .config, because it

will be erased, too) prior to 'make oldconfing' (after having copied

.config to its place again) and 'make bzImage modules'.

Спасибо. Сейчас попробую.

Share this post


Link to post
Share on other sites

Стало еще веселее:

~/install/accel_pptpd/accel-pptp/kernel/driver# insmod pptp
Using /lib/modules/2.4.32/extra/pptp.o
/lib/modules/2.4.32/extra/pptp.o: /lib/modules/2.4.32/extra/pptp.o: unresolved symbol sock_no_poll_Rsmp_29ea2153
/lib/modules/2.4.32/extra/pptp.o: /lib/modules/2.4.32/extra/pptp.o: unresolved symbol ppp_register_channel_Rsmp_d775aa8a
/lib/modules/2.4.32/extra/pptp.o: /lib/modules/2.4.32/extra/pptp.o: unresolved symbol ___pskb_trim_Rsmp_8bd334e4
/lib/modules/2.4.32/extra/pptp.o: /lib/modules/2.4.32/extra/pptp.o: unresolved symbol sock_no_sendmsg_Rsmp_c0c9908f
/lib/modules/2.4.32/extra/pptp.o: /lib/modules/2.4.32/extra/pptp.o: unresolved symbol ip_finish_output_Rsmp_ab427762
/lib/modules/2.4.32/extra/pptp.o: /lib/modules/2.4.32/extra/pptp.o: unresolved symbol skb_realloc_headroom_Rsmp_486c63da
/lib/modules/2.4.32/extra/pptp.o: /lib/modules/2.4.32/extra/pptp.o: unresolved symbol sock_no_socketpair_Rsmp_c01f9ec5
/lib/modules/2.4.32/extra/pptp.o: /lib/modules/2.4.32/extra/pptp.o: unresolved symbol sock_no_accept_Rsmp_9c6c4916
/lib/modules/2.4.32/extra/pptp.o: /lib/modules/2.4.32/extra/pptp.o: unresolved symbol sock_no_shutdown_Rsmp_85f4d08b
/lib/modules/2.4.32/extra/pptp.o: /lib/modules/2.4.32/extra/pptp.o: unresolved symbol sock_init_data_Rsmp_446e40cd
/lib/modules/2.4.32/extra/pptp.o: /lib/modules/2.4.32/extra/pptp.o: unresolved symbol register_pppox_proto_Rsmp_7742935a
/lib/modules/2.4.32/extra/pptp.o: /lib/modules/2.4.32/extra/pptp.o: unresolved symbol sock_no_mmap_Rsmp_2f84158e
/lib/modules/2.4.32/extra/pptp.o: /lib/modules/2.4.32/extra/pptp.o: unresolved symbol sk_alloc_Rsmp_ae46756b
/lib/modules/2.4.32/extra/pptp.o: /lib/modules/2.4.32/extra/pptp.o: unresolved symbol nf_hook_slow_Rsmp_da33a32c
/lib/modules/2.4.32/extra/pptp.o: /lib/modules/2.4.32/extra/pptp.o: unresolved symbol sock_wfree_Rsmp_b7b4308b
/lib/modules/2.4.32/extra/pptp.o: /lib/modules/2.4.32/extra/pptp.o: unresolved symbol __lock_sock_Rsmp_cfa630fd
/lib/modules/2.4.32/extra/pptp.o: /lib/modules/2.4.32/extra/pptp.o: unresolved symbol sk_run_filter_Rsmp_1ca89f5d
/lib/modules/2.4.32/extra/pptp.o: /lib/modules/2.4.32/extra/pptp.o: unresolved symbol icmp_send_Rsmp_093a727f
/lib/modules/2.4.32/extra/pptp.o: /lib/modules/2.4.32/extra/pptp.o: unresolved symbol sock_no_recvmsg_Rsmp_e9b0b007
/lib/modules/2.4.32/extra/pptp.o: /lib/modules/2.4.32/extra/pptp.o: unresolved symbol __release_sock_Rsmp_e60116db
/lib/modules/2.4.32/extra/pptp.o: /lib/modules/2.4.32/extra/pptp.o: unresolved symbol inet_add_protocol_Rsmp_d8df82a0
/lib/modules/2.4.32/extra/pptp.o: /lib/modules/2.4.32/extra/pptp.o: unresolved symbol sock_no_listen_Rsmp_5e7a09d6
/lib/modules/2.4.32/extra/pptp.o: /lib/modules/2.4.32/extra/pptp.o: unresolved symbol inet_del_protocol_Rsmp_602b5988
/lib/modules/2.4.32/extra/pptp.o: /lib/modules/2.4.32/extra/pptp.o: unresolved symbol pppox_unbind_sock_Rsmp_e7a634d6
/lib/modules/2.4.32/extra/pptp.o: /lib/modules/2.4.32/extra/pptp.o: unresolved symbol ip_route_output_key_Rsmp_c9599e81
/lib/modules/2.4.32/extra/pptp.o: /lib/modules/2.4.32/extra/pptp.o: unresolved symbol sock_no_getsockopt_Rsmp_685c717e
/lib/modules/2.4.32/extra/pptp.o: /lib/modules/2.4.32/extra/pptp.o: unresolved symbol __pskb_pull_tail_Rsmp_63ef5268
/lib/modules/2.4.32/extra/pptp.o: /lib/modules/2.4.32/extra/pptp.o: unresolved symbol sk_free_Rsmp_c87dae10
/lib/modules/2.4.32/extra/pptp.o: /lib/modules/2.4.32/extra/pptp.o: unresolved symbol sock_no_setsockopt_Rsmp_24dc9efe
/lib/modules/2.4.32/extra/pptp.o: /lib/modules/2.4.32/extra/pptp.o: unresolved symbol ppp_input_Rsmp_22d73028
/lib/modules/2.4.32/extra/pptp.o: /lib/modules/2.4.32/extra/pptp.o: unresolved symbol ip_fragment_Rsmp_01f8c20f
/lib/modules/2.4.32/extra/pptp.o: /lib/modules/2.4.32/extra/pptp.o: unresolved symbol __ip_select_ident_Rsmp_e8708f1b
/lib/modules/2.4.32/extra/pptp.o: /lib/modules/2.4.32/extra/pptp.o: unresolved symbol sock_rfree_Rsmp_b9b37c36
/lib/modules/2.4.32/extra/pptp.o: /lib/modules/2.4.32/extra/pptp.o: unresolved symbol __kfree_skb_Rsmp_743ac08d
/lib/modules/2.4.32/extra/pptp.o: /lib/modules/2.4.32/extra/pptp.o: unresolved symbol skb_under_panic_Rsmp_00c3739

 

В любом случае, смысл ясен. Попробую заинсталлить свежескомпиленое ядро поверх старого, перегрузиться, сделать depmod -a, по логике, после этого должно заработать. Надеюсь, что после ребута все оживет. Сегодня ночью попробую.

 

Если не выйдет с 2.4.32, буду разбираться с патчами, которые на нем сейчас стоят, если удастся перенести на свежие ядра, перейду на новое.

Share this post


Link to post
Share on other sites
Попробую заинсталлить свежескомпиленое ядро поверх старого, перегрузиться
вот это правильное решение ;)

только вот еще модуль пересобрать не помешает

Edited by xeb

Share this post


Link to post
Share on other sites
a я говорю что нужно кривость проверять в pppd, ибо только он знает ип адрес

Сорри, непрально понял, логично нуно в pppd добавить проверку.

Share this post


Link to post
Share on other sites

removed send ICMP_DEST_UNREACH

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

Edited by sfstudio

Share this post


Link to post
Share on other sites

Запустил accel_pptp на ядре 2.4.32. Загрузка упала в 30 раз! Огромное спасибо Xeb за разработку очень нужного и полезного софта + всем кто помогал в этом не простом занятии. Спасибо!

Edited by hiller

Share this post


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