From d3397cd37d9726c331db9b015372b13ad2277b8c Mon Sep 17 00:00:00 2001
From: Mark Spencer <markster@digium.com>
Date: Mon, 19 Jul 2004 18:09:33 +0000
Subject: [PATCH] Don't copmile in the no-RTP checksum stuff for non-Linux (bug
 #2089)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@3480 65c4cc65-6c06-0410-ace0-fbb531ad65f3
---
 rtp.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/rtp.c b/rtp.c
index 2b7dec0a3a..3d0c513886 100755
--- a/rtp.c
+++ b/rtp.c
@@ -52,7 +52,9 @@ static int dtmftimeout = 3000;	/* 3000 samples */
 
 static int rtpstart = 0;
 static int rtpend = 0;
+#ifdef SO_NO_CHECK
 static int checksums = 1;
+#endif
 
 /* The value of each payload format mapping: */
 struct rtpPayloadType {
@@ -766,9 +768,11 @@ static int rtp_socket(void)
 	if (s > -1) {
 		flags = fcntl(s, F_GETFL);
 		fcntl(s, F_SETFL, flags | O_NONBLOCK);
+#ifdef SO_NO_CHECK
 		if (checksums) {
 			setsockopt(s, SOL_SOCKET, SO_NO_CHECK, &checksums, sizeof(checksums));
 		}
+#endif
 	}
 	return s;
 }
@@ -1494,7 +1498,9 @@ void ast_rtp_reload(void)
 	char *s;
 	rtpstart = 5000;
 	rtpend = 31000;
+#ifdef SO_NO_CHECK
 	checksums = 1;
+#endif
 	cfg = ast_load("rtp.conf");
 	if (cfg) {
 		if ((s = ast_variable_retrieve(cfg, "general", "rtpstart"))) {
@@ -1512,10 +1518,15 @@ void ast_rtp_reload(void)
 				rtpend = 65535;
 		}
 		if ((s = ast_variable_retrieve(cfg, "general", "rtpchecksums"))) {
+#ifdef SO_NO_CHECK
 			if (ast_true(s))
 				checksums = 1;
 			else
 				checksums = 0;
+#else
+			if (ast_true(s))
+				ast_log(LOG_WARNING, "Disabling RTP checksums is not supported on this operating system!\n");
+#endif
 		}
 		ast_destroy(cfg);
 	}
-- 
GitLab