]> git.sur5r.net Git - openldap/commitdiff
ITS#6297 Allow hex in serverID directive
authorRein Tollevik <rein@openldap.org>
Thu, 17 Sep 2009 15:06:22 +0000 (15:06 +0000)
committerRein Tollevik <rein@openldap.org>
Thu, 17 Sep 2009 15:06:22 +0000 (15:06 +0000)
doc/man/man5/slapd-config.5
doc/man/man5/slapd.conf.5
servers/slapd/bconfig.c

index ffbf6f06550af60a2e7b717ab9a688830bb6b9bc..a646deecefb2e575354970eb662e566c281d2b7f 100644 (file)
@@ -723,7 +723,10 @@ property specifies the maximum security layer receive buffer
 size allowed.  0 disables security layers.  The default is 65536.
 .TP
 .B olcServerID: <integer> [<URL>]
-Specify an integer ID from 0 to 4095 for this server. These IDs are
+Specify an integer ID from 0 to 4095 for this server (limited
+to 3 hexadecimal digits).  The ID may also be specified as a
+hexadecimal ID by prefixing the value with "0x".
+These IDs are
 required when using multimaster replication and each master must have a
 unique ID. Note that this requirement also applies to separate masters
 contributing to a glued set of databases.
index a641d7cbebd1472a927ac8b3801a9b571b9abaa8..0ff35429e9b95152b43186ba71dd4fd058ebd07a 100644 (file)
@@ -915,7 +915,8 @@ e.g. ldapi:// (and eventually IPSEC).  It is not normally used.
 .TP
 .B serverID <integer> [<URL>]
 Specify an integer ID from 0 to 4095 for this server (limited
-to 3 hexadecimal digits).
+to 3 hexadecimal digits).  The ID may also be specified as a
+hexadecimal ID by prefixing the value with "0x".
 These IDs are
 required when using multimaster replication and each master must have a
 unique ID. Note that this requirement also applies to separate masters
index 4beed71a1b1a81b6a1ebc5e9a67d1695c9b12496..c03c23afdaa7ee5b52059cd6d387d681ba4e3ce3 100644 (file)
@@ -1783,7 +1783,8 @@ sortval_reject:
                                ServerID *si, **sip;
                                LDAPURLDesc *lud;
                                int num;
-                               if ( lutil_atoi( &num, c->argv[1] ) ||
+                               if (( lutil_atoi( &num, c->argv[1] ) && 
+                                       lutil_atoix( &num, c->argv[1], 16 )) ||
                                        num < 0 || num > SLAP_SYNC_SID_MAX )
                                {
                                        snprintf( c->cr_msg, sizeof( c->cr_msg ),
@@ -1828,7 +1829,7 @@ sortval_reject:
                                        BER_BVZERO( &si->si_url );
                                        slap_serverID = num;
                                        Debug( LDAP_DEBUG_CONFIG,
-                                               "%s: SID=%d\n",
+                                               "%s: SID=0x%03x\n",
                                                c->log, slap_serverID, 0 );
                                }
                                si->si_next = NULL;
@@ -1841,7 +1842,7 @@ sortval_reject:
                                        if ( l ) {
                                                slap_serverID = si->si_num;
                                                Debug( LDAP_DEBUG_CONFIG,
-                                                       "%s: SID=%d (listener=%s)\n",
+                                                       "%s: SID=0x%03x (listener=%s)\n",
                                                        c->log, slap_serverID,
                                                        l->sl_url.bv_val );
                                        }