Changeset 31699


Ignore:
Timestamp:
Mar 17, 2017, 9:56:20 PM (3 months ago)
Author:
brainslayer
Message:

fs compat

Location:
src/router/httpd/modules
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • src/router/httpd/modules/base.c

    r31611 r31699  
    13031303        int i;
    13041304        static char ret[4];
    1305         char *disks[] = {
    1306                 "sda2", "sdb2", "sdc2", "sdd2", "sde2", "sdf2", "sdg2", "sdh2",
     1305        unsigned char *disks[] = { "sda2", "sdb2", "sdc2", "sdd2", "sde2", "sdf2", "sdg2", "sdh2",
    13071306                "sdi2"
    13081307        };
    1309         for (i = 0; i < 9; i++) {
    1310                 char dev[64];
    1311 
    1312                 sprintf(dev, "/dev/%s", disks[i]);
    1313                 FILE *in = fopen(dev, "rb");
    1314 
    1315                 if (in == NULL)
    1316                         continue;       // no second partition or disc does not
    1317                 // exist, skipping
    1318                 char buf[4];
    1319 
    1320                 fread(buf, 4, 1, in);
    1321                 if (buf[0] == 'h' && buf[1] == 's' && buf[2] == 'q' && buf[3] == 't') {
     1308        int a;
     1309
     1310        for (a = 0; a < 10; a++) {
     1311                for (i = 0; i < 9; i++) {
     1312                        char dev[64];
     1313
     1314                        sprintf(dev, "/dev/%s", disks[i]);
     1315                        FILE *in = fopen(dev, "rb");
     1316
     1317                        if (in == NULL)
     1318                                goto skip;
     1319                        // exist, skipping
     1320                        char buf[4];
     1321
     1322                        fread(buf, 4, 1, in);
     1323                        if ((buf[0] == 't' && buf[1] == 'q' && buf[2] == 's' && buf[3] == 'h')
     1324                            || (buf[0] == 'h' && buf[1] == 's' && buf[2] == 'q' && buf[3] == 't')
     1325                            || (buf[0] == 'h' && buf[1] == 's' && buf[2] == 'q' && buf[3] == 's')) {
     1326                                fclose(in);
     1327                                // filesystem detected
     1328                                fprintf(stderr, "file system detected at %s\n", disks[i]);
     1329                                strncpy(ret, disks[i], 3);
     1330                                return ret;
     1331                        }
     1332
    13221333                        fclose(in);
    1323                         // filesystem detected
    1324                         strncpy(ret, disks[i], 3);
    1325                         return ret;
    1326                 }
    1327                 fclose(in);
     1334                      skip:;
     1335                }
     1336                sleep(1);
    13281337        }
    13291338        return NULL;
     
    21492158        return entry->translation;
    21502159}
     2160
    21512161#ifdef HAVE_STATUS_SYSLOG
    21522162static void do_syslog(struct mime_handler *handler, char *url, webs_t stream, char *query)
  • src/router/httpd/modules/upgrade.c

    r31652 r31699  
    305305                        } __attribute__((packed)) img_header_t;
    306306                        if (brand == ROUTER_ASROCK_G10) {
    307                                 img_header_t *header = (img_header_t *)buf;
     307                                img_header_t *header = (img_header_t *) buf;
    308308                                if (!memcmp(header->signature, FW_HEADER, 4) && !memcmp(header->modTag, _WEB_HEADER_, 4)) {
    309309                                        fprintf(stderr, "found valid ASROCK-G10 Image\n");
     
    330330                                }
    331331                        }
    332 
    333332#endif
    334333#if defined(HAVE_DIR860) || defined(HAVE_DIR859)
  • src/router/httpd/modules/upgrade_x86.c

    r31152 r31699  
    5555                fread(buf, 4, 1, in);
    5656                if ((buf[0] == 't' && buf[1] == 'q' && buf[2] == 's' && buf[3] == 'h')
    57                     || (buf[0] == 'h' && buf[1] == 's' && buf[2] == 'q' && buf[3] == 't')) {
     57                    || (buf[0] == 'h' && buf[1] == 's' && buf[2] == 'q' && buf[3] == 't')
     58                    || (buf[0] == 'h' && buf[1] == 's' && buf[2] == 'q' && buf[3] == 's')) {
    5859                        fclose(in);
    5960                        // filesystem detected
Note: See TracChangeset for help on using the changeset viewer.