dhcpcd.exe geschrieben.

asterisk.cgis geloescht.


git-svn-id: http://svn.ipfire.org/svn/ipfire/trunk@787 ea5c0bd1-69bd-2848-81d8-4f18e57aeed8
This commit is contained in:
ms
2007-08-19 21:55:19 +00:00
parent 8e055e6555
commit 1393a0c8f8
7 changed files with 34 additions and 429 deletions

View File

@@ -1255,10 +1255,6 @@ etc/httpd/conf/uid.conf
etc/httpd/conf/vhosts.d/ipfire-interface-ssl.conf
etc/httpd/conf/vhosts.d/ipfire-interface.conf
srv/web/ipfire/cgi-bin/aliases.cgi
#srv/web/ipfire/cgi-bin/asterisk.cgi
#srv/web/ipfire/cgi-bin/asterisk.cgi/calls
#srv/web/ipfire/cgi-bin/asterisk.cgi/conf
#srv/web/ipfire/cgi-bin/asterisk.cgi/status
srv/web/ipfire/cgi-bin/backup.cgi
srv/web/ipfire/cgi-bin/chpasswd.cgi
srv/web/ipfire/cgi-bin/connections.cgi

View File

@@ -32,6 +32,7 @@ etc/rc.d/init.d/network
#etc/rc.d/init.d/networking
etc/rc.d/init.d/networking/any
etc/rc.d/init.d/networking/blue
etc/rc.d/init.d/networking/dhcpcd.exe
etc/rc.d/init.d/networking/green
etc/rc.d/init.d/networking/orange
etc/rc.d/init.d/networking/red

View File

@@ -1,116 +0,0 @@
#!/usr/bin/perl
require '/var/ipfire/general-functions.pl';
require "${General::swroot}/lang.pl";
require "${General::swroot}/header.pl";
&Header::showhttpheaders();
my (%asterisksettings, %checked);
my %cgiparams;
&Header::getcgihash(\%cgiparams);
$asterisksettings{'ACTION'} = '';
$file = "/var/log/asterisk/cdr-csv/Master.csv";
open(DATEN, "$file") or die "Can't open file: $file: $!\n";
@datafile = <DATEN>;
close(DATEN);
&Header::openpage('asterisk', 1, '');
&Header::openbigbox('100%', 'LEFT');
if ($cgiparams{'ACTION'} eq $Lang::tr{'update'})
{
$mday3 = $cgiparams{'day3'};
$mon3 = $cgiparams{'month3'};
$jahr3 = $cgiparams{'year3'};
$mday4 = $cgiparams{'day4'};
$mon4 = $cgiparams{'month4'};
$jahr4 = $cgiparams{'year4'};
}
else
{
@datum3 = localtime(time());
($sec3,$min3,$stunde3,$mday3,$mon3,$jahr3,$wday3,$yday3,$isdst3)=@datum3;
$jahr3 = $jahr3 + 1900;
$mon3 = $mon3+1;
if ($mon3 < 10) { $mon3 = "0$mon3"; }
if ($mday3 <10) { $mday3= "0$mday3";}
$sec4 = $sec3;
$min4 = $min3;
$stunde4 = $stunde3;
$mday4 = $mday3;
$mon4 = $mon3;
$jahr4 = $jahr3;
$wday4 = $wday3;
$isdst4 = $isdst3;
}
if ($errormessage) {
&openbox('100%', 'LEFT', $tr{'error messages'});
print "<FONT CLASS='base'>$errormessage&nbsp;</FONT>\n";
&closebox();
}
print "<FORM METHOD='POST'>\n";
&Header::openbox('100%', 'LEFT', 'Filter');
print <<END
<center><table border=0><tr><td>&nbsp;</td><td width=50px>Tag:</td><td width=50px>Monat:</td><td width=50px>Jahr:</td></tr>
<tr><td>Von: <td><input type=text name=day3 maxlength=2 size=2 value="$mday3"><td><input type=text name=month3 maxlength=2 size=2 value="$mon3"><td><input type=text name=year3 maxlength=4 size=4 value="$jahr3">
<tr><td>Bis: <td><input type=text name=day4 maxlength=2 size=2 value="$mday4"><td><input type=text name=month4 maxlength=2 size=2 value="$mon4"><td><input type=text name=year4 maxlength=4 size=4 value="$jahr4">
<tr><td colspan=2>Von oder zum Anrufer mit der ID/Nummer:<td colspan=2><input type=text name=number size=20 maxlength=100 value="$cgiparams{'number'}">
<tr><td align=center colspan=4><input type=submit name='ACTION' value=$Lang::tr{'update'}>
</table>
END
;
&Header::closebox();
&Header::openbox('100%', 'LEFT', 'Anrufe');
print "<table border=0 width=100%> <tr> <td align=center><b>Anfrufer <td align=center><b>Angerufene <td align=center><b>CallerID <td align=center><b>Start des Anrufs <td align=center><b>Ende des Anrufs <td align=center><b>Dauer (in Sek.) <td align=center><b>Status";
print "<tr><td colspan=6>&nbsp;<!-- Platzhalter -->";
foreach $line (reverse @datafile) {
chomp $line;
(@spalten) = split (/,/, $line);
$spalten[1] =~ s/"//g;
$spalten[2] =~ s/"//g;
$spalten[4] =~ s/"//g;
$spalten[10]=~ s/"//g;
$spalten[11]=~ s/"//g;
$spalten[13]=~ s/"//g;
$spalten[14]=~ s/"//g;
(@zdatum) = split (/ /, $spalten[11]);
(@datu) = split (/-/, $zdatum[0]);
(@dzeit) = split (/:/, $zdatum[1]);
$datum1 = $datu[0].$datu[1].$datu[2];
@datum2_1 = localtime(time());
($sec,$min,$stunde,$mday,$mon,$jahr,$wday,$yday,$isdst)=@datum2_1;
$jahr = $jahr + 1900;
$mon = $mon+1;
if ($mon < 10) { $mon = "0$mon"; }
if ($mday <10) { $mday= "0$mday";}
$datum2 = $jahr.$mon.$mday;
$datum3_1 = $jahr3.$mon3.$mday3;
$datum4_1 = $jahr4.$mon4.$mday4;
$datum2 = $datum2-100;
if ($datum1 ge $datum3_1 && $datum1 le $datum4_1 && ($cgiparams{'number'} eq '' || $cgiparams{'number'} eq $spalten[1] || $cgiparams{'number'} eq $spalten[2])) {
print "<tr bgcolor=#C0C0C0> <td align=center><a target='_blank' href=$telline> $spalten[1]</a> <td align=center>$spalten[2] <td align=center>$spalten[4] <td align=center bgcolor=#339933>$spalten[10] <td align=center bgcolor=#339933>$spalten[11] <td align=center>$spalten[13] <td align=center bgcolor='#993333'><font color=white>$spalten[14]\n";}
}
print "</table>";
&Header::closebox();
print "</FORM>\n";
&Header::closebigbox();
&Header::closepage();

View File

@@ -1,161 +0,0 @@
#!/usr/bin/perl
require '/var/ipfire/general-functions.pl';
require "${General::swroot}/lang.pl";
require "${General::swroot}/header.pl";
&Header::showhttpheaders();
my %cgiparams;
&Header::getcgihash(\%cgiparams);
&Header::openpage('asterisk', 1, '');
&Header::openbigbox('100%', 'LEFT');
if ($cgiparams{'ACTION'} eq $Lang::tr{'save'})
{
$conf_file = $cgiparams{'save_path'};
open (FILE, ">$conf_file") or die "Kann die Datei nicht speichern: $!";
flock (FILE, 2);
print FILE "$cgiparams{'textarea'}";
close FILE;
&Header::openbox('100%', 'LEFT', 'info');
print "$conf_file wurde gespeichert";
&Header::closebox();
}
if ($cgiparams{'ACTION'} eq Bearbeiten)
{
$conf_file = $cgiparams{'conf_file'};
}
if ($conf_file eq '') {
$conf_file='/etc/asterisk/extensions.conf';
}
if ($cgiparams{'ACTION'} eq extensions)
{
$conf_file='/etc/asterisk/extensions.conf';
}
if ($cgiparams{'ACTION'} eq sip)
{
$conf_file='/etc/asterisk/sip.conf';
}
if ($cgiparams{'ACTION'} eq iax)
{
$conf_file='/etc/asterisk/iax.conf';
}
if ($errormessage) {
&Header::openbox('100%', 'LEFT', $tr{'error messages'});
print "<FONT CLASS='base'>$errormessage&nbsp;</FONT>\n";
&Header::closebox();
}
$cgiparams{'ACTION'} = '';
print "<FORM METHOD='POST'>\n";
if ($conf_file ne '') {
&Header::openbox('100%', 'LEFT', $conf_file);
print <<END
<center><table border=0>
<tr><td><textarea name="textarea" cols="100" rows="20" wrap="VIRTUAL">
END
;
system("cat $conf_file");
print <<END
</textarea>\n
<tr><td align=center>
<p><input type=text name=save_path value=$conf_file size=25>
<p><input type=submit name=ACTION value=$Lang::tr{'save'}>
</table>
END
;
&Header::closebox();
}
&Header::openbox('100%', 'LEFT', 'Dateiauswahl');
my $dir = '/vbar/ipfire/asterisk/';
my @dateien;
listFiles ($dir);
print <<END
<table width=100% border=0>
<tr><td width=33% align=right>
<!-- Buttons -->
<input type=submit name=ACTION value=extensions><input type=submit name=ACTION value=sip><input type=submit name=ACTION value=iax>
<td width=33% align=right>
<center><select name=conf_file>
END
;
foreach $line (sort (@dateien)) {
$op_name = $line;
$op_name =~ s/$dir//g;
print "<option value='$line'>$op_name</option>\n";
}
my $dir2 = '/home/httpd/cgi-bin/asterisk/conf/';
my @dateien2;
listFiles2 ($dir2);
foreach $line2 (sort (@dateien2)) {
$op_name2 = $line2;
$op_name2 =~ s/$dir2//g;
print "<option value='$line2'>$op_name2</option>\n";
}
print "</select><input type=submit name=ACTION value=Bearbeiten></center><td width=33% align=right>&nbsp</table>";
sub listFiles {
local *DH;
my ($item, $pfad);
my $dir = shift;
opendir (DH, $dir) or return;
while ($item = readdir (DH)) {
next if ( $item =~ /^\./ );
$pfad = ( ($dir =~ /\/$/) ? ($dir . $item) : ($dir . '/'.$item) );
push (@dateien, $pfad) if (-f $pfad);
listFiles ($pfad) if (-d $pfad);
}
closedir (DH);
}
sub listFiles2 {
local *DH2;
my ($item2, $pfad2);
my $dir2 = shift;
opendir (DH2, $dir2) or return;
while ($item2 = readdir (DH2)) {
next if ( $item2 =~ /^\./ );
$pfad2 = ( ($dir2 =~ /\/$/) ? ($dir2 . $item2) : ($dir2 . '/'.$item2) );
push (@dateien2, $pfad2) if (-f $pfad2);
listFiles2 ($pfad2) if (-d $pfad2);
}
closedir (DH2);
}
&Header::closebox();
print "</FORM>\n";
&Header::closebigbox();
&Header::closepage();

View File

@@ -1,147 +0,0 @@
#!/usr/bin/perl
require '/var/ipcop/general-functions.pl';
require "${General::swroot}/lang.pl";
require "${General::swroot}/header.pl";
&Header::showhttpheaders();
my %asterisksettings;
&Header::getcgihash(\%asterisksettings);
&Header::openpage('asterisk', 1, '');
&Header::openbigbox('100%', 'LEFT');
if ($asterisksettings{'ACTION'} eq $Lang::tr{'save'})
{
&General::writehash("${General::swroot}/asterisk/settings", \%asterisksettings);
if ($asterisksettings{'ENABLE_AST'} eq 'on')
{
&General::log('Asterisk is enabled');
system ('/bin/touch', "${General::swroot}/asterisk/enable");
}
else
{
&General::log('Asterisk is disabled');
unlink "${General::swroot}/asterisk/enable";
}
if ($asterisksettings{'ENABLE_CAPI'} eq 'on')
{
&General::log('CAPI is enabled');
system ('/bin/touch', "${General::swroot}/asterisk/capi");
}
else
{
&General::log('CAPI is disabled');
unlink "${General::swroot}/asterisk/capi";
}
if ($asterisksettings{'ENABLE_ZAP'} eq 'on')
{
&General::log('Zaptel is enabled');
system ('/bin/touch', "${General::swroot}/asterisk/zap");
}
else
{
&General::log('Zaptel is disabled');
unlink "${General::swroot}/asterisk/zap";
}
{
&General::writehash("${General::swroot}/asterisk/settings", \%asterisksettings);
}
system("/usr/local/bin/asteriskoff >/dev/null 2>&1");
system("/bin/sleep 2");
system("/usr/local/bin/amportalconf >/dev/null 2>&1");
system("/usr/local/bin/asteriskmodules >/dev/null 2>&1");
system("/usr/local/bin/asteriskon >/dev/null 2>&1");
&General::log('Asterisk config changed');
}
&General::readhash("${General::swroot}/asterisk/settings", \%asterisksettings);
$checked{'ENABLE_AST'}{'off'} = '';
$checked{'ENABLE_AST'}{'on'} = '';
$checked{'ENABLE_AST'}{$asterisksettings{'ENABLE_AST'}} = 'CHECKED';
$checked{'ENABLE_CAPI'}{'off'} = '';
$checked{'ENABLE_CAPI'}{'on'} = '';
$checked{'ENABLE_CAPI'}{$asterisksettings{'ENABLE_CAPI'}} = 'CHECKED';
$checked{'ENABLE_ZAP'}{'off'} = '';
$checked{'ENABLE_ZAP'}{'on'} = '';
$checked{'ENABLE_ZAP'}{$asterisksettings{'ENABLE_ZAP'}} = 'CHECKED';
if ($errormessage) {
&Header::openbox('100%', 'LEFT', $tr{'error messages'});
print "<FONT CLASS='base'>$errormessage&nbsp;</FONT>\n";
&Header::closebox();
}
if ($message) {
&Header::openbox('100%', 'LEFT', 'Message');
print "<FONT CLASS='base'>$message&nbsp;</FONT>\n";
&Header::closebox();
}
print "<FORM METHOD='POST'>\n";
&Header::openbox('100%', 'LEFT', 'Status:');
print <<END
<center>
<TABLE WIDTH='100%'>
<TR>
<TD WIDTH='33%' CLASS='base' ALIGN='RIGHT'><IMG SRC='/images/logoasterisk.gif' HEIGHT='100' BORDER='0' ALT='asterisk'></TD>
<TD WIDTH='33%' ALIGN='RIGHT'>Aktiviert:</TD>
<TD WIDTH='33%' ALIGN='LEFT'> <INPUT TYPE='checkbox' NAME='ENABLE_AST' $checked{'ENABLE_AST'}{'on'}></TD>
</TR>
<TR>
<TD WIDTH='33%' CLASS='base' ALIGN='RIGHT'>Load CAPI kernel modules:</TD>
<TD WIDTH='33%' ALIGN='RIGHT'>Aktiviert:</TD>
<TD WIDTH='33%' ALIGN='LEFT'> <INPUT TYPE='checkbox' NAME='ENABLE_CAPI' $checked{'ENABLE_CAPI'}{'on'}></TD>
</TR>
<TR>
<TD WIDTH='33%' CLASS='base' ALIGN='RIGHT'>Load ZAP kernel modules:</TD>
<TD WIDTH='33%' ALIGN='RIGHT'>Aktiviert:</TD>
<TD WIDTH='33%' ALIGN='LEFT'> <INPUT TYPE='checkbox' NAME='ENABLE_ZAP' $checked{'ENABLE_ZAP'}{'on'}></TD>
</TR>
<TR>
<TD WIDTH='33%'>&nbsp;</TD>
<TD WIDTH='33%' ALIGN='CENTER'><INPUT TYPE='submit' NAME='ACTION' VALUE='$Lang::tr{'save'}'></TD>
<TD WIDTH='33%'>&nbsp;</TD>
</TR>
</TABLE>
END
;
&Header::closebox();
&Header::openbox('100%', 'LEFT', 'Asterisk:');
print <<END
<center>
<TABLE WIDTH='100%'>
<TR>
<TD WIDTH='33%' CLASS='base' ALIGN='RIGHT'>&nbsp;</TD>
<TD WIDTH='33%' ALIGN='center'><a href="/cgi-bin/asterisk/conf.cgi">Konfiguration</TD>
<TD WIDTH='33%' ALIGN='LEFT'>&nbsp;</TD>
</TR>
<TR>
<TD WIDTH='33%' CLASS='base' ALIGN='RIGHT'>&nbsp;</TD>
<TD WIDTH='33%' ALIGN='center'><a href="/cgi-bin/asterisk/calls.cgi">Anrufe</TD>
<TD WIDTH='33%' ALIGN='LEFT'>&nbsp;</TD>
</TR>
</TABLE>
END
;
&Header::closebox();
&Header::closebigbox();
&Header::closepage();

View File

@@ -76,6 +76,6 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
--mandir=/usr/share/man --disable-nls
cd $(DIR_APP) && make $(MAKETUNING)
cd $(DIR_APP) && make install
ln -sf /etc/rc.d/init.d/net/red/update $(CONFIG_ROOT)/dhcpc/dhcpcd.exe
ln -sf /etc/rc.d/init.d/networking/dhcpcd.exe $(CONFIG_ROOT)/dhcpc/dhcpcd.exe
@rm -rf $(DIR_APP)
@$(POSTBUILD)

View File

@@ -0,0 +1,32 @@
#!/bin/sh
########################################################################
# Begin
#
# Description : DHCP Client Script
#
# Authors : Michael Tremer - mitch@ipfire.org
#
# Version : 01.00
#
# Notes :
#
########################################################################
eval $(/usr/local/bin/readhash "$1")
case "$2" in
up)
logger -p local0.info -t dhcpcd.exe[$$] "${INTERFACE} has been configured with old IP=${IPADDR}"
touch /var/ipfire/red/active
;;
new)
logger -p local0.info -t dhcpcd.exe[$$] "${INTERFACE} has been configured with new IP=${IPADDR}"
[ -e "/var/ipfire/red/active" ] || touch /var/ipfire/red/active
fi
;;
down)
logger -p local0.info -t dhcpcd.exe[$$] "${INTERFACE} has been brought down"
rm -f /var/ipfire/red/active
;;
esac
# End