*** scheduler/dirsvc.c.orig	Fri Sep  8 21:24:42 2006
--- scheduler/dirsvc.c	Fri Sep  8 22:44:44 2006
***************
*** 2968,2978 ****
        ldap_value_free(value);
      }
  
      if ( ( strcmp(info[0], old_info) == 0 )
         && ( strcmp(uri[0], old_uri) == 0 )
         && ( strcmp(location[0], old_location) == 0 )
         && ( strcmp(make_model[0], old_make_model) == 0 )
!        && ( p->type == old_type ))
      {
         cupsdLogMessage(CUPSD_LOG_DEBUG2,
                         "send_ldap_browse: No update required");
--- 2968,2987 ----
        ldap_value_free(value);
      }
  
+     if (( BrowseLDAPForceUpdate > 0) && ( BrowseLDAPForceUpdate < 30000))
+       BrowseLDAPIntervalCounter++;
+     else
+       BrowseLDAPForceUpdate = 0;
+ 
      if ( ( strcmp(info[0], old_info) == 0 )
         && ( strcmp(uri[0], old_uri) == 0 )
         && ( strcmp(location[0], old_location) == 0 )
         && ( strcmp(make_model[0], old_make_model) == 0 )
!        && ( p->type == old_type )
!        && ((BrowseLDAPIntervalCounter < BrowseLDAPForceUpdate)
!             || (BrowseLDAPForceUpdate == 0)
!           )
!        )
      {
         cupsdLogMessage(CUPSD_LOG_DEBUG2,
                         "send_ldap_browse: No update required");
***************
*** 2984,2989 ****
--- 2993,3000 ----
        * Printer has already been registered, modify the current
        * registration...
        */
+ 
+       BrowseLDAPIntervalCounter=0;
  
        cupsdLogMessage(CUPSD_LOG_DEBUG2,
                        "send_ldap_browse: Replacing entry...");
