|
1 | 1 | #!/usr/bin/perl -w |
2 | 2 | # RO (Repository Observer) - Client script |
3 | | -# Copyright (C) 2007, 2008 Fedor A. Fetisov <faf@ossg.ru>. All Rights Reserved |
| 3 | +# Copyright (C) 2007-2011 Fedor A. Fetisov <faf@ossg.ru>. All Rights Reserved |
4 | 4 | # |
5 | 5 | # This program is free software: you can redistribute it and/or modify |
6 | 6 | # it under the terms of the GNU General Public License as published by |
|
24 | 24 | use constant PACKAGES_LIMIT => 500; # максимальное количество пакетов, пересылаемое в одном XML-документе |
25 | 25 | # внимание - при запросе обновления отсылается два XML-документа |
26 | 26 |
|
27 | | -my $VERSION = '0.9.16svn'; # версия клиента |
| 27 | +my $VERSION = '0.9.17svn'; # версия клиента |
28 | 28 |
|
29 | 29 | my $date = localtime(time); # для записи в кеш - на всякий случай |
30 | 30 |
|
|
388 | 388 |
|
389 | 389 | # отсылка данных |
390 | 390 | print STDERR "[DEBUG] Initializing user agent to send data.\n" if $debug_mode; |
391 | | -my $ua = LWP::UserAgent->new(); |
| 391 | + |
| 392 | +# инициализация клиента для отсылки данных |
| 393 | +my %ua_options; |
| 394 | +# при работе через https по умолчанию не проверять сертификат сервера |
| 395 | +$ua_options{'ssl_opts'} = {'verify_hostname' => 0 } if (($config->{'server'}->{'proto'} eq 'https') && !($LWP::UserAgent::VERSION =~ /^[0-5]\./)); |
| 396 | +# задание/переопределение опций клиента, указанных в конфигурации |
| 397 | +if ((defined $config->{'lwp_ua_options'}) && (ref($config->{'lwp_ua_options'}) eq 'HASH')) { |
| 398 | + foreach (keys(%{$config->{'lwp_ua_options'}})) { |
| 399 | + $ua_options{$_} = $config->{'lwp_ua_options'}->{$_}; |
| 400 | + } |
| 401 | +} |
| 402 | + |
| 403 | +my $ua = scalar(keys(%ua_options)) ? LWP::UserAgent->new(%ua_options) : LWP::UserAgent->new(); |
392 | 404 |
|
393 | 405 | # если данных для отсылки нет, должны быть отосланы пустые данные, |
394 | 406 | # чтобы обновить дату синхронизации системы на сервере |
|
405 | 417 | $params->[0]->{'packages'} = make_xml({}); |
406 | 418 | $params->[0]->{'action'} = 'init'; |
407 | 419 | } |
408 | | - $params->[0]->{'node'} = $config->{'signature'}; |
| 420 | + $params->[0]->{'node'} = $config->{'signature'}; |
409 | 421 | } |
410 | 422 |
|
411 | 423 | my $error; |
|
0 commit comments