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, > > > >
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;", > > > > > > hardwar
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 (
Re: Dhcpd Bizarre!!!!!!!!!!!!!!!!
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 (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 (l
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->hostn
Dhcpd Bizarre!!!!!!!!!!!!!!!!
Hi all, I am using dhcpd on openBSD. I wanted to make a log file of my own from which enteries will never vanish. Though I can use dhcpd.leases and parse it to get the values but i wanted to it from the sourse itself. What i have done so far -> I have made changes in db.c 1. in function db_startup() 2.write_lease(struct lease *lease) I am attaching db.c file with changes with it. wherever u find "FILE *abc or int pqr".i have added those lines it is compiling allright but is not writing into the file. Plz Help some one.. Rahul [demime 1.01d removed an attachment of type text/x-csrc which had a name of db.c]