Changeset 12395

Show
Ignore:
Timestamp:
06/29/09 16:28:32 (5 months ago)
Author:
BrainSlayer
Message:

take out this set from the static ram

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • src/router/services/Makefile

    r12269 r12395  
    1111LDFLAGS += -lm 
    1212CFLAGS  += -I$(TOP)/iptables/include -I$(TOP)/rc -I$(TOP)/iptables/include/libipq -I$(TOP)/libnet/include -DL_ENDIAN -DLIBNET_LIL_ENDIAN -DLIB1X_LIL_ENDIAN 
    13 CFLAGS  += $(COPTS) -fpic -I$(TOP)/services/include 
     13CFLAGS  += -fpic -I$(TOP)/services/include 
    1414OBJS = services.o network.o firewall.o mssid.o wshaper.o ddns.o sysinit.o sysinit-$(ARCHITECTURE).o interface.o udhcpc.o mkfiles.o iptable.o defaults.o \ 
    1515       bridgetools.o igmp.o wpa.o vlantagging.o httpd.o setuserpw.o anchorfree.o gpio.o mask.o reset_defaults.o 
     
    779779        $(CC) $(CFLAGS) -DNEED_PRINTF -o switch tools/switch.c 
    780780endif 
     781        gcc -o bin/defaults $(CFLAGS) bin/defaults.c 
     782        cd bin && ./defaults 
    781783     
    782784clean: 
     
    787789install: all 
    788790        install -d $(INSTALLDIR)/services/usr/lib        
     791        install -d $(INSTALLDIR)/services/etc 
    789792        install services.so $(INSTALLDIR)/services/usr/lib 
     793        install bin/defaults.bin $(INSTALLDIR)/services/etc 
    790794ifeq ($(CONFIG_RT2880),y) 
    791795        install -d $(INSTALLDIR)/services/sbin   
     
    795799services.so: $(OBJS) 
    796800#       $(AR) arc -o $@.a $^ 
    797         $(CC) --shared $(CFLAGS) -o $@ $^ $(LDFLAGS) 
     801        $(CC) --shared $(COPTS) $(CFLAGS) -o $@ $^ $(LDFLAGS) 
    798802#       $(CC) $(CFLAGS) -o wland $^ $(LDFLAGS) 
    799803         
  • src/router/services/sysinit/defaults.c

    r12386 r12395  
    3939#define HAVE_POWERNOC 1 
    4040#endif 
     41 
     42#ifdef STORE_DEFAULTS 
    4143 
    4244struct nvram_tuple srouter_defaults[] = { 
     
    26152617        {0, 0, 0} 
    26162618}; 
     2619#else 
     2620struct nvram_tuple *srouter_defaults = NULL; 
     2621static int defaultnum; 
     2622void load_defaults(void) 
     2623{ 
     2624        FILE *in = fopen("/etc/defaults.bin", "rb"); 
     2625        if (in == NULL) 
     2626                return; 
     2627        fread(&defaultnum, 4, 1, in); 
     2628        int i; 
     2629        srouter_defaults = 
     2630            (struct nvram_tuple *)malloc(sizeof(struct nvram_tuple) * 
     2631                                         defaultnum); 
     2632        for (i = 0; i < defaultnum; i++) { 
     2633                int vl = getc(in); 
     2634                if (vl) { 
     2635                        srouter_defaults[i].name = malloc(vl + 1); 
     2636                        fread(srouter_defaults[i].name, vl, 1, in); 
     2637                        srouter_defaults[i].name[vl] = 0; 
     2638                        vl = getc(in); 
     2639                        srouter_defaults[i].value = malloc(vl + 1); 
     2640                        fread(srouter_defaults[i].value, vl, 1, in); 
     2641                        srouter_defaults[i].value[vl] = 0; 
     2642                } else { 
     2643                        srouter_defaults[i].name = NULL; 
     2644                        srouter_defaults[i].value = NULL; 
     2645                } 
     2646        } 
     2647} 
     2648 
     2649void free_defaults(void) 
     2650{ 
     2651        int i; 
     2652        for (i = defaultnum - 1; i > -1; i--) { 
     2653                if (srouter_defaults[i].name) { 
     2654                        free(srouter_defaults[i].value); 
     2655                        free(srouter_defaults[i].name); 
     2656                } 
     2657        } 
     2658        free(srouter_defaults); 
     2659 
     2660} 
     2661#endif 
    26172662 
    26182663#ifdef HAVE_SKYTEL 
  • src/router/services/sysinit/sysinit-adm5120.c

    r12235 r12395  
    295295                                        strncpy(ifr.ifr_name, "eth0", IFNAMSIZ); 
    296296                                        ioctl(s, SIOCGIFHWADDR, &ifr); 
    297                                         memcpy((unsigned char *)ifr. 
    298                                                ifr_hwaddr.sa_data, mac, 6); 
     297                                        memcpy((unsigned char *)ifr.ifr_hwaddr. 
     298                                               sa_data, mac, 6); 
    299299                                        ioctl(s, SIOCSIFHWADDR, &ifr); 
    300300                                        close(s); 
     
    306306                                        nvram_set("et0macaddr_safe", 
    307307                                                  ether_etoa((unsigned char *) 
    308                                                              ifr.ifr_hwaddr. 
    309                                                              sa_data, eabuf)); 
     308                                                             ifr. 
     309                                                             ifr_hwaddr.sa_data, 
     310                                                             eabuf)); 
    310311                                        close(s); 
    311312                                } 
     
    342343                                                          ether_etoa((unsigned 
    343344                                                                      char *) 
    344                                                                      ifr. 
    345                                                                      ifr_hwaddr.sa_data, 
    346                                                                      eabuf)); 
     345                                                                     ifr.ifr_hwaddr.sa_data, eabuf)); 
    347346                                                close(s); 
    348347                                        } 
     
    378377                                        strncpy(ifr.ifr_name, "eth0", IFNAMSIZ); 
    379378                                        ioctl(s, SIOCGIFHWADDR, &ifr); 
    380                                         memcpy((unsigned char *)ifr. 
    381                                                ifr_hwaddr.sa_data, 
    382                                                params.addr[0].mac, 6); 
     379                                        memcpy((unsigned char *)ifr.ifr_hwaddr. 
     380                                               sa_data, params.addr[0].mac, 6); 
    383381                                        ioctl(s, SIOCSIFHWADDR, &ifr); 
    384382                                        close(s); 
     
    388386                                        strncpy(ifr.ifr_name, "eth1", IFNAMSIZ); 
    389387                                        ioctl(s, SIOCGIFHWADDR, &ifr); 
    390                                         memcpy((unsigned char *)ifr. 
    391                                                ifr_hwaddr.sa_data, 
    392                                                params.addr[1].mac, 6); 
     388                                        memcpy((unsigned char *)ifr.ifr_hwaddr. 
     389                                               sa_data, params.addr[1].mac, 6); 
    393390                                        ioctl(s, SIOCSIFHWADDR, &ifr); 
    394391                                        close(s); 
     
    400397                                        nvram_set("et0macaddr_safe", 
    401398                                                  ether_etoa((unsigned char *) 
    402                                                              ifr.ifr_hwaddr. 
    403                                                              sa_data, eabuf)); 
     399                                                             ifr. 
     400                                                             ifr_hwaddr.sa_data, 
     401                                                             eabuf)); 
    404402                                        close(s); 
    405403                                } 
  • src/router/services/sysinit/sysinit-broadcom.c

    r12367 r12395  
    910910                nvram_set("wan_ifname", "vlan2"); 
    911911                break; 
    912                  
     912 
    913913        case ROUTER_WRT610N: 
    914914                nvram_set("wan_ifname", "vlan2"); 
     
    919919                nvram_set("pci/1/1/boardflags2", "0x0400"); 
    920920                nvram_set("pci/1/2/boardflags2", "0x0602"); 
    921                  
    922                 if (startswith(nvram_safe_get("pci/1/1/macaddr"), "00:90:4C")  
    923                        || startswith(nvram_safe_get("pci/1/2/macaddr"), "00:90:4C")) 
    924                
    925                 unsigned char mac[20]; 
    926                 strcpy(mac, nvram_safe_get("et0macaddr")); 
    927                 MAC_ADD(mac); 
    928                 MAC_ADD(mac); 
    929                 nvram_set("pci/1/1/macaddr", mac); 
    930                 MAC_ADD(mac); 
    931                 nvram_set("pci/1/2/macaddr", mac); 
    932                 need_reboot = 1;        
     921 
     922                if (startswith(nvram_safe_get("pci/1/1/macaddr"), "00:90:4C") 
     923                    || startswith(nvram_safe_get("pci/1/2/macaddr"), 
     924                                 "00:90:4C"))
     925                       unsigned char mac[20]; 
     926                       strcpy(mac, nvram_safe_get("et0macaddr")); 
     927                       MAC_ADD(mac); 
     928                       MAC_ADD(mac); 
     929                       nvram_set("pci/1/1/macaddr", mac); 
     930                       MAC_ADD(mac); 
     931                       nvram_set("pci/1/2/macaddr", mac); 
     932                       need_reboot = 1; 
    933933                } 
    934934                break; 
     
    11361136                        nvram_set("boardflags", "0x0f58"); 
    11371137                        need_reboot = 1; 
    1138                        
    1139                 break; 
    1140                  
     1138               
     1139                break; 
     1140 
    11411141        case ROUTER_ASKEY_RT220XD: 
    11421142                if (nvram_match("boardflags", "0x388") 
     
    11441144                        nvram_set("boardflags", "0x0208"); 
    11451145                        need_reboot = 1; 
    1146                        
     1146               
    11471147                break; 
    11481148 
  • src/router/services/sysinit/sysinit-ca8.c

    r12235 r12395  
    141141 
    142142                        strcpy(macaddr, 
    143                                ether_etoa((unsigned char *)ifr. 
    144                                           ifr_hwaddr.sa_data, eabuf)); 
     143                               ether_etoa((unsigned char *)ifr.ifr_hwaddr. 
     144                                          sa_data, eabuf)); 
    145145                        nvram_set("et0macaddr", macaddr); 
    146146//          MAC_ADD( macaddr ); 
  • src/router/services/sysinit/sysinit-dir300.c

    r12235 r12395  
    255255 
    256256                        strcpy(macaddr, 
    257                                ether_etoa((unsigned char *)ifr. 
    258                                           ifr_hwaddr.sa_data, eabuf)); 
     257                               ether_etoa((unsigned char *)ifr.ifr_hwaddr. 
     258                                          sa_data, eabuf)); 
    259259                        nvram_set("et0macaddr", macaddr); 
    260260//          MAC_ADD( macaddr ); 
     
    290290 
    291291                        strcpy(macaddr, 
    292                                ether_etoa((unsigned char *)ifr. 
    293                                           ifr_hwaddr.sa_data, eabuf)); 
     292                               ether_etoa((unsigned char *)ifr.ifr_hwaddr. 
     293                                          sa_data, eabuf)); 
    294294                        nvram_set("et0macaddr", macaddr); 
    295295                        // MAC_ADD (macaddr); 
  • src/router/services/sysinit/sysinit-fonera.c

    r12235 r12395  
    166166 
    167167                        strcpy(macaddr, 
    168                                ether_etoa((unsigned char *)ifr. 
    169                                           ifr_hwaddr.sa_data, eabuf)); 
     168                               ether_etoa((unsigned char *)ifr.ifr_hwaddr. 
     169                                          sa_data, eabuf)); 
    170170                        nvram_set("et0macaddr", macaddr); 
    171171//          MAC_ADD( macaddr ); 
  • src/router/services/sysinit/sysinit-gateworx.c

    r12235 r12395  
    420420                        ioctl(s, SIOCGIFHWADDR, &ifr); 
    421421                        nvram_set("et0macaddr_safe", 
    422                                   ether_etoa((unsigned char *)ifr. 
    423                                              ifr_hwaddr.sa_data, eabuf)); 
     422                                  ether_etoa((unsigned char *)ifr.ifr_hwaddr. 
     423                                             sa_data, eabuf)); 
    424424                        close(s); 
    425425                } 
     
    471471                        ioctl(s, SIOCGIFHWADDR, &ifr); 
    472472                        nvram_set("et0macaddr_safe", 
    473                                   ether_etoa((unsigned char *)ifr. 
    474                                              ifr_hwaddr.sa_data, eabuf)); 
     473                                  ether_etoa((unsigned char *)ifr.ifr_hwaddr. 
     474                                             sa_data, eabuf)); 
    475475                        close(s); 
    476476                } 
  • src/router/services/sysinit/sysinit-rcaa01.c

    r12235 r12395  
    158158 
    159159                        strcpy(macaddr, 
    160                                ether_etoa((unsigned char *)ifr. 
    161                                           ifr_hwaddr.sa_data, eabuf)); 
     160                               ether_etoa((unsigned char *)ifr.ifr_hwaddr. 
     161                                          sa_data, eabuf)); 
    162162                        nvram_set("et0macaddr", macaddr); 
    163163//          MAC_ADD( macaddr ); 
  • src/router/services/sysinit/sysinit.c

    r12305 r12395  
    8080void start_nvram(void); 
    8181 
    82 extern struct nvram_tuple srouter_defaults[]; 
     82extern struct nvram_tuple *srouter_defaults; 
     83extern void load_defaults(void); 
     84extern void free_defaults(void); 
    8385 
    8486int endswith(char *str, char *cmp) 
     
    170172        create_rc_file(RC_STARTUP); 
    171173        if (f_exists("/tmp/.rc_startup")) 
    172         system("/tmp/.rc_startup"); 
     174               system("/tmp/.rc_startup"); 
    173175        return; 
    174176} 
     
    178180        create_rc_file(RC_SHUTDOWN); 
    179181        if (f_exists("/tmp/.rc_shutdown")) 
    180         system("/tmp/.rc_shutdown"); 
     182               system("/tmp/.rc_shutdown"); 
    181183        return; 
    182184} 
     
    628630        // } 
    629631        // } 
    630  
     632        load_defaults(); 
    631633#ifdef HAVE_RB500 
    632634        linux_overrides = generic; 
     
    10281030                } 
    10291031        } 
     1032        free_defaults(); 
    10301033        if (strlen(nvram_safe_get("http_username")) == 0) { 
    10311034                nvram_set("http_username", zencrypt("root")); 
  • src/router/services/tools/reset_defaults.c

    r12224 r12395  
    7979}; 
    8080 
    81 extern struct nvram_tuple srouter_defaults[]
     81extern struct nvram_tuple *srouter_defaults
    8282 
    8383static int isCritical(char *name) 
     
    9292        return 0; 
    9393} 
     94extern void load_defaults(void); 
     95extern void free_defaults(void); 
    9496 
    9597void start_defaults(void) 
     
    116118                p += len + 1; 
    117119        } 
     120        load_defaults(); 
    118121        for (t = srouter_defaults; t->name; t++) { 
    119122                nvram_set(t->name, t->value); 
    120123        } 
     124        free_defaults(); 
    121125        free(buf); 
    122126        nvram_commit();