(static_cast<uint32_t>(lease->addr_));
bind_array.add(addr_str_);
- if (!lease->hwaddr_.empty()) {
+ if (lease->hwaddr_ && !lease->hwaddr_->hwaddr_.empty()) {
// PostgreSql does not provide MAX on variable length types
// so we have to enforce it ourselves.
- if (lease->hwaddr_.size() > HWAddr::MAX_HWADDR_LEN) {
+ if (lease->hwaddr_->hwaddr_.size() > HWAddr::MAX_HWADDR_LEN) {
isc_throw(DbOperationError, "Hardware address length : "
- << lease_->hwaddr_.size()
+ << lease_->hwaddr_->hwaddr_.size()
<< " exceeds maximum allowed of: "
<< HWAddr::MAX_HWADDR_LEN);
}
- bind_array.add(lease->hwaddr_);
+ bind_array.add(lease->hwaddr_->hwaddr_);
} else {
bind_array.add("");
}
hostname_ = getRawColumnValue(r, row, HOSTNAME_COL);
- return (Lease4Ptr(new Lease4(addr4_, hwaddr_buffer_, hwaddr_length_,
+ HWAddrPtr hwaddr(new HWAddr(hwaddr_buffer_, hwaddr_length_,
+ HTYPE_ETHER));
+
+ return (Lease4Ptr(new Lease4(addr4_, hwaddr,
client_id_buffer_, client_id_length_,
valid_lifetime_, 0, 0, cltt_,
subnet_id_, fqdn_fwd_, fqdn_rev_,
hostname_ = getRawColumnValue(r, row, HOSTNAME_COL);
+ /// @todo: implement this in #3557.
+ HWAddrPtr hwaddr;
+
Lease6Ptr result(new Lease6(lease_type_, addr, duid_ptr, iaid_,
pref_lifetime_, valid_lifetime_, 0, 0,
subnet_id_, fqdn_fwd_, fqdn_rev_,
- hostname_, prefix_len_));
+ hostname_, hwaddr, prefix_len_));
result->cltt_ = cltt_;
return (result);
} catch (const std::exception& ex) {