The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"wolfIP и passt - легковесные стеки TCP/IP, работающие без динамического выделения памяти"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"wolfIP и passt - легковесные стеки TCP/IP, работающие без динамического выделения памяти"  +/
Сообщение от opennews (??), 14-Мрт-26, 12:54 
Разработчики криптографической библиотеки wolfSSL развивают TCP/IP стек wolfIP, оптимизированный для использования на встраиваемых устройствах, имеющих ограниченные ресурсы, а также для систем, работающих в режиме реального времени, и решений, требующих повышенной надёжности (Safety-Critical). Для предсказуемого потребления ресурсов в wolfIP не используется динамическое выделение памяти  - все буферы и таблицы сокетов имеют фиксированный размер и настраиваются на этапе компиляции. Код проекта написан на языке Си и распространяется под лицензией GPLv3...

Подробнее: https://www.opennet.dev/opennews/art.shtml?num=64989

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


1. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  +4 +/
Сообщение от Аноним (1), 14-Мрт-26, 12:54 
Странно, почему весь критический код не пишется подобным образом. :)
Ответить | Правка | Наверх | Cообщить модератору

8. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  –6 +/
Сообщение от шолб (?), 14-Мрт-26, 13:40 
Тогда не получится делать важное табло с надутыми щоками, которое очень нужно для залезания на табурет и декламирования "посмотрите какую сложную уробору я сделяль, как мощны мои лапищи." Современное программирование с технической стороны не про практичность, а про самоутверждение. А если и условия потребуют практичности, то она будет уровня "от сохи". Зато с апломбом.
Ответить | Правка | Наверх | Cообщить модератору

29. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  +/
Сообщение от Аноним (29), 14-Мрт-26, 17:43 
> нужно для залезания на табурет и декламирования "посмотрите какую сложную уробору я сделяль, как мощны мои лапищи." Современное программирование с технической стороны не про практичность, а про самоутверждение

Какое еще самоутверждение, лол? Ты правда думаешь, что современный софт состоит из хэллоуворлдов, написанных сумрачными гениями в одно лицо? Нет, это удел сугубо опенсорсия, причем мизерной его части.

Ответить | Правка | Наверх | Cообщить модератору

64. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  –1 +/
Сообщение от шолб (?), 14-Мрт-26, 23:49 
Ты этот современный софт глазами видел, да? Да, именно что уровень хеллоуворлдов. И таки да, либо сумрачным (чайще всего ещё и упоротым) гением, либо толпой мартышек с сдвг. Нету у меня для вас других программистов, т-щ комментатор. И заказчиков тоже нету.
Ответить | Правка | Наверх | Cообщить модератору

66. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  +/
Сообщение от Аноним (66), 15-Мрт-26, 00:44 
" - Дядя, ты что - Арлекин-Петрушка?". В такой манере, как в сабже, на мой взгляд, значительно сложнее делать что-то нетривиальное - всё управление структурами внутри статически выделенной памяти, расчёт/запоминание их диапазонов и смещений и прочее ты ложишь на свои плечи, вместо, например, тупого динамического выделения нового куска памяти под очередной новый массив/структуру. Разве что реализация какого-нибудь кольцевого буфера там будет (почти) одинаковая. И в обоих случаях у тебя одинаковый шанс посчитать смещение неправильно и вылезти за пределы буфера.
Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

16. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  +6 +/
Сообщение от Аноним (16), 14-Мрт-26, 14:48 
Вопрос из серии "почему в Солярис не ставят кресла с катапультой". Потому что это дорого. Раньше, когда информатизация была на начальном уровне, мир готов был мириться с инцидентами ИБ, потому что "писать более надёжно" было дороже, чем принять риски ИБ. Сейчас не так, всеобщая информатизация ведёт к потере гигатонн бабла из-за взломов и атак. Поэтому мир и начал двигаться в сторону секурити, начал закачивать туда бабло. Потому что это стало дешевле, чем терять деньги на атаках.
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

18. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  +1 +/
Сообщение от Jh (?), 14-Мрт-26, 14:56 
не факт что так лучше для критического софта. Переполнение стека никто не отменял)
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

65. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  +/
Сообщение от senaemail (ok), 15-Мрт-26, 00:15 
Так смайлик в конце об этом и намекает :)

Задавать размеры буферов на этапе компиляции это очень странная идея, граничащая с глупостью. Чем это безопаснее, чем задать размеры буферов, например, в конфиге?

Ответить | Правка | Наверх | Cообщить модератору

25. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  +/
Сообщение от timur.davletshin (ok), 14-Мрт-26, 16:24 
В подобных стеках традиционно масса дыр.
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

2. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  –2 +/
Сообщение от Аноним (2), 14-Мрт-26, 12:56 
> Использование при обработке сетевых пакетов предварительно выделенных в статической памяти буферов. Вызовы malloc и free не используются.

Жаль, что это не спасет от других тысячи способов получить UB на этом прекрасном языке.

Ответить | Правка | Наверх | Cообщить модератору

6. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  –2 +/
Сообщение от Аноним (6), 14-Мрт-26, 13:31 
> Жаль, что это не спасет от других тысячи способов получить UB на этом прекрасном языке.

На этом прекрасном языке написали легковесный TCP/IP стек, в отличие от...

Ответить | Правка | Наверх | Cообщить модератору

10. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  +2 +/
Сообщение от Аноним (2), 14-Мрт-26, 13:41 
Плохая попытка.
https://github.com/smoltcp-rs/smoltcp
Ответить | Правка | Наверх | Cообщить модератору

13. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  +/
Сообщение от Аноним (13), 14-Мрт-26, 14:20 
ls -lh smoltcp/target/release/libsmoltcp.rlib
17M авг  1  2022
Ответить | Правка | Наверх | Cообщить модератору

15. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  +/
Сообщение от Аноним (2), 14-Мрт-26, 14:48 
[profile.release]
debug = 2

и отсутствие LTO, так как ты собрал это как библиотеку.

Ответить | Правка | Наверх | Cообщить модератору

37. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  +/
Сообщение от Аноним (37), 14-Мрт-26, 19:09 
На C++ это не проблема.
Ответить | Правка | Наверх | Cообщить модератору

17. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  +/
Сообщение от Аноним (29), 14-Мрт-26, 14:49 
И что ты хотел сказать размером промежуточного файла растового компилятора? Нужно финальный бинарь мерять.
Ответить | Правка | К родителю #13 | Наверх | Cообщить модератору

39. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  +/
Сообщение от Аноним (37), 14-Мрт-26, 19:19 
Размер финального стрипнутого бинаря - 11M. Да, он всасывает всю функциональность smoltcp, и превращает её в cишную либу, кроме smoltcp и тонюсенькой обёртки вокруг неё в том бинаре ничего нет.
Ответить | Правка | Наверх | Cообщить модератору

49. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  +/
Сообщение от Аноним (29), 14-Мрт-26, 21:05 
> Размер финального стрипнутого бинаря - 11M
> в том бинаре

Бинаря какой именно программы/библиотеки? Давай ссылку на код и опции сборки.

Ответить | Правка | Наверх | Cообщить модератору

68. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  +/
Сообщение от Аноним (68), 15-Мрт-26, 01:37 
Может быть тебе и ключи от квартиры дать?
Ответить | Правка | Наверх | Cообщить модератору

54. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  +/
Сообщение от Аноним (54), 14-Мрт-26, 21:58 
И многие знают про эту вашу "хорошую" попытку?  А тот же lwIP на Сишке знают многие микроконтроллерщики.
Ответить | Правка | К родителю #10 | Наверх | Cообщить модератору

11. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  +/
Сообщение от Аноним (11), 14-Мрт-26, 13:56 
Правильно писать: на этом прекрасном языке написали вагон и маленькую тележку стеков которыми пользуются все, в отличие от... Ожидаемо что и UB в штуках которыми не пользуются никого не интересуют. А если начинают пользоваться, то там тоже всякого вылазит, но чаще всего "ну мы прост не реализовали эту штуку реализованную ВЕЗДЕ, во всех других ЯП, потому что нишмагли"
Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

32. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  +/
Сообщение от Аноним (-), 14-Мрт-26, 18:07 
Угу.

См. CVE-2009-1897.

Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

62. Скрыто модератором  +/
Сообщение от Аноним (-), 14-Мрт-26, 23:07 
Ответить | Правка | Наверх | Cообщить модератору

35. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  +1 +/
Сообщение от Аноним (-), 14-Мрт-26, 18:23 
Ave Ada. Ave SPARK.
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

55. Скрыто модератором  +/
Сообщение от Аноним (-), 14-Мрт-26, 21:59 
Ответить | Правка | Наверх | Cообщить модератору

61. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  +1 +/
Сообщение от Аноним (61), 14-Мрт-26, 22:53 
> Жаль, что это не спасет от других тысячи способов получить UB на этом прекрасном языке.

От тысяч способов получить UB спасает осведомлённость о возможности UB, которую программист может почерпнуть из документации.
Но это относится только к тем, кто понимает - UB в стандарте языка есть предупреждение, а не предписание.

Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

67. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  +/
Сообщение от Аноним (29), 15-Мрт-26, 00:46 
> От тысяч способов получить UB спасает осведомлённость о возможности UB, которую программист может почерпнуть из документации.

Каасика жанра: чтобы не было ошибок - просто не делай ошибок.

Ответить | Правка | Наверх | Cообщить модератору

9. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  +1 +/
Сообщение от Аноним (54), 14-Мрт-26, 13:40 
Кто-нибудь из этих проектов добавит, наконец, SCTP для микроконтроллеров?
Ответить | Правка | Наверх | Cообщить модератору

24. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  +/
Сообщение от Аноним (24), 14-Мрт-26, 16:11 
В wolf даже IPv6 не завезли (хотя с IPv4 геморнее из-за де-факто необходимости пересобирать не влезающий в MTU пакет, если только не захардкодили бит выключающий это), какое там SCTP. Плюс у вас роутер, который в проде сегодня зачем-то будет использовать IPv4, натить ничего кроме TCP и UDP не умеет.
Ответить | Правка | Наверх | Cообщить модератору

45. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  +/
Сообщение от Аноним (54), 14-Мрт-26, 20:31 
Во-первых, мне это в серой зоне адресов.
Во-вторых, мой роутер на OpenWRT в IPv6 может.
Ответить | Правка | Наверх | Cообщить модератору

56. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  +1 +/
Сообщение от Аноним (-), 14-Мрт-26, 22:00 
> В wolf даже IPv6 не завезли (хотя с IPv4 геморнее из-за де-факто
> необходимости пересобирать не влезающий в MTU

Это как? В новости написано "Из особенностей passt можно отметить: поддержка IPv6 помимо IPv4" - врут чтоли?

Ответить | Правка | К родителю #24 | Наверх | Cообщить модератору

31. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  +/
Сообщение от Аноним (31), 14-Мрт-26, 17:57 
https://github.com/richlegrand/usrsctp-esp32
Ответить | Правка | К родителю #9 | Наверх | Cообщить модератору

46. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  +1 +/
Сообщение от Страдивариус (?), 14-Мрт-26, 20:37 
Можно. А смысл?
Ответить | Правка | К родителю #9 | Наверх | Cообщить модератору

57. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  +/
Сообщение от Аноним (54), 14-Мрт-26, 22:01 
Не было бы смысла - не спрашивал бы.
Ответить | Правка | Наверх | Cообщить модератору

12. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  +/
Сообщение от Аноним (12), 14-Мрт-26, 14:13 
> оптимизации на базе инструкций AVX2

Наверняка в QEMU внедрят и дропнут кору дуба.

Ответить | Правка | Наверх | Cообщить модератору

23. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  +1 +/
Сообщение от Аноним (54), 14-Мрт-26, 15:57 
Соберём с --without-avx2.
Ответить | Правка | Наверх | Cообщить модератору

38. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  –1 +/
Сообщение от Аноним (37), 14-Мрт-26, 19:12 
Ну уберут `--without-avx2`, расскажут "неразумным" любителям "хлама" что "нужно двигаться дальше".
Ответить | Правка | Наверх | Cообщить модератору

43. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  +/
Сообщение от Аноним (54), 14-Мрт-26, 20:24 
Попросим какого-нибудь чата заменить ассемблерные вставки с этими вашими AVX на generic код на Сишке.
Ответить | Правка | Наверх | Cообщить модератору

69. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  +/
Сообщение от Аноним (68), 15-Мрт-26, 01:39 
Ну и будешь сам свой форк поддерживать, а дистры просто кору дуба дропнут, сначала в этом пакете, а потом скажут "многие пакеты на коре дуба неработоспособны, пора её совсем дропнуть".
Ответить | Правка | Наверх | Cообщить модератору

14. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  –1 +/
Сообщение от Аноним (29), 14-Мрт-26, 14:36 
> требующих повышенной надёжности (Safety-Critical)
> написан на языке Си

Классика жанра. 🤦 Пишем софт для "повышенной надежности" с использованием языка, в котором эта надежность максимально скомпрометирована by design.

В их списке вулнов полно классических сишечных выходов за пределы буфера, но выводов такие ребята традиционно не делают:

https://www.wolfssl.com/docs/security-vulnerabilities/

Ответить | Правка | Наверх | Cообщить модератору

19. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  +/
Сообщение от Аноним (19), 14-Мрт-26, 14:56 
Реалисты же. Сейчас практически все нормальные сдк для микроконтроллеров - на C, хрен туда впихнешь библиотеку на расте.
Ответить | Правка | Наверх | Cообщить модератору

26. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  +1 +/
Сообщение от Аноним (29), 14-Мрт-26, 17:29 
> Реалисты же.

В реальности safety-critical и С не очень сочетаются, о чем говорит уже более полувека не прекращающийся поток классических сишечных ошибок.

Ответить | Правка | Наверх | Cообщить модератору

52. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  +/
Сообщение от Сладкая булочка (?), 14-Мрт-26, 21:40 
> В реальности safety-critical и С не очень сочетаются

Если бы не сочетались, то никто бы не писал верифицированный компилятор для с.

Ответить | Правка | Наверх | Cообщить модератору

59. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  –2 +/
Сообщение от Аноним (-), 14-Мрт-26, 22:32 
> В реальности safety-critical и С не очень сочетаются, о чем говорит уже более
> полувека не прекращающийся поток классических сишечных ошибок.

В реальности большая часть safety critical систем написана на си. А для ваших пафосных языков - даже просто гайдлайнов как sefety critical делать по сути - нет. И сертификаций и тех кто головой бы за это отвечать - тоже еще поискать. Или вон там у господ тулчейн на основе LLVM - проприетарный в хлам. Лицензия позволяет. Так что если не заплатил проприетарщику - во тебе, а не safety critical. Не, panic в runtime - совсем не "safe" в том смысле что контроль над ситуацией полностью теряется и это упс.

Ответить | Правка | К родителю #26 | Наверх | Cообщить модератору

27. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  +/
Сообщение от Аноним (29), 14-Мрт-26, 17:33 
> Сейчас практически все нормальные сдк для микроконтроллеров - на C, хрен туда впихнешь библиотеку на расте.

Почему "хрен впихнешь"? Все эти россказни о том, что растовый код якобы получается в 10 раз больше аналогичного сишного - они уже порядком надоели и были не единожды опровержены даже тут в комментариях.

Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

70. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  –1 +/
Сообщение от Аноним (70), 15-Мрт-26, 01:46 
Ага, щщас.

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

А вот повседневный код — увы, нет. Раст выплёвывает копролитные погадки, слепленные из десятков, а то и сотен библиотек и весящие многие мегабайты, даже в релизном режиме.

Ответить | Правка | Наверх | Cообщить модератору

36. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  +/
Сообщение от Аноним (-), 14-Мрт-26, 18:33 
Rust: #[no_mangle] pub extern "C" fn my_func()

Ada: pragma Export (C, My_Func, "my_func")

Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

60. Скрыто модератором  –2 +/
Сообщение от Аноним (-), 14-Мрт-26, 22:34 
Ответить | Правка | Наверх | Cообщить модератору

22. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  +3 +/
Сообщение от шолб (?), 14-Мрт-26, 15:13 
> хрен туда впихнешь библиотеку на расте

дык треснет хомячок-то от такого фистинга.

Ответить | Правка | Наверх | Cообщить модератору

34. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  +/
Сообщение от Гуманоид (?), 14-Мрт-26, 18:12 
Почему сразу не было сделано таким образом?
Ответить | Правка | Наверх | Cообщить модератору

40. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  +/
Сообщение от Аноним (40), 14-Мрт-26, 19:46 
>использоваться в качестве работающего в пользовательском пространстве TCP/IP-стека, подменяющего сетевой стек

Зачем охранять ключи, если в пользовательском пространстве доступен весь код.
>(bare-metal)

Привет, руткит.
>все буферы и таблицы сокетов имеют фиксированный размер и настраиваются на этапе компиляции.

Атакеру много сокетов не надо.

Ответить | Правка | Наверх | Cообщить модератору

41. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  +/
Сообщение от Аноним10084 и 1008465039 (?), 14-Мрт-26, 19:57 
Не использовать динамическую память - одно из десяти NASA'вских правил для критичного кода
Ответить | Правка | Наверх | Cообщить модератору

42. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  +/
Сообщение от Аноним (42), 14-Мрт-26, 20:20 
Странно, что не на Zig. Он как раз под такое и заточен.
Ответить | Правка | Наверх | Cообщить модератору

44. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  +1 +/
Сообщение от Аноним (54), 14-Мрт-26, 20:27 
И не подерётесь с рaстаманaми, и не подерётесь ;)
Ответить | Правка | Наверх | Cообщить модератору

53. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  +/
Сообщение от Сладкая булочка (?), 14-Мрт-26, 21:53 
> Он как раз под такое и заточен.

Пока он заточен на то, чтобы в новых версиях ломать синтаксис.

Ответить | Правка | К родителю #42 | Наверх | Cообщить модератору

47. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  +/
Сообщение от Аноним (47), 14-Мрт-26, 20:50 
По описанию на удивление очень годно и вкусно
Ответить | Правка | Наверх | Cообщить модератору

48. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  +/
Сообщение от Аноним (48), 14-Мрт-26, 20:55 
Можно ли его собрать с выключенной поддержкой IPv4 и прочего барахла? Нужен только IPv6 SLAAC.
Ответить | Правка | Наверх | Cообщить модератору

50. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  +/
Сообщение от Аноним (50), 14-Мрт-26, 21:11 
> Код проекта написан на языке Си
> Safety-Critical

Ну смешно же.

Ответить | Правка | Наверх | Cообщить модератору

58. Скрыто модератором  +/
Сообщение от Аноним (54), 14-Мрт-26, 22:04 
Ответить | Правка | Наверх | Cообщить модератору

51. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  +/
Сообщение от Dmitry (??), 14-Мрт-26, 21:18 
А как с производительностью у такого стека?
Ответить | Правка | Наверх | Cообщить модератору

63. Скрыто модератором  +/
Сообщение от Аноним (-), 14-Мрт-26, 23:08 
Ответить | Правка | Наверх | Cообщить модератору

71. "wolfIP и passt - легковесные стеки TCP/IP, работающие без ди..."  +/
Сообщение от Аноним83 (?), 15-Мрт-26, 03:13 
Да никак, он написан чтобы на всяком мусоре сеть появилась.
4200 строк нужно только для TCP, и то это мало если делать хорошую реализацию, со всеми фичами, которая сможет полностью канал утилизировать.

Авто написали минимально рабочий код, чтобы хоть как то работало.

Ответить | Правка | К родителю #51 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2026 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру