Link to home
Start Free TrialLog in
Avatar of richsark
richsarkFlag for United States of America

asked on

Cant figure out this unexpected token error

Hi,

I was wondering if someone can see what I am missing.


Parsing DHCP file error: line 135:143: unexpected token: >
Parsing DHCP file error: line 135:1216: unexpected char: '''

The contents from lines 135 are:

dhcpd.conf:                  ( suffix(option fqdn.fqdn, 9) = "fs.us" ) and
dhcpd.conf:                 "( not ( suffix(option fqdn.fqdn, 12 "="
dhcpd.conf:                  "( suffix(option fqdn.fqdn, 12) = "")
dhcpd.conf:# concerned) and its primary suffix dis.fs.us to update AD.
dhcpd.conf:# DNS suffix" and can be part of the PC DNS search order.

I can't seem to figure out who to fix it.

Any ideas?
Avatar of kaufmed
kaufmed
Flag of United States of America image

Did you have any code to go along with this? It's difficult to tell you where you went wrong if we don't know how you are doing it  = )
Avatar of richsark

ASKER

hi,

its actually a jar utility thats reading this file. My question is, on the file I told it to read, is it not formatted right vs wrong?

I was told:

Please don’t use brackets after NOT statement.

Please replace this “not (suffix(option fqdn.fqdn, 12) = "ds.fs.us")”

with “(not suffix(option fqdn.fqdn, 12) = "ds.fs.us")”

I thought I did, but I guess not?
can this be solved with the example I provided??? or perhaps someone put a different logic in place with my file, maybe the jar utility will like it??

Just a though...

Thanks
what is the jar utility thats reading the file?
Which of the 5 dhcpd.conf: lines you posted is line 135?
and can we see a little more context?
Its jar that was made by the company I work for.

line 135 was taken from one file dhcpd.conf

Here is  the whole file in case it helps
# dhcpd.conf
#
# FS DHCP beta-test version for R4 RO.  MT AC JC . Dec 2002.

# Option definitions common to all supported networks.

# Note to Adam:
# vi /etc/syslog.conf


# Local DNS servers for R4.
# These can be specified as DNS names or as IP addresses.
# Use of DNS names is recommended.
# -EDIT- for each office.
#option domain-name-servers sv15.r4.fs.us, sv5.r4.fs.us;
option domain-name-servers 166.2.100.74, 166.6.4.115;

# We'll also set the FQDN for the office here.  This will apply to
# all shared-network and subnet blocks, except those (such as for
# subunits) that override this value.  -EDIT- to office FQDN.
option domain-name "";

# Set the default and the maximum lease time to 7 days. 
default-lease-time 604800;
max-lease-time 604800;

# Set DDNS update mode.  The "interim" style is apparently the only one that
# actually works.
ddns-update-style interim;

# No bootp service.  "ignore" means don't serve, don't log.
ignore bootp;

# We can serve DHCP on all connected subnets listed below.
authoritative;

# We don't expect clients to decline offered addresses.
# If they do ignore the decline, to preserve addresses in pools.
# Ping-check for address in use.  On by default.  Specify anyway.
# ping-check true;

# Use a DNS TTL matching our default lease time.
ddns-ttl 7200;

# Always update DNS, so we can restore any DNS entries lost when site
# DNS info is rebuilt from /etc/hosts using DNSsetup.
update-optimization false;

# Don't let clients do DNS updates.  They will fail anyway due to
# DDNS security.
deny client-updates;

# Don't do DDNS updates by default.  Do only if specified in lease scope
ddns-updates false;

# Remove any old leases that have the same DHCP client id as
# a new lease being granted.
one-lease-per-client true;

# Log for testing
# Log facility set to LOCAL1 in includes/site.h
#log (info, concat("---> host-name.fqdn: ", option fqdn.fqdn));
#log (info, concat("---> hardware: ", binary-to-ascii(16, 8, ":", hardware)));
# log (info, concat("---> domain-name: ", option domain-name));
# log (info, concat("---> host-name: ", option host-name));
#log (info, concat("---> vendor-class-identifier: ", option vendor-class-identifier));
#log (info, option dhcp-client-identifier);
# log (info, concat("---> fqdn.fqdn: ", option fqdn.fqdn));

# Global DDNS TSIG key and subunit reverse zone configuration.  Do not edit
# -------------------------------------------------------------------------

# With the universal key, no per-zone configuration
# is required.

# DDNS update TSIG 'secret' key.
# Key definition in external file.  This one key is used
# for all FS updateable zones.
include "/etc/fs-dhcp-ddns.conf";

zone default.key.zone {
    key fs.dhcp.ddns.key.;
}

# Failover Configuration.
# -----------------------

# Include the appropriate failover file, or none if failover
# is not in use.  See the include files for details of the
# failover configuration.
# include "/etc/dhcpd-failover-ogd-sv15.conf";
# include "/etc/dhcpd-failover-ogd-sv9.conf";


# Class fs-pc.  Nothing to edit.
# -----------

# Define a class to match only Forest Service non-AD PCs and laptops.
# This tests for:
#  vendor-class is "MSFT 5.0"
#  hostname starts with PC or LT (or pc or lt)
#  FQDN provided and ends in "fs.us" (in lower-case)
#  FQDN does not end in "ds.fs.us"

# Note Win2000 only sends FQDN (opt 81) in Request, not in Discover,
# so we only check FQDN at Request time.

class "fs-pc" {

# Notes: (a) "match if" requires () around A = B terms.
#        (b) Comparisons are case-sensitive.
#        (c) dhcp-message-type (see page 124 of Droms & Lemon)
#           1 Discover
#           3 Request

# We accept PCs in fs.us but reject those in ds.fs.us,
# the latter being accepted in the fs-ad-pc class so that they
# can be given special DDNS status.

## For testing, we're checking for "ds.fs.us".  Replace
## with "ds.fs.us" for production.

 match if   ( option vendor-class-identifier = "MSFT 5.0") and
             (
                ( substring(option host-name, 0, 2) = "pc") or
                ( substring(option host-name, 0, 2) = "PC") or
                ( substring(option host-name, 0, 2) = "lt") or
                ( substring(option host-name, 0, 2) = "LT")
             )  and
             (
                ( option dhcp-message-type = 1) or
                (
                  (option dhcp-message-type = 3 ) and
                  ( suffix(option fqdn.fqdn, 9) = "fs.us" ) and
#                 "( not ( suffix(option fqdn.fqdn, 12 "="
#                )
             ) ;


# Log the client class match.
  log (info, "---> Request matches class fs-pc");

# Dynamic DNS section for class fs-pc.

# In order to get dynamic DNS records back into DNS after a DNSsetup,
# set T1 to one-half hour (T1 otherwise defaults to half the lease time).
  option dhcp-renewal-time 14400;

# For class fs-pc, do dynamic DNS updates.  The server does both A and PTR
# updates.
  ddns-updates true;

# For AD compatibility, we are no longer setting the ddns-domainname to
# the fqdn.domainname provided by the client.  Instead,the ddns-domainname
# used to update the organizational DNS zones in BIND9 is defined in the
# subnet{} block of the conf file in which the client has or is being offered
# its DHCP lease.
# We still have to let the PC tell us its hostname for DDNS updates though.
#  ddns-hostname = option fqdn.hostname;

# Set a flag to say server-side A rec updates only.
# Note we've modified ddns.c to give this flag a different use than the one
# stated in the dhcp.conf man page.  See the fs-ad-pc device class for more info.
  do-forward-updates false;

# Checking the "Register this connection's address in DNS" box in Win2000
# gets it to send the DHCP server an FQDN option (81), but it doesn't ask to get 81 back.
# The server will send it back anyway, per the draft FQDN option RFC.
# In any case, revise the param request list.  Even though it doesn't ask for 81, Win2000
# will obey the DNS update settings in this option if received.
# Win2000 asks for 1,15,3,6,44,46,47,31,33,43
# Include in server reply the ones that are useful, and add 81 even though it's not
# strictly necessary.
# Also add 58 to send the shortened renewal time T1, which Windows doesn't
# ask for either.
  option dhcp-parameter-request-list 1,3,6,15,58,81 ;

}

# class cleanup is only used temporarily when you need a clean log file.
#class "cleanup" {
#  match if (
#	        ( substring(option host-name, 0, 6) = "pcxxxx") or
#                ( substring(option host-name, 0, 9) = "lthism239") 
#               ( substring(option host-name, 0, 2) = "pc") or
#               ( substring(option host-name, 0, 2) = "Pc") or
#               ( substring(option host-name, 0, 2) = "PC") or
#               ( substring(option host-name, 0, 2) = "lt") or
#               ( substring(option host-name, 0, 2) = "Lt") or
#               ( substring(option host-name, 0, 2) = "LT")
#            );
# log(info, concat("---> Matched class cleanup: ",option host-name ));
#}


# Class fs-ad-pc.  This class is for FS PC clients that are in the AD domain.
# ------------

# This is essentially the same as class fs-pc, except
#  Client FQDN ends in "ds.fs.us"
#  Server updates A and PTR recs using the organizational domains
#  as for class fs-pc, sending the updates to BIND 9 servers.
#  Client is allowed to update AD, sending its A rec update for the
#  ds.fs.us zone to MS DNS.

class "fs-ad-pc" {

## For testing, we're checking for ds.fs.us.  Replace
## with ds.fs.us for production.

 match if   ( option vendor-class-identifier = "MSFT 5.0") and
             (
                ( substring(option host-name, 0, 2) = "pc") or
                ( substring(option host-name, 0, 2) = "PC") or
                ( substring(option host-name, 0, 2) = "lt") or
                ( substring(option host-name, 0, 2) = "LT")
             )  and
             (
#                ( option dhcp-message-type = 1) or
#                (

                  (option dhcp-message-type = 3 ) and
                  "( suffix(option fqdn.fqdn, 12) = "")
#                )

             ) ;

#  log (info, "---> Request matches class fs-ad-pc");
 log(info, concat("---> Request matches class fs-ad-pc: ",option host-name ));

  option dhcp-renewal-time 3600;
# For class fs-ad-pc, the server will do dynamic DNS updates.
  ddns-updates true;

# Set the flag saying "server tells client to do A rec update
# even though server is also doing it".
# Note that we still have the global "deny client-updates" set.
# This is necessary so that the server does the BIND 9 A and PTR
# updates correctly, using server-configured FQDNs to update the
# organizational zones.  This next flag says, let the client go
# ahead anyway.  See the modified ddns.c.
  do-forward-updates true;

# Use the client-provided hostname tacked onto the FQDN from
# the subnet for server-side A rec DDNS updates.  The client will
# use the same hostname (it's immutable as far as DHCP is
# concerned) and its primary suffix ds.fs.us to update AD.
  ddns-hostname = option fqdn.hostname;

# Improve client option request list as for class fs-pc
  option dhcp-parameter-request-list 1,3,6,15,58,81 ;


} # End of class fs-ad-pc


# Class lexmark-unconfig.  Nothing to edit.
# ----------------------

# This class is for Lexmark printers that have not yet had
# their hostname changed to start with "pr" or "PR".  We
# lease them an address for a short time but do not do
# any DDNS entries or updates.  This class is intended
# for temporary use to facilitate Lexmark printer configuration.

class "lexmark-unconfig" {

# Test for:
#  left half of MAC address is 000400
#  hostname begins with the Lexmark default "LXK"
  match if ( substring(option host-name, 0, 3) = "LXK") and
           (  substring(hardware, 0, 4) = 01:00:04:00 ) ;

# Configuration specific to this class.

# Log for testing.
  log (info, "---> Request matches class lexmark-unconfig");

# Set a short lease time.  For now, 1/2 hour.  With a short lease, the
# DHCP server will be able to reclaim the address quickly if the printer
# gets a new address after it has been configured.
  max-lease-time 1800;
  default-lease-time 1800;

# DDNS updates are off by default.  Don't turn on for this class.

# Lexmark printers (Optra Color 45, anyway) options
#  01 subnet mask
#  03 routers
#  07 log server (can't find any documentation on what they'd
#     send to a log server.  Ignore this).
#  0C host name
#  2c Netbios name server
#  33 Lease time
#  36 DHCP server id (server IP address)
#  3A T1 (renewal time)
#  3B T2 (rebinding time)
# There doesn't appear to be any need to change this option list.

}

# Class fs-lexmark.  Nothing to edit.
# -----------------

# This class is for Lexmark printers that have their
# hostname set to start with "pr" or "PR".  We lease
# an address with a reasonably long lease time and
# make DDNS updates.

class "fs-lexmark" {

# Test for:
#  left half of MAC address is 000400
#  hostname begins with "pr" or "PR"
  match if (
             ( substring(option host-name, 0, 2) = "pr") or
             ( substring(option host-name, 0, 2) = "PR")
           ) and
           (  substring(hardware, 0, 4) = 01:00:04:00 ) ;

# Configuration specific to this class
# Log class match.
  log (info, "---> Request matches class fs-lexmark");

# Use the global lease time.
# But set renew in 1/2 hour as for PCs, to get DDNS info renewed.
  option dhcp-renewal-time 1800;

# For class fs-lexmark, do dynamic DNS updates.
#  ddns-updates true;

# These devices don't send an FQDN option and wouldn't know
# what to do with such an option if the server returned it.

# For DDNS domain name use the FQDN set for each subnet{}, as for PCs.

# For DDNS use the "prxxxx" host name provided by the client.
  ddns-hostname = option host-name;

}

# Class fs-hp-etherjet.  Nothing to edit.
# --------------------

## Still experimental as not enough HP devices tested yet.

# This class is for HP Etherjet adaptors (internal or
# external) that have their hostname set to start with
# "PR" or "PL".  These can be in or connected to HP
# printers or plotters.
#
# Note that HP in its wisdom(?) doesn't allow lower-case
# hostnames, so we don't bother checking for same.
#
# We lease an address with a reasonably long lease time and
# make DDNS updates.
class "fs-hp-etherjet" {

# Test for:
#  vendor class identifier = "Hewlett-Packard JetDirect".
#    Do they all send this?  HP, like Lexmark, provides no documentation
#    on its DHCP implementation.
#  hostname begins with "PR" or "PL"
  match if (
             ( substring(option host-name, 0, 2) = "PR") or
             ( substring(option host-name, 0, 2) = "PL")
           ) and
           ( option vendor-class-identifier = "Hewlett-Packard JetDirect");

# Configuration specific to this class.

# Log device class match.
  log (info, "---> Request matches class fs-hp-etherjet");

# Use the global lease time.
# But set renew in 1/2 hour as for PCs, to get DDNS info renewed.
# Note that some JetDirect adapters ignore T1.
  option dhcp-renewal-time 1800;

# For this class, do dynamic DNS updates.
  ddns-updates true;

# HP external EtherJet J3263A "JetDirect" box asks for these options:
#  1, 3, 7, 44, 51, 54, 58, 59, 12, 15, 144, and in the Request (but
# not Discover) for 81.

# Since it's asking for 81 (FQDN), tell it not to do DDNS updates.
  option fqdn.no-client-update true;
  option fqdn.server-update true;
# Actually for reasons unclear the ISC dhcpd doesn't send option 81 back
# to this client.  In any case the HP client has requested the server to
# do the A rec DDNS update, which is what we're going to do anyway,
# so it doesn't matter.

# For DDNS domain name use the FQDN set in each subnet{} block, as for PCs.

# For DDNS use the "PRXXXX" or "PLXXXX" host name provided by the client.
  ddns-hostname = option host-name;

}

# Class Cisco AP c1130
class "Cisco-AP-c1130" {
  match if (option vendor-class-identifier = "Cisco AP c1130");
  log (info, "---> Request matches class Cisco-AP-c1130");
  }

# Class Cisco AP c1140
class "Cisco-AP-c1140" {
  match if (option vendor-class-identifier = "Cisco AP c1140");
  log (info, "---> Request matches class Cisco-AP-c1140");
  }

# Class Cisco AP c1240
class "Cisco-AP-c1240" {
  match if (option vendor-class-identifier = "Cisco AP c1240");
  log (info, "---> Request matches class Cisco-AP-c1240");
  }

#$ Regional Office 
shared-network R4RO {

  ddns-domainname = "";

  subnet 166.2.96.0 netmask 255.255.240.0 {

# Create a pool of leasable addresses.  We need a pool even if there's
# only one address range, so we can use a class "allow"
    pool {

# Allow only fs Service PCs to get DHCP addresses here.
# This implicitly denies all others.
      allow members of "fs-pc";
      allow members of "fs-ad-pc";
      allow members of "lexmark-unconfig";
      allow members of "fs-lexmark";
      allow members of "fs-hp-etherjet";
    #  allow members of "printers";

# Enable dynamic failover for this pool
# 	failover peer "ogd";

# Next needed for dhcpd failover; harmless if no failover.
      deny dynamic bootp clients;

# The address range reserved for DHCP leases.  -EDIT-.  Note there
# can be multiple ranges in a pool.

      range 166.2.109.0 166.2.111.250;
      range 166.2.97.1 166.2.97.254;
      range 166.2.99.1 166.2.99.254;

# Router for this network address segment
# -EDIT- for local conditions.
      option routers 166.2.100.62;
# Per-office FQDN.  On the PC this becomes the "Connection-specific
# DNS suffix" and can be part of the PC DNS search order.
# -EDIT- to be the local office FQDN.
      option domain-name "";

# Lease time.  Give local (home-office) clients the lease they request,
# or the default if they don't request a specific lease duration,
# up to our configured max-lease-time.  Give visitors 4 hours.
# Also shorten DNS TTL for visitor's DDNS entries.
# -EDIT- next to contain local office FQDN
     if (not (option fqdn.domainname = "")) {
        option dhcp-lease-time 14400;
        log(info, concat("----> Shortening the lease time for visitor: ", option fqdn.domainname ));
	ddns-ttl 7200;
      }
# Set the renewal time to 1/2 hour for now, to get DDNS updates reinserted
# after DNSsetup is run.  Later do something better.
      option dhcp-renewal-time 1800;

# Log the class of client -- how?
#     log(info, concat("----> Class matched is: ", option server.class));


# Dynamic DNS section.  Do not edit.
# For this address pool, do dynamic DNS updates.
# ALC      ddns-updates true;
# For DDNS use the domain name provided by the client
# ALC      ddns-domainname  = option fqdn.domainname;
# ALC      ddns-hostname = option fqdn.hostname;
# The following 2 lines may be redundant with 'deny client-updates'.
# ALC      option fqdn.no-client-update true;
# ALC      option fqdn.server-update true;
# Checking the "Register this connection's address in DNS" box in Win2000
# gets it to send the DHCP server an FQDN option (81), but it doesn't ask to get 81 back.
# Fix by revising the param request list.  Even though it doesn't ask for 81, Win2000
# will obey the DNS update settings in this option if received.
# Win2000 asks for 1,15,3,6,44,46,47,31,33,43
# Include the ones that are useful and add 81
# ALC      option dhcp-parameter-request-list 1,3,6,15,81 ;

    } # End of pool of address range(s) for FS PCs 

  }   # End of subnet 


} # End of shared network R4RO

# ------------------------------------------------------------------------------------
#Include Ogden FSL and RD
include "/etc/dhcpd.conf.ogdenfsl.in";

#--------------------------------------------------------------------------------------
# Add other shared networks and/or subnets here
#--------------------------------------------------------------------------------------
#Include Ogden Airport
include "/etc/dhcpd.conf.airport.in";

#Include Bues 
include "/etc/dhcpd.conf.bues.in";

#Include Ashley NF
include "/etc/dhcpd.conf.ashleyso.in";

#Include Ashley Warehouse
include "/etc/dhcpd.conf.ashleywarehouse.in"; 

#Include Flaming Gorge NRA
include "/etc/dhcpd.conf.flaminggorgenra.in";

#Include Roosevelt RD
include "/etc/dhcpd.conf.rooseveltrd.in"; 

#Include Duchenes RD
include "/etc/dhcpd.conf.duchenesrd.in";

#Include Roosevelt Annex
include "/etc/dhcpd.conf.rooseveltannex.in";

#Include Dutch John
include "/etc/dhcpd.conf.dutchjohn.in";

#Include Helibase-Ashley 
include "/etc/dhcpd.conf.helibaseashley.in";

#Include Boise NF
include "/etc/dhcpd.conf.boiseso.in";

#Include Lucky Peak Nursery
include "/etc/dhcpd.conf.luckypeak.in";
 
#Include Boise Warehouse
include "/etc/dhcpd.conf.boisewarehouse.in";

#Include Mountain Home RD
include "/etc/dhcpd.conf.mountainhomerd.in";

#Include Idaho City RD 
include "/etc/dhcpd.conf.idahocityrd.in";

#Include Hotshot Idaho City 
include "/etc/dhcpd.conf.hotshot-idahocity.in";

#Include Cascade RD
include "/etc/dhcpd.conf.cascaderd.in";

#Include Lowman RD
include "/etc/dhcpd.conf.lowmanrd.in";
 
#Include Garden Valley
include "/etc/dhcpd.conf.gardenvalley.in";

#Include Emmett RD
include "/etc/dhcpd.conf.emmettrd.in";

#Include Post Office
include "/etc/dhcpd.conf.postoffice.in";

#Include BAT
include "/etc/dhcpd.conf.bat.in";

#Include Bridger-Teton NF 
include "/etc/dhcpd.conf.bridger-tetonso.in"; 

#Include Helibase Jackson 
include "/etc/dhcpd.conf.helibase-jackson.in";

#Include Wildlife-office 
include "/etc/dhcpd.conf.wildlife-office.in";

#Include Moose Dispatch
include "/etc/dhcpd.conf.moosedispatch.in";

#Include Buffalo RD 
include "/etc/dhcpd.conf.buffalord.in";

#Include Kemmerer RD
include "/etc/dhcpd.conf.kemmererrd.in"; 

#Include Greys River RD 
include "/etc/dhcpd.conf.greysriverrd.in";

#Include Big Piney RD 
include "/etc/dhcpd.conf.bigpineyrd.in";

#Include Pinedale RD
include "/etc/dhcpd.conf.pinedalerd.in";

#Include Caribou-Targhee NF 
include "/etc/dhcpd.conf.caribou-targheeso.in";

#Include Montpelier
include "/etc/dhcpd.conf.montpelierrd.in";

#Include Soda Spring RD
include "/etc/dhcpd.conf.sodaspringsrd.in";

#Include Malad RD
include "/etc/dhcpd.conf.maladrd.in"; 

#Include Pocatello RD
include "/etc/dhcpd.conf.pocatellord.in"; 

#Include Dubois RD
include "/etc/dhcpd.conf.duboisrd.in";

#Include Island Park RD
include "/etc/dhcpd.conf.islandparkrd.in";

#Include Ashton RD
include "/etc/dhcpd.conf.ashtonrd.in"; 

#Include Palisades RD
include "/etc/dhcpd.conf.palisadesrd.in";

#Include Palisades Visitor Center 
include "/etc/dhcpd.conf.palisadesvc.in";

#Include Teton RD
include "/etc/dhcpd.conf.tetonrd.in"; 

#Include Targhee Warehouse 
include "/etc/dhcpd.conf.targheewarehouse.in";

#Include Dixie NF 
include "/etc/dhcpd.conf.dixieso.in";

#Include Dixie Fire Dispatch
include "/etc/dhcpd.conf.dixiefiredispatch.in";

#Include Escalante RD
include "/etc/dhcpd.conf.escalanterd.in";  

#Include Pine Valley RD
include "/etc/dhcpd.conf.pinevalleyrd.in";

#Include Powell RD
include "/etc/dhcpd.conf.powellrd.in"; 

##Include Teasdale RD
include "/etc/dhcpd.conf.teasdalerd.in"; 

#Include Fishlake NF
include "/etc/dhcpd.conf.fishlakeso.in";

#Include Fillmore RD
include "/etc/dhcpd.conf.fillmorerd.in";

#Include Loa RD
include "/etc/dhcpd.conf.loard.in";

#Include Beaver RD
include "/etc/dhcpd.conf.beaverrd.in";

#Include Richfield Dispatch
include "/etc/dhcpd.conf.richfielddisp.in";

#Include Richfield Warehouse 
include "/etc/dhcpd.conf.richfieldwarehouse.in";

#Include FillmoreFS 
include "/etc/dhcpd.conf.fillmorefs.in";

#Include FireStationBLM
include "/etc/dhcpd.conf.firestationblm.in";

#Include Humboldt-Toiyabe SO in Sparks, Nv 
include "/etc/dhcpd.conf.humboldt-toiyabeso.in";

#Include Carson RD
include "/etc/dhcpd.conf.carsonrd.in";

#Include Tonopah RD
include "/etc/dhcpd.conf.tonopahrd.in";

#Include Austin RD
include "/etc/dhcpd.conf.austinrd.in";

#Include Spring Mountain NRA  
include "/etc/dhcpd.conf.smnra.in";

#Include Spring Mountain - annex
include "/etc/dhcpd.conf.smnra-annex.in";

#Include Bridgeport RD
include "/etc/dhcpd.conf.bridgeportrd.in";

#Include Markleeville
include "/etc/dhcpd.conf.markleeville.in";

#Include Parumph
include "/etc/dhcpd.conf.parumph.in";

#Include Mountain Springs 
include "/etc/dhcpd.conf.mntsprings.in";

#Include Indian Springs
include "/etc/dhcpd.conf.indiansprings.in";

#Include NERS (NE Lab at UNLV)
include "/etc/dhcpd.conf.ners.in";

#Include Reno FSL
include "/etc/dhcpd.conf.renofsl.in";

#Include Minden 
include "/etc/dhcpd.conf.minden.in";

#Include Elk Dispatch
include "/etc/dhcpd.conf.elkdispatch.in";

#Include Las Vegas Dispatch
include "/etc/dhcpd.conf.lasvegasdispatch.in";

#Include Winnemucca Dispatch
include "/etc/dhcpd.conf.winnemuccadispatch.in";

#Include Elko - NNECO 
include "/etc/dhcpd.conf.elko.in";

#Include Ely RD
include "/etc/dhcpd.conf.elyrd.in";

#Include Mountain City RD
include "/etc/dhcpd.conf.mountaincityrd.in";

#Include Ruby Mountain RD
include "/etc/dhcpd.conf.rubymntrd.in";

#Include Santa Rosa RD
include "/etc/dhcpd.conf.santarosard.in";

#Include Manti-Lasal SO
include "/etc/dhcpd.conf.manti-lasalso.in"; 

#Include Sanpete RD 
include "/etc/dhcpd.conf.sanpeterd.in";

#Include Ferron RD
include "/etc/dhcpd.conf.ferronrd.in";

#Include Moab RD 
include "/etc/dhcpd.conf.moabrd.in";

#Include Monticello RD 
include "/etc/dhcpd.conf.monticellord.in";

#Include Fire Station 
include "/etc/dhcpd.conf.firestation.in";

#Include Payette1 NF
include "/etc/dhcpd.conf.payette1so.in"; 

#Include Payette2 NF
include "/etc/dhcpd.conf.payette2so.in";

#Include Payette3 NF 
include "/etc/dhcpd.conf.payette3so.in";

#Include Payette4 NF
include "/etc/dhcpd.conf.payette4so.in";

#Include Smoke Jumper
include "/etc/dhcpd.conf.smokejumper.in"; 

#Include Krassell RD
include "/etc/dhcpd.conf.krassellrd.in";

#Include McCall RD
include "/etc/dhcpd.conf.mccallrd.in";

#Include Council RD
include "/etc/dhcpd.conf.councilrd.in";

#Include New Meadows RD
include "/etc/dhcpd.conf.newmeadowsrd.in";
 
#Include Weiser RD
include "/etc/dhcpd.conf.weiserrd.in";

#Include Salmon SO, Compound, Dispatch
include "/etc/dhcpd.conf.salmon-challisso.in";

#Include Challis Compound 
include "/etc/dhcpd.conf.challiscompound.in";

#Include Challis Helibase
include "/etc/dhcpd.conf.challishelibase.in";

#Include North Fork RD
include "/etc/dhcpd.conf.northforkrd.in";

#Include Yankee Fork RD
include "/etc/dhcpd.conf.yankeeforkrd.in";

#Include Lost River RD
include "/etc/dhcpd.conf.lostriverrd.in";

#Include Leadore RD
include "/etc/dhcpd.conf.leadorerd.in";

#Include Salmon-Colbalt RD
include "/etc/dhcpd.conf.salmon-colbaltrd.in";

#Include Moyer WC
include "/etc/dhcpd.conf.scmoyerwc.in";

#Include Sawtooth NF
include "/etc/dhcpd.conf.sawtoothso.in";

#Include Minidoka RD 
include "/etc/dhcpd.conf.minidokard.in";

#Include Fairfield RD
include "/etc/dhcpd.conf.fairfieldrd.in"; 

#Include Sawtooth NRA
include "/etc/dhcpd.conf.sawtoothnra.in";

#Include Stanley WC
include "/etc/dhcpd.conf.stanleywc.in"; 

#Include Ketchum RD 
include "/etc/dhcpd.conf.ketchumrd.in";

#Include Sawtooth CM
include "/etc/dhcpd.conf.sawtoothcm.in";

#Include Shoshone Dispatch
include "/etc/dhcpd.conf.shoshonedispatch.in";

#Include Uinta NF
include "/etc/dhcpd.conf.uintaso.in"; 

#Include Heber RD
include "/etc/dhcpd.conf.heberrd.in";

#Inculde Nephi RD
include "/etc/dhcpd.conf.nephird.in";

#Include Pleasant Grove RD
include "/etc/dhcpd.conf.pleasantgroverd.in";

#Include Spanish Fork RD
include "/etc/dhcpd.conf.spanishforkrd.in";

#Include American Fork Work Center (May not be in use)
include "/etc/dhcpd.conf.americanforkwc.in";

#Include American Fork - Work Center
include "/etc/dhcpd.conf.americanfork-wc.in";

#Include Provo FSL
include "/etc/dhcpd.conf.provofsl.in";

#Include Camp Williams
include "/etc/dhcpd.conf.campwilliams.in";

#Include Wasatch-Cache NF
include "/etc/dhcpd.conf.wasatch-cacheso.in";

#Include SLIFC
include "/etc/dhcpd.conf.slifc.in";

#Include Salt Lake RD 
include "/etc/dhcpd.conf.saltlakerd.in";

#Include EvanstonRD
include "/etc/dhcpd.conf.evanstonrd.in";

#Include Moutain View RD 
include "/etc/dhcpd.conf.mountainviewrd.in";

#Include Kamas RD
include "/etc/dhcpd.conf.kamasrd.in";

#Include Logan RD 
include "/etc/dhcpd.conf.loganrd.in";

#Include Logan FSL
include "/etc/dhcpd.conf.loganfsl.in";

#Include Boise FSL
include "/etc/dhcpd.conf.boisefsl.in"; 

#Include Moscow FSL
include "/etc/dhcpd.conf.moscowfsl.in";

#Include EBC section
include "/etc/dhcpd.conf.ebc.in";

#Include CAT
include "/etc/dhcpd.conf.cat.in";

#Include GSTC 
include "/etc/dhcpd.conf.gstc.in";

# Block off Cisco Catalyst switches, detected by the first half
# of their MAC address.
# They will grab a DHCP address but don't obey the lease
# timeout, apparently keeping the address forever.  
if substring(hardware, 0, 4) = 01:00:50:f0 {
  deny booting;
}

# As a recommended safety measure, block Microsoft RAS devices.
# They have a habit of stealing large quantities of addresses
# from DHCP, repeating until none are left.
# These next two tests may be equivalent ways to detect NT RAS.
if substring (option dhcp-client-identifier, 0, 4) = "RAS " {
  deny booting;
}
if substring (hardware, 1, 4) = "RAS " {
  deny booting;
}
# Block Win2000 RAS too
if substring (option user-class, 0, 4) = "RRAS" {
  deny booting;
}

# Tivoli
# ------

# Special subnet and fixed host for Tivoli monitoring of
# this DHCP daemon.  Do not edit.

#$ Tivoli Monitor at MCI
subnet 165.221.40.0 netmask 255.255.255.0 {
  host svmcirms001. {
        hardware ethernet 00:11:25:e6:64:92;
        fixed-address 165.221.40.132;
  }
}

#$ Tivoli Monitor at ABQ
subnet 166.3.68.0 netmask 255.255.255.0 {
  host r3tmr1. {
        hardware ethernet 00:11:25:bf:f0:f4;
        fixed-address 166.3.68.6;
  }
}

Open in new window

Avatar of clockwatcher
clockwatcher

Looks like you may have an 'and' in your config file that shouldn't be there:

             (
                ( option dhcp-message-type = 1) or
                (
                  (option dhcp-message-type = 3 ) and
                  ( suffix(option fqdn.fqdn, 9) = "fs.us" ) and
#                 "( not ( suffix(option fqdn.fqdn, 12 "="
#                )
             ) ;


Looks like it should probably be:

             (
                ( option dhcp-message-type = 1) or
                (
                  (option dhcp-message-type = 3 ) and
                  ( suffix(option fqdn.fqdn, 9) = "fs.us" ) 
#                 "( not ( suffix(option fqdn.fqdn, 12 "="
#                )
             ) ;

Open in new window

ASKER CERTIFIED SOLUTION
Avatar of clockwatcher
clockwatcher

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
OK. Can it be scripted to fix all the files in a directory rather then manualy by hand?

Thanks all
Hi Folks,

Man.... this is giving me such a hard time. Still looks like token issues on some other lines now

Is there a way to mass fix these if all my files are the same??

.. (( Perhaps another thread )) when we get past these.

I appreciate all your help thus far !!!

Parsing DHCP file error: line 337:19: unexpected token: option

Parsing DHCP file error: line 356:24: unexpected token: {

Parsing DHCP file error: line 363:12: unexpected token: (

Parsing DHCP file error: line 364:25: unexpected token: (

Parsing DHCP file error: line 364:42: unexpected token: ,

Parsing DHCP file error: line 364:48: expecting SEMI, found ')'

Parsing DHCP file error: line 365:14: unexpected token: (

Parsing DHCP file error: line 365:25: unexpected token: (

Parsing DHCP file error: line 365:42: unexpected token: ,

Parsing DHCP file error: line 365:48: expecting SEMI, found ')'

Parsing DHCP file error: line 367:12: unexpected token: (

Parsing DHCP file error: line 367:74: expecting SEMI, found ')'

Parsing DHCP file error: line 397:19: unexpected token: option

Open in new window