[Webinar] Streamline your web hosting managementRegister Today

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1151
  • Last Modified:

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?
0
richsark
Asked:
richsark
1 Solution
 
käµfm³d 👽Commented:
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  = )
0
 
richsarkAuthor Commented:
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?
0
 
richsarkAuthor Commented:
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
0
Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

 
ozoCommented:
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?
0
 
richsarkAuthor Commented:
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

0
 
clockwatcherCommented:
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

0
 
clockwatcherCommented:
Your parens look like they may be a problem too.  Try:

 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" ) 
                )
             ) ;

Open in new window


0
 
richsarkAuthor Commented:
OK. Can it be scripted to fix all the files in a directory rather then manualy by hand?

Thanks all
0
 
richsarkAuthor Commented:
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

0

Featured Post

Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now