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

Re: ftp install with userid:pw (fwd)



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 openplayground com 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 host example com
> 
> it fails with unable to receive netstg2.img.  The alt-3 console shows 
> 
> URL_STAGE_MAIN - url is ftp://user:pw host example com
> 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 openplayground com
> 
> 
> 
> 
> 
> _______________________________________________
> Anaconda-devel-list mailing list
> Anaconda-devel-list redhat com
> https://listman.redhat.com/mailman/listinfo/anaconda-devel-list
> 
> 
> 







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