Add python bindings for netpgp, via swig.
When using python, always add the dumb symbolic link to the library name.
This commit is contained in:
parent
7c604eea85
commit
7d576ad983
15
crypto/external/bsd/netpgp/dist/bindings/python/Makefile
vendored
Normal file
15
crypto/external/bsd/netpgp/dist/bindings/python/Makefile
vendored
Normal file
@ -0,0 +1,15 @@
|
||||
# $NetBSD: Makefile,v 1.1 2009/12/02 00:32:06 agc Exp $
|
||||
# Automatically generated by swigit wrapper script
|
||||
|
||||
PREFIX=/usr/pkg
|
||||
|
||||
LIB=netpgppython
|
||||
SRCS=netpgppython_wrap.c
|
||||
WARNS=0
|
||||
MKMAN=no
|
||||
CPPFLAGS+=-I${PREFIX}/include
|
||||
CPPFLAGS+=-I/usr/pkg/include/python2.5
|
||||
LDFLAGS+=-L${PREFIX}/lib
|
||||
LDADD+=-lnetpgp
|
||||
|
||||
.include <bsd.lib.mk>
|
91
crypto/external/bsd/netpgp/dist/bindings/python/netpgp.h
vendored
Normal file
91
crypto/external/bsd/netpgp/dist/bindings/python/netpgp.h
vendored
Normal file
@ -0,0 +1,91 @@
|
||||
/*-
|
||||
* Copyright (c) 2009 The NetBSD Foundation, Inc.
|
||||
* All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to The NetBSD Foundation
|
||||
* by Alistair Crooks (agc@netbsd.org)
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
|
||||
* ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
|
||||
* TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
|
||||
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
#ifndef NETPGP_H_
|
||||
#define NETPGP_H_
|
||||
|
||||
#ifndef __BEGIN_DECLS
|
||||
# if defined(__cplusplus)
|
||||
# define __BEGIN_DECLS extern "C" {
|
||||
# define __END_DECLS }
|
||||
# else
|
||||
# define __BEGIN_DECLS
|
||||
# define __END_DECLS
|
||||
# endif
|
||||
#endif
|
||||
|
||||
__BEGIN_DECLS
|
||||
|
||||
/* structure used to hold (key,value) pair information */
|
||||
typedef struct netpgp_t {
|
||||
unsigned c; /* # of elements used */
|
||||
unsigned size; /* size of array */
|
||||
char **name; /* key names */
|
||||
char **value; /* value information */
|
||||
void *pubring; /* public key ring */
|
||||
void *secring; /* s3kr1t key ring */
|
||||
void *io; /* the io struct for results/errs */
|
||||
void *passfp; /* file pointer for password input */
|
||||
} netpgp_t;
|
||||
|
||||
/* begin and end */
|
||||
int netpgp_init(netpgp_t *);
|
||||
int netpgp_end(netpgp_t *);
|
||||
|
||||
/* debugging, reflection and information */
|
||||
int netpgp_set_debug(const char *);
|
||||
int netpgp_get_debug(const char *);
|
||||
const char *netpgp_get_info(const char *);
|
||||
int netpgp_list_packets(netpgp_t *, char *, int, char *);
|
||||
|
||||
/* variables */
|
||||
int netpgp_setvar(netpgp_t *, const char *, const char *);
|
||||
char *netpgp_getvar(netpgp_t *, const char *);
|
||||
|
||||
/* key management */
|
||||
int netpgp_list_keys(netpgp_t *);
|
||||
int netpgp_list_sigs(netpgp_t *, const char *);
|
||||
int netpgp_find_key(netpgp_t *, char *);
|
||||
char *netpgp_get_key(netpgp_t *, const char *);
|
||||
int netpgp_export_key(netpgp_t *, char *);
|
||||
int netpgp_import_key(netpgp_t *, char *);
|
||||
int netpgp_generate_key(netpgp_t *, char *, int);
|
||||
|
||||
/* file management */
|
||||
int netpgp_encrypt_file(netpgp_t *, const char *, const char *, char *, int);
|
||||
int netpgp_decrypt_file(netpgp_t *, const char *, char *, int);
|
||||
int netpgp_sign_file(netpgp_t *, const char *, const char *, char *, int, int, int);
|
||||
int netpgp_verify_file(netpgp_t *, const char *, const char *, int);
|
||||
|
||||
/* memory signing */
|
||||
int netpgp_sign_memory(netpgp_t *, const char *, char *, size_t, char *, size_t, const unsigned, const unsigned);
|
||||
int netpgp_verify_memory(netpgp_t *, const void *, const size_t, const int);
|
||||
|
||||
__END_DECLS
|
||||
|
||||
#endif /* !NETPGP_H_ */
|
15
crypto/external/bsd/netpgp/dist/bindings/python/netpgp.py
vendored
Executable file
15
crypto/external/bsd/netpgp/dist/bindings/python/netpgp.py
vendored
Executable file
@ -0,0 +1,15 @@
|
||||
#! /usr/bin/env python2.5
|
||||
|
||||
# netpgp bindings for python
|
||||
import _netpgppython
|
||||
|
||||
# initialisations
|
||||
n = _netpgppython.new_netpgp_t()
|
||||
_netpgppython.netpgp_setvar(n, "homedir", "/home/agc/.gnupg")
|
||||
_netpgppython.netpgp_setvar(n, "hash", "SHA256")
|
||||
_netpgppython.netpgp_init(n)
|
||||
|
||||
userid = _netpgppython.netpgp_getvar(n, "userid")
|
||||
_netpgppython.netpgp_sign_file(n, userid, "a", "a.gpg", 0, 0, 0)
|
||||
_netpgppython.netpgp_verify_file(n, "a.gpg", "/dev/null", 0)
|
||||
|
7
crypto/external/bsd/netpgp/dist/bindings/python/netpgppython.i
vendored
Normal file
7
crypto/external/bsd/netpgp/dist/bindings/python/netpgppython.i
vendored
Normal file
@ -0,0 +1,7 @@
|
||||
%module netpgppython
|
||||
%{
|
||||
#include <netpgp.h>
|
||||
|
||||
|
||||
%}
|
||||
%include netpgp.h
|
112
crypto/external/bsd/netpgp/dist/bindings/python/netpgppython.py
vendored
Normal file
112
crypto/external/bsd/netpgp/dist/bindings/python/netpgppython.py
vendored
Normal file
@ -0,0 +1,112 @@
|
||||
# This file was automatically generated by SWIG (http://www.swig.org).
|
||||
# Version 1.3.31
|
||||
#
|
||||
# Don't modify this file, modify the SWIG interface instead.
|
||||
# This file is compatible with both classic and new-style classes.
|
||||
|
||||
import _netpgppython
|
||||
import new
|
||||
new_instancemethod = new.instancemethod
|
||||
try:
|
||||
_swig_property = property
|
||||
except NameError:
|
||||
pass # Python < 2.2 doesn't have 'property'.
|
||||
def _swig_setattr_nondynamic(self,class_type,name,value,static=1):
|
||||
if (name == "thisown"): return self.this.own(value)
|
||||
if (name == "this"):
|
||||
if type(value).__name__ == 'PySwigObject':
|
||||
self.__dict__[name] = value
|
||||
return
|
||||
method = class_type.__swig_setmethods__.get(name,None)
|
||||
if method: return method(self,value)
|
||||
if (not static) or hasattr(self,name):
|
||||
self.__dict__[name] = value
|
||||
else:
|
||||
raise AttributeError("You cannot add attributes to %s" % self)
|
||||
|
||||
def _swig_setattr(self,class_type,name,value):
|
||||
return _swig_setattr_nondynamic(self,class_type,name,value,0)
|
||||
|
||||
def _swig_getattr(self,class_type,name):
|
||||
if (name == "thisown"): return self.this.own()
|
||||
method = class_type.__swig_getmethods__.get(name,None)
|
||||
if method: return method(self)
|
||||
raise AttributeError,name
|
||||
|
||||
def _swig_repr(self):
|
||||
try: strthis = "proxy of " + self.this.__repr__()
|
||||
except: strthis = ""
|
||||
return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)
|
||||
|
||||
import types
|
||||
try:
|
||||
_object = types.ObjectType
|
||||
_newclass = 1
|
||||
except AttributeError:
|
||||
class _object : pass
|
||||
_newclass = 0
|
||||
del types
|
||||
|
||||
|
||||
class netpgp_t(_object):
|
||||
__swig_setmethods__ = {}
|
||||
__setattr__ = lambda self, name, value: _swig_setattr(self, netpgp_t, name, value)
|
||||
__swig_getmethods__ = {}
|
||||
__getattr__ = lambda self, name: _swig_getattr(self, netpgp_t, name)
|
||||
__repr__ = _swig_repr
|
||||
__swig_setmethods__["c"] = _netpgppython.netpgp_t_c_set
|
||||
__swig_getmethods__["c"] = _netpgppython.netpgp_t_c_get
|
||||
if _newclass:c = _swig_property(_netpgppython.netpgp_t_c_get, _netpgppython.netpgp_t_c_set)
|
||||
__swig_setmethods__["size"] = _netpgppython.netpgp_t_size_set
|
||||
__swig_getmethods__["size"] = _netpgppython.netpgp_t_size_get
|
||||
if _newclass:size = _swig_property(_netpgppython.netpgp_t_size_get, _netpgppython.netpgp_t_size_set)
|
||||
__swig_setmethods__["name"] = _netpgppython.netpgp_t_name_set
|
||||
__swig_getmethods__["name"] = _netpgppython.netpgp_t_name_get
|
||||
if _newclass:name = _swig_property(_netpgppython.netpgp_t_name_get, _netpgppython.netpgp_t_name_set)
|
||||
__swig_setmethods__["value"] = _netpgppython.netpgp_t_value_set
|
||||
__swig_getmethods__["value"] = _netpgppython.netpgp_t_value_get
|
||||
if _newclass:value = _swig_property(_netpgppython.netpgp_t_value_get, _netpgppython.netpgp_t_value_set)
|
||||
__swig_setmethods__["pubring"] = _netpgppython.netpgp_t_pubring_set
|
||||
__swig_getmethods__["pubring"] = _netpgppython.netpgp_t_pubring_get
|
||||
if _newclass:pubring = _swig_property(_netpgppython.netpgp_t_pubring_get, _netpgppython.netpgp_t_pubring_set)
|
||||
__swig_setmethods__["secring"] = _netpgppython.netpgp_t_secring_set
|
||||
__swig_getmethods__["secring"] = _netpgppython.netpgp_t_secring_get
|
||||
if _newclass:secring = _swig_property(_netpgppython.netpgp_t_secring_get, _netpgppython.netpgp_t_secring_set)
|
||||
__swig_setmethods__["io"] = _netpgppython.netpgp_t_io_set
|
||||
__swig_getmethods__["io"] = _netpgppython.netpgp_t_io_get
|
||||
if _newclass:io = _swig_property(_netpgppython.netpgp_t_io_get, _netpgppython.netpgp_t_io_set)
|
||||
__swig_setmethods__["passfp"] = _netpgppython.netpgp_t_passfp_set
|
||||
__swig_getmethods__["passfp"] = _netpgppython.netpgp_t_passfp_get
|
||||
if _newclass:passfp = _swig_property(_netpgppython.netpgp_t_passfp_get, _netpgppython.netpgp_t_passfp_set)
|
||||
def __init__(self, *args):
|
||||
this = _netpgppython.new_netpgp_t(*args)
|
||||
try: self.this.append(this)
|
||||
except: self.this = this
|
||||
__swig_destroy__ = _netpgppython.delete_netpgp_t
|
||||
__del__ = lambda self : None;
|
||||
netpgp_t_swigregister = _netpgppython.netpgp_t_swigregister
|
||||
netpgp_t_swigregister(netpgp_t)
|
||||
|
||||
netpgp_init = _netpgppython.netpgp_init
|
||||
netpgp_end = _netpgppython.netpgp_end
|
||||
netpgp_set_debug = _netpgppython.netpgp_set_debug
|
||||
netpgp_get_debug = _netpgppython.netpgp_get_debug
|
||||
netpgp_get_info = _netpgppython.netpgp_get_info
|
||||
netpgp_list_packets = _netpgppython.netpgp_list_packets
|
||||
netpgp_setvar = _netpgppython.netpgp_setvar
|
||||
netpgp_getvar = _netpgppython.netpgp_getvar
|
||||
netpgp_list_keys = _netpgppython.netpgp_list_keys
|
||||
netpgp_list_sigs = _netpgppython.netpgp_list_sigs
|
||||
netpgp_find_key = _netpgppython.netpgp_find_key
|
||||
netpgp_get_key = _netpgppython.netpgp_get_key
|
||||
netpgp_export_key = _netpgppython.netpgp_export_key
|
||||
netpgp_import_key = _netpgppython.netpgp_import_key
|
||||
netpgp_generate_key = _netpgppython.netpgp_generate_key
|
||||
netpgp_encrypt_file = _netpgppython.netpgp_encrypt_file
|
||||
netpgp_decrypt_file = _netpgppython.netpgp_decrypt_file
|
||||
netpgp_sign_file = _netpgppython.netpgp_sign_file
|
||||
netpgp_verify_file = _netpgppython.netpgp_verify_file
|
||||
netpgp_sign_memory = _netpgppython.netpgp_sign_memory
|
||||
netpgp_verify_memory = _netpgppython.netpgp_verify_memory
|
||||
|
||||
|
4764
crypto/external/bsd/netpgp/dist/bindings/python/netpgppython_wrap.c
vendored
Normal file
4764
crypto/external/bsd/netpgp/dist/bindings/python/netpgppython_wrap.c
vendored
Normal file
File diff suppressed because it is too large
Load Diff
2
crypto/external/bsd/netpgp/dist/bindings/python/shlib_version
vendored
Normal file
2
crypto/external/bsd/netpgp/dist/bindings/python/shlib_version
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
major=0
|
||||
minor=0
|
@ -49,7 +49,7 @@ perl)
|
||||
incpath='CPPFLAGS+=-I'"$dir"
|
||||
;;
|
||||
python)
|
||||
swigflags="-classic"
|
||||
swigflags="-shadow"
|
||||
dir=$(pkg_info -qL 'python*' | awk '/Python.h/ { gsub("/Python.h$", ""); print }')
|
||||
incpath='CPPFLAGS+=-I'"$dir"
|
||||
;;
|
||||
@ -100,3 +100,9 @@ minor=0
|
||||
EOF
|
||||
|
||||
env USETOOLS=no make
|
||||
|
||||
case "${lang}" in
|
||||
python)
|
||||
ln -s lib${module}${lang}.so _${module}${lang}.so
|
||||
;;
|
||||
esac
|
||||
|
Loading…
Reference in New Issue
Block a user