HowtoForge Forums | HowtoForge - Linux Howtos and Tutorials

HowtoForge Forums | HowtoForge - Linux Howtos and Tutorials (http://www.howtoforge.com/forums/index.php)
-   Developers' Forum (http://www.howtoforge.com/forums/forumdisplay.php?f=18)
-   -   FTP Access restrictions (bug?) (http://www.howtoforge.com/forums/showthread.php?t=26948)

Mark_NL 19th September 2008 14:19

FTP Access restrictions (bug?)
 
Hi there,

I don't know if i posted this in the correct forum, just move it otherwise ;)

I just completed a ISPConfig migration to a fresh new server.
It runs on Debian Etch - ISPConfig 2.2.25

Now i've got a complaint from a reseller that he couldn't log in with newly created users on the ftp server. Now i noticed when i logged in with the admin login, i saw "FTP Access" on that account wasn't checked, checked it, and worked.

Logging in as that reseller i noticed the "FTP Access" option wasn't visible in deck 0, whilst i did give him those rights to set ftp access for sites under his account.

so i started debugging, and found out that in the file lib/classes/ispconfig_isp_web.lib.php line 134 says:

Code:

if ($reseller["limit_ftp"] != 1) $doc->deck[0]->elements[23]->visible = 0;
but the element 23 is not the "web_ftp" element, it should be element 21

if i hard code element 21 to visible = 1, the ftp access option shows on deck 0 while logging in with the reseller account.

if you print_r($doc->deck[0]); you'll find:

Code:

[21] => checkboxField Object
                (
                    [value] =>
                    [css_class] =>
                    [name] => web_ftp
                    [type] => checkboxField
                    [title] => FTP Zugang
                    [language] => de
                    [description] =>
                    [length] => 30
                    [visible] => 1
                    [required] => 0
                    [reg_expression] =>
                    [reg_fehler] =>
                    [search] =>
                )

element 23 is:

Code:

[23] => checkboxField Object
                (
                    [value] =>
                    [css_class] =>
                    [name] => web_mysql
                    [type] => checkboxField
                    [title] => MySQL
                    [language] => de
                    [description] =>
                    [length] => 30
                    [visible] => 1
                    [required] => 0
                    [reg_expression] =>
                    [reg_fehler] =>
                    [search] =>
                )

curently element21 is shown depending on $reseller["limit_python"]

bug? or am i missing something here?

Best reagards,
Mark

falko 20th September 2008 14:06

I have added this to our bugtracker. We will check this.

falko 21st September 2008 00:24

It's working for me:

Code:

[21] => checkboxField Object
                (
                    [value] =>
                    [css_class] =>
                    [name] => web_python
                    [type] => checkboxField
                    [title] => Python
                    [language] => de
                    [description] =>
                    [length] => 30
                    [visible] => 1
                    [required] => 0
                    [reg_expression] =>
                    [reg_fehler] =>
                    [search] =>
                )

            [22] => checkboxField Object
                (
                    [value] =>
                    [css_class] =>
                    [name] => web_ssi
                    [type] => checkboxField
                    [title] => SSI
                    [language] => de
                    [description] =>
                    [length] => 30
                    [visible] => 1
                    [required] => 0
                    [reg_expression] =>
                    [reg_fehler] =>
                    [search] =>
                )

            [23] => checkboxField Object
                (
                    [value] =>
                    [css_class] =>
                    [name] => web_ftp
                    [type] => checkboxField
                    [title] => FTP Zugang
                    [language] => de
                    [description] =>
                    [length] => 30
                    [visible] => 1
                    [required] => 0
                    [reg_expression] =>
                    [reg_fehler] =>
                    [search] =>
                )

            [24] => checkboxField Object
                (
                    [value] =>
                    [css_class] =>
                    [name] => web_frontpage
                    [type] => checkboxField
                    [title] => Frontpage
                    [language] => de
                    [description] =>
                    [length] => 30
                    [visible] => 1
                    [required] => 0
                    [reg_expression] =>
                    [reg_fehler] =>
                    [search] =>
                )

            [25] => checkboxField Object
                (
                    [value] =>
                    [css_class] =>
                    [name] => web_mysql
                    [type] => checkboxField
                    [title] => MySQL
                    [language] => de
                    [description] =>
                    [length] => 30
                    [visible] => 1
                    [required] => 0
                    [reg_expression] =>
                    [reg_fehler] =>
                    [search] =>
                )

Is it possible that you use an old version of lib/classes/ispconfig_isp_web.lib.php?

Mark_NL 22nd September 2008 10:04

hmm strange, i've installed this ispconfig system on a fresh new debian installation, downloaded the source right from the ispconfig website, didn't change a thing to the code.

i DID migrate the websites, mailboxes etc from the previous ispconfig system. But that has nothing to do with any soure code.

till 22nd September 2008 10:56

Quote:

i DID migrate the websites, mailboxes etc from the previous ispconfig system.
Ok, that explains the problem. I guess you accidently overwrote the doctype table on the new server with the content of the old database.

When you migrate a server, 3 tables may not be overwritten:

doctype
isp_server
isp_server_ip

as they contain data that is specic to this server or to the ispconfig version.

To fix this, download ispconfig 2.2.25 again and run the setup script to update ISPConfig.

Mark_NL 22nd September 2008 11:26

Ahhh, oke, that was not written on the migrate thread i used, it actually said, and i quote "Also replace the ISPConfig database with the old one." ;-)

(http://www.howtoforge.com/forums/showthread.php?t=2717 falko's reply)

I ripped the data of the doctype table from db_ispconfig.sql and imported that.

edit1:

i thought i worked, but when i change a resellers (the right to set ftp access) data i get:
Unknown column 'limit_ruby' in 'field list'

and when a reseller tries to change the ftp access field he gets:
Unknown column 'web_ruby' in 'field list'

checking isp_isp_reseller that field (limit_ruby) doesn't exist, so i think there are more tables that are not allowed to be migrated :( (i'm migrating from 2.2.23 -> 2.2.25)

edit2:
- Added fields to isp_isp_reseller: limit_ruby, limit_python, limit_cron
- Added fields to isp_isp_web: web_python, web_cron
- Added field to isp_isp_user: user_cron
- Added fields to isp_isp_web_template: web_ruby, web_python, web_cron
- Added fields to isp_server: global_stats_user, global_user_password
- Added tables: dns_ptr, isp_isp_cron

Regards,
Mark

falko 23rd September 2008 21:46

Quote:

Originally Posted by Mark_NL (Post 146178)
and i quote "Also replace the ISPConfig database with the old one." ;-)

(http://www.howtoforge.com/forums/showthread.php?t=2717 falko's reply)

I was assuming that you use the same ISPConfig version on both servers. ;)


All times are GMT +2. The time now is 18:11.

Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2014, vBulletin Solutions, Inc.