mirror of
git://git.gnupg.org/gnupg.git
synced 2025-03-11 22:52:47 +01:00
Clarified cURL and OpenLDAP license issues.
Made readline support work.
This commit is contained in:
parent
43ab905823
commit
b0a06d18a4
30
AUTHORS
30
AUTHORS
@ -125,8 +125,34 @@ GnuPG.
|
|||||||
The RPM specs file scripts/gnupg.spec has been contributed by
|
The RPM specs file scripts/gnupg.spec has been contributed by
|
||||||
several people.
|
several people.
|
||||||
|
|
||||||
Copyright 1998, 1999, 2000, 2001, 2002, 2004,
|
|
||||||
2005 Free Software Foundation, Inc.
|
Copyright
|
||||||
|
=========
|
||||||
|
|
||||||
|
GnuPG is distributed under the GNU General Public License, version 2
|
||||||
|
or later. A few files are under the Lesser General Public License, a
|
||||||
|
few other files carry the all permissive license note as found at the
|
||||||
|
bottom of this file. Certain files in keyserver/ allow one specific
|
||||||
|
exception:
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
Note that the gpgkeys_* binaries are currently installed under the
|
||||||
|
name gpg2keys_*.
|
||||||
|
|
||||||
|
=========
|
||||||
|
|
||||||
|
Copyright 1998, 1999, 2000, 2001, 2002, 2004, 2005,
|
||||||
|
2006 Free Software Foundation, Inc.
|
||||||
|
|
||||||
This file is free software; as a special exception the author gives
|
This file is free software; as a special exception the author gives
|
||||||
unlimited permission to copy and/or distribute it, with or without
|
unlimited permission to copy and/or distribute it, with or without
|
||||||
|
@ -1,3 +1,7 @@
|
|||||||
|
2006-09-22 Werner Koch <wk@g10code.com>
|
||||||
|
|
||||||
|
* AUTHORS: Add information about used licenses.
|
||||||
|
|
||||||
2006-09-20 Werner Koch <wk@g10code.com>
|
2006-09-20 Werner Koch <wk@g10code.com>
|
||||||
|
|
||||||
* Makefile.am (dist-hook): Removed distfiles cruft.
|
* Makefile.am (dist-hook): Removed distfiles cruft.
|
||||||
|
@ -1,3 +1,10 @@
|
|||||||
|
2006-09-22 Werner Koch <wk@g10code.com>
|
||||||
|
|
||||||
|
* i18n.h: Changed license to an all permissive one.
|
||||||
|
|
||||||
|
* ttyio.c (tty_get): We need to use readline too. Added two more
|
||||||
|
hooks.
|
||||||
|
|
||||||
2006-09-21 Werner Koch <wk@g10code.com>
|
2006-09-21 Werner Koch <wk@g10code.com>
|
||||||
|
|
||||||
* ttyio.c (tty_private_set_rl_hooks): New.
|
* ttyio.c (tty_private_set_rl_hooks): New.
|
||||||
|
@ -23,9 +23,12 @@
|
|||||||
#define GNUPG_COMMON_COMMON_DEFS_H
|
#define GNUPG_COMMON_COMMON_DEFS_H
|
||||||
|
|
||||||
/*-- ttyio.c --*/
|
/*-- ttyio.c --*/
|
||||||
void tty_private_set_rl_hooks (void (*set_completer) (rl_completion_func_t*),
|
void tty_private_set_rl_hooks (void (*init_stream) (FILE *),
|
||||||
|
void (*set_completer) (rl_completion_func_t*),
|
||||||
void (*inhibit_completion) (int),
|
void (*inhibit_completion) (int),
|
||||||
void (*cleanup_after_signal) (void) );
|
void (*cleanup_after_signal) (void),
|
||||||
|
char *(*readline_fun) (const char*),
|
||||||
|
void (*add_history_fun) (const char*));
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,22 +1,14 @@
|
|||||||
/* i18n.h
|
/* i18n.h
|
||||||
* Copyright (C) 1998, 2001 Free Software Foundation, Inc.
|
* Copyright (C) 1998, 2001 Free Software Foundation, Inc.
|
||||||
*
|
*
|
||||||
* This file is part of GnuPG.
|
* This file is free software; as a special exception the author gives
|
||||||
|
* unlimited permission to copy and/or distribute it, with or without
|
||||||
|
* modifications, as long as this notice is preserved.
|
||||||
*
|
*
|
||||||
* GnuPG is free software; you can redistribute it and/or modify
|
* This file is distributed in the hope that it will be useful, but
|
||||||
* it under the terms of the GNU General Public License as published by
|
* WITHOUT ANY WARRANTY, to the extent permitted by law; without even
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
* the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||||
* (at your option) any later version.
|
* PURPOSE.
|
||||||
*
|
|
||||||
* GnuPG is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, write to the Free Software
|
|
||||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
|
||||||
* USA.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef GNUPG_COMMON_I18N_H
|
#ifndef GNUPG_COMMON_I18N_H
|
||||||
|
@ -81,7 +81,9 @@ static int no_terminal;
|
|||||||
static void (*my_rl_set_completer) (rl_completion_func_t *);
|
static void (*my_rl_set_completer) (rl_completion_func_t *);
|
||||||
static void (*my_rl_inhibit_completion) (int);
|
static void (*my_rl_inhibit_completion) (int);
|
||||||
static void (*my_rl_cleanup_after_signal) (void);
|
static void (*my_rl_cleanup_after_signal) (void);
|
||||||
|
static void (*my_rl_init_stream) (FILE *);
|
||||||
|
static char *(*my_rl_readline) (const char*);
|
||||||
|
static void (*my_rl_add_history) (const char*);
|
||||||
|
|
||||||
|
|
||||||
/* This is a wrapper around ttyname so that we can use it even when
|
/* This is a wrapper around ttyname so that we can use it even when
|
||||||
@ -174,6 +176,10 @@ init_ttyfp(void)
|
|||||||
exit(2);
|
exit(2);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
if (my_rl_init_stream)
|
||||||
|
my_rl_init_stream (ttyfp);
|
||||||
|
|
||||||
#ifdef HAVE_TCGETATTR
|
#ifdef HAVE_TCGETATTR
|
||||||
atexit( cleanup );
|
atexit( cleanup );
|
||||||
#endif
|
#endif
|
||||||
@ -520,6 +526,38 @@ do_get( const char *prompt, int hidden )
|
|||||||
char *
|
char *
|
||||||
tty_get( const char *prompt )
|
tty_get( const char *prompt )
|
||||||
{
|
{
|
||||||
|
if (!batchmode && !no_terminal && my_rl_readline && my_rl_add_history)
|
||||||
|
{
|
||||||
|
char *line;
|
||||||
|
char *buf;
|
||||||
|
|
||||||
|
if (!initialized)
|
||||||
|
init_ttyfp();
|
||||||
|
|
||||||
|
last_prompt_len = 0;
|
||||||
|
|
||||||
|
line = my_rl_readline (prompt?prompt:"");
|
||||||
|
|
||||||
|
/* We need to copy it to memory controlled by our malloc
|
||||||
|
implementations; further we need to convert an EOF to our
|
||||||
|
convention. */
|
||||||
|
buf = xmalloc(line? strlen(line)+1:2);
|
||||||
|
if (line)
|
||||||
|
{
|
||||||
|
strcpy (buf, line);
|
||||||
|
trim_spaces (buf);
|
||||||
|
if (strlen (buf) > 2 )
|
||||||
|
my_rl_add_history (line); /* Note that we test BUF but add LINE. */
|
||||||
|
free (line);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
buf[0] = CONTROL_D;
|
||||||
|
buf[1] = 0;
|
||||||
|
}
|
||||||
|
return buf;
|
||||||
|
}
|
||||||
|
else
|
||||||
return do_get ( prompt, 0 );
|
return do_get ( prompt, 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -573,13 +611,19 @@ tty_get_answer_is_yes( const char *prompt )
|
|||||||
|
|
||||||
/* Called by gnupg_rl_initialize to setup the reradline support. */
|
/* Called by gnupg_rl_initialize to setup the reradline support. */
|
||||||
void
|
void
|
||||||
tty_private_set_rl_hooks (void (*set_completer) (rl_completion_func_t*),
|
tty_private_set_rl_hooks (void (*init_stream) (FILE *),
|
||||||
|
void (*set_completer) (rl_completion_func_t*),
|
||||||
void (*inhibit_completion) (int),
|
void (*inhibit_completion) (int),
|
||||||
void (*cleanup_after_signal) (void))
|
void (*cleanup_after_signal) (void),
|
||||||
|
char *(*readline_fun) (const char*),
|
||||||
|
void (*add_history_fun) (const char*))
|
||||||
{
|
{
|
||||||
|
my_rl_init_stream = init_stream;
|
||||||
my_rl_set_completer = set_completer;
|
my_rl_set_completer = set_completer;
|
||||||
my_rl_inhibit_completion = inhibit_completion;
|
my_rl_inhibit_completion = inhibit_completion;
|
||||||
my_rl_cleanup_after_signal = cleanup_after_signal;
|
my_rl_cleanup_after_signal = cleanup_after_signal;
|
||||||
|
my_rl_readline = readline_fun;
|
||||||
|
my_rl_add_history = add_history_fun;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,3 +1,25 @@
|
|||||||
|
2006-09-22 Werner Koch <wk@g10code.com>
|
||||||
|
|
||||||
|
* gpgkeys_curl.c, gpgkeys_hkp.c, gpgkeys_ldap.c, curl-shim.c:
|
||||||
|
* curl-shim.h, 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.
|
||||||
|
|
||||||
|
* Makefile.am (gpg2keys_ldap_LDADD): For license reasons do not
|
||||||
|
link against common_libs.
|
||||||
|
(gpg2keys_curl_LDADD, gpg2keys_hkp_LDADD): Ditto.
|
||||||
|
* ksutil.c (ks_hextobyte, ks_toupper, ks_strcasecmp): New.
|
||||||
|
Identical to the ascii_foo versions from jnlib.
|
||||||
|
* gpgkeys_ldap.c: Include assert.h.
|
||||||
|
(main): Replace BUG by assert.
|
||||||
|
(build_attrs): Use ks_hextobyte and ks_strcasecmp.
|
||||||
|
|
||||||
|
* gpgkeys_finger.c (get_key): Resolved signed/unisgned char
|
||||||
|
mismatch.
|
||||||
|
|
||||||
2006-09-19 Werner Koch <wk@g10code.com>
|
2006-09-19 Werner Koch <wk@g10code.com>
|
||||||
|
|
||||||
* no-libgcrypt.c: New. Taken from ../tools.
|
* no-libgcrypt.c: New. Taken from ../tools.
|
||||||
|
@ -18,6 +18,10 @@
|
|||||||
|
|
||||||
## Process this file with automake to produce Makefile.in
|
## Process this file with automake to produce Makefile.in
|
||||||
|
|
||||||
|
# Note that we have renamed the resulting binaries to from gpgkeys_foo
|
||||||
|
# to gpg2keys_foo to allow for a non-conflicting installation of
|
||||||
|
# gnupg1 and gnupg2. Having the same names for the helpers would
|
||||||
|
# otherwise lead to trouble when to uninstall one of them.
|
||||||
EXTRA_PROGRAMS = gpg2keys_ldap gpg2keys_hkp gpg2keys_finger gpg2keys_curl
|
EXTRA_PROGRAMS = gpg2keys_ldap gpg2keys_hkp gpg2keys_finger gpg2keys_curl
|
||||||
EXTRA_SCRIPTS = gpg2keys_mailto
|
EXTRA_SCRIPTS = gpg2keys_mailto
|
||||||
|
|
||||||
@ -42,7 +46,7 @@ gpg2keys_curl_SOURCES = gpgkeys_curl.c ksutil.c ksutil.h no-libgcrypt.c
|
|||||||
|
|
||||||
|
|
||||||
gpg2keys_ldap_CPPFLAGS = $(LDAP_CPPFLAGS) $(AM_CPPFLAGS)
|
gpg2keys_ldap_CPPFLAGS = $(LDAP_CPPFLAGS) $(AM_CPPFLAGS)
|
||||||
gpg2keys_ldap_LDADD = $(common_libs) $(LDAPLIBS) $(NETLIBS) \
|
gpg2keys_ldap_LDADD = $(LDAPLIBS) $(NETLIBS) \
|
||||||
$(other_libs) $(W32LIBS)
|
$(other_libs) $(W32LIBS)
|
||||||
|
|
||||||
gpg2keys_finger_LDADD = $(common_libs) $(LIBGCRYPT_LIBS) \
|
gpg2keys_finger_LDADD = $(common_libs) $(LIBGCRYPT_LIBS) \
|
||||||
@ -50,10 +54,10 @@ gpg2keys_finger_LDADD = $(common_libs) $(LIBGCRYPT_LIBS) \
|
|||||||
|
|
||||||
if FAKE_CURL
|
if FAKE_CURL
|
||||||
gpg2keys_curl_SOURCES += curl-shim.c curl-shim.h
|
gpg2keys_curl_SOURCES += curl-shim.c curl-shim.h
|
||||||
gpg2keys_curl_LDADD = $(common_libs) $(NETLIBS) $(DNSLIBS) \
|
gpg2keys_curl_LDADD = $(NETLIBS) $(DNSLIBS) \
|
||||||
$(other_libs) $(W32LIBS)
|
$(other_libs) $(W32LIBS)
|
||||||
gpg2keys_hkp_SOURCES += curl-shim.c curl-shim.h
|
gpg2keys_hkp_SOURCES += curl-shim.c curl-shim.h
|
||||||
gpg2keys_hkp_LDADD = $(common_libs) $(NETLIBS) $(DNSLIBS) \
|
gpg2keys_hkp_LDADD = $(NETLIBS) $(DNSLIBS) \
|
||||||
$(other_libs) $(W32LIBS)
|
$(other_libs) $(W32LIBS)
|
||||||
else
|
else
|
||||||
gpg2keys_curl_CPPFLAGS = $(LIBCURL_CPPFLAGS) $(AM_CPPFLAGS)
|
gpg2keys_curl_CPPFLAGS = $(LIBCURL_CPPFLAGS) $(AM_CPPFLAGS)
|
||||||
|
@ -19,6 +19,17 @@
|
|||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||||
* USA.
|
* 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>
|
#include <config.h>
|
||||||
|
@ -17,6 +17,17 @@
|
|||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||||
* USA.
|
* 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 _CURL_SHIM_H_
|
#ifndef _CURL_SHIM_H_
|
||||||
|
@ -17,6 +17,17 @@
|
|||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||||
* USA.
|
* 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>
|
#include <config.h>
|
||||||
|
@ -325,13 +325,13 @@ get_key (char *getkey)
|
|||||||
|
|
||||||
if(gotit)
|
if(gotit)
|
||||||
{
|
{
|
||||||
print_nocr(output,line);
|
print_nocr(output, (const char*)line);
|
||||||
if (!strncmp(line,END,strlen(END)))
|
if (!strncmp((char*)line,END,strlen(END)))
|
||||||
break;
|
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;
|
gotit=1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -17,6 +17,17 @@
|
|||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||||
* USA.
|
* 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>
|
#include <config.h>
|
||||||
|
@ -17,6 +17,17 @@
|
|||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||||
* USA.
|
* 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>
|
#include <config.h>
|
||||||
@ -29,6 +40,7 @@
|
|||||||
#endif
|
#endif
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
#include <assert.h>
|
||||||
|
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
#include <winsock2.h>
|
#include <winsock2.h>
|
||||||
@ -355,7 +367,7 @@ build_attrs(LDAPMod ***modlist,char *line)
|
|||||||
if((record=strsep(&line,":"))==NULL)
|
if((record=strsep(&line,":"))==NULL)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if(ascii_strcasecmp("pub",record)==0)
|
if(ks_strcasecmp("pub",record)==0)
|
||||||
{
|
{
|
||||||
char *tok;
|
char *tok;
|
||||||
int disabled=0,revoked=0;
|
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,"pgpDisabled",disabled?"1":"0");
|
||||||
make_one_attr(modlist,"pgpRevoked",revoked?"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;
|
char *tok;
|
||||||
|
|
||||||
@ -499,7 +511,7 @@ build_attrs(LDAPMod ***modlist,char *line)
|
|||||||
/* Ignore the rest of the items for subkeys since the LDAP
|
/* Ignore the rest of the items for subkeys since the LDAP
|
||||||
schema doesn't store them. */
|
schema doesn't store them. */
|
||||||
}
|
}
|
||||||
else if(ascii_strcasecmp("uid",record)==0)
|
else if(ks_strcasecmp("uid",record)==0)
|
||||||
{
|
{
|
||||||
char *userid,*tok;
|
char *userid,*tok;
|
||||||
|
|
||||||
@ -520,7 +532,7 @@ build_attrs(LDAPMod ***modlist,char *line)
|
|||||||
while(*tok)
|
while(*tok)
|
||||||
if(tok[0]=='%' && tok[1] && tok[2])
|
if(tok[0]=='%' && tok[1] && tok[2])
|
||||||
{
|
{
|
||||||
if((userid[i]=hextobyte(&tok[1]))==-1)
|
if((userid[i]=ks_hextobyte(&tok[1]))==-1)
|
||||||
userid[i]='?';
|
userid[i]='?';
|
||||||
|
|
||||||
i++;
|
i++;
|
||||||
@ -536,7 +548,7 @@ build_attrs(LDAPMod ***modlist,char *line)
|
|||||||
|
|
||||||
make_one_attr(modlist,"pgpUserID",userid);
|
make_one_attr(modlist,"pgpUserID",userid);
|
||||||
}
|
}
|
||||||
else if(ascii_strcasecmp("sig",record)==0)
|
else if(ks_strcasecmp("sig",record)==0)
|
||||||
{
|
{
|
||||||
char *tok;
|
char *tok;
|
||||||
|
|
||||||
@ -2325,7 +2337,7 @@ main(int argc,char *argv[])
|
|||||||
free(searchkey);
|
free(searchkey);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
BUG();
|
assert (!"bad action");
|
||||||
|
|
||||||
if(!failed)
|
if(!failed)
|
||||||
ret=KEYSERVER_OK;
|
ret=KEYSERVER_OK;
|
||||||
|
@ -17,6 +17,17 @@
|
|||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||||
* USA.
|
* 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>
|
#include <config.h>
|
||||||
@ -538,3 +549,55 @@ curl_writer_finalize(struct curl_writer_ctx *ctx)
|
|||||||
ctx->flags.done=1;
|
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));
|
||||||
|
}
|
||||||
|
@ -1,14 +1,14 @@
|
|||||||
/* ksutil.h
|
/* ksutil.h
|
||||||
* Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc.
|
* Copyright (C) 2004, 2005, 2006 Free Software Foundation, Inc.
|
||||||
*
|
*
|
||||||
* This file is part of GNUPG.
|
* This file is part of GnuPG.
|
||||||
*
|
*
|
||||||
* GNUPG is free software; you can redistribute it and/or modify
|
* GnuPG is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
* (at your option) any later version.
|
* (at your option) any later version.
|
||||||
*
|
*
|
||||||
* GNUPG is distributed in the hope that it will be useful,
|
* GnuPG is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
* GNU General Public License for more details.
|
* GNU General Public License for more details.
|
||||||
@ -17,6 +17,17 @@
|
|||||||
* along with this program; if not, write to the Free Software
|
* along with this program; if not, write to the Free Software
|
||||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
||||||
* USA.
|
* 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_
|
#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);
|
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);
|
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_ */
|
#endif /* !_KSUTIL_H_ */
|
||||||
|
@ -1,3 +1,7 @@
|
|||||||
|
2006-09-22 Werner Koch <wk@g10code.com>
|
||||||
|
|
||||||
|
* no-libgcrypt.c: Changed license to a simple all permissive one.
|
||||||
|
|
||||||
2006-09-20 Werner Koch <wk@g10code.com>
|
2006-09-20 Werner Koch <wk@g10code.com>
|
||||||
|
|
||||||
* Makefile.am: Changes to allow parallel make runs.
|
* Makefile.am: Changes to allow parallel make runs.
|
||||||
|
@ -1,22 +1,14 @@
|
|||||||
/* no-libgcrypt.c - Replacement functions for libgcrypt.
|
/* no-libgcrypt.c - Replacement functions for libgcrypt.
|
||||||
* Copyright (C) 2003 Free Software Foundation, Inc.
|
* Copyright (C) 2003 Free Software Foundation, Inc.
|
||||||
*
|
*
|
||||||
* This file is part of GnuPG.
|
* This file is free software; as a special exception the author gives
|
||||||
|
* unlimited permission to copy and/or distribute it, with or without
|
||||||
|
* modifications, as long as this notice is preserved.
|
||||||
*
|
*
|
||||||
* GnuPG is free software; you can redistribute it and/or modify
|
* This file is distributed in the hope that it will be useful, but
|
||||||
* it under the terms of the GNU General Public License as published by
|
* WITHOUT ANY WARRANTY, to the extent permitted by law; without even
|
||||||
* the Free Software Foundation; either version 2 of the License, or
|
* the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
|
||||||
* (at your option) any later version.
|
* PURPOSE.
|
||||||
*
|
|
||||||
* GnuPG is distributed in the hope that it will be useful,
|
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
||||||
* GNU General Public License for more details.
|
|
||||||
*
|
|
||||||
* You should have received a copy of the GNU General Public License
|
|
||||||
* along with this program; if not, write to the Free Software
|
|
||||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
|
|
||||||
* USA.
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <config.h>
|
#include <config.h>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user