Merge pull request #9432 from cotequeiroz/wifidog
wifidog: fix getting ip from interface, cleanup
This commit is contained in:
commit
3e941e05c3
2 changed files with 37 additions and 21 deletions
|
@ -9,27 +9,20 @@ include $(TOPDIR)/rules.mk
|
||||||
|
|
||||||
PKG_NAME:=wifidog
|
PKG_NAME:=wifidog
|
||||||
PKG_VERSION:=1.3.0
|
PKG_VERSION:=1.3.0
|
||||||
PKG_RELEASE:=3
|
PKG_RELEASE:=4
|
||||||
|
|
||||||
|
|
||||||
PKG_LICENSE:=GPL-2.0
|
|
||||||
# Note: Packaging is maintained upstream at
|
|
||||||
# https://github.com/wifidog/packages
|
|
||||||
PKG_MAINTAINER:=Michael Haas <haas@computerlinguist.org>
|
|
||||||
PKG_LICENSE_FILES:=COPYING
|
|
||||||
|
|
||||||
|
|
||||||
PKG_SOURCE_PROTO:=git
|
PKG_SOURCE_PROTO:=git
|
||||||
PKG_SOURCE_URL:=https://github.com/wifidog/wifidog-gateway
|
PKG_SOURCE_URL:=https://github.com/wifidog/wifidog-gateway
|
||||||
PKG_SOURCE_SUBDIR:=$(PKG_NAME)-$(PKG_VERSION)
|
PKG_SOURCE_VERSION:=$(PKG_VERSION)
|
||||||
PKG_SOURCE_VERSION:=1.3.0
|
|
||||||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION)-$(PKG_SOURCE_VERSION).tar.xz
|
|
||||||
PKG_MIRROR_HASH:=9ffd9f3ae54baceb723abb7a04e27a9b6a3ff1479f8a3bfda9b8a496e8b4050f
|
PKG_MIRROR_HASH:=9ffd9f3ae54baceb723abb7a04e27a9b6a3ff1479f8a3bfda9b8a496e8b4050f
|
||||||
|
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
|
||||||
|
|
||||||
|
PKG_MAINTAINER:=Michael Haas <haas@computerlinguist.org>
|
||||||
|
PKG_LICENSE:=GPL-2.0-or-later
|
||||||
|
PKG_LICENSE_FILES:=COPYING
|
||||||
|
|
||||||
PKG_FIXUP:=autoreconf
|
PKG_FIXUP:=autoreconf
|
||||||
# do not run make install
|
|
||||||
PKG_INSTALL:=0
|
PKG_INSTALL:=0
|
||||||
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION)
|
|
||||||
|
|
||||||
include $(INCLUDE_DIR)/package.mk
|
include $(INCLUDE_DIR)/package.mk
|
||||||
|
|
||||||
|
@ -49,7 +42,7 @@ endef
|
||||||
|
|
||||||
define Package/wifidog-tls
|
define Package/wifidog-tls
|
||||||
$(call Package/wifidog/Default)
|
$(call Package/wifidog/Default)
|
||||||
DEPENDS+= +libcyassl
|
DEPENDS+= +PACKAGE_wifidog-tls:libwolfssl
|
||||||
VARIANT:=tls
|
VARIANT:=tls
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
@ -73,11 +66,6 @@ endef
|
||||||
|
|
||||||
Package/wifidog-tls/conffiles = $(Package/wifidog/conffiles)
|
Package/wifidog-tls/conffiles = $(Package/wifidog/conffiles)
|
||||||
|
|
||||||
|
|
||||||
define Package/wifidog/configure
|
|
||||||
$(call Build/Configure/Default)
|
|
||||||
endef
|
|
||||||
|
|
||||||
ifeq ($(BUILD_VARIANT),tls)
|
ifeq ($(BUILD_VARIANT),tls)
|
||||||
|
|
||||||
CONFIGURE_ARGS += \
|
CONFIGURE_ARGS += \
|
||||||
|
@ -90,7 +78,7 @@ define Package/wifidog/install
|
||||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/wifidog $(1)/usr/bin/
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/wifidog $(1)/usr/bin/
|
||||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/wdctl $(1)/usr/bin/
|
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/wdctl $(1)/usr/bin/
|
||||||
$(INSTALL_DIR) $(1)/usr/lib
|
$(INSTALL_DIR) $(1)/usr/lib
|
||||||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libhttpd.so* $(1)/usr/lib/
|
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libhttpd.so.* $(1)/usr/lib/
|
||||||
$(INSTALL_DIR) $(1)/etc
|
$(INSTALL_DIR) $(1)/etc
|
||||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/wifidog.conf $(1)/etc/
|
$(INSTALL_DATA) $(PKG_BUILD_DIR)/wifidog.conf $(1)/etc/
|
||||||
$(INSTALL_DATA) $(PKG_BUILD_DIR)/wifidog-msg.html $(1)/etc/
|
$(INSTALL_DATA) $(PKG_BUILD_DIR)/wifidog-msg.html $(1)/etc/
|
||||||
|
|
|
@ -0,0 +1,28 @@
|
||||||
|
From 37b2dda9b1d62eb91028f6d590beddd36f7b79c8 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Nathan Samson <nathan@nathansamson.be>
|
||||||
|
Date: Mon, 1 Feb 2016 21:37:22 +0100
|
||||||
|
Subject: [PATCH] Modify get ip from iface method.
|
||||||
|
|
||||||
|
This used to use a RAW socket, while now it used a DGRAM socket.
|
||||||
|
Previously it failed with operation not permitted, while this version
|
||||||
|
seems to work reliably.
|
||||||
|
|
||||||
|
diff --git a/src/util.c b/src/util.c
|
||||||
|
index 46ec5a2..426ba13 100644
|
||||||
|
--- a/src/util.c
|
||||||
|
+++ b/src/util.c
|
||||||
|
@@ -174,11 +174,13 @@ get_iface_ip(const char *ifname)
|
||||||
|
u_int32_t ip;
|
||||||
|
|
||||||
|
/* Create a socket */
|
||||||
|
- if ((sockd = socket(AF_INET, SOCK_RAW, htons(0x8086))) < 0) {
|
||||||
|
+ if ((sockd = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
|
||||||
|
debug(LOG_ERR, "socket(): %s", strerror(errno));
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ /* I want to get an IPv4 IP address */
|
||||||
|
+ if_data.ifr_addr.sa_family = AF_INET;
|
||||||
|
/* Get IP of internal interface */
|
||||||
|
strncpy(if_data.ifr_name, ifname, 15);
|
||||||
|
if_data.ifr_name[15] = '\0';
|
Loading…
Reference in a new issue