telcomnet Опубликовано 4 сентября, 2014 · Жалоба Долго мучился так как перла не знаю совсем! У меня возникла проблема в том, что запрещено делать копию контейнера ключа. Поступил я следующим образом: Создал ключ как описано тут: http://molet.ru/vyigruzhaem-reestr-zapreshhennyih-saytov-s-sayta-roskomnadzora/ После залил этот файл на сервер и переименовал в req.xml.sig а так же req_template.xml В файле zapret.pl закомментировал строку: 281: `openssl smime -sign -in $req_file -out $sig_file -binary -signer $dir/cert.pem -outform DER`; В итоге ключ генерировать каждый раз мне не нужно, я собственно так проработал целый год до изменения формата и все было отлично! Сейчас выскакивает ошибка вот такая: Wide character in print at ./zapret.pl line 178. Can not get result: запрос обрабатывается Query pending ( code: 0 ) Я конечно ее могу убрать, Но быть может разработчик сделает в конфиге настройку что бы можно было отключать генерацию подписи каждый раз и соответственно ошибки пропадут. Спасибо за скрипт, отличная работа! Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
starchik Опубликовано 4 сентября, 2014 (изменено) · Жалоба 2alibek если не трудно, выложи структуру таблички REQUESTS 2Wingman у меня почему-то Ваш скрипт, очень часто выдает ошибку Can't get lastDumpDateEx! три раза запускаю, 2 точно вываливается с ошибкой, а то и все 3 раза. кто знает хорошо перл, подскажите плз. можно сделать проверку вот тут sub getLastDumpDate { my $soap= SOAP::Lite->service($api_url); my @result; eval{ @result = $soap->getLastDumpDateEx(); }; if( $@ ) { print "Error while getLastDumpDate: ".$@."\n"; exit; } if( !defined($result[0]) || $result[0] !~ /^(\d+)$/ ) { print "Can't get lastDumpDateEx!\n"; print Dumper(@result); exit; } else { my $stamp = $result[0] / 1000; return $stamp; } } что бы не писалась ошибка, а повторно выполнялся запрос. пробовал так sub getLastDumpDate { my $soap= SOAP::Lite->service($api_url); my @result; eval{ @result = $soap->getLastDumpDateEx(); }; if( $@ ) { print "Error while getLastDumpDate: ".$@."\n"; exit; } while( !defined($result[0]) || $result[0] !~ /^(\d+)$/ ) { print "Can't get lastDumpDateEx!\n"; print Dumper(@result); # exit; $soap= SOAP::Lite->service($api_url); @result = $soap->getLastDumpDateEx(); } my $stamp = $result[0] / 1000; return $stamp; } но тогда другие ошибки сыпятся но в итоге все отрабатывает. как правильно это сделать? ./zapret.pl DEBUG: Last dump date: 1409819409 DEBUG: Last action: getLastDumpDate DEBUG: Last code: 125f3577d4c98cdd47a2487d3742ad26 DEBUG: Last result: old DEBUG: Checking dump date... Can't get lastDumpDateEx! Subroutine _call redefined at (eval 111) line 50. Subroutine OperatorRequestService::want_som redefined at (eval 111) line 92. Subroutine AUTOLOAD redefined at (eval 111) line 109. Subroutine OperatorRequestService::getResult redefined at (eval 111) line 107. Subroutine OperatorRequestService::getLastDumpDate redefined at (eval 111) line 107. Subroutine OperatorRequestService::sendRequest redefined at (eval 111) line 107. Subroutine OperatorRequestService::getLastDumpDateEx redefined at (eval 111) line 107. Can't get lastDumpDateEx! Subroutine _call redefined at (eval 118) line 50. Subroutine OperatorRequestService::want_som redefined at (eval 118) line 92. Subroutine AUTOLOAD redefined at (eval 118) line 109. Subroutine OperatorRequestService::getLastDumpDateEx redefined at (eval 118) line 107. Subroutine OperatorRequestService::sendRequest redefined at (eval 118) line 107. Subroutine OperatorRequestService::getResult redefined at (eval 118) line 107. Subroutine OperatorRequestService::getLastDumpDate redefined at (eval 118) line 107. DEBUG: RKN last dump date: 1409817720 DEBUG: lastDumpDate <= prev. dump date. Exiting. Изменено 4 сентября, 2014 пользователем starchik Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
alibek Опубликовано 4 сентября, 2014 · Жалоба если не трудно, выложи структуру таблички REQUESTS Да там все просто. CREATE TABLE IF NOT EXISTS `REQUESTS` ( `ID` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT 'Идентификатор запроса.', `CLOCK` datetime NOT NULL COMMENT 'Дата и время запроса.', `TIMESTAMP` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'Дата и время запроса.', `SOURCE` varchar(200) NOT NULL COMMENT 'Кем и откуда запущено.', `STAGE` enum('INIT','SEND','RECEIVE','DONE','FAIL','SKIP') NOT NULL COMMENT 'Текущая стадия запроса.', `STAGE_COUNT` int(10) unsigned DEFAULT NULL COMMENT 'Количество обращений к сервису.', `STAGE_TIME` int(10) unsigned DEFAULT NULL COMMENT 'Общая длительность обращений к сервису.', `LAST_DATE` datetime DEFAULT NULL COMMENT 'Дата и время последнего обновления выгрузки из реестра.', `SEND_FILE` blob COMMENT 'Содержимое запроса.', `SEND_SIGN` blob COMMENT 'Содержимое открепленной подиси запроса.', `SVC_RESULT` enum('true','false') DEFAULT NULL COMMENT 'Результат обработки запроса.', `SVC_COMMENT` text COMMENT 'Комментарий к результату обработки запроса.', `SVC_SESSION` varchar(80) DEFAULT NULL COMMENT 'Строка-идентификатор, используемая для дальнейшей обработки запроса.', `RES_RESULT` enum('true','false') DEFAULT NULL COMMENT 'Результат обработки ответа сервиса.', `RES_COMMENT` text COMMENT 'Комментарий к результату обработки ответа сервиса.', `RES_DATA` longblob COMMENT 'ZIP-архив с выгрузкой из реестра (хранится только для последних запросов).', PRIMARY KEY (`ID`), KEY `CLOCK` (`CLOCK`), KEY `TIMESTAMP` (`TIMESTAMP`), KEY `STAGE` (`STAGE`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Запросы ЕРДИ (единый реестр доменных имен).\r\n\r\nСервис не дает синхронного ответа на запрос, поэтому запросы могут автоматически повторяться через некоторое время (откладываться). В поле STAGE фиксируется текущая стадия запроса, в полях STAGE_COUNT и STAGE_TIME фиксируется количество повторных обращений и общее время.\r\n'; В БД сохраняются запросы (файл и подпись) и ответы, поэтому база раздувается быстро, нужно автоматическую чистку настраивать. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
StSphinx Опубликовано 4 сентября, 2014 · Жалоба Коллеги, позволю себе еще раз порекламировать свой софт для работы с реестром. Взять тут: https://github.com/apofiget/some_stuff Написано на Erlang, работает как сервис(не надо запиливать в cron), отдает полученное по HTTP в виде JSON/CSV/XML/ZIP. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Wingman Опубликовано 4 сентября, 2014 · Жалоба Я конечно ее могу убрать, Но быть может разработчик сделает в конфиге настройку что бы можно было отключать генерацию подписи каждый раз и соответственно ошибки пропадут. Спасибо за скрипт, отличная работа! Сделал, zapret.conf: form_request = 1/0 что бы не писалась ошибка, а повторно выполнялся запрос. пробовал так Сделал три итерации при ошибке получения Почему дата дампа не отдаётся - не могу сказать: у меня ни разу такого не было -> не могу подебажить Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
telcomnet Опубликовано 4 сентября, 2014 · Жалоба Сделал, zapret.conf: form_request = 1/0 Спасибо! сейчас просто идеально! Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
starchik Опубликовано 4 сентября, 2014 · Жалоба Сделал три итерации при ошибке получения Почему дата дампа не отдаётся - не могу сказать: у меня ни разу такого не было -> не могу подебажить спасибо, но теперь сыпятся другие ошибки ./zapret.pl DEBUG: Last dump date: 1409811413 DEBUG: Last action: getLastDumpDate DEBUG: Last code: 6cf3450a9364ff77e816bf0731d094c92 DEBUG: Last result: old DEBUG: Checking dump date... Soap result not defined, retrying... Subroutine _call redefined at (eval 111) line 50. Subroutine OperatorRequestService::want_som redefined at (eval 111) line 92. Subroutine AUTOLOAD redefined at (eval 111) line 109. Subroutine OperatorRequestService::getResult redefined at (eval 111) line 107. Subroutine OperatorRequestService::getLastDumpDate redefined at (eval 111) line 107. Subroutine OperatorRequestService::sendRequest redefined at (eval 111) line 107. Subroutine OperatorRequestService::getLastDumpDateEx redefined at (eval 111) line 107. Soap result not defined, retrying... Subroutine _call redefined at (eval 118) line 50. Subroutine OperatorRequestService::want_som redefined at (eval 118) line 92. Subroutine AUTOLOAD redefined at (eval 118) line 109. Subroutine OperatorRequestService::getLastDumpDateEx redefined at (eval 118) line 107. Subroutine OperatorRequestService::getLastDumpDate redefined at (eval 118) line 107. Subroutine OperatorRequestService::sendRequest redefined at (eval 118) line 107. Subroutine OperatorRequestService::getResult redefined at (eval 118) line 107. DEBUG: RKN last dump date: 1409853900 DEBUG: Last dump date > prev. dump date. Updating. DEBUG: Sending request... Subroutine _call redefined at (eval 143) line 50. Subroutine OperatorRequestService::want_som redefined at (eval 143) line 92. Subroutine AUTOLOAD redefined at (eval 143) line 109. Subroutine OperatorRequestService::getLastDumpDateEx redefined at (eval 143) line 107. Subroutine OperatorRequestService::sendRequest redefined at (eval 143) line 107. Subroutine OperatorRequestService::getLastDumpDate redefined at (eval 143) line 107. Subroutine OperatorRequestService::getResult redefined at (eval 143) line 107. Wide character in print at ./zapret.pl line 369. DEBUG: запрос принят DEBUG: Updating lastDumpDate = 1409853900 их можно как-то убрать? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Wingman Опубликовано 4 сентября, 2014 · Жалоба их можно как-то убрать? Попробуйте в строке #!/usr/bin/perl -w убрать "-w", и ниже убрать "use warnings" Вообще странная херня; если перл < 5.16, попробуйте обновить его Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
starchik Опубликовано 4 сентября, 2014 · Жалоба perl -v This is perl 5, version 18, subversion 2 (v5.18.2) built for amd64-freebsd-thread-multi Copyright 1987-2013, Larry Wall Perl may be copied only under the terms of either the Artistic License or the GNU General Public License, which may be found in the Perl 5 source kit. Complete documentation for Perl, including FAQ lists, should be found on this system using "man perl" or "perldoc perl". If you have access to the Internet, point your browser at http://www.perl.org/, the Perl Home Page. прикол в том, что пока не было итераций таких ошибок не было... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
lcgc Опубликовано 4 сентября, 2014 (изменено) · Жалоба Subroutine _call redefined at (eval 143) line 50. Subroutine OperatorRequestService::want_som redefined at (eval 143) line 92. Subroutine AUTOLOAD redefined at (eval 143) line 109. Subroutine OperatorRequestService::getLastDumpDateEx redefined at (eval 143) line 107. Subroutine OperatorRequestService::sendRequest redefined at (eval 143) line 107. Subroutine OperatorRequestService::getLastDumpDate redefined at (eval 143) line 107. Subroutine OperatorRequestService::getResult redefined at (eval 143) line 107. а покажите, какой кусок кода это генерит опять похоже на путаницу в области видимости переменных Изменено 4 сентября, 2014 пользователем lcgc Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
ivanm38 Опубликовано 5 сентября, 2014 · Жалоба млин, не могу понять че за фигня творится сегодня получил новый ключ, импортировал по этой статье https://www.evernote.com/shard/s185/sh/ceb0b021-47e7-4c61-ab43-bc6db27fe919/c535b6e5047ec69d304519fe81c2c9ac?noteKey=c535b6e5047ec69d304519fe81c2c9ac в итоге получаю вот такое root@zapret:/gost-ssl# ./zap.pl DEBUG: Last dump date: 1409486700 DEBUG: Last action: getResult DEBUG: Last code: 0379c621bd2858d1635dceddb62cbeb4 DEBUG: Last result: err DEBUG: Sending request... Wide character in print at ./zap.pl line 331. DEBUG: запрос принят root@zapret:/gost-ssl# ./zap.pl DEBUG: Last dump date: 1409486700 DEBUG: Last action: sendRequest DEBUG: Last code: b20502f237fd708c7d4826b9d124dbe3 DEBUG: Last result: send DEBUG: Getting result... Wide character in print at ./zap.pl line 174. Can not get result: запрос обрабатывается Query pending ( code: 0 ) root@zapret:/gost-ssl# ./zap.pl DEBUG: Last dump date: 1409486700 DEBUG: Last action: sendRequest DEBUG: Last code: b20502f237fd708c7d4826b9d124dbe3 DEBUG: Last result: send DEBUG: Getting result... Wide character in print at ./zap.pl line 174. Can not get result: недействительный сертификат ЭП (информация по обратной связи для разрешения проблем приведена в Памятке оператору связи в разделе http://eais.rkn.gov.ru/tooperators/) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
starchik Опубликовано 8 сентября, 2014 · Жалоба а покажите, какой кусок кода это генерит опять похоже на путаницу в области видимости переменных вот my $req_file = $Config->{'PATH.req_file'} || die "PATH.req_file not defined."; $req_file = $dir."/".$req_file; my $sig_file = $Config->{'PATH.sig_file'} || die "PATH.sig_file not defined."; $sig_file = $dir."/".$sig_file; my $template_file = $Config->{'PATH.template_file'} || die "PATH.template_file not defined."; $template_file = $dir."/".$template_file; <<== 50 строка my $db_host = $Config->{'DB.host'} || die "DB.host not defined."; my $db_user = $Config->{'DB.user'} || die "DB.user not defined."; my $db_pass = $Config->{'DB.password'} || die "DB.password not defined."; my $db_name = $Config->{'DB.name'} || die "DB.name not defined."; ............. my $DBH; my ($lastDumpDateOld, $lastAction, $lastCode, $lastResult); dbConnect(); getParams(); my %NEW = (); my %OLD = (); my %OLD_IPS = (); my %OLD_DOMAINS = (); my %OLD_URLS = (); <<== 92 строка my %OLD_SUBNETS = (); my %OLD_TRUE = (); my %OLD_TRUE_IPS = (); my %OLD_TRUE_DOMAINS = (); my %OLD_TRUE_URLS = (); my %OLD_TRUE_SUBNETS = (); my %NEW_RECORDS = (); my %NEW_DOMAINS = (); my %NEW_URLS = (); my %NEW_IPS = (); my %NEW_SUBNETS = (); my %EX_IPS = (); my %EX_DOMAINS = (); my %EX_SUBNETS = (); <<== 107 строка my $MAILTEXT = ''; my $MAIL_ADDED = ''; <<== 109 строка my $MAIL_ADDED_IPS = ''; my $MAIL_REMOVED = ''; my $MAIL_REMOVED_IPS = ''; my $MAIL_EXCLUDES = ''; my $MAIL_ALONE = ''; debug("Last dump date:\t".$lastDumpDateOld); debug("Last action:\t".$lastAction); debug("Last code:\t".$lastCode); debug("Last result:\t".$lastResult); Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
lcgc Опубликовано 8 сентября, 2014 · Жалоба >> Subroutine AUTOLOAD redefined at (eval 143) line 109. не, где-то глубже проблема это не тот код явно Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
ivanm38 Опубликовано 9 сентября, 2014 · Жалоба Господа а нет ни у кого примера как из этой базы выгрузить в sce2020 инфу для блокировок, а то свою не можем настроить как то заранее спасибо Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
joesm Опубликовано 10 сентября, 2014 · Жалоба Решил переделать свой парсер. В процессе возник вопрос: каждая запись content имеет свой id. Описанные в этом id url, ip и прочее могут изменятся или же вся секция c конкретным id удаляется из реестра и в случае изменения создается новая? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
lcgc Опубликовано 10 сентября, 2014 · Жалоба Решил переделать свой парсер. В процессе возник вопрос: каждая запись content имеет свой id. Описанные в этом id url, ip и прочее могут изменятся или же вся секция c конкретным id удаляется из реестра и в случае изменения создается новая? я бы предпочёл быть готовым к любым пакостям новаторским идеям со стороны "авторов" Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
yegorov-p Опубликовано 11 сентября, 2014 · Жалоба Решил переделать свой парсер. В процессе возник вопрос: каждая запись content имеет свой id. Описанные в этом id url, ip и прочее могут изменятся или же вся секция c конкретным id удаляется из реестра и в случае изменения создается новая? Я не могу дать пруфов, но я видел оба примера. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
MorozOFF Опубликовано 12 сентября, 2014 · Жалоба В процессе возник вопрос: Если запись исключается, а потом включается снова (удалили контент, потом снова залили), то id будет новым. Если просто дополнение (добавили/изменили ip) то id не измениться. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Стич Опубликовано 19 сентября, 2014 · Жалоба Народ, случилось так что мы не можем получить реестр, подскажите телефон кому звонить у них есть тех поддержка. Нужно срочно. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Antares Опубликовано 19 сентября, 2014 · Жалоба Народ, случилось так что мы не можем получить реестр, подскажите телефон кому звонить у них есть тех поддержка. Нужно срочно. А почему не получается получить?? ЭСП может кончилось? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Sergey Gilfanov Опубликовано 19 сентября, 2014 · Жалоба Из ленты "Пиратской партии" прилитело: Ответственность за ошибочную блокировку ресурсов, не содержащих запрещенную к распространению информацию, судьи возложили на интернет-провайдеров. Так что если кто не умеет по страницам блокировать - надо строчно учиться. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Rivia Опубликовано 19 сентября, 2014 · Жалоба Из ленты "Пиратской партии" прилитело: Ответственность за ошибочную блокировку ресурсов, не содержащих запрещенную к распространению информацию, судьи возложили на интернет-провайдеров. Так что если кто не умеет по страницам блокировать - надо строчно учиться. А как же блокировка secured ресурсов и нововведенная блокировка подсетей? :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Sergey Gilfanov Опубликовано 19 сентября, 2014 · Жалоба А вот и узнаем. Я так понял, КС явно указал, кому претензии предъявлять, если что не так заблокировано. И другая рука Надзора теперь просто обязана среагировать, если написать заявление о том, что провайдер чего-нибудь не то блокирует. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Rivia Опубликовано 19 сентября, 2014 · Жалоба А вот и узнаем. Я так понял, КС явно указал, кому претензии предъявлять, если что не так заблокировано. И другая рука Надзора теперь просто обязана среагировать, если написать заявление о том, что провайдер чего-нибудь не то блокирует. Ну как бы в РФ законы и реальность несколько разделены, поэтому поведение РКН в случае подачи жалобы непредсказуемо. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
ayf Опубликовано 19 сентября, 2014 · Жалоба Не надо на заглушках писать: Этот сайт заблокирован. А указывать точнее: Данный IP заблокирован. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...