File:  [ELWIX - Embedded LightWeight unIX -] / embedaddon / dnsmasq / contrib / wrt / lease_update.sh
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs - revision graph
Mon Jul 29 19:37:40 2013 UTC (10 years, 11 months ago) by misho
Branches: elwix, dnsmasq, MAIN
CVS tags: v8_2p1, v2_84, v2_76p1, v2_71, v2_66p0, v2_66, HEAD
dnsmasq

    1: #!/bin/sh
    2: 
    3: # Copyright (c) 2006 Simon Kelley
    4: #
    5: #  This program is free software; you can redistribute it and/or modify
    6: #  it under the terms of the GNU General Public License as published by
    7: #  the Free Software Foundation; version 2 dated June, 1991.
    8: #
    9: #  This program is distributed in the hope that it will be useful,
   10: #  but WITHOUT ANY WARRANTY; without even the implied warranty of
   11: #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   12: #  GNU General Public License for more details.
   13: 
   14: 
   15: # if $1 is add del or old, this is a dnsmasq-called lease-change
   16: # script, update the nvram database. if $1 is init, emit a 
   17: # dnsmasq-format lease file to stdout representing the current state of the 
   18: # database, this is called by dnsmasq at startup.
   19: 
   20: NVRAM=/usr/sbin/nvram
   21: PREFIX=dnsmasq_lease_
   22: 
   23: # Arguments.
   24: # $1 is action (add, del, old)
   25: # $2 is MAC 
   26: # $3 is address
   27: # $4 is hostname (optional, may be unset)
   28: 
   29: # env.
   30: # DNSMASQ_LEASE_LENGTH or DNSMASQ_LEASE_EXPIRES (which depends on HAVE_BROKEN_RTC)
   31: # DNSMASQ_CLIENT_ID (optional, may be unset)
   32: 
   33: # File.
   34: # length|expires MAC addr hostname|* CLID|* 
   35: 
   36: # Primary key is address.
   37: 
   38: if [ ${1} = init ] ; then
   39:      ${NVRAM} show | sed -n -e "/^${PREFIX}.*/ s/^.*=//p"
   40: else
   41:      if [ ${1} = del ] ; then
   42:           ${NVRAM} unset ${PREFIX}${3}
   43:      fi
   44: 
   45:      if [ ${1} = old ] || [ ${1} = add ] ; then
   46:           ${NVRAM} set ${PREFIX}${3}="${DNSMASQ_LEASE_LENGTH:-}${DNSMASQ_LEASE_EXPIRES:-} ${2} ${3} ${4:-*} ${DNSMASQ_CLIENT_ID:-*}"
   47:      fi
   48:      ${NVRAM} commit
   49: fi
   50: 
   51: 
   52: 
   53: 
   54:  

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>