Задать вопрос
  • Почему mssql не занимает всю выделенную память?

    @res2001
    unk1nD000, По ссылке выше есть настройка использования памяти, это как раз оно.
    Что у вас указано в "Maximum server memory"?
  • Почему не работает openvpn клиент?

    @res2001
    IvanOne, Проверьте права на ключи и сертификаты. Права на закрытые ключи должны быть ТОЛЬКО у владельца, владельцем должен быть пользователь из-под которого вы запускаете openvpn. На сертификаты можно дать всем на чтение. В конфиге лучше указывать полные пути к ключам.
  • Параметры оптимизации работают?

    @res2001
    Работают.
    На каком коде? Для "Hello world" бесполезно включать оптимизацию.
    Надо использовать либо -O2 либо -O3. Если указаны оба вместе, то будет использован последний.
  • Как удалить необходимые узлы из бинарного дерева?

    @res2001
    Retr0Hacker, Вот тут в картинках описаны основные операции в двоичном дереве: https://neerc.ifmo.ru/wiki/index.php?title=%D0%94%...

    Добавьте указатель на родителя в узел дерева. И перепешите все с учетом этого - избавьтесь от вашего стека (STACK) и рекурсии везде.
    Никто в здравом уме в реальных приложениях не выделяет дополнительную память просто для того что бы обойти дерево (не важно для каких целей). У вас же это необходимость, просто из-за того, что имея указатель на текущий узел дерева вы не можете вернуться к родителю. И вы вынуждены использовать либо "динамический" стек (STACK), либо рекурсию.
    Добавление указателя на родителя решает эту проблему.

    Напомню, что рекурсия - это то же использование дополнительной памяти, она ограничена размером стека (не вашего "динамического" стека, а "аппаратного"). Так что ее лучше не применять в реальных приложениях, т.к. может вызвать переполнение стека.

    Напомню, что выделение динамической памяти операция очень "дорогая" (затратная в плане процессорного времени). Выделение стековой памяти (аппаратного стека (рекурсия), а не STACK), операция "дешевая", но размер стека ограничен и он не большой.
  • Как удалить необходимые узлы из бинарного дерева?

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

    В Distance() утечка памяти - вы выделяете память и теряете указатель при выходе? Явно malloc тут не нужен.

    Для удаления узла потребуется некоторая перестройка нижележащего поддерева. Просто проделайте это на бумаге, станет яснее.
    У вас в DeleteNode вообще сложно что-то понять. В DeleteSomeNodes() выделяете неинициализированную память и тут же читаете значение в ней. И делаете на этом основании какие-то выводы. Что это? Датчик случайных чисел?
  • Информация с сайта?

    @res2001
    tau shaso,
    сколько эти логи хранятся

    Читайте закон Яровой, он и про это в т.ч. Полгода было, если не ошибаюсь, но я не слежу за этой темой, может что-то и изменилось.
  • Какой выбрать аналог Kerio?

    @res2001
    Вася Пупкин, Вообще в этой сфере платные варианты - для ленивых, для тех у кого лишние деньги или для тех кто не умеет.
  • Можно ли заблокировать определенный сайт при включенном openvpn?

    @res2001
    genibeni, Согласен, блокировать фаерволом крупные домены типа youtube довольно утомительно.
    В интернете есть сервисы whois - там вы можете узнать для любого публичного домена его диапазоны адресов.

    Для мелких доменов вариант с фаерволом вполне рабочий, а кроме того, наверное, самый простой и не требует дополнительного ПО.

    Другой вариант - использовать прозрачный прокси.

    В общем альтернативы есть. Выбор зависит от ваших хотелок и возможностей. Возможно, стоит начать с того чтоб определить для себя чего вы хотите от ВПНа. Возможно вам просто не стоит ВПН клиентов выпускать в интернет через ВПН сервер.
  • Можно ли заблокировать определенный сайт при включенном openvpn?

    @res2001
    Дополню немного.
    Если ВПН сервер прописывается на клиенте шлюзом по умолчанию, то весь трафик будет проходить через ВПН сервер и там можно с ним делать все что угодно.
    Описанный вариант - всего лишь один из возможных.
    Проще всего блокировать определенный трафик на фаерволе ВПН сервера.
    Но как и в ответе - клиент может со своей стороны сам изменить шлюз по умолчанию (например вернуть тот, что был до подключения), или добавить маршруты до нужных сервисов в обход ВПН.
  • Проблемы с компиляцией?

    @res2001
    jcmvbkbc, Спасибо за подсказку. Все время этот момент улетучивается из головы :)
    Значит первоначальный вариант запуска компилятора у автора правильный.
  • Проблемы с компиляцией?

    @res2001
    Gradusnik11, Попробуйте изменить порядок следования аргументов в командной строке компилятора - укажите main.c самым последним, после всех библиотек.
    Порядок аргументов, передаваемых линковщику имеет значение.
  • Проблемы с компиляцией?

    @res2001
    Gradusnik11, Символа должны быть все иначе зависимости останутся не разрешенными и ваш main.c не соберется.
    Причем символа должны быть явно определены в libraylib.a. objdump может показывать и символы, которых нет в файле, но на которые есть ссылки (т.е. внешние зависимости). Надо смотреть описание флагов вывода таблицы символов.
    Если каких-то символов нет, то видимо, вы как-то не так собрали библиотеку и в нее не вошли какие-то части. Нужно разбираться со сборкой.

    Попробуйте nm -gC libraylib.a
    nm делает то же самое, что и objdump, но у нее вывод вроде бы по понятней.
    В выводе nm функции определенные в библиотеке имеют флаг T, внешние зависимости имеют флаг U.
    Ваши функции (из текста ошибок) все должны быть с флагом Т.
  • Проблемы с компиляцией?

    @res2001
    Gradusnik11, Вам не нужен код читать.
    Вам нужно получить список символов (функций) и просто найти (или не найти) в этом списке функции, перечисленные в ошибках. Вот тут описано как использовать для этих целей objdump.
    https://stackoverflow.com/questions/34732/how-do-i...
    nm то же подойдет.
  • Как ограничить доступ к локальным подсетям для разных клиентов OpenVPN?

    @res2001
    greensid, Что-то у вас путаница в показаниях :)
    В push route адрес 10.200, а пингуете 10.90.

    На сколько я могу судить, если бы это правило работало, то оно бы вообще весь входящий транзитный трафик с 10.8.0.10 на tun0 прибивало. Не зависимо от того как у клиента настроена таблица маршрутизации.
    Как-то это все не стыкуется.
    Возможно надо использовать не FORWARD, а PREROUTING или POSTROUTING.

    10.8.0.10 - это адрес тестируемого клиента?
  • Проблемы с компиляцией?

    @res2001
    Gradusnik11, Тогда точно стоит проверить символа objdumpом.
  • Как ограничить доступ к локальным подсетям для разных клиентов OpenVPN?

    @res2001
    сразу начал отрабатывать как надо

    Как вы это узнали?
    У вас же клиенты теперь на эти сети не передают пакеты в ВПН. Они теряются где-то там на стороне клиента, уходя на его шлюз по умолчанию.
    Чтоб понять, что "начал отрабатывать", надо добавить на клиент маршрут на не маршрутизируемую сеть вручную (только для теста) и проверить.
    Так что думаю iptables у вас не починился, скорее всего. Пробуйте другие варианты с правилами, т.к. по уму все таки блочить на этом уровне, не надеясь на маршрутизацию.
  • Как внести все данные из текстового файла в односвязный список Си?

    @res2001
    Retr0Hacker,
    то есть вы имеете в виду

    Нет. Это конструкция к Си не имеет отношения.
    Я имел ввиду, что если у вас есть программа, которая работает с вводом с клавиатуры, то заставить ее обработать текстовый файл можно запустив ее в консоли вот таким образом:
    prog.exe <file.txt
    где prog.exe - это название вашей программы (или полный путь к ней), а file.txt - это путь к файлу в котором хранятся данные.
    В текстовом файле каждое отдельное вводимое поле должно начинаться с новой строки.
    Эта конструкция в шеле называется перенаправление стандартного ввода.

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

    как удалить элемент с наименьшим кол-вом разных букв(то есть последний во втором списке)?

    У вас проблемы с удалением элемента из односвязного списка?
    Вы уже написали функцию очистки списка.
    Удаление одного элемента происходит похожим образом - надо в next предыдущего элемента записать next удаляемого
    prev->next = cur->next;
    free(cur);

    Проблема за малым - по текущему элементу найти предыдущий.
  • Как ограничить доступ к локальным подсетям для разных клиентов OpenVPN?

    @res2001
    Можно убрать из конфига сервера:
    push "redirect-gateway def1"
    В ccd файле клиентов добавить директивы
    push "route ..."
    для каждой сети в которую должен попадать клиент.

    Это, конечно, не гарантирует, что клиент не добавит маршруты руками, но хоть что-то.
    К сожалению не силен в iptables.
  • В терминале putty нет кнопки подключения,как исправить?

    @res2001
    S0z1n, Если окно просто больше экрана, то лови лайфхак:
    1. Жмешь Alt+Space - появляется системное меню окна
    2. Выбираешь там Move (переместить)
    3. перемещаешь окно так что бы кнопки внизу были видны
    4. Enter
    5. Жмешь Открыть
    Все действия можно производить на клавиатуре, без участия мыши.
    И еще, в комплекте putty есть консольный вариант утилиты, plink называется утилита, если я правильно помню.