File openslp.doubleequal.diff of Package openslp.3206

--- ./slpd/slpd_predicate.c.orig	2014-12-15 14:11:36.181812237 +0000
+++ ./slpd/slpd_predicate.c	2014-12-15 14:20:00.441759165 +0000
@@ -66,6 +66,7 @@
 #include "slp_xmalloc.h"
 
 #include "slpd_predicate.h"
+#include "slpd_property.h"
 
 /* Parse character definitions. */
 #define BRACKET_OPEN '('
@@ -1633,6 +1634,11 @@ SLPDPredicateParseResult createPredicate
                op = EQUAL;
       }
 
+      if (op == EQUAL && G_SlpdProperty.allowDoubleEqualInPredicate && operator[1] == '=')
+      {
+         val_start++;
+      }
+
       /***** Get operands. *****/
       /**** Left. ****/
       lhs_len = operator - cur;
--- ./slpd/slpd_property.c.orig	2014-12-15 14:09:49.294246247 +0000
+++ ./slpd/slpd_property.c	2014-12-15 14:11:21.587871548 +0000
@@ -250,6 +250,7 @@ void SLPDPropertyReinit(void)
    G_SlpdProperty.myHostnameLen = strlen(G_SlpdProperty.myHostname);
 
    G_SlpdProperty.hardMTU = SLPPropertyAsBoolean("net.slp.hardMTU");
+   G_SlpdProperty.allowDoubleEqualInPredicate = SLPPropertyAsBoolean("net.slp.allowDoubleEqualInPredicate");
 
    G_SlpdProperty.DASyncReg = SLPPropertyAsBoolean("net.slp.DASyncReg");
    G_SlpdProperty.isDABackup = SLPPropertyAsBoolean("net.slp.isDABackup");
--- ./slpd/slpd_property.h.orig	2014-12-15 14:09:43.647269171 +0000
+++ ./slpd/slpd_property.h	2014-12-15 14:10:24.932101603 +0000
@@ -118,6 +118,7 @@ typedef struct _SLPDProperty
    int useDHCP;
    int oversizedUDP;
    int hardMTU;
+   int allowDoubleEqualInPredicate;
 
    int DASyncReg;
    int isDABackup;