/[winpt]/trunk/Src/wptKeyserverDlg.cpp
ViewVC logotype

Diff of /trunk/Src/wptKeyserverDlg.cpp

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 208 by twoaday, Mon May 1 12:22:18 2006 UTC revision 209 by twoaday, Wed May 3 14:34:08 2006 UTC
# Line 41  Line 41 
41  #include "wptDlgs.h"  #include "wptDlgs.h"
42  #include "wptUTF8.h"  #include "wptUTF8.h"
43    
 #define MAX_KEYSIZE 80000  
44    
45  char* get_reg_entry_keyserver (const char *);  char* get_reg_entry_keyserver (const char *);
46  int set_reg_entry_keyserver (const char *, const char *);  int set_reg_entry_keyserver (const char *, const char *);
# Line 171  keyserver_recv_key (HWND dlg, const char Line 170  keyserver_recv_key (HWND dlg, const char
170  {  {
171      gpgme_ctx_t ctx;      gpgme_ctx_t ctx;
172      gpgme_data_t keydata;      gpgme_data_t keydata;
173      gpgme_error_t ec;      gpgme_import_result_t import_res = NULL;
174      gpgme_import_result_t import_res = NULL;          gpgme_error_t err;
175      char *rawkey = NULL;      char *rawkey = NULL;
176        int keylen = 0;
177      int rc;      int rc;
178        
     /* XXX: implement dynamic buffers. */  
     rawkey = new char[MAX_KEYSIZE];  
     if (!rawkey)  
         BUG (0);  
     memset (rawkey, 0, MAX_KEYSIZE);  
179      if (proto == KSPROTO_LDAP) {      if (proto == KSPROTO_LDAP) {
180          rc = ldap_recvkey (kserver, pattern, rawkey, MAX_KEYSIZE-1);          rc = ldap_recvkey (kserver, pattern, &rawkey, &keylen);
181          if (rc) {          if (rc) {
182              msg_box (dlg, _("LDAP key import failed.\n"              msg_box (dlg, _("LDAP key import failed.\n"
183                              "Please make sure you have an online connection"                              "Please make sure you have an online connection"
# Line 193  keyserver_recv_key (HWND dlg, const char Line 188  keyserver_recv_key (HWND dlg, const char
188          }          }
189      }      }
190      else if (proto == KSPROTO_FINGER) {      else if (proto == KSPROTO_FINGER) {
191          rc = finger_recvkey (kserver, pattern, rawkey, MAX_KEYSIZE-1);          rc = finger_recvkey (kserver, pattern, &rawkey, &keylen);
192          if (rc) {          if (rc) {
193              log_box (_("Keyserver"), MB_ERR,              log_box (_("Keyserver"), MB_ERR,
194                       _("Finger key import failed: %s\n"), winpt_strerror (rc));                       _("Finger key import failed: %s\n"), winpt_strerror (rc));
# Line 203  keyserver_recv_key (HWND dlg, const char Line 198  keyserver_recv_key (HWND dlg, const char
198      }      }
199      else if ((rc = kserver_recvkey (kserver, port,      else if ((rc = kserver_recvkey (kserver, port,
200                                      kserver_check_keyid (pattern),                                      kserver_check_keyid (pattern),
201                                      rawkey, MAX_KEYSIZE-1))) {                                      &rawkey, &keylen))) {
202          hkp_err_box (dlg, kserver, port, rc);          hkp_err_box (dlg, kserver, port, rc);
203          free_if_alloc (rawkey);          free_if_alloc (rawkey);
204          return rc;          return rc;
# Line 214  keyserver_recv_key (HWND dlg, const char Line 209  keyserver_recv_key (HWND dlg, const char
209                       _("Keyserver"), MB_ERR);                       _("Keyserver"), MB_ERR);
210              goto leave;              goto leave;
211          }          }
212          ec = gpgme_new (&ctx);          if (gpgme_new (&ctx))
         if (ec)  
213              BUG (NULL);              BUG (NULL);
214          gpgme_data_new_from_mem (&keydata, rawkey, strlen (rawkey), 1);          gpgme_data_new_from_mem (&keydata, rawkey, strlen (rawkey), 1);
215          rc = gpgme_op_import (ctx, keydata);          err = gpgme_op_import (ctx, keydata);
216          if (rc) {          if (err) {
217              msg_box (dlg, gpgme_strerror ((gpgme_error_t)rc), _("Import"), MB_ERR);              msg_box (dlg, gpgme_strerror (err), _("Import"), MB_ERR);
218              goto leave;              goto leave;
219          }          }
220          import_res = gpgme_op_import_result (ctx);          import_res = gpgme_op_import_result (ctx);

Legend:
Removed from v.208  
changed lines
  Added in v.209

[email protected]
ViewVC Help
Powered by ViewVC 1.1.26