diff options
author | Björn Jacke <bj@sernet.de> | 2010-09-07 02:15:09 +0200 |
---|---|---|
committer | Björn Jacke <bj@sernet.de> | 2010-09-07 20:37:53 +0200 |
commit | 5b016dbab852cd443c8f9049acb94a113de227e1 (patch) | |
tree | 9696dc918a7b6f326fb3e5816262030c30e0e477 /source3 | |
parent | f69085e5ff525d534f66c6163aacb8c320a484bc (diff) | |
download | samba-5b016dbab852cd443c8f9049acb94a113de227e1.tar.gz samba-5b016dbab852cd443c8f9049acb94a113de227e1.tar.bz2 samba-5b016dbab852cd443c8f9049acb94a113de227e1.zip |
s3/libads: use monotonic clock for ldap connection timeouts
Diffstat (limited to 'source3')
-rw-r--r-- | source3/include/ads.h | 2 | ||||
-rw-r--r-- | source3/libads/ldap.c | 2 | ||||
-rw-r--r-- | source3/libads/ldap_utils.c | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/source3/include/ads.h b/source3/include/ads.h index b45d53de07..6ef5455766 100644 --- a/source3/include/ads.h +++ b/source3/include/ads.h @@ -65,7 +65,7 @@ typedef struct ads_struct { struct { LDAP *ld; struct sockaddr_storage ss; /* the ip of the active connection, if any */ - time_t last_attempt; /* last attempt to reconnect */ + time_t last_attempt; /* last attempt to reconnect, monotonic clock */ int port; enum ads_saslwrap_type wrap_type; diff --git a/source3/libads/ldap.c b/source3/libads/ldap.c index 77ab51ee26..970f20a8d9 100644 --- a/source3/libads/ldap.c +++ b/source3/libads/ldap.c @@ -596,7 +596,7 @@ ADS_STATUS ads_connect(ADS_STRUCT *ads) char addr[INET6_ADDRSTRLEN]; ZERO_STRUCT(ads->ldap); - ads->ldap.last_attempt = time(NULL); + ads->ldap.last_attempt = time_mono(NULL); ads->ldap.wrap_type = ADS_SASLWRAP_TYPE_PLAIN; /* try with a user specified server */ diff --git a/source3/libads/ldap_utils.c b/source3/libads/ldap_utils.c index c0c1adba30..0c07961153 100644 --- a/source3/libads/ldap_utils.c +++ b/source3/libads/ldap_utils.c @@ -40,7 +40,7 @@ static ADS_STATUS ads_do_search_retry_internal(ADS_STRUCT *ads, const char *bind *res = NULL; if (!ads->ldap.ld && - time(NULL) - ads->ldap.last_attempt < ADS_RECONNECT_TIME) { + time_mono(NULL) - ads->ldap.last_attempt < ADS_RECONNECT_TIME) { return ADS_ERROR(LDAP_SERVER_DOWN); } |