X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=html%2Fcgi-bin%2Fsamba.cgi;h=b8e57317767e333082e390d1bdf86d0691524c5d;hb=824b94bf98bf869ed066cb394058b30b396dc67b;hp=97471c72c20c49b5e6b962e68a310da99ba0863c;hpb=96742484c562ccc84c5c41c8bef59f7d49043b6c;p=people%2Fpmueller%2Fipfire-2.x.git diff --git a/html/cgi-bin/samba.cgi b/html/cgi-bin/samba.cgi index 97471c72c2..b8e5731776 100644 --- a/html/cgi-bin/samba.cgi +++ b/html/cgi-bin/samba.cgi @@ -60,6 +60,10 @@ my %shares = (); &General::readhash("${General::swroot}/main/settings", \%mainsettings); &General::readhash("/srv/web/ipfire/html/themes/".$mainsettings{'THEME'}."/include/colors.txt", \%color); +my @ovpnnetwork = split(/\//,$ovpnsettings{'DOVPN_SUBNET'}); +my @ovpnip = split(/\./,$ovpnnetwork[0]); +$ovpnip[3]=$ovpnip[3]+1; + ############################################################################################################################ ############################################# Samba Dienste fr Statusberprfung ########################################## @@ -73,7 +77,7 @@ my %servicenames = ('SMB Daemon' => 'smbd','NetBIOS Nameserver' => 'nmbd'); $sambasettings{'WORKGRP'} = 'homeip.net'; $sambasettings{'NETBIOSNAME'} = 'IPFire'; -$sambasettings{'SRVSTRING'} = 'Samba running on IPFire 2.0'; +$sambasettings{'SRVSTRING'} = 'Samba running on IPFire 2.5'; $sambasettings{'INTERFACES'} = ''; $sambasettings{'SECURITY'} = 'share'; $sambasettings{'OSLEVEL'} = '33'; @@ -84,11 +88,17 @@ $sambasettings{'VPN'} = 'off'; $sambasettings{'WINSSRV'} = ''; $sambasettings{'WINSSUPPORT'} = 'on'; $sambasettings{'REMOTEANNOUNCE'} = ''; +$sambasettings{'REMOTESYNC'} = ''; $sambasettings{'PASSWORDSYNC'} = 'off'; $sambasettings{'OTHERINTERFACES'} = '127.0.0.1'; $sambasettings{'GUESTACCOUNT'} = 'samba'; $sambasettings{'MAPTOGUEST'} = 'Never'; $sambasettings{'LOGLEVEL'} = '3 passdb:5 auth:5 winbind:2'; +$sambasettings{'SYSLOGLEVEL'} = '1'; +$sambasettings{'SYSLOGONLY'} = 'on'; +$sambasettings{'DOSCHARSET'} = 'CP850'; +$sambasettings{'UNIXCHARSET'} = 'UTF8'; +$sambasettings{'DISPLAYCHARSET'} = 'CP850'; $sambasettings{'SOCKETOPTIONS'} = 'TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 SO_KEEPALIVE'; ### Values that have to be initialized $sambasettings{'ACTION'} = ''; @@ -144,11 +154,17 @@ if ($sambasettings{'ACTION'} eq 'globalresetyes') $sambasettings{'WINSSRV'} = ''; $sambasettings{'WINSSUPPORT'} = 'on'; $sambasettings{'REMOTEANNOUNCE'} = ''; + $sambasettings{'REMOTESYNC'} = ''; $sambasettings{'PASSWORDSYNC'} = 'off'; $sambasettings{'OTHERINTERFACES'} = '127.0.0.1'; $sambasettings{'GUESTACCOUNT'} = 'samba'; $sambasettings{'MAPTOGUEST'} = 'Never'; $sambasettings{'LOGLEVEL'} = '3 passdb:5 auth:5 winbind:2'; + $sambasettings{'SYSLOGLEVEL'} = '1'; + $sambasettings{'SYSLOGONLY'} = 'on'; + $sambasettings{'DOSCHARSET'} = 'CP850'; + $sambasettings{'UNIXCHARSET'} = 'UTF8'; + $sambasettings{'DISPLAYCHARSET'} = 'CP850'; ### Samba CUPS Variablen $sambasettings{'LOADPRINTERS'} = 'Yes'; $sambasettings{'PRINTING'} = 'cups'; @@ -218,7 +234,7 @@ $sambasettings{'INTERFACES'} = ''; if ($sambasettings{'GREEN'} eq 'on'){ $sambasettings{'INTERFACES'} .= " $netsettings{'GREEN_DEV'}";} if ($sambasettings{'BLUE'} eq 'on'){ $sambasettings{'INTERFACES'} .= " $netsettings{'BLUE_DEV'}";} if ($sambasettings{'ORANGE'} eq 'on'){ $sambasettings{'INTERFACES'} .= " $netsettings{'ORANGE_DEV'}";} -if ($sambasettings{'VPN'} eq 'on'){ $sambasettings{'INTERFACES'} .= " $ovpnsettings{'DOVPN_SUBNET'}";} +if ($sambasettings{'VPN'} eq 'on'){$sambasettings{'INTERFACES'} .= " ";} if ($sambasettings{'OTHERINTERFACES'} ne ''){ $sambasettings{'INTERFACES'} .= " $sambasettings{'OTHERINTERFACES'}";} ############################################################################################################################ @@ -232,6 +248,7 @@ if ($sambasettings{'WINSSUPPORT'} eq 'on'){ $sambasettings{'WINSSUPPORT'} = "tru if ($sambasettings{'LOCALMASTER'} eq 'on'){ $sambasettings{'LOCALMASTER'} = "true";} else { $sambasettings{'LOCALMASTER'} = "false";} if ($sambasettings{'DOMAINMASTER'} eq 'on'){ $sambasettings{'DOMAINMASTER'} = "true";} else { $sambasettings{'DOMAINMASTER'} = "false";} if ($sambasettings{'PREFERREDMASTER'} eq 'on'){ $sambasettings{'PREFERREDMASTER'} = "true";} else { $sambasettings{'PREFERREDMASTER'} = "false";} +if ($sambasettings{'SYSLOGONLY'} eq 'on'){ $sambasettings{'SYSLOGONLY'} = "yes";} else { $sambasettings{'SYSLOGONLY'} = "no";} ############################################################################################################################ ############################################# Schreiben der Samba globals ################################################## @@ -254,7 +271,9 @@ fstype = NTFS kernel oplocks = false map to guest = $sambasettings{'MAPTOGUEST'} smb ports = 445 139 -unix charset = CP850 +dos charset = $sambasettings{'DOSCHARSET'} +unix charset = $sambasettings{'UNIXCHARSET'} +display charset = $sambasettings{'DISPLAYCHARSET'} security = $sambasettings{'SECURITY'} encrypt passwords = yes @@ -266,6 +285,7 @@ bind interfaces only = true interfaces = $sambasettings{'INTERFACES'} socket options = $sambasettings{'SOCKETOPTIONS'} remote announce = $sambasettings{'REMOTEANNOUNCE'} +remote browse sync = $sambasettings{'REMOTESYNC'} username level = 1 wins support = $sambasettings{'WINSSUPPORT'} @@ -273,9 +293,11 @@ wins server = $sambasettings{'WINSSRV'} log file = /var/log/samba/samba-log.%m lock directory = /var/lock/samba -pid directory = /var/run/ +pid directory = /var/run/ log level = $sambasettings{'LOGLEVEL'} - +syslog = $sambasettings{'SYSLOGLEVEL'} +syslog only = $sambasettings{'SYSLOGONLY'} + preferred master = $sambasettings{'PREFERREDMASTER'} domain master = $sambasettings{'DOMAINMASTER'} local master = $sambasettings{'LOCALMASTER'} @@ -297,7 +319,7 @@ END close FILE; } - if ($sambasettings{'SECURITY'} eq 'User' && $sambasettings{'DOMAINMASTER'} eq 'true' ) + if ($sambasettings{'SECURITY'} eq 'user' && $sambasettings{'DOMAINMASTER'} eq 'true' ) { open (FILE, ">${General::swroot}/samba/pdc") or die "Can't save the pdc settings: $!"; flock (FILE, 2); @@ -316,12 +338,12 @@ END if ( -e "/var/ipfire/cups/enable") { - if ( $sambasettings{'SECURITY'} eq 'User' && $sambasettings{'DOMAINMASTER'} eq 'true' ){system("/usr/local/bin/sambactrl smbsafeconfpdccups");refreshpage();} + if ( $sambasettings{'SECURITY'} eq 'user' && $sambasettings{'DOMAINMASTER'} eq 'true' ){system("/usr/local/bin/sambactrl smbsafeconfpdccups");refreshpage();} else {system("/usr/local/bin/sambactrl smbsafeconfcups");} } else { - if ( $sambasettings{'SECURITY'} eq 'User' && $sambasettings{'DOMAINMASTER'} eq 'true' ){system("/usr/local/bin/sambactrl smbsafeconfpdc");refreshpage();} + if ( $sambasettings{'SECURITY'} eq 'user' && $sambasettings{'DOMAINMASTER'} eq 'true' ){system("/usr/local/bin/sambactrl smbsafeconfpdc");refreshpage();} else{system("/usr/local/bin/sambactrl smbsafeconf");} } @@ -341,6 +363,9 @@ if ($errormessage) ############################################################################################################################ ########################################## Aktivieren von Checkboxen und Dropdowns ######################################### +$checked{'SYSLOGONLY'}{'off'} = ''; +$checked{'SYSLOGONLY'}{'on'} = ''; +$checked{'SYSLOGONLY'}{$sambasettings{'SYSLOGONLY'}} = "checked='checked'"; $checked{'WINSSUPPORT'}{'off'} = ''; $checked{'WINSSUPPORT'}{'on'} = ''; $checked{'WINSSUPPORT'}{$sambasettings{'WINSSUPPORT'}} = "checked='checked'"; @@ -416,11 +441,17 @@ print <$Lang::tr{'basic options'} $Lang::tr{'workgroup'} $Lang::tr{'netbios name'} +$Lang::tr{'dos charset'} +$Lang::tr{'unix charset'} +$Lang::tr{'display charset'} $Lang::tr{'server string'} $Lang::tr{'log level'} +Sys$Lang::tr{'log level'} +Syslog onlyon / + off $Lang::tr{'interfaces'}on / off | - OpenVpn - $ovpnsettings{'DOVPN_SUBNET'} + OpenVpn - $ovpnip[0].$ovpnip[1].$ovpnip[2].$ovpnip[3]/$ovpnnetwork[1] on / off | $Lang::tr{'green'} - $netsettings{'GREEN_DEV'} @@ -463,13 +494,17 @@ print <Bad User -$Lang::tr{'unix password sync'}on / - off +END +; +#$Lang::tr{'unix password sync'}on / +# off +print <
$Lang::tr{'network options'} $Lang::tr{'os level'} $Lang::tr{'socket options'} $Lang::tr{'remote announce'} +$Lang::tr{'remote browse sync'} END ; if ($sambasettings{'WINSSUPPORT'} eq 'off') {print"$Lang::tr{'wins server'}";} @@ -1175,12 +1210,12 @@ close FILE; if ( -e "/var/ipfire/cups/enable") { - if ( $sambasettings{'SECURITY'} eq 'User' && $sambasettings{'DOMAINMASTER'} eq 'true' ){system("/usr/local/bin/sambactrl smbsafeconfpdccups");} + if ( $sambasettings{'SECURITY'} eq 'user' && $sambasettings{'DOMAINMASTER'} eq 'true' ){system("/usr/local/bin/sambactrl smbsafeconfpdccups");} else {system("/usr/local/bin/sambactrl smbsafeconfcups");} } else { - if ( $sambasettings{'SECURITY'} eq 'User' && $sambasettings{'DOMAINMASTER'} eq 'true' ){system("/usr/local/bin/sambactrl smbsafeconfpdc");} + if ( $sambasettings{'SECURITY'} eq 'user' && $sambasettings{'DOMAINMASTER'} eq 'true' ){system("/usr/local/bin/sambactrl smbsafeconfpdc");} else{system("/usr/local/bin/sambactrl smbsafeconf");} }