Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Linux-HA: Dev

[PATCH] Low: ldirectord: refactor check_pop(s)

 

 

Linux-HA dev RSS feed   Index | Next | Previous | View Threaded


heder at google

Aug 4, 2009, 5:32 AM

Post #1 of 2 (541 views)
Permalink
[PATCH] Low: ldirectord: refactor check_pop(s)

The code for check_pop() and check_pops() is almost identical, besides
a USESSL => 0/1. So, factor it out.

Signed-off-by: Hannes Eder <heder [at] google>

diff --git a/ldirectord/ldirectord.in b/ldirectord/ldirectord.in
--- a/ldirectord/ldirectord.in
+++ b/ldirectord/ldirectord.in
@@ -2581,9 +2581,9 @@
if (grep $$v{service} eq $_, ("http", "https", "http_proxy")) {
$$r{num_connects} = 0 if (check_http($v, $r) == $SERVICE_UP);
} elsif ($$v{service} eq "pop") {
- $$r{num_connects} = 0 if (check_pop($v, $r) == $SERVICE_UP);
+ $$r{num_connects} = 0 if (check_pop($v, $r, 0) == $SERVICE_UP);
} elsif ($$v{service} eq "pops") {
- $$r{num_connects} = 0 if (check_pops($v, $r) == $SERVICE_UP);
+ $$r{num_connects} = 0 if (check_pop($v, $r, 1) == $SERVICE_UP);
} elsif ($$v{service} eq "imap") {
$$r{num_connects} = 0 if (check_imap($v, $r) == $SERVICE_UP);
} elsif ($$v{service} eq "imaps") {
@@ -2781,15 +2781,15 @@
sub check_pop
{
require Mail::POP3Client;
- my ($v, $r) = @_;
+ my ($v, $r, $ssl) = @_;
my $port = ld_checkport($v, $r);

- &ld_debug(2, "Checking pop server=$$r{server} port=$port");
+ &ld_debug(2, "Checking pop server=$$r{server} port=$port ssl=$ssl");

my $pop = new Mail::POP3Client(USER => $$v{login},
PASSWORD => $$v{passwd},
HOST => $$r{server},
- USESSL => 0,
+ USESSL => $ssl,
PORT => $port,
DEBUG => 0,
TIMEOUT => $$v{negotiatetimeout});
@@ -2813,41 +2813,6 @@
return $SERVICE_UP;
}

-sub check_pops
-{
- require Mail::POP3Client;
- my ($v, $r) = @_;
- my $port = ld_checkport($v, $r);
-
- &ld_debug(2, "Checking pops server=$$r{server} port=$port");
-
- my $pops = new Mail::POP3Client(USER => $$v{login},
- PASSWORD => $$v{passwd},
- HOST => $$r{server},
- USESSL => 1,
- PORT => $port,
- DEBUG => 0,
- TIMEOUT => $$v{negotiatetimeout});
- if (!$pops) {
- service_set($v, $r, "down", {do_log => 1});
- return $SERVICE_DOWN;
- }
-
- if($$v{login} ne "") {
- my $authres = $pops->login();
- $pops->close();
- if (!$authres) {
- service_set($v, $r, "down", {do_log => 1});
- return $SERVICE_DOWN;
- }
- }
-
-
- $pops->close();
- service_set($v, $r, "up", {do_log => 1});
- return $SERVICE_UP;
-}
-
sub check_imap
{
require Net::IMAP::Simple;
_______________________________________________________
Linux-HA-Dev: Linux-HA-Dev [at] lists
http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev
Home Page: http://linux-ha.org/


horms at verge

Aug 4, 2009, 4:47 PM

Post #2 of 2 (486 views)
Permalink
Re: [PATCH] Low: ldirectord: refactor check_pop(s) [In reply to]

On Tue, Aug 04, 2009 at 02:32:30PM +0200, Hannes Eder wrote:
> The code for check_pop() and check_pops() is almost identical, besides
> a USESSL => 0/1. So, factor it out.

Nice, applied :-)
_______________________________________________________
Linux-HA-Dev: Linux-HA-Dev [at] lists
http://lists.linux-ha.org/mailman/listinfo/linux-ha-dev
Home Page: http://linux-ha.org/

Linux-HA dev RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.