Bind Serial Number Too Big

Abstract. This is version 1.1 of the DNSSEC deployment guide for BIND. BIND is open source software that implements the Domain Name System DNS protocols for.

Tom - Is there any certain way to determine if the bind variable is null. You d mentioned that an odd number in the oacflg value means the variable might be null.

This page provides an alternative to ritual suicide if you manage to get the serial number incorrect on an SOA RR.

The serial number field of the SOA RR can take any value but many users, by convention, use a date format most commonly defined to be yyyymmddss where yyyy is the four-digit year number, mm is the two-digit month number, dd is the two-digit day within month number, and ss is a two-digit sequence number within the day. This convention has the merit of being relatively simple to use and also indicates when the zone was last changed - which can occasionally be very handy.

Since this date format is only a convention, BIND and most other DNS software does not validate the format of the serial number; it is thus very easy to introduce errors and get out of sequence values. Zone transfer to zone slave s will, in the event of zone file changes, occur only if the serial number of the SOA RR is arithmetically greater that the previous one as defined by RFC 1982.

To illustrate the fixes possible, it is assumed that today s date is 28 February 2003 serial number 2003022800. If the erroneous serial number entered is less than today, that is, 2003022700, the fix is trivial: simply correct the serial number and restart or reload BIND or reload the zone using rndc. If the number is too high, it depends on how high the number is and how frequently the zone file is changed. Assume the changed serial number was set to 2003022900, which as we all know does not exist, 2003 not being a leap year; however, BIND does not know that and a zone transfer will have taken place, 29 being greater than 28. The simple fix is to increment the date again to 2003030100 and keep using the sequence number until the correct date is reached tomorrow in this case. This works unless you will require to make more than 99 changes until the new date is reached - in which case perhaps ritual suicide is the best option.

If all the quick solutions are not acceptable, for instance, the serial number is 2008022800, then it s time to get out the calculator or do some serious mental arithmetic. The SOA serial number is an unsigned 32-bit field with a maximum value of 2 32 -1, which gives a range of 0 to 4294967295 the value zero may have special significance in certain DNS implementations and should be avoided, but the maximum increment to such a number is 2 31 - 1 or 2147483647 incrementing the number by the maximum value would wrap and give the same number. Using the maximum increment, the serial number fix is a two-step process. First, add 2147483647 to the erroneous value, for example, 2008022800 2147483647 4155506447, restart BIND or reload the zone, and make absolutely sure the zone has transferred to all the slave servers. Second, set the SOA serial number for the zone to the correct value and restart BIND or reload the zone again. The zone will transfer to the slave because the serial number has wrapped through zero and is therefore greater that the previous value of 4155506447.

This method works perfectly unless the sum of the current serial number and 2147483647 exceeds 4294967295 - in this case simply set the serial number to 4294967295 perform the first zone transfer as described above and then set the number to the desired/correct one and restart or reload the zone again. Thanks to Todd Snyder for pointing out the limitation and the fix. RFC 1982 contains all the gruesome details of serial number comparison algorithms if you are curious about such things.

We mistakenly added the following sentences after the overlap fix documented in the previous paragraph Observant readers will have noted that this method will actually work under all conditions thus saving the computational effort described previously. However, as a service to calculator manufacturers everywhere and the global mental arithmetic alliance, we will leave the first method in place since it, perhaps, describes the fix theory more completely. The truly observant, which, frankly, should have included us, would have spotted the fact that if 4294967295 - current serial number 2147483647 the largest increment then the simplified method will not work. It is not a universal simplification. Many thanks to Anders Andersson for taking the time to point out the problem. We plead an excess of euphoria and have committed to perform all such serial number calculations without using a calculator as an act of atonement - for a strictly limited period.

Problems, comments, suggestions, corrections including broken links or something to add. Please take the time from a busy life to mail us at top of screen, the webmaster below or info-support at zytrax. You will have a warm inner glow for the rest of the day.

HOWTO Fix SOA RR serial numbers. This page provides an alternative to ritual suicide if you manage to get the serial number incorrect on an SOA RR.

Download source files - 36.69 KB

Download demo project - 621.92 KB

Many people looking for a schema to protect their work need to get some information that is hardware specific like the Mac Address or some hard drive serial number.

If you tried other solutions like like this one, it probably did not work for you because it s using the WMI services. I was able to find a solution that worked reasonably well here. It made low level calls to the disk using commands sent by the DeviceIoControl API. The code was not very reusable unless you used native C. Therefore I brushed it a bit and made it look more Object Oriented. Most importantly, I exposed the drive information through a. NET collection.

Since the collection is written in MC, I ve included some Microsoft DLLs from the redistributable pack in the demo zip. Also it s mandatory to use. NET 2.0 since the collection is generic.

The code is very easy to use from any. NET language, like C for instance:

m_dataGridView.DataSource m_list;

The information about the internal drives is gathered in DiskInfo::LoadDiskInfo ;

DiskInfo is a native singleton class that wraps the calls to ReadPhysicalDriveInNTWithAdminRights and ReadIdeDriveAsScsiDriveInNT. I ignored the ReadPhysicalDriveInNTWithZeroRights that did not seem to work anyways.

Both functions will call AddIfNew if they can retrieve the information.

Internally there is a list that holds the raw information about the drives and that is updated when a new drive information was found.

BOOL DiskInfo::AddIfNew USHORT pIdSector

for UINT i 0; i m_list.size ;i

if memcmp pIdSector,m_list i, 256 sizeof WORD 0

::memcpy diskdata,pIdSector,256 sizeof WORD ;

If you are stuck with a non. NET compiler, you could still use the source code from UnmanagedCode.cpp, just uncomment the define NATIVE_CODE line.

This build is for Windows XP 32 bit systems. If you need it for Vista or 64 bit systems, you should select the right include and lib folders when building and should not use the additional DLLs from the release.zip archive, since they are 32 bit for Windows XP.

Version 1.1: Added ReadPhysicalDriveInNTUsingSmart for reading the HDD info.

P.S. I did not get a chance to test it for Windows 95 and alike.

Editor s note: This is excerpted from a longer article, Defanging the Beast : Mennonite Responses to John Howard Yoder s Sexual Abuse, Mennonite.

To have a DNS server for the internal network of the company because long ago there were already too many computers to remember their IPs 1 and even too many.

- B - back channel back door Back Orifice backticking banner BASE64 bash BGP big-endian binary BIND BinHex biometrics BIOS bit.

Get Physical HDD Serial Number without WMI

You must accept our Terms Of Service before continuing. Invalid username. Invalid Email Address. Password doesn t match.

DATING FENDER AMPS BY SERIAL NUMBER, PART V by Greg Gagliano. Copyright 2002, 20th Century Guitar Magazine. They said it couldn t be done Over 6.

HOWTO Fix SOA RR serial numbers