Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 163254 Details for
Bug 235146
app-misc/irtrans-irclient-6.01.04: ip_assign patch & app-misc/irtrans-irserver-6.02.70 bump
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
files/irtrans-irclient-5.11.04-ip_assign-1.patch
irtrans-irclient-5.11.04-ip_assign-1.patch (text/plain), 16.27 KB, created by
Mario Fetka (geos_one)
on 2008-08-18 22:16:25 UTC
(
hide
)
Description:
files/irtrans-irclient-5.11.04-ip_assign-1.patch
Filename:
MIME Type:
Creator:
Mario Fetka (geos_one)
Created:
2008-08-18 22:16:25 UTC
Size:
16.27 KB
patch
obsolete
>Submitted By: Mario Fetka (mario dot fetka at gmail dot com) >Date: 2008-08-06 >Initial Package Version: 5.11.04 >Origin: http://irtrans.de irserver package 5.09.07 >Upstream Status: unknown >Description: readd ip_assign to the irclient package > >diff -Naur irclient-5.11.04.orig/ip_assign.c irclient-5.11.04/ip_assign.c >--- irclient-5.11.04.orig/ip_assign.c 1970-01-01 00:00:00.000000000 +0000 >+++ irclient-5.11.04/ip_assign.c 2007-08-19 21:03:25.000000000 +0000 >@@ -0,0 +1,601 @@ >+/* >+ * Copyright (c) 2007, IRTrans GmbH >+ * All rights reserved. >+ * >+ * Redistribution and use in source and binary forms, with or without >+ * modification, are permitted provided that the following conditions are met: >+ * * Redistributions of source code must retain the above copyright >+ * notice, this list of conditions and the following disclaimer. >+ * * Redistributions in binary form must reproduce the above copyright >+ * notice, this list of conditions and the following disclaimer in the >+ * documentation and/or other materials provided with the distribution. >+ * * Neither the name of IRTrans GmbH nor the >+ * names of its contributors may be used to endorse or promote products >+ * derived from this software without specific prior written permission. >+ * >+ * THIS SOFTWARE IS PROVIDED BY IRTrans GmbH ``AS IS'' AND ANY >+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED >+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE >+ * DISCLAIMED. IN NO EVENT SHALL IRTrans GmbH BE LIABLE FOR ANY >+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES >+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; >+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND >+ * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT >+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF >+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. >+ */ >+ >+ >+ >+#ifdef WIN32 >+ >+#include <winsock2.h> >+#include <windows.h> >+ >+#else >+ >+#include <sys/types.h> >+#include <sys/socket.h> >+#include <netinet/in.h> >+#include <sys/un.h> >+#include <arpa/inet.h> >+#include <sys/stat.h> >+#include <errno.h> >+#include <netdb.h> >+#include <signal.h> >+#include <stdio.h> >+#include <net/if.h> >+#include <sys/ioctl.h> >+#include <stdlib.h> >+ >+ >+typedef int SOCKET; >+typedef void* WSAEVENT; >+#define closesocket close >+#endif >+ >+#include <stdio.h> >+ >+typedef unsigned char byte; >+ >+#ifdef WIN32 >+typedef unsigned int uint; >+typedef unsigned short ushort; >+#endif >+ >+typedef struct { >+ byte op; >+ byte htype; >+ byte hlen; >+ byte hops; >+ uint xid; >+ ushort secs; >+ ushort flags; >+ uint client_ip; >+ uint own_ip; >+ uint server_ip; >+ uint relay_ip; >+ byte client_mac[16]; >+ byte server_name[64]; >+ byte file[128]; >+ byte opt_header[13]; >+ byte options[299]; >+} DHCP_REQUEST; >+ >+ >+typedef struct { >+ uint ip; >+ uint netmask; >+ uint gateway; >+ char password[30]; >+ byte dhcp_flag; >+} IP_PARAM; >+ >+typedef struct { >+ uint ip; >+ byte mac[6]; >+ char firmware[10]; >+ char ir_firmware[10]; >+ byte dhcp_flag; >+} DEVICE_ENTRY; >+ >+ >+ >+#ifdef WIN32 >+WSAEVENT IrtLanEvent; >+#endif >+ >+ >+SOCKET snd_socket[32],rcv_socket; >+ >+int open_sockets (uint ip[],int cnt); >+void new_devicequery (byte msg,uint srvadr,DHCP_REQUEST *req); >+void new_dhcpset (byte msg,uint srvadr,byte mac[],char password[],DHCP_REQUEST *req); >+void new_ipset (byte msg,uint srvadr,byte mac[],uint ip,uint nm,uint gw,char password[],DHCP_REQUEST *req); >+void SendQuery (uint ips[],int cnt); >+int ReadDevices (DEVICE_ENTRY *dev,int cnt); >+int StoreDevice (DEVICE_ENTRY *dev,DHCP_REQUEST *req); >+void read_ip_parameter (IP_PARAM *ip); >+void SetIP (uint ips[],int cnt,DEVICE_ENTRY *dev,IP_PARAM *ip); >+int GetOwnIP (uint ips[]); >+int GetInterfaces (uint ips[]); >+ >+ >+int main (int argc,char *argv[]) >+ >+{ >+ int res,i,choice; >+ char nm[100]; >+ struct in_addr iadr; >+ IP_PARAM ip; >+ DEVICE_ENTRY irtrans[256]; >+ int device_count; >+ uint ip_adr[32]; >+ int ip_count = 0; >+ >+ >+#ifdef WIN32 >+ int err; >+ WORD wVersionRequired; >+ WSADATA wsaData; >+ wVersionRequired = MAKEWORD(2,2); >+ err = WSAStartup(wVersionRequired, &wsaData); >+ if (err != 0) return (1); >+#endif >+ >+ argc++; >+ for (;--argc > 2;argv++) { // Process all Command Line Arguments >+ if (!strcmp (argv[1],"-interface")) { >+ argc--; >+ argv++; >+ ip_adr[0] = inet_addr (argv[1]); >+ ip_count = 1; >+ continue; >+ } >+ >+ } >+ >+ >+ if (!ip_count) { >+ ip_count = GetOwnIP (ip_adr); >+ } >+ >+ for (i=0;i < ip_count;i++) { >+ iadr.s_addr = ip_adr[i]; >+ if (!i) printf ("\nOwn Interfaces / IPs: %s\n",inet_ntoa(iadr)); >+ else printf (" %s\n",inet_ntoa(iadr)); >+ } >+ >+ printf ("\n"); >+ res = open_sockets (ip_adr,ip_count); >+ >+ >+ if (res) { >+ printf ("Open socket error: %d [%d]\n",res,errno); >+ perror (NULL); >+ exit (-1); >+ } >+ >+ while (1) { >+ SendQuery (ip_adr,ip_count); >+ >+ memset (irtrans,0,sizeof (irtrans)); >+ device_count = ReadDevices (irtrans,ip_count); >+ >+ if (!device_count) { >+ printf ("No IRTrans Ethernet device(s) found\n"); >+ exit (0); >+ } >+ >+ >+ printf ("\n%2d IRTrans Ethernet device(s) found:\n",device_count); >+ printf ("----------------------------------------------------------------\n"); >+ >+ for (i=0;i < device_count;i++) { >+ iadr.s_addr = irtrans[i].ip; >+ >+ if (irtrans[i].dhcp_flag == 1) strcpy (nm,"DHCP"); >+ else nm[0] = 0; >+ printf ("%2d %02x-%02x-%02x-%02x-%02x-%02x %-15s %s %8s %s\n",i+1,irtrans[i].mac[0],irtrans[i].mac[1],irtrans[i].mac[2], >+ irtrans[i].mac[3],irtrans[i].mac[4],irtrans[i].mac[5],inet_ntoa(iadr),irtrans[i].firmware,irtrans[i].ir_firmware,nm); >+ } >+ printf ("----------------------------------------------------------------\n"); >+ >+ >+ printf ("Please select device to use (0 = Exit) "); >+ fflush (stdout); >+ do { >+ fgets (nm,sizeof (nm),stdin); >+ choice = atoi (nm); >+ } while (nm[0] < '0'); >+ >+ if (!choice) exit (0); >+ >+ read_ip_parameter (&ip); >+ >+ SetIP (ip_adr,ip_count,irtrans + choice-1,&ip); >+ } >+ >+ >+ return (0); >+} >+ >+ >+int GetOwnIP (uint ips[]) >+{ >+ char nm[100]; >+ int count = 0; >+ >+#ifdef WIN32 >+ struct hostent *host; >+ >+ gethostname (nm,100); >+ >+ host = gethostbyname (nm); >+ >+ while (host->h_addr_list[count]) { >+ if (host->h_addr_list[count][0] != 127) break; >+ } >+ ips[0] = *((uint *)host->h_addr_list[count]); >+ count = 1; >+#else >+ count = GetInterfaces (ips); >+#endif >+ return (count); >+} >+ >+ >+#ifndef WIN32 >+int GetInterfaces (uint ips[]) >+{ >+ int i,j,cnt; >+ FILE *fp; >+ char *pnt,ln[256]; >+ struct sockaddr_in *sinp; >+ struct ifreq ifr; >+ int s; /* Socket */ >+ char local_ip_addr[16]; >+ >+ fp = fopen ("/proc/net/dev","r"); >+ if (!fp) return (0); >+ s = socket(AF_INET, SOCK_DGRAM, 0); >+ >+ cnt = 0; >+ pnt = fgets (ln,sizeof (ln),fp); >+ while (pnt) { >+ i = 0; >+ while (ln[i] == ' ') i++; >+ if (!memcmp (ln+i,"eth",3)) { >+ j = i; >+ while ((ln[j] >= '0' && ln[j] <= '9') || (ln[j] >= 'a' && ln[j] <= 'z') || (ln[j] >= 'A' && ln[j] <= 'Z')) j++; >+ ln[j] = 0; >+ memset (&ifr,0,sizeof (ifr)); >+ strcpy(ifr.ifr_name, ln+i); >+ ioctl(s, SIOCGIFADDR, &ifr); >+ sinp = (struct sockaddr_in*)&ifr.ifr_addr; >+ ips[cnt++] = sinp->sin_addr.s_addr; >+ } >+ pnt = fgets (ln,sizeof (ln),fp); >+ } >+ >+ close (s); >+ fclose (fp); >+ >+ return (cnt); >+} >+#endif >+ >+ >+void SetIP (uint server_ip[],int cnt,DEVICE_ENTRY *dev,IP_PARAM *ip) >+{ >+ int i; >+ DHCP_REQUEST req; >+ >+ for (i=0;i < cnt;i++) { >+ if (ip->dhcp_flag) new_dhcpset (190,server_ip[i],dev->mac,ip->password,&req); >+ >+ else new_ipset (189,server_ip[i],dev->mac,ip->ip,ip->netmask,ip->gateway,ip->password,&req); >+ >+ send (snd_socket[i],(char *)&req,sizeof (DHCP_REQUEST),0); >+ } >+} >+ >+void read_ip_parameter (IP_PARAM *ip) >+{ >+ char nm[100]; >+ >+ memset (ip,0,sizeof (IP_PARAM)); >+ >+ printf ("\n\nConfigure device for DHCP (Y/N) ? "); >+ fflush (stdout); >+ fgets (nm,sizeof (nm),stdin); >+ printf ("\n"); >+ >+ if (*nm == 'Y' || *nm == 'y') ip->dhcp_flag = 1; >+ else { >+ do { >+ printf ("\nEnter IP Address: "); >+ fflush (stdout); >+ fgets (nm,sizeof (nm),stdin); >+ ip->ip = inet_addr (nm); >+ } while (ip->ip == INADDR_NONE); >+ do { >+ printf ("\nEnter Netmask : "); >+ fflush (stdout); >+ fgets (nm,sizeof (nm),stdin); >+ ip->netmask = inet_addr (nm); >+ } while (ip->netmask == INADDR_NONE); >+ do { >+ printf ("\nDefault Gateway : "); >+ fflush (stdout); >+ fgets (nm,sizeof (nm),stdin); >+ ip->gateway = inet_addr (nm); >+ } while (ip->gateway == INADDR_NONE); >+ } >+ >+ printf ("\n\nEnter device password: "); >+ fflush (stdout); >+ fgets (ip->password,8,stdin); >+ >+ printf ("\n"); >+} >+ >+void SendQuery (uint ip_adr[],int cnt) >+{ >+ int i; >+ DHCP_REQUEST req; >+ >+ for (i=0;i < cnt;i++) { >+ new_devicequery (187,ip_adr[i],&req); >+ send (snd_socket[i],(char *)&req,sizeof (DHCP_REQUEST),0); >+ } >+} >+ >+ >+int ReadDevices (DEVICE_ENTRY *dev,int ipcnt) >+{ >+ int i; >+ DHCP_REQUEST req; >+ int res,cnt = 0; >+ >+#ifndef WIN32 >+ fd_set events; >+ int maxfd,wait; >+ struct timeval tv; >+#endif >+ >+#ifdef WIN32 >+ IrtLanEvent = WSACreateEvent (); >+ WSAEventSelect (rcv_socket, IrtLanEvent,FD_READ); >+#endif >+ >+ while (1) { >+ >+#ifdef WIN32 >+ res = WaitForSingleObject (IrtLanEvent,5000); >+ if (res == WAIT_TIMEOUT) break; >+ ResetEvent (IrtLanEvent); >+ >+#else >+ >+ FD_ZERO (&events); >+ >+ FD_SET (rcv_socket,&events); >+ maxfd = rcv_socket + 1; >+ >+ tv.tv_sec = 1; >+ tv.tv_usec = 0; >+ >+ wait = select (maxfd,&events,NULL,NULL,&tv); >+ if (!wait) break; >+#endif >+ res = recv (rcv_socket,(char *)&req,sizeof (req),0); >+ cnt += StoreDevice (dev + cnt,&req); >+ i = 0; >+ while (i < (cnt - 1)) { >+ if (!memcmp (dev[i].mac,dev[cnt-1].mac,6)) break; >+ i++; >+ } >+ if (i < (cnt - 1)) cnt--; >+ >+ } >+ return (cnt); >+} >+ >+ >+int StoreDevice (DEVICE_ENTRY *dev,DHCP_REQUEST *req) >+{ >+ if (req -> op != 1) return (0); >+ >+ if (req -> opt_header[0] != 99 || req -> opt_header[1] != 130 || req -> opt_header[2] != 83 || req -> opt_header[3] != 99) return (0); >+ if (req -> opt_header[4] != 53 || req -> opt_header[5] != 1 || req -> opt_header[6] != 188 || req -> opt_header[7] != 0xe9) return (0); >+ >+ if (req -> opt_header[9] != 0x78 || req -> opt_header[10] != 0xa3 || req -> opt_header[11] != 0x8b || req -> opt_header[12] != 0x84) return (0); >+ >+ >+ if (req -> client_mac[0] != 0 || req -> client_mac[1] != 0x50 || req -> client_mac[2] != 0xC2 || >+ req -> client_mac[3] != 0x52 || (req -> client_mac[4] & 0xf0) != 0x70) return (0); >+ >+ >+ dev->ip = req -> client_ip; >+ memcpy (dev->mac,req -> client_mac,6); >+ dev->dhcp_flag = req->options[0]; >+ memcpy (dev->firmware,req->options+1,8); >+ if (req -> opt_header[8] == 23) memcpy (dev->ir_firmware,req->options+9,8); >+ >+ return (1); >+} >+ >+ >+void new_dhcpset (byte msg,uint srvadr,byte mac[],char password[],DHCP_REQUEST *req) >+{ >+ int i,pos; >+ >+ memset (req,0,sizeof (DHCP_REQUEST)); >+ >+ req->op = 2; >+ req->htype = 1; >+ req->hlen = 6; >+ req->hops = 0; >+ req->xid = htonl(0xaabbccdd); >+ req->secs = 0; >+ req->flags = htons (0x8000); >+ req->server_ip = srvadr; >+ memcpy (req->client_mac,mac,6); >+ >+ req->opt_header[0] = 99; >+ req->opt_header[1] = 130; >+ req->opt_header[2] = 83; >+ req->opt_header[3] = 99; >+ req->opt_header[4] = 53; >+ req->opt_header[5] = 1; >+ req->opt_header[6] = msg; >+ req->opt_header[7] = 233; >+ req->opt_header[8] = 4; >+ req->opt_header[9] = 0xac; >+ req->opt_header[10] = 0x75; >+ req->opt_header[11] = 0x20; >+ req->opt_header[12] = 0xbf; >+ >+ pos = 0; >+ req->options[pos++] = 234; >+ req->options[pos++] = strlen (password) + 1; >+ >+ for (i=0;i < (int)strlen (password);i++) req->options[pos++] = password[i]; >+ req->options[pos++] = 0; >+ req->options[pos++] = 255; >+} >+ >+void new_ipset (byte msg,uint srvadr,byte mac[],uint ip,uint nm,uint gw,char password[],DHCP_REQUEST *req) >+{ >+ int i,pos; >+ >+ memset (req,0,sizeof (DHCP_REQUEST)); >+ >+ req->op = 2; >+ req->htype = 1; >+ req->hlen = 6; >+ req->hops = 0; >+ req->xid = htonl(0xaabbccdd); >+ req->secs = 0; >+ req->flags = htons (0x8000); >+ req->server_ip = srvadr; >+ req->own_ip = ip; >+ memcpy (req->client_mac,mac,6); >+ >+ req->opt_header[0] = 99; >+ req->opt_header[1] = 130; >+ req->opt_header[2] = 83; >+ req->opt_header[3] = 99; >+ req->opt_header[4] = 53; >+ req->opt_header[5] = 1; >+ req->opt_header[6] = msg; >+ req->opt_header[7] = 233; >+ req->opt_header[8] = 4; >+ req->opt_header[9] = 0xac; >+ req->opt_header[10] = 0x75; >+ req->opt_header[11] = 0x20; >+ req->opt_header[12] = 0xbf; >+ >+ pos = 0; >+ req->options[pos++] = 1; // Subnetmask >+ req->options[pos++] = 4; >+ memcpy (req->options+pos,&nm,4); >+ pos += 4; >+ >+ req->options[pos++] = 3; // Default Gateway >+ req->options[pos++] = 4; >+ memcpy (req->options+pos,&gw,4); >+ pos += 4; >+ >+ req->options[pos++] = 234; >+ req->options[pos++] = strlen (password) + 1; >+ >+ for (i=0;i < (int)strlen (password);i++) req->options[pos++] = password[i]; >+ req->options[pos++] = 0; >+ req->options[pos++] = 255; >+ >+} >+ >+void new_devicequery (byte msg,uint srvadr,DHCP_REQUEST *req) >+{ >+ memset (req,0,sizeof (DHCP_REQUEST)); >+ >+ req->op = 2; >+ req->htype = 1; >+ req->hlen = 6; >+ req->hops = 0; >+ req->xid = htonl(0xaabbccdd); >+ req->secs = 0; >+ req->flags = htons (0x8000); >+ req->server_ip = srvadr; >+ req->client_mac[0] = 0xff; >+ req->client_mac[1] = 0xff; >+ req->client_mac[2] = 0xff; >+ req->client_mac[3] = 0xff; >+ req->client_mac[4] = 0xff; >+ req->client_mac[5] = 0xff; >+ >+ req->opt_header[0] = 99; >+ req->opt_header[1] = 130; >+ req->opt_header[2] = 83; >+ req->opt_header[3] = 99; >+ req->opt_header[4] = 53; >+ req->opt_header[5] = 1; >+ req->opt_header[6] = msg; >+ req->opt_header[7] = 233; >+ req->opt_header[8] = 4; >+ req->opt_header[9] = 0x78; >+ req->opt_header[10] = 0xa3; >+ req->opt_header[11] = 0x8b; >+ req->opt_header[12] = 0x84; >+ >+ req->options[0] = 255; >+} >+ >+int open_sockets (uint ip[],int cnt) >+{ >+ int res,i; >+ struct sockaddr_in iadr; >+ struct sockaddr_in serv_addr; >+ >+ rcv_socket = socket (PF_INET,SOCK_DGRAM,0); >+ if (rcv_socket < 0) return (2); >+ >+ memset (&serv_addr,0,sizeof (serv_addr)); >+ serv_addr.sin_family = AF_INET; >+ serv_addr.sin_addr.s_addr = INADDR_ANY; >+ serv_addr.sin_port = htons (67); >+ >+ res = bind (rcv_socket,(struct sockaddr *)&serv_addr,sizeof (serv_addr)); >+ if (res) return (3); >+ >+ >+ for (i=0;i < cnt;i++) { >+ snd_socket[i] = socket (PF_INET,SOCK_DGRAM,0); >+ if (snd_socket[i] < 0) return (4); >+ res = 1; >+ setsockopt (snd_socket[i],SOL_SOCKET,SO_BROADCAST,(char *)&res,sizeof (int)); >+ >+ >+#ifndef WIN32 >+ memset (&serv_addr,0,sizeof (serv_addr)); >+ serv_addr.sin_family = AF_INET; >+ serv_addr.sin_addr.s_addr = ip[i]; >+ serv_addr.sin_port = 0; >+ >+ res = bind (snd_socket[i],(struct sockaddr *)&serv_addr,sizeof (serv_addr)); >+ if (res) return (6); >+#endif >+ >+ memset (&iadr,0,sizeof (struct sockaddr)); >+ iadr.sin_family = AF_INET; >+ iadr.sin_addr.s_addr = INADDR_BROADCAST; >+ iadr.sin_port = htons (68); >+ >+ if (connect (snd_socket[i],(struct sockaddr *)&iadr,sizeof (struct sockaddr_in)) < 0) return (5); >+ } >+ >+ return (0); >+} >+ >diff -Naur irclient-5.11.04.orig/makefile irclient-5.11.04/makefile >--- irclient-5.11.04.orig/makefile 2008-08-06 20:11:16.000000000 +0000 >+++ irclient-5.11.04/makefile 2008-08-06 20:27:31.000000000 +0000 >@@ -15,6 +15,11 @@ > OBJS64 = $(patsubst %,$(ODIR64)/%,$(_OBJS)) > OBJSARM = $(patsubst %,$(ODIRARM)/%,$(_OBJS)) > >+_OBJS_IP = ip_assign.o >+OBJS_IP = $(patsubst %,$(ODIR)/%,$(_OBJS_IP)) >+OBJS64_IP = $(patsubst %,$(ODIR64)/%,$(_OBJS_IP)) >+OBJSARM_IP = $(patsubst %,$(ODIRARM)/%,$(_OBJS_IP)) >+ > > irclient: $(OBJS) > $(CC) $(CFLAGS) $(OBJS) -m32 -o irclient $(LDFLAGS) >@@ -26,15 +31,29 @@ > $(CC) $(CFLAGS) $(OBJSARM) -o irclient $(LDFLAGS) > > >-all: irclient irclient64 >+ip_assign: $(OBJS_IP) >+ $(CC) $(CFLAGS) $(OBJS_IP) -m32 -o ip_assign $(LDFLAGS) >+ >+ip_assign64: $(OBJS64_IP) >+ $(CC) $(CFLAGS) -DX64 $(OBJS64_IP) -m64 -o ip_assign64 $(LDFLAGS) >+ >+ip_assign_arm: $(OBJSARM_IP) >+ $(CC) $(CFLAGS) $(OBJSARM_IP) -o ip_assign $(LDFLAGS) > >-arm: irclient_arm >+ >+all: irclient irclient64 ip_assign ip_assign64 >+ >+arm: irclient_arm ip_assign_arm > > > clean: >- -rm $(OBJS) >- -rm $(OBJS64) >- -rm $(OBJSARM) >+ -rm -f $(OBJS) >+ -rm -f $(OBJS64) >+ -rm -f $(OBJSARM) >+ >+ -rm -f $(OBJS_IP) >+ -rm -f $(OBJS64_IP) >+ -rm -f $(OBJSARM_IP) > > > $(ODIR)/%.o: %.c flash.h errcode.h network.h remote.h makefile
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 235146
:
163253
|
163254
|
165360
|
177853
|
177854
|
177871
|
177873
|
182231
|
182233
|
182235
|
190069
|
190071
|
214313
|
241845
|
261318
|
261319