Re: looking for clue
Hi to all, Accept apology on my behalf if I spoil ur thread Thanks anyway Rahul On 7/21/06, Rod.. Whitworth [EMAIL PROTECTED] wrote: On Fri, 21 Jul 2006 06:00:00 +0200, Peter Philipp wrote: I sense angryness in the force. Eric you stay out of it. This is between me and Rahul. So take it off the list. It has been here waay too long. Don't reply to me. It will not get looked at except by /dev/null. _ Depressed? Me? Don't make me laugh! :Spike Milligan:1918-2002:
Re: looking for clue
Hi Peter Phillips, It is not Mr. Eric Pancer but me (rahulthehacker) who is asking for help on dhcpd lease. Now it is because of you Mr. Mind that till last month I didnot believe on Communities (like openBSD) but after joining this community I come to know abt. the power of open system. But it is due to u Mastermind that some body like me are still far away from this community. I am not speak any Martian also. But sorry to tell u change ur attitude plz Rahul On 7/20/06, Eric Pancer [EMAIL PROTECTED] wrote: On Wed, 2006-07-19 at 20:21:01 +0200, Peter Philipp wrote... Hi I'm looking for clue. Does anyone have any? Hey, aren't you the idiot that kept renegotiating your DHCP lease? There's no clue here for you to find; we don't speak Martian. - Eric
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!!!!!!!!!!!!!!!!
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
Re: Dhcpd Bizarre!!!!!!!!!!!!!!!!
(db_file, \n\thostname \%s\;, lease-hostname); if (errno) ++errors; } bad_hostname: errno = 0; fputs(\n}\n, db_file); if (errno) ++errors; if (errors) note(write_lease: unable to write lease %s, piaddr(lease-ip_addr)); return (!errors); } /* * Commit any leases that have been written out... */ int commit_leases(void) { /* * Commit any outstanding writes to the lease database file. We need to * do this even if we're rewriting the file below, just in case the * rewrite fails. */ if (fflush(db_file) == EOF) { note(commit_leases: unable to commit: %m); return (0); } if (fsync(fileno(db_file)) == -1) { note(commit_leases: unable to commit: %m); return (0); } /* * If we've written more than a thousand leases or if we haven't * rewritten the lease database in over an hour, rewrite it now. */ if (count 1000 || (count cur_time - write_time 3600)) { count = 0; write_time = cur_time; new_lease_file(); } return (1); } void db_startup(void) { int db_fd,pqr; /* open lease file. once we dropped privs it has to stay open */ db_fd = open(path_dhcpd_db, O_WRONLY|O_CREAT, 0664); if (db_fd == -1) error(Can't create new lease file: %m); if ((db_file = fdopen(db_fd, w)) == NULL) error(Can't fdopen new lease file!); pqr = open(/var/db/log_dhcpd, O_WRONLY|O_CREAT, 0664); if (pqr == -1) error(Can't create new lease file: %m); if ((abc = fdopen(pqr, w)) == NULL) error(Can't fdopen new lease file!); /* Read in the existing lease file... */ read_leases(); time(write_time); new_lease_file(); } void new_lease_file(void) { fflush(db_file); rewind(db_file); /* * Write an introduction so people don't complain about time being off. */ fprintf(db_file, # All times in this file are in UTC (GMT), not your local timezone.\n); fprintf(db_file, # The format of this file is documented in the dhcpd.leases(5) manual page.\n\n); /* Write out all the leases that we know of... */ counting = 0; write_leases(); fflush(db_file); ftruncate(fileno(db_file), ftello(db_file)); fsync(fileno(db_file)); counting = 1; } On 7/13/06, Rahul Sharma [EMAIL PROTECTED] wrote: 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
Re: How to compile DHCPD source code
Hello Peter, Thanks for your help. It Works. Thanks again Rahul On 7/7/06, Peter Blair [EMAIL PROTECTED] wrote: First, *don't* download source from the cvsweb website. That source is handy for browsing, but you should be getting your code from a cvs repository. Look at the instructions for a given patch for guidance: ftp://ftp.openbsd.org/pub/OpenBSD/patches/3.9/common/001_sendmail.patch And then rebuild and install sendmail: cd gnu/usr.sbin/sendmail make obj make depend make make install On 7/7/06, Rahul Sharma [EMAIL PROTECTED] wrote: Hi, I need to make some minute changes to db.c file comes under DHCP source code . I wanted to know that how can i run dhcp now with these changes. Plz tell me for this whether I have to recompile whole source code(Kernel) again or if there is any way to just compile only this DHCP code. What I have done so far is I have downloaded all files needed for DHCPD from http://www.openbsd.org/cgi-bin/cvsweb/src/usr.sbin/dhcpd/ After that i had made changes to file db.c. Now I strucked here. Any one Plz Help. Tell me what to do. Thanks for reading this mail anyay. Rahul
How to compile DHCPD source code
Hi, I need to make some minute changes to db.c file comes under DHCP source code . I wanted to know that how can i run dhcp now with these changes. Plz tell me for this whether I have to recompile whole source code(Kernel) again or if there is any way to just compile only this DHCP code. What I have done so far is I have downloaded all files needed for DHCPD from http://www.openbsd.org/cgi-bin/cvsweb/src/usr.sbin/dhcpd/ After that i had made changes to file db.c. Now I strucked here. Any one Plz Help. Tell me what to do. Thanks for reading this mail anyay. Rahul
Problem with dhcpd
Hi Friends, I am new to openBSD. I have a problem with dhcpd. Whenever I delete dhcpd.leases and again create it via touch command then it does not create the list of clients that are assigned the dynamic IP's. I have tried all sort of combinations like rebooting the server which is openBSD in my case. Also, rebooting the client which in my case is CentOS etc. But next day when I turned on my server and looked at dhcpd.leases it give the MAC address with the IP that are allocated I wanted to know whether there is any time limit after which the dhcpd.leases file is updated after i remove it and create it an empty file of the same name. Also i wanted to know the behaviour of dhcpd when an IP lease is finished. i.e. whether the name of the client(MAC address) and IP will be removed from the dhcpd.leases file or not. Plz help me. Thanks for ur precious time in reading this mail.