Re: Dhcpd Bizarre!!!!!!!!!!!!!!!!

2006-07-17 Thread Rahul Sharma
Hi trucu,
ya that is the main problem. Now finally i got it what i want.
Thanks to all
Rahul

On 7/17/06, turcu septimiu [EMAIL PROTECTED] wrote:

 It seems to me that you don't flush the file, nor you
 close it.
 This might be causing loss of data.


 --- Rahul Sharma [EMAIL PROTECTED] wrote:

  Hi Nick,
  Thank for your replies.
  But in that case I have to search the dhcpd enteries
  and then parse the
  /var/log/ daemon.
  But  I Just want to create another file with the
  format i like.
  Plz anybody help!!!
  Thanks in advance
  Rahul
 
  On 7/14/06, Nick Guenther [EMAIL PROTECTED] wrote:
  
   On 7/13/06, Rahul Sharma
  [EMAIL PROTECTED] wrote:
/*$OpenBSD: db.c,v 1.10 2004/09/16 18:35:42
  deraadt Exp $*/
   
/*
 * Persistent database management routines for
  DHCPD.
 */
   
/*
 * Copyright (c) 1995, 1996 The Internet
  Software Consortium.
 * All rights reserved.
 *
 * Redistribution and use in source and binary
  forms, with or without
 * modification, are permitted provided that the
  following conditions
 * are met:
 *
 * 1. Redistributions of source code must retain
  the above copyright
 *notice, this list of conditions and the
  following disclaimer.
 * 2. Redistributions in binary form must
  reproduce the above copyright
 *notice, this list of conditions and the
  following disclaimer in
   the
 *documentation and/or other materials
  provided with the
   distribution.
 * 3. Neither the name of The Internet Software
  Consortium nor the names
 *of its contributors may be used to endorse
  or promote products
   derived
 *from this software without specific prior
  written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE INTERNET
  SOFTWARE CONSORTIUM AND
 * CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR
  IMPLIED WARRANTIES,
 * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
  WARRANTIES OF
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  PURPOSE ARE
 * DISCLAIMED.  IN NO EVENT SHALL THE INTERNET
  SOFTWARE CONSORTIUM OR
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
  INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
  (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  OR SERVICES; LOSS OF
 * USE, DATA, OR PROFITS; OR BUSINESS
  INTERRUPTION) HOWEVER CAUSED AND
 * ON ANY THEORY OF LIABILITY, WHETHER IN
  CONTRACT, STRICT LIABILITY,
 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  ARISING IN ANY WAY OUT
 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
  OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 *
 * This software has been written for the
  Internet Software Consortium
 * by Ted Lemon [EMAIL PROTECTED] in
  cooperation with Vixie
 * Enterprises.  To learn more about the
  Internet Software Consortium,
 * see ``http://www.vix.com/isc''.  To learn
  more about Vixie
 * Enterprises, see ``http://www.vix.com''.
 */
   
#include dhcpd.h
   
FILE *db_file;
FILE *abc;
static int counting = 0;
static int count = 0;
time_t write_time;
   
/*
 * Write the specified lease to the current
  lease database file.
 */
int
write_lease(struct lease *lease)
{
struct tm *t;
char tbuf[64];
int errors = 0;
int i;
   
if (counting)
++count;
errno = 0;
fprintf(db_file, lease %s {\n,
  piaddr(lease-ip_addr));
fprintf(abc,%s\t,piaddr(lease-ip_addr));
if (errno)
++errors;
   
t = gmtime(lease-starts);
snprintf(tbuf, sizeof(tbuf), %d
  %d/%02d/%02d %02d:%02d:%02d;,
t-tm_wday, t-tm_year + 1900, t-tm_mon
  + 1, t-tm_mday,
t-tm_hour, t-tm_min, t-tm_sec);
   
errno = 0;
fprintf(db_file, \tstarts %s\n, tbuf);
fprintf(abc, %s\t, tbuf);
if (errno)
++errors;
   
t = gmtime(lease-ends);
snprintf(tbuf, sizeof(tbuf), %d
  %d/%02d/%02d %02d:%02d:%02d;,
t-tm_wday, t-tm_year + 1900, t-tm_mon
  + 1, t-tm_mday,
t-tm_hour, t-tm_min, t-tm_sec);
   
errno = 0;
fprintf(db_file, \tends %s, tbuf);
fprintf(abc, %s\t, tbuf);
if (errno)
++errors;
   
if (lease-hardware_addr.hlen) {
errno = 0;
fprintf(db_file, \n\thardware %s %s;,
   
  hardware_types[lease-hardware_addr.htype],
   
  print_hw_addr(lease-hardware_addr.htype,
lease-hardware_addr.hlen,
lease-hardware_addr.haddr));
   
fprintf(abc,%s\n,
   
  print_hw_addr(lease-hardware_addr.htype,
lease-hardware_addr.hlen,
lease-hardware_addr.haddr));
   
   
if (errno)
++errors;
}
   
if (lease-uid_len) {
int j;
   
errno = 0;
fprintf(db_file, \n\tuid %2.2x,
  lease-uid[0]);
   

Re: Dhcpd Bizarre!!!!!!!!!!!!!!!!

2006-07-17 Thread Nick Guenther

On 7/17/06, Rahul Sharma [EMAIL PROTECTED] wrote:


On 7/17/06, turcu septimiu [EMAIL PROTECTED] wrote:


 --- Rahul Sharma [EMAIL PROTECTED] wrote:

  Hi Nick,
  Thank for your replies.
  But in that case I have to search the dhcpd enteries
  and then parse the
  /var/log/ daemon.
  But  I Just want to create another file with the
  format i like.
  Plz anybody help!!!
  Thanks in advance
  Rahul
 
  On 7/14/06, Nick Guenther [EMAIL PROTECTED] wrote:
  
   On 7/13/06, Rahul Sharma
  [EMAIL PROTECTED] wrote:
/*$OpenBSD: db.c,v 1.10 2004/09/16 18:35:42
  deraadt Exp $*/
   
/*
 * Persistent database management routines for
  DHCPD.
 */
   
/*
 * Copyright (c) 1995, 1996 The Internet
  Software Consortium.
 * All rights reserved.
 *
 * Redistribution and use in source and binary
  forms, with or without
 * modification, are permitted provided that the
  following conditions
 * are met:
 *
 * 1. Redistributions of source code must retain
  the above copyright
 *notice, this list of conditions and the
  following disclaimer.
 * 2. Redistributions in binary form must
  reproduce the above copyright
 *notice, this list of conditions and the
  following disclaimer in
   the
 *documentation and/or other materials
  provided with the
   distribution.
 * 3. Neither the name of The Internet Software
  Consortium nor the names
 *of its contributors may be used to endorse
  or promote products
   derived
 *from this software without specific prior
  written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE INTERNET
  SOFTWARE CONSORTIUM AND
 * CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR
  IMPLIED WARRANTIES,
 * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
  WARRANTIES OF
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR
  PURPOSE ARE
 * DISCLAIMED.  IN NO EVENT SHALL THE INTERNET
  SOFTWARE CONSORTIUM OR
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
  INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
  (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  OR SERVICES; LOSS OF
 * USE, DATA, OR PROFITS; OR BUSINESS
  INTERRUPTION) HOWEVER CAUSED AND
 * ON ANY THEORY OF LIABILITY, WHETHER IN
  CONTRACT, STRICT LIABILITY,
 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
  ARISING IN ANY WAY OUT
 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
  OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 *
 * This software has been written for the
  Internet Software Consortium
 * by Ted Lemon [EMAIL PROTECTED] in
  cooperation with Vixie
 * Enterprises.  To learn more about the
  Internet Software Consortium,
 * see ``http://www.vix.com/isc''.  To learn
  more about Vixie
 * Enterprises, see ``http://www.vix.com''.
 */
   
#include dhcpd.h
   
FILE *db_file;
FILE *abc;
static int counting = 0;
static int count = 0;
time_t write_time;
   
/*
 * Write the specified lease to the current
  lease database file.
 */
int
write_lease(struct lease *lease)
{
struct tm *t;
char tbuf[64];
int errors = 0;
int i;
   
if (counting)
++count;
errno = 0;
fprintf(db_file, lease %s {\n,
  piaddr(lease-ip_addr));
fprintf(abc,%s\t,piaddr(lease-ip_addr));
if (errno)
++errors;
   
t = gmtime(lease-starts);
snprintf(tbuf, sizeof(tbuf), %d
  %d/%02d/%02d %02d:%02d:%02d;,
t-tm_wday, t-tm_year + 1900, t-tm_mon
  + 1, t-tm_mday,
t-tm_hour, t-tm_min, t-tm_sec);
   
errno = 0;
fprintf(db_file, \tstarts %s\n, tbuf);
fprintf(abc, %s\t, tbuf);
if (errno)
++errors;
   
t = gmtime(lease-ends);
snprintf(tbuf, sizeof(tbuf), %d
  %d/%02d/%02d %02d:%02d:%02d;,
t-tm_wday, t-tm_year + 1900, t-tm_mon
  + 1, t-tm_mday,
t-tm_hour, t-tm_min, t-tm_sec);
   
errno = 0;
fprintf(db_file, \tends %s, tbuf);
fprintf(abc, %s\t, tbuf);
if (errno)
++errors;
   
if (lease-hardware_addr.hlen) {
errno = 0;
fprintf(db_file, \n\thardware %s %s;,
   
  hardware_types[lease-hardware_addr.htype],
   
  print_hw_addr(lease-hardware_addr.htype,
lease-hardware_addr.hlen,
lease-hardware_addr.haddr));
   
fprintf(abc,%s\n,
   
  print_hw_addr(lease-hardware_addr.htype,
lease-hardware_addr.hlen,
lease-hardware_addr.haddr));
   
   
if (errno)
++errors;
}
   
if (lease-uid_len) {
int j;
   
errno = 0;
fprintf(db_file, \n\tuid %2.2x,
  lease-uid[0]);
if (errno)
++errors;
   
for (j = 1; j  lease-uid_len; j++) {
errno = 0;

Re: Dhcpd Bizarre!!!!!!!!!!!!!!!!

2006-07-16 Thread Rahul Sharma
Hi Nick,
Thank for your replies.
But in that case I have to search the dhcpd enteries and then parse the
/var/log/ daemon.
But  I Just want to create another file with the format i like.
Plz anybody help!!!
Thanks in advance
Rahul

On 7/14/06, Nick Guenther [EMAIL PROTECTED] wrote:

 On 7/13/06, Rahul Sharma [EMAIL PROTECTED] wrote:
  /*$OpenBSD: db.c,v 1.10 2004/09/16 18:35:42 deraadt Exp $*/
 
  /*
   * Persistent database management routines for DHCPD.
   */
 
  /*
   * Copyright (c) 1995, 1996 The Internet Software Consortium.
   * All rights reserved.
   *
   * Redistribution and use in source and binary forms, with or without
   * modification, are permitted provided that the following conditions
   * are met:
   *
   * 1. Redistributions of source code must retain the above copyright
   *notice, this list of conditions and the following disclaimer.
   * 2. Redistributions in binary form must reproduce the above copyright
   *notice, this list of conditions and the following disclaimer in
 the
   *documentation and/or other materials provided with the
 distribution.
   * 3. Neither the name of The Internet Software Consortium nor the names
   *of its contributors may be used to endorse or promote products
 derived
   *from this software without specific prior written permission.
   *
   * THIS SOFTWARE IS PROVIDED BY THE INTERNET SOFTWARE CONSORTIUM AND
   * CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
   * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
   * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
   * DISCLAIMED.  IN NO EVENT SHALL THE INTERNET SOFTWARE CONSORTIUM OR
   * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
   * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
   * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
   * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
   * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
   * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
   * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   * SUCH DAMAGE.
   *
   * This software has been written for the Internet Software Consortium
   * by Ted Lemon [EMAIL PROTECTED] in cooperation with Vixie
   * Enterprises.  To learn more about the Internet Software Consortium,
   * see ``http://www.vix.com/isc''.  To learn more about Vixie
   * Enterprises, see ``http://www.vix.com''.
   */
 
  #include dhcpd.h
 
  FILE *db_file;
  FILE *abc;
  static int counting = 0;
  static int count = 0;
  time_t write_time;
 
  /*
   * Write the specified lease to the current lease database file.
   */
  int
  write_lease(struct lease *lease)
  {
  struct tm *t;
  char tbuf[64];
  int errors = 0;
  int i;
 
  if (counting)
  ++count;
  errno = 0;
  fprintf(db_file, lease %s {\n, piaddr(lease-ip_addr));
  fprintf(abc,%s\t,piaddr(lease-ip_addr));
  if (errno)
  ++errors;
 
  t = gmtime(lease-starts);
  snprintf(tbuf, sizeof(tbuf), %d %d/%02d/%02d %02d:%02d:%02d;,
  t-tm_wday, t-tm_year + 1900, t-tm_mon + 1, t-tm_mday,
  t-tm_hour, t-tm_min, t-tm_sec);
 
  errno = 0;
  fprintf(db_file, \tstarts %s\n, tbuf);
  fprintf(abc, %s\t, tbuf);
  if (errno)
  ++errors;
 
  t = gmtime(lease-ends);
  snprintf(tbuf, sizeof(tbuf), %d %d/%02d/%02d %02d:%02d:%02d;,
  t-tm_wday, t-tm_year + 1900, t-tm_mon + 1, t-tm_mday,
  t-tm_hour, t-tm_min, t-tm_sec);
 
  errno = 0;
  fprintf(db_file, \tends %s, tbuf);
  fprintf(abc, %s\t, tbuf);
  if (errno)
  ++errors;
 
  if (lease-hardware_addr.hlen) {
  errno = 0;
  fprintf(db_file, \n\thardware %s %s;,
  hardware_types[lease-hardware_addr.htype],
  print_hw_addr(lease-hardware_addr.htype,
  lease-hardware_addr.hlen,
  lease-hardware_addr.haddr));
 
  fprintf(abc,%s\n,
  print_hw_addr(lease-hardware_addr.htype,
  lease-hardware_addr.hlen,
  lease-hardware_addr.haddr));
 
 
  if (errno)
  ++errors;
  }
 
  if (lease-uid_len) {
  int j;
 
  errno = 0;
  fprintf(db_file, \n\tuid %2.2x, lease-uid[0]);
  if (errno)
  ++errors;
 
  for (j = 1; j  lease-uid_len; j++) {
  errno = 0;
  fprintf(db_file, :%2.2x, lease-uid[j]);
  if (errno)
  ++errors;
  }
  putc(';', db_file);
  }
 
  if (lease-flags  BOOTP_LEASE) {
  errno = 0;
  fprintf(db_file, \n\tdynamic-bootp;);
  if (errno)
  ++errors;
  }
 
  if (lease-flags  ABANDONED_LEASE) {
  errno = 0;
  fprintf(db_file, \n\tabandoned;);
  if (errno)
  ++errors;
  }
 
  if 

Re: Dhcpd Bizarre!!!!!!!!!!!!!!!!

2006-07-13 Thread Rahul Sharma
/*$OpenBSD: db.c,v 1.10 2004/09/16 18:35:42 deraadt Exp $*/

/*
 * Persistent database management routines for DHCPD.
 */

/*
 * Copyright (c) 1995, 1996 The Internet Software Consortium.
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * 1. Redistributions of source code must retain the above copyright
 *notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *notice, this list of conditions and the following disclaimer in the
 *documentation and/or other materials provided with the distribution.
 * 3. Neither the name of The Internet Software Consortium nor the names
 *of its contributors may be used to endorse or promote products derived
 *from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE INTERNET SOFTWARE CONSORTIUM AND
 * CONTRIBUTORS ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
 * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
 * DISCLAIMED.  IN NO EVENT SHALL THE INTERNET SOFTWARE CONSORTIUM OR
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
 * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
 * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
 * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 *
 * This software has been written for the Internet Software Consortium
 * by Ted Lemon [EMAIL PROTECTED] in cooperation with Vixie
 * Enterprises.  To learn more about the Internet Software Consortium,
 * see ``http://www.vix.com/isc''.  To learn more about Vixie
 * Enterprises, see ``http://www.vix.com''.
 */

#include dhcpd.h

FILE *db_file;
FILE *abc;
static int counting = 0;
static int count = 0;
time_t write_time;

/*
 * Write the specified lease to the current lease database file.
 */
int
write_lease(struct lease *lease)
{
struct tm *t;
char tbuf[64];
int errors = 0;
int i;

if (counting)
++count;
errno = 0;
fprintf(db_file, lease %s {\n, piaddr(lease-ip_addr));
fprintf(abc,%s\t,piaddr(lease-ip_addr));
if (errno)
++errors;

t = gmtime(lease-starts);
snprintf(tbuf, sizeof(tbuf), %d %d/%02d/%02d %02d:%02d:%02d;,
t-tm_wday, t-tm_year + 1900, t-tm_mon + 1, t-tm_mday,
t-tm_hour, t-tm_min, t-tm_sec);

errno = 0;
fprintf(db_file, \tstarts %s\n, tbuf);
fprintf(abc, %s\t, tbuf);
if (errno)
++errors;

t = gmtime(lease-ends);
snprintf(tbuf, sizeof(tbuf), %d %d/%02d/%02d %02d:%02d:%02d;,
t-tm_wday, t-tm_year + 1900, t-tm_mon + 1, t-tm_mday,
t-tm_hour, t-tm_min, t-tm_sec);

errno = 0;
fprintf(db_file, \tends %s, tbuf);
fprintf(abc, %s\t, tbuf);
if (errno)
++errors;

if (lease-hardware_addr.hlen) {
errno = 0;
fprintf(db_file, \n\thardware %s %s;,
hardware_types[lease-hardware_addr.htype],
print_hw_addr(lease-hardware_addr.htype,
lease-hardware_addr.hlen,
lease-hardware_addr.haddr));

fprintf(abc,%s\n,
print_hw_addr(lease-hardware_addr.htype,
lease-hardware_addr.hlen,
lease-hardware_addr.haddr));


if (errno)
++errors;
}

if (lease-uid_len) {
int j;

errno = 0;
fprintf(db_file, \n\tuid %2.2x, lease-uid[0]);
if (errno)
++errors;

for (j = 1; j  lease-uid_len; j++) {
errno = 0;
fprintf(db_file, :%2.2x, lease-uid[j]);
if (errno)
++errors;
}
putc(';', db_file);
}

if (lease-flags  BOOTP_LEASE) {
errno = 0;
fprintf(db_file, \n\tdynamic-bootp;);
if (errno)
++errors;
}

if (lease-flags  ABANDONED_LEASE) {
errno = 0;
fprintf(db_file, \n\tabandoned;);
if (errno)
++errors;
}

if (lease-client_hostname) {
for (i = 0; lease-client_hostname[i]; i++)
if (lease-client_hostname[i]  33 ||
lease-client_hostname[i]  126)
goto bad_client_hostname;
errno = 0;
fprintf(db_file, \n\tclient-hostname \%s\;,
lease-client_hostname);
if (errno)
++errors;
}

bad_client_hostname:
if (lease-hostname) {
for (i = 0; lease-hostname[i]; i++)
if (lease-hostname[i]  33 ||
lease-hostname[i]  126)
goto bad_hostname;
errno = 0;