void edge::dump (void) { util::scoped_lock (mtx_); std::cout << " -------- edge " << get_name () << " [" << get_src ().get_string () << "\t -> " << get_tgt ().get_string () << "] " << " (" << state_to_string (state_) << ")" << std::endl; }
/* * Forks a krb5 to the host listed in rc->hostname * Returns negative on error, with an errmsg in rc->errmsg. */ static int runkrb5( struct sec_handle * rh) { struct servent * sp; int server_socket; in_port_t my_port, port; struct tcp_conn * rc = rh->rc; const char *err; if ((sp = getservbyname(AMANDA_KRB5_SERVICE_NAME, "tcp")) == NULL) port = htons(AMANDA_KRB5_DEFAULT_PORT); else port = sp->s_port; if ((err = get_tgt(keytab_name, principal_name)) != NULL) { security_seterror(&rh->sech, "%s: could not get TGT: %s", rc->hostname, err); return -1; } set_root_privs(1); server_socket = stream_client(rc->hostname, (in_port_t)(ntohs(port)), STREAM_BUFSIZE, STREAM_BUFSIZE, &my_port, 0); set_root_privs(0); if(server_socket < 0) { security_seterror(&rh->sech, "%s", strerror(errno)); return -1; } rc->read = rc->write = server_socket; if (gss_client(rh) < 0) { return -1; } return 0; }