* ldns_wire2pkt: fix null pointer dereference if pkt allocation fails
and fix memory leak with more EDNS sections
Thanks Jan Vcelak
+ * bugfix #1399: ldns_pkt2wire() Python binding is broken.
+ Thanks James Raftery
1.7.0 2016-12-20
* Fix lookup of relative names in ldns_resolver_search.
return tuple;
}
+PyObject* ldns_pkt2wire_(const ldns_pkt *pkt)
+ //returns tuple (status, result)
+ {
+ PyObject *resultobj = 0;
+ uint8_t *arg1 = NULL;
+ size_t arg3;
+ ldns_status result;
+ PyObject* tuple;
+
+ result = (ldns_status)ldns_pkt2wire(&arg1,pkt,&arg3);
+ tuple = PyTuple_New(2);
+ PyTuple_SetItem(tuple, 0, SWIG_From_int(result));
+ if (result == LDNS_STATUS_OK)
+ PyTuple_SetItem(tuple, 1, SWIG_FromCharPtrAndSize((char *)arg1, arg3));
+ else {
+ Py_INCREF(Py_None);
+ PyTuple_SetItem(tuple, 1, Py_None);
+ }
+ LDNS_FREE(arg1);
+ return tuple;
+}
+
%}
%pythoncode %{
def ldns_wire2pkt(data):
return _ldns.ldns_wire2pkt_(data)
+def ldns_pkt2wire(data):
+ return _ldns.ldns_pkt2wire_(data)
+
def ldns_rr_iter_frm_fp_l(input_file):
"""Creates an iterator (generator) that returns individual parsed
RRs from an open zone file."""