void CVDBMgr::x_Init(void) { if ( rc_t rc = VDBManagerMakeRead(x_InitPtr(), 0) ) { *x_InitPtr() = 0; NCBI_THROW2(CSraException, eInitFailed, "Cannot open VDBManager", rc); } uint32_t sdk_ver; if ( rc_t rc = VDBManagerVersion(*this, &sdk_ver) ) { NCBI_THROW2(CSraException, eInitFailed, "Cannot get VDBManager version", rc); } CKNSManager kns_mgr(CVFSManager(*this)); CNcbiOstrstream str; CNcbiApplication* app = CNcbiApplication::Instance(); if ( app ) { str << app->GetAppName() << ": " << app->GetVersion().Print() << "; "; } #if NCBI_PACKAGE str << "Package: " << NCBI_PACKAGE_NAME << ' ' << NCBI_PACKAGE_VERSION << "; "; #endif str << "C++ "; #ifdef NCBI_PRODUCTION_VER str << NCBI_PRODUCTION_VER << "/"; #endif #ifdef NCBI_DEVELOPMENT_VER str << NCBI_DEVELOPMENT_VER; #endif string prefix = CNcbiOstrstreamToString(str); KNSManagerSetUserAgent(kns_mgr, "%s; SRA Toolkit %V", prefix.c_str(), sdk_ver); // redirect VDB log to C++ Toolkit if ( s_GetDiagHandler() ) { KLogInit(); KLogLevelSet(klogDebug); KLogLibHandlerSet(VDBLogWriter, 0); } if ( app ) { string host = app->GetConfig().GetString("CONN", "HTTP_PROXY_HOST", kEmptyStr); int port = app->GetConfig().GetInt("CONN", "HTTP_PROXY_PORT", 0); if ( !host.empty() && port != 0 ) { if ( rc_t rc = KNSManagerSetHTTPProxyPath(kns_mgr, "%s:%d", host.c_str(), port) ) { NCBI_THROW2(CSraException, eInitFailed, "Cannot set KNSManager proxy parameters", rc); } KNSManagerSetHTTPProxyEnabled(kns_mgr, true); } } }
LIB_EXPORT void CC XMLLogger_Release(const XMLLogger* cself) { if( cself != NULL ) { XMLLogger* self = (XMLLogger*)cself; KLogFmtHandlerSet(self->log.fmt.formatter, 0, self->log.fmt.data); KLogLibFmtHandlerSet(self->loglib.fmt.formatter, 0, self->loglib.fmt.data); KLogHandlerSet(self->log.wrt.writer, self->log.wrt.data); KLogLibHandlerSet(self->loglib.wrt.writer, self->loglib.wrt.data); KStsFmtHandlerSet(self->sts.fmt.formatter, 0, self->sts.fmt.data); KStsLibFmtHandlerSet(self->stslib.fmt.formatter, 0, self->stslib.fmt.data); KStsHandlerSet(self->sts.wrt.writer, self->sts.wrt.data); KStsLibHandlerSet(self->stslib.wrt.writer, self->stslib.wrt.data); /* make log valid XML */ if( self->file.file != NULL ) { if( self->file.pos > 0 ) { KFileWrite(self->file.file, self->file.pos, "</Log>\n", 7, NULL); } KFileRelease(self->file.file); } free(self); } }
static rc_t run(bool quiet) { rc_t rc = 0; char password[PWD_SZ] = ""; bool empty = false; KWrtHandler handler; handler.writer = KOutWriterGet(); handler.data = KOutDataGet(); KOutHandlerSetStdErr(); KLogLibHandlerSet(NULL, NULL); OUTMSG(("Changing password\n")); #if 1 if (rc == 0) { int i = 0; for (i = 0; i < 3 && rc == 0; ++i) { rc = get_pass("New password:"******"cannot read the password"); if (rc != 0) { break; } if (password[0] == '\0') { OUTMSG(("BAD PASSWORD: too short\n")); } else { break; } } if (rc == 0 && password[0] == '\0') { rc = RC(rcExe, rcString, rcReading, rcString, rcIncorrect); empty = true; /* LOGERR(klogErr, rc, "failed to set password"); */ } } if (rc == 0) { char repassword[PWD_SZ] = ""; rc = get_pass("Retype new password:"******"cannot read the password"); if (rc == 0) { if (strcmp(password, repassword)) { OUTMSG(("Sorry, passwords do not match.\n")); rc = RC(rcExe, rcString, rcReading, rcString, rcInconsistent); /* LOGERR(klogErr, rc, "failed to set password"); */ } } } #else strcpy(password, "1n2"); #endif if (rc == 0) { rc = SetPwd(password, quiet); } KOutHandlerSet(handler.writer, handler.data); if (empty) { rc = 0; } return rc; }