-RAD_SETTINGS::RAD_SETTINGS()
- : m_port(1812),
- m_dictionaries("/usr/share/freeradius/dictionary")
-{}
-
-int RAD_SETTINGS::ParseSettings(const ModuleSettings & s)
-{
- ParamValue pv;
- int p;
-
- pv.param = "Port";
- auto pvi = std::find(s.moduleParams.begin(), s.moduleParams.end(), pv);
- if (pvi != s.moduleParams.end() && !pvi->value.empty())
- {
- if (ParseIntInRange(pvi->value[0], 2, 65535, &p) != 0)
- {
- m_errorStr = "Cannot parse parameter \'Port\': " + m_errorStr;
- printfd(__FILE__, "Cannot parse parameter 'Port'\n");
- return -1;
- }
- m_port = static_cast<uint16_t>(p);
- }
-
- pv.param = "Secret";
- pvi = std::find(s.moduleParams.begin(), s.moduleParams.end(), pv);
- if (pvi == s.moduleParams.end() || pvi->value.empty())
- {
- m_errorStr = "Parameter \'Secret\' not found.";
- printfd(__FILE__, "Parameter 'Secret' not found\n");
- m_secret = "";
- }
- else
- {
- m_secret = pvi->value[0];
- }
-
- pv.param = "Dictionaries";
- pvi = std::find(s.moduleParams.begin(), s.moduleParams.end(), pv);
- if (pvi != s.moduleParams.end() && !pvi->value.empty())
- m_dictionaries = pvi->value[0];
- return 0;
-}
-