char socket_path_prefix[PATH_MAX] = GLITE_LBPROXY_SOCK_PREFIX;
-/* TODO: merge */
-<<<<<<< bkserverd.c
- /* keep this at start of main() ! */
- dtablesize = getdtablesize();
- for (fd=3; fd < dtablesize ; fd++) close(fd);
-
-=======
->>>>>>> 1.52.2.12
name = strrchr(argv[0],'/');
if (name) name++; else name = argv[0];
semkey = ftok(pidfile,0);
-/* TODO: merge */
-<<<<<<< bkserverd.c
if (mode & SERVICE_SERVER) {
if (check_mkdir(dumpStorage)) exit(1);
if (check_mkdir(purgeStorage)) exit(1);
if (!debug) syslog(LOG_CRIT, "edg_wll_MaildirInit failed: %s", lbm_errdesc);
exit(1);
}
-=======
- if (check_mkdir(dumpStorage)) exit(1);
- if (check_mkdir(purgeStorage)) exit(1);
- if ( jpreg ) {
- if ( edg_wll_MaildirInit(jpregDir) ) {
- dprintf(("[%d] edg_wll_MaildirInit failed: %s\n", getpid(), lbm_errdesc));
- if (!debug) syslog(LOG_CRIT, "edg_wll_MaildirInit failed: %s", lbm_errdesc);
- exit(1);
->>>>>>> 1.52.2.12
}
}
{
struct clnt_data_t *cdata = (struct clnt_data_t *)data;
edg_wll_Context ctx;
-/* TODO: merge */
-<<<<<<< bkserverd.c
edg_wll_GssPrincipal client = NULL;
edg_wll_GssCred newcred = NULL;
-=======
- gss_name_t client_name = GSS_C_NO_NAME;
- gss_buffer_desc token = GSS_C_EMPTY_BUFFER;
- gss_cred_id_t newcred = GSS_C_NO_CREDENTIAL;
- gss_OID name_type = GSS_C_NO_OID;
->>>>>>> 1.52.2.12
edg_wll_GssStatus gss_code;
struct timeval dns_to = {DNS_TIMEOUT, 0},
conn_start, now;
case 0: break;
case 1:
if ( !edg_wll_gss_acquire_cred_gsi(server_cert, server_key, &newcred, NULL, &gss_code) ) {
-/* TODO: merge */
-<<<<<<< bkserverd.c
- dprintf(("[%d] reloading credentials\n", getpid()));
- edg_wll_gss_release_cred(&mycred, NULL);
-=======
dprintf(("[%d] reloading credentials successful\n", getpid()));
- gss_release_cred(&min_stat, &mycred);
->>>>>>> 1.52.2.12
+ edg_wll_gss_release_cred(&mycred, NULL);
mycred = newcred;
} else { dprintf(("[%d] reloading credentials failed, using old ones\n", getpid())); }
break;
return 1;
}
-/* TODO: merge */
-<<<<<<< bkserverd.c
ret = edg_wll_gss_get_client_conn(&ctx->connections->serverConnection->gss, &client, NULL);
if (ret || client->flags & EDG_WLL_GSS_FLAG_ANON) {
- dprintf(("[%d] annonymous client\n",getpid()));
+ dprintf(("[%d] anonymous client\n",getpid()));
+ ctx->peerName = NULL;
} else {
if (ctx->peerName) free(ctx->peerName);
ctx->peerName = strdup(client->name);
edg_wll_gss_free_princ(client);
-=======
- maj_stat = gss_inquire_context(&min_stat, ctx->connections->serverConnection->gss.context,
- &client_name, NULL, NULL, NULL, NULL, NULL, NULL);
- if ( !GSS_ERROR(maj_stat) )
- maj_stat = gss_display_name(&min_stat, client_name, &token, &name_type);
->>>>>>> 1.52.2.12
-
-/* TODO: merge */
-<<<<<<< bkserverd.c
- dprintf(("[%d] client DN: %s\n",getpid(),ctx->peerName));
-=======
- if ( !GSS_ERROR(maj_stat) )
- {
- if (ctx->peerName) free(ctx->peerName);
- if (!edg_wll_gss_oid_equal(name_type, GSS_C_NT_ANONYMOUS)) {
- ctx->peerName = (char *)token.value;
- memset(&token, 0, sizeof(token));
- dprintf(("[%d] client DN: %s\n",getpid(),ctx->peerName));
- } else {
- ctx->peerName = NULL;
- dprintf(("[%d] anonymous client\n",getpid()));
- }
- /* XXX DK: pujde pouzit lifetime z inquire_context()?
- *
- ctx->peerProxyValidity = ASN1_UTCTIME_mktime(X509_get_notAfter(peer));
- */
-
->>>>>>> 1.52.2.12
+ dprintf(("[%d] client DN: %s\n",getpid(),ctx->peerName));
}
-/* TODO: merge */
-<<<<<<< bkserverd.c
-=======
- else
- /* XXX DK: Check if the ANONYMOUS flag is set ?
- */
- dprintf(("[%d] anonymous client\n",getpid()));
-
- if ( client_name != GSS_C_NO_NAME )
- gss_release_name(&min_stat, &client_name);
- if ( token.value )
- gss_release_buffer(&min_stat, &token);
->>>>>>> 1.52.2.12
if ( edg_wll_SetVomsGroups(ctx, &ctx->connections->serverConnection->gss, server_cert, server_key, vomsdir, cadir) )
{
/* returns state class of subjob of job collection */
static subjobClassCodes class(edg_wll_JobStat *stat)
{
-/* TODO: merge */
-<<<<<<< jobstat.c
- intJobStat *pis = NULL;
- int update_hist = 0;
-
-
- /* Easy version, where the whole histogram is evolving...
- * not used because of performance reasons
- *
- if (load_parent_intJobStat(ctx, cis, &pis)) goto err;
-
- pis->pub.children_hist[cis->pub.state+1]++;
- if (cis->pub.state == EDG_WLL_JOB_DONE)
- pis->children_done_hist[cis->pub.done_code]++;
- pis->pub.children_hist[old_state+1]--;
- if (old_state == EDG_WLL_JOB_DONE)
- pis->children_done_hist[old_done_code]--;
- edg_wll_StoreSubjobHistogram(ctx, cis->pub.parent_job, pis);
- */
-
-
- // XXX: if load_parent_intJobStat occure (and survives in future) in each subcase
- // load parent status at the beginning of this function
-
- /* Decrement histogram for interesting states
- */
- switch (old_state) {
- case EDG_WLL_JOB_RUNNING:
- if (load_parent_intJobStat(ctx, cis, &pis)) goto err;
- pis->pub.children_hist[old_state+1]--;
- update_hist = 1;
- break;
- case EDG_WLL_JOB_DONE:
- if (load_parent_intJobStat(ctx, cis, &pis)) goto err;
- pis->pub.children_hist[old_state+1]--;
- pis->children_done_hist[old_done_code]--;
- update_hist = 1;
- break;
- case EDG_WLL_JOB_CLEARED:
- if (load_parent_intJobStat(ctx, cis, &pis)) goto err;
- pis->pub.children_hist[old_state+1]--;
- update_hist = 1;
- break;
- default:
- if (load_parent_intJobStat(ctx, cis, &pis)) goto err;
- pis->pub.children_hist[EDG_WLL_JOB_UNKNOWN+1]--;
- // update_hist = 1; - triggered by the previous case or not needed
- break;
- }
-
- /* Increment histogram for interesting states and
- * cook artificial events to enable parent job state shift
- */
- switch (cis->pub.state) {
-=======
switch (stat->state) {
->>>>>>> 1.47.2.6
case EDG_WLL_JOB_RUNNING:
return(SUBJOB_CLASS_RUNNING);
break;
case EDG_WLL_JOB_DONE:
-/* TODO: merge */
-<<<<<<< jobstat.c
- if (load_parent_intJobStat(ctx, cis, &pis)) goto err;
- pis->pub.children_hist[cis->pub.state+1]++;
- pis->children_done_hist[cis->pub.done_code]++;
-
- if (pis->pub.jobtype == EDG_WLL_STAT_COLLECTION) {
- if (pis->pub.children_hist[cis->pub.state+1] == pis->pub.children_num) {
- /* not DONE yet? */
- if (pis->pub.state < EDG_WLL_JOB_DONE) {
- if (pis->children_done_hist[EDG_WLL_STAT_FAILED]) {
- if (log_collectionState_event(ctx, cis->pub.state,
- EDG_WLL_STAT_FAILED, cis, pis, ce))
- goto err;
- }
- /* XXX: is this meaningful semantics?
- else if (pis->children_done_hist[EDG_WLL_STAT_CANCELLED]) {
- if (log_collectionState_event(ctx, cis->pub.state,
- EDG_WLL_STAT_CANCELLED, cis, pis, ce))
- goto err;
- }
- */
- else
- if (log_collectionState_event(ctx, cis->pub.state,
- EDG_WLL_STAT_OK, cis, pis, ce))
- goto err;
- }
- }
- }
- update_hist = 1;
-=======
if (stat->done_code == EDG_WLL_STAT_OK)
return(SUBJOB_CLASS_DONE);
else
break;
case EDG_WLL_JOB_ABORTED:
return(SUBJOB_CLASS_ABORTED);
->>>>>>> 1.47.2.6
break;
-/* TODO: merge */
-<<<<<<< jobstat.c
- case EDG_WLL_JOB_CLEARED:
- if (load_parent_intJobStat(ctx, cis, &pis)) goto err;
- pis->pub.children_hist[cis->pub.state+1]++;
-
- if (pis->pub.jobtype == EDG_WLL_STAT_COLLECTION) {
- if (pis->pub.children_hist[cis->pub.state+1] == pis->pub.children_num) {
- /* not CLEARED yet? */
- if (pis->pub.state < EDG_WLL_JOB_CLEARED) {
- if (log_collectionState_event(ctx, cis->pub.state,
- 0, cis, pis, ce))
- goto err;
- }
- }
- }
- update_hist = 1;
-=======
case EDG_WLL_JOB_CLEARED:
return(SUBJOB_CLASS_CLEARED);
->>>>>>> 1.47.2.6
break;
default:
return(SUBJOB_CLASS_REST);
break;
}
-/* TODO: merge */
-<<<<<<< jobstat.c
-
- if (update_hist)
-=======
}
/* Mapping of subjob class to some field in childen_hist */
pis->pub.children_hist[class_to_statCode(subjob_class)+1]++;
pis->pub.children_hist[class_to_statCode(subjob_class_old)+1]--;
->>>>>>> 1.47.2.6
edg_wll_StoreSubjobHistogram(ctx, cis->pub.parent_job, pis);
EDG_WLL_PBS_EVENT_SOURCE__LAST
} edg_wll_PBSEventSource;
-/* TODO: merge */
-<<<<<<< jobstat.h
-typedef enum _edg_wll_CondorEventSource {
- EDG_WLL_CONDOR_EVENT_SOURCE_UNDEF = 0,
- EDG_WLL_CONDOR_EVENT_SOURCE_COLLECTOR,
- EDG_WLL_CONDOR_EVENT_SOURCE_MASTER,
- EDG_WLL_CONDOR_EVENT_SOURCE_MATCH,
- EDG_WLL_CONDOR_EVENT_SOURCE_NEGOTIATOR,
- EDG_WLL_CONDOR_EVENT_SOURCE_SCHED,
- EDG_WLL_CONDOR_EVENT_SOURCE_SHADOW,
- EDG_WLL_CONDOR_EVENT_SOURCE_STARTER,
- EDG_WLL_CONDOR_EVENT_SOURCE_START,
- EDG_WLL_CONDOR_EVENT_SOURCE_JOBQUEUE,
- EDG_WLL_CONDOR_EVENT_SOURCE__LAST
-} edg_wll_CondorEventSource;
-
int edg_wll_JobStatus(edg_wll_Context, const edg_wlc_JobId, int, edg_wll_JobStat *);
-=======
-typedef enum _edg_wll_CondorEventSource {
- EDG_WLL_CONDOR_EVENT_SOURCE_UNDEF = 0,
- EDG_WLL_CONDOR_EVENT_SOURCE_COLLECTOR,
- EDG_WLL_CONDOR_EVENT_SOURCE_MASTER,
- EDG_WLL_CONDOR_EVENT_SOURCE_MATCH,
- EDG_WLL_CONDOR_EVENT_SOURCE_NEGOTIATOR,
- EDG_WLL_CONDOR_EVENT_SOURCE_SCHED,
- EDG_WLL_CONDOR_EVENT_SOURCE_SHADOW,
- EDG_WLL_CONDOR_EVENT_SOURCE_STARTER,
- EDG_WLL_CONDOR_EVENT_SOURCE_START,
- EDG_WLL_CONDOR_EVENT_SOURCE_JOBQUEUE,
- EDG_WLL_CONDOR_EVENT_SOURCE__LAST
-} edg_wll_CondorEventSource;
-
typedef enum _subjobClassCodes {
SUBJOB_CLASS_UNDEF = 0,
SUBJOB_CLASS_RUNNING,
SUBJOB_CLASS_REST
} subjobClassCodes;
-
->>>>>>> 1.22.2.7
void destroy_intJobStat(intJobStat *);
void destroy_intJobStat_extension(intJobStat *p);
}
}
-/* TODO: merge */
-<<<<<<< jobstat_supp.c
-edg_wll_CondorEventSource get_condor_event_source(const char *condor_seq_num) {
- switch (condor_seq_num[EDG_WLL_SEQ_CONDOR_SIZE-1]) {
- case 'L': return(EDG_WLL_CONDOR_EVENT_SOURCE_COLLECTOR);
- case 'M': return(EDG_WLL_CONDOR_EVENT_SOURCE_MASTER);
- case 'm': return(EDG_WLL_CONDOR_EVENT_SOURCE_MATCH);
- case 'N': return(EDG_WLL_CONDOR_EVENT_SOURCE_NEGOTIATOR);
- case 'C': return(EDG_WLL_CONDOR_EVENT_SOURCE_SCHED);
- case 'H': return(EDG_WLL_CONDOR_EVENT_SOURCE_SHADOW);
- case 's': return(EDG_WLL_CONDOR_EVENT_SOURCE_STARTER);
- case 'S': return(EDG_WLL_CONDOR_EVENT_SOURCE_START);
- case 'j': return(EDG_WLL_CONDOR_EVENT_SOURCE_JOBQUEUE);
- default: return(EDG_WLL_CONDOR_EVENT_SOURCE_UNDEF);
- }
-}
-
-=======
edg_wll_CondorEventSource get_condor_event_source(const char *condor_seq_num) {
switch (condor_seq_num[EDG_WLL_SEQ_CONDOR_SIZE - 2]) {
case 'L': return(EDG_WLL_CONDOR_EVENT_SOURCE_COLLECTOR);
}
}
->>>>>>> 1.26.2.10
int edg_wll_compare_seq(const char *a, const char *b)
{
unsigned int c[EDG_WLL_SOURCE__LAST];