1
0
mirror of git://git.gnupg.org/gnupg.git synced 2024-12-23 10:29:58 +01:00

127 Commits

Author SHA1 Message Date
David Shaw
6c5507fff0 * gpgkeys_ldap.c (get_key, search_key), gpgkeys_hkp.c (get_key,
search_key), gpgkeys_http.c (get_key): Do not give informational logs
since this is now done inside gpg.
2004-08-23 19:54:40 +00:00
David Shaw
d612492e7d * gpgkeys_hkp.c (dehtmlize): Understand the quote character (i.e.
""") in HTML responses. (search_key): Search key must be unsigned for
url encoder to work properly for 8-bit values.
2004-08-23 17:43:40 +00:00
David Shaw
357afb5084 * gpgkeys_ldap.c (get_key): Factor out informational display into new
function build_info().
2004-08-23 16:59:11 +00:00
David Shaw
b27b7aea6d * gpgkeys_ldap.c (build_attrs): Properly terminate user ID strings that
got shrunk due to encoding.
2004-08-23 14:24:05 +00:00
David Shaw
4615a538bf * gpgkeys_ldap.c (find_basekeyspacedn): Use LDAP_SCOPE_BASE along with a
full DN rather than LDAP_SCOPE_ONELEVEL plus a filter to find the
pgpServerInfo object.  Some LDAP setups don't like the search. (main):
Stop binding to the server since it seems no server really requires it,
and some require it not be there.
2004-08-23 03:13:27 +00:00
David Shaw
f7a793ae28 * gpgkeys_ldap.c (main): Add "debug" option. This is only really useful
with OpenLDAP, but it's practically vital to debug SSL and TLS setups.
Add "basedn" option.  This allows users to override the autodetection for
base DN.  SSL overrides TLS, so TLS will not be started on SSL connections
(starting an already started car).
2004-07-29 14:01:04 +00:00
David Shaw
a2914a1592 * gpgkeys_ldap.c (build_attrs): Add "pgpKeySize" and "pgpSubKeyID"
attributes so we can do subkey searches.

* gpgkeys_ldap.c (main): Under certain error conditions, we might try and
unbind twice.  Don't.
2004-07-28 19:55:21 +00:00
David Shaw
4552115bbb * gpgkeys_ldap.c (join_two_modlists): New. (send_key): Use new function so
we can try a modify operation first, and fail over to an add if that
fails.  Add cannot cope with the NULLs at the head of the modify request,
so we jump into the list in the middle.
2004-07-28 19:45:23 +00:00
David Shaw
a32297863b * gpgkeys_ldap.c (main): Don't try and error out before making a ldaps
connection to the NAI keyserver since we cannot tell if it is a NAI
keyserver until we connect.  Fail if we cannot find a base keyspace DN.
Fix a false success message for TLS being enabled.
2004-07-28 02:36:45 +00:00
Werner Koch
5d4fb57347 * configure.ac (AM_GNU_GETTEXT_VERSION): New.
(min_automake_version): New.

* LINGUAS: Added all languages we supported in 1.2.5.
Copied all po files from 1.2.5.

* autogen.sh: Updated to the modern version, grepping the required
tool versions from configure.ac.
2004-07-27 15:12:00 +00:00
David Shaw
d9f1eed99e * gpgkeys_http.c: General polish and removal of leftover stuff from
gpgkeys_hkp.c.
2004-05-26 19:38:38 +00:00
David Shaw
50f4faee4a * gpgkeys_http.c (get_key): Cosmetic fix - make sure that URLs with no
path use a path of "/".
2004-05-22 03:35:57 +00:00
David Shaw
d8aa22f172 * gpgkeys_ldap.c (ldap2epochtime): We can always rely on timegm() being
available now, since it's a replacement function.
2004-05-21 15:46:53 +00:00
David Shaw
e934977137 * gpgkeys_http.c: New program to do a simple HTTP file fetch using the
keyserver interface.

* Makefile.am: Build it.
2004-05-20 19:07:10 +00:00
David Shaw
1f5ef591cc * Makefile.am: Don't split LDADD across two lines since some make programs
can't handle blank lines after a \ continuation.  Noted by Christoph
Moench-Tegeder.
2004-02-28 20:38:25 +00:00
David Shaw
0d7cae4663 * gpgkeys_ldap.c (send_key): List pgpCertID as one of the deleted
attributes.  This guarantees that if something goes wrong, we won't be
able to complete the transaction, thus leaving any key already existing on
the server intact.
2004-02-26 01:29:26 +00:00
David Shaw
17ce0c5267 * gpgkeys_ldap.c (delete_one_attr): Removed. (make_one_attr): Delete
functionality added.  Optional deduping functionality added (currently
only used for pgpSignerID). (build_attrs): Translate sig entries into
pgpSignerID.  Properly build the timestamp for pgpKeyCreateTime and
pgpKeyExpireTime.
2004-02-24 03:57:21 +00:00
David Shaw
07a10b451e * gpgkeys_ldap.c (delete_one_attr): New function to replace attributes
with NULL (a "delete" that works even for nonexistant attributes).
(send_key): Use it here to remove attributes so a modify operation starts
with a clean playing field.  Bias sends to modify before add, since (I
suspect) people update their existing keys more often than they make and
send new keys to the server.
2004-02-23 03:43:45 +00:00
David Shaw
3b9d7a6430 * gpgkeys_ldap.c (epoch2ldaptime): New. Converse of ldap2epochtime.
(make_one_attr): New. Build a modification list in memory to send to the
LDAP server. (build_attrs): New. Parse INFO lines sent over by gpg.
(free_mod_values): New.  Unwinds a modification list.
(send_key_keyserver): Renamed from old send_key(). (send_key): New
function to send a key to a LDAP server. (main): Use send_key() for real
LDAP servers, send_key_keyserver() otherwise.
2004-02-22 00:08:53 +00:00
David Shaw
925b982a0b * gpgkeys_ldap.c: Replacement prototypes for setenv and unsetenv.
(search_key): Catch a SIZELIMIT_EXCEEDED error and show the user whatever
the server did give us. (find_basekeyspacedn): There is no guarantee that
namingContexts will be readable.

* Makefile.am: Link gpgkeys_ldap with libutil.a to get the replacement
functions (and eventually translations, etc).
2004-02-20 14:59:02 +00:00
David Shaw
7f148010ab * gpgkeys_ldap.c (ldap2epochtime): LDAP timestamps are UTC, so do not
correct for timezones. (main): Find the basekeyspacedn before we try to
start TLS, so we can give a better error message when a user tries to use
TLS with a LDAP keyserver.
2004-02-19 21:32:15 +00:00
David Shaw
21301028c4 * Makefile.am: Add automake conditionals to symlink gpgkeys_ldaps to
gpgkeys_ldap when needed.

* gpgkeys_ldap.c (main): Add support for LDAPS and TLS connections.
These are only useful and usable when talking to real LDAP keyservers.
Add new "tls" option to tune TLS use from off, to try quietly, to try
loudly, or to require TLS.
2004-02-19 20:09:12 +00:00
David Shaw
7e7364973d * gpgkeys_ldap.c (find_basekeyspacedn): New function to figure out what
kind of LDAP server we're talking to (either real LDAP or the LDAP
keyserver), and return the baseKeySpaceDN to find keys under. (main): Call
it from here, and remove the old code that only handled the LDAP
keyserver.
2004-02-19 15:09:14 +00:00
David Shaw
f3de3a5eb9 * gpgkeys_ldap.c (ldap_to_gpg_err): Make sure that LDAP_OPT_ERROR_NUMBER
is defined before we use it.

* gpgkeys_mailto.in: Fix VERSION number.
2004-02-18 23:05:47 +00:00
Werner Koch
ef3f2d81a1 (send_key): Add a content type. 2004-01-13 11:07:25 +00:00
David Shaw
580faa8675 * gpgkeys_hkp.c (search_key): Catch a mangled input file (useful if
something other than GnuPG is calling the program). (main): Avoid possible
pre-string write.  Noted by Christian Biere.

* gpgkeys_ldap.c (main): Avoid possible pre-string write.
2004-01-12 04:09:37 +00:00
David Shaw
f13f772a29 * gpgkeys_hkp.c (send_key, get_key, main): Work with new HTTP code that
passes the proxy in from the outside.  If the command file sends a proxy,
use it.  If it sends "http-proxy" with no arguments, use $http_proxy from
the environment.
2003-12-28 16:21:46 +00:00
Stefan Bellon
02ae08d6ef cleaned up RISC OS code and removed lots of unnecessary stuff 2003-12-28 14:12:16 +00:00
Werner Koch
ee3f955709 (get_key): Fixed invalid use of fprintf without
format string.
2003-11-27 12:16:43 +00:00
Werner Koch
e6c036948f (gpgkeys_hkp_LDADD): Replaced INTLLIBS by LIBINTL. 2003-10-25 16:26:52 +00:00
David Shaw
df79db51f1 * Makefile.am: Use W32LIBS where appropriate. 2003-07-10 12:32:57 +00:00
David Shaw
0a86b45b9d * gpgkeys_hkp.c, gpgkeys_ldap.c: #include <getopt.h> if it is available.
Also include extern references for optarg and optind since there is no
guarantee that any header file will include them.  Standards?  We don't
need no stinkin' standards

* Makefile.am: Use @GETOPT@ to pull in libiberty on those platforms that
need it.
2003-05-31 03:52:02 +00:00
David Shaw
11fc63ba93 * gpgkeys_hkp.c (dehtmlize, parse_hkp_index): Fix memory corruption bug on
some platforms.
2003-04-09 01:36:16 +00:00
David Shaw
bbd986f3d8 * gpgkeys_hkp.c (get_key): Properly handle CRLF line endings in the
armored key. (main): Accept "try-dns-srv" option.

* Makefile.am: Use @CAPLIBS@ to link in -lcap if we are using
capabilities.  Use @SRVLIBS@ to link in the resolver if we are using DNS
SRV.
2003-03-11 17:42:07 +00:00
David Shaw
a338c1db91 * Makefile.am: Use a local copy of libexecdir along with @PACKAGE@ so it
can be easily overridden at make time.
2003-02-12 04:00:38 +00:00
David Shaw
169f4365da * gpgkeys_mailto.in: Fix regexp to work properly if the "keyid" is not a
keyid, but rather a text string from the user ID.
2003-01-29 23:14:29 +00:00
David Shaw
39dd4d2b29 * gpgkeys_hkp.c (get_key): Use options=mr when getting a key so keyserver
doesn't attach the HTML header which we will just have to discard.
2003-01-06 23:05:39 +00:00
David Shaw
2e4e257f42 * gpgkeys_ldap.c (main), gpgkeys_hkp.c (main): Use new keyserver protocol
version.
2002-11-18 00:43:33 +00:00
David Shaw
d06a95a535 * gpgkeys_ldap.c (get_key): The deduping code requires "pgpcertid", but
that was not available when running without verbose on.  Noted by Stefan.
2002-11-14 14:30:53 +00:00
David Shaw
659e1e9931 * gpgkeys_ldap.c (get_key): Fix typo in deduping code. 2002-11-10 21:32:11 +00:00
David Shaw
ec0d9a416e * gpgkeys_ldap.c (key_in_keylist, add_key_to_keylist, free_keylist,
get_key, search_key): The LDAP keyserver doesn't remove duplicates, so
remove them locally.  Do not include the key modification time in the
search response.
2002-11-05 22:08:02 +00:00
David Shaw
f7b357ebfe * gpgkeys_hkp.c (send_key), gpgkeys_ldap.c (send_key): Properly handle an
input file that does not include any key data at all.
2002-11-04 13:59:08 +00:00
David Shaw
be1d2a4038 * gpgkeys_hkp.c (main), gpgkeys_ldap.c (main): Add -V flag to output
protocol and program version.
2002-10-24 22:33:22 +00:00
David Shaw
45a8594ff9 * Makefile.am: Anything linking with libutil.a needs INTLLIBS as well on
platforms where INTLLIBS is set.
2002-10-21 20:32:38 +00:00
David Shaw
3ee825e211 * gpgkeys_hkp.c (write_quoted): Use %-encoding instead of \-encoding.
(parse_hkp_index): Use new keyserver key listing format, and add support
for disabled keys via include-disabled.
2002-10-14 20:01:05 +00:00
David Shaw
943566f53f * gpgkeys_ldap.c (get_key): Don't print keysize unless it's >0.
(printquoted): Use %-encoding instead of \-encoding. (search_key): Use new
keyserver key listing format.
2002-10-14 19:02:11 +00:00
David Shaw
071966cd65 * gpgkeys_ldap.c (search_key, main): Make sure LDAP values are freed in
case of error.
2002-10-09 02:25:43 +00:00
David Shaw
7a3e940300 * gpgkeys_ldap.c (fail_all): New function to unwind a keylist and error
each item. (main): Call fail_all from here, as needed.  Also add a
NO_MEMORY error in an appropriate place and fix error return code.
(ldap_err_to_gpg_err): Add KEYSERVER_UNREACHABLE.

* gpgkeys_hkp.c (fail_all): New function to unwind a keylist and error
each item. (main): Call fail_all from here.  Also add a NO_MEMORY error in
an appropriate place. (get_key): Use new UNREACHABLE error for network
errors.
2002-10-09 02:03:22 +00:00
David Shaw
e18ddb60ff From stable branch
* gpgkeys_ldap.c (send_key): Removed non-constant initializers.
2002-09-27 19:33:52 +00:00
David Shaw
76846b74e4 * gpgkeys_ldap.c (ldap_err_to_gpg_err, ldap_to_gpg_err, send_key, get_key,
search_key, main): Some minor error reporting enhancements for use with
GPA (show reasons for KEY FAILED).
2002-09-24 20:17:52 +00:00
David Shaw
e0512b187c * gpgkeys_hkp.c (send_key, get_key, search_key, main): Some minor error
reporting enhancements for use with GPA.
2002-09-24 19:50:09 +00:00
Werner Koch
0b180a7b9a * gpgkeys_hkp.c (handle_old_hkp_index): s/input/inp/ to avoid
shadowing warning.
2002-09-20 07:39:54 +00:00
David Shaw
5e802a7256 * gpgkeys_hkp.c (get_key, handle_old_hkp_index, search_key): Properly
handle line truncation.
2002-09-19 17:03:42 +00:00
David Shaw
81c8f7daca * gpgkeys_mailto.in: Add quasi-RFC-2368 mailto:email@addr?from= syntax so
people can set their own email address to respond to.

* gpgkeys_hkp.c (get_key): Properly respond with KEY FAILED (to gpg) and
"key not found" (to user) on failure.
2002-09-16 14:35:19 +00:00
David Shaw
5c7c9fd6cd * gpgkeys_hkp.c: (search_key, handle_old_hkp_index): Try and request a
machine-readable key index.  If the server supports this, pass it through.
If the server does not support it, parse the "index" page.
2002-09-13 18:45:36 +00:00
Stefan Bellon
3782e1595e updated RISC OS stuff 2002-09-12 16:25:36 +00:00
David Shaw
07991aa5af * gpgkeys_hkp.c (main): Remove warning - this is no longer experimental
code.
2002-09-12 12:31:31 +00:00
Werner Koch
92f8a5d12a * gpgkeys_hkp.c (send_key, get_key, search_key): Check return
value of malloc.
(dehtmlize): Use ascii_tolower to protect against weird locales.
Cast the argument for isspace for the sake of broken HP/UXes.
(search_key): Check return value of realloc.
2002-09-10 08:28:40 +00:00
David Shaw
e892058dba * gpgkeys_ldap.c (get_key): Some compilers (RISC OS, HPUX c89) don't like
using variables as array initializers.
2002-09-09 20:36:12 +00:00
David Shaw
b32a1d90e1 * gpgkeys_hkp.c (send_key): Use CRLF in headers. 2002-09-09 20:16:24 +00:00
David Shaw
262a8719a4 * gpgkeys_hkp.c: (parse_hkp_index): Use same types on all platforms.
This was probably leftover from earlier code where the typing mattered.
2002-08-28 20:10:29 +00:00
David Shaw
43ba6d43d7 * gpgkeys_hkp.c: Overall cleanup from iobuf conversion. Be consistent in
m_alloc and malloc usage.  Remove include-disabled (meaningless on HKP).
RISC OS tweak.
2002-08-28 04:04:37 +00:00
David Shaw
813fa3f98b * gpgkeys_hkp.c, Makefile.am: Convert over to using iobufs. 2002-08-27 19:11:36 +00:00
David Shaw
ce13db5e3c * gpgkeys_hkp.c (http_get, http_post): Use CRLF for line endings. 2002-08-27 14:49:23 +00:00
David Shaw
6cb18a86f5 * gpgkeys_hkp.c: Include util.h on RISC OS as per Stefan. Include a
replacement for hstrerror() for those platforms (such as RISC OS) that
don't have it.
2002-08-27 12:44:18 +00:00
David Shaw
b37812c2cd * Makefile.am: May as well include gpgkeys_hkp.c in the distribution now.
It works well enough without proxies, and isn't built by default.  It
would be good to get some test experience with it.
2002-08-26 22:44:38 +00:00
David Shaw
8d4602d72c * gpgkeys_hkp.c (main): Don't warn about include-subkeys - it isn't
unsupported, it's actually non-meaningful in the context of HKP (yet).
2002-08-26 19:26:56 +00:00
David Shaw
1f5bed18f4 * gpgkeys_hkp.c (parse_hkp_index, dehtmlize): Move HTML functionality into
new "dehtmlize" function.  Remove HTML before trying to parse each line
from the keyserver.  If the keyserver provides key type information in the
listing, use it.  (Copy over from g10/hkp.c).
2002-08-26 19:22:48 +00:00
David Shaw
0d8006450a * gpgkeys_hkp.c (get_key, parse_hkp_index): Bring over latest code from
g10/hkp.c.

* gpgkeys_ldap.c (get_key): Fix cosmetic URL display problem (extra ":" at
the end).
2002-08-19 21:14:57 +00:00
Stefan Bellon
582f0d5d98 RISC OS changes due to dynload removal 2002-08-03 18:35:16 +00:00
David Shaw
ceb76da7e2 * gpgkeys_hkp.c: "Warning" -> "WARNING" 2002-07-25 18:01:36 +00:00
David Shaw
0ecc2099ac * Makefile.am: Install keyserver helpers in @GNUPG_LIBEXECDIR@ 2002-07-24 18:42:38 +00:00
David Shaw
2921721841 * gpgkeys_ldap.c (send_key, get_key, main): Consult the server version
string to determine whether to use pgpKey or pgpKeyV2.
2002-07-15 23:13:48 +00:00
David Shaw
fd415ba29f * gpgkeys_mailto.in: Use new OPAQUE tag for non net-path URIs. Fail more
elegantly if there is no email address to send to.  Show the GnuPG version
in the message body.

----------------------------------------------------------------------
gpgkeys_mailto.in CVS:
----------------------------------------------------------------------
2002-07-09 19:19:25 +00:00
David Shaw
a811246420 * gpgkeys_ldap.c (get_key), gpgkeys_hkp.c (get_key): Display keyserver URI
as a URI, but only if verbose.
2002-07-04 14:14:08 +00:00
David Shaw
2b0bb77e6d * gpgkeys_hkp.c (parse_hkp_index): Error if the keyserver returns an
unparseable HKP response.

* gpgkeys_hkp.c (main): Warn on honor-http-proxy, broken-http-proxy, and
include-subkeys (not supported yet).

* gpgkeys_ldap.c (main), gpgkeys_hkp.c (http_connect, main): Fix some
shadowing warnings.
2002-07-01 17:46:56 +00:00
David Shaw
151ee2f47b Update head to match stable 1.0 2002-06-29 13:31:13 +00:00