From b8a0a92503b43e89f38361c4a26c9c66f54b496f Mon Sep 17 00:00:00 2001 From: =?utf8?q?Daniel=20Kou=C5=99il?= Date: Mon, 3 Aug 2009 13:39:25 +0000 Subject: [PATCH] Improved logging --- .../interface/renewal_core.h | 12 +++ .../project/version.properties | 2 +- org.glite.security.proxyrenewal/src/commands.c | 85 ++++++++++++------ org.glite.security.proxyrenewal/src/renew.c | 14 +-- org.glite.security.proxyrenewal/src/renewal_core.c | 100 ++++++++++++++++----- org.glite.security.proxyrenewal/src/renewd.c | 11 +-- org.glite.security.proxyrenewal/src/voms.c | 38 ++++---- 7 files changed, 175 insertions(+), 87 deletions(-) diff --git a/org.glite.security.proxyrenewal/interface/renewal_core.h b/org.glite.security.proxyrenewal/interface/renewal_core.h index 8348963..166a3d0 100644 --- a/org.glite.security.proxyrenewal/interface/renewal_core.h +++ b/org.glite.security.proxyrenewal/interface/renewal_core.h @@ -55,6 +55,18 @@ glite_renewal_core_renew(glite_renewal_core_context context, const char *current_proxy, char **new_proxy); +void +glite_renewal_core_set_err(glite_renewal_core_context ctx, const char *format, ...); + +void +glite_renewal_core_update_err(glite_renewal_core_context ctx, const char *format, ...); + +char * +glite_renewal_core_get_err(glite_renewal_core_context ctx); + +void +glite_renewal_core_reset_err(glite_renewal_core_context ctx); + #ifdef __cplusplus } #endif diff --git a/org.glite.security.proxyrenewal/project/version.properties b/org.glite.security.proxyrenewal/project/version.properties index c7a0724..d9d9db2 100644 --- a/org.glite.security.proxyrenewal/project/version.properties +++ b/org.glite.security.proxyrenewal/project/version.properties @@ -1,3 +1,3 @@ # $Header$ -module.version=1.3.7 +module.version=1.4.0 module.age=1 diff --git a/org.glite.security.proxyrenewal/src/commands.c b/org.glite.security.proxyrenewal/src/commands.c index 0cfd01b..2cba4d7 100644 --- a/org.glite.security.proxyrenewal/src/commands.c +++ b/org.glite.security.proxyrenewal/src/commands.c @@ -119,12 +119,12 @@ copy_file_content(glite_renewal_core_context ctx, FILE *in, FILE *out) while (1) { num = fread(buf, sizeof(*buf), sizeof(buf), in); if ((ret = ferror(in))) { - edg_wlpr_Log(ctx, LOG_ERR, "Reading failed: %s", strerror(errno)); + glite_renewal_core_set_err(ctx, "Reading failed: %s", strerror(errno)); return ret; } num = fwrite(buf, sizeof(*buf), num, out); if ((ret = ferror(in))) { - edg_wlpr_Log(ctx, LOG_ERR, "Writing failed: %s", strerror(errno)); + glite_renewal_core_set_err(ctx, "Writing failed: %s", strerror(errno)); return ret; } if (feof(in)) @@ -210,7 +210,7 @@ get_times(glite_renewal_core_context ctx, char *proxy_file, proxy_record *record for (voms_cert = voms_data->data; voms_cert && *voms_cert; voms_cert++) { t = ASN1_UTCTIME_new(); if (t == NULL) { - edg_wlpr_Log(ctx, LOG_ERR, "ASN1_UTCTIME_new() failed\n"); + glite_renewal_core_set_err(ctx, "ASN1_UTCTIME_new() failed"); ret = 1; goto end; } @@ -219,7 +219,7 @@ get_times(glite_renewal_core_context ctx, char *proxy_file, proxy_record *record * value, which must be converted to the UTC (YYMMDDHHSSZ) format */ s = strdup((*voms_cert)->date2 + 2); if (s == NULL) { - edg_wlpr_Log(ctx, LOG_ERR, "Not enough memory\n"); + glite_renewal_core_set_err(ctx, "Not enough memory"); ret = ENOMEM; goto end; } @@ -230,7 +230,7 @@ get_times(glite_renewal_core_context ctx, char *proxy_file, proxy_record *record } ret = ASN1_UTCTIME_set_string(t, s); if (ret == 0) { - edg_wlpr_Log(ctx, LOG_ERR, "ASN1_UTCTIME_set_string() failed\n"); + glite_renewal_core_set_err(ctx, "ASN1_UTCTIME_set_string() failed\n"); ret = 1; free(s); goto end; @@ -260,7 +260,7 @@ get_times(glite_renewal_core_context ctx, char *proxy_file, proxy_record *record now = time(NULL); if (end_time_x509 + RENEWAL_CLOCK_SKEW < now) { - edg_wlpr_Log(ctx, LOG_ERR, "Expired proxy in %s", proxy_file); + glite_renewal_core_set_err(ctx, "Expired proxy in %s", proxy_file); ret = EDG_WLPR_PROXY_EXPIRED; goto end; } @@ -270,14 +270,14 @@ get_times(glite_renewal_core_context ctx, char *proxy_file, proxy_record *record for (i = 0; i < sk_X509_num(chain); i++) { t = X509_get_notAfter(sk_X509_value(chain, i)); if (ASN1_UTCTIME_cmp_time_t(t, now - RENEWAL_CLOCK_SKEW) < 0) { - edg_wlpr_Log(ctx, LOG_ERR, "Expired proxy in %s", proxy_file); + glite_renewal_core_set_err(ctx, "Expired proxy in %s", proxy_file); ret = EDG_WLPR_PROXY_EXPIRED; goto end; } } if (now + condor_limit > end_time_x509) { - edg_wlpr_Log(ctx, LOG_ERR, "Remaining proxy lifetime fell below the value of the Condor limit!"); + edg_wlpr_Log(ctx, LOG_WARNING, "Remaining proxy lifetime fell below the value of the Condor limit!"); delta = 0; } else delta = get_delta(ctx, now, end_time); @@ -316,16 +316,16 @@ copy_file(glite_renewal_core_context ctx, char *src, char *dst) from = fopen(src, "r"); if (from == NULL) { - edg_wlpr_Log(ctx, LOG_ERR, "Cannot open file %s for reading (%s)", - src, strerror(errno)); + glite_renewal_core_set_err(ctx, "Cannot open file %s for reading (%s)", + src, strerror(errno)); return errno; } snprintf(tmpfile, sizeof(tmpfile), "%s.XXXXXX", dst); tmp_fd = mkstemp(tmpfile); if (tmp_fd == -1) { - edg_wlpr_Log(ctx, LOG_ERR, "Cannot create temporary file (%s)", - strerror(errno)); + glite_renewal_core_set_err(ctx, "Cannot create temporary file (%s)", + strerror(errno)); ret = errno; goto end; } @@ -333,8 +333,8 @@ copy_file(glite_renewal_core_context ctx, char *src, char *dst) tmp_to = fdopen(tmp_fd, "w"); if (tmp_to == NULL) { - edg_wlpr_Log(ctx, LOG_ERR, "Cannot associate stream with temporary file (%s)", - strerror(errno)); + glite_renewal_core_set_err(ctx, "Cannot associate stream with temporary file (%s)", + strerror(errno)); unlink(tmpfile); ret = errno; goto end; @@ -348,7 +348,7 @@ copy_file(glite_renewal_core_context ctx, char *src, char *dst) ret = rename(tmpfile, dst); if (ret) { - edg_wlpr_Log(ctx, LOG_ERR, "Cannot replace repository file %s with temporary file (%s)", + glite_renewal_core_set_err(ctx, "Cannot replace repository file %s with temporary file (%s)", strerror(errno)); unlink(tmpfile); ret = errno; @@ -558,7 +558,7 @@ get_record_ext(glite_renewal_core_context ctx, FILE *fd, proxy_record *record, i *p = '\0'; ret = decode_record(ctx, line, &tmp_record); if (ret) { - edg_wlpr_Log(ctx, LOG_ERR, "Skipping invalid entry at line %d", line_num); + edg_wlpr_Log(ctx, LOG_WARNING, "Skipping invalid entry at line %d", line_num); continue; } if (record->suffix >= 0) { @@ -686,7 +686,7 @@ store_record(glite_renewal_core_context ctx, char *basename, proxy_record *recor *p = '\0'; ret = decode_record(ctx, line, &tmp_record); if (ret) { - edg_wlpr_Log(ctx, LOG_ERR, "Removing invalid entry at line %d in %s", line_num, basename); + edg_wlpr_Log(ctx, LOG_WARNING, "Removing invalid entry at line %d in %s", line_num, basename); continue; } if (record->suffix == tmp_record.suffix && @@ -750,13 +750,12 @@ open_metafile(glite_renewal_core_context ctx, char *basename, FILE **fd) snprintf(meta_filename, sizeof(meta_filename), "%s.data", basename); meta_fd = fopen(meta_filename, "a+"); if (meta_fd == NULL) { - edg_wlpr_Log(ctx, LOG_ERR, "Opening meta file %s failed (%s)", + glite_renewal_core_set_err(ctx, "Opening meta file %s failed (%s)", meta_filename, strerror(errno)); return errno; } rewind(meta_fd); *fd = meta_fd; - edg_wlpr_Log(ctx, LOG_DEBUG, "Using meta file %s", meta_filename); return 0; } @@ -814,7 +813,7 @@ check_proxyname(glite_renewal_core_context ctx, char *datafile, char *jobid, cha meta_fd = fopen(datafile, "r"); if (meta_fd == NULL) { - edg_wlpr_Log(ctx, LOG_ERR, "Cannot open meta file %s (%s)", + glite_renewal_core_set_err(ctx, "Cannot open meta file %s (%s)", datafile, strerror(errno)); return errno; } @@ -855,7 +854,7 @@ find_proxyname(glite_renewal_core_context ctx, char *jobid, char **filename) dir = opendir(repository); if (dir == NULL) { - edg_wlpr_Log(ctx, LOG_ERR, "Cannot open repository directory %s (%s)", + glite_renewal_core_set_err(ctx, "Cannot open repository directory %s (%s)", repository, strerror(errno)); return errno; } @@ -873,7 +872,7 @@ find_proxyname(glite_renewal_core_context ctx, char *jobid, char **filename) } } closedir(dir); - edg_wlpr_Log(ctx, LOG_ERR, "Requested proxy is not registered"); + glite_renewal_core_set_err(ctx, "Requested proxy is not registered"); return EDG_WLPR_PROXY_NOT_REGISTERED; } @@ -892,13 +891,15 @@ register_proxy(glite_renewal_core_context ctx, edg_wlpr_Request *request, edg_wl memset(&record, 0, sizeof(record)); memset(response, 0, sizeof(*response)); - edg_wlpr_Log(ctx, LOG_DEBUG, "Registration request for %s", request->proxy_filename); if (request->proxy_filename == NULL || request->jobid == NULL) { edg_wlpr_Log(ctx, LOG_ERR, "Registration request doesn't contain registration information"); return; /* EINVAL; */ } - umask(0177); + + edg_wlpr_Log(ctx, LOG_DEBUG, + "Registering proxy from %s belonging to job %s", + request->proxy_filename, request->jobid); ret = get_base_filename(ctx, request->proxy_filename, &basename); if (ret) @@ -960,8 +961,16 @@ end: if (basename) free(basename); - if (ret == 0) + if (ret == 0) { ret = filename_to_response(ctx, filename, response); + edg_wlpr_Log(ctx, LOG_INFO, + "Proxy %s of job %s has been registered as %s", + request->proxy_filename, request->jobid, filename); + } else + edg_wlpr_Log(ctx, LOG_ERR, "Failed to register proxy %s: %s", + request->proxy_filename, + glite_renewal_core_get_err(ctx)); + record_to_response(ctx, ret, &record, response); free_record(ctx, &record); } @@ -977,14 +986,16 @@ unregister_proxy(glite_renewal_core_context ctx, edg_wlpr_Request *request, edg_ struct stat stat_buf; memset(&record, 0, sizeof(record)); - edg_wlpr_Log(ctx, LOG_DEBUG, "Unregistration request for %s", request->jobid); if (request->jobid == NULL) { - edg_wlpr_Log(ctx, LOG_ERR, "Unregistration request doesn't contain needed information"); + glite_renewal_core_set_err(ctx, "Request doesn't specify jobid"); ret = EINVAL; goto end; } + edg_wlpr_Log(ctx, LOG_DEBUG, "Unregistrating proxy of job %s", + request->jobid); + if (request->proxy_filename == NULL) { ret = find_proxyname(ctx, request->jobid, &request->proxy_filename); if (ret) @@ -1077,8 +1088,19 @@ end: if (basename) free(basename); - if (ret == 0) + if (ret == 0) { ret = filename_to_response(ctx, request->proxy_filename, response); + edg_wlpr_Log(ctx, LOG_INFO, + "Proxy %s of job %s has been unregistered", + request->proxy_filename, request->jobid); + } + else + edg_wlpr_Log(ctx, LOG_ERR, + "Failed to unregister proxy %s of job %s: %s", + (request->proxy_filename) ? request->proxy_filename : "'(null)'", + (request->jobid) ? request->jobid : "'(null)'", + glite_renewal_core_get_err(ctx)); + record_to_response(ctx, ret, &record, response); free_record(ctx, &record); } @@ -1094,7 +1116,7 @@ get_proxy(glite_renewal_core_context ctx, edg_wlpr_Request *request, edg_wlpr_Re edg_wlpr_Log(ctx, LOG_DEBUG, "GET request for %s", request->jobid); if (request->jobid == NULL) { - edg_wlpr_Log(ctx, LOG_ERR, "GET request doesn't contain jobid specification"); + glite_renewal_core_set_err(ctx, "Request doesn't contain jobid specification"); ret = EINVAL; goto end; } @@ -1104,6 +1126,10 @@ get_proxy(glite_renewal_core_context ctx, edg_wlpr_Request *request, edg_wlpr_Re end: if (ret == 0) ret = filename_to_response(ctx, filename, response); + else + edg_wlpr_Log(ctx, LOG_ERR, "Failed to register proxy %s: %s", + request->proxy_filename, + glite_renewal_core_get_err(ctx)); if (filename) free(filename); response->response_code = ret; @@ -1206,6 +1232,7 @@ update_db(glite_renewal_core_context ctx, edg_wlpr_Request *request, edg_wlpr_Re (ret == 0) ? rename(proxy, cur_proxy) : unlink(proxy); } } + glite_renewal_core_reset_err(ctx); ret = encode_record(ctx, &record, &new_line); if (ret) diff --git a/org.glite.security.proxyrenewal/src/renew.c b/org.glite.security.proxyrenewal/src/renew.c index 1003dc2..00b87b6 100644 --- a/org.glite.security.proxyrenewal/src/renew.c +++ b/org.glite.security.proxyrenewal/src/renew.c @@ -58,9 +58,14 @@ renew_proxy(glite_renewal_core_context ctx, proxy_record *record, char *basename } ret = glite_renewal_core_renew(ctx, server, port, repository_file, new_proxy); - if (ret) + if (ret) { + edg_wlpr_Log(ctx, LOG_ERR, "Failed to renew proxy %s: %s", + repository_file, + glite_renewal_core_get_err(ctx)); goto end; + } + edg_wlpr_Log(ctx, LOG_DEBUG, "Proxy %s succesfully renewed", repository_file); ret = 0; end: @@ -115,9 +120,9 @@ check_renewal(glite_renewal_core_context ctx, char *datafile, int force_renew, i } current_time = time(NULL); - edg_wlpr_Log(ctx, LOG_DEBUG, "Reading metafile %s", datafile); while (fgets(line, sizeof(line), meta_fd) != NULL) { + glite_renewal_core_reset_err(ctx); free_record(ctx, &record); p = strchr(line, '\n'); if (p) @@ -188,8 +193,6 @@ int renewal(glite_renewal_core_context ctx, int force_renew, int *num_renewed) FILE *fd; int num = 0; - edg_wlpr_Log(ctx, LOG_DEBUG, "Starting renewal process"); - *num_renewed = 0; if (chdir(repository)) { @@ -222,7 +225,8 @@ int renewal(glite_renewal_core_context ctx, int force_renew, int *num_renewed) fclose(fd); } closedir(dir); - edg_wlpr_Log(ctx, LOG_DEBUG, "Finishing renewal process"); + edg_wlpr_Log(ctx, LOG_DEBUG, + "Renewal attempt finished, %u proxies renewed", *num_renewed); return 0; } diff --git a/org.glite.security.proxyrenewal/src/renewal_core.c b/org.glite.security.proxyrenewal/src/renewal_core.c index 3256f2c..89da152 100644 --- a/org.glite.security.proxyrenewal/src/renewal_core.c +++ b/org.glite.security.proxyrenewal/src/renewal_core.c @@ -17,20 +17,20 @@ load_proxy(glite_renewal_core_context ctx, const char *cur_file, X509 **cert, EV result = globus_gsi_cred_handle_init(&proxy, NULL); if (result) { - fprintf(stderr, "globus_gsi_cred_handle_init() failed\n"); + glite_renewal_core_set_err(ctx, "globus_gsi_cred_handle_init() failed"); goto end; } result = globus_gsi_cred_read_proxy(proxy, (char *) cur_file); if (result) { - fprintf(stderr, "globus_gsi_cred_read_proxy() failed\n"); + glite_renewal_core_set_err(ctx, "globus_gsi_cred_read_proxy() failed"); goto end; } if (cert) { result = globus_gsi_cred_get_cert(proxy, cert); if (result) { - fprintf(stderr, "globus_gsi_cred_get_cert() failed\n"); + glite_renewal_core_set_err(ctx, "globus_gsi_cred_get_cert() failed"); goto end; } } @@ -38,7 +38,7 @@ load_proxy(glite_renewal_core_context ctx, const char *cur_file, X509 **cert, EV if (priv_key) { result = globus_gsi_cred_get_key(proxy, priv_key); if (result) { - fprintf(stderr, "globus_gsi_cred_get_key() failed\n"); + glite_renewal_core_set_err(ctx, "globus_gsi_cred_get_key() failed"); goto end; } } @@ -46,7 +46,7 @@ load_proxy(glite_renewal_core_context ctx, const char *cur_file, X509 **cert, EV if (chain) { result = globus_gsi_cred_get_cert_chain(proxy, chain); if (result) { - fprintf(stderr, "globus_gsi_cred_get_cert_chain() failed\n"); + glite_renewal_core_set_err(ctx, "globus_gsi_cred_get_cert_chain() failed"); goto end; } } @@ -88,7 +88,7 @@ get_proxy_base_name(glite_renewal_core_context ctx, const char *file, char **nam result = globus_gsi_cert_utils_get_base_name(subject, chain); if (result) { - edg_wlpr_Log(ctx, LOG_ERR, "Cannot get subject name from proxy %s", file); + glite_renewal_core_set_err(ctx, "Cannot get subject name from proxy %s", file); ret = EDG_WLPR_ERROR_SSL; /* XXX ??? */ goto end; } @@ -142,8 +142,8 @@ glite_renewal_core_renew(glite_renewal_core_context ctx, snprintf(tmp_proxy, sizeof(tmp_proxy), "%s.myproxy.XXXXXX", current_proxy); tmp_fd = mkstemp(tmp_proxy); if (tmp_fd == -1) { - edg_wlpr_Log(ctx, LOG_ERR, "Cannot create temporary file (%s)", - strerror(errno)); + glite_renewal_core_set_err(ctx, "Cannot create temporary file (%s)", + strerror(errno)); return errno; } @@ -157,7 +157,7 @@ glite_renewal_core_renew(glite_renewal_core_context ctx, server = (myproxy_server) ? myproxy_server : socket_attrs->pshost; if (server == NULL) { - edg_wlpr_Log(ctx, LOG_ERR, "No myproxy server specified"); + glite_renewal_core_set_err(ctx, "No myproxy server specified"); ret = EINVAL; goto end; } @@ -170,8 +170,8 @@ glite_renewal_core_renew(glite_renewal_core_context ctx, server_response, tmp_proxy); if (ret == 1) { ret = EDG_WLPR_ERROR_MYPROXY; - edg_wlpr_Log(ctx, LOG_ERR, "Error contacting MyProxy server for proxy %s: %s", - current_proxy, verror_get_string()); + glite_renewal_core_set_err(ctx, "Error contacting MyProxy server for proxy %s: %s", + current_proxy, verror_get_string()); verror_clear(); goto end; } @@ -186,8 +186,8 @@ glite_renewal_core_renew(glite_renewal_core_context ctx, current_proxy); tmp_voms_fd = mkstemp(tmp_voms_proxy); if (tmp_voms_fd == -1) { - edg_wlpr_Log(ctx, LOG_ERR, "Cannot create temporary file (%s)", - strerror(errno)); + glite_renewal_core_set_err(ctx, "Cannot create temporary file (%s)", + strerror(errno)); ret = errno; goto end; } @@ -195,6 +195,8 @@ glite_renewal_core_renew(glite_renewal_core_context ctx, ret = renew_voms_creds(ctx, current_proxy, renewed_proxy, tmp_voms_proxy); close(tmp_voms_fd); if (ret) { + glite_renewal_core_update_err(ctx, + "Failed to renew VOMS attributes"); unlink(tmp_voms_proxy); goto end; } @@ -249,34 +251,84 @@ glite_renewal_core_destroy_ctx(glite_renewal_core_context context) } void +glite_renewal_core_set_err(glite_renewal_core_context ctx, const char *format, ...) +{ + va_list ap; + + glite_renewal_core_reset_err(ctx); + va_start(ap, format); + vasprintf(&ctx->err_message, format, ap); + va_end(ap); +} + +void +glite_renewal_core_update_err(glite_renewal_core_context ctx, const char *format, ...) +{ + va_list ap; + char *msg, *err; + + va_start(ap, format); + vasprintf(&msg, format, ap); + va_end(ap); + + if (ctx->err_message == NULL) { + ctx->err_message = msg; + return; + } + + asprintf(&err, "%s; %s", ctx->err_message, msg); + free(ctx->err_message); + free(msg); + ctx->err_message = err; +} + +char * +glite_renewal_core_get_err(glite_renewal_core_context ctx) +{ + return (ctx->err_message) ? ctx->err_message : "No error"; +} + +void +glite_renewal_core_reset_err(glite_renewal_core_context ctx) +{ + if (ctx->err_message) + free(ctx->err_message); + ctx->err_message = NULL; +} + +void edg_wlpr_Log(glite_renewal_core_context context, int dbg_level, const char *format, ...) { va_list ap; + char *msg = NULL, *date, *p; + time_t now = time(NULL); - if (context->err_message) { - free(context->err_message); - context->err_message = NULL; - } - - /* cannot handle the %m format argument specific for syslog() */ - va_start(ap, format); - vasprintf(&context->err_message, format, ap); - va_end(ap); if (dbg_level > context->log_level) return; + /* cannot handle the %m format argument specific for syslog() */ + va_start(ap, format); + /* XXX can hardly log ENOMEM errors */ + vasprintf(&msg, format, ap); + va_end(ap); + switch (context->log_dst) { case GLITE_RENEWAL_LOG_STDOUT: - printf("%s\n", context->err_message); + date = ctime(&now); + if ((p = strchr(date, '\n'))) + *p = '\0'; + printf("%s [renewd %u]: %s\n", date, getpid(), msg); break; case GLITE_RENEWAL_LOG_SYSLOG: - syslog(dbg_level, "%s", context->err_message); + syslog(dbg_level, "%s", msg); break; case GLITE_RENEWAL_LOG_NONE: default: break; } + free(msg); + return; } diff --git a/org.glite.security.proxyrenewal/src/renewd.c b/org.glite.security.proxyrenewal/src/renewd.c index 2a61056..5482a9f 100644 --- a/org.glite.security.proxyrenewal/src/renewd.c +++ b/org.glite.security.proxyrenewal/src/renewd.c @@ -144,11 +144,6 @@ proto(glite_renewal_core_context ctx, int sock) goto end; } - edg_wlpr_Log(ctx, LOG_INFO, "Received command code %d for proxy %s and jobid %s", - request.command, - request.proxy_filename ? request.proxy_filename : "(unspecified)", - request.jobid ? request.jobid : "(unspecified)"); - command->handler(ctx, &request, &response); ret = encode_response(ctx, &response, &buf); @@ -179,6 +174,7 @@ doit(glite_renewal_core_context ctx, int sock) int flags; while (!die) { + glite_renewal_core_reset_err(ctx); if (child_died) { int pid, newpid, ret; @@ -196,10 +192,9 @@ doit(glite_renewal_core_context ctx, int sock) newsock = accept(sock, (struct sockaddr *) &client_addr, &client_addr_len); if (newsock == -1) { if (errno != EINTR) - edg_wlpr_Log(ctx, LOG_ERR, "accept() failed"); + edg_wlpr_Log(ctx, LOG_ERR, "accept() failed: %s", strerror(errno)); continue; } - edg_wlpr_Log(ctx, LOG_DEBUG, "Got connection"); flags = fcntl(newsock, F_GETFL, 0); if (fcntl(newsock, F_SETFL, flags | O_NONBLOCK) < 0) { @@ -211,7 +206,6 @@ doit(glite_renewal_core_context ctx, int sock) proto(ctx, newsock); - edg_wlpr_Log(ctx, LOG_DEBUG, "Connection closed"); close(newsock); } edg_wlpr_Log(ctx, LOG_DEBUG, "Terminating on signal %d\n",die); @@ -448,7 +442,6 @@ do_listen(glite_renewal_core_context ctx, char *socket_name, int *sock) my_addr.sun_family = AF_UNIX; strncpy(my_addr.sun_path, socket_name, sizeof(my_addr.sun_path)); unlink(socket_name); - umask(0177); s = socket(AF_UNIX, SOCK_STREAM, 0); if (s == -1) { diff --git a/org.glite.security.proxyrenewal/src/voms.c b/org.glite.security.proxyrenewal/src/voms.c index e7583cc..e85b9e8 100644 --- a/org.glite.security.proxyrenewal/src/voms.c +++ b/org.glite.security.proxyrenewal/src/voms.c @@ -27,39 +27,39 @@ generate_proxy(glite_renewal_core_context ctx, globus_gsi_cred_handle_t cur_prox result = globus_gsi_proxy_handle_init(&proxy_handle, NULL); if (result) { - edg_wlpr_Log(ctx, LOG_ERR, "globus_gsi_proxy_handle_init() failed\n"); + glite_renewal_core_set_err(ctx, "globus_gsi_proxy_handle_init() failed"); goto end; } result = globus_gsi_cred_get_key(cur_proxy, &cur_proxy_priv_key); if (result) { - edg_wlpr_Log(ctx, LOG_ERR, "globus_gsi_cred_get_key() failed\n"); + glite_renewal_core_set_err(ctx, "globus_gsi_cred_get_key() failed"); goto end; } /* Create and sign a new proxy */ result = globus_gsi_cred_get_cert_type(cur_proxy, &proxy_type); if (result) { - edg_wlpr_Log(ctx, LOG_ERR, "globus_gsi_cred_get_cert_type() failed\n"); + glite_renewal_core_set_err(ctx, "globus_gsi_cred_get_cert_type() failed"); goto end; } result = globus_gsi_proxy_handle_set_type(proxy_handle, proxy_type); if (result) { - edg_wlpr_Log(ctx, LOG_ERR, "globus_gsi_proxy_handle_set_type() failed\n"); + glite_renewal_core_set_err(ctx, "globus_gsi_proxy_handle_set_type() failed"); goto end; } result = globus_gsi_proxy_create_signed(proxy_handle, cur_proxy, &proxy); if (result) { - edg_wlpr_Log(ctx, LOG_ERR, "globus_gsi_proxy_handle_init() failed\n"); + glite_renewal_core_set_err(ctx, "globus_gsi_proxy_handle_init() failed"); goto end; } /* Get the new proxy */ result = globus_gsi_cred_get_cert(proxy, &new_cert); if (result) { - edg_wlpr_Log(ctx, LOG_ERR, "globus_gsi_cred_get_cert() failed\n"); + glite_renewal_core_set_err(ctx, "globus_gsi_cred_get_cert() failed"); goto end; } @@ -79,7 +79,7 @@ generate_proxy(glite_renewal_core_context ctx, globus_gsi_cred_handle_t cur_prox /* And put the cert back, older one is unallocated by the function */ result = globus_gsi_cred_set_cert(proxy, voms_cert); if (result) { - edg_wlpr_Log(ctx, LOG_ERR, "globus_gsi_cred_set_cert() failed\n"); + glite_renewal_core_set_err(ctx, "globus_gsi_cred_set_cert() failed"); goto end; } @@ -100,7 +100,7 @@ my_VOMS_Export(glite_renewal_core_context ctx, void *buf, int buf_len, X509_EXTE p = pp = buf; ac = d2i_AC(NULL, &p, buf_len+1); if (ac == NULL) { - edg_wlpr_Log(ctx, LOG_ERR, "d2i_AC() failed\n"); + glite_renewal_core_set_err(ctx, "d2i_AC() failed"); return 1; } @@ -129,7 +129,7 @@ create_voms_command(glite_renewal_core_context ctx, struct vomsdata *vd, struct #endif if (voms_cert == NULL || *voms_cert == NULL || (*voms_cert)->std == NULL) { - edg_wlpr_Log(ctx, LOG_ERR, "Invalid VOMS certificate\n"); + glite_renewal_core_set_err(ctx, "Invalid VOMS certificate"); return 1; } @@ -163,7 +163,7 @@ renew_voms_cert(glite_renewal_core_context ctx, struct vomsdata *vd, struct voms if ((*voms_cert)->uri != NULL) { voms_server = strdup((*voms_cert)->uri); if (voms_server == NULL) { - edg_wlpr_Log(ctx, LOG_ERR, "Not enough memory"); + glite_renewal_core_set_err(ctx, "Not enough memory"); ret = 1; goto end; } @@ -186,8 +186,8 @@ renew_voms_cert(glite_renewal_core_context ctx, struct vomsdata *vd, struct voms goto end; } err_msg = VOMS_ErrorMessage(vd, voms_error, NULL, 0); - edg_wlpr_Log(ctx, LOG_ERR, - "Failed to contact VOMS server %s of VO %s: %s\n", + glite_renewal_core_set_err(ctx, + "Failed to contact VOMS server %s of VO %s: %s", voms_server, (*voms_cert)->voname, err_msg); free(err_msg); } @@ -197,7 +197,7 @@ renew_voms_cert(glite_renewal_core_context ctx, struct vomsdata *vd, struct voms voms_contacts = VOMS_FindByVO(vd, (*voms_cert)->voname, ctx->voms_conf, NULL, &voms_error); if (voms_contacts == NULL) { err_msg = VOMS_ErrorMessage(vd, voms_error, NULL, 0); - edg_wlpr_Log(ctx, LOG_ERR, "Can't find configuration for VO %s: %s\n", + glite_renewal_core_set_err(ctx, "Can't find configuration for VO %s: %s", (*voms_cert)->voname, err_msg); free(err_msg); ret = 1; @@ -214,8 +214,8 @@ renew_voms_cert(glite_renewal_core_context ctx, struct vomsdata *vd, struct voms break; } err_msg = VOMS_ErrorMessage(vd, voms_error, NULL, 0); - edg_wlpr_Log(ctx, LOG_ERR, - "Failed to contact VOMS server %s of VO %s: %s\n", + glite_renewal_core_set_err(ctx, + "Failed to contact VOMS server %s of VO %s: %s", (*c)->host, (*voms_cert)->voname, err_msg); free(err_msg); } @@ -363,11 +363,11 @@ get_voms_cert(glite_renewal_core_context ctx, /* XXX pass the vomsdir and cadir parameters */ voms_info = VOMS_Init(NULL, NULL); if (voms_info == NULL) { - edg_wlpr_Log(ctx, LOG_ERR, "check_voms_cert(): Cannot initialize VOMS context (VOMS_Init() failed, probably voms dir was not specified)"); + glite_renewal_core_set_err(ctx, "VOMS_Init() failed, probably voms dir was not specified"); return EDG_WLPR_ERROR_VOMS; } - VOMS_SetVerificationType(VERIFY_NONE, voms_info, NULL); + VOMS_SetVerificationType(VERIFY_NONE, voms_info, &voms_err); ret = 0; voms_ret = VOMS_Retrieve(cert, chain, RECURSE_CHAIN, voms_info, &voms_err); @@ -377,7 +377,7 @@ get_voms_cert(glite_renewal_core_context ctx, ret = 0; } else { char *err_msg = VOMS_ErrorMessage(voms_info, voms_err, NULL, 0); - edg_wlpr_Log(ctx, LOG_ERR, "Failed to retrieve VOMS attributes: %s\n", + glite_renewal_core_set_err(ctx, "Failed to retrieve VOMS attributes: %s", err_msg); free(err_msg); ret = -1; /* XXX */ @@ -407,7 +407,7 @@ main(int argc, char *argv[]) if (globus_module_activate(GLOBUS_GSI_PROXY_MODULE) != GLOBUS_SUCCESS || globus_module_activate(GLOBUS_GSI_CERT_UTILS_MODULE) != GLOBUS_SUCCESS) { - edg_wlpr_Log(ctx, LOG_ERR, "[%d]: Unable to initialize Globus modules\n", getpid()); + glite_renewal_core_set_err(ctx, "Unable to initialize Globus modules"); return 1; } -- 1.8.2.3