mirror of
https://github.com/NLnetLabs/unbound.git
synced 2025-12-20 23:00:56 -05:00
pyunbound work
git-svn-id: file:///svn/unbound/trunk@1572 be551aaa-1e26-0410-a405-d3ace91eadb9
This commit is contained in:
parent
7ad28caa41
commit
0b4fe963d5
37 changed files with 39 additions and 5543 deletions
12
Makefile.in
12
Makefile.in
|
|
@ -40,6 +40,7 @@ UNBOUND_RUN_DIR=@UNBOUND_RUN_DIR@
|
|||
CHECKLOCK_SRC=@CHECKLOCK_SRC@
|
||||
UB_ON_WINDOWS=@UB_ON_WINDOWS@
|
||||
WITH_PYTHONMODULE=@WITH_PYTHONMODULE@
|
||||
WITH_PYUNBOUND=@WITH_PYUNBOUND@
|
||||
|
||||
SWIG=@SWIG@
|
||||
YACC=@YACC@
|
||||
|
|
@ -285,6 +286,17 @@ $(srcdir)/pythonmod/pythonmod.c: pythonmod/interface.h
|
|||
$Q$(SWIG) $(CPPFLAGS) -o $@ -python $<
|
||||
endif
|
||||
|
||||
ifeq "$(WITH_PYUNBOUND)" "yes"
|
||||
libunbound/python/libunbound_wrap.c: $(srcdir)/libunbound/python/libunbound.i $(srcdir)/libunbound/unbound.h
|
||||
@-if test ! -d $(dir $@); then $(INSTALL) -d $(patsubst %/,%,$(dir $@)); fi
|
||||
$(INFO) Swig $<
|
||||
$Q$(SWIG) -python -o $@ $(CPPFLAGS) $<
|
||||
|
||||
_unbound.la: $(BUILD)libunbound/python/libunbound_wrap.lo libunbound.la
|
||||
$(INFO) Link $@
|
||||
$Q$(LIBTOOL) --tag=CC --mode=link $(strip $(CC) $(RUNTIME_PATH) $(CFLAGS) $(LDFLAGS) -module -no-undefined) -o $@ $< -L. -L.libs -lunbound $(LIBS)
|
||||
endif
|
||||
|
||||
util/config_file.c: util/configparser.h
|
||||
util/configlexer.c: $(srcdir)/util/configlexer.lex util/configparser.h
|
||||
$(INFO) Lex $<
|
||||
|
|
|
|||
|
|
@ -12,4 +12,3 @@ distribution but may be helpful.
|
|||
* unbound_cacti.tar.gz : setup files for cacti statistics report
|
||||
* selinux: the .fc and .te files for SElinux protection of the unbound daemon
|
||||
* unbound.plist: launchd configuration file for MacOSX.
|
||||
* python: use libunbound from python.
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -4,6 +4,8 @@
|
|||
Still tries to do so, could work when deployed in intranet.
|
||||
Higher verbosity shows the error.
|
||||
- new libunbound calls documented.
|
||||
- pyunbound in libunbound/python. Removed compile warnings.
|
||||
Makefile to make it.
|
||||
|
||||
30 March 2009: Wouter
|
||||
- Fixup LDFLAGS from libevent sourcedir compile configure restore.
|
||||
|
|
|
|||
|
|
@ -314,7 +314,7 @@ Convert error value from one of the unbound library functions
|
|||
to a human readable string.
|
||||
.TP
|
||||
.B ub_ctx_print_local_zones
|
||||
Debug printout the local authority information to stdout.
|
||||
Debug printout the local authority information to debug output.
|
||||
.TP
|
||||
.B ub_ctx_zone_add
|
||||
Add new zone to local authority info, like local\-zone \fIunbound.conf\fR(5)
|
||||
|
|
|
|||
|
|
@ -63,15 +63,17 @@
|
|||
/* result generation */
|
||||
%typemap(argout,noblock=1) (struct ub_result** result)
|
||||
{
|
||||
PyObject* tuple;
|
||||
tuple = PyTuple_New(2);
|
||||
PyTuple_SetItem(tuple, 0, $result);
|
||||
if (result == 0) {
|
||||
PyTuple_SetItem(tuple, 1, SWIG_NewPointerObj(SWIG_as_voidptr(newubr), SWIGTYPE_p_ub_result, SWIG_POINTER_OWN | 0 ));
|
||||
} else {
|
||||
PyTuple_SetItem(tuple, 1, Py_None);
|
||||
if(1) { /* new code block for variable on stack */
|
||||
PyObject* tuple;
|
||||
tuple = PyTuple_New(2);
|
||||
PyTuple_SetItem(tuple, 0, $result);
|
||||
if (result == 0) {
|
||||
PyTuple_SetItem(tuple, 1, SWIG_NewPointerObj(SWIG_as_voidptr(newubr), SWIGTYPE_p_ub_result, SWIG_POINTER_OWN | 0 ));
|
||||
} else {
|
||||
PyTuple_SetItem(tuple, 1, Py_None);
|
||||
}
|
||||
$result = tuple;
|
||||
}
|
||||
$result = tuple;
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -751,7 +753,8 @@ Result: ['74.125.43.147', '74.125.43.99', '74.125.43.103', '74.125.43.104']
|
|||
|
||||
PyObject* _ub_result_data(struct ub_result* result) {
|
||||
PyObject *list;
|
||||
int i,j,cnt;
|
||||
int i,cnt;
|
||||
(void)self;
|
||||
if ((result == 0) || (!result->havedata) || (result->data == 0))
|
||||
return Py_None;
|
||||
|
||||
|
|
@ -843,11 +846,13 @@ int ub_ctx_debugout(struct ub_ctx* ctx, FILE* out);
|
|||
/* result generation */
|
||||
%typemap(argout,noblock=1) (int* async_id)
|
||||
{
|
||||
PyObject* tuple;
|
||||
tuple = PyTuple_New(2);
|
||||
PyTuple_SetItem(tuple, 0, $result);
|
||||
PyTuple_SetItem(tuple, 1, SWIG_From_int(asyncid));
|
||||
$result = tuple;
|
||||
if(1) { /* new code block for variable on stack */
|
||||
PyObject* tuple;
|
||||
tuple = PyTuple_New(2);
|
||||
PyTuple_SetItem(tuple, 0, $result);
|
||||
PyTuple_SetItem(tuple, 1, SWIG_From_int(asyncid));
|
||||
$result = tuple;
|
||||
}
|
||||
}
|
||||
|
||||
// Grab a Python function object as a Python object.
|
||||
|
|
@ -871,7 +876,7 @@ int _ub_resolve_async(struct ub_ctx* ctx, char* name, int rrtype, int rrclass, v
|
|||
|
||||
static void PythonCallBack(void* iddata, int status, struct ub_result* result)
|
||||
{
|
||||
PyObject *func, *arglist;
|
||||
PyObject *arglist;
|
||||
PyObject *fresult;
|
||||
struct cb_data* id;
|
||||
id = (struct cb_data*) iddata;
|
||||
|
|
@ -887,15 +892,16 @@ int _ub_resolve_async(struct ub_ctx* ctx, char* name, int rrtype, int rrclass, v
|
|||
}
|
||||
|
||||
int _ub_resolve_async(struct ub_ctx* ctx, char* name, int rrtype, int rrclass, PyObject* mydata, PyObject *pyfunc, int* async_id) {
|
||||
int r;
|
||||
struct cb_data* id;
|
||||
id = (struct cb_data*) malloc(sizeof(struct cb_data));
|
||||
id->data = mydata;
|
||||
id->func = pyfunc;
|
||||
|
||||
int i = ub_resolve_async(ctx,name,rrtype,rrclass, (void *) id, PythonCallBack, async_id);
|
||||
r = ub_resolve_async(ctx,name,rrtype,rrclass, (void *) id, PythonCallBack, async_id);
|
||||
Py_INCREF(mydata);
|
||||
Py_INCREF(pyfunc);
|
||||
return i;
|
||||
return r;
|
||||
}
|
||||
|
||||
%}
|
||||
|
|
@ -471,7 +471,7 @@ void ub_resolve_free(struct ub_result* result);
|
|||
const char* ub_strerror(int err);
|
||||
|
||||
/**
|
||||
* Debug routine. Print the local zone information to stdout.
|
||||
* Debug routine. Print the local zone information to debug output.
|
||||
* @param ctx: context. Is finalized by the routine.
|
||||
* @return 0 if OK, else error.
|
||||
*/
|
||||
|
|
|
|||
Loading…
Reference in a new issue