Re: ftp install with userid:pw (fwd)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I don't know if this was fixed in later versions of anaconda, but I ended 
up fixing it and port numbers in the url for RH7.2.  The code looks like 
this:

in setupKickstart() in loader.c:


    } else if (ksType == KS_CMD_URL) {
        memset(&ui, 0, sizeof(ui));

        imageUrl = strdup(url);

        /* Valid URL's look like:
                proto://[user[:pass]@]server[:port]/prefix_dir
        */

        if (strlen(url) > 255) {
            logMessage("URL is too large");
            return NULL;
        }

        /* find out which protocol we're using */

        if ((!strncmp("ftp://";, url, 6))) {
            url += 6;
            ui.protocol = URL_METHOD_FTP;
        } else if (!strncmp("http://";, url, 7)) {
            url += 7;
            ui.protocol = URL_METHOD_HTTP;
        } else {
            logMessage("unknown url protocol '%s'", url);
            return NULL;
        }

        /* get the "prefix" directory */

        chptr = strchr(url, '/');
        *chptr = '\0';
        ui.prefix = strdup(chptr+1);


        /* find a user name/password and the server name */

        if ((chptr = strchr(url, '@'))) {
            *chptr = '\0';
            t_addr = chptr+1;
            if ((chptr = strchr(url, ':'))) {
                *chptr = '\0';
                ui.password = strdup(chptr+1);
                logMessage("password %s", ui.password);
            }
            ui.login = strdup(url);
            logMessage("login %s", ui.login);
        } else {
            t_addr = url;
        }

        /* find the port # if any */

        if ((chptr = strchr(t_addr, ':'))) {
            *chptr = '\0';
            if (ui.protocol == URL_METHOD_HTTP)
                ui.httpPort = strtol(chptr+1, (char **) NULL, 10);
        } else {
            if (ui.protocol == URL_METHOD_HTTP)
                ui.httpPort = 80;
        }

        /* get the server name */
        ui.address = strdup(t_addr);

        logMessage("url address %s", ui.address);
        if (ui.protocol == URL_METHOD_HTTP)
            logMessage("url port %d", ui.httpPort);
        logMessage("url prefix %s", ui.prefix);

        if (loadUrlImages(&ui, flags)) {
            logMessage("failed to retrieve second stage");
            return NULL;
        }


    }


..

I also added a member to the struct iurlinfo called "httpPort" which 
you'll need to do to get that code snippet to work which needs to get 
passed in mountUrlImage() when it's calling writeNetInfo().

Good luck.

--Patrick.




On Tue, 22 Apr 2003 bugzilla@xxxxxxxxxxxxxxxxxx wrote:

> 
> I am trying to use a non anonymous userid and pw from within the ks.cfg 
> file.  If I use anonymous it works fine.  If I use
> 
> url --url ftp://user:pw@xxxxxxxxxxxxxxxx
> 
> it fails with unable to receive netstg2.img.  The alt-3 console shows 
> 
> URL_STAGE_MAIN - url is ftp://user:pw@xxxxxxxxxxxxxxxx
> url address host.example.com
> url prefix /9/i386/
> 
> 
> Then a few transferring messages but the server shows no record of contact 
> from this client and even a tcpdump on the server showed no contact.  
> Before I open up a bug I wanted to make sure I wasn't doing anything 
> incorrectly.
> 
> 
> 
> bugzilla@xxxxxxxxxxxxxxxxxx
> 
> 
> 
> 
> 
> _______________________________________________
> Anaconda-devel-list mailing list
> Anaconda-devel-list@xxxxxxxxxx
> https://listman.redhat.com/mailman/listinfo/anaconda-devel-list
> 
> 
> 







[Index of Archives]     [Kickstart]     [Fedora Users]     [Fedora Legacy List]     [Fedora Maintainers]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]
  Powered by Linux