mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-02 22:46:30 +02:00
Allow to build w/o curl.
This commit is contained in:
parent
39600e7278
commit
29f68725d0
13 changed files with 169 additions and 36 deletions
|
@ -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
|
||||
|
|
|
@ -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@
|
||||
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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>
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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));
|
||||
}
|
||||
|
|
|
@ -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_ */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue