You can subscribe to this list here.
2001 |
Jan
(13) |
Feb
(24) |
Mar
(23) |
Apr
(11) |
May
(18) |
Jun
(90) |
Jul
(29) |
Aug
(26) |
Sep
(37) |
Oct
(10) |
Nov
(31) |
Dec
(11) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(45) |
Feb
(18) |
Mar
(12) |
Apr
(7) |
May
(10) |
Jun
(62) |
Jul
(8) |
Aug
(40) |
Sep
(41) |
Oct
(43) |
Nov
(29) |
Dec
(36) |
2003 |
Jan
(25) |
Feb
(9) |
Mar
(11) |
Apr
(13) |
May
(19) |
Jun
(19) |
Jul
(11) |
Aug
(4) |
Sep
(109) |
Oct
(73) |
Nov
(69) |
Dec
(21) |
2004 |
Jan
(21) |
Feb
(33) |
Mar
(31) |
Apr
(25) |
May
(33) |
Jun
(42) |
Jul
(47) |
Aug
(12) |
Sep
(41) |
Oct
(47) |
Nov
(30) |
Dec
(19) |
2005 |
Jan
(6) |
Feb
(23) |
Mar
(21) |
Apr
(26) |
May
(21) |
Jun
(16) |
Jul
(17) |
Aug
(7) |
Sep
(8) |
Oct
(13) |
Nov
(7) |
Dec
(10) |
2006 |
Jan
(10) |
Feb
(3) |
Mar
|
Apr
(2) |
May
|
Jun
(3) |
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
(2) |
Dec
(4) |
2007 |
Jan
(2) |
Feb
(3) |
Mar
(2) |
Apr
|
May
(1) |
Jun
(6) |
Jul
(6) |
Aug
(8) |
Sep
(3) |
Oct
(21) |
Nov
(4) |
Dec
(6) |
2008 |
Jan
(11) |
Feb
(28) |
Mar
(26) |
Apr
(9) |
May
(2) |
Jun
(10) |
Jul
(1) |
Aug
(20) |
Sep
|
Oct
|
Nov
|
Dec
|
2009 |
Jan
(4) |
Feb
(10) |
Mar
(1) |
Apr
(24) |
May
(22) |
Jun
(18) |
Jul
(15) |
Aug
(21) |
Sep
(4) |
Oct
(7) |
Nov
(6) |
Dec
|
2010 |
Jan
|
Feb
(2) |
Mar
(13) |
Apr
|
May
(4) |
Jun
|
Jul
|
Aug
(4) |
Sep
(6) |
Oct
(1) |
Nov
(1) |
Dec
|
2011 |
Jan
(18) |
Feb
(2) |
Mar
(23) |
Apr
(4) |
May
(5) |
Jun
(1) |
Jul
|
Aug
|
Sep
(9) |
Oct
|
Nov
(5) |
Dec
|
2012 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(6) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2013 |
Jan
|
Feb
|
Mar
(31) |
Apr
(3) |
May
|
Jun
(2) |
Jul
(6) |
Aug
|
Sep
|
Oct
(4) |
Nov
|
Dec
(7) |
2014 |
Jan
|
Feb
(1) |
Mar
(9) |
Apr
(4) |
May
(7) |
Jun
(2) |
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
(4) |
Dec
|
2016 |
Jan
|
Feb
(4) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2017 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(5) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2019 |
Jan
|
Feb
|
Mar
(7) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2020 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(2) |
Oct
|
Nov
|
Dec
|
2022 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
From: dylan f. <thi...@ya...> - 2009-04-06 17:30:46
|
Sorry. can't help ya. I'm not involved in that project. I requested to be removed from the list, but they're not doing it. --- On Mon, 4/6/09, hahmed <dim...@gm...> wrote: From: hahmed <dim...@gm...> Subject: [webmin-devel] remote administration To: "webadmin-devel" <web...@li...> Date: Monday, April 6, 2009, 7:18 AM Hi, How do I administrate a snort installed on a machine A where webmin is installed on a machine B? -- Ahmed Hamouda http://www.fedora-tunisia.org/ http://forums.fedora-fr.org/ ------------------------------------------------------------------------------ - Forwarded by the Webmin development list at web...@we... To remove yourself from this list, go to http://lists.sourceforge.net/lists/listinfo/webadmin-devel |
From: hahmed <dim...@gm...> - 2009-04-06 14:19:02
|
Hi, How do I administrate a snort installed on a machine A where webmin is installed on a machine B? -- Ahmed Hamouda http://www.fedora-tunisia.org/ http://forums.fedora-fr.org/ |
From: hahmed <dim...@gm...> - 2009-04-03 15:19:41
|
Hi, I was wondering whether it is possible to administrate a remote snort installed in a PC taking part in the network but this PC doesn't have webmin installed on it. In fact webmin is installed in other PC in the network. is this doable ?? -- Ahmed Hamouda http://www.fedora-tunisia.org/ http://forums.fedora-fr.org/ |
From: hamouda <dim...@gm...> - 2009-03-30 14:58:35
|
Hi, I hope you have enough time to go through my e-mail. I'm trying to administrate iptables,snort and clamav through webmin. I had trouble getting the snort webmin module, but finally found this one: http://gd.tuwien.ac.at/infosys/security/oldsnort/downloads/snort-1.0.wbm but I was asking myself if this one is this module is compatible with snort-2.8.3.1? then I will have to centralize the log of the firewall,snort and clamav. Then I will have to correlate the log so that when an attack is being performed on the network and snort detects it, an iptables rule is automatically generated to prevent the attack. Is this doable with webmin and any help is welcome :) Thx a lot. -- being selfish won't help you progressing, learn & share that's the point. Give a hand in the forums to help the others & urself; http://www.fedora-tunisia.org/ http://forums.fedora-fr.org/ http://fedora.kiewel-online.de/repoview/linux/releases/7/ |
From: Jamie C. <jca...@we...> - 2009-02-28 09:02:08
|
On 27/Feb/2009 18:03 Shane A. Froebel wrote .. > Jamie, > > Looking to help contribute some code to the Webmin module MySQL. You > guys use CVS or SVN? (Oh please be SVN....) Just need read access and I > can submit patches via this list. > > It seems you still use SourceForge for downloads, but the CVS repo is > very quiet and old. Yes, we use SVN .. although it's not hosted on sourceforge. You can access it in read-only mode anonymously at http://svn.webmin.com/svn/webmin and /svn/usermin. If you do any patches, please email them to me directly for inclusion in future releases.. - Jamie |
From: Shane A. F. <sh...@fr...> - 2009-02-28 02:39:01
|
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Jamie, Looking to help contribute some code to the Webmin module MySQL. You guys use CVS or SVN? (Oh please be SVN....) Just need read access and I can submit patches via this list. It seems you still use SourceForge for downloads, but the CVS repo is very quiet and old. Your Friend, Shane -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAkmom2cACgkQJAHdEmuCiu45BgCg4e5eh7NPKS1puP97HWJrYyvK 8LoAni7wrXe2kTQ0zyu729eSUEymwbo1 =RO5p -----END PGP SIGNATURE----- |
From: David H. <dav...@st...> - 2009-02-17 23:16:54
|
Thanks Jamie, I've added this flag and re-factored the code a good deal. The result is much cleaner and much faster to execute. On 18/02/2009, at 6:38 AM, Jamie Cameron wrote: > > Shouldn't the browser be caching these static files after they are > fetched > once though? Or does gears pre-cache them all? Gears pre-caches a good deal of the required files prior to them even being requested. The net result is if you've enabled Gears the browser won't even hit Webmin to see if the static files have been updated, it will just pull everything from the cache. On a WAN this improves the client experience significantly and from a server perspective it significantly reduces the number of inbound requests. David |
From: Jamie C. <jca...@we...> - 2009-02-17 17:38:18
|
On 17/Feb/2009 01:37 David Harrison wrote .. > On 17/02/2009, at 7:56 AM, Jamie Cameron wrote: > > > Assuming you just want to cache all images and .js files, you could > > build a full list with code like : > > > > open(FIND, "find $root_directory -type f -name '*.{gif,png,jpg,js}' > > |"); > > while($file = <FIND>) { > > chop($file); > > $file =~ s/^\Q$root_directory\E//; > > $file = $gconfig{'webprefix'}.$file; > > $manifest .= "{ \"url\" : \"$file\" },"; > > } > > print $manifest; > > > > Does that help? > > > Thanks Jamie, > Based on the snippet you provided I've built a far more flexible > manifest generation script. > I chose to use File::Find rather than the command line 'find' tool as > it seemed to keep me more platform neutral. > > Now rather than caching just a couple of hundred files all of a Webmin > installs static content (excluding other themes) is cached. > For my test Webmin installation this turned out to be 2,400-odd files. Great! Shouldn't the browser be caching these static files after they are fetched once though? Or does gears pre-cache them all? > I've had to do a bit of a quick hack job on the init_config function > in order to get around the referrer check. > This is due to Gears operating as a separate process and not including > any referrer details when making the manifest request. There is a supported way of skipping refer checking in this case .. just set $trust_unknown_referers = 1; before calling init_config. - Jamie |
From: David H. <dav...@st...> - 2009-02-17 09:37:16
|
On 17/02/2009, at 7:56 AM, Jamie Cameron wrote: > Assuming you just want to cache all images and .js files, you could > build a full list with code like : > > open(FIND, "find $root_directory -type f -name '*.{gif,png,jpg,js}' > |"); > while($file = <FIND>) { > chop($file); > $file =~ s/^\Q$root_directory\E//; > $file = $gconfig{'webprefix'}.$file; > $manifest .= "{ \"url\" : \"$file\" },"; > } > print $manifest; > > Does that help? Thanks Jamie, Based on the snippet you provided I've built a far more flexible manifest generation script. I chose to use File::Find rather than the command line 'find' tool as it seemed to keep me more platform neutral. Now rather than caching just a couple of hundred files all of a Webmin installs static content (excluding other themes) is cached. For my test Webmin installation this turned out to be 2,400-odd files. I've had to do a bit of a quick hack job on the init_config function in order to get around the referrer check. This is due to Gears operating as a separate process and not including any referrer details when making the manifest request. What I've done probably isn't that efficient, but for what's required it seems to do the trick :-) David theme-stressfree/manifest.cgi ---------------------------------------- #!/usr/bin/perl use File::Find; ########################################################################### # # Email: dav...@st... # Internet: http://www.stress-free.co.nz # # Javascript version originally contributed by Dwi Kristianto # ########################################################################### do './web-lib.pl'; init_manifest_config(); my @themes = &list_themes(); my $manifest; File::Find::find( {wanted => \&wanted}, $root_directory); if (length $manifest > 0) { chop $manifest; } my $manifestfile = $root_directory . "/theme-stressfree/manifest.cgi"; my $write_secs = (stat($manifestfile))[9]; print "Content-type: text/javascript\n\n"; print "{\n"; print "\"betaManifestVersion\" : 1,\n"; print "\"version\" : \"wmg-$write_secs\",\n"; print "\"entries\" : ["; print $manifest; print "\n]}"; sub wanted { if ((/\.jpg$/) || (/\.png$/) || (/\.gif$/) || (/\.js$/) || (/\.css $/) || (/\.htc$/) ){ my $file = $File::Find::name; $file =~ s/^\Q$root_directory\E//; foreach $theme (@themes) { if ($file =~ m/^\/$theme/) { return }; } $file = $gconfig{'webprefix'}.$file; $manifest .= "\n{ \"url\" : \"$file\" },"; } } sub list_themes { local @rv; opendir(DIR, $root_directory); foreach $m (readdir(DIR)) { local %tinfo; next if ($m =~ /^\./); next if ($m eq "theme-stressfree"); next if (!&read_file_cached("$root_directory/$m/theme.info", \ %tinfo)); push(@rv, $m); } closedir(DIR); return @rv; } sub init_manifest_config { # This is a direct copy of the Webmin init_config function without the referrer test. # Testing for a referrer fails with Gears as it makes a direct call without assigning a referrer URL. $config_file = "$config_directory/config"; %gconfig = ( ); &read_file_cached($config_file, \%gconfig); $null_file = $gconfig{'os_type'} eq 'windows' ? "NUL" : "/dev/null"; $path_separator = $gconfig{'os_type'} eq 'windows' ? ';' : ':'; # Set PATH and LD_LIBRARY_PATH if ($gconfig{'path'}) { if ($gconfig{'syspath'}) { # Webmin only $ENV{'PATH'} = $gconfig{'path'}; } else { # Include OS too $ENV{'PATH'} = $gconfig{'path'}.$path_separator. $ENV{'PATH'}; } } $ENV{$gconfig{'ld_env'}} = $gconfig{'ld_path'} if ($gconfig{'ld_env'}); # Set http_proxy and ftp_proxy environment variables, based on Webmin settings if ($gconfig{'http_proxy'}) { $ENV{'http_proxy'} = $gconfig{'http_proxy'}; } if ($gconfig{'ftp_proxy'}) { $ENV{'ftp_proxy'} = $gconfig{'ftp_proxy'}; } if ($gconfig{'noproxy'}) { $ENV{'no_proxy'} = $gconfig{'noproxy'}; } # Find all root directories local %miniserv; if (&get_miniserv_config(\%miniserv)) { @root_directories = ( $miniserv{'root'} ); for($i=0; defined($miniserv{"extraroot_$i"}); $i++) { push(@root_directories, $miniserv{"extraroot_$i"}); } } # Work out which module we are in, and read the per-module config file $0 =~ s/\\/\//g; # Force consistent path on Windows if (defined($ENV{'FOREIGN_MODULE_NAME'})) { # In a foreign call - use the module name given $root_directory = $ENV{'FOREIGN_ROOT_DIRECTORY'}; $module_name = $ENV{'FOREIGN_MODULE_NAME'}; @root_directories = ( $root_directory ) if (! @root_directories); } elsif ($ENV{'SCRIPT_NAME'}) { local $sn = $ENV{'SCRIPT_NAME'}; $sn =~ s/^$gconfig{'webprefix'}// if (!$gconfig{'webprefixnoredir'}); if ($sn =~ /^\/([^\/]+)\//) { # Get module name from CGI path $module_name = $1; } if ($ENV{'SERVER_ROOT'}) { $root_directory = $ENV{'SERVER_ROOT'}; } elsif ($ENV{'SCRIPT_FILENAME'}) { $root_directory = $ENV{'SCRIPT_FILENAME'}; $root_directory =~ s/$sn$//; } @root_directories = ( $root_directory ) if (! @root_directories); } else { # Get root directory from miniserv.conf, and deduce module name from $0 $root_directory = $root_directories[0]; local $r; local $rok = 0; foreach $r (@root_directories) { if ($0 =~ /^$r\/([^\/]+)\/[^\/]+$/i) { # Under a module directory $module_name = $1; $rok = 1; last; } elsif ($0 =~ /^$root_directory\/[^\/]+$/i) { # At the top level $rok = 1; last; } } &error("Script was not run with full path (failed to find $0 under $root_directory)") if (!$rok); } } |
From: Jamie C. <jca...@we...> - 2009-02-16 18:56:31
|
On 16/Feb/2009 01:55 David Harrison wrote .. > Hi, > I have updated my Webmin theme with limited support for Google Gears: > http://www.stress-free.co.nz/stressfree_webmin_theme_version_20_released > > It doesn't provide true offline support for Webmin, but it caches some > static files so that users on a WAN can see significant performance > improvements. > > At the moment the manifest file that lists what static files Gears > should cache is hard coded. > Gears throws a wobbly if a file listed in the manifest isn't > available, this means hard coding file names for every possible file > isn't possible (or viable considering the number). > > What I think would be cool is if this list could be dynamically built > based on what modules are installed. > e.g. All jpg, gif, png, js and css files for the Webmin install. > > Webmin would need to build this list very quickly (or cache it) as > Gears checks the manifest file regularly to ensure things are up to > date. > > The problem is I don't know enough Perl or the inner workings of > Webmin to do this. > > If anyone out there could provide a code sample on how to build a list > of static file names for a Webmin/Usermin install I would be very > grateful. > > For reference I have included the existing manifest.cgi file that I > use below. > You can see that if I could call a function that returned the list of > file names it would be trivial to iterate through all the relevant > entries. > > > David > > > > #!/usr/bin/perl > ########################################################################### > # > # Email: dav...@st... > # Internet: http://www.stress-free.co.nz > # > # Javascript version originally contributed by Dwi Kristianto > # > ########################################################################### > > do './web-lib.pl'; > > print "Content-type: text/javascript\n\n"; > > my $manifest = "{ > \"betaManifestVersion\" : 1, > \"version\" : \"wmg-20090216-2130\", > \"entries\" : [ > { \"url\" : \"$gconfig{'webprefix'}/images/favicon.ico\" }, > { \"url\" : \"$gconfig{'webprefix'}/webmin/index.cgi\" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/theme.css\" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/print.css\" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/csshover.htc\" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/theme_ie.css\" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/theme_ie7.css\" }, > { \"url\" : \"$gconfig{'webprefix'}/images/1x1.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/images/audio.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/images/back.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/images/bar-blue.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/images/bar-grey.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/images/bar-purple.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/images/bar-red.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/images/bar-white.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/images/binary.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/images/closed.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/images/critical.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/images/dir.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/images/down.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/images/first-grey.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/images/first.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/images/gap.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/images/image.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/images/last-grey.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/images/last.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/images/lc1.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/images/lc2.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/images/left-grey.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/images/left.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/images/major.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/images/minor.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/images/movedown.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/images/movegap.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/images/moveup.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/images/newlogo.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/images/nosort.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/images/ok.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/images/open.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/images/rc1.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/images/rc2.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/images/right-grey.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/images/right.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/images/smalllogo.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/images/sort.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/images/sortasc.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/images/sortascgrey.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/images/sortdesc.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/images/sortdescgrey.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/images/text.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/images/unknown.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/images/up.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/images/usermin.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/images/webmin-blue.png\" }, > { \"url\" : \"$gconfig{'webprefix'}/images/webmin.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/apache/images/def.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/apache/images/defines.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/apache/images/dir.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/apache/images/doc.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/apache/images/edit.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/apache/images/icon.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/apache/images/mods.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/apache/images/recon.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/apache/images/show.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/apache/images/smallicon.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/apache/images/type_icon_0.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/apache/images/type_icon_1.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/apache/images/type_icon_10.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/apache/images/type_icon_11.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/apache/images/type_icon_12.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/apache/images/type_icon_13.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/apache/images/type_icon_14.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/apache/images/type_icon_15.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/apache/images/type_icon_16.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/apache/images/type_icon_17.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/apache/images/type_icon_18.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/apache/images/type_icon_19.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/apache/images/type_icon_2.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/apache/images/type_icon_20.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/apache/images/type_icon_3.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/apache/images/type_icon_4.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/apache/images/type_icon_5.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/apache/images/type_icon_6.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/apache/images/type_icon_7.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/apache/images/type_icon_8.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/apache/images/type_icon_9.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/apache/images/virt.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/apache/images/virt_index.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/bind8/images/A.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/bind8/images/AAAA.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/bind8/images/ALL.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/bind8/images/CNAME.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/bind8/images/HINFO.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/bind8/images/KEY.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/bind8/images/LOC.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/bind8/images/MX.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/bind8/images/NS.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/bind8/images/PTR.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/bind8/images/RP.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/bind8/images/SPF.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/bind8/images/SRV.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/bind8/images/TXT.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/bind8/images/WKS.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/bind8/images/acls.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/bind8/images/close.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/bind8/images/controls.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/bind8/images/delegation.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/bind8/images/extra.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/bind8/images/files.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/bind8/images/findfree.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/bind8/images/font.txt\" }, > { \"url\" : \"$gconfig{'webprefix'}/bind8/images/forward.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/bind8/images/forwarding.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/bind8/images/gen.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/bind8/images/hint.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/bind8/images/icon.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/bind8/images/keys.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/bind8/images/logging.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/bind8/images/manual.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/bind8/images/master.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/bind8/images/misc.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/bind8/images/net.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/bind8/images/no-home.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/bind8/images/open.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/bind8/images/options.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/bind8/images/rndc.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/bind8/images/servers.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/bind8/images/slave.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/bind8/images/slaves.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/bind8/images/smallicon.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/bind8/images/soa.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/bind8/images/stub.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/bind8/images/text.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/bind8/images/view.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/bind8/images/whois.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/bind8/images/zonedef.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/phpini/images/db.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/phpini/images/dirs.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/phpini/images/errors.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/phpini/images/icon.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/phpini/images/limits.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/phpini/images/misc.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/phpini/images/safe.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/phpini/images/session.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/phpini/images/smallicon.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/phpini/images/vars.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/mysql/images/cnf.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/mysql/images/cprivs.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/mysql/images/db.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/mysql/images/dbs.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/mysql/images/delete.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/mysql/images/edit.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/mysql/images/hosts.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/mysql/images/icon.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/mysql/images/index.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/mysql/images/mysql.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/mysql/images/procs.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/mysql/images/root.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/mysql/images/smallicon.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/mysql/images/table.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/mysql/images/tprivs.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/mysql/images/users.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/mysql/images/vars.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/mysql/images/view.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/ > background.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/ > bar_blue.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/ > bar_grey.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/ > bar_purple.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/bar_red.gif > \" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/ > bar_white.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/button.gif > \" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/ > button_hover.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/ > closebutton.jpg\" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/closed.gif > \" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/favicon.ico > \" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/first- > grey.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/first.gif > \" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/ > footerbackground.jpg\" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/ > form_background.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/gears- > bg.jpg\" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/gears- > bgnotselected.jpg\" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/gears- > bgselected.jpg\" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/gears- > disabled.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/gears- > enabled.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/ > headerbackground.jpg\" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/hidden- > background.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/last- > grey.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/last.gif > \" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/lc2.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/left- > grey.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/left.gif > \" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/ > loginbackground.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/ > menu_background.jpg\" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/ > menuhover.jpg\" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/open.gif > \" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/rc2.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/right- > grey.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/right.gif > \" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/ > searchnotselected.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/ > searchresults.jpg\" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/ > searchselected.jpg\" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/ > sidebar_background.jpg\" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/sortasc.gif > \" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/ > sortascgrey.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/ > sortdesc.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/ > sortdescgrey.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/ > userminlogo.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/ > webminlogo.gif\" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/javascript/ > application.js\" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/javascript/ > builder.js\" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/javascript/ > controls.js\" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/javascript/ > dragdrop.js\" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/javascript/ > effects.js\" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/javascript/ > prototype.js\" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/javascript/ > scriptaculous.js\" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/javascript/ > slider.js\" }, > { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/javascript/ > unittest.js\" } > ]}"; > > print $manifest; Hi David, Assuming you just want to cache all images and .js files, you could build a full list with code like : open(FIND, "find $root_directory -type f -name '*.{gif,png,jpg,js}' |"); while($file = <FIND>) { chop($file); $file =~ s/^\Q$root_directory\E//; $file = $gconfig{'webprefix'}.$file; $manifest .= "{ \"url\" : \"$file\" },"; } print $manifest; Does that help? By the way, great work on the theme! - Jamie |
From: cyberiadmin <cyb...@gm...> - 2009-02-16 10:20:50
|
Hi, i am creating a adv joomla theme, if any one is able to help me code some of it. I would like it a lot. Sorry for being of topic but i know the webadmin mail list people are every kind. Please email me at cyb...@gm..., if you are able to help. Thanks a lot |
From: David H. <dav...@st...> - 2009-02-16 09:55:40
|
Hi, I have updated my Webmin theme with limited support for Google Gears: http://www.stress-free.co.nz/stressfree_webmin_theme_version_20_released It doesn't provide true offline support for Webmin, but it caches some static files so that users on a WAN can see significant performance improvements. At the moment the manifest file that lists what static files Gears should cache is hard coded. Gears throws a wobbly if a file listed in the manifest isn't available, this means hard coding file names for every possible file isn't possible (or viable considering the number). What I think would be cool is if this list could be dynamically built based on what modules are installed. e.g. All jpg, gif, png, js and css files for the Webmin install. Webmin would need to build this list very quickly (or cache it) as Gears checks the manifest file regularly to ensure things are up to date. The problem is I don't know enough Perl or the inner workings of Webmin to do this. If anyone out there could provide a code sample on how to build a list of static file names for a Webmin/Usermin install I would be very grateful. For reference I have included the existing manifest.cgi file that I use below. You can see that if I could call a function that returned the list of file names it would be trivial to iterate through all the relevant entries. David #!/usr/bin/perl ########################################################################### # # Email: dav...@st... # Internet: http://www.stress-free.co.nz # # Javascript version originally contributed by Dwi Kristianto # ########################################################################### do './web-lib.pl'; print "Content-type: text/javascript\n\n"; my $manifest = "{ \"betaManifestVersion\" : 1, \"version\" : \"wmg-20090216-2130\", \"entries\" : [ { \"url\" : \"$gconfig{'webprefix'}/images/favicon.ico\" }, { \"url\" : \"$gconfig{'webprefix'}/webmin/index.cgi\" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/theme.css\" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/print.css\" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/csshover.htc\" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/theme_ie.css\" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/theme_ie7.css\" }, { \"url\" : \"$gconfig{'webprefix'}/images/1x1.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/images/audio.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/images/back.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/images/bar-blue.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/images/bar-grey.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/images/bar-purple.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/images/bar-red.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/images/bar-white.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/images/binary.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/images/closed.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/images/critical.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/images/dir.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/images/down.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/images/first-grey.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/images/first.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/images/gap.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/images/image.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/images/last-grey.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/images/last.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/images/lc1.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/images/lc2.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/images/left-grey.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/images/left.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/images/major.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/images/minor.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/images/movedown.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/images/movegap.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/images/moveup.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/images/newlogo.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/images/nosort.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/images/ok.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/images/open.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/images/rc1.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/images/rc2.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/images/right-grey.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/images/right.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/images/smalllogo.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/images/sort.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/images/sortasc.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/images/sortascgrey.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/images/sortdesc.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/images/sortdescgrey.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/images/text.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/images/unknown.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/images/up.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/images/usermin.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/images/webmin-blue.png\" }, { \"url\" : \"$gconfig{'webprefix'}/images/webmin.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/apache/images/def.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/apache/images/defines.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/apache/images/dir.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/apache/images/doc.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/apache/images/edit.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/apache/images/icon.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/apache/images/mods.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/apache/images/recon.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/apache/images/show.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/apache/images/smallicon.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/apache/images/type_icon_0.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/apache/images/type_icon_1.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/apache/images/type_icon_10.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/apache/images/type_icon_11.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/apache/images/type_icon_12.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/apache/images/type_icon_13.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/apache/images/type_icon_14.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/apache/images/type_icon_15.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/apache/images/type_icon_16.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/apache/images/type_icon_17.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/apache/images/type_icon_18.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/apache/images/type_icon_19.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/apache/images/type_icon_2.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/apache/images/type_icon_20.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/apache/images/type_icon_3.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/apache/images/type_icon_4.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/apache/images/type_icon_5.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/apache/images/type_icon_6.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/apache/images/type_icon_7.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/apache/images/type_icon_8.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/apache/images/type_icon_9.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/apache/images/virt.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/apache/images/virt_index.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/bind8/images/A.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/bind8/images/AAAA.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/bind8/images/ALL.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/bind8/images/CNAME.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/bind8/images/HINFO.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/bind8/images/KEY.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/bind8/images/LOC.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/bind8/images/MX.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/bind8/images/NS.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/bind8/images/PTR.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/bind8/images/RP.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/bind8/images/SPF.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/bind8/images/SRV.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/bind8/images/TXT.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/bind8/images/WKS.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/bind8/images/acls.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/bind8/images/close.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/bind8/images/controls.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/bind8/images/delegation.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/bind8/images/extra.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/bind8/images/files.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/bind8/images/findfree.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/bind8/images/font.txt\" }, { \"url\" : \"$gconfig{'webprefix'}/bind8/images/forward.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/bind8/images/forwarding.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/bind8/images/gen.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/bind8/images/hint.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/bind8/images/icon.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/bind8/images/keys.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/bind8/images/logging.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/bind8/images/manual.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/bind8/images/master.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/bind8/images/misc.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/bind8/images/net.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/bind8/images/no-home.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/bind8/images/open.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/bind8/images/options.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/bind8/images/rndc.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/bind8/images/servers.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/bind8/images/slave.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/bind8/images/slaves.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/bind8/images/smallicon.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/bind8/images/soa.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/bind8/images/stub.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/bind8/images/text.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/bind8/images/view.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/bind8/images/whois.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/bind8/images/zonedef.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/phpini/images/db.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/phpini/images/dirs.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/phpini/images/errors.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/phpini/images/icon.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/phpini/images/limits.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/phpini/images/misc.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/phpini/images/safe.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/phpini/images/session.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/phpini/images/smallicon.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/phpini/images/vars.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/mysql/images/cnf.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/mysql/images/cprivs.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/mysql/images/db.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/mysql/images/dbs.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/mysql/images/delete.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/mysql/images/edit.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/mysql/images/hosts.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/mysql/images/icon.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/mysql/images/index.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/mysql/images/mysql.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/mysql/images/procs.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/mysql/images/root.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/mysql/images/smallicon.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/mysql/images/table.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/mysql/images/tprivs.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/mysql/images/users.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/mysql/images/vars.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/mysql/images/view.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/ background.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/ bar_blue.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/ bar_grey.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/ bar_purple.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/bar_red.gif \" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/ bar_white.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/button.gif \" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/ button_hover.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/ closebutton.jpg\" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/closed.gif \" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/favicon.ico \" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/first- grey.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/first.gif \" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/ footerbackground.jpg\" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/ form_background.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/gears- bg.jpg\" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/gears- bgnotselected.jpg\" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/gears- bgselected.jpg\" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/gears- disabled.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/gears- enabled.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/ headerbackground.jpg\" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/hidden- background.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/last- grey.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/last.gif \" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/lc2.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/left- grey.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/left.gif \" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/ loginbackground.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/ menu_background.jpg\" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/ menuhover.jpg\" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/open.gif \" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/rc2.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/right- grey.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/right.gif \" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/ searchnotselected.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/ searchresults.jpg\" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/ searchselected.jpg\" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/ sidebar_background.jpg\" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/sortasc.gif \" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/ sortascgrey.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/ sortdesc.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/ sortdescgrey.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/ userminlogo.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/images/ webminlogo.gif\" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/javascript/ application.js\" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/javascript/ builder.js\" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/javascript/ controls.js\" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/javascript/ dragdrop.js\" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/javascript/ effects.js\" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/javascript/ prototype.js\" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/javascript/ scriptaculous.js\" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/javascript/ slider.js\" }, { \"url\" : \"$gconfig{'webprefix'}/theme-stressfree/javascript/ unittest.js\" } ]}"; print $manifest; |
From: Jamie C. <jca...@we...> - 2009-02-03 18:43:40
|
On 02/Feb/2009 23:18 Ryoji Kamei wrote .. > Hello Webmin developers, > > I made a couple of patches to fix "Asianux" or "Asianux Server" detection. > Can you examine and merge them for next release? > > Regards, > -- > Ryoji KAMEI <ka...@mi...> (http://www.miraclelinux.com/) > Principal Engineer, Linux Distribution Group, > Server Business Development Division, MIRACLE LINUX Corp. Thanks! I will include this in the next Webmin and Usermin releases. - Jamie |
From: Ryoji K. <ka...@mi...> - 2009-02-03 07:18:57
|
Hello Webmin developers, I made a couple of patches to fix "Asianux" or "Asianux Server" detection. Can you examine and merge them for next release? Regards, -- Ryoji KAMEI <ka...@mi...> (http://www.miraclelinux.com/) Principal Engineer, Linux Distribution Group, Server Business Development Division, MIRACLE LINUX Corp. |
From: Jamie C. <jca...@we...> - 2009-01-23 23:55:41
|
On 23/Jan/2009 08:52 TLD Wedmin wrote .. > I've got the latest usermin (1.370) and am having two problems > with the mail stuff. > > 1) The logged in users email address is not parsed correctly. > > This machine hosts several virtual domains. Any user who > logs into the usermin interface to do mail, they're email > addresses always begin with the unix username (which is > not how the email is set up) and then the domain of > www (which is the host name of the machine). I need some > way to specify what email address each user uses so that > they have a specific username and domain name. Is this > possible? Yes, this is possible - you can go to Webmin -> Usermin Configuration -> Usermin Module Configuration -> Read Email, and in the 'From: address mapping file' field, enter something like /etc/mail/virtusertable . The important thing is that this file maps email addresses to usernames, one per line, space-separated. If you have a file that maps users to email addresses, you can also use this. The 'Address mapping file format' field controls the type. > 2) Every time I try to send mail, I get a failed error, citing > permissions denied. > > Any idea what is causing this? The mail log files show > nothing useful. And sometimes, the mail actually goes > through, but the header is very wrong and doesn't include > a proper From address. Could you post the full error message? There are a number of different possible sources, including Usermin, Sendmail and so on .. - Jamie |
From: TLD W. <tld...@st...> - 2009-01-23 17:09:11
|
I've got the latest usermin (1.370) and am having two problems with the mail stuff. 1) The logged in users email address is not parsed correctly. This machine hosts several virtual domains. Any user who logs into the usermin interface to do mail, they're email addresses always begin with the unix username (which is not how the email is set up) and then the domain of www (which is the host name of the machine). I need some way to specify what email address each user uses so that they have a specific username and domain name. Is this possible? 2) Every time I try to send mail, I get a failed error, citing permissions denied. Any idea what is causing this? The mail log files show nothing useful. And sometimes, the mail actually goes through, but the header is very wrong and doesn't include a proper From address. |
From: Cyberiadmin <cyb...@gm...> - 2009-01-18 23:01:59
|
Hi, would someone be able to create a router module for webmin? That has the options to: -share the internet connection -allow all ports -able to limit speed if needed at the time -works with 2 networks cards e.g. eth0 (internet) eth1 (local) -works with dhcp (on eth0 (client of dhcp) and eth1 (dhcp server to share with the rest of the local pc/ servers) -monitor network (this already comes on webmin) Extras that i might use: -limit speed for an ip address (e.g. all dhcp clients) -maybe have an option to set that port 80, 21, etc use a proxy server -be able to shape (limit speed) after so many GB used (maybe a limit per day) (some info for to help creating the module) -setting the sharing and dhcp up https://help.ubuntu.com/community/Internet/ConnectionSharing -monitor network (the module is all ready created) -network limiting (http://lartc.org/howto/ or http://www.ubuntugeek.com/use-bandwidth-shapers-wondershaper-or-trickle-to-limit-internet-connection-speed.html or http://www.stewart.com.au/ip_relay/ ) Please tell me if you can create one. I would really like it! Thanks a lot |
From: Jamie C. <jca...@we...> - 2009-01-13 07:44:02
|
Hi Webmin users, I am just about to release Webmin 1.450 and Usermin 1.380, but before I do I've created two pre-release versions that contain all the features that will be official release. You can download them from http://www.webmin.com/devel.html , or check out the change logs at http://www.webmin.com/changes-1.449.html and http://www.webmin.com/uchanges-1.379.html . The biggest changes are DNSSEC support, UI re-writes in many modules, LDAP connection code fixes, POD format documentation and much more. Let me know if you find any problems! - Jamie |
From: Andreas K. <us...@fu...> - 2008-08-27 08:25:50
|
Jamie Cameron schrieb: > On 25/Aug/2008 16:33 Andreas Kilgus wrote .. >> >> IMHO the way the multi line editor decides which kind of html form >> element to use for specific fields is problematic. A field of type "text" >> is represented by the means of a textarea while "varchar(4000)" gets a >> one line input field (though the maximal size of 4000 chars is an >> indicator that multi line text might be expected as value). >> >> Is there any reason I don't take into consideration at the moment not to >> change "libexec/webmin/mysql/view_table.cgi" starting at line 300 into >> something like >> >> elsif ($str[$j]->{'type'} =~ /\((\d+)\)/) { >> # Show as known-size text >> if ($1 < 256) { >> local $nw = $1 > 70 ? 70 : $1; >> $et .= &ui_textbox($nm, $d[$j], $nw); >> } else { >> $et .= &ui_textarea($nm, $d[$j], 3, 70); >> } >> } >> >> ? > > That's a good suggestion - I will include this in the next Webmin release. That makes a good reading - as therefore I am not going to have to manually maintain this miniature of a patch (actually I don't use webmin myself, someone who uses it asked me for help). :-) One could think of an algorithm to dynamically determine the number of rows depending on the actual field size, but I suppose you don't want to complicate the code. > The only reason for the current code is that when I wrote it, large > varchars weren't supported in MySQL. There wasn't any offense intended, so there's no need for defence. ;-) And it says something for your code that it was absolutely easy to find and understand the relevant (for the "problem" mentioned here) part of it. Andi |
From: Jamie C. <jca...@we...> - 2008-08-26 05:28:32
|
On 25/Aug/2008 16:33 Andreas Kilgus wrote .. > Hello, > > IMHO the way the multi line editor decides which kind of html form element > to use for specific fields is problematic. A field of type "text" is > represented by the means of a textarea while "varchar(4000)" gets a one > line input field (though the maximal size of 4000 chars is an indicator > that multi line text might be expected as value). > > Is there any reason I don't take into consideration at the moment not to > change "libexec/webmin/mysql/view_table.cgi" starting at line 300 into > something like > > elsif ($str[$j]->{'type'} =~ /\((\d+)\)/) { > # Show as known-size text > if ($1 < 256) { > local $nw = $1 > 70 ? 70 : $1; > $et .= &ui_textbox($nm, $d[$j], $nw); > } else { > $et .= &ui_textarea($nm, $d[$j], 3, 70); > } > } > > ? That's a good suggestion - I will include this in the next Webmin release. The only reason for the current code is that when I wrote it, large varchars weren't supported in MySQL. - Jamie |
From: Andreas K. <us...@fu...> - 2008-08-25 23:40:14
|
Hello, IMHO the way the multi line editor decides which kind of html form element to use for specific fields is problematic. A field of type "text" is represented by the means of a textarea while "varchar(4000)" gets a one line input field (though the maximal size of 4000 chars is an indicator that multi line text might be expected as value). Is there any reason I don't take into consideration at the moment not to change "libexec/webmin/mysql/view_table.cgi" starting at line 300 into something like elsif ($str[$j]->{'type'} =~ /\((\d+)\)/) { # Show as known-size text if ($1 < 256) { local $nw = $1 > 70 ? 70 : $1; $et .= &ui_textbox($nm, $d[$j], $nw); } else { $et .= &ui_textarea($nm, $d[$j], 3, 70); } } ? Andi -- E-Mails an die Absender-Adresse werden nicht gelesen. |
From: Jamie C. <jca...@we...> - 2008-08-11 18:03:01
|
Sure, I'll take a look shortly .. although I don't have djbdns setup myself to fully test it. BTW, do you have a website on which you can host it? If not, I can do so .. - Jamie On 11/Aug/2008 10:14 John Gray wrote .. > I sent you a copy privately. Feel free to post it if you think its up > to snuff. > > John > > Jamie Cameron wrote: > > On 11/Aug/2008 04:42 John Gray wrote .. > >> I just about have the module written. One last question (I hope). > >> > >> In tinydns A records are define this way: > >> +name:IP:optionally TTL > >> > >> That'll define the A record. If you change the + to =, then a match PTR > >> reocrd in generated too. > >> > >> What I'm thinking about doing is a looking up IP, if doesn't around have > >> PTR record, I'll set the record to create both the A and PTR records. > >> So an IP verse will match the first record defined using it. > > > > Sounds harmless to me. Although in most Virtualmin deployments, users > > don't have control over the reverse DNS domain containing their system's > > IP address, so PTR records don't matter much.. > > > >> Sound reasonable? I'm also buffed this module up over the powerdns > >> module a bit. It looks at other flags to figure out if the mx record is > >> needed for instance. > > > > Good idea! > > > > - Jamie > > > >> John > >> > >> Jamie Cameron wrote: > >>> The cases where it is used in that file wouldn't be related to your > >>> plugin, so it's safe not to use it .. > >>> > >>> On 08/Aug/2008 14:02 John Gray wrote .. > >>>> Ok, though I noticed one reference in virtual-server-lib-funcs.pl to > >>>> your var. I thought it might be good if virtual-server-lib-funcs.pl > >>>> didn't have to worry about which dns module did it. > >>>> > >>>> John > >>>> > >>>> Jamie Cameron wrote: > >>>>> I'd suggest another variable, just in case someone has both a BIND > >>>>> and djbdns domain enabled for the same virtual server (crazy as that > >>>>> sounds :-) > >>>>> > >>>>> Perhaps name is djbdns_submode > >>>>> > >>>>> - Jamie > >>>>> > >>>>> On 08/Aug/2008 13:52 John Gray wrote .. > >>>>>> I see the bind code uses dns_submode to denote this. > >>>>>> > >>>>>> I guess the question is this: Better for the tinydns code to use the > >>>>>> same var, or another one? > >>>>>> > >>>>>> John > >>>>>> > >>>>>> Jamie Cameron wrote: > >>>>>>> On 08/Aug/2008 13:21 John Gray wrote .. > >>>>>>>> Hi Jamie, > >>>>>>>> > >>>>>>>> I took the powerdns module, and used to it from template to setting up > >>>>>>>> module for tinydns. I have it working now (though it needs some config > >>>>>>>> work yet). > >>>>>>> Awesome! If it's OK, you should make it publicly available when it is done.. > >>>>>>> I know several people have expressed interest in djbdns due to it's lower > >>>>>>> memory use. > >>>>>>> > >>>>>>>> As I was working on it, I came across a big question. Sometimes we add > >>>>>>>> aliases to existing domains to into already existing domain, for instances. > >>>>>>>> > >>>>>>>> we add > >>>>>>>> foo.com, then add an alias for it as foo.bar.com, and bar.com is an > >>>>>>>> existing domain on the server. With that foo.bar.com is added as new > >>>>>>>> domain, instead of entry for foo being added to bar.com. > >>>>>>>> > >>>>>>>> I was toying with the idea of checking to see if a higher-level domain > >>>>>>>> is there, so for example if I am adding > >>>>>>>> a.b.c.d I'd check for b.c.d, then c.d, then d. If I find one of them, > >>>>>>>> then I'd add entries to it, instead of creating a new domain. > >>>>>>>> > >>>>>>>> But I wondered if that would screw up other things? > >>>>>>> That is a perfectly reasonable approach - in fact, Virtualmin already does > >>>>>>> this for BIND when you add a sub-domain. You just have to make sure your > >>>>>>> code keeps track of whether the djbdns domain was added as a real zone > or > >>>>>>> just as entries in an existing zone. The best way is to set some key in > the > >>>>>>> domain hash passed to the feature_setup function, which will be saved and > >>>>>>> available when feature_modify and feature_delete are called. > >>>>>>> > >>>>>>> - Jamie > >>>>>>> > >>>>>>>> Sound like a good idea or bad? > >>>>>>>> > >>>>>>>> Thanks > >>>>>>>> John > >>>>>>>> > >>>>>>>> Jamie Cameron wrote: > >>>>>>>>> On 02/Aug/2008 09:36 John Gray wrote .. > >>>>>>>>>> There doesn't appear to be any tinydns support for virtualmin (or did > >> I > >>>>>>>>>> overlook it)? > >>>>>>>>>> > >>>>>>>>>> With recent events, I think I've had enough of bind. > >>>>>>>>>> > >>>>>>>>>> I'm not very concerned with configuring tinydns as much as just the > day > >>>>>>>>>> to day issues of adding/deleting domains/entries. Tinydns has cmd line > >>>>>>>>>> utilities for doing all this, so I would imagine it would be fairly > easy > >>>>>>>>>> to write a module to do it. But I don't want to invent the wheel. > >>>>>>>>>> > >>>>>>>>>> If nothing exists, I'll create one ala the exim module (basicly just > >>>>>>>>>> what I need to facilitate adding/deleting/modifing virtual servers in > >>>>>>>>>> virtualmin). > >>>>>>>>> Hi John, > >>>>>>>>> > >>>>>>>>> At the moment, there is no support for tinydns or djbdns in Virtualmin. > >>>>>>>>> However, it's plugin architecture would make this pretty easy to add > - > >>>>>>>>> for example, I did one for PowerDNS a while ago that can be used instead > >>>>>>>>> of the regular BIND feature. > >>>>>>>>> > >>>>>>>>> You can get it from : > >>>>>>>>> http://www.webmin.com/cgi-bin/search_third.cgi?search=powerdns > >>>>>>>>> and check out the source. > >>>>>>>>> > >>>>>>>>> - Jamie > >>>>>>>> -- > >>>>>>>> John Gray gr...@ag... > >>>>>>>> AgoraNet, Inc. (302) 224-2475 > >>>>>>>> 314 E. Main Street, Suite 1 (302) 224-2552 (fax) > >>>>>>>> Newark, De 19711 http://www.agora-net.com > >>>>>>>> > >>>>>>>> ------------------------------------------------------------------------- > >>>>>>>> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > >>>>>>>> Build the coolest Linux based applications with Moblin SDK & win great > prizes > >>>>>>>> Grand prize is a trip for two to an Open Source event anywhere in the > world > >>>>>>>> http://moblin-contest.org/redirect.php?banner_id=100&url=/ > >>>>>>>> - > >>>>>>>> Forwarded by the Webmin development list at web...@we... > >>>>>>>> To remove yourself from this list, go to > >>>>>>>> http://lists.sourceforge.net/lists/listinfo/webadmin-devel > >>>>>>> ------------------------------------------------------------------------- > >>>>>>> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > >>>>>>> Build the coolest Linux based applications with Moblin SDK & win great > prizes > >>>>>>> Grand prize is a trip for two to an Open Source event anywhere in the world > >>>>>>> http://moblin-contest.org/redirect.php?banner_id=100&url=/ > >>>>>>> - > >>>>>>> Forwarded by the Webmin development list at web...@we... > >>>>>>> To remove yourself from this list, go to > >>>>>>> http://lists.sourceforge.net/lists/listinfo/webadmin-devel > >>>>>>> > >>>>>> -- > >>>>>> John Gray gr...@ag... > >>>>>> AgoraNet, Inc. (302) 224-2475 > >>>>>> 314 E. Main Street, Suite 1 (302) 224-2552 (fax) > >>>>>> Newark, De 19711 http://www.agora-net.com > >>>>>> > >>>>>> ------------------------------------------------------------------------- > >>>>>> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > >>>>>> Build the coolest Linux based applications with Moblin SDK & win great prizes > >>>>>> Grand prize is a trip for two to an Open Source event anywhere in the world > >>>>>> http://moblin-contest.org/redirect.php?banner_id=100&url=/ > >>>>>> - > >>>>>> Forwarded by the Webmin development list at web...@we... > >>>>>> To remove yourself from this list, go to > >>>>>> http://lists.sourceforge.net/lists/listinfo/webadmin-devel > >>>>> ------------------------------------------------------------------------- > >>>>> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > >>>>> Build the coolest Linux based applications with Moblin SDK & win great prizes > >>>>> Grand prize is a trip for two to an Open Source event anywhere in the world > >>>>> http://moblin-contest.org/redirect.php?banner_id=100&url=/ > >>>>> - > >>>>> Forwarded by the Webmin development list at web...@we... > >>>>> To remove yourself from this list, go to > >>>>> http://lists.sourceforge.net/lists/listinfo/webadmin-devel > >>>>> > >>>> -- > >>>> John Gray gr...@ag... > >>>> AgoraNet, Inc. (302) 224-2475 > >>>> 314 E. Main Street, Suite 1 (302) 224-2552 (fax) > >>>> Newark, De 19711 http://www.agora-net.com > >>>> > >>>> ------------------------------------------------------------------------- > >>>> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > >>>> Build the coolest Linux based applications with Moblin SDK & win great prizes > >>>> Grand prize is a trip for two to an Open Source event anywhere in the world > >>>> http://moblin-contest.org/redirect.php?banner_id=100&url=/ > >>>> - > >>>> Forwarded by the Webmin development list at web...@we... > >>>> To remove yourself from this list, go to > >>>> http://lists.sourceforge.net/lists/listinfo/webadmin-devel > >>> ------------------------------------------------------------------------- > >>> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > >>> Build the coolest Linux based applications with Moblin SDK & win great prizes > >>> Grand prize is a trip for two to an Open Source event anywhere in the world > >>> http://moblin-contest.org/redirect.php?banner_id=100&url=/ > >>> - > >>> Forwarded by the Webmin development list at web...@we... > >>> To remove yourself from this list, go to > >>> http://lists.sourceforge.net/lists/listinfo/webadmin-devel > >>> > >> > >> -- > >> John Gray gr...@ag... > >> AgoraNet, Inc. (302) 224-2475 > >> 314 E. Main Street, Suite 1 (302) 224-2552 (fax) > >> Newark, De 19711 http://www.agora-net.com > >> > >> ------------------------------------------------------------------------- > >> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > >> Build the coolest Linux based applications with Moblin SDK & win great prizes > >> Grand prize is a trip for two to an Open Source event anywhere in the world > >> http://moblin-contest.org/redirect.php?banner_id=100&url=/ > >> - > >> Forwarded by the Webmin development list at web...@we... > >> To remove yourself from this list, go to > >> http://lists.sourceforge.net/lists/listinfo/webadmin-devel > > > > ------------------------------------------------------------------------- > > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > > Build the coolest Linux based applications with Moblin SDK & win great prizes > > Grand prize is a trip for two to an Open Source event anywhere in the world > > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > > - > > Forwarded by the Webmin development list at web...@we... > > To remove yourself from this list, go to > > http://lists.sourceforge.net/lists/listinfo/webadmin-devel > > > > > -- > John Gray gr...@ag... > AgoraNet, Inc. (302) 224-2475 > 314 E. Main Street, Suite 1 (302) 224-2552 (fax) > Newark, De 19711 http://www.agora-net.com > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > - > Forwarded by the Webmin development list at web...@we... > To remove yourself from this list, go to > http://lists.sourceforge.net/lists/listinfo/webadmin-devel |
From: John G. <gr...@ag...> - 2008-08-11 17:16:11
|
I sent you a copy privately. Feel free to post it if you think its up to snuff. John Jamie Cameron wrote: > On 11/Aug/2008 04:42 John Gray wrote .. >> I just about have the module written. One last question (I hope). >> >> In tinydns A records are define this way: >> +name:IP:optionally TTL >> >> That'll define the A record. If you change the + to =, then a match PTR >> reocrd in generated too. >> >> What I'm thinking about doing is a looking up IP, if doesn't around have >> PTR record, I'll set the record to create both the A and PTR records. >> So an IP verse will match the first record defined using it. > > Sounds harmless to me. Although in most Virtualmin deployments, users > don't have control over the reverse DNS domain containing their system's > IP address, so PTR records don't matter much.. > >> Sound reasonable? I'm also buffed this module up over the powerdns >> module a bit. It looks at other flags to figure out if the mx record is >> needed for instance. > > Good idea! > > - Jamie > >> John >> >> Jamie Cameron wrote: >>> The cases where it is used in that file wouldn't be related to your >>> plugin, so it's safe not to use it .. >>> >>> On 08/Aug/2008 14:02 John Gray wrote .. >>>> Ok, though I noticed one reference in virtual-server-lib-funcs.pl to >>>> your var. I thought it might be good if virtual-server-lib-funcs.pl >>>> didn't have to worry about which dns module did it. >>>> >>>> John >>>> >>>> Jamie Cameron wrote: >>>>> I'd suggest another variable, just in case someone has both a BIND >>>>> and djbdns domain enabled for the same virtual server (crazy as that >>>>> sounds :-) >>>>> >>>>> Perhaps name is djbdns_submode >>>>> >>>>> - Jamie >>>>> >>>>> On 08/Aug/2008 13:52 John Gray wrote .. >>>>>> I see the bind code uses dns_submode to denote this. >>>>>> >>>>>> I guess the question is this: Better for the tinydns code to use the >>>>>> same var, or another one? >>>>>> >>>>>> John >>>>>> >>>>>> Jamie Cameron wrote: >>>>>>> On 08/Aug/2008 13:21 John Gray wrote .. >>>>>>>> Hi Jamie, >>>>>>>> >>>>>>>> I took the powerdns module, and used to it from template to setting up >>>>>>>> module for tinydns. I have it working now (though it needs some config >>>>>>>> work yet). >>>>>>> Awesome! If it's OK, you should make it publicly available when it is done.. >>>>>>> I know several people have expressed interest in djbdns due to it's lower >>>>>>> memory use. >>>>>>> >>>>>>>> As I was working on it, I came across a big question. Sometimes we add >>>>>>>> aliases to existing domains to into already existing domain, for instances. >>>>>>>> >>>>>>>> we add >>>>>>>> foo.com, then add an alias for it as foo.bar.com, and bar.com is an >>>>>>>> existing domain on the server. With that foo.bar.com is added as new >>>>>>>> domain, instead of entry for foo being added to bar.com. >>>>>>>> >>>>>>>> I was toying with the idea of checking to see if a higher-level domain >>>>>>>> is there, so for example if I am adding >>>>>>>> a.b.c.d I'd check for b.c.d, then c.d, then d. If I find one of them, >>>>>>>> then I'd add entries to it, instead of creating a new domain. >>>>>>>> >>>>>>>> But I wondered if that would screw up other things? >>>>>>> That is a perfectly reasonable approach - in fact, Virtualmin already does >>>>>>> this for BIND when you add a sub-domain. You just have to make sure your >>>>>>> code keeps track of whether the djbdns domain was added as a real zone or >>>>>>> just as entries in an existing zone. The best way is to set some key in the >>>>>>> domain hash passed to the feature_setup function, which will be saved and >>>>>>> available when feature_modify and feature_delete are called. >>>>>>> >>>>>>> - Jamie >>>>>>> >>>>>>>> Sound like a good idea or bad? >>>>>>>> >>>>>>>> Thanks >>>>>>>> John >>>>>>>> >>>>>>>> Jamie Cameron wrote: >>>>>>>>> On 02/Aug/2008 09:36 John Gray wrote .. >>>>>>>>>> There doesn't appear to be any tinydns support for virtualmin (or did >> I >>>>>>>>>> overlook it)? >>>>>>>>>> >>>>>>>>>> With recent events, I think I've had enough of bind. >>>>>>>>>> >>>>>>>>>> I'm not very concerned with configuring tinydns as much as just the day >>>>>>>>>> to day issues of adding/deleting domains/entries. Tinydns has cmd line >>>>>>>>>> utilities for doing all this, so I would imagine it would be fairly easy >>>>>>>>>> to write a module to do it. But I don't want to invent the wheel. >>>>>>>>>> >>>>>>>>>> If nothing exists, I'll create one ala the exim module (basicly just >>>>>>>>>> what I need to facilitate adding/deleting/modifing virtual servers in >>>>>>>>>> virtualmin). >>>>>>>>> Hi John, >>>>>>>>> >>>>>>>>> At the moment, there is no support for tinydns or djbdns in Virtualmin. >>>>>>>>> However, it's plugin architecture would make this pretty easy to add - >>>>>>>>> for example, I did one for PowerDNS a while ago that can be used instead >>>>>>>>> of the regular BIND feature. >>>>>>>>> >>>>>>>>> You can get it from : >>>>>>>>> http://www.webmin.com/cgi-bin/search_third.cgi?search=powerdns >>>>>>>>> and check out the source. >>>>>>>>> >>>>>>>>> - Jamie >>>>>>>> -- >>>>>>>> John Gray gr...@ag... >>>>>>>> AgoraNet, Inc. (302) 224-2475 >>>>>>>> 314 E. Main Street, Suite 1 (302) 224-2552 (fax) >>>>>>>> Newark, De 19711 http://www.agora-net.com >>>>>>>> >>>>>>>> ------------------------------------------------------------------------- >>>>>>>> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge >>>>>>>> Build the coolest Linux based applications with Moblin SDK & win great prizes >>>>>>>> Grand prize is a trip for two to an Open Source event anywhere in the world >>>>>>>> http://moblin-contest.org/redirect.php?banner_id=100&url=/ >>>>>>>> - >>>>>>>> Forwarded by the Webmin development list at web...@we... >>>>>>>> To remove yourself from this list, go to >>>>>>>> http://lists.sourceforge.net/lists/listinfo/webadmin-devel >>>>>>> ------------------------------------------------------------------------- >>>>>>> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge >>>>>>> Build the coolest Linux based applications with Moblin SDK & win great prizes >>>>>>> Grand prize is a trip for two to an Open Source event anywhere in the world >>>>>>> http://moblin-contest.org/redirect.php?banner_id=100&url=/ >>>>>>> - >>>>>>> Forwarded by the Webmin development list at web...@we... >>>>>>> To remove yourself from this list, go to >>>>>>> http://lists.sourceforge.net/lists/listinfo/webadmin-devel >>>>>>> >>>>>> -- >>>>>> John Gray gr...@ag... >>>>>> AgoraNet, Inc. (302) 224-2475 >>>>>> 314 E. Main Street, Suite 1 (302) 224-2552 (fax) >>>>>> Newark, De 19711 http://www.agora-net.com >>>>>> >>>>>> ------------------------------------------------------------------------- >>>>>> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge >>>>>> Build the coolest Linux based applications with Moblin SDK & win great prizes >>>>>> Grand prize is a trip for two to an Open Source event anywhere in the world >>>>>> http://moblin-contest.org/redirect.php?banner_id=100&url=/ >>>>>> - >>>>>> Forwarded by the Webmin development list at web...@we... >>>>>> To remove yourself from this list, go to >>>>>> http://lists.sourceforge.net/lists/listinfo/webadmin-devel >>>>> ------------------------------------------------------------------------- >>>>> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge >>>>> Build the coolest Linux based applications with Moblin SDK & win great prizes >>>>> Grand prize is a trip for two to an Open Source event anywhere in the world >>>>> http://moblin-contest.org/redirect.php?banner_id=100&url=/ >>>>> - >>>>> Forwarded by the Webmin development list at web...@we... >>>>> To remove yourself from this list, go to >>>>> http://lists.sourceforge.net/lists/listinfo/webadmin-devel >>>>> >>>> -- >>>> John Gray gr...@ag... >>>> AgoraNet, Inc. (302) 224-2475 >>>> 314 E. Main Street, Suite 1 (302) 224-2552 (fax) >>>> Newark, De 19711 http://www.agora-net.com >>>> >>>> ------------------------------------------------------------------------- >>>> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge >>>> Build the coolest Linux based applications with Moblin SDK & win great prizes >>>> Grand prize is a trip for two to an Open Source event anywhere in the world >>>> http://moblin-contest.org/redirect.php?banner_id=100&url=/ >>>> - >>>> Forwarded by the Webmin development list at web...@we... >>>> To remove yourself from this list, go to >>>> http://lists.sourceforge.net/lists/listinfo/webadmin-devel >>> ------------------------------------------------------------------------- >>> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge >>> Build the coolest Linux based applications with Moblin SDK & win great prizes >>> Grand prize is a trip for two to an Open Source event anywhere in the world >>> http://moblin-contest.org/redirect.php?banner_id=100&url=/ >>> - >>> Forwarded by the Webmin development list at web...@we... >>> To remove yourself from this list, go to >>> http://lists.sourceforge.net/lists/listinfo/webadmin-devel >>> >> >> -- >> John Gray gr...@ag... >> AgoraNet, Inc. (302) 224-2475 >> 314 E. Main Street, Suite 1 (302) 224-2552 (fax) >> Newark, De 19711 http://www.agora-net.com >> >> ------------------------------------------------------------------------- >> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge >> Build the coolest Linux based applications with Moblin SDK & win great prizes >> Grand prize is a trip for two to an Open Source event anywhere in the world >> http://moblin-contest.org/redirect.php?banner_id=100&url=/ >> - >> Forwarded by the Webmin development list at web...@we... >> To remove yourself from this list, go to >> http://lists.sourceforge.net/lists/listinfo/webadmin-devel > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > - > Forwarded by the Webmin development list at web...@we... > To remove yourself from this list, go to > http://lists.sourceforge.net/lists/listinfo/webadmin-devel > -- John Gray gr...@ag... AgoraNet, Inc. (302) 224-2475 314 E. Main Street, Suite 1 (302) 224-2552 (fax) Newark, De 19711 http://www.agora-net.com |
From: Jamie C. <jca...@we...> - 2008-08-11 16:46:35
|
On 11/Aug/2008 04:42 John Gray wrote .. > I just about have the module written. One last question (I hope). > > In tinydns A records are define this way: > +name:IP:optionally TTL > > That'll define the A record. If you change the + to =, then a match PTR > reocrd in generated too. > > What I'm thinking about doing is a looking up IP, if doesn't around have > PTR record, I'll set the record to create both the A and PTR records. > So an IP verse will match the first record defined using it. Sounds harmless to me. Although in most Virtualmin deployments, users don't have control over the reverse DNS domain containing their system's IP address, so PTR records don't matter much.. > Sound reasonable? I'm also buffed this module up over the powerdns > module a bit. It looks at other flags to figure out if the mx record is > needed for instance. Good idea! - Jamie > John > > Jamie Cameron wrote: > > The cases where it is used in that file wouldn't be related to your > > plugin, so it's safe not to use it .. > > > > On 08/Aug/2008 14:02 John Gray wrote .. > >> Ok, though I noticed one reference in virtual-server-lib-funcs.pl to > >> your var. I thought it might be good if virtual-server-lib-funcs.pl > >> didn't have to worry about which dns module did it. > >> > >> John > >> > >> Jamie Cameron wrote: > >>> I'd suggest another variable, just in case someone has both a BIND > >>> and djbdns domain enabled for the same virtual server (crazy as that > >>> sounds :-) > >>> > >>> Perhaps name is djbdns_submode > >>> > >>> - Jamie > >>> > >>> On 08/Aug/2008 13:52 John Gray wrote .. > >>>> I see the bind code uses dns_submode to denote this. > >>>> > >>>> I guess the question is this: Better for the tinydns code to use the > >>>> same var, or another one? > >>>> > >>>> John > >>>> > >>>> Jamie Cameron wrote: > >>>>> On 08/Aug/2008 13:21 John Gray wrote .. > >>>>>> Hi Jamie, > >>>>>> > >>>>>> I took the powerdns module, and used to it from template to setting up > >>>>>> module for tinydns. I have it working now (though it needs some config > >>>>>> work yet). > >>>>> Awesome! If it's OK, you should make it publicly available when it is done.. > >>>>> I know several people have expressed interest in djbdns due to it's lower > >>>>> memory use. > >>>>> > >>>>>> As I was working on it, I came across a big question. Sometimes we add > >>>>>> aliases to existing domains to into already existing domain, for instances. > >>>>>> > >>>>>> we add > >>>>>> foo.com, then add an alias for it as foo.bar.com, and bar.com is an > >>>>>> existing domain on the server. With that foo.bar.com is added as new > >>>>>> domain, instead of entry for foo being added to bar.com. > >>>>>> > >>>>>> I was toying with the idea of checking to see if a higher-level domain > >>>>>> is there, so for example if I am adding > >>>>>> a.b.c.d I'd check for b.c.d, then c.d, then d. If I find one of them, > >>>>>> then I'd add entries to it, instead of creating a new domain. > >>>>>> > >>>>>> But I wondered if that would screw up other things? > >>>>> That is a perfectly reasonable approach - in fact, Virtualmin already does > >>>>> this for BIND when you add a sub-domain. You just have to make sure your > >>>>> code keeps track of whether the djbdns domain was added as a real zone or > >>>>> just as entries in an existing zone. The best way is to set some key in the > >>>>> domain hash passed to the feature_setup function, which will be saved and > >>>>> available when feature_modify and feature_delete are called. > >>>>> > >>>>> - Jamie > >>>>> > >>>>>> Sound like a good idea or bad? > >>>>>> > >>>>>> Thanks > >>>>>> John > >>>>>> > >>>>>> Jamie Cameron wrote: > >>>>>>> On 02/Aug/2008 09:36 John Gray wrote .. > >>>>>>>> There doesn't appear to be any tinydns support for virtualmin (or did > I > >>>>>>>> overlook it)? > >>>>>>>> > >>>>>>>> With recent events, I think I've had enough of bind. > >>>>>>>> > >>>>>>>> I'm not very concerned with configuring tinydns as much as just the day > >>>>>>>> to day issues of adding/deleting domains/entries. Tinydns has cmd line > >>>>>>>> utilities for doing all this, so I would imagine it would be fairly easy > >>>>>>>> to write a module to do it. But I don't want to invent the wheel. > >>>>>>>> > >>>>>>>> If nothing exists, I'll create one ala the exim module (basicly just > >>>>>>>> what I need to facilitate adding/deleting/modifing virtual servers in > >>>>>>>> virtualmin). > >>>>>>> Hi John, > >>>>>>> > >>>>>>> At the moment, there is no support for tinydns or djbdns in Virtualmin. > >>>>>>> However, it's plugin architecture would make this pretty easy to add - > >>>>>>> for example, I did one for PowerDNS a while ago that can be used instead > >>>>>>> of the regular BIND feature. > >>>>>>> > >>>>>>> You can get it from : > >>>>>>> http://www.webmin.com/cgi-bin/search_third.cgi?search=powerdns > >>>>>>> and check out the source. > >>>>>>> > >>>>>>> - Jamie > >>>>>> -- > >>>>>> John Gray gr...@ag... > >>>>>> AgoraNet, Inc. (302) 224-2475 > >>>>>> 314 E. Main Street, Suite 1 (302) 224-2552 (fax) > >>>>>> Newark, De 19711 http://www.agora-net.com > >>>>>> > >>>>>> ------------------------------------------------------------------------- > >>>>>> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > >>>>>> Build the coolest Linux based applications with Moblin SDK & win great prizes > >>>>>> Grand prize is a trip for two to an Open Source event anywhere in the world > >>>>>> http://moblin-contest.org/redirect.php?banner_id=100&url=/ > >>>>>> - > >>>>>> Forwarded by the Webmin development list at web...@we... > >>>>>> To remove yourself from this list, go to > >>>>>> http://lists.sourceforge.net/lists/listinfo/webadmin-devel > >>>>> ------------------------------------------------------------------------- > >>>>> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > >>>>> Build the coolest Linux based applications with Moblin SDK & win great prizes > >>>>> Grand prize is a trip for two to an Open Source event anywhere in the world > >>>>> http://moblin-contest.org/redirect.php?banner_id=100&url=/ > >>>>> - > >>>>> Forwarded by the Webmin development list at web...@we... > >>>>> To remove yourself from this list, go to > >>>>> http://lists.sourceforge.net/lists/listinfo/webadmin-devel > >>>>> > >>>> -- > >>>> John Gray gr...@ag... > >>>> AgoraNet, Inc. (302) 224-2475 > >>>> 314 E. Main Street, Suite 1 (302) 224-2552 (fax) > >>>> Newark, De 19711 http://www.agora-net.com > >>>> > >>>> ------------------------------------------------------------------------- > >>>> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > >>>> Build the coolest Linux based applications with Moblin SDK & win great prizes > >>>> Grand prize is a trip for two to an Open Source event anywhere in the world > >>>> http://moblin-contest.org/redirect.php?banner_id=100&url=/ > >>>> - > >>>> Forwarded by the Webmin development list at web...@we... > >>>> To remove yourself from this list, go to > >>>> http://lists.sourceforge.net/lists/listinfo/webadmin-devel > >>> ------------------------------------------------------------------------- > >>> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > >>> Build the coolest Linux based applications with Moblin SDK & win great prizes > >>> Grand prize is a trip for two to an Open Source event anywhere in the world > >>> http://moblin-contest.org/redirect.php?banner_id=100&url=/ > >>> - > >>> Forwarded by the Webmin development list at web...@we... > >>> To remove yourself from this list, go to > >>> http://lists.sourceforge.net/lists/listinfo/webadmin-devel > >>> > >> > >> -- > >> John Gray gr...@ag... > >> AgoraNet, Inc. (302) 224-2475 > >> 314 E. Main Street, Suite 1 (302) 224-2552 (fax) > >> Newark, De 19711 http://www.agora-net.com > >> > >> ------------------------------------------------------------------------- > >> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > >> Build the coolest Linux based applications with Moblin SDK & win great prizes > >> Grand prize is a trip for two to an Open Source event anywhere in the world > >> http://moblin-contest.org/redirect.php?banner_id=100&url=/ > >> - > >> Forwarded by the Webmin development list at web...@we... > >> To remove yourself from this list, go to > >> http://lists.sourceforge.net/lists/listinfo/webadmin-devel > > > > ------------------------------------------------------------------------- > > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > > Build the coolest Linux based applications with Moblin SDK & win great prizes > > Grand prize is a trip for two to an Open Source event anywhere in the world > > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > > - > > Forwarded by the Webmin development list at web...@we... > > To remove yourself from this list, go to > > http://lists.sourceforge.net/lists/listinfo/webadmin-devel > > > > > -- > John Gray gr...@ag... > AgoraNet, Inc. (302) 224-2475 > 314 E. Main Street, Suite 1 (302) 224-2552 (fax) > Newark, De 19711 http://www.agora-net.com > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > - > Forwarded by the Webmin development list at web...@we... > To remove yourself from this list, go to > http://lists.sourceforge.net/lists/listinfo/webadmin-devel |
From: John G. <gr...@ag...> - 2008-08-11 11:43:46
|
I just about have the module written. One last question (I hope). In tinydns A records are define this way: +name:IP:optionally TTL That'll define the A record. If you change the + to =, then a match PTR reocrd in generated too. What I'm thinking about doing is a looking up IP, if doesn't around have PTR record, I'll set the record to create both the A and PTR records. So an IP verse will match the first record defined using it. Sound reasonable? I'm also buffed this module up over the powerdns module a bit. It looks at other flags to figure out if the mx record is needed for instance. John Jamie Cameron wrote: > The cases where it is used in that file wouldn't be related to your > plugin, so it's safe not to use it .. > > On 08/Aug/2008 14:02 John Gray wrote .. >> Ok, though I noticed one reference in virtual-server-lib-funcs.pl to >> your var. I thought it might be good if virtual-server-lib-funcs.pl >> didn't have to worry about which dns module did it. >> >> John >> >> Jamie Cameron wrote: >>> I'd suggest another variable, just in case someone has both a BIND >>> and djbdns domain enabled for the same virtual server (crazy as that >>> sounds :-) >>> >>> Perhaps name is djbdns_submode >>> >>> - Jamie >>> >>> On 08/Aug/2008 13:52 John Gray wrote .. >>>> I see the bind code uses dns_submode to denote this. >>>> >>>> I guess the question is this: Better for the tinydns code to use the >>>> same var, or another one? >>>> >>>> John >>>> >>>> Jamie Cameron wrote: >>>>> On 08/Aug/2008 13:21 John Gray wrote .. >>>>>> Hi Jamie, >>>>>> >>>>>> I took the powerdns module, and used to it from template to setting up >>>>>> module for tinydns. I have it working now (though it needs some config >>>>>> work yet). >>>>> Awesome! If it's OK, you should make it publicly available when it is done.. >>>>> I know several people have expressed interest in djbdns due to it's lower >>>>> memory use. >>>>> >>>>>> As I was working on it, I came across a big question. Sometimes we add >>>>>> aliases to existing domains to into already existing domain, for instances. >>>>>> >>>>>> we add >>>>>> foo.com, then add an alias for it as foo.bar.com, and bar.com is an >>>>>> existing domain on the server. With that foo.bar.com is added as new >>>>>> domain, instead of entry for foo being added to bar.com. >>>>>> >>>>>> I was toying with the idea of checking to see if a higher-level domain >>>>>> is there, so for example if I am adding >>>>>> a.b.c.d I'd check for b.c.d, then c.d, then d. If I find one of them, >>>>>> then I'd add entries to it, instead of creating a new domain. >>>>>> >>>>>> But I wondered if that would screw up other things? >>>>> That is a perfectly reasonable approach - in fact, Virtualmin already does >>>>> this for BIND when you add a sub-domain. You just have to make sure your >>>>> code keeps track of whether the djbdns domain was added as a real zone or >>>>> just as entries in an existing zone. The best way is to set some key in the >>>>> domain hash passed to the feature_setup function, which will be saved and >>>>> available when feature_modify and feature_delete are called. >>>>> >>>>> - Jamie >>>>> >>>>>> Sound like a good idea or bad? >>>>>> >>>>>> Thanks >>>>>> John >>>>>> >>>>>> Jamie Cameron wrote: >>>>>>> On 02/Aug/2008 09:36 John Gray wrote .. >>>>>>>> There doesn't appear to be any tinydns support for virtualmin (or did I >>>>>>>> overlook it)? >>>>>>>> >>>>>>>> With recent events, I think I've had enough of bind. >>>>>>>> >>>>>>>> I'm not very concerned with configuring tinydns as much as just the day >>>>>>>> to day issues of adding/deleting domains/entries. Tinydns has cmd line >>>>>>>> utilities for doing all this, so I would imagine it would be fairly easy >>>>>>>> to write a module to do it. But I don't want to invent the wheel. >>>>>>>> >>>>>>>> If nothing exists, I'll create one ala the exim module (basicly just >>>>>>>> what I need to facilitate adding/deleting/modifing virtual servers in >>>>>>>> virtualmin). >>>>>>> Hi John, >>>>>>> >>>>>>> At the moment, there is no support for tinydns or djbdns in Virtualmin. >>>>>>> However, it's plugin architecture would make this pretty easy to add - >>>>>>> for example, I did one for PowerDNS a while ago that can be used instead >>>>>>> of the regular BIND feature. >>>>>>> >>>>>>> You can get it from : >>>>>>> http://www.webmin.com/cgi-bin/search_third.cgi?search=powerdns >>>>>>> and check out the source. >>>>>>> >>>>>>> - Jamie >>>>>> -- >>>>>> John Gray gr...@ag... >>>>>> AgoraNet, Inc. (302) 224-2475 >>>>>> 314 E. Main Street, Suite 1 (302) 224-2552 (fax) >>>>>> Newark, De 19711 http://www.agora-net.com >>>>>> >>>>>> ------------------------------------------------------------------------- >>>>>> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge >>>>>> Build the coolest Linux based applications with Moblin SDK & win great prizes >>>>>> Grand prize is a trip for two to an Open Source event anywhere in the world >>>>>> http://moblin-contest.org/redirect.php?banner_id=100&url=/ >>>>>> - >>>>>> Forwarded by the Webmin development list at web...@we... >>>>>> To remove yourself from this list, go to >>>>>> http://lists.sourceforge.net/lists/listinfo/webadmin-devel >>>>> ------------------------------------------------------------------------- >>>>> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge >>>>> Build the coolest Linux based applications with Moblin SDK & win great prizes >>>>> Grand prize is a trip for two to an Open Source event anywhere in the world >>>>> http://moblin-contest.org/redirect.php?banner_id=100&url=/ >>>>> - >>>>> Forwarded by the Webmin development list at web...@we... >>>>> To remove yourself from this list, go to >>>>> http://lists.sourceforge.net/lists/listinfo/webadmin-devel >>>>> >>>> -- >>>> John Gray gr...@ag... >>>> AgoraNet, Inc. (302) 224-2475 >>>> 314 E. Main Street, Suite 1 (302) 224-2552 (fax) >>>> Newark, De 19711 http://www.agora-net.com >>>> >>>> ------------------------------------------------------------------------- >>>> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge >>>> Build the coolest Linux based applications with Moblin SDK & win great prizes >>>> Grand prize is a trip for two to an Open Source event anywhere in the world >>>> http://moblin-contest.org/redirect.php?banner_id=100&url=/ >>>> - >>>> Forwarded by the Webmin development list at web...@we... >>>> To remove yourself from this list, go to >>>> http://lists.sourceforge.net/lists/listinfo/webadmin-devel >>> ------------------------------------------------------------------------- >>> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge >>> Build the coolest Linux based applications with Moblin SDK & win great prizes >>> Grand prize is a trip for two to an Open Source event anywhere in the world >>> http://moblin-contest.org/redirect.php?banner_id=100&url=/ >>> - >>> Forwarded by the Webmin development list at web...@we... >>> To remove yourself from this list, go to >>> http://lists.sourceforge.net/lists/listinfo/webadmin-devel >>> >> >> -- >> John Gray gr...@ag... >> AgoraNet, Inc. (302) 224-2475 >> 314 E. Main Street, Suite 1 (302) 224-2552 (fax) >> Newark, De 19711 http://www.agora-net.com >> >> ------------------------------------------------------------------------- >> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge >> Build the coolest Linux based applications with Moblin SDK & win great prizes >> Grand prize is a trip for two to an Open Source event anywhere in the world >> http://moblin-contest.org/redirect.php?banner_id=100&url=/ >> - >> Forwarded by the Webmin development list at web...@we... >> To remove yourself from this list, go to >> http://lists.sourceforge.net/lists/listinfo/webadmin-devel > > ------------------------------------------------------------------------- > This SF.Net email is sponsored by the Moblin Your Move Developer's challenge > Build the coolest Linux based applications with Moblin SDK & win great prizes > Grand prize is a trip for two to an Open Source event anywhere in the world > http://moblin-contest.org/redirect.php?banner_id=100&url=/ > - > Forwarded by the Webmin development list at web...@we... > To remove yourself from this list, go to > http://lists.sourceforge.net/lists/listinfo/webadmin-devel > -- John Gray gr...@ag... AgoraNet, Inc. (302) 224-2475 314 E. Main Street, Suite 1 (302) 224-2552 (fax) Newark, De 19711 http://www.agora-net.com |