]> git.ipfire.org Git - thirdparty/freeradius-server.git/commitdiff
Added rad_data2vp() to mirror rad_vp2data()
authorAlan T. DeKok <aland@freeradius.org>
Thu, 1 Nov 2012 08:23:55 +0000 (09:23 +0100)
committerAlan T. DeKok <aland@freeradius.org>
Thu, 1 Nov 2012 08:24:12 +0000 (09:24 +0100)
src/include/libradius.h
src/lib/radius.c

index f536003e3519c1194cfb3620b53938b9f564082a..ab2856f684cf9346ddcc75d334d672b013e61209 100644 (file)
@@ -392,6 +392,10 @@ ssize_t    rad_attr2vp(const RADIUS_PACKET *packet, const RADIUS_PACKET *original,
                    const uint8_t *data, size_t length,
                    VALUE_PAIR **pvp);
 
+ssize_t  rad_data2vp(unsigned int attribute, unsigned int vendor,
+                    const uint8_t *data, size_t length,
+                    VALUE_PAIR **pvp);
+
 ssize_t rad_vp2data(const VALUE_PAIR *vp, uint8_t *out, size_t outlen);
 
 int rad_vp2extended(const RADIUS_PACKET *packet,
index 7a39cdd7bd142d7743653c8726572b3f0577aca4..0e2b31654b311c28e9600425eef261a727ef385e 100644 (file)
@@ -3846,6 +3846,22 @@ ssize_t rad_attr2vp(const RADIUS_PACKET *packet,
        return rad_attr2vp_rfc(packet, original, secret, data, length, pvp);
 }
 
+
+/**
+ * @brief Converts data in network byte order to a VP
+ * @return -1 on error, or the length of the data read
+ */
+ssize_t  rad_data2vp(unsigned int attribute, unsigned int vendor,
+                    const uint8_t *data, size_t length,
+                    VALUE_PAIR **pvp)
+{
+       if (!data || (length == 0) || !pvp) return -1;
+
+       return data2vp_any(NULL, NULL, NULL, 0,
+                          attribute, vendor, data, length, pvp);
+}
+
+
 /**
  * @brief Converts vp_data to network byte order
  * @return -1 on error, or the length of the value