$request->content($xml);
$response = $ua->request($request);
die("Error in request: " . $response->status_line . "\n") unless ($response->is_success);
- XMLin($response->content);
+ XMLin($response->content, SuppressEmpty => '');
}
sub _getprop {
if ($res->{RESP}->{RC} ne '0x0') {
print "Error setting ${property} to ${value}: ".$res->{RESP}->{RC}."\n";
+ undef;
} else {
- print "${property}: ${oldval} -> ${value}\n";
+ print "${property}: ${oldval} -> ${value}\n" if ($verbose);
+ $oldval;
}
}
}
}
+sub usrlist {
+ my $reqstr = '<?XML version="1.0"?><?RMCXML version="1.0"?><RMCSEQ><REQ CMD="usrlist"></REQ></RMCSEQ>';
+ my $res = _req($reqstr);
+ my @users = ();
+
+ if ($res->{RESP}->{RC} ne '0x0') {
+ print "FAILED:".$res->{RESP}->{RC}."\n";
+ ();
+ } else {
+ foreach my $usr (@{$res->{RESP}->{USRLIST}->{USER}}) {
+ push @users, $usr->{NAME};
+ }
+ }
+ @users;
+}
+
sub syslog_debug {
my $destination_ip = shift;
my $bcast = shift;
if (@sprop) {
foreach my $p (@sprop) {
(my $pr, $v) = split(/=/,$p,2);
- setprop($pr, $v);
+ my $oldval = setprop($pr, $v);
+ if (defined($oldval)) {
+ print "${pr}: ${oldval} -> ${v}\n" if (!$verbose);
+ }
}
}
if ($save ne '') {
my @dontsave = qw(ENABLE_LAN_AUTONEG ENABLE_LAN_100 ENABLE_LAN_FDUPLEX
GATEWAY IP_ADDRESS NETMASK TFTP_FIRMWARE_FILE TFTP_ADDR_FIRMWARE
- ENABLE_DHCP HELP_LOCATION HELP_LOCATION PPP_PORT PPP2_INIT PPP2_PORT
- SERVER_ID SNMP_SERVER_1 SNMP_SERVER_2 SNMP_SERVER_3 SNMP_SERVER_4
- SNMP_SERVER_5 SNMP_SERVER_6 SNMP_SERVER_7 SERVER_AD_NAME
- SERVER_AD_NAME2 SERVER_AD_NAME3 SERVER_AD_NAME4 SERVER_MAC_ADDRESS
- SERVER_MAC_ADDRESS2 SERVER_MAC_ADDRESS3 SERVER_MAC_ADDRESS4
- MAC_ADDRESS LAST_CARD_NAME LAST_ENABLE_DHCP LAST_GATEWAY
+ ENABLE_DHCP MAC_ADDRESS LAST_CARD_NAME LAST_ENABLE_DHCP LAST_GATEWAY
LAST_IP_ADDRESS LAST_NETMASK);
open (SAVEFILE, ">${save}") || die "Error opening save-file: $!\n";
+ print STDERR "saving" if (!$verbose);
foreach my $ts (@fw_vars) {
next if (grep(/^${ts}$/, @dontsave));
next if ($phash->{PERMS} ne 'RW');
print SAVEFILE "${ts}=".$phash->{VAL}."\n";
+ print STDERR "." if (!$verbose);
+ }
+ foreach my $usr (usrlist()) {
+ print STDERR "TODO: save user ${usr}\n";
}
close(SAVEFILE);
+ print STDERR "done\n" if (!$verbose);
}
if ($load ne '') {
open (LOADFILE, "<${load}") || die "Error opening load-file: $!\n";
+ print STDERR "loading" if (!$verbose);
while(<LOADFILE>) {
chomp;
(my $p, my $v) = split(/=/, $_);
setprop($p, $v);
+ print STDERR "." if (!$verbose);
}
close(LOADFILE);
+ print STDERR "done\n" if (!$verbose);
print "Settings loaded, resetting board...\n";
my $reqstr='<?XML version="1.0"?><?RMCXML version="1.0"?><RMCSEQ><REQ CMD="boardreset"></REQ></RMCSEQ>';
_req($reqstr);