MCPcopy Create free account
hub / github.com/FirebirdSQL/firebird / resetClnt

Method resetClnt

src/remote/remote.cpp:1132–1178  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1130}
1131
1132void ClntAuthBlock::resetClnt(const CSTRING* listStr)
1133{
1134 if (listStr)
1135 {
1136 if (dataForPlugin.hasData())
1137 {
1138 // We should not change plugins iterator now
1139 return;
1140 }
1141
1142 ClumpletReader srvList(ClumpletReader::UnTagged,
1143 listStr->cstr_address, listStr->cstr_length);
1144
1145 if (srvList.find(TAG_KNOWN_PLUGINS))
1146 {
1147 srvList.getPath(serverPluginList);
1148 }
1149 }
1150
1151 dataForPlugin.clear();
1152 dataFromPlugin.clear();
1153 firstTime = true;
1154
1155 pluginList = dpbPlugins.hasData() ? dpbPlugins :
1156 clntConfig->getPlugins(IPluginManager::TYPE_AUTH_CLIENT);
1157
1158 PathName final;
1159 if (serverPluginList.hasData())
1160 {
1161 ParsedList::mergeLists(final, serverPluginList, pluginList);
1162 if (final.length() == 0)
1163 {
1164 HANDSHAKE_DEBUG(fprintf(stderr, "Cli: No matching plugins on client\n"));
1165 (Arg::Gds(isc_login)
1166#ifdef DEV_BUILD
1167 << Arg::Gds(isc_random) << "No matching plugins on client"
1168#endif
1169 ).raise();
1170 }
1171 }
1172 else
1173 {
1174 final = pluginList;
1175 }
1176
1177 plugins.set(final.c_str());
1178}
1179
1180RefPtr<const Config>* ClntAuthBlock::getConfig()
1181{

Callers 2

INET_analyzeFunction · 0.80
XNET_analyzeFunction · 0.80

Calls 10

GdsClass · 0.85
getPathMethod · 0.80
hasDataMethod · 0.45
findMethod · 0.45
clearMethod · 0.45
getPluginsMethod · 0.45
lengthMethod · 0.45
raiseMethod · 0.45
setMethod · 0.45
c_strMethod · 0.45

Tested by

no test coverage detected