The InspIRCd Project
Home | Developers | Wiki | Forums | Bug Tracker | SVN | Download | Blog | Stats

InspIRCd Spanning Tree 1.2/UUIDs

From the makers of InspIRCd.

Jump to: navigation, search
Development Development Material - Information posted here is for developer reference only. This material is subject to possible change and will be technical in nature.

UUIDs (Universally Unique User Identifiers)

Our implementation and definition of SID, ID, and UID closely matches TS6's. That is:

  • SID - A servers unique ID. This is three characters long and must be in the form [0-9][A-Z0-9][A-Z0-9]. InspIRCd servers which are automatically generating their server IDs only ever use server id's in the range 000-999, leaving server id's with letters as reserved for third party servers such as services servers. This can help prevent collisions, as by default the SID is automatically generated by InspIRCd whereas in TS6 it is admin-specified.
  • ID - A clients unique ID. This is six characters long and must be in the form [A-Z][A-Z0-9][A-Z0-9][A-Z0-9][A-Z0-9][A-Z0-9]. The numbers [0-9] at the beginning of an ID are legal characters, but reserved for future use.
  • UID or UUID - An ID concateneted to a SID. This forms the clients UID.

When allocating a UID, InspIRCd will 'increment' the value, e.g. the ID after 001AAAAAA is 001AAAAAB, which is followed by 001AAAAAC, etc etc. When the highest UID is reached, InspIRCd will "wrap around", starting again at 001AAAAAA. Note that if the ID the server tries to allocate already appears to be in use (possible after a wrap-around has occured) then the next ID in the sequence will be tried repeatedly, until a free ID is found. This differs from TS6 implementations, some of which will restart the server once the UID space has been exhausted.

Server ID (SID) auto generation

InspIRCd servers have the capability to automatically generate a server ID, by computing a hash from the server name and mapping it to a three-digit number. In the unlikely event that this automatically allocated ID conflicts with other IDs on the network, an ID must be manually specified in the configuration file.

Since all automatically generated IDs contain only numbers, we recommend that services authors and manually generated SIDs contain at least one letter to avoid colliding with autogenerated IDs. Note that the first character of a SID must be a number.

Personal tools
head
Navigation
head
head
head
head
 
head
head
Toolbox
head
head