Re: Dhcpd Bizarre!!!!!!!!!!!!!!!!
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!!!!!!!!!!!!!!!!
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!!!!!!!!!!!!!!!!
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!!!!!!!!!!!!!!!!
/*$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;