[ANNOUNCE] keepalived-1.2.13
Alexandre Cassen <[email protected]> Tue, 13 May 2014 15:48:17 +0200
| Newsgroups | gmane.linux.keepalived.announce |
|---|---|
| Message-ID | <CAONz4a2mWO+hz0bVk8Nw8k_AShD4r05DoxEpe6nroF4qRn2fdA__23797.7792196491$1399989113$gmane$org@mail.gmail.com> |
--===============8231880176352396449== Content-Type: multipart/alternative; boundary=001a113a6be4ecc6f904f94850bc --001a113a6be4ecc6f904f94850bc Content-Type: text/plain; charset=UTF-8 Hi, Just quickly push new release extending and fixing pending stuff. Thanks for your contrib. ChangeLog for this release is : 2014-05-13 Alexandre Cassen <[email protected]> * keepalived-1.2.13 released. * vrrp : Use the standard unsigned int types. This fixes building with musl libc, which does not expose the internal __uint* defines. (Natanael Copa) * check : Fix template issue in IPv6 host header. (Jan Hugo Prins) * ipvs : ipvs_syncd_cmd uses memset() to zero the daemonrule buffer before populating it and sending it up. daemonrule is malloc()ed by ipvs_start(). ipvs_start() can bail early if it can't communicate with ipvs. Neither place which call ipvs_start() check the return value, allowing them to walk straight into a NULL pointer deref. (jsgh) * check : Without inhibit_on_failure on a real_server, when the server is marked down existing TCP connections to it are simply blackholed. Hence inhibit_on_failure: by setting the weight to zero no new connections are sent to that server, but because the server isn't completely removed from the table existing connections are allowed to continue. The same problem exists with sorry_server. When a real_server comes back up the sorry_server is removed from the pool and existing connections are blackholed. Instead of continued service, which may usually be a fast response indicating overload, the client must engage in a lengthy wait for the connection to time out. It would be better in many cases to allow the sorry_server connections to complete naturally. Luckily the code is structured well enough that all is required to get this behaviour is to set the inhibit member of the sorry_server structure, which is mostly just a change to the config file parser. (jsgh) * check : unify logging of RS and VS. This fixes the bug of displaying a FWM service as [x.x.x.x]:0, where x.x.x.x is the first RS of that service. (Alexey Andriyanov) * check : unify connection options among checkers. All the remote checkers (TCP, HTTP/SSL, SMTP) now have the same set of connection options: . connect_ip (new to TCP, HTTP) . connect_port . bindto . bind_port (new) . connect_timeout (new to SMTP) All of them are optional with reasonable defaults. The patch is designed for simplicity in adding a new option. Since the connect_ip could be inequal to the RS address and, worse, the same for all RSes, the endpoint is now logged as [RS]:rport, not the [connect_ip]:connect_port. (Alexey Andriyanov) * check : fwmark connection option. (Alexey Andriyanov) * check : make SO_MARK a compile-time option. (Alexey Andriyanov) * check : documentation for generic connection opts. (Alexey Andriyanov) * check : random delay before doing the first check. every RS check is registered with a random delay between 0 and vs->delay_loop seconds. It helps avoiding multiple simultaneous checks to the same RS server. (Alexey Andriyanov) * vrrp : Fix sync of interface status flag when using VMAC interface. There is a chance that the VMAC interface status flags (up/down) could be different from the base interface flags. This patch will only change the VMAC interface status flags when the base interface is changed. (Jonas Johansson) * vrrp : Let only base interface change the VMAC interface status flags. The interface status flags for a VMAC interface shall only be changed by the base interface, never by reading the actual VMAC interface flags. (Jonas Johansson) * vrrp : Fix initial interface status flag value for VMAC interface. In commit a05a503, "vrrp: Fix sync of interface status flag when using VMAC interface", no inital value for the VMAC interface status flag was set. Due to that the VMAC interface flags shall follow the base interface, the base interface status flags value shall be copied to the VMAC interface status flags after the VMAC interface has been created. (Jonas Johansson) * vrrp : Proper restore of VMAC interface properties on SIGHUP. On SIGHUP the VMAC flag and base ifindex for a VMAC interface was lost. (Jonas Johansson) * vrrp : Revert "Honor preempt_delay setting on startup.". This commit resulted in two individual bugs: 1) A keepalived instance coming on-line would not transition to MASTER state until the preempt_delay duration had passed, even though there was no already existing VRRP speaker in MASTER state on the link. In other words, it changed the semantics of preempt_delay from a delay that only took place before *preemption* of another VRRP speaker, to a delay that unconditionally took place after Keepalived came online. The keepalived.conf manual page has always documented the former meaning, which is also IMHO the only one that you would intuitively expect. 2) The preempt_delay was applied when a Keepalived process was reloading its configuration following the recipt of SIGHUP. If the Keepalived instance was in MASTER state before the reload, it would cease transmitting VRRP hellos for the duration of preempt_delay, but *not* actually remove the virtual addresses from the network interfaces. This in turn resulted in any backup VRRP speakers on the links transition to the MASTER state while preempt_delay was still in effect on the original MASTER that was reloaded, thus creating a service-impacting split-brain scenario where the virtual addresses are present and active on multiple VRRP speakers simultaneously. (Tore Anderson) * vrrp : fix ip_address comparison. Extend IP_ISEQ() macro to take care of NULL addresses. This issue end on SEGV while using virtual_route. thanks to Tore Anderson for reporting. * vrrp : fix double close issue (DROP_MEMBERSHIP & netlink channel). This is a old pending 'bug', not arming at all but just frustrating to see again and again this log message : "cant do IP_DROP_MEMBERSHIP errno=Bad file descriptor (9)" What the hell ! it was due to a double close during reload & stop procedure. VRRP fd are stored in a socket pool and use the I/O MUX to handle VRRP traffic. While reloading or stopping the daemon the I/O MUX was released first and secondly socket pool. The issue spotted here, in thread_destroy_master() all pending thread are canceled and read/write fds related are close(). Well OK a close on a mcast socket perform kernel side the DROP_MEMBERSHIP when needed, but it is much more clean to perform proper operations userspace ! This patch sequencely cancel pending thread, release socket pool and finally destroy master thread. Same 'issue' appear in netlink channel. Enjoy, Alexandre --001a113a6be4ecc6f904f94850bc Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: base64 PGRpdiBkaXI9Imx0ciI+PGRpdj48ZGl2PjxkaXY+PGRpdj5IaSw8YnI+PGJyPjwvZGl2Pkp1c3Qg cXVpY2tseSBwdXNoIG5ldyByZWxlYXNlIGV4dGVuZGluZyBhbmQgZml4aW5nIHBlbmRpbmcgc3R1 ZmYuIFRoYW5rcyBmb3IgeW91ciBjb250cmliLjxicj48YnI+PC9kaXY+Q2hhbmdlTG9nIGZvciB0 aGlzIHJlbGVhc2UgaXMgOjxicj48YnI+MjAxNC0wNS0xM8KgIEFsZXhhbmRyZSBDYXNzZW7CoCAm bHQ7PGEgaHJlZj0ibWFpbHRvOmFjYXNzZW5AbGludXgtdnMub3JnIj5hY2Fzc2VuQGxpbnV4LXZz Lm9yZzwvYT4mZ3Q7PGJyPg0KwqDCoMKgwqDCoMKgwqAgKiBrZWVwYWxpdmVkLTEuMi4xMyByZWxl YXNlZC48YnI+wqDCoMKgwqDCoMKgwqAgKiB2cnJwIDogVXNlIHRoZSBzdGFuZGFyZCB1bnNpZ25l ZCBpbnQgdHlwZXMuIFRoaXMgZml4ZXM8YnI+wqDCoMKgwqDCoMKgwqDCoMKgIGJ1aWxkaW5nIHdp dGggbXVzbCBsaWJjLCB3aGljaCBkb2VzIG5vdCBleHBvc2UgdGhlIGludGVybmFsPGJyPsKgwqDC oMKgwqDCoMKgwqDCoCBfX3VpbnQqIGRlZmluZXMuIChOYXRhbmFlbCBDb3BhKTxicj4NCsKgwqDC oMKgwqDCoMKgICogY2hlY2sgOiBGaXggdGVtcGxhdGUgaXNzdWUgaW4gSVB2NiBob3N0IGhlYWRl ci48YnI+wqDCoMKgwqDCoMKgwqDCoMKgIChKYW4gSHVnbyBQcmlucyk8YnI+wqDCoMKgwqDCoMKg wqAgKiBpcHZzIDogaXB2c19zeW5jZF9jbWQgdXNlcyBtZW1zZXQoKSB0byB6ZXJvIHRoZSBkYWVt b25ydWxlPGJyPsKgwqDCoMKgwqDCoMKgwqDCoCBidWZmZXIgYmVmb3JlIHBvcHVsYXRpbmcgaXQg YW5kIHNlbmRpbmcgaXQgdXAuIGRhZW1vbnJ1bGUgaXM8YnI+DQrCoMKgwqDCoMKgwqDCoMKgwqAg bWFsbG9jKCllZCBieSBpcHZzX3N0YXJ0KCkuIGlwdnNfc3RhcnQoKSBjYW4gYmFpbCBlYXJseSBp ZiBpdDxicj7CoMKgwqDCoMKgwqDCoMKgwqAgY2FuJiMzOTt0IGNvbW11bmljYXRlIHdpdGggaXB2 cy4gTmVpdGhlciBwbGFjZSB3aGljaCBjYWxsPGJyPsKgwqDCoMKgwqDCoMKgwqDCoCBpcHZzX3N0 YXJ0KCkgY2hlY2sgdGhlIHJldHVybiB2YWx1ZSwgYWxsb3dpbmcgdGhlbSB0byB3YWxrPGJyPsKg wqDCoMKgwqDCoMKgwqDCoCBzdHJhaWdodCBpbnRvIGEgTlVMTCBwb2ludGVyIGRlcmVmLiAoanNn aCk8YnI+DQrCoMKgwqDCoMKgwqDCoCAqIGNoZWNrIDogV2l0aG91dCBpbmhpYml0X29uX2ZhaWx1 cmUgb24gYSByZWFsX3NlcnZlciwgd2hlbiB0aGU8YnI+wqDCoMKgwqDCoMKgwqDCoMKgIHNlcnZl ciBpcyBtYXJrZWQgZG93biBleGlzdGluZyBUQ1AgY29ubmVjdGlvbnMgdG8gaXQgYXJlIHNpbXBs eTxicj7CoMKgwqDCoMKgwqDCoMKgwqAgYmxhY2tob2xlZC4gSGVuY2UgaW5oaWJpdF9vbl9mYWls dXJlOiBieSBzZXR0aW5nIHRoZSB3ZWlnaHQgdG88YnI+DQrCoMKgwqDCoMKgwqDCoMKgwqAgemVy byBubyBuZXcgY29ubmVjdGlvbnMgYXJlIHNlbnQgdG8gdGhhdCBzZXJ2ZXIsIGJ1dCBiZWNhdXNl IHRoZTxicj7CoMKgwqDCoMKgwqDCoMKgwqAgc2VydmVyIGlzbiYjMzk7dCBjb21wbGV0ZWx5IHJl bW92ZWQgZnJvbSB0aGUgdGFibGUgZXhpc3Rpbmc8YnI+wqDCoMKgwqDCoMKgwqDCoMKgIGNvbm5l Y3Rpb25zIGFyZSBhbGxvd2VkIHRvIGNvbnRpbnVlLiBUaGUgc2FtZSBwcm9ibGVtIGV4aXN0czxi cj4NCsKgwqDCoMKgwqDCoMKgwqDCoCB3aXRoIHNvcnJ5X3NlcnZlci4gV2hlbiBhIHJlYWxfc2Vy dmVyIGNvbWVzIGJhY2sgdXAgdGhlPGJyPsKgwqDCoMKgwqDCoMKgwqDCoCBzb3JyeV9zZXJ2ZXIg aXMgcmVtb3ZlZCBmcm9tIHRoZSBwb29sIGFuZCBleGlzdGluZyBjb25uZWN0aW9uczxicj7CoMKg wqDCoMKgwqDCoMKgwqAgYXJlIGJsYWNraG9sZWQuIEluc3RlYWQgb2YgY29udGludWVkIHNlcnZp Y2UsIHdoaWNoIG1heSB1c3VhbGx5PGJyPg0KwqDCoMKgwqDCoMKgwqDCoMKgIGJlIGEgZmFzdCBy ZXNwb25zZSBpbmRpY2F0aW5nIG92ZXJsb2FkLCB0aGUgY2xpZW50IG11c3QgZW5nYWdlPGJyPsKg wqDCoMKgwqDCoMKgwqDCoCBpbiBhIGxlbmd0aHkgd2FpdCBmb3IgdGhlIGNvbm5lY3Rpb24gdG8g dGltZSBvdXQuIEl0IHdvdWxkIGJlPGJyPsKgwqDCoMKgwqDCoMKgwqDCoCBiZXR0ZXIgaW4gbWFu eSBjYXNlcyB0byBhbGxvdyB0aGUgc29ycnlfc2VydmVyIGNvbm5lY3Rpb25zIHRvPGJyPg0KwqDC oMKgwqDCoMKgwqDCoMKgIGNvbXBsZXRlIG5hdHVyYWxseS4gTHVja2lseSB0aGUgY29kZSBpcyBz dHJ1Y3R1cmVkIHdlbGwgZW5vdWdoPGJyPsKgwqDCoMKgwqDCoMKgwqDCoCB0aGF0IGFsbCBpcyBy ZXF1aXJlZCB0byBnZXQgdGhpcyBiZWhhdmlvdXIgaXMgdG8gc2V0IHRoZSBpbmhpYml0PGJyPsKg wqDCoMKgwqDCoMKgwqDCoCBtZW1iZXIgb2YgdGhlIHNvcnJ5X3NlcnZlciBzdHJ1Y3R1cmUsIHdo aWNoIGlzIG1vc3RseSBqdXN0IGE8YnI+DQrCoMKgwqDCoMKgwqDCoMKgwqAgY2hhbmdlIHRvIHRo ZSBjb25maWcgZmlsZSBwYXJzZXIuIChqc2doKTxicj7CoMKgwqDCoMKgwqDCoCAqIGNoZWNrIDog dW5pZnkgbG9nZ2luZyBvZiBSUyBhbmQgVlMuIFRoaXMgZml4ZXMgdGhlIGJ1ZyBvZjxicj7CoMKg wqDCoMKgwqDCoMKgwqAgZGlzcGxheWluZyBhIEZXTSBzZXJ2aWNlIGFzIFt4LngueC54XTowLCB3 aGVyZSB4LngueC54IGlzIHRoZTxicj7CoMKgwqDCoMKgwqDCoMKgwqAgZmlyc3QgUlMgb2YgdGhh dCBzZXJ2aWNlLiAoQWxleGV5IEFuZHJpeWFub3YpPGJyPg0KwqDCoMKgwqDCoMKgwqAgKiBjaGVj ayA6IHVuaWZ5IGNvbm5lY3Rpb24gb3B0aW9ucyBhbW9uZyBjaGVja2Vycy48YnI+wqDCoMKgwqDC oMKgwqDCoMKgIEFsbCB0aGUgcmVtb3RlIGNoZWNrZXJzIChUQ1AsIEhUVFAvU1NMLCBTTVRQKSBu b3cgaGF2ZSB0aGU8YnI+wqDCoMKgwqDCoMKgwqDCoMKgIHNhbWUgc2V0IG9mIGNvbm5lY3Rpb24g b3B0aW9uczo8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAuIGNvbm5lY3RfaXAgKG5ldyB0byBU Q1AsIEhUVFApPGJyPg0KwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAuIGNvbm5lY3RfcG9ydDxicj7C oMKgwqDCoMKgwqDCoMKgwqDCoMKgIC4gYmluZHRvPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg LiBiaW5kX3BvcnQgKG5ldyk8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAuIGNvbm5lY3RfdGlt ZW91dCAobmV3IHRvIFNNVFApPGJyPsKgwqDCoMKgwqDCoMKgwqDCoCBBbGwgb2YgdGhlbSBhcmUg b3B0aW9uYWwgd2l0aCByZWFzb25hYmxlIGRlZmF1bHRzLiBUaGUgcGF0Y2g8YnI+wqDCoMKgwqDC oMKgwqDCoMKgIGlzIGRlc2lnbmVkIGZvciBzaW1wbGljaXR5IGluIGFkZGluZyBhIG5ldyBvcHRp b24uIFNpbmNlIHRoZTxicj4NCsKgwqDCoMKgwqDCoMKgwqDCoCBjb25uZWN0X2lwIGNvdWxkIGJl IGluZXF1YWwgdG8gdGhlIFJTIGFkZHJlc3MgYW5kLCB3b3JzZSwgdGhlPGJyPsKgwqDCoMKgwqDC oMKgwqDCoCBzYW1lIGZvciBhbGwgUlNlcywgdGhlIGVuZHBvaW50IGlzIG5vdyBsb2dnZWQgYXMg W1JTXTpycG9ydCw8YnI+wqDCoMKgwqDCoMKgwqDCoMKgIG5vdCB0aGUgW2Nvbm5lY3RfaXBdOmNv bm5lY3RfcG9ydC4gKEFsZXhleSBBbmRyaXlhbm92KTxicj7CoMKgwqDCoMKgwqDCoCAqIGNoZWNr IDogZndtYXJrIGNvbm5lY3Rpb24gb3B0aW9uLiAoQWxleGV5IEFuZHJpeWFub3YpPGJyPg0KwqDC oMKgwqDCoMKgwqAgKiBjaGVjayA6IG1ha2UgU09fTUFSSyBhIGNvbXBpbGUtdGltZSBvcHRpb24u PGJyPsKgwqDCoMKgwqDCoMKgwqDCoCAoQWxleGV5IEFuZHJpeWFub3YpPGJyPsKgwqDCoMKgwqDC oMKgICogY2hlY2sgOiBkb2N1bWVudGF0aW9uIGZvciBnZW5lcmljIGNvbm5lY3Rpb24gb3B0cy48 YnI+wqDCoMKgwqDCoMKgwqDCoMKgIChBbGV4ZXkgQW5kcml5YW5vdik8YnI+wqDCoMKgwqDCoMKg wqAgKiBjaGVjayA6IHJhbmRvbSBkZWxheSBiZWZvcmUgZG9pbmcgdGhlIGZpcnN0IGNoZWNrLjxi cj4NCsKgwqDCoMKgwqDCoMKgwqDCoCBldmVyeSBSUyBjaGVjayBpcyByZWdpc3RlcmVkIHdpdGgg YSByYW5kb20gZGVsYXkgYmV0d2VlbiAwPGJyPsKgwqDCoMKgwqDCoMKgwqDCoCBhbmQgdnMtJmd0 O2RlbGF5X2xvb3Agc2Vjb25kcy4gSXQgaGVscHMgYXZvaWRpbmcgbXVsdGlwbGU8YnI+wqDCoMKg wqDCoMKgwqDCoMKgIHNpbXVsdGFuZW91cyBjaGVja3MgdG8gdGhlIHNhbWUgUlMgc2VydmVyLsKg IChBbGV4ZXkgQW5kcml5YW5vdik8YnI+wqDCoMKgwqDCoMKgwqAgKiB2cnJwIDogRml4IHN5bmMg b2YgaW50ZXJmYWNlIHN0YXR1cyBmbGFnIHdoZW4gdXNpbmcgVk1BQzxicj4NCsKgwqDCoMKgwqDC oMKgwqDCoCBpbnRlcmZhY2UuIFRoZXJlIGlzIGEgY2hhbmNlIHRoYXQgdGhlIFZNQUMgaW50ZXJm YWNlIHN0YXR1czxicj7CoMKgwqDCoMKgwqDCoMKgwqAgZmxhZ3MgKHVwL2Rvd24pIGNvdWxkIGJl IGRpZmZlcmVudCBmcm9tIHRoZSBiYXNlIGludGVyZmFjZSBmbGFncy48YnI+wqDCoMKgwqDCoMKg wqDCoMKgIFRoaXMgcGF0Y2ggd2lsbCBvbmx5IGNoYW5nZSB0aGUgVk1BQyBpbnRlcmZhY2Ugc3Rh dHVzIGZsYWdzIHdoZW48YnI+DQrCoMKgwqDCoMKgwqDCoMKgwqAgdGhlIGJhc2UgaW50ZXJmYWNl IGlzIGNoYW5nZWQuIChKb25hcyBKb2hhbnNzb24pPGJyPsKgwqDCoMKgwqDCoMKgICogdnJycCA6 IExldCBvbmx5IGJhc2UgaW50ZXJmYWNlIGNoYW5nZSB0aGUgVk1BQyBpbnRlcmZhY2Ugc3RhdHVz PGJyPsKgwqDCoMKgwqDCoMKgwqDCoCBmbGFncy4gVGhlIGludGVyZmFjZSBzdGF0dXMgZmxhZ3Mg Zm9yIGEgVk1BQyBpbnRlcmZhY2Ugc2hhbGw8YnI+wqDCoMKgwqDCoMKgwqDCoMKgIG9ubHkgYmUg Y2hhbmdlZCBieSB0aGUgYmFzZSBpbnRlcmZhY2UsIG5ldmVyIGJ5IHJlYWRpbmcgdGhlPGJyPg0K wqDCoMKgwqDCoMKgwqDCoMKgIGFjdHVhbCBWTUFDIGludGVyZmFjZSBmbGFncy4gKEpvbmFzIEpv aGFuc3Nvbik8YnI+wqDCoMKgwqDCoMKgwqAgKiB2cnJwIDogRml4IGluaXRpYWwgaW50ZXJmYWNl IHN0YXR1cyBmbGFnIHZhbHVlIGZvciBWTUFDPGJyPsKgwqDCoMKgwqDCoMKgwqDCoCBpbnRlcmZh Y2UuIEluIGNvbW1pdCBhMDVhNTAzLCAmcXVvdDt2cnJwOiBGaXggc3luYyBvZiBpbnRlcmZhY2U8 YnI+wqDCoMKgwqDCoMKgwqDCoMKgIHN0YXR1cyBmbGFnIHdoZW4gdXNpbmcgVk1BQyBpbnRlcmZh Y2UmcXVvdDssIG5vIGluaXRhbCB2YWx1ZSBmb3IgdGhlPGJyPg0KwqDCoMKgwqDCoMKgwqDCoMKg IFZNQUMgaW50ZXJmYWNlIHN0YXR1cyBmbGFnIHdhcyBzZXQuIER1ZSB0byB0aGF0IHRoZSBWTUFD IGludGVyZmFjZTxicj7CoMKgwqDCoMKgwqDCoMKgwqAgZmxhZ3Mgc2hhbGwgZm9sbG93IHRoZSBi YXNlIGludGVyZmFjZSwgdGhlIGJhc2UgaW50ZXJmYWNlIHN0YXR1czxicj7CoMKgwqDCoMKgwqDC oMKgwqAgZmxhZ3MgdmFsdWUgc2hhbGwgYmUgY29waWVkIHRvIHRoZSBWTUFDIGludGVyZmFjZSBz dGF0dXMgZmxhZ3M8YnI+DQrCoMKgwqDCoMKgwqDCoMKgwqAgYWZ0ZXIgdGhlIFZNQUMgaW50ZXJm YWNlIGhhcyBiZWVuIGNyZWF0ZWQuIChKb25hcyBKb2hhbnNzb24pPGJyPsKgwqDCoMKgwqDCoMKg ICogdnJycCA6IFByb3BlciByZXN0b3JlIG9mIFZNQUMgaW50ZXJmYWNlIHByb3BlcnRpZXMgb24g U0lHSFVQLjxicj7CoMKgwqDCoMKgwqDCoMKgwqAgT24gU0lHSFVQIHRoZSBWTUFDIGZsYWcgYW5k IGJhc2UgaWZpbmRleCBmb3IgYSBWTUFDIGludGVyZmFjZSB3YXM8YnI+DQrCoMKgwqDCoMKgwqDC oMKgwqAgbG9zdC4gKEpvbmFzIEpvaGFuc3Nvbik8YnI+wqDCoMKgwqDCoMKgwqAgKiB2cnJwIDog UmV2ZXJ0ICZxdW90O0hvbm9yIHByZWVtcHRfZGVsYXkgc2V0dGluZyBvbiBzdGFydHVwLiZxdW90 Oy48YnI+wqDCoMKgwqDCoMKgwqDCoMKgIFRoaXMgY29tbWl0IHJlc3VsdGVkIGluIHR3byBpbmRp dmlkdWFsIGJ1Z3M6PGJyPjxicj7CoMKgwqDCoMKgwqDCoMKgwqAgMSkgQSBrZWVwYWxpdmVkIGlu c3RhbmNlIGNvbWluZyBvbi1saW5lIHdvdWxkIG5vdCB0cmFuc2l0aW9uIHRvPGJyPg0KwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIE1BU1RFUiBzdGF0ZSB1bnRpbCB0aGUgcHJlZW1wdF9kZWxheSBk dXJhdGlvbiBoYWQgcGFzc2VkLCBldmVuPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB0aG91 Z2ggdGhlcmUgd2FzIG5vIGFscmVhZHkgZXhpc3RpbmcgVlJSUCBzcGVha2VyIGluIE1BU1RFUjxi cj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgc3RhdGUgb24gdGhlIGxpbmsuIEluIG90aGVyIHdv cmRzLCBpdCBjaGFuZ2VkIHRoZSBzZW1hbnRpY3Mgb2Y8YnI+DQrCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqAgcHJlZW1wdF9kZWxheSBmcm9tIGEgZGVsYXkgdGhhdCBvbmx5IHRvb2sgcGxhY2UgYmVm b3JlPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAqcHJlZW1wdGlvbiogb2YgYW5vdGhlciBW UlJQIHNwZWFrZXIsIHRvIGEgZGVsYXkgdGhhdDxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAg dW5jb25kaXRpb25hbGx5IHRvb2sgcGxhY2UgYWZ0ZXIgS2VlcGFsaXZlZCBjYW1lIG9ubGluZS4g VGhlPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBrZWVwYWxpdmVkLmNvbmYgbWFudWFsIHBh Z2UgaGFzIGFsd2F5cyBkb2N1bWVudGVkIHRoZSBmb3JtZXI8YnI+DQrCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgbWVhbmluZywgd2hpY2ggaXMgYWxzbyBJTUhPIHRoZSBvbmx5IG9uZSB0aGF0IHlv dSB3b3VsZDxicj7CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgaW50dWl0aXZlbHkgZXhwZWN0Ljxi cj48YnI+wqDCoMKgwqDCoMKgwqDCoMKgIDIpIFRoZSBwcmVlbXB0X2RlbGF5IHdhcyBhcHBsaWVk IHdoZW4gYSBLZWVwYWxpdmVkIHByb2Nlc3Mgd2FzPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oCByZWxvYWRpbmcgaXRzIGNvbmZpZ3VyYXRpb24gZm9sbG93aW5nIHRoZSByZWNpcHQgb2YgU0lH SFVQLjxicj4NCsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBJZiB0aGUgS2VlcGFsaXZlZCBpbnN0 YW5jZSB3YXMgaW4gTUFTVEVSIHN0YXRlIGJlZm9yZSB0aGU8YnI+wqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgIHJlbG9hZCwgaXQgd291bGQgY2Vhc2UgdHJhbnNtaXR0aW5nIFZSUlAgaGVsbG9zIGZv ciB0aGU8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGR1cmF0aW9uIG9mIHByZWVtcHRfZGVs YXksIGJ1dCAqbm90KiBhY3R1YWxseSByZW1vdmUgdGhlPGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoCB2aXJ0dWFsIGFkZHJlc3NlcyBmcm9tIHRoZSBuZXR3b3JrIGludGVyZmFjZXMuIFRoaXMg aW4gdHVybjxicj4NCsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCByZXN1bHRlZCBpbiBhbnkgYmFj a3VwIFZSUlAgc3BlYWtlcnMgb24gdGhlIGxpbmtzIHRyYW5zaXRpb248YnI+wqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgIHRvIHRoZSBNQVNURVIgc3RhdGUgd2hpbGUgcHJlZW1wdF9kZWxheSB3YXMg c3RpbGwgaW4gZWZmZWN0PGJyPsKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBvbiB0aGUgb3JpZ2lu YWwgTUFTVEVSIHRoYXQgd2FzIHJlbG9hZGVkLCB0aHVzIGNyZWF0aW5nIGE8YnI+DQrCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqAgc2VydmljZS1pbXBhY3Rpbmcgc3BsaXQtYnJhaW4gc2NlbmFyaW8g d2hlcmUgdGhlIHZpcnR1YWw8YnI+wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIGFkZHJlc3NlcyBh cmUgcHJlc2VudCBhbmQgYWN0aXZlIG9uIG11bHRpcGxlIFZSUlAgc3BlYWtlcnM8YnI+wqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgIHNpbXVsdGFuZW91c2x5Ljxicj48YnI+wqDCoMKgwqDCoMKgwqDC oMKgIChUb3JlIEFuZGVyc29uKTxicj7CoMKgwqDCoMKgwqDCoCAqIHZycnAgOiBmaXggaXBfYWRk cmVzcyBjb21wYXJpc29uLiBFeHRlbmQgSVBfSVNFUSgpIG1hY3JvIHRvPGJyPg0KwqDCoMKgwqDC oMKgwqDCoMKgIHRha2UgY2FyZSBvZiBOVUxMIGFkZHJlc3Nlcy4gVGhpcyBpc3N1ZSBlbmQgb24g U0VHViB3aGlsZTxicj7CoMKgwqDCoMKgwqDCoMKgwqAgdXNpbmcgdmlydHVhbF9yb3V0ZS4gdGhh bmtzIHRvIFRvcmUgQW5kZXJzb24gZm9yIHJlcG9ydGluZy48YnI+wqDCoMKgwqDCoMKgwqAgKiB2 cnJwIDogZml4IGRvdWJsZSBjbG9zZSBpc3N1ZSAoRFJPUF9NRU1CRVJTSElQICZhbXA7IG5ldGxp bms8YnI+wqDCoMKgwqDCoMKgwqDCoMKgIGNoYW5uZWwpLiBUaGlzIGlzIGEgb2xkIHBlbmRpbmcg JiMzOTtidWcmIzM5Oywgbm90IGFybWluZyBhdCBhbGw8YnI+DQrCoMKgwqDCoMKgwqDCoMKgwqAg YnV0IGp1c3QgZnJ1c3RyYXRpbmcgdG8gc2VlIGFnYWluIGFuZCBhZ2FpbiB0aGlzIGxvZyBtZXNz YWdlIDo8YnI+PGJyPsKgwqDCoMKgwqDCoMKgwqDCoCAmcXVvdDtjYW50IGRvIElQX0RST1BfTUVN QkVSU0hJUCBlcnJubz1CYWQgZmlsZSBkZXNjcmlwdG9yICg5KSZxdW90Ozxicj48YnI+wqDCoMKg wqDCoMKgwqDCoMKgIFdoYXQgdGhlIGhlbGwgISBpdCB3YXMgZHVlIHRvIGEgZG91YmxlIGNsb3Nl IGR1cmluZyByZWxvYWQgJmFtcDs8YnI+DQrCoMKgwqDCoMKgwqDCoMKgwqAgc3RvcCBwcm9jZWR1 cmUuIFZSUlAgZmQgYXJlIHN0b3JlZCBpbiBhIHNvY2tldCBwb29sIGFuZCB1c2U8YnI+wqDCoMKg wqDCoMKgwqDCoMKgIHRoZSBJL08gTVVYIHRvIGhhbmRsZSBWUlJQIHRyYWZmaWMuIFdoaWxlIHJl bG9hZGluZyBvciBzdG9wcGluZzxicj7CoMKgwqDCoMKgwqDCoMKgwqAgdGhlIGRhZW1vbiB0aGUg SS9PIE1VWCB3YXMgcmVsZWFzZWQgZmlyc3QgYW5kIHNlY29uZGx5IHNvY2tldDxicj4NCsKgwqDC oMKgwqDCoMKgwqDCoCBwb29sLsKgIFRoZSBpc3N1ZSBzcG90dGVkIGhlcmUsIGluIHRocmVhZF9k ZXN0cm95X21hc3RlcigpIGFsbDxicj7CoMKgwqDCoMKgwqDCoMKgwqAgcGVuZGluZyB0aHJlYWQg YXJlIGNhbmNlbGVkIGFuZCByZWFkL3dyaXRlIGZkcyByZWxhdGVkIGFyZTxicj7CoMKgwqDCoMKg wqDCoMKgwqAgY2xvc2UoKS4gV2VsbCBPSyBhIGNsb3NlIG9uIGEgbWNhc3Qgc29ja2V0IHBlcmZv cm0ga2VybmVsIHNpZGU8YnI+DQrCoMKgwqDCoMKgwqDCoMKgwqAgdGhlIERST1BfTUVNQkVSU0hJ UCB3aGVuIG5lZWRlZCwgYnV0IGl0IGlzIG11Y2ggbW9yZSBjbGVhbiB0bzxicj7CoMKgwqDCoMKg wqDCoMKgwqAgcGVyZm9ybSBwcm9wZXIgb3BlcmF0aW9ucyB1c2Vyc3BhY2UgISBUaGlzIHBhdGNo IHNlcXVlbmNlbHk8YnI+wqDCoMKgwqDCoMKgwqDCoMKgIGNhbmNlbCBwZW5kaW5nIHRocmVhZCwg cmVsZWFzZSBzb2NrZXQgcG9vbCBhbmQgZmluYWxseTxicj7CoMKgwqDCoMKgwqDCoMKgwqAgZGVz dHJveSBtYXN0ZXIgdGhyZWFkLiBTYW1lICYjMzk7aXNzdWUmIzM5OyBhcHBlYXIgaW4gbmV0bGlu ayBjaGFubmVsLjxicj4NCjxicj48YnI+PC9kaXY+RW5qb3ksPGJyPjwvZGl2PkFsZXhhbmRyZTxi cj48L2Rpdj4NCg== --001a113a6be4ecc6f904f94850bc-- --===============8231880176352396449== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline ------------------------------------------------------------------------------ "Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE Instantly run your Selenium tests across 300+ browser/OS combos. Get unparalleled scalability from the best Selenium testing platform available Simple to use. Nothing to install. Get started now for free." http://p.sf.net/sfu/SauceLabs --===============8231880176352396449== Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Keepalived-announce mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/keepalived-announce --===============8231880176352396449==--