• Как обойти рабочий VPN?

    @res2001
    Для этого обычно нужно не делать ВПН сервер шлюзом по умолчанию. Тогда по ВПН будет ходить только трафик до сети предприятия. Но при этом может быть необходимо добавить маршруты в таблицу маршрутизации, если это не делается на этапе создания ВПН соединения.
    В винде по умолчанию при создании ВПН подключения устанавливается галка "использовать как шлюз по умолчанию", она находится в глубине настроек IPv4 в свойствах ВПН подключения.

    Но у вас какая-то флешка и ВПН, видимо, не стандартный. Как оно там у вас настраивается и работает не ясно.
    Написано
  • В чем отличие ngnix от golang?

    @res2001
    NikitaW, И да и нет :)
    На сколько я в курсе, веб-сервер можно настроить так, чтобы он воспринимал, например, расширение html как запуск приложения, в этом случае html файл может восприниматься как скрипт PHP.
    Тогда запускается этот скрипт и генерирует динамический ответ клиенту. Т.е. в этом случае html файл должен действительно содержать PHP код.
    Обычно так не делают, но, по моему, запрета на подобные шаманства нет.
    Написано
  • Утечка памяти gdiplus?

    @res2001
    Wataru, valgrind отдельно, sanitizer отдельно, по моему так. Это ж разные инструменты.
    sanitizer включается флагами компиляции, для валгринда достаточно -g указать и запустить программу из-под него.
    В валгринде, на сколько я помню, инструмент для проверки памяти называется memcheck
    Под виндой в MSVS нет ни того ни другого.
    Написано
  • Утечка памяти gdiplus?

    @res2001
    Андрей Вшивков,
    вообще не понял сути вопроса

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

    Могу добавить от себя: если вы собираете приложение в MSVS, то запустите приложение под отладчиком без точек останова. Когда возникнет исключение, то вас выкинет в отладчик, отладчик будет остановлен, скорее всего, на каком-то системном вызове с ассемблерным кодом, вы должны по стеку вызовов перейти к вашему последнему коду (выбрать в стеке вызовов ваш последний метод) и искать причину ошибки там.
    Ошибки связанные с утечкой памяти могут быть достаточно сложными, т.к. утечка может произойти в одном месте программы, а исключение из-за утечки быть совершенно в другом месте.
    Написано
  • В чем отличие ngnix от golang?

    @res2001
    NikitaW, Чаще всего это статика. Но могут быть варианты в зависимости от настроек веб-сервера.
    Сейчас статика это обычно картинки, js скрипты, css и т.п. файлы, на которые могут быть ссылки в html коде.
    Динамика - это ответ, сгенерированный приложением на лету.
    Я не веб-разработчик, так что специфическими терминами могу не владеть, но некоторую основу знаю.
    Написано
  • Как получить список подпапок и удалить одну из них?

    @res2001
    David It, Цикл - это просто цикл, он выполняет заданные операции некоторое количество раз.
    В теле цикла вы можете написать свою логику, сохраняя даты каталогов, потом их отсортировать и т.д. и т.п. В общем, сделать можно. Но это слишком сложно.

    Поэтому я вам настоятельно РЕКОМЕНДУЮ смотреть на конструкцию с dir - она решит ваши проблемы:
    for /f "skip=1 tokens=* delims=" %%a in ('dir /ad /o-d /b c:\test\*') do echo %%a

    Тут dir выводит список подкаталогов в заданном каталоге, отсортированном по убыванию даты модификации (т.е. каталог с самой последней датой модификации будет первым). Дальше опцией skip=1 задается пропуск первой строки в выводе dir, т.е. первого каталога сверху.
    Написано
  • Как получить список подпапок и удалить одну из них?

    @res2001
    David It, Никак. Я потому и привел вариант с dirом, т.к. тут можно задать сортировку по дате.
    А дальше уже параметрами for /f вы сможете пропустить первую строку вывода, например. А так же наложить дополнительную фильтрацию по имени, используя канал с findstr.
    Написано
  • Диспетчер печати сильно грузит CPU. Почему?

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

    Как вариант - завести второй принт сервер и постепенно перетаскивать на него принтера с одновременным наблюдением за поведением спулера на нем. После добавления очередного принтера второй принт сервер так же начнет подвисать, значит виноват последний добавленный драйвер.
    Написано
  • Как работают std::mutex?

    @res2001
    bLercs, У shared_mutex алгоритм работы отличается от стандартного варианта мьютекса.
    Надо использовать тот мьютекс, который нужен в данной конкретной задаче.
    Написано
  • Как работают std::mutex?

    @res2001
    Вот, кстати, еще вспомнил, отличный курс по параллельному программированию:
    https://compscicenter.ru/courses/hp-course/2022-sp...
    Написано
  • Как работают std::mutex?

    @res2001
    Да. Но зачем вам умный указатель на мьютекс? Внедрите мьютекс непосредственно в защищаемый объект.
    Если объект - это какой-то стандартный контейнер, то возможно надо создать класс своего защищенного контейнера, на базе стандартного.
    Написано
  • Как написать .bat скрипт, который подключится к удаленному серверу по SSH и запустить PHP-файл?

    @res2001
    eugene159, В putty можно передать пароль из параметров командной строки. В стандартном клиенте, по моему, такой возможности нет.
    Написано
  • Как в Cmake папку с срр добавить целиком?

    @res2001
    0xC0000005, Извини, что-то переклинило, думал, что вы автор вопроса. Добавил ссылку на документацию просто в дополнение к вашему ответу. Сам писал ответ и ссылка была под рукой, но вы опередили.
    Написано
  • Как в Cmake папку с срр добавить целиком?

    @res2001
    0xC0000005, Что и? Читайте как использовать file(GLOB ...).
    Ну собственно 0xC0000005 вам пример уже привел.
    В переменной ModelsCPPS будут все файлы, удовлетворяющие указанной маске.
    Дальше используйте эту переменную там где нужно:
    add_executable(bulk ${ModelsCPPS})
    Написано
  • Зачем задавать ip интерфейсу?

    @res2001
    ), если можно указать его только на самом хосте.

    А если у хоста нет сетевого адаптера - зачем ему IP адрес? А он есть. Странно.

    Вам бы книжку почитать по сетям Таненбаума или Олиферов, или на крайняк что-нибудь типа "Сети для самых маленьких".
    Написано
  • Что приоритетнее в Linux (ubuntu): /etc/sysctl.conf или /proc/sys/net/ipv4/ip_forward?

    @res2001
    В /proc - действующие параметры ядра линукс. Эта виртуальная файловая система - прямое отображение некоторых структур ядра в user space. Любые изменения тут сразу же становятся активны в ядре. При перезагрузке все изменения сбрасываются на значения по умолчанию.

    /etc/sysctl.conf - обычный файл в файловой системе, как и многие другие, находящиеся в /etc. Чтоб конфигурация из файла вступила в силу, надо запустить специальную утилиту, в данном случае sysctl.

    SterhXXX,
    проверял на Ubuntu 2204. после перезагрузке сохраняются.У меня так роутер сделан)

    1. Возможно то же значение указано и в /etc/sysctl.conf, поэтому оно подтянулось после перезагрузки.
    2. Какие-то другие программы могут вносить изменения в параметры ядра при старте системы
    3. Значения по умолчанию указываются при сборке ядра из исходников. Поэтому в разных дистрибутивах и разных ядрах значения по умолчанию могут быть разные. Возможно в вашем конкретном ядре такое значение указано при сборке.
    Написано
  • Сервер-клиент openvpn win не видят за собой локальную сеть. как исправить?

    @res2001
    Seraphimchick, Вопрос еще актуален? Лучше создать новый вопрос и можете позвать меня туда.

    Обратите внимание:
    Имею сервер в локальной сети 192.168.10.0 mask 255.255.0.0

    У вас сервер находится в подсети 192.168.0.0/16. Для него адрес клиента 192.168.49.51 является адресом в его же подсети и он пытается отправлять пинги напрямую в свою локальную сеть, из-за чего клиент ВПН не получает пинги и не отправляет ответы на них. Т.е. тут дело не в ВПН, а в кривых настройках сети.
    Предполагаю, что вам нужно поменять маску подсети сервера на 255.255.255.0. Если по каким-то причинам это не возможно, то надо дальше думать как выйти из ситуации.
    Написано
  • Для чего нужны сертификаты easy-rsa в OPENVPN?

    @res2001
    Ruslan_nir, Твой или еще чей-то.
    Вообще по уму УЦ не выдает ключи, он выдает сертификат, а это другое. В рамках openvpn для старта предлагается использовать в качестве быстрого варианта УЦ скрипты easy-rsa. Многие обычно так на них и остаются.

    Если организовывать PKI правильно, то клиент никогда не должен выпускать из рук свой приватный ключ и не давать его ни кому и генерировать его самостоятельно. УЦ только заверяет публичный ключ клиента своей ЭЦП и навешивает прочие ограничения, типа срока действия сертификата и т.п.
    Если сертификаты используются для доступа к многим сервисам, то это как централизованное управление пользователями. УЦ может заблокировать сертификат у себя, и все сервисы проверив CRL сразу будут отказывать владельцу сертификата в доступе.

    В реальности часто на правильность многие забивают и один админ генерит ключи для всех клиентов и серверов, а CRL вовсе не используется. Но так не везде :)
    Написано