LINUX.ORG.RU

Нужна помощь kernel-хакеров


0

1

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

Пытаюсь собрать ядро 2.6.22 с патчами openswan для поддержки NAT-T. Патч наложился без ошибок, make oldconfig новые опции подхватил, но при сборке я получаю следующую ошибку:

net/ipv4/udp.c: In function ‘udp_lib_setsockopt’:
net/ipv4/udp.c:1477: error: ‘struct udp_sock’ has no member named ‘encap_rcv’
make[2]: *** [net/ipv4/udp.o] Error 1
make[1]: *** [net/ipv4] Error 2
make: *** [net] Error 2

Мои примитивные знания Си и гугл не привели ни к чему хорошему =)

Вот сам файл целиком http://pastebin.com/fMK2C2E0

Прошу помощи если тут вообще можно чем-то помочь. Версия ядра прибита гвоздями к блобам железки поэтому в этом направлении манёвра не получится.

Ответ на: комментарий от fontpath

Упс, тема закрыта, сам разобрался.

Ну расскажи для Ъ, интересно же :)

const86 ★★★★★
()

has no member named...

ох как это знакомо...

alex_custov ★★★★★
()

либо опцию какую-то недовыбрал, либо ещё какая-то забытая мелочь.

А вообще, ipsec-tools вполне себе работают в т.ч. и с nat-t

Dark_SavanT ★★★★★
()
Ответ на: комментарий от dimon555

я когда посмотрел на то как настраивается openswan офигел слегонца и раскурился манами на racoon

Dark_SavanT ★★★★★
()
Ответ на: комментарий от anonymous

Всё оказалось не так просто, поэтому планирую поковырять разработчикам мозг в рассылке. Проблема не решена.

fontpath
() автор топика
Ответ на: комментарий от fontpath

extern struct дописал? Также такие древние версии ядра надо собирать старыми компиляторами (gcc 4.2)

ms-dos128
()

Структура была где-то переопределена. Поищи по исходникам по имени 'struct udp_sock'.

И это, покажи еще ./include/linux/udp.h, чтоб иметь представление, что там творится у тебя.

anonymous
()
Ответ на: комментарий от anonymous

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

anonymous
()
Ответ на: комментарий от anonymous

Мда. Энкапсуляцию для протокола L2TP ввели только в версии 2.6.23, на которую я вам и советую перейти. Если же совсем все плохо, то вот ссылка на патч. Анализируйте, правьте код, пробуйте компилировать. Только вот что вы получите в результате... Можно еще попробовать вырезать энкапсуляцию из патча, что тоже предполагает хорошее понимание, что этот патч делает.

anonymous
()

зачем такое древнее ядро?

true_admin ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.