Commit 40c509b9f0501dfc6c517a04e4546dce4918e0ec

Authored by Perry Werneck
1 parent ecc33412

Updating windows crl downloader.

src/lib3270/ssl/linux/getcrl.c
... ... @@ -242,13 +242,13 @@ int lib3270_get_X509_CRL(H3270 *hSession, SSL_ERROR_MESSAGE * message)
242 242 message->error = hSession->ssl.error = 0;
243 243 message->title = N_( "Security error" );
244 244 message->text = N_( "Can't open CRL File" );
245   - message->description = strerror(errno);
246   - lib3270_write_log(hSession,"ssl","Can't open %s: %s",consturl,message->description);
  245 + message->description = strerror(err);
  246 + trace_ssl(hSession,"Can't open %s: %s\n",consturl,message->description);
247 247 return err;
248 248  
249 249 }
250 250  
251   - lib3270_write_log(hSession,"ssl","Loading CRL from %s",consturl+7);
  251 + trace_ssl(hSession,"Loading CRL from %s\n",consturl+7);
252 252 d2i_X509_CRL_fp(hCRL, &hSession->ssl.crl.cert);
253 253  
254 254 }
... ...
src/lib3270/ssl/windows/getcrl.c
... ... @@ -181,9 +181,8 @@ static int internal_curl_trace_callback(CURL *handle unused, curl_infotype type,
181 181 #endif // HAVE_LIBCURL
182 182  
183 183  
184   -X509_CRL * lib3270_get_X509_CRL(H3270 *hSession, SSL_ERROR_MESSAGE * message)
  184 +int lib3270_get_X509_CRL(H3270 *hSession, SSL_ERROR_MESSAGE * message)
185 185 {
186   - X509_CRL * crl = NULL;
187 186 const char * consturl = lib3270_get_crl_url(hSession);
188 187  
189 188 if(!(consturl && *consturl))
... ... @@ -192,7 +191,7 @@ X509_CRL * lib3270_get_X509_CRL(H3270 *hSession, SSL_ERROR_MESSAGE * message)
192 191 message->title = N_( "Security error" );
193 192 message->text = N_( "Can't open CRL File" );
194 193 message->description = N_("The URL for the CRL is undefined or empty");
195   - return NULL;
  194 + return errno = ENOENT;
196 195 }
197 196  
198 197 trace_ssl(hSession, "crl=%s\n",consturl);
... ... @@ -204,17 +203,19 @@ X509_CRL * lib3270_get_X509_CRL(H3270 *hSession, SSL_ERROR_MESSAGE * message)
204 203 if(!hCRL)
205 204 {
206 205 // Can't open CRL File.
  206 + int err = errno;
  207 +
207 208 message->error = hSession->ssl.error = 0;
208 209 message->title = N_( "Security error" );
209 210 message->text = N_( "Can't open CRL File" );
210   - message->description = strerror(errno);
211   - lib3270_write_log(hSession,"ssl","Can't open %s: %s",consturl,message->description);
212   - return NULL;
  211 + message->description = strerror(err);
  212 + trace_ssl(hSession,"Can't open %s: %s\n",consturl,message->description);
  213 + return err;
213 214  
214 215 }
215 216  
216   - lib3270_write_log(hSession,"ssl","Loading CRL from %s",consturl+7);
217   - d2i_X509_CRL_fp(hCRL, &crl);
  217 + trace_ssl(hSession,"Loading CRL from %s\n",consturl+7);
  218 + d2i_X509_CRL_fp(hCRL, &hSession->ssl.crl.cert);
218 219  
219 220 }
220 221 else
... ... @@ -237,7 +238,7 @@ X509_CRL * lib3270_get_X509_CRL(H3270 *hSession, SSL_ERROR_MESSAGE * message)
237 238 message->title = N_( "Security error" );
238 239 message->text = N_( "Can't initialize curl" );
239 240 lib3270_write_log(hSession,"ssl","%s: %s",consturl, message->text);
240   - return NULL;
  241 + return -1;
241 242 }
242 243  
243 244 CURLcode res;
... ... @@ -278,7 +279,7 @@ X509_CRL * lib3270_get_X509_CRL(H3270 *hSession, SSL_ERROR_MESSAGE * message)
278 279 }
279 280  
280 281 lib3270_write_log(hSession,"ssl","%s: %s",consturl, message->description);
281   - return NULL;
  282 + return -1;
282 283 }
283 284  
284 285 debug("Tamanho da resposta: %u", (unsigned int) crl_data->length);
... ... @@ -293,21 +294,8 @@ X509_CRL * lib3270_get_X509_CRL(H3270 *hSession, SSL_ERROR_MESSAGE * message)
293 294 message->text = N_( "Error loading CRL" );
294 295 message->description = curl_easy_strerror(res);
295 296 lib3270_write_log(hSession,"ssl","%s: %s",consturl, message->description);
296   - return NULL;
297   - }
298   -
299   - /*
300   - if(lib3270_get_toggle(data->hSession,LIB3270_TOGGLE_SSL_TRACE))
301   - {
302   - lib3270_autoptr(msg) = lib3270_vsprintf("CRL Data received with content-type \"%s\"", (ct ? ct : "undefined"));
303   - lib3270_trace_data(
304   - data->hSession,
305   - msg,
306   - (const char *) crl_data->contents,
307   - crl_data->length
308   - );
  297 + return -1;
309 298 }
310   - */
311 299  
312 300 if(ct)
313 301 {
... ... @@ -318,13 +306,13 @@ X509_CRL * lib3270_get_X509_CRL(H3270 *hSession, SSL_ERROR_MESSAGE * message)
318 306 if(strcasecmp(ct,"application/pkix-crl") == 0)
319 307 {
320 308 // CRL File, convert it
321   - if(!d2i_X509_CRL(&crl, &data, crl_data->length))
  309 + if(!d2i_X509_CRL(&hSession->ssl.crl.cert, &data, crl_data->length))
322 310 {
323 311 message->error = hSession->ssl.error = ERR_get_error();
324 312 message->title = N_( "Security error" );
325 313 message->text = N_( "Got an invalid CRL from server" );
326 314 lib3270_write_log(hSession,"ssl","%s: %s",consturl, message->text);
327   - return NULL;
  315 + return -1;
328 316 }
329 317 }
330 318 else
... ... @@ -333,7 +321,7 @@ X509_CRL * lib3270_get_X509_CRL(H3270 *hSession, SSL_ERROR_MESSAGE * message)
333 321 message->title = N_( "Security error" );
334 322 message->text = N_( "Got an invalid CRL from server" );
335 323 lib3270_write_log(hSession,"ssl","%s: content-type unexpected: \"%s\"",consturl, ct);
336   - return NULL;
  324 + return -1;
337 325 }
338 326 }
339 327 else if(strncasecmp(consturl,"ldap://",7) == 0)
... ... @@ -345,7 +333,7 @@ X509_CRL * lib3270_get_X509_CRL(H3270 *hSession, SSL_ERROR_MESSAGE * message)
345 333 message->error = hSession->ssl.error = 0;
346 334 message->title = N_( "Security error" );
347 335 message->text = N_( "No attribute in LDAP search URL" );
348   - return NULL;
  336 + return errno = ENOENT;
349 337 }
350 338  
351 339 attr++;
... ... @@ -370,7 +358,7 @@ X509_CRL * lib3270_get_X509_CRL(H3270 *hSession, SSL_ERROR_MESSAGE * message)
370 358 message->error = hSession->ssl.error = 0;
371 359 message->title = N_( "Security error" );
372 360 message->text = N_( "Can't find attribute in LDAP response" );
373   - return NULL;
  361 + return errno = ENOENT;
374 362 }
375 363  
376 364 ptr += strlen(key);
... ... @@ -390,7 +378,7 @@ X509_CRL * lib3270_get_X509_CRL(H3270 *hSession, SSL_ERROR_MESSAGE * message)
390 378 message->error = hSession->ssl.error = 0;
391 379 message->title = N_( "Security error" );
392 380 message->text = N_( "Can't find attribute end in LDAP response" );
393   - return NULL;
  381 + return errno = ENOENT;
394 382 }
395 383  
396 384 length = ix;
... ... @@ -405,12 +393,13 @@ X509_CRL * lib3270_get_X509_CRL(H3270 *hSession, SSL_ERROR_MESSAGE * message)
405 393 );
406 394 }
407 395  
408   - if(!d2i_X509_CRL(&crl, (const unsigned char **) &ptr, length))
  396 + if(!d2i_X509_CRL(&hSession->ssl.crl.cert, (const unsigned char **) &ptr, length))
409 397 {
410 398 message->error = hSession->ssl.error = ERR_get_error();
411 399 message->title = N_( "Security error" );
412 400 message->text = N_( "Can't get CRL from LDAP Search" );
413 401 lib3270_write_log(hSession,"ssl","%s: %s",consturl, message->text);
  402 + return -1;
414 403 }
415 404  
416 405 }
... ... @@ -422,12 +411,12 @@ X509_CRL * lib3270_get_X509_CRL(H3270 *hSession, SSL_ERROR_MESSAGE * message)
422 411 message->text = N_( "Unexpected or invalid CRL URL" );
423 412 message->description = N_("The URL scheme is unknown");
424 413 lib3270_write_log(hSession,"ssl","%s: %s",consturl, message->description);
425   - return NULL;
  414 + return errno= EINVAL;
426 415 #endif // HAVE_LIBCURL
427 416  
428 417 }
429 418  
430   - return crl;
  419 + return hSession->ssl.crl.cert == NULL ? -1 : 0;
431 420  
432 421 }
433 422  
... ...