From 1d531f550dc91548443d90ed04899c9b16a1ce50 Mon Sep 17 00:00:00 2001 From: "Eric S. Raymond" Date: Fri, 20 Feb 1998 17:05:51 +0000 Subject: Check NETSEC string at .fetchmailrc parse time. svn path=/trunk/; revision=1661 --- rcfile_y.y | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/rcfile_y.y b/rcfile_y.y index fa56cb2c..95ffa5c6 100644 --- a/rcfile_y.y +++ b/rcfile_y.y @@ -22,6 +22,10 @@ #endif #include +#if NET_SECURITY +#include +#endif /* NET_SECURITY */ + #include "fetchmail.h" /* parser reads these */ @@ -41,6 +45,10 @@ static struct query current; /* current server record */ static int prc_errflag; static struct hostdata *leadentry; static flag trailer; +#if NET_SECURITY +static net_security_operation request[NET_SECURITY_OPERATION_MAX]; +static int requestlen = NET_SECURITY_OPERATION_MAX; +#endif /* NET_SECURITY */ static void record_current(); static void user_reset(); @@ -165,10 +173,13 @@ serv_option : AKA alias_list | QVIRTUAL STRING {current.server.qvirtual=xstrdup($2);} | NETSEC STRING { #ifdef NET_SECURITY - current.server.netsec = - xstrdup($2); + if (net_security_strtorequest(options, request, &requestlen)) + yyerror("invalid security request"); + else + current.server.netsec = + xstrdup($2); #else - yyerror("Network-security support disabled") + yyerror("network-security support disabled") #endif /* NET_SECURITY */ } | INTERFACE STRING { -- cgit v1.2.3