/***********************/ /* d o _ c o n n e c t */ /***********************/ int do_connect(void) { int r; char buf[1024], *scan = strchr(identity, 0); LIBSSH2_SFTP_ATTRIBUTES attr; if (!lpSession) { lpSession = libssh2_session_init(); if (lpSession == NULL) { return(NOCONF); } } if (server == NOTSET) { server = socket(PF_INET, SOCK_STREAM, IPPROTO_IP); if (connect(server, (struct sockaddr *)&srv_addr, sizeof(srv_addr)) || libssh2_session_startup(lpSession, server) != 0) { close(server); server = NOTSET; return(BADCONF); } } if (!libssh2_userauth_authenticated(lpSession) && libssh2_userauth_publickey_fromfile(lpSession, identity, NULL, keyfile, &scan[1])) { return(NOAUTH); } // other code removed for brevity }