diff --git a/src/sbbs3/install/sbbsdist.lst b/src/sbbs3/install/sbbsdist.lst index 7f13bb75950dd6b3cb8998f531801f5ddce2549e..834b8838df2205d17340c4c216f1649283d1d243 100644 --- a/src/sbbs3/install/sbbsdist.lst +++ b/src/sbbs3/install/sbbsdist.lst @@ -39,7 +39,8 @@ s ftp://ftp.synchro.net/ Official FTP server (T1) s ftp://vert.synchro.net/ Vertrauen FTP server (256kbps) s ftp://rob.synchro.net/ Vertrauen FTP server (256kbps) s ftp://cvs.synchro.net/ Vertrauen FTP server (256kbps) -s ftp://freebsd.synchro.net/Synchronet/ Deuce's FTP server (128kbps) +s ftp://freebsd.synchro.net/Synchronet/ Deuce's FTP server (128kbps) +s http://freebsd.synchro.net:2327/synchronet/ Deuce's FTP server (128kbps) C Version 3.10L beta from CVS (stable) t sbbs310L diff --git a/src/sbbs3/install/sbbsinst.c b/src/sbbs3/install/sbbsinst.c index 7ca8ccd3fcf12c6f151cd2cf735d12f2bd46eea1..abbce12c7a9856dadc604c807c1b065449b130e6 100644 --- a/src/sbbs3/install/sbbsinst.c +++ b/src/sbbs3/install/sbbsinst.c @@ -49,11 +49,6 @@ /* Definitions */ /***************/ #define DEFAULT_CVSROOT ":pserver:anonymous@cvs.synchro.net:/cvsroot/sbbs" -#define DIST_LIST_URL1 "http://www.synchro.net/sbbsdist.lst" -#define DIST_LIST_URL2 "http://rob.synchro.net/sbbsdist.lst" -#define DIST_LIST_URL3 "http://cvs.synchro.net/sbbsdist.lst" -#define DIST_LIST_URL4 "http://bbs.synchro.net/sbbsdist.lst" -#define DIST_LIST_URL5 "http://freebsd.synchro.net/sbbsdist.lst" #define DEFAULT_DISTFILE "sbbs_src.tgz" #define DEFAULT_LIBFILE "lib-%s.tgz" /* MUST HAVE ONE %s for system type (os-machine or just os) */ #define DEFAULT_SYSTYPE "unix" /* If no other system type available, use this one */ @@ -68,6 +63,15 @@ #define MAKE "gmake" #endif +char *distlists[]={ + "http://www.synchro.net/sbbsdist.lst" + ,"http://rob.synchro.net/sbbsdist.lst" + ,"http://cvs.synchro.net/sbbsdist.lst" + ,"http://bbs.synchro.net/sbbsdist.lst" + ,"http://freebsd.synchro.net/sbbsdist.lst" + ,NULL /* terminator */ +}; + /*******************/ /* DistList Format */ /*******************/ @@ -658,12 +662,9 @@ get_distlist(void) int list=-1; char sep[2]={'\t',0}; char str[1024]; - char error1[128]; - char error2[128]; - char error3[128]; - char error4[128]; - char error5[128]; + char errors[sizeof(distlists)/sizeof(char*)][128]; + memset(errors,0,sizeof(errors)); if((dist=(dist_t **)MALLOC(sizeof(void *)*MAX_DISTRIBUTIONS))==NULL) allocfail(sizeof(void *)*MAX_DISTRIBUTIONS); for(i=0;i<MAX_DISTRIBUTIONS;i++) @@ -698,29 +699,19 @@ get_distlist(void) if(http_distlist) { uifc.pop("Getting distributions"); - if((list=http_get_fd(DIST_LIST_URL1,NULL,error1))<0 - && (list=http_get_fd(DIST_LIST_URL2,NULL,error2))<0 - && (list=http_get_fd(DIST_LIST_URL3,NULL,error3))<0 - && (list=http_get_fd(DIST_LIST_URL4,NULL,error4))<0 - && (list=http_get_fd(DIST_LIST_URL5,NULL,error5))<0 - && r==0) { - uifc.pop(NULL); - uifc.bail(); - printf("Cannot get distribution list!\n" - "%s\n- %s\n" - "%s\n- %s\n" - "%s\n- %s\n" - "%s\n- %s\n" - "%s\n- %s\n" - ,DIST_LIST_URL1,error1 - ,DIST_LIST_URL2,error2 - ,DIST_LIST_URL3,error3 - ,DIST_LIST_URL4,error4 - ,DIST_LIST_URL5,error5 - ); - exit(EXIT_FAILURE); + for(i=0;distlists[i]!=NULL;i++) { + if(http_get_fd(distlists[i],NULL,errors[i])>=0) + break; } } + uifc.pop(NULL); + if(list<0) { + uifc.bail(); + printf("Cannot get distribution list!\n"); + for(i=0;distlists[i]!=NULL;i++) + printf("%s\n- %s\n",distlists[i],errors[i]); + exit(EXIT_FAILURE); + } while(list>=0 && (sockreadline(list,in_line,sizeof(in_line),NULL)>=0)) { i=strlen(in_line);