From patchwork Mon Aug 8 15:46:28 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Petko Bordjukov X-Patchwork-Id: 656818 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from bombadil.infradead.org (bombadil.infradead.org [IPv6:2001:1868:205::9]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3s7MHH0nVSz9sCZ for ; Tue, 9 Aug 2016 01:47:22 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b=qOT1GcwH; dkim-atps=neutral Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.85_2 #1 (Red Hat Linux)) id 1bWmlb-0002pl-Hn; Mon, 08 Aug 2016 15:47:03 +0000 Received: from mail-wm0-x243.google.com ([2a00:1450:400c:c09::243]) by bombadil.infradead.org with esmtps (Exim 4.85_2 #1 (Red Hat Linux)) id 1bWmlX-0002dE-Mp for hostap@lists.infradead.org; Mon, 08 Aug 2016 15:47:01 +0000 Received: by mail-wm0-x243.google.com with SMTP id x83so16227043wma.3 for ; Mon, 08 Aug 2016 08:46:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=SAAnODssA6OmNGn2bZjA0ADqfxGG8F159LyfkNlzidI=; b=qOT1GcwHQxu34kJ96SED2KRRnTjdDhFxE2TivIA3PVIDZQSrF0nsuu7dH3KnHqL+Wp T+WAFBKsdBaNhqPDzPSWjIE4kQWykmCqivFWQ9k0ufz13fo9gw9boCkjKu1B9DiMtE2k EqPgQU6YsOwIBDB4ec1zRJ/9R7MOsrdzauRO/ks+sY2VdTVv4MHOt1qdtymX0ygNcp9/ S0kqXJjkxy7w3J7FpmB4+YJvayUQDtRAwEUviQI3W1kuFuZxOvqtsF1prt4cqtbIbb0n T8fHAFQfnn/m974RgOEZiRgR9kBO9HDSnaStvBfVw3pWy591LjmiAOk1hEx3NqRFlujC SiCg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=SAAnODssA6OmNGn2bZjA0ADqfxGG8F159LyfkNlzidI=; b=DTVF5VXX6qpzv6BxWdv7Y2SI6EHRM15dbjlAl68ZqbRL6aQvIjlwngvJD18V3gA73i GuBumNwP/mUxrsLnfO1GCMfPq8rz9hCHNcWRPrRoBiym2qiKhMxiWIdF1vgPpGElbBri yPIrWQU5fgtobFX51vQp3Wupm3quOq2rNAsDf2GDWt0ZhqtjmZN5dvgYR7vMcdziuVIo YFMw3V8SuIvJAZNXs0JVP3PlaxpwP3qPTSJiB/B7+4mg/VGAaq2yFk+zHpmPD1RLTfKy Qz2wMg8PXRzEHBuhy9TynYZTS0c40zMET7EZ6g4DXQjRilhcLE0umm2fRWjUZYvnFu9c riBg== X-Gm-Message-State: AEkoouvhQRnA/P22zNFi9saLOANexC973sElKIWo0hzOsInxT+uE0l7GOcyWj/nhfjopyw== X-Received: by 10.194.47.206 with SMTP id f14mr91670549wjn.98.1470671197768; Mon, 08 Aug 2016 08:46:37 -0700 (PDT) Received: from clarity.orpheus.btroyan.info ([2001:67c:21bc:c:649c:16f2:9e54:9c3a]) by smtp.gmail.com with ESMTPSA id n2sm33587075wjd.1.2016.08.08.08.46.36 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 08 Aug 2016 08:46:37 -0700 (PDT) From: Petko Bordjukov To: hostap@lists.infradead.org Subject: [PATCH v2] IAPP: Set SO_REUSEADDR on listening socket Date: Mon, 8 Aug 2016 18:46:28 +0300 Message-Id: <20160808154628.29274-1-bordjukov@gmail.com> X-Mailer: git-send-email 2.9.2 In-Reply-To: <20160808152526.28102-2-bordjukov@gmail.com> References: <20160808152526.28102-2-bordjukov@gmail.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20160808_084700_118582_A2A5ABF5 X-CRM114-Status: UNSURE ( 9.84 ) X-CRM114-Notice: Please train this message. X-Spam-Score: -2.7 (--) X-Spam-Report: SpamAssassin version 3.4.0 on bombadil.infradead.org summary: Content analysis details: (-2.7 points) pts rule name description ---- ---------------------- -------------------------------------------------- -0.7 RCVD_IN_DNSWL_LOW RBL: Sender listed at http://www.dnswl.org/, low trust [2a00:1450:400c:c09:0:0:0:243 listed in] [list.dnswl.org] -0.0 SPF_PASS SPF: sender matches SPF record 0.0 FREEMAIL_FROM Sender email is commonly abused enduser mail provider (bordjukov[at]gmail.com) -1.9 BAYES_00 BODY: Bayes spam probability is 0 to 1% [score: 0.0000] -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid X-BeenThere: hostap@lists.infradead.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Petko Bordjukov MIME-Version: 1.0 Sender: "Hostap" Errors-To: hostap-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org Make it possible for several instances of hostapd to listen on the same network interface. Signed-off-by: Petko Bordjukov --- Changes since v1: * Fixed a mistake in the error message. * Made the inability to set SO_REUSEADDR not fatal src/ap/iapp.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/ap/iapp.c b/src/ap/iapp.c index 07672ce..3fd0951 100644 --- a/src/ap/iapp.c +++ b/src/ap/iapp.c @@ -381,6 +381,7 @@ struct iapp_data * iapp_init(struct hostapd_data *hapd, const char *iface) struct sockaddr_in *paddr, uaddr; struct iapp_data *iapp; struct ip_mreqn mreq; + int reuseaddr = 1; iapp = os_zalloc(sizeof(*iapp)); if (iapp == NULL) @@ -443,6 +444,13 @@ struct iapp_data * iapp_init(struct hostapd_data *hapd, const char *iface) os_memset(&uaddr, 0, sizeof(uaddr)); uaddr.sin_family = AF_INET; uaddr.sin_port = htons(IAPP_UDP_PORT); + + if (setsockopt(iapp->udp_sock, SOL_SOCKET, SO_REUSEADDR, &reuseaddr, + sizeof(reuseaddr)) < 0) { + wpa_printf(MSG_INFO, "iapp_init - setsockopt[UDP,SO_REUSEADDR]: %s", + strerror(errno)); + } + if (bind(iapp->udp_sock, (struct sockaddr *) &uaddr, sizeof(uaddr)) < 0) { wpa_printf(MSG_INFO, "iapp_init - bind[UDP]: %s",