+ if( strcasecmp( Var, "AdminEMail" ) == 0 ) {
+ /* Administrative email contact */
+ len = strlcpy( Conf_ServerAdminMail, Arg, sizeof( Conf_ServerAdminMail ));
+ if (len >= sizeof( Conf_ServerAdminMail ))
+ Config_Error_TooLong( Line, Var );
+ return;
+ }
+
+ if( strcasecmp( Var, "Ports" ) == 0 ) {
+ ports_parse(&Conf_ListenPorts, Line, Arg);
+ return;
+ }
+ if( strcasecmp( Var, "MotdFile" ) == 0 ) {
+ /* "Message of the day" (MOTD) file */
+ len = strlcpy( Conf_MotdFile, Arg, sizeof( Conf_MotdFile ));
+ if (len >= sizeof( Conf_MotdFile ))
+ Config_Error_TooLong( Line, Var );
+ return;
+ }
+ if( strcasecmp( Var, "MotdPhrase" ) == 0 ) {
+ /* "Message of the day" phrase (instead of file) */
+ len = strlcpy( Conf_MotdPhrase, Arg, sizeof( Conf_MotdPhrase ));
+ if (len >= sizeof( Conf_MotdPhrase ))
+ Config_Error_TooLong( Line, Var );
+ return;
+ }
+ if( strcasecmp( Var, "ChrootDir" ) == 0 ) {
+ /* directory for chroot() */
+ len = strlcpy( Conf_Chroot, Arg, sizeof( Conf_Chroot ));
+ if (len >= sizeof( Conf_Chroot ))
+ Config_Error_TooLong( Line, Var );
+ return;
+ }
+ if ( strcasecmp( Var, "PidFile" ) == 0 ) {
+ /* name of pidfile */
+ len = strlcpy( Conf_PidFile, Arg, sizeof( Conf_PidFile ));
+ if (len >= sizeof( Conf_PidFile ))
+ Config_Error_TooLong( Line, Var );
+ return;
+ }
+ if( strcasecmp( Var, "ServerUID" ) == 0 ) {
+ /* UID the daemon should switch to */
+ pwd = getpwnam( Arg );
+ if( pwd ) Conf_UID = pwd->pw_uid;
+ else {
+#ifdef HAVE_ISDIGIT
+ if( ! isdigit( (int)*Arg )) Config_Error_NaN( Line, Var );
+ else
+#endif
+ Conf_UID = (unsigned int)atoi( Arg );
+ }
+ return;
+ }
+ if( strcasecmp( Var, "ServerGID" ) == 0 ) {
+ /* GID the daemon should use */
+ grp = getgrnam( Arg );
+ if( grp ) Conf_GID = grp->gr_gid;
+ else {
+#ifdef HAVE_ISDIGIT
+ if( ! isdigit( (int)*Arg )) Config_Error_NaN( Line, Var );
+ else
+#endif
+ Conf_GID = (unsigned int)atoi( Arg );
+ }
+ return;
+ }
+ if( strcasecmp( Var, "PingTimeout" ) == 0 ) {
+ /* PING timeout */