File novell-ipsec-tools_plugins-support-racoon.conf.patch of Package novell-ipsec-tools

Index: ipsec-tools-0.7.1/src/racoon/racoon.conf.5
===================================================================
--- ipsec-tools-0.7.1.orig/src/racoon/racoon.conf.5
+++ ipsec-tools-0.7.1/src/racoon/racoon.conf.5
@@ -241,6 +241,22 @@ It must be defined at each
 .Ic remote
 directive.
 .\"
+.Ss Plugins Support
+.Bl -tag -width Ds -compact
+.It Ic plugin { Ar statements Ic }
+This section specifies plugins' support for racoon.
+.Pp
+.Bl -tag -width Ds -compact
+.It Ic plugins_support Ar (on | off) ;
+Enable plugins' support for racoon, the default value is off.
+.It Ic plugins_load Ar (file | path) ;
+Specifies a share object(.so) file or a path where all share
+object files will be searched and loaded when
+.Xr racoon 8
+start up.
+.El
+.El
+.\"
 .Ss Timer Specification
 .Bl -tag -width Ds -compact
 .It Ic timer { Ar statements Ic }
Index: ipsec-tools-0.7.1/src/racoon/cftoken.l
===================================================================
--- ipsec-tools-0.7.1.orig/src/racoon/cftoken.l
+++ ipsec-tools-0.7.1/src/racoon/cftoken.l
@@ -138,6 +138,7 @@ hexstring	0x{hexdigit}+
 %s S_RMT S_RMTS S_RMTP
 %s S_SA
 %s S_GSSENC
+%s S_PLUGIN
 
 %%
 %{
@@ -383,6 +384,13 @@ hexstring	0x{hexdigit}+
 				return(GSS_ID_ENCTYPE); }
 <S_GSSENC>{semi}	{ BEGIN S_INI; YYDB; return(EOS); }
 
+	/* plugin */
+<S_INI>plugin           { BEGIN S_PLUGIN; YYDB; return(PLUGIN); }
+<S_PLUGIN>{bcl}            { return(BOC); }
+<S_PLUGIN>plugins_support  { YYD; return(PLUGIN_SUPPORT); }
+<S_PLUGIN>load             { YYD; return(PLUGIN_LOAD); }
+<S_PLUGIN>{ecl}            { BEGIN S_INI; return(EOC); }
+
 	/* parameter */
 on		{ YYD; yylval.num = TRUE; return(SWITCH); }
 off		{ YYD; yylval.num = FALSE; return(SWITCH); }
Index: ipsec-tools-0.7.1/src/racoon/cfparse.y
===================================================================
--- ipsec-tools-0.7.1.orig/src/racoon/cfparse.y
+++ ipsec-tools-0.7.1/src/racoon/cfparse.y
@@ -235,6 +235,8 @@ static int fix_lifebyte __P((u_long));
 
 %token SCRIPT PHASE1_UP PHASE1_DOWN
 
+%token PLUGIN PLUGIN_SUPPORT PLUGIN_LOAD
+
 %token NUMBER SWITCH BOOLEAN
 %token HEXSTRING QUOTEDSTRING ADDRSTRING ADDRRANGE
 %token UNITTYPE_BYTE UNITTYPE_KBYTES UNITTYPE_MBYTES UNITTYPE_TBYTES
@@ -275,6 +277,7 @@ statement
 	|	timer_statement
 	|	sainfo_statement
 	|	remote_statement
+	|	plugin_statement
 	|	special_statement
 	;
 
@@ -1120,6 +1123,33 @@ timer_stmt
 	;
 
 	/* sainfo */
+plugin_statement
+	:	PLUGIN BOC plugin_stmts EOC
+	;
+plugin_stmts
+	:	/* nothing */
+	|	plugin_stmts plugin_stmt
+	;
+plugin_stmt
+	:	PLUGIN_SUPPORT SWITCH EOS
+		{
+#ifdef PLUGINS_SUPPORT
+			lcconf->plugins_support = $2;
+#else
+			yywarn("plugins support not compiled in");
+#endif
+		}
+	|	PLUGIN_LOAD QUOTEDSTRING EOS
+		{
+#ifdef PLUGINS_SUPPORT
+			lcconf->plugins_path = $2->v;
+#else
+			yywarn("plugins support not compiled in");
+#endif
+		}
+	;
+
+	/* sainfo */
 sainfo_statement
 	:	SAINFO
 		{
openSUSE Build Service is sponsored by