• Авторизация


[SOLVED] Проверка "пробивания" файрволла на Win lj_ru_programming 15-08-2019 14:11


Потребовалось автоматизировать одну задачу, в процессе которой нужно узнать, сконфигурирован ли встроенный файрволл винды на пропуск определенного UDP порта (incoming) к определенной программе (*.ехе). Если нет, внести для этого новое правило.

Так вот, вопрос: Как скриптами можно проверить наличие "нужной дыры"?

Я знаю, как в VBS пройтись по всем правилам:

Set fwPolicy2 = CreateObject("HNetCfg.FwPolicy2")
For Each rule In fwPolicy2.Rules
...


В rule есть вся инфа: ApplicationName, Protocol, Local/RemotePorts, Local/RemoteAddresses, Interfaces...

Но это простой доступ к списку правил. Можно, конечно, и пройтись по всем и попытаться проверить наличие хоть одного правила, разрешающего то, что нужно (но придется играться со списками, ведь ApplicationName может быть Any, ведь Ports может содержать как отдельный порт, так и список или диапазон...)

Может быть, есть более элегантный метод?

PS. То же самое можно получить от netsh:
netsh advfirewall firewall show rule name=all
Но вопрос именно в том, как проверить, есть ли уже разрешающее правило

Решение:
Простая и элегантная функция IsPortAllowed. Работает для входящих TCP/UDP портов. Спасибо yatur!

https://ru-programming.livejournal.com/1369076.html

комментарии: 0 понравилось! вверх^ к полной версии
Вопрос по sql lj_ru_programming 17-07-2019 15:42


Дурацкий вопрос, но сам вспомнить не могу.

Естт подзапрос, который возвращает сумму. Как эту сумму вывести?
Например, есть таблица клиентов, надо вывести тех, кто заказал на сумму от 100 до 200 баксов
Select * from clients cl where (select sum(order_sum) from orders ord where cl.id = ord.cl_id) between 100 and 200

А как получить эту сумму в вывод?
Upd. Вот на такой запрос база ругается:"ключевое слово from не найдено там, де ожидалось"
SELECT *,sum1 FROM ACCOUNT acc WHERE (SELECT sum(sum) AS sum1 FROM CHARGE ch WHERE acc.id = ch.ACCOUNT_ID) BETWEEN 300000 and 600000

https://ru-programming.livejournal.com/1368599.html

комментарии: 0 понравилось! вверх^ к полной версии

Вопрос по sql lj_ru_programming 17-07-2019 15:42


Дурацкий вопрос, но сам вспомнить не могу.

Естт подзапрос, который возвращает сумму. Как эту сумму вывести?
Например, есть таблица клиентов, надо вывести тех, кто заказал на сумму от 100 до 200 баксов
Select * from clients cl where (select sum(order_sum) from orders ord where cl.id = ord.cl_id) between 100 and 200

А как получить эту сумму в вывод?
Upd. Вот на такой запрос база ругается:"ключевое слово from не найдено там, де ожидалось"
SELECT *,sum1 FROM ACCOUNT acc WHERE (SELECT sum(sum) AS sum1 FROM CHARGE ch WHERE acc.id = ch.ACCOUNT_ID) BETWEEN 300000 and 600000

https://ru-programming.livejournal.com/1368599.html

комментарии: 0 понравилось! вверх^ к полной версии
Вопрос по sql lj_ru_programming 17-07-2019 15:42


Дурацкий вопрос, но сам вспомнить не могу.

Естт подзапрос, который возвращает сумму. Как эту сумму вывести?
Например, есть таблица клиентов, надо вывести тех, кто заказал на сумму от 100 до 200 баксов
Select * from clients cl where (select sum(order_sum) from orders ord where cl.id = ord.cl_id) between 100 and 200

А как получить эту сумму в вывод?
Upd. Вот на такой запрос база ругается:"ключевое слово from не найдено там, де ожидалось"
SELECT *,sum1 FROM ACCOUNT acc WHERE (SELECT sum(sum) AS sum1 FROM CHARGE ch WHERE acc.id = ch.ACCOUNT_ID) BETWEEN 300000 and 600000

https://ru-programming.livejournal.com/1368599.html

комментарии: 0 понравилось! вверх^ к полной версии
Вопрос по Maven lj_ru_programming 15-07-2019 13:05


У меня есть депенденси на библиотеку poi. Текст ниже:

org.apache.poi
poi
3.17



Сейчас обнаружил, что почему-то при запуске билда мавен качает версию 3.6, из-за чего потом приходит error NoSuchMethodError. Как можно запретить мавену качать версию 3.6?
Второй вопрос: если у кого-нибудь есть javadoc к упомянутой библиотеке версии 3.6, просьба поделиться.

Заранее спасибо
UPD. Решено. Одна из библиотек требовала старую версию poi. В итоге поменял pom в той библиотеке, поменял pom в проекте. Заработало.

https://ru-programming.livejournal.com/1368463.html

комментарии: 0 понравилось! вверх^ к полной версии
Вопрос по Transact SQL lj_ru_programming 12-07-2019 13:34


Пытаюсь вызвать хранимую процедуру на Transact SQL c именованными парfметрами. Получил SQLQuery(org.hibernate.Query), пытаюсь установить параметры, получаю HibernateException "Could not locate named parameter". SQLQuery возвращает пустой массив при вызове getNamedParameters().
Вопрос: что я делаю не так? Какой синтаксис вызова хранимой процедуры в Transact SQl?
UPD. Вопрос решён. Не забывайте писать двоеточия перед именами параметров:-).

https://ru-programming.livejournal.com/1368291.html

комментарии: 0 понравилось! вверх^ к полной версии
Вопрос по Microsoft SQL Server lj_ru_programming 11-07-2019 19:06


Пытаюсь соединиться с сабжем. Постоянно получаю эксепшены. Я пытаюсь установить соединение через ActiveDirectory логин и пароль, поэтому устанваливаю вид аутентификации в "ActiveDirectoryPassword". Получаю эксепшен:
com.microsoft.sqlserver.jdbc.SQLServerException: The driver could not establish a secure connection to SQL Server by using Secure Sockets Layer (SSL) encryption. Error: "sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target".
...
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

Я догадываюсь про сертификаты, но проблема в том, что в JVM отсутствует keystore.jks.
Что может посоветовать уважаемое сообщество?

UPD. Решилось изменением типа аутентификаци: параметр autehntification не установил, установил integratedSecurity в true. Нужно скачать ещё специальную библиотеку от мелкослфта и будет счастье

https://ru-programming.livejournal.com/1367861.html

комментарии: 0 понравилось! вверх^ к полной версии
Вопрос по IntelliJ Idea lj_ru_programming 11-07-2019 13:30


Пытаюсь залогиниться в БД MS SQL. Вбиваю данные, но кнопка Test Connection серая. Инета на той машине нет, но jar для mssql я руками положил в jdbc-drivers. Тем не менее, внизу надпись "Download missing driver files".
Заранее спасибо.
UPD. Решилось. На другой машине, подключенной к инету, скачал все дрова, потом скопировал их в идею на машине без инета. Важно - надо проапдейтить xml-ку в папке jdbc-drivers.

https://ru-programming.livejournal.com/1367577.html

комментарии: 0 понравилось! вверх^ к полной версии
Вопрос по tomcat lj_ru_programming 23-05-2019 15:49


Добрый день

Пытаюсь настроить tomcat. В tomcat-users.xml добавила юзера с ролями manager-gui manager-script. Пытаюсь задеплоить файл. После ввода имени пользователя и пароля, окно для ввода имени пользователя и пароля плявляется опять. Такое чувство, будто он думает, что у этого пользователя прав нет. Вот кусок из tomcat-users.xml:
<user username="misha" password="tomcat" roles="admin,manager-script,manager-gui">

Заранее спасибо

https://ru-programming.livejournal.com/1367519.html

комментарии: 0 понравилось! вверх^ к полной версии
Про Qt и про qmake lj_ru_programming 22-02-2019 02:46


Пытаюсь перенести проект с рабочей машины на домашнюю. Пытаюсь собрать и QtCreator-ом и по-пролетарски, через make и qmake. Ошибка в обоих случаях одна и та же:

make[1]: *** No rule to make target 'dialog.ui', needed by 'ui_dialog.h'. Stop.

Вот кого и почему он найти не может, не пойму. Подозреваю, что этот самый dialog.ui должен быть где-то в системных кутишных файлах. Но вот где?

Заранее спасибо.

https://ru-programming.livejournal.com/1367155.html

комментарии: 0 понравилось! вверх^ к полной версии
Вопрос по Qt lj_ru_programming 08-02-2019 14:00


Смешной вопрос: почему QObject::connect может вернуть false? Посмотрел, вроде бы сигнал определён в sender, метод определён в public slots в receiver. Сигнатуры совпадают. Что ещё может не нравиться? К моменту вызова connect оба экземпляра уже существуют. Код ниже:

Вот объявление сигнала:
signals:
void messageReceived(quint16 code, QByteArray data, QHostAddress addr, quint16 port);
Вот объявление слота-приёмника:
public slots:
void onMessageReceived(quint8 code, QByteArray data, QHostAddress addr, quint16 rport);

UPD.Блин, сам не заметил - в первом параметре типы отличаются разрядностью. Привёл в соответствие - стало коннектиться.

https://ru-programming.livejournal.com/1366843.html

комментарии: 0 понравилось! вверх^ к полной версии
Опять про QtCreator lj_ru_programming 07-02-2019 13:35


Вопрос: на основе каких настроек QtCreator создаёт makefile-ы? Я чуть раньше задавал вопрос про QtCreator, вроде разобрался - проблема в странных путях в созданных QtCreator-ом makefile-ах. Вопрос - где можно эти настройки найти и поменять?

https://ru-programming.livejournal.com/1366603.html

комментарии: 0 понравилось! вверх^ к полной версии
Вопрос по псевдотелетайпам lj_ru_programming 05-02-2019 14:55


Пытаюсь использовать pty в Debian, 32-разрядном. Получаю дескриптор, но когда пытаюсь сбросить сигнал RTS, получаю от ioctl -1. Код приведён ниже:

include
include
include ioctl.h>
include
include
include
int main(int argc, char* argv[]) {
int master,slave;

char slname[255];
struct termios termios_p;

termios_p.c_iflag &= ~(INPCK|IXON|IXOFF|ICRNL|INLCR|IGNBRK|BRKINT);
termios_p.c_oflag &= ~OPOST;

termios_p.c_cflag |= (CLOCAL|CREAD);
termios_p.c_cflag &= ~CSIZE;
termios_p.c_cflag |= (CS8);
termios_p.c_cflag &= ~(CSTOPB|PARENB);

termios_p.c_lflag |= IEXTEN;
termios_p.c_lflag &= ~(ISIG|ICANON|ECHO|ECHOE|ECHOK|ECHONL);

termios_p.c_cc[VMIN] = 1;
termios_p.c_cc[VTIME] = 0;
openpty(&master,&slave,slname,&termios_p,NULL);
if (master < 0)
printf("Open error!\n");
else {
int data = TIOCM_RTS;
int err = ioctl(master,TIOCMBIC,&data);
printf("RTS setting result err=%d\n",err);
}
return 0;
}

Что я делаю не так?
UPD. errno содержит EINVAL. Не пойму, вроде всё хорошо
UPD.2. Видимо, команда TIOCMGET/TIOCMBIC/TIOCMSET не работают в данной версии Linux. Вопрос - а как можно изменять состояние линий, например RTS/CTS?

https://ru-programming.livejournal.com/1366312.html

комментарии: 0 понравилось! вверх^ к полной версии
Вопрос по fs-cifs lj_ru_programming 29-01-2019 13:36


Пытаюсь подключить каталог расположенный на другой виртуалке. Команда и вывод ниже:
/usr/sbin/fs-cifs/RTCMACHINE:XX.XX.XX.XX:/shared /shared root root

io_mount: No error
/usr/sbin/fs-cifs: missing arguments, or all mount attempts failed

То есть, вроде бы no error, но тем не менее на что-то ругается. Прошу совета
UPD. Проблема решилась. Оказывается, разделяемые каталоги надо было прописать в /etc/samba/smb.conf. Как только я это сделал, всё заработало.

https://ru-programming.livejournal.com/1366016.html

комментарии: 0 понравилось! вверх^ к полной версии
Вопрос по Qt lj_ru_programming 25-01-2019 17:38


Вопрос: как работает QApplication.

В доке про метод exec() читаю:
Enters the main event loop and waits until exit() is called, then returns the value that was set to exit() (which is 0 if exit() is called via quit()).

То есть, само оно выйти не может?
Приложение стартует диалог, затем в диалоге стартует таймер на 10 секунд, по завершении которого должна запуститься ещё одна функция.
Функция не запускается - в консоль не пишет.
Вопрос - какого фига оно выходит из exec? Кто мог вызвать exit()?

Прошу совета

https://ru-programming.livejournal.com/1365839.html

комментарии: 0 понравилось! вверх^ к полной версии
Вопрос по QtCreator lj_ru_programming 23-01-2019 17:23


Есть проект под QtCreator. Пытаюсь его собрать, получаю следующую ошибку:
14:10:46: Cannot find Makefile. Check your build settings.
Error while building/deploying project хххх (target: Desktop)
When executing step 'Сборка'

При этом глазами я вижу существующий makefile в папке проекта. Подскажите, пожалуйста, в чём может быть беда?
К сожалению, разработчиков не найти, а построить как-то надо. Пока что я делаю это так: запускаю build в QtCreator, после того, как оно выйдет с вышеописанной ошибкой иду в терминале в нужную директорию и запускаю make, всё строится.

Может быть, можно что-нибудь в настройках QtCreator поправить, чтобы всё из него строилось?
UPD. Проект включает в себя несколько отдельных проектов. Так вот, по отдельности все проекты строятся. Из QtCreator. А весь проект большой, не строится с ошибкой, как выше написано.

https://ru-programming.livejournal.com/1365638.html

комментарии: 0 понравилось! вверх^ к полной версии
Вопрос по Debian lj_ru_programming 12-12-2018 19:11


Возник такой вопрос. Вируталка в VirtualBox, гостевая ОС Debian, хостовая Windows 10. Хочу примонтировать shared папки в автозагрузке. Написал скрипт, назвал mountfolders.sh, выполнил update-rc.d mountfolders.sh defaults S4 K6.
Всё хорошо, только во-первых, не вижу логов в dmesg, во-вторых, нифига не примонтируется.
Что я делаю не так?
Debian 3.2, выбирал не я, но придётся с ней жить

Заранее спасибо
UPD. Проблема решилась так. Нагуглил утилиту sysv-rc-config, сложил маунты в etc/rc.local и выставил разрешение на все ранлевелы. По-пролетарски, но работает. Пытался сделать через bashrc, но проблема в том, что mount должен выполняться из-под root, поэтому доступ получался только для root. Через fstab почему-то не работало.

https://ru-programming.livejournal.com/1365383.html

комментарии: 0 понравилось! вверх^ к полной версии
Как расшифровать этот жидовский шифр? lj_ru_programming 16-04-2018 07:54


Судя по всему, фишка в полосках на заднем фоне:



PS: Это отсюда, вроде как Моссад загадки загадывает.

https://ru-programming.livejournal.com/1365180.html

комментарии: 0 понравилось! вверх^ к полной версии
Без заголовка lj_ru_programming 25-03-2018 23:54


А вот поясните мне за гитлаб и инфраструктуру, а то я что-то с ЛПР никак не могу найти общий язык.

Насколько мне известно, популярные сервисы типа гихаба, трелло, амазона и т.п. находятся в иностранной юрисдикции и под контролем сторонних компаний, поэтому в любой момент могут повести себя непредсказуемо. Навскидку приходят в голову примеры блокировок гитхаба в РФ, бывшие проблемы с Эпл в Крыму и два падения сервисов Амазон (второй с докером).

Проблема в том, что в нашем отделе (примерно 25 человек, из них 10 программистов, разработка энтерпрайза, государственная научная организация) планируют перенести часть инфраструктуры на гитлаб. Это исходный код всех проектов и всякие текущие задания.

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

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

Ведь тот же гитлаб вроде как можно развернуть локально на серверах компании (ведь раньше у нас был свой меркуриал, вики и т.д.). Но этого не делается. После поломки сервера приняли решение переходить на гитлаб. Мне это объясняют так: нет человека, который будет отвечать за сервер.

Пытался поднять эту тему. Говорю, как-то это всё неправильно - отдавать свои проекты сторонним организациям.

Ответ: ой, не надо разводить холивар. Как будто ты гуглу и т.п. свою переписку не отдаёшь.

Я: рабочая почта у меня на сервере в корпоративной сети. Это безопасно.

Ответ: все крупные компании пользуются гитлабом. А у них в безопасности разбираются намного лучше, чем наши копеечные админы.

(Честно говоря, я не в курсе, как обстоят дела у крупных компаний и чем они пользуются. Если они действительно крупные, то у них должно быть достаточно ресурсов, чтобы себя защитить.)

Я: но это не повод, чтобы сливать проекты на сторону.

Ответ: это твоё мнение, мы тебя услышали.

Тут я подумал, что где-то читал обсуждение о том, что если компания покупает сервисы официально (а не просто сотрудники заводят аккаунты), то в этом случае защищённость сервисов выше. Спрашиваю: мы что-нибудь покупаем у гитлаба?

Ответ: к чему эта демагогия? У тебя есть аргументы или просто поговорить хочется?

Я: почему демагогия, это же безопасность.

Ответ: у тебя есть агрументы или это твоё мнение?

В общем, разговор повис в воздухе. Но не суть. Вопрос - как обстоят дела на самом деле? Насколько критично/безопасно в энтерпрайзе (проекты уровня города-миллионника) пользоваться гитхабами-гитлабами-амазонами и иже с ними?

Или, может, я просто заморачиваюсь и лучше не забивать себе этим голову.

Буду благодарен за любые мнения.

https://ru-programming.livejournal.com/1364904.html

комментарии: 0 понравилось! вверх^ к полной версии
Raster Image Processor lj_ru_programming 10-03-2018 12:59


Показался заказчик ("импортозаместитель" в области широкоформатных принтеров), который хочет сабж. Как я понял, это такая штука, которая берёт PostScript и выдаёт растр, который идёт на принтер. Пока только в общих чертах сказали, чего хотят, скоро еду на встречу, хочется быть подготовленным.

Направление для меня совершенно новое. Заранее я не знаю, каково состояние этой немолодой отрасли, чем их не устраивают существующие решения, есть ли у них какая-то своя заготовка, сколько человеко-месяцев нужно, чтобы создать такое решение с нуля. Также мне неизвестно, есть ли в этой области вменяемые open-source решения, которые можно было бы взять за основу.

Вроде бы, документация на PDF занимает несколько тысяч страниц, её просто прочитать нужен минимум месяц, а PostScript -- это нечто очень похожее. Что намекает на то, что задача для одного человека может быть вообще неподъёмной.

В общем, расскажите что-нибудь на тему. В первую очередь, чем отличаются существующие решения, и есть ли вменяемый open-source.

https://ru-programming.livejournal.com/1364710.html

комментарии: 0 понравилось! вверх^ к полной версии