return false;
}
+
+/** Encode a single value box of type string, serializing its contents to a dns label
+ * in a dbuff
+ *
+ * @param[in] dbuff Buffer where labels are written
+ * @param[in] compression Whether or not to do DNS label compression.
+ * @param[in] value to encode.
+ * @return
+ * - >0 the number of bytes written to the dbuff
+ * - 0 could not encode anything, an error has occurred.
+ * - <0 the number of bytes the dbuff should have had, instead of "remaining".
+ */
+ssize_t fr_dns_label_from_value_box_dbuff(fr_dbuff_t *dbuff, bool compression, fr_value_box_t const *value)
+{
+ ssize_t slen;
+ size_t need;
+
+ slen = fr_dns_label_from_value_box(&need, dbuff->p, fr_dbuff_remaining(dbuff), dbuff->p, compression, value);
+ if (slen < 0) return 0;
+
+ if (slen == 0) return -need;
+
+ fr_dbuff_advance(dbuff, slen);
+ return slen;
+}
+
/** Encode a single value box of type string, serializing its contents to a dns label
*
* This functions takes a large buffer and encodes the label in part
ssize_t fr_dns_label_from_value_box(size_t *need, uint8_t *buf, size_t buflen, uint8_t *where, bool compression, fr_value_box_t const *value);
+ssize_t fr_dns_label_from_value_box_dbuff(fr_dbuff_t *dbuff, bool compression, fr_value_box_t const *value);
+
ssize_t fr_dns_label_uncompressed_length(uint8_t const *buf, size_t buf_len, uint8_t const **p_label);
ssize_t fr_dns_label_network_network_length(uint8_t const *buf, size_t buf_len);
char *f[4];
char *tail = NULL;
fr_time_delta_t gmtoff = 0;
-
+
/*
* Test for unix timestamp, which is just a number and
* nothing else.
if (*tail == '-') tz *= -1;
done:
- t = timegm(tm);
+ t = fr_time_from_utc(tm);
if (t == (time_t) -1) {
fr_strerror_printf("Failed calling system function to parse time - %s",
fr_syserror(errno));
/*
* Returns -1 on failure.
*/
- t = timegm(tm);
+ t = fr_time_from_utc(tm);
if (t == (time_t) -1) {
fr_strerror_printf("Failed calling system function to parse time - %s",
fr_syserror(errno));