Date: Wed, 24 Nov 2010 21:09:48 +0300 From: Andrey Zonov <andrey.zonov@gmail.com> To: freebsd-hackers@freebsd.org Subject: [patch] rresvport_af(3) uses setsockopt(SO_REUSEADDR) Message-ID: <4CED54EC.2080204@gmail.com>
next in thread | raw e-mail | index | archive | help
This is a multi-part message in MIME format. --------------080501010907030103040709 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Hi, I've made the patch for rresvport_af(3) and rcmd_af(3) which makes possible to use more connections for rsh/rshd. I've also reviewed freebsd src tree and I think these changes in libc do not break any existing applications. Can anybody look at the patch? -- Andrey Zonov --------------080501010907030103040709 Content-Type: text/plain; name="rresvport_reuse.patch.txt" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="rresvport_reuse.patch.txt" SW5kZXg6IGxpYmV4ZWMvcnNoZC9yc2hkLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gbGliZXhlYy9y c2hkL3JzaGQuYwkocmV2aXNpb24gMjE1NTA4KQorKysgbGliZXhlYy9yc2hkL3JzaGQuYwko d29ya2luZyBjb3B5KQpAQCAtMjc4LDExICsyNzgsNiBAQAogCSh2b2lkKSBhbGFybSgwKTsK IAlpZiAocG9ydCAhPSAwKSB7CiAJCWludCBscG9ydCA9IElQUE9SVF9SRVNFUlZFRCAtIDE7 Ci0JCXMgPSBycmVzdnBvcnRfYWYoJmxwb3J0LCBhZik7Ci0JCWlmIChzIDwgMCkgewotCQkJ c3lzbG9nKExPR19FUlIsICJjYW4ndCBnZXQgc3RkZXJyIHBvcnQ6ICVtIik7Ci0JCQlleGl0 KDEpOwotCQl9CiAJCWlmIChwb3J0ID49IElQUE9SVF9SRVNFUlZFRCB8fAogCQkgICAgcG9y dCA8IElQUE9SVF9SRVNFUlZFRC8yKSB7CiAJCQlzeXNsb2coTE9HX05PVElDRXxMT0dfQVVU SCwKQEAgLTI5MSwxMCArMjg2LDMxIEBACiAJCQkgICAgcG9ydCk7CiAJCQlleGl0KDEpOwog CQl9Ci0JCSooKGluX3BvcnRfdCAqKSZmcm9tcC0+c2FfZGF0YSkgPSBodG9ucyhwb3J0KTsK LQkJaWYgKGNvbm5lY3QocywgZnJvbXAsIGZyb21wLT5zYV9sZW4pIDwgMCkgewotCQkJc3lz bG9nKExPR19JTkZPLCAiY29ubmVjdCBzZWNvbmQgcG9ydCAlZDogJW0iLCBwb3J0KTsKLQkJ CWV4aXQoMSk7CisJCWZvciAoIDs7ICkgeworCQkJcyA9IHJyZXN2cG9ydF9hZigmbHBvcnQs IGFmKTsKKwkJCWlmIChzIDwgMCkgeworCQkJCWlmIChlcnJubyA9PSBFQUREUklOVVNFIHx8 CisJCQkJICAgIGVycm5vID09IEVBRERSTk9UQVZBSUwpIHsKKwkJCQkJbHBvcnQtLTsKKwkJ CQkJY29udGludWU7CisJCQkJfQorCQkJCWlmIChlcnJubyA9PSBFQUdBSU4pCisJCQkJCXN5 c2xvZyhMT0dfRVJSLCAic29ja2V0OiBhbGwgcG9ydHMgaW4gdXNlIik7CisJCQkJZWxzZQor CQkJCQlzeXNsb2coTE9HX0VSUiwgImNhbid0IGdldCBzdGRlcnIgcG9ydDogJW0iKTsKKwkJ CQlleGl0KDEpOworCQkJfQorCQkJKigoaW5fcG9ydF90ICopJmZyb21wLT5zYV9kYXRhKSA9 IGh0b25zKHBvcnQpOworCQkJaWYgKGNvbm5lY3QocywgZnJvbXAsIGZyb21wLT5zYV9sZW4p IDwgMCkgeworCQkJCWlmIChlcnJubyA9PSBFQUREUklOVVNFKSB7CisJCQkJCWxwb3J0LS07 CisJCQkJCWNsb3NlKHMpOworCQkJCQljb250aW51ZTsKKwkJCQl9CisJCQkJc3lzbG9nKExP R19JTkZPLCAiY29ubmVjdCBzZWNvbmQgcG9ydCAlZDogJW0iLCBwb3J0KTsKKwkJCQlleGl0 KDEpOworCQkJfQorCQkJYnJlYWs7CiAJCX0KIAl9CiAKQEAgLTUzNSwxMSArNTUxLDExIEBA CiAJY2hhciBjOwogCiAJZG8geworCQlpZiAoY250LS0gPT0gMCkKKwkJCXJzaGRfZXJyeCgx LCAiJXMgdG9vIGxvbmciLCBlcnJvcik7CiAJCWlmIChyZWFkKFNURElOX0ZJTEVOTywgJmMs IDEpICE9IDEpCiAJCQlleGl0KDEpOwogCQkqYnVmKysgPSBjOwotCQlpZiAoLS1jbnQgPT0g MCkKLQkJCXJzaGRfZXJyeCgxLCAiJXMgdG9vIGxvbmciLCBlcnJvcik7CiAJfSB3aGlsZSAo YyAhPSAwKTsKIH0KIApJbmRleDogbGliL2xpYmMvbmV0L3JjbWQuYwo9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 Ci0tLSBsaWIvbGliYy9uZXQvcmNtZC5jCShyZXZpc2lvbiAyMTU1MDgpCisrKyBsaWIvbGli Yy9uZXQvcmNtZC5jCSh3b3JraW5nIGNvcHkpCkBAIC0xNTIsNiArMTUyLDExIEBACiAJZm9y ICh0aW1vID0gMSwgbHBvcnQgPSBJUFBPUlRfUkVTRVJWRUQgLSAxOzspIHsKIAkJcyA9IHJy ZXN2cG9ydF9hZigmbHBvcnQsIGFpLT5haV9mYW1pbHkpOwogCQlpZiAocyA8IDApIHsKKwkJ CWlmIChlcnJubyA9PSBFQUREUklOVVNFIHx8CisJCQkgICAgZXJybm8gPT0gRUFERFJOT1RB VkFJTCkgeworCQkJCWxwb3J0LS07CisJCQkJY29udGludWU7CisJCQl9CiAJCQlpZiAoZXJy bm8gIT0gRUFHQUlOICYmIGFpLT5haV9uZXh0KSB7CiAJCQkJYWkgPSBhaS0+YWlfbmV4dDsK IAkJCQljb250aW51ZTsKQEAgLTIxMiwxNyArMjE3LDM0IEBACiAJCQlmcHJpbnRmKHN0ZGVy ciwgIlRyeWluZyAlcy4uLlxuIiwgcGFkZHIpOwogCQl9CiAJfQotCWxwb3J0LS07CisJbHBv cnQgPSBJUFBPUlRfUkVTRVJWRUQgLSAxOwogCWlmIChmZDJwID09IDApIHsKIAkJX3dyaXRl KHMsICIiLCAxKTsKIAkJbHBvcnQgPSAwOwogCX0gZWxzZSB7Ci0JCWludCBzMiA9IHJyZXN2 cG9ydF9hZigmbHBvcnQsIGFpLT5haV9mYW1pbHkpLCBzMzsKKwkJaW50IHMyLCBzMzsKIAkJ c29ja2xlbl90IGxlbiA9IGFpLT5haV9hZGRybGVuOwogCQlpbnQgbmZkczsKIAotCQlpZiAo czIgPCAwKQotCQkJZ290byBiYWQ7CisJCWZvciAoIDs7ICkgeworCQkJczIgPSBycmVzdnBv cnRfYWYoJmxwb3J0LCBhaS0+YWlfZmFtaWx5KTsKKwkJCWlmIChzMiA8IDApIHsKKwkJCQlp ZiAoZXJybm8gPT0gRUFERFJJTlVTRSB8fAorCQkJCSAgICBlcnJubyA9PSBFQUREUk5PVEFW QUlMKSB7CisJCQkJCWxwb3J0LS07CisJCQkJCWNvbnRpbnVlOworCQkJCX0KKwkJCQlpZiAo ZXJybm8gPT0gRUFHQUlOKQorCQkJCQkodm9pZClmcHJpbnRmKHN0ZGVyciwKKwkJCQkJICAg ICJyY21kOiBzb2NrZXQyOiBBbGwgcG9ydHMgaW4gdXNlXG4iKTsKKwkJCQllbHNlCisJCQkJ CSh2b2lkKWZwcmludGYoc3RkZXJyLCAicmNtZDogc29ja2V0MjogJXNcbiIsCisJCQkJCSAg ICBzdHJlcnJvcihlcnJubykpOworCQkJCWdvdG8gYmFkOworCQkJfQorCQkJYnJlYWs7CisJ CX0KKwogCQlfbGlzdGVuKHMyLCAxKTsKIAkJKHZvaWQpc25wcmludGYobnVtLCBzaXplb2Yo bnVtKSwgIiVkIiwgbHBvcnQpOwogCQlpZiAoX3dyaXRlKHMsIG51bSwgc3RybGVuKG51bSkr MSkgIT0gc3RybGVuKG51bSkrMSkgewpAQCAtMzY2LDYgKzM4OCwyNyBAQAogCQlyZXR1cm4g KC0xKTsKIAl9CiAjZW5kaWYKKwlpZiAoKmFscG9ydCAmJiAqYWxwb3J0IDwgSVBQT1JUX1JF U0VSVkVEIC0gMSkgeworCQlpZiAoKmFscG9ydCA8IElQUE9SVF9SRVNFUlZFRCAvIDIpIHsK KwkJCSh2b2lkKV9jbG9zZShzKTsKKwkJCWVycm5vID0gRUFHQUlOOworCQkJcmV0dXJuICgt MSk7CisJCX0KKwkJaW50IHJldXNlID0gMTsKKwkJaWYgKF9zZXRzb2Nrb3B0KHMsIFNPTF9T T0NLRVQsIFNPX1JFVVNFQUREUiwgJnJldXNlLCBzaXplb2YocmV1c2UpKSA8IDApIHsKKwkJ CSh2b2lkKV9jbG9zZShzKTsKKwkJCXJldHVybiAoLTEpOworCQl9CisKKwkJKnNwb3J0ID0g aHRvbnMoKHVfc2hvcnQpKmFscG9ydCk7CisJCWlmIChfYmluZChzLCAoc3RydWN0IHNvY2th ZGRyICopJnNzLCAoKHN0cnVjdCBzb2NrYWRkciAqKSZzcyktPnNhX2xlbikgPCAwKSB7CisJ CQkodm9pZClfY2xvc2Uocyk7CisJCQlyZXR1cm4gKC0xKTsKKwkJfQorCQkqYWxwb3J0ID0g KGludCludG9ocygqc3BvcnQpOworCQlyZXR1cm4gKHMpOworCX0KKwogCSpzcG9ydCA9IDA7 CiAJaWYgKGJpbmRyZXN2cG9ydF9zYShzLCAoc3RydWN0IHNvY2thZGRyICopJnNzKSA9PSAt MSkgewogCQkodm9pZClfY2xvc2Uocyk7Cg== --------------080501010907030103040709--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4CED54EC.2080204>