Перейти к содержимому
Калькуляторы
Попробую.

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

Совместим.

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


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

sfstudio,

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

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


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

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

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


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

Заменил файл 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

 

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

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


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

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

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


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

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

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


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

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

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

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

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


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

проблема не в 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'.

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


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

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

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

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

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


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

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

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

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

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


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

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

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

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

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

 

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

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


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

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

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

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

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


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

о каком баге идёт речь ?

Соединение устанавливается через раз пока не добавиш правило 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 тоже балуется некрофилией, броадком не отстаёт. Вот и пляшем. А синкаться вручную постоянно уже слегка забадался.

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

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


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

Соединение устанавливается через раз пока не добавиш правило 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,
хорошо, будет поддержка ...

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


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

проблема не в 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'.

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

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


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

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

~/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, буду разбираться с патчами, которые на нем сейчас стоят, если удастся перенести на свежие ядра, перейду на новое.

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


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

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

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

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

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


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

a я говорю что нужно кривость проверять в pppd, ибо только он знает ип адрес

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

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


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

removed send ICMP_DEST_UNREACH

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

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

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


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

Угу, народ потестит там посмотрим ;)

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


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

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

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

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


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

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.