Юрий, эти команды надо поместить в один bat файл вместе с командой запуска искомого приложения, перед запуском. Тогда все должно быть нормально.
Если нет, то, возможно, приложению не только TEMP каталоги нужны, а еще что-то.
Попробуйте отследить, какие каталоги требуются приложению. Сделать это можно с помощью утилиты diskmon из состава Sysinternal suite взять можно бесплатно на сайте микрософта Ну или просто посмотреть какие файлы/каталоги создает приложение в профиле пользователя.
CityCat4, zionkv, На сколько я знаю OpenVPN не использует виндовую службу сертификатов, у него собственная реализация и она, по идее, должна быть одинаковой, что в микротике, что в винде.
Параметры сервера, отвечающие за проверку сертификата клиента:
#verify-client-cert none
client-cert-not-required
auth-user-pass-verify scripts/login.sh via-env
PS: в мануале пишут, что параметр client-cert-not-required уже deprecated, заменен параметром verify-client-cert. Возможно вам стоит использовать новый параметр.
В микротике, видимо, по умолчанию отключена проверка сертификата клиента. Полагаю, ее можно и включить правкой конфига.
Василий Дёмин, Очень просто - отправить по адресу запрос, если не отвечает адрес удалить или блокировать так чтоб он не участвовал в собственной рассылке.
Василий Дёмин, Как уже писали выше, любой IP - это узел. Узел - это устройство, подключенное к сети (это может быть компьютер/роутер/принтер ...).
1.Не давайте пользователям менять список узлов.
2.Обратитесь к разработчикам приложения, чтоб они ввели проверку на правильность введенного адреса.
Вы то сами отличаете обычное соединение от узла?
Поясните, что имеете ввиду под обычным соединением и как по вашему они должны отличаться от узлов?
Как по мне - это совершенно разные вещи и их не нужно сравнивать и тем более отличать.
jcmvbkbc, В общем согласен, но не для случая предложенного ТС - для однобайтного хэша слишком много коллизий на каждый хэш.
Если подобрать подходящую хэш функцию, возвращающую двух-байтные хэши, то будет достаточно не плохо. В этом случае для каждого хэша будет по 2-3 коллизии.
Массив структур ничем особым не отличается от массива, например, intов, только по указателю становятся доступны все члены текущей структуры.
Читать про массивы и указатели У K&R или у Страуструпа.
Возможно конфликт мастер-браузеров, это в принципе лечится ручным назначением мастер-браузера в сети. Гуглите.
Если по простому - воспользуйтесь советом АртемЪ и пропишите все имена компов (или только нужного) в файл hosts на всех компах в сети.
romajke, Операция
arr[k]=word;
Не приводит к копированию строки из одного буфера в другой - этим вы сохраняете адрес буфера word в массив. Поэтому у вас все элементы массива будут ссылаться на один и тот же буфер. Кроме того, что при этом вы получаете не правильный результат, у вас еще образуется утечка памяти, т.к. указатели, на выделенную с помощью malloc память, потеряны и во free вы передаете указатель на word, что при этом освобождается ... не известно и поведение не предсказуемо.
Вы правильно решили проблему, явно копируя строку с помощью strcpy. Аналогично нужно делать и с любыми другими массивами только использовать функцию memcpy (с помощью memcpy можно копировать и строки то же, она в этом плане универсальнее чем strcpy).
Ну и на последок - в Си как таковых строк нет, строка - это массив байт, оканчивающийся байтом со значением 0 (нулевой байт то же является частью массива/строки), поэтому и думать нужно о них как о массивах. Различие в том, что под строкой вы понимаете какую-то самостоятельную единую сущность, а это не так - это набор сущностей (байт).
romajke, Проверка
if (arr[i])
в вашем случае не срабатывает.
Потому что, чтоб в arr[i] были нули (т.е. условие ложно) их нужно туда присвоить, а у вас этого нет.
Перед чтением из файла, присвойте всем значениям arr нули.
Потом, когда будете выделять память для строк значащие элементы примут значения !=0, а пустые строки так и останутся нулями и условие отработает как надо.
Это просто другое представление числа с плавающей точкой, вот и все. Содержание от этого не меняется.