• Как конкретному клиенту запретить использование шлюза Openvpn на линукс(debian) через TAP интерфейс?

    @res2001
    Developer, ex-admin
    Выдать конкретному клиенту фиксированный IP средствами OpenVPN можно.
    Все остальное делается в iptables.
    Ответ написан
    Комментировать
  • Veeam скрипт после выполнения задания, ошибка 5, как быть?

    @res2001
    Developer, ex-admin
    Сделайте перенаправление вывода скрипта в файл и stderr то же.
    Видимо shutdown завершается с ошибкой, но ошибку вы не видите, т.к. консоль скрыта при выполнении задания.
    shutdown /r /m \\pcname /t 10 /c "VEEAM Backup Job for pcname Ended!" 1>shut.log 2>&1

    Только пропишите полный путь для лог файла. Текст ошибки сюда. Возможно по тексту ошибки вам уже будет понятно, что делать.
    Ответ написан
  • Ресурс для практики указателей в Си?

    @res2001
    Developer, ex-admin
    Сделайте, например, транспонирование произвольной матрицы на указателях.
    В этой связи, так же, интересно будет поэкспериментировать с указателями на массив переменной длины. Эта тема прямо вытекает из VLA, которые есть в C99, но до сих пор не поддерживаются некоторыми компиляторами (msvc). В С++ VLA нет.
    Ответ написан
    Комментировать
  • Как устроить вывод данных с simulink в реальном времени?

    @res2001
    Developer, ex-admin
    И первый и второй используемые вами фрэймворки не самые быстрые лошадки :) затыки в производительности могут быть на обеих сторонах.
    Многое зависит от самой модели - на сколько она прожорлива к процессору, памяти, к полосе пропускания и проч.
    Для ввода/вывода можно использовать отдельные потоки или асинхронный i/o, но умеет ли их Матлаб я не в курсе.
    Если все происходит в рамках одного ПК, можете попробовать передачу через файлы, pipe, shared memory, unix socket ... Но надо смотреть есть ли поддержка этих механизмов в ваших фрэймворках.
    И все это не отменяет потоков и/или асинхронный i/o.

    На счет ошибок - хорошо бы увидеть расшифровку кодов. Я думаю, вопрос с ошибками решаем, надо только разобраться почему они возникают.
    Ответ написан
    Комментировать
  • Реально дешифровать md5 хеш для 30 символов?

    @res2001
    Developer, ex-admin
    На вики пишут, что есть алгоритм вычисляющий коллизии MD5 за 1 минуту.
    А вам, собственно, сам пароль и не нужен, достаточно любого текста, дающего тот же хэш, я так думаю.
    Ответ написан
  • Как клонировать двумерный динамический массив строк?

    @res2001
    Developer, ex-admin
    for(int step = 0; mysql.array[step]; step++)//очищаю каждый элемент массива
            free(mysql.array[step]);

    1.Цикл завершается на первом встреченном пустом элементе.
    Судя по логике у вас могут быть пустые строки, под которые память не выделилась, а затем снова могут идти заполненные строки.
    2.Кроме того после выделения памяти для mysql.array рекомендую сразу ее обнулять. malloc не зануляет выделенную память - в ней лежит мусор, используйте calloc или memset. Из-аз этого проверка в цикле выше (mysql.array[step]) может срабатывать не корректно.
    Ответ написан
  • Как инициализировать изменяемый 2D массив char в struct C++?

    @res2001
    Developer, ex-admin
    Вот это работать не будет:
    wifi.access[0] = { ssid, password };
    Вам нужно явно делать пересылку памяти с помощью memcpy или strcpy для каждого элемента массива.

    Но лучше используйте вместо charов std::string.
    Ответ написан
    2 комментария
  • Отправить GET / HTTP Запрос на https сайт?

    @res2001
    Developer, ex-admin
    Из средств из коробки можно написать скрипт на js/vbs, в нем, используя объект MSXML2.XMLHTTP, можно делать HTTP запросы. И там же можно дальше парсить ответ.
    Ответ написан
    Комментировать
  • Как Получить точное синхронное время в миллисекундах на множествах девайсах от rtc?

    @res2001
    Developer, ex-admin
    Раз речь идет о сетевых устройствах, то вам, видимо, нужна реализация NTP для вашего девайса и ОС. Посмотрите RFC 5905, может найдете, что-то готовое или реализуете сами. Собственно, возможно, реализовывать придется только транспортную часть, т.к. логику можно взять из уже существующего ПО.
    Ответ написан
  • В чём роль параметров в батфайлах?

    @res2001
    Developer, ex-admin
    В скрипте не переменные окружения, а ввод параметров с клавиатуры: set /p ...
    Вместо этих команд используйте
    set "var1=%~1"
    set "var2=%~2"

    %~1 и %~2 - первый и второй параметры командной строки.
    Ответ написан
    Комментировать
  • C:\Users\оля\AppData можно как то переименовать на C:\Users\Olya\AppData?

    @res2001
    Developer, ex-admin
    Самый простой вариант - завести нового пользователя с именем Olya и работать из-под него.
    Другие варианты сложнее.
    Ответ написан
    3 комментария
  • Как объединить столбцы результатов запросов в MSSQL?

    @res2001
    Developer, ex-admin
    select '1' as 'a', '2' as 'b', '3' as 'c'
    Ответ написан
    Комментировать
  • Как отрыть файл из командной строки?

    @res2001
    Developer, ex-admin
    Очевидно ошибка на команде:
    git add compile release resource
    Судя по тексту - git не может найти compile.
    Похоже, все таки надо делать cd, т.к. вы запускаете дополнительную оболочку - git-bash, а у нее каталог по умолчанию, скорее всего, домашний каталог пользователя, а не тот, из которого вы ее запускаете.
    Проверить просто - запустите из командной строки вручную git-bash без параметров и посмотрите, какой каталог выдаст команда pwd.
    Ответ написан
    Комментировать
  • Почему клиент не подключается к OPEN VPN серверу?

    @res2001
    Developer, ex-admin
    Судя по тому, что TLS key negotiation отваливается по таймауту - скорее всего сервер не доступен (выключен, блокируется трафик, не проброшен порт и т.п.).
    Ответ написан
    6 комментариев
  • Какие есть утилиты для атаки на Openvpn сеть, можно ли их идентифицировать в локальной сети через Wireshark?

    @res2001
    Developer, ex-admin
    OpenVPN гораздо лучше работает по UDP, чем по TCP, особенно при плохом качестве связи.
    Ответ написан
    1 комментарий
  • Как запретить другим использовать мой интернет в OPENVPN?

    @res2001
    Developer, ex-admin
    Убирайте: push "redirect-gateway def1 bypass-dhcp"
    это выключит изменение шлюза по умолчанию, а следовательно клиенты и дальше смогут ходить в инет.
    Зачем это: push "dhcp-option DNS 8.8.8.8"?
    Если у клиентов есть интернет, то они уже имеют свой собственный настроенный DNS. Уберите.
    В целом должно работать.

    Если не заработает, подключите клиентак ВПН и на клиенте посмотрите таблицу маршрутизации, в ней маршурт по умолчанию должен быть прежним (как до подключения). Если с этим все нормально, но инета нет, то видимо причина в другом.
    Ответ написан
  • Почему не работает перевод из 2 в 10 и обратно?

    @res2001
    Developer, ex-admin
    В DecBin() 2 ошибки:
    1. Вы заполняете строку с конца, а нужно с начала. Обратите внимание на вывод 173 (если не брать во внимание мусорный хвост, о котором в п.2) - ответ правильный, только записанный наоборот.
    2.После преобразования нужно добавить завершающий 0, т.к. на выходе у вас Си строка. Соответственно памяти нужно выделять на 1 байт больше необходимого. Из-за отсутствия завершающего нуля вывод не заканчивается в конце вашего буфера, а продолжает выводить содержимое памяти после буфера, пока не встретит нулевой байт, отсюда и мусор в конце.
    Можно и не добавлять нулевой байт, но в этом случае не нужно относится к возвращаемому DecBin() указателю как к строке, а работать с ним как с массивом байт. Т.е. выводить строго заданное количество байт.
    Ответ написан
    1 комментарий
  • Что это обозначает в коде С++?

    @res2001
    Developer, ex-admin
    edgeStruct x{}, tmp{};
    Определяет 2 переменные x и tmp типа edgeStruct с пустым списком инициализации.
    Ответ написан
    Комментировать
  • Задача со стеками, в чем ошибка?

    @res2001
    Developer, ex-admin
    min и max у вас считаются нормально, но когда вы их находите вы очищаете стек: bus.pop();
    В итоге в третьем цикле, где вы находите imax и imin у вас пустой стек.
    Вам нужно в одном цикле объединить поиск min/max и imin/imax, к тому же это напрашивается само.
    Ответ написан
    Комментировать
  • Как правильно подключить библиотеку в С++?

    @res2001
    Developer, ex-admin
    1.Библиотека должна быть установлена в систему, что бы cmake смог ее найти. Лучше всего использовать штатный менеджер пакетов ОС. Кроме библиотеки нужно еще ставить и dev пакеты для нее (это заголовки). dev пакеты нужны как раз для возможности собрать свой (или не свой) код, использующий библиотеку. В некоторых дистрибутивах линукс может и не быть dev пакетов. В винде их нет то же, для MSVS есть свой менеджер пакетов - vcpkg.

    2.Вы должны заставить cmake найти библиотеку, это делается командами find_package или find_library.
    find_package - более расширенная версия, но для нее нужен модуль поиска. Для многих популярных библиотек cmake содержит уже готовые модули. Искать их можете тут по Find<Имя библиотеки>. Для MySQL клиента готового модуля нет. Можно загуглить, я думаю, будет не трудно найти готовый модуль и использовать его в своем проекте.
    find_library - просто ищет библиотеку по стандартным путям. Но для сборки обычно этого мало, т.к. нужны еще заголовочные файлы и если пакетный менеджер ставит их в специфические пути, то они будут не доступны. Поэтому лучше использовать find_package - он ищет все.

    3.Добавить путь к заголовочным файлам библиотеки к проекту с помощью команды: target_include_directories
    Переменная, содержащая путь должна быть определена в п.2 (либо вы задаете путь вручную)

    4.Добавить библиотеку в список линковки с помощью команды: target_link_libraries
    Аналогично нужно использовать переменные, которые будут определены в п.2.

    В этом процессе есть разные нюансы, которые могут влиять на используемые средства, например что делать если библиотеки нет в репозитории ОС или она распространяется только в виде исходников.

    В итоге все манипуляции приводят к тому, что компилятору задаются опции -I (для включения каталога с заголовочными файлами библиотеки), -l и возможно -L - для включения библиотеки в список линковки.

    Все это можно сделать и руками задав для компилятора нужные опции с помощью add_compile_options и add_link_options - но это приведет к тому, что скорее всего на другом компьютере или в другой ОС вам придется править cmakelist.txt для сборки.
    Ответ написан
    3 комментария