Skip to content

Commit 29f73db

Browse files
committed
* Fixed path issues in the installer
* Fixed shortcuts in the installer * Fixed so clients can understand no prefixed arguments ie. ... -c nrpe_query -a command=check_ok host=129.168.0.1
1 parent 106863f commit 29f73db

File tree

4 files changed

+40
-5
lines changed

4 files changed

+40
-5
lines changed

changelog

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,12 @@ TODO:
44
* Fix dependonservice LanManWorkStation (old win)
55
* Fix RtlStringFromGUID problem on NT4
66

7+
2012-12-18 MickeM
8+
* Fixed path issues in the installer
9+
* Fixed shortcuts in the installer
10+
* Fixed so clients can understand no prefixed arguments ie.
11+
... -c nrpe_query -a command=check_ok host=129.168.0.1
12+
713
2012-12-02 MickeM
814
* Added option to disable new alias check_cpu and only register old ones CheckCPU
915
[/settings/default]

helpers/installers/installer/Product.wxs

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,12 +51,15 @@
5151
</Component>
5252
<Component Id="Shortcuts" Guid="4BCF8026-B209-4d33-B323-5B2ACC43A258" Win64="$(var.Win64)">
5353
<Shortcut Id="StartmenuNSClientTest" Directory="ProgramMenuDir" Name="$(var.App.Title) ($(var.arch), test)"
54+
Target="[INSTALLLOCATION]nscp.exe"
5455
WorkingDirectory="INSTALLDIR" Icon="nscp.exe" IconIndex="0"
5556
Arguments="test" Description="Run $(var.App.Title) in test mode" />
5657
<Shortcut Id="StartmenuNSClientStart" Directory="ProgramMenuDir" Name="Start $(var.App.Title) ($(var.arch))"
58+
Target="[INSTALLLOCATION]nscp.exe"
5759
WorkingDirectory='INSTALLDIR' Icon="nscp.exe" IconIndex="0"
5860
Arguments="service --name [SERVICE_NAME] --start" Description="Start the $(var.App.Title) service" />
5961
<Shortcut Id="StartmenuNSClientStop" Directory="ProgramMenuDir" Name="Stop $(var.App.Title) ($(var.arch))"
62+
Target="[INSTALLLOCATION]nscp.exe"
6063
WorkingDirectory='INSTALLDIR' Icon="nscp.exe" IconIndex="0"
6164
Arguments="service --name [SERVICE_NAME] --stop" Description="Stop the $(var.App.Title) service" />
6265
<Shortcut Id="StarmentNSCHelp" Directory="ProgramMenuDir" Name="Documentation"
@@ -177,8 +180,6 @@
177180
<File Id="P_script_003" Name="test_pb.py" DiskId="1" Source="$(var.Source)/scripts/python/test_pb.py" Vital="no" />
178181
<File Id="P_script_004" Name="test_sample.py" DiskId="1" Source="$(var.Source)/scripts/python/test_sample.py" Vital="no" />
179182
</Component>
180-
</Directory>
181-
182183
<Directory Id="INSTALLLOCATION_SCRIPTS_PYTHON_LIB1" Name="lib">
183184
<Component Id="PythonScriptsPBLib1" Guid="7BB3FE48-7E17-4796-9135-76A26DB3B81E" Win64="$(var.Win64)">
184185
<File Id="p_script_lib_001" Name="__init__.py" DiskId="1" Source="$(var.Source)/scripts/python/lib/__init__.py" Vital="no" />
@@ -223,6 +224,7 @@
223224
</Directory>
224225
</Directory>
225226
</Directory>
227+
</Directory>
226228
</Directory>
227229
</Directory>
228230

include/client/command_line_parser.cpp

Lines changed: 28 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,23 @@ int client::command_manager::exec_simple(configuration &config, const std::wstri
182182
// TODO: Add support for target here!
183183
return client::command_line_parser::do_execute_command_as_exec(config, ci.command, rendered_arguments, response);
184184
}
185+
186+
std::vector<boost::program_options::option> option_parser(std::vector<std::string> &args) {
187+
std::vector<boost::program_options::option> result;
188+
BOOST_FOREACH(const std::string &s, args) {
189+
boost::program_options::option opt;
190+
std::string::size_type pos = s.find('=');
191+
if (pos == std::string::npos) {
192+
opt.string_key = s;
193+
} else {
194+
opt.string_key = s.substr(0, pos);
195+
opt.value.push_back(s.substr(pos+1));
196+
}
197+
result.push_back(opt);
198+
}
199+
args.clear();
200+
return result;
201+
}
185202
int client::command_line_parser::do_query(configuration &config, const std::wstring &command, std::list<std::wstring> &arguments, std::string &response) {
186203
boost::program_options::variables_map vm;
187204
try {
@@ -196,7 +213,17 @@ int client::command_line_parser::do_query(configuration &config, const std::wstr
196213
std::vector<std::wstring> vargs(arguments.begin(), arguments.end());
197214
po::positional_options_description p;
198215
p.add("arguments", -1);
199-
po::wparsed_options parsed = po::basic_command_line_parser<wchar_t>(vargs).options(desc).positional(p).run();
216+
217+
po::basic_command_line_parser<wchar_t> cmd(vargs);
218+
cmd.options(desc);
219+
cmd.positional(p);
220+
if (arguments.size() > 0) {
221+
const std::wstring s = arguments.front();
222+
if (s.size() > 0 && s[0] != L'-') {
223+
cmd.extra_style_parser(option_parser);
224+
}
225+
}
226+
po::wparsed_options parsed = cmd.run();
200227
po::store(parsed, vm);
201228
po::notify(vm);
202229
} catch (const std::exception &e) {

version.txt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
version=0.4.1
2-
build=72
3-
date=2012-12-02
2+
build=73
3+
date=2012-12-17

0 commit comments

Comments
 (0)