1
0
mirror of git://git.gnupg.org/gnupg.git synced 2024-12-22 10:19:57 +01:00

Allow to build w/o curl.

This commit is contained in:
Werner Koch 2006-09-26 14:15:17 +00:00
parent 39600e7278
commit 29f68725d0
13 changed files with 169 additions and 36 deletions

View File

@ -1,4 +1,7 @@
-*- text -*-
NOTE: The definitive reference is the file from the SVN trunk.
Format of colon listings
========================
First an example:

View File

@ -1,3 +1,8 @@
2006-08-21 Werner Koch <wk@g10code.com>
* skclist.c (is_insecure): Also test for uppercase version of the
insecure string.
2006-07-31 Werner Koch <wk@g10code.com>
* openfile.c (open_outfile) [USE_ONLY_8DOT3]: Search backwards for

View File

@ -69,7 +69,8 @@ is_insecure( PKT_secret_key *sk )
continue; /* skip attribute packets */
if ( strstr( id->name, "(insecure!)" )
|| strstr( id->name, "not secure" )
|| strstr( id->name, "do not use" ) ) {
|| strstr( id->name, "do not use" )
|| strstr( id->name, "(INSECURE!)" ) ) {
insecure = 1;
break;
}

View File

@ -1,3 +1,19 @@
2006-09-26 Werner Koch <wk@g10code.com>
* gpgkeys_finger.c (get_key): Cast away signed/unsigned char ptr
mismatches.
* ksutil.c (ks_hextobyte, ks_toupper, ks_strcasecmp): New. Use
them instead of there ascii_foo counterparts.
* gpgkeys_ldap.c (main): Replaced BUG by assert.
* gpgkeys_curl.c, gpgkeys_hkp.c, gpgkeys_ldap.c, ksutil.c:
* ksutil.h: Add special license exception for OpenSSL. This helps
to avoid license conflicts if OpenLDAP or cURL is linked against
OpenSSL and we would thus indirectly link to OpenSSL. This is
considered a bug fix and forgives all possible violations,
pertaining to this issue, possibly occured in the past.
2006-07-26 David Shaw <dshaw@jabberwocky.com>
* Makefile.am: Fix missing include path for gpgkeys_finger (needs

View File

@ -36,7 +36,7 @@ gpgkeys_curl_SOURCES = gpgkeys_curl.c ksutil.c ksutil.h
other_libs = $(LIBICONV) $(LIBINTL) $(CAPLIBS)
gpgkeys_ldap_CPPFLAGS = @LDAP_CPPFLAGS@
gpgkeys_ldap_LDADD = ../util/libutil.a @LDAPLIBS@ @NETLIBS@ $(other_libs) @GETOPT@ @W32LIBS@
gpgkeys_ldap_LDADD = @LDAPLIBS@ @NETLIBS@ $(other_libs) @GETOPT@ @W32LIBS@
gpgkeys_finger_LDADD = ../util/libutil.a @NETLIBS@ $(other_libs) @GETOPT@ @W32LIBS@

View File

@ -17,6 +17,17 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
* USA.
*
* In addition, as a special exception, the Free Software Foundation
* gives permission to link the code of the keyserver helper tools:
* gpgkeys_ldap, gpgkeys_curl and gpgkeys_hkp with the OpenSSL
* project's "OpenSSL" library (or with modified versions of it that
* use the same license as the "OpenSSL" library), and distribute the
* linked executables. You must obey the GNU General Public License
* in all respects for all of the code used other than "OpenSSL". If
* you modify this file, you may extend this exception to your version
* of the file, but you are not obligated to do so. If you do not
* wish to do so, delete this exception statement from your version.
*/
#include <config.h>

View File

@ -324,13 +324,13 @@ get_key (char *getkey)
if(gotit)
{
print_nocr(output,line);
if (!strncmp(line,END,strlen(END)))
print_nocr (output, (const char*)line);
if (!strncmp((char*)line,END,strlen(END)))
break;
}
else if(!strncmp(line,BEGIN,strlen(BEGIN)))
else if(!strncmp((char*)line,BEGIN,strlen(BEGIN)))
{
print_nocr(output,line);
print_nocr(output, (const char*)line);
gotit=1;
}
}

View File

@ -17,6 +17,17 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
* USA.
*
* In addition, as a special exception, the Free Software Foundation
* gives permission to link the code of the keyserver helper tools:
* gpgkeys_ldap, gpgkeys_curl and gpgkeys_hkp with the OpenSSL
* project's "OpenSSL" library (or with modified versions of it that
* use the same license as the "OpenSSL" library), and distribute the
* linked executables. You must obey the GNU General Public License
* in all respects for all of the code used other than "OpenSSL". If
* you modify this file, you may extend this exception to your version
* of the file, but you are not obligated to do so. If you do not
* wish to do so, delete this exception statement from your version.
*/
#include <config.h>

View File

@ -17,6 +17,17 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
* USA.
*
* In addition, as a special exception, the Free Software Foundation
* gives permission to link the code of the keyserver helper tools:
* gpgkeys_ldap, gpgkeys_curl and gpgkeys_hkp with the OpenSSL
* project's "OpenSSL" library (or with modified versions of it that
* use the same license as the "OpenSSL" library), and distribute the
* linked executables. You must obey the GNU General Public License
* in all respects for all of the code used other than "OpenSSL". If
* you modify this file, you may extend this exception to your version
* of the file, but you are not obligated to do so. If you do not
* wish to do so, delete this exception statement from your version.
*/
#include <config.h>
@ -29,6 +40,7 @@
#endif
#include <stdlib.h>
#include <errno.h>
#include <assert.h>
#ifdef _WIN32
#include <winsock2.h>
@ -355,7 +367,7 @@ build_attrs(LDAPMod ***modlist,char *line)
if((record=strsep(&line,":"))==NULL)
return;
if(ascii_strcasecmp("pub",record)==0)
if (ks_strcasecmp("pub",record)==0)
{
char *tok;
int disabled=0,revoked=0;
@ -461,7 +473,7 @@ build_attrs(LDAPMod ***modlist,char *line)
make_one_attr(modlist,"pgpDisabled",disabled?"1":"0");
make_one_attr(modlist,"pgpRevoked",revoked?"1":"0");
}
else if(ascii_strcasecmp("sub",record)==0)
else if (ks_strcasecmp("sub",record)==0)
{
char *tok;
@ -499,7 +511,7 @@ build_attrs(LDAPMod ***modlist,char *line)
/* Ignore the rest of the items for subkeys since the LDAP
schema doesn't store them. */
}
else if(ascii_strcasecmp("uid",record)==0)
else if (ks_strcasecmp("uid",record)==0)
{
char *userid,*tok;
@ -520,7 +532,7 @@ build_attrs(LDAPMod ***modlist,char *line)
while(*tok)
if(tok[0]=='%' && tok[1] && tok[2])
{
if((userid[i]=hextobyte(&tok[1]))==-1)
if((userid[i]=ks_hextobyte(&tok[1]))==-1)
userid[i]='?';
i++;
@ -536,7 +548,7 @@ build_attrs(LDAPMod ***modlist,char *line)
make_one_attr(modlist,"pgpUserID",userid);
}
else if(ascii_strcasecmp("sig",record)==0)
else if(ks_strcasecmp("sig",record)==0)
{
char *tok;
@ -2325,7 +2337,7 @@ main(int argc,char *argv[])
free(searchkey);
}
else
BUG();
assert (!"invalid action");
if(!failed)
ret=KEYSERVER_OK;

View File

@ -17,6 +17,17 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
* USA.
*
* In addition, as a special exception, the Free Software Foundation
* gives permission to link the code of the keyserver helper tools:
* gpgkeys_ldap, gpgkeys_curl and gpgkeys_hkp with the OpenSSL
* project's "OpenSSL" library (or with modified versions of it that
* use the same license as the "OpenSSL" library), and distribute the
* linked executables. You must obey the GNU General Public License
* in all respects for all of the code used other than "OpenSSL". If
* you modify this file, you may extend this exception to your version
* of the file, but you are not obligated to do so. If you do not
* wish to do so, delete this exception statement from your version.
*/
#include <config.h>
@ -538,3 +549,54 @@ curl_writer_finalize(struct curl_writer_ctx *ctx)
ctx->flags.done=1;
}
}
int
ks_hextobyte (const char *s)
{
int c;
if ( *s >= '0' && *s <= '9' )
c = 16 * (*s - '0');
else if ( *s >= 'A' && *s <= 'F' )
c = 16 * (10 + *s - 'A');
else if ( *s >= 'a' && *s <= 'f' )
c = 16 * (10 + *s - 'a');
else
return -1;
s++;
if ( *s >= '0' && *s <= '9' )
c += *s - '0';
else if ( *s >= 'A' && *s <= 'F' )
c += 10 + *s - 'A';
else if ( *s >= 'a' && *s <= 'f' )
c += 10 + *s - 'a';
else
return -1;
return c;
}
/* Non localized version of toupper. */
int
ks_toupper (int c)
{
if (c >= 'a' && c <= 'z')
c &= ~0x20;
return c;
}
/* Non localized version of strcasecmp. */
int
ks_strcasecmp (const char *a, const char *b)
{
if (a == b)
return 0;
for (; *a && *b; a++, b++)
{
if (*a != *b && ks_toupper (*a) != ks_toupper (*b))
break;
}
return *a == *b? 0 : (ks_toupper (*a) - ks_toupper (*b));
}

View File

@ -17,6 +17,17 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
* USA.
*
* In addition, as a special exception, the Free Software Foundation
* gives permission to link the code of the keyserver helper tools:
* gpgkeys_ldap, gpgkeys_curl and gpgkeys_hkp with the OpenSSL
* project's "OpenSSL" library (or with modified versions of it that
* use the same license as the "OpenSSL" library), and distribute the
* linked executables. You must obey the GNU General Public License
* in all respects for all of the code used other than "OpenSSL". If
* you modify this file, you may extend this exception to your version
* of the file, but you are not obligated to do so. If you do not
* wish to do so, delete this exception statement from your version.
*/
#ifndef _KSUTIL_H_
@ -127,4 +138,9 @@ struct curl_writer_ctx
size_t curl_writer(const void *ptr,size_t size,size_t nmemb,void *cw_ctx);
void curl_writer_finalize(struct curl_writer_ctx *ctx);
int ks_hextobyte (const char *s);
int ks_toupper (int c);
int ks_strcasecmp (const char *a, const char *b);
#endif /* !_KSUTIL_H_ */

View File

@ -1,3 +1,7 @@
2006-09-13 Werner Koch <wk@g10code.com>
* autogen.sh: Better detection of the cross compiler.
2006-04-03 Werner Koch <wk@g10code.com>
* w32installer.nsi: Install curl and not http keyserver helper.

View File

@ -51,34 +51,26 @@ if test "$1" = "--build-w32"; then
fi
build=`$tsdir/scripts/config.guess`
# See whether we have the Debian cross compiler package or the
# old mingw32/cpd system
if i586-mingw32msvc-gcc --version >/dev/null 2>&1 ; then
host=i586-mingw32msvc
crossbindir=/usr/$host/bin
conf_CC="CC=${host}-gcc"
else
host=i386--mingw32
if ! mingw32 --version >/dev/null; then
echo "We need at least version 0.3 of MingW32/CPD" >&2
exit 1
fi
echo "MingW32/CPD is no longer supported" >&2
exit 1
# crossbindir=`mingw32 --install-dir`/bin
# # Old autoconf version required us to setup the environment
# # with the proper tool names.
# CC=`mingw32 --get-path gcc`
# CPP=`mingw32 --get-path cpp`
# AR=`mingw32 --get-path ar`
# RANLIB=`mingw32 --get-path ranlib`
# export CC CPP AR RANLIB
# conf_CC=""
# Locate the cross compiler
crossbindir=
for host in i586-mingw32msvc i386-mingw32msvc; do
if ${host}-gcc --version >/dev/null 2>&1 ; then
crossbindir=/usr/${host}/bin
conf_CC="CC=${host}-gcc"
break;
fi
done
if [ -z "$crossbindir" ]; then
echo "Cross compiler kit not installed" >&2
echo "Under Debian GNU/Linux, you may install it using" >&2
echo " apt-get install mingw32 mingw32-runtime mingw32-binutils" >&2
echo "Stop." >&2
exit 1
fi
if [ -f "$tsdir/config.log" ]; then
if ! head $tsdir/config.log | grep "$host" >/dev/null; then
echo "Pease run a 'make distclean' first" >&2
echo "Please run a 'make distclean' first" >&2
exit 1
fi
fi