Print this page
patch tsoome-feedback


 169 
 170         if (param >= (sizeof (defaults) / sizeof (*defaults)))
 171                 return (NULL);
 172 
 173         if (stat(DHCP_AGENT_DEFAULTS, &statbuf) != 0) {
 174                 if (!df_unavail_msg) {
 175                         dhcpmsg(MSG_WARNING, "cannot access %s; using "
 176                             "built-in defaults", DHCP_AGENT_DEFAULTS);
 177                         df_unavail_msg = B_TRUE;
 178                 }
 179                 return (defaults[param].df_default);
 180         }
 181 
 182         /*
 183          * if our cached parameters are stale, rebuild.
 184          */
 185 
 186         if (statbuf.st_mtime != df_statbuf.st_mtime ||
 187             statbuf.st_size != df_statbuf.st_size) {
 188                 df_statbuf = statbuf;
 189                 if (df_nvlist != NULL)
 190                         nvlist_free(df_nvlist);
 191                 df_nvlist = df_build_cache();
 192         }
 193 
 194         if (isv6) {
 195                 (void) snprintf(name, sizeof (name), ".V6.%s",
 196                     defaults[param].df_name);
 197                 (void) snprintf(paramstr, sizeof (paramstr), "%s%s", if_name,
 198                     name);
 199         } else {
 200                 (void) strlcpy(name, defaults[param].df_name, sizeof (name));
 201                 (void) snprintf(paramstr, sizeof (paramstr), "%s.%s", if_name,
 202                     name);
 203         }
 204 
 205         /*
 206          * first look for `if_name.[v6.]param', then `[v6.]param'.  if neither
 207          * has been set, use the built-in default.
 208          */
 209 




 169 
 170         if (param >= (sizeof (defaults) / sizeof (*defaults)))
 171                 return (NULL);
 172 
 173         if (stat(DHCP_AGENT_DEFAULTS, &statbuf) != 0) {
 174                 if (!df_unavail_msg) {
 175                         dhcpmsg(MSG_WARNING, "cannot access %s; using "
 176                             "built-in defaults", DHCP_AGENT_DEFAULTS);
 177                         df_unavail_msg = B_TRUE;
 178                 }
 179                 return (defaults[param].df_default);
 180         }
 181 
 182         /*
 183          * if our cached parameters are stale, rebuild.
 184          */
 185 
 186         if (statbuf.st_mtime != df_statbuf.st_mtime ||
 187             statbuf.st_size != df_statbuf.st_size) {
 188                 df_statbuf = statbuf;

 189                 nvlist_free(df_nvlist);
 190                 df_nvlist = df_build_cache();
 191         }
 192 
 193         if (isv6) {
 194                 (void) snprintf(name, sizeof (name), ".V6.%s",
 195                     defaults[param].df_name);
 196                 (void) snprintf(paramstr, sizeof (paramstr), "%s%s", if_name,
 197                     name);
 198         } else {
 199                 (void) strlcpy(name, defaults[param].df_name, sizeof (name));
 200                 (void) snprintf(paramstr, sizeof (paramstr), "%s.%s", if_name,
 201                     name);
 202         }
 203 
 204         /*
 205          * first look for `if_name.[v6.]param', then `[v6.]param'.  if neither
 206          * has been set, use the built-in default.
 207          */
 208