chmod +x $@
 
 glite-lb-logd: ${LOGD_OBJS}
-       ${LINK} -o $@ ${LOGD_OBJS} ${COMMON_LIB}${default_nothrflavour} ${EXT_LIB}
+       ${LINK} -o $@ ${LOGD_OBJS} ${COMMON_LIB}${default_thrflavour} ${EXT_LIB}
 
 glite-lb-logd-perf: ${LOGD_OBJS}
-       ${LINK} -o $@ ${LOGD_OBJS} ${COMMON_LIB}${default_nothrflavour} ${EXT_LIB}
+       ${LINK} -o $@ ${LOGD_OBJS} ${COMMON_LIB}${default_thrflavour} ${EXT_LIB}
 
 glite-lb-logd-nofile: ${LOGD_NOBJS}
-       ${LINK} -o $@ ${LOGD_NOBJS} ${COMMON_LIB}${default_nothrflavour} ${EXT_LIB}
+       ${LINK} -o $@ ${LOGD_NOBJS} ${COMMON_LIB}${default_thrflavour} ${EXT_LIB}
 
 glite-lb-logd-perf-nofile: ${LOGD_NOBJS}
-       ${LINK} -o $@ ${LOGD_NOBJS} ${COMMON_LIB}${default_nothrflavour} ${EXT_LIB}
+       ${LINK} -o $@ ${LOGD_NOBJS} ${COMMON_LIB}${default_thrflavour} ${EXT_LIB}
 
 glite-lb-interlogd: ${INTERLOG_OBJS}
        ${LINK} -o $@ ${INTERLOG_OBJS} ${COMMON_LIB}${default_thrflavour} ${EXT_LIB} -lpthread
 
        char                   *dest_name;
        int                     dest_port;
        char                   *dest;
+       char                   *owner;
        time_t                  expires;        /* time (in seconds from epoch) the message expires */
 };
 
        char                   *dest_name;
        int                     dest_port;
        char                   *dest;
+       char                   *owner;
        struct event_queue_msg *head;           /* first message in the queue */
        struct event_queue_msg *tail_ems;       /* last priority message in the queue (or NULL) */
        int                     num_threads;    /* number of delivery threads */
 
 };
 
 struct event_queue *
-event_queue_create(char *server_name, struct il_output_plugin *output)
+event_queue_create(char *server_name,  struct il_output_plugin *output)
 {
   struct event_queue *eq;
   char *p,*s, c;
          free(eq->dest_name);
   if(eq->dest)
          free(eq->dest);
+  if(eq->owner) 
+         free(eq->owner);
+
   free(eq);
 
   return(0);
   if(++eq->cur_len > eq->max_len)
          eq->max_len = eq->cur_len;
 
+  if(msg->owner) {
+         if(eq->owner) {
+                 if(strcmp(eq->owner, msg->owner)) {
+                         free(eq->owner);
+                         eq->owner = strdup(msg->owner);
+                 }
+         } else {
+                 eq->owner = strdup(msg->owner);
+         }
+  }
+
   event_queue_unlock(eq);
   /* end of critical section */
 
 
 int
 queue_list_is_log(struct event_queue *eq)
 {
-  return(eq == queue_list_get(NULL));
+       return(eq == queue_list_get(NULL));
 }
 
 
 
 int
 queue_list_is_log(struct event_queue *eq)
 {
-  return(eq == queue_list_get(NULL));
+       return(eq == queue_list_get(NULL));
 }
 
 
 
     glite_common_log(IL_LOG_CATEGORY, LOG_PRIORITY_DEBUG, 
                     "    trying to connect to %s:%d", 
                     eq->dest_name, eq->dest_port);
-    ret = edg_wll_gss_connect(local_cred_handle->creds, eq->dest_name, eq->dest_port, &tv, &me->gss, &gss_stat);
+    /* ret = edg_wll_gss_connect(local_cred_handle->creds, eq->dest_name, eq->dest_port, &tv, &me->gss, &gss_stat); */
+    ret = edg_wll_gss_connect_name(local_cred_handle->creds, eq->dest_name, eq->dest_port, eq->owner, /* mech */NULL, &tv, &me->gss, &gss_stat);
     if(pthread_mutex_lock(&cred_handle_lock) < 0)
            abort();
     /* check if we need to release the credentials */
 
   msg->dest_name = src->dest_name ? strdup(src->dest_name) : NULL;
   msg->dest_port = src->dest_port;
   msg->dest = src->dest ? strdup(src->dest) : NULL;
+  msg->owner = src->owner ? strdup(src->owner) : NULL;
 #endif
   msg->expires = src->expires;
   msg->generation = src->generation;
                msg->len = create_msg(event, &msg->msg, &msg->receipt_to, &msg->expires);
        }
        msg->expires = notif_event->notification.expires;
+       if(notif_event->notification.owner) {
+               msg->owner = strdup(notif_event->notification.owner);
+       }
        edg_wll_FreeEvent(notif_event);
        free(notif_event);
        if(msg->len < 0) {
 #if defined(IL_NOTIFICATIONS)
   if(msg->dest_name) free(msg->dest_name);
   if(msg->dest) free(msg->dest);
+  if(msg->owner) free(msg->owner);
 #endif
   free(msg);
   return 0;