Import olsrd-0.4.9.

The olsr.org OLSR daemon is an implementation of the Optimized Link
State Routing protocol. OLSR is a routing protocol for mobile ad-hoc
networks. The protocol is pro-active, table driven and utilizes a
technique called multipoint relaying for message flooding.
From: Holger Mauermann <holger@mauermann.org>

ok pvalchev@
This commit is contained in:
robert 2005-05-22 14:44:45 +00:00
parent 721889d57b
commit 88d4bebfe5
12 changed files with 295 additions and 0 deletions

39
net/olsrd/Makefile Normal file
View File

@ -0,0 +1,39 @@
# $OpenBSD: Makefile,v 1.1.1.1 2005/05/22 14:44:45 robert Exp $
COMMENT= "OLSR routing daemon"
DISTNAME= olsrd-0.4.9
CATEGORIES= net
HOMEPAGE= http://www.olsr.org/
MASTER_SITES= http://www.olsr.org/releases/0.4/
MAINTAINER= Holger Mauermann <holger@mauermann.org>
# BSD
PERMIT_PACKAGE_CDROM= Yes
PERMIT_PACKAGE_FTP= Yes
PERMIT_DISTFILES_CDROM= Yes
PERMIT_DISTFILES_FTP= Yes
WANTLIB= c m
BUILD_DEPENDS= :bison-*:devel/bison
USE_GMAKE= Yes
MAKE_ENV= "OS=obsd"
NO_REGRESS= Yes
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/olsrd ${PREFIX}/sbin
@cd ${WRKSRC}/files && ${GUNZIP_CMD} olsrd.conf.5.gz olsrd.8.gz
${INSTALL_MAN} ${WRKSRC}/files/olsrd.conf.5 ${PREFIX}/man/man5
${INSTALL_MAN} ${WRKSRC}/files/olsrd.8 ${PREFIX}/man/man8
${INSTALL_DATA_DIR} ${PREFIX}/share/examples/olsrd
${INSTALL_DATA} ${WRKSRC}/files/olsrd.conf.default.* \
${PREFIX}/share/examples/olsrd
${INSTALL_DATA_DIR} ${PREFIX}/share/doc/olsrd
@for i in CHANGELOG README README-Link-Quality.html; do \
${INSTALL_DATA} ${WRKSRC}/$$i ${PREFIX}/share/doc/olsrd; \
done
.include <bsd.port.mk>

4
net/olsrd/distinfo Normal file
View File

@ -0,0 +1,4 @@
MD5 (olsrd-0.4.9.tar.gz) = adf236fd4d7c38ad39186ed5bf1ba95d
RMD160 (olsrd-0.4.9.tar.gz) = 3010b92750e72059973b956b21bed543a30be5fb
SHA1 (olsrd-0.4.9.tar.gz) = 31896feee9193da34658777b1d4f2ff0d8578119
SIZE (olsrd-0.4.9.tar.gz) = 416910

View File

@ -0,0 +1,30 @@
$OpenBSD: patch-Makefile,v 1.1.1.1 2005/05/22 14:44:45 robert Exp $
--- Makefile.orig Thu Mar 31 20:39:24 2005
+++ Makefile Wed May 18 23:52:01 2005
@@ -116,6 +116,18 @@ all: cfgparser olsrd
install: install_olsrd
else
+ifeq ($(OS), obsd)
+
+SRCS += $(wildcard src/bsd/*.c) $(wildcard src/unix/*.c)
+HDRS += $(wildcard src/bsd/*.h) $(wildcard src/unix/*.h)
+CFLAGS ?= $(CCWARNINGS) -O2 -g
+LIBS = -lm
+#MAKEDEPEND = makedepend -f $(DEPFILE) -D__OpenBSD__ $(INCLUDES) $(SRCS)
+
+all: cfgparser olsrd
+install: install_olsrd
+
+else
ifeq ($(OS), osx)
SRCS += $(wildcard src/bsd/*.c) $(wildcard src/unix/*.c)
@@ -225,6 +237,7 @@ else
all: help
install:help
+endif
endif
endif
endif

View File

@ -0,0 +1,130 @@
$OpenBSD: patch-src_bsd_net_c,v 1.1.1.1 2005/05/22 14:44:45 robert Exp $
--- src/bsd/net.c.orig Sun Mar 20 17:52:25 2005
+++ src/bsd/net.c Sun May 22 06:19:15 2005
@@ -49,8 +49,17 @@
#endif
#include <net/if.h>
+#ifdef __OpenBSD__
+#include <netinet/if_ether.h>
+#include <netinet/in_systm.h>
+#include <netinet/ip.h>
+#include <netinet/ip_icmp.h>
+#include <netinet/icmp_var.h>
+#include <netinet/icmp6.h>
+#else
#include <net/if_var.h>
#include <net/ethernet.h>
+#endif
#ifdef __FreeBSD__
#include <net80211/ieee80211.h>
@@ -78,11 +87,52 @@
static int set_sysctl_int(char *name, int new)
{
int old;
- unsigned int len = sizeof (old);
+ size_t len = sizeof (old);
+
+#ifdef __OpenBSD__
+ int mib[4];
+
+ /*
+ * Set net.inet.ip.forwarding by default.
+ */
+ mib[0] = CTL_NET;
+ mib[1] = PF_INET;
+ mib[2] = IPPROTO_IP;
+ mib[3] = IPCTL_FORWARDING;
+
+ if (!strcmp(name, "net.inet6.ip6.forwarding"))
+ {
+ mib[1] = PF_INET6;
+ mib[2] = IPPROTO_IPV6;
+ }
+ else if (!strcmp(name, "net.inet.icmp.rediraccept"))
+ {
+ mib[2] = IPPROTO_ICMP;
+ mib[3] = ICMPCTL_REDIRACCEPT;
+ }
+ else if (!strcmp(name, "net.inet6.icmp6.rediraccept"))
+ {
+ mib[2] = IPPROTO_ICMPV6;
+ mib[3] = ICMPV6CTL_REDIRACCEPT;
+ }
+ else if (!strcmp(name, "net.inet.ip.redirect"))
+ {
+ mib[3] = IPCTL_SENDREDIRECTS;
+ }
+ else if (!strcmp(name, "net.inet6.ip6.redirect"))
+ {
+ mib[1] = PF_INET6;
+ mib[2] = IPPROTO_IPV6;
+ mib[3] = IPCTL_SENDREDIRECTS;
+ }
- if (sysctlbyname(name, &old, &len, &new, sizeof (new)) < 0)
+ if (sysctl(mib, 4, &old, &len, &new, sizeof (new)) < 0)
return -1;
+#else
+ if (sysctlbyname(name, &old, &len, &new, sizeof (new)) < 0)
+ return -1;
+#endif
return old;
}
@@ -122,14 +172,24 @@
first_time = 0;
// do not accept ICMP redirects
-
if (olsr_cnf->ip_version == AF_INET)
+#ifdef __OpenBSD__
+ name = "net.inet.icmp.rediraccept";
+#else
name = "net.inet.icmp.drop_redirect";
-
+#endif
else
+#ifdef __OpenBSD__
+ name = "net.inet6.icmp6.rediraccept";
+#else
name = "net.inet6.icmp6.drop_redirect";
+#endif
+#ifdef __OpenBSD__
+ ignore_redir = set_sysctl_int(name, 0);
+#else
ignore_redir = set_sysctl_int(name, 1);
+#endif
if (ignore_redir < 0)
{
@@ -152,7 +212,6 @@
fprintf(stderr, "Cannot disable outgoing ICMP redirect messages. Please disable them manually. Continuing in 3 seconds...\n");
sleep(3);
}
-
return 1;
}
@@ -178,10 +237,17 @@
// reset incoming ICMP redirects
if (olsr_cnf->ip_version == AF_INET)
+#ifdef __OpenBSD__
+ name = "net.inet.icmp.rediraccept";
+#else
name = "net.inet.icmp.drop_redirect";
-
+#endif
else
+#ifdef __OpenBSD__
+ name = "net.inet6.icmp6.rediraccept";
+#else
name = "net.inet6.icmp6.drop_redirect";
+#endif
set_sysctl_int(name, ignore_redir);

View File

@ -0,0 +1,12 @@
$OpenBSD: patch-src_cfgparser_Makefile,v 1.1.1.1 2005/05/22 14:44:45 robert Exp $
--- src/cfgparser/Makefile.orig Mon Mar 21 03:17:36 2005
+++ src/cfgparser/Makefile Wed May 18 01:16:36 2005
@@ -129,7 +129,7 @@ DEPFLAGS += -DMAKEBIN
endif
endif
-MAKEDEPEND = makedepend -f $(DEPFILE) $(DEPFLAGS) $(INCLUDES) $(SRCS) $(PIPETONULL)
+#MAKEDEPEND = makedepend -f $(DEPFILE) $(DEPFLAGS) $(INCLUDES) $(SRCS) $(PIPETONULL)
OBJS = olsrd_conf.o oparse.o oscan.o cfgfile_gen.o $(PORT_OBJS)
LIBS += $(PORT_LIBS)

View File

@ -0,0 +1,12 @@
$OpenBSD: patch-src_defs_h,v 1.1.1.1 2005/05/22 14:44:45 robert Exp $
--- src/defs.h.orig Fri Apr 1 07:14:22 2005
+++ src/defs.h Wed May 18 01:16:36 2005
@@ -160,7 +160,7 @@ int olsr_udp_port;
int ioctl_s;
/* routing socket */
-#if defined __FreeBSD__ || defined __MacOSX__ || defined __NetBSD__
+#if defined __FreeBSD__ || defined __MacOSX__ || defined __NetBSD__ || defined __OpenBSD__
int rts;
#endif

View File

@ -0,0 +1,21 @@
$OpenBSD: patch-src_main_c,v 1.1.1.1 2005/05/22 14:44:45 robert Exp $
--- src/main.c.orig Tue Mar 29 21:08:52 2005
+++ src/main.c Wed May 18 01:16:36 2005
@@ -256,7 +256,7 @@ main(int argc, char *argv[])
olsr_exit(__func__, 0);
}
-#if defined __FreeBSD__ || defined __MacOSX__ || defined __NetBSD__
+#if defined __FreeBSD__ || defined __MacOSX__ || defined __NetBSD__ || defined __OpenBSD__
if ((rts = socket(PF_ROUTE, SOCK_RAW, 0)) < 0)
{
olsr_syslog(OLSR_LOG_ERR, "routing socket: %m");
@@ -472,7 +472,7 @@ olsr_shutdown(int signal)
/* ioctl socket */
close(ioctl_s);
-#if defined __FreeBSD__ || defined __MacOSX__ || defined __NetBSD__
+#if defined __FreeBSD__ || defined __MacOSX__ || defined __NetBSD__ || defined __OpenBSD__
/* routing socket */
close(rts);
#endif

View File

@ -0,0 +1,12 @@
$OpenBSD: patch-src_olsr_types_h,v 1.1.1.1 2005/05/22 14:44:45 robert Exp $
--- src/olsr_types.h.orig Sun Feb 27 19:39:43 2005
+++ src/olsr_types.h Wed May 18 01:16:36 2005
@@ -65,7 +65,7 @@ typedef int8_t olsr_8_t;
typedef int16_t olsr_16_t;
typedef int32_t olsr_32_t;
-#elif defined __FreeBSD__ || defined __NetBSD__
+#elif defined __FreeBSD__ || defined __NetBSD__ || defined __OpenBSD__
typedef uint8_t olsr_u8_t;
typedef uint16_t olsr_u16_t;

View File

@ -0,0 +1,12 @@
$OpenBSD: patch-src_unix_ifnet_c,v 1.1.1.1 2005/05/22 14:44:45 robert Exp $
--- src/unix/ifnet.c.orig Mon Mar 7 20:17:02 2005
+++ src/unix/ifnet.c Wed May 18 01:16:36 2005
@@ -40,7 +40,7 @@
*/
-#if defined __FreeBSD__ || defined __MacOSX__ || defined __NetBSD__
+#if defined __FreeBSD__ || defined __MacOSX__ || defined __NetBSD__ || defined __OpenBSD__
#define ifr_netmask ifr_addr
#endif

4
net/olsrd/pkg/DESCR Normal file
View File

@ -0,0 +1,4 @@
The olsr.org OLSR daemon is an implementation of the Optimized Link
State Routing protocol. OLSR is a routing protocol for mobile ad-hoc
networks. The protocol is pro-active, table driven and utilizes a
technique called multipoint relaying for message flooding.

7
net/olsrd/pkg/MESSAGE Normal file
View File

@ -0,0 +1,7 @@
In order to start olsrd at boot time, edit ${SYSCONFDIR}/olsrd.conf and
add the following lines to /etc/rc.local:
if [ -x ${PREFIX}/sbin/olsrd ]; then
echo -n ' olsrd'; ${PREFIX}/sbin/olsrd
fi

12
net/olsrd/pkg/PLIST Normal file
View File

@ -0,0 +1,12 @@
@comment $OpenBSD: PLIST,v 1.1.1.1 2005/05/22 14:44:45 robert Exp $
@man man/man5/olsrd.conf.5
@man man/man8/olsrd.8
sbin/olsrd
share/doc/olsrd/
share/doc/olsrd/CHANGELOG
share/doc/olsrd/README
share/doc/olsrd/README-Link-Quality.html
share/examples/olsrd/
share/examples/olsrd/olsrd.conf.default.lq
share/examples/olsrd/olsrd.conf.default.rfc
@sample ${SYSCONFDIR}/olsrd.conf