• Как поместить русский символ в переменную wchar_t в Xcode?

    Никак, этот пример кода рассчитан на Windows. В Windows используется кодировка UTF-16, для которой в C под Windows используется wchar, и кириллический символ можно указать как отдельный wchar. Но такое пройдет не со всеми символами Unicode, т.к. некоторые требуют более 1 wchar и делать так не надо. В общем случае для UTF-кодировок не возможно запихнуть 1 символ в одну переменную, даже для хранения одного символа нужна строка, поэтому это пример плохого, не универсального кода. L для указания не-ASCII констант это специфика IDE и компиляторов для Windows (в основном Visual Studio).

    MacOS сейчас использует в основном кодировку UTF-8 и кириллический символ не влазит в 1 октет UTF-16. В C нет способа представить отдельный символ UTF-8 в общем случае, т.к. он так же может иметь переменную длину, кириллический символ можно представить в виде 2х символов char, их можно хранить как строку. Засунуть их в 1 16-битную переменную можно, но не нужно, т.к. в UTF-8 символы могут занимать 1,2,3,4 октета (и потенциально больше) и использование не-8битных типов для UTF-8 нецелесообразно. Вам следует переписать код с учетом специфики UTF кодировок и использовать строку даже для хранения отдельного символа. Такой код потенциально можно сделать кросс-платформенным.
    Ответ написан
    Комментировать
  • Char как UTF 16?

    Для Windows-платформ используется wchar_t (или WCHAR). Если код не специфичен для Windows, храните в 16-битных целых (uint16_t).
    Ответ написан
    Комментировать
  • CF + SPF-запись → Скрытие IP?

    Скрыть реальный адрес способом указаным выше не получится, если письма вы хотите рассылать напрямую.
    Использовать "a" нельзя, т.к. там будет адрес Cloudflare а не вашего сервера и SPF для писем отправленых напрямую будет фейлиться.
    Вариант скрыть адрес в SPF есть, можно использовать конструкцию exists:{%i}.allow.example.com и создать A-запись свой_IP.allow.example.com, тогда проверить SPF можно будет только уже зная IP адрес. Но надо понимать, что любой получатель письма все равно будет видеть ваш реальный IP, если вы хотите более-менее надежно скрывать сервер, то для рассылки так же следует использовать внешние сервисы.
    Ответ написан
    Комментировать
  • Как автоматизировать (упростить) создание новых зон в bind'е?

    Автоматизировать можно через DLZ. Можно использовать один из имеющихся драйверов или написать свой.
    Ответ написан
    Комментировать
  • 3proxy - error на ровном месте,почему на одном пк работает, а на втором нет?

    Для установки как сервис нужны права администратора, запусти cmd.exe с правами администратора и из него делай install.
    Ответ написан
    Комментировать
  • Антивирусы могут распознавать в DLL-файлах угрозы?

    Возможно, ты путаешь анализ файла и анализ процесса.
    DLL и EXE имеют одинаковый формат (PE executable), поэтому на уровне анализа файла DLL практически ничем не отличается от анализа EXE. Ищутся известные сигнатуры - хеши, последовательности байт или поведенческие, например определенная последовательность или сочетание инструкций или системных вызовов. Декомпиляция нужна только для ручного анализа. Сможет или не сможет антивирус распознать угрозу зависит от того, будет ли нужная сигнатура или эвристика в базах. Для анализа поведения на уровне файла может применяться что-то типа псевдо-выполнения кода, но это не то же самое, что анализ процесса, при котором в реальном времени перехватываются и анализируются системные вызовы, в частности к каким файлам и какое обращение идет.
    Ответ написан
    3 комментария
  • Как перевести RFC 1149?

    "stuff" универсальное слово-заменитель (как "фигня" в русском но не до такой степени разговорно). Можно перевести как "разделенные чем-нибудь белым и чем-нибудь черным".
    Ответ написан
  • Проксирование TCP через HTTP CONNECT?

    Для прозрачного проксирования можно использовать, например, 3proxy + TransparentPlugin

    в команде `parent` для проксирования через https прокси тип прокси `connect` (в примере socks5).
    Ответ написан
    Комментировать
  • Приглашения от Zoom.us не доходят до mail.ru. Кто-нибудь знает алгоритм прохождения квеста с техподдержкой?

    По проблемам доставки можно написать на postmaster@corp.mail.ru либо обратиться в тех. поддержку, корпоративная тех. поддержка обычно реагирует очень оперативно, там достаточно строгие SLA.
    Ответ написан
    Комментировать
  • Как узнать формулу, по которой считается время для взлома пароля?

    Вот вам пароль, ломайте: qwerty23457823

    Пароль нельзя сломать, можно сломать либо хеш пароля (восстановив пароль)с, либо шифрование, где пароль используется как ключ либо сервис или оборудование, где пароль используется для аутентификации. В первых двух случаях все зависит от уникальности и энтропии ("случайности") пароля и от криптографического алгоритма, например подбор хеша scrypt, argon2, yescrypt даже по словарю может быть затратным и требовать такой конфигурации оборудования, которую дорого собрать дома и практически невозможно получить в облаке или хостинге. В случае аутентификации все зависит от реализуемых алгоритмов защиты от перебора и credentials stuffing.

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

    Исходный код считывает строку (до \n) а ваш - просто читает данные в буффер пока другой конец не закроет сокет.

    Сравните все что есть в том коде и в вашем, что там есть и в вашем нет - того и не хватает. Например, возможны непрогнозируемые результаты (вероятней всего раскрытие содержимого памяти, т.к. остается неиницилизированный фрагмент с куском случайных данных из кучи в буфере) при наличии ASCII(0) в воде, не обрабатываются ошибки realloc() (что гарантировано приводит к повреждению памяти контролируемыми данными по частично контролируемому адресу, что с высокой вероятностью ведет к RCE, тем более что возможен heap spraying), код приводит к DoS-условиям с исчерпанием памяти, не терминируется текстовая строка и т.д. и т.п., т.е. только ошибок гарантированно влияющих на безопасность в вашем фрагменте не меньше 3х.

    P.S. справделивости ради, исходный код тоже не очень. Используется в 2 раза больше системных вызовов с копированием данных из ядра в память, чем фактически требуется, при этом размер буфера, в который производится чтение не соответствует размеру страницы, что дополнительно замедляет процесс. Чтобы этого избежать надо было добавлять буферизацию в юзерспейсе. Но в нем хотя бы явных проблем с безопасностью не видно.
    Ответ написан
  • Как заставить работать php через системное прокси?

    Нужен локальный прокси с поддержкой транспарентного проксирования. Например
    https://3proxy.ru/plugins/TransparentPlugin/

    plugin /path/to/TransparentPlugin.ld.so transparent_plugin
    log /path/to/log
    auth iponly
    allow * * * 80
    parent 1000 http 0.0.0.0 0
    allow *
    parent 1000 socks5 SOCKS5_IP SOCKS5_PORT USER PASSWORD
    transparent
    tcppm -i127.0.0.1  12345 127.0.0.1 11111


    в команде parent уже можно указать любой прокси, в т.ч. внешний, трафик заворчивать в 127.0.0.1:12345
    Ответ написан
    Комментировать
  • Облако Маил.РУ как загрузить файлы в него через сервер на linux?

    Yuriy, для работы через WebDav в платной версии можно использовать любой WebDav клиент, можно монтировать через davfs. Старые облачные клиенты _возможно_ еще работают, если так, то достаточно запустить клиента, указать папку для синхранизации и загрузить файл в эту папку - она будет загружена в облако. Так же можно поискать сторонние утилиты, например
    https://rclone.org/mailru/
    или здесь есть еще ссылки: Предложите аналог disk-o для убунту?
    Ответ написан
    Комментировать
  • Обратный DNS не соответствует SMTP баннеру. Как исправить?

    Поправь конфигурацию exim, чтобы в helo отдавалось то же имя, что прописано в PTR
    remote_smtp:
        driver = smtp
        helo_data = mail.mydomain.ru
    Ответ написан
    8 комментариев
  • Есть ли модуль, получающий почту по IMAP, способный работать через прокси?

    Легко ищется chilkat imap, но он платный. Если доступ нужен к одному конкретному серверу, это можно решить пробросом порта через прокси. Например, установить локальный 3proxy с такой конфигурацией (для http/https прокси, для socks поменять connect на socks5):

    auth iponly
    allow
    parent 1000 connect  proxy_ip proxy_port proxy_login proxy_password
    tcppm 11143 -i127.0.0.1 imap_server_address 143


    и коннектиться локально к 127.0.0.1:11143
    Ответ написан
  • Как ориентироваться в Gap buffer?

    Сделать с gap-буфером можно, информацию о позиции курсора храните отдельно при изменении позиции курсора меняете позицию gap, в общем-то оно на это и рассчитано.
    Я не знаю, как принято реализовывать в реальных текстовых редакторах, я бы сделал структуру похожую на btree без ключа
    https://ru.wikipedia.org/wiki/B-%D0%B4%D0%B5%D1%80...
    в каждом узле хранить либо указатель на фрагмент текста + его длину либо признак конца абзаца/спецсимвола либо ссылку на другой узел. Каждый фрагмент и строку хранить отдельным узлом.
    Фактически это возможность иметь неограниченное количество гапов в произвольных местах без необходимости их двигать. Как бонус, такая структура легко позволяет делать навигацию, undo/redo, т.к. каждая запись хранится отдельным узлом copy, paste и все остальное что обычно требуется. Поддержать форматированный текст так же очень легко, достаточно добавить признаки форматирования как еще один тип узла.
    Ответ написан
  • Как привлечь провайдера к ответственности?

    1. У вас в договоре с провайдером нет SLA, и вообще это не договор на сетевое подключение, а договор оказания телематических услуг. Поэтому каких-либо претензий по доступу к конкретному серверу вы предъявить не можете. Можете разорвать договор и подключиться к другому провайдеру.
    2. Нельзя ориентироваться на данные трассировки маршрута для определения качественных/количественных характеристик. Маршрутизаторы по-разному обрабатывают проходящий трафик и трафик который предназначен им или генерируются ими. Большая часть маршрутизаторов ограничивают генерацию службных пакетов, в том числе ответы на пинги и другие ICMP сообщения, поэтому в WinMTR очень часто будут видны потери даже при идеальной связи.
    3. Таки по вашему скриншоту не очевидно, что проблема у вашего провайдера. Никто и никогда не будет гарантировать вам работу всего Internet. Провайдер в лучшем случае может гарантировать вам качество доступа до определенных точек обмена трафиком.
    Ответ написан
    Комментировать
  • Проксирование smtp трафика?

    SMTP прокси (smtpp) есть в 3proxy, сервер назначения можно передать через имя пользователя, но не поддерживается SSL/STARTTLS, поэтому будет работать только в том случае, если конечные серверы не требуют обязательного SSL для аутентификации, см
    https://3proxy.ru/doc/man8/smtpp.8.html
    Ответ написан
    Комментировать
  • Как открыть новую консоль из программы?

    Не понятно где вы хотите новый терминал создать и что это за терминал. Если это xterm в X-сессии, например, то
    system("xterm -e ./newProg")
    если не xterm - то gnome-terminal, konsole или что-у-вас-там-стоит с нетелепатическим интерфейсом с соответствующей командной строкой.
    Ответ написан
    Комментировать
  • Как правильно указывать DKIM и SPF если разные сервера?

    1. DKIM запись должна быть
    селектор._domainkey.вашдомен
    в большинстве популярных серверов при указании имени без дочки (mail._domainkey) добавляется суффикс зоны, поэтому надо прописывать либо
    mail._domainkey
    (без точки в конце) либо
    mail._domainkey.moyadres.ru.
    (с точкой в конце). Обе записи дают одинаковый результат.

    2. правильная запись в данном случае
    v=spf1 include:mxsspf.sendpulse.com include:_spf.yandex.ru +a +mx ~all

    но a и mx без лишней необходимости использовать в SPF не стоит, особенно mx. Если письма кроме этих двух служб ниоткуда ходить не должны, лучше ограничиться
    v=spf1 include:mxsspf.sendpulse.com include:_spf.yandex.ru ~all

    подробней об этом здесь.
    Ответ написан
    6 комментариев