FTP Access restrictions (bug?)

Discussion in 'Developers' Forum' started by Mark_NL, Sep 19, 2008.

  1. Mark_NL

    Mark_NL New Member

    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
     
  2. falko

    falko Super Moderator ISPConfig Developer

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

    falko Super Moderator ISPConfig Developer

    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?
     
  4. Mark_NL

    Mark_NL New Member

    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.
     
  5. till

    till Super Moderator Staff Member ISPConfig Developer

    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.
     
  6. Mark_NL

    Mark_NL New Member

    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
     
    Last edited: Sep 22, 2008
  7. falko

    falko Super Moderator ISPConfig Developer

Share This Page