head 1.7; access; symbols OPENPKG_E1_MP_HEAD:1.7 OPENPKG_E1_MP:1.7 OPENPKG_E1_MP_2_STABLE:1.6.2.1 OPENPKG_E1_FP:1.6.2.1 OPENPKG_2_STABLE_MP:1.7 OPENPKG_2_STABLE_20061018:1.6 OPENPKG_2_STABLE_20060622:1.6 OPENPKG_2_STABLE:1.6.0.2 OPENPKG_2_STABLE_BP:1.6 OPENPKG_2_5_RELEASE:1.3.2.2 OPENPKG_2_5_SOLID:1.3.0.2 OPENPKG_2_5_SOLID_BP:1.3; locks; strict; comment @# @; 1.7 date 2006.10.23.18.52.36; author rse; state Exp; branches; next 1.6; commitid fAQJ7ppoulj08QRr; 1.6 date 2005.10.27.11.05.07; author rse; state Exp; branches 1.6.2.1; next 1.5; commitid MmF16lLvawQ39p7r; 1.5 date 2005.10.16.07.59.45; author rse; state Exp; branches; next 1.4; 1.4 date 2005.10.12.08.31.21; author rse; state Exp; branches; next 1.3; 1.3 date 2005.10.02.10.26.51; author rse; state dead; branches 1.3.2.1; next 1.2; 1.2 date 2005.10.02.07.08.35; author rse; state Exp; branches; next 1.1; 1.1 date 2005.10.02.07.01.07; author rse; state Exp; branches; next ; 1.6.2.1 date 2006.10.23.18.53.20; author rse; state Exp; branches; next ; commitid uf2URdvhiXMf8QRr; 1.3.2.1 date 2005.10.12.14.32.18; author rse; state Exp; branches; next 1.3.2.2; 1.3.2.2 date 2005.10.16.08.01.47; author rse; state Exp; branches; next ; desc @@ 1.7 log @a bunch of additional patches from the vendor CVS @ text @Index: lib/as_netinfo.c --- lib/as_netinfo.c.orig 2006-02-25 23:46:44 +0100 +++ lib/as_netinfo.c 2006-10-23 20:47:30 +0200 @@@@ -134,6 +134,7 @@@@ ASPacket *packet) { in_addr_t ip; + as_uint16 sn_build; if ((ip = as_packet_get_ip (packet)) == 0) return FALSE; @@@@ -148,6 +149,15 @@@@ info->outside_ip = ip; + /* further data in packet: */ + as_packet_get_8 (packet); /* 0x00 */ + as_packet_get_le16 (packet); /* NatPort (our port as seen by supernode?) */ + as_packet_get_le16 (packet); /* ResultId (used for UDP searching?) */ + sn_build = as_packet_get_le16 (packet); /* Supernode build number */ + + AS_HEAVY_DBG_2 ("Supernode %s has build number %u", + net_ip_str (session->host), sn_build); + return TRUE; } Index: lib/as_sha1.c --- lib/as_sha1.c.orig 2004-09-02 21:39:52 +0200 +++ lib/as_sha1.c 2006-10-23 20:47:30 +0200 @@@@ -34,19 +34,28 @@@@ /*****************************************************************************/ -#if 1 -#define GET_BE32(p,ind) \ - ((p)[ind] << 24 | (p)[(ind)+1] << 16 | (p)[(ind)+2] << 8 | (p)[(ind)+3]) +#ifndef WIN32 + +/* sigh */ +#ifdef WORDS_BIGENDIAN +# if SIZEOF_LONG == 4 +# define SHA_BYTE_ORDER 4321 +# elif SIZEOF_LONG == 8 +# define SHA_BYTE_ORDER 87654321 +# endif #else -#define GET_BE32(p32,ind) \ - ntohl((p32)[(ind)/4]) +# if SIZEOF_LONG == 4 +# define SHA_BYTE_ORDER 1234 +# elif SIZEOF_LONG == 8 +# define SHA_BYTE_ORDER 12345678 +# endif #endif -#define COPY_BE32x16(W,wind,p,ind) \ - (W)[(wind)] = GET_BE32((p),(ind)); \ - (W)[(wind)+1] = GET_BE32((p),(ind)+4); \ - (W)[(wind)+2] = GET_BE32((p),(ind)+8); \ - (W)[(wind)+3] = GET_BE32((p),(ind)+12); +#else /* WIN32 */ + +#define SHA_BYTE_ORDER 1234 + +#endif /* !WIN32 */ /* SHA f()-functions */ @@@@ -108,10 +117,59 @@@@ dp = sha_info->data; - COPY_BE32x16(W, 0,dp,0); - COPY_BE32x16(W, 4,dp,16); - COPY_BE32x16(W, 8,dp,32); - COPY_BE32x16(W,12,dp,48); +/* +the following makes sure that at least one code block below is +traversed or an error is reported, without the necessity for nested +preprocessor if/else/endif blocks, which are a great pain in the +nether regions of the anatomy... +*/ +#undef SWAP_DONE + +#if (SHA_BYTE_ORDER == 1234) +#define SWAP_DONE + for (i = 0; i < 16; ++i) { + T = *((unsigned long *) dp); + dp += 4; + W[i] = ((T << 24) & 0xff000000) | ((T << 8) & 0x00ff0000) | + ((T >> 8) & 0x0000ff00) | ((T >> 24) & 0x000000ff); + } +#endif /* SHA_BYTE_ORDER == 1234 */ + +#if (SHA_BYTE_ORDER == 4321) +#define SWAP_DONE + for (i = 0; i < 16; ++i) { + T = *((unsigned long *) dp); + dp += 4; + W[i] = T32(T); + } +#endif /* SHA_BYTE_ORDER == 4321 */ + +#if (SHA_BYTE_ORDER == 12345678) +#define SWAP_DONE + for (i = 0; i < 16; i += 2) { + T = *((unsigned long *) dp); + dp += 8; + W[i] = ((T << 24) & 0xff000000) | ((T << 8) & 0x00ff0000) | + ((T >> 8) & 0x0000ff00) | ((T >> 24) & 0x000000ff); + T >>= 32; + W[i+1] = ((T << 24) & 0xff000000) | ((T << 8) & 0x00ff0000) | + ((T >> 8) & 0x0000ff00) | ((T >> 24) & 0x000000ff); + } +#endif /* SHA_BYTE_ORDER == 12345678 */ + +#if (SHA_BYTE_ORDER == 87654321) +#define SWAP_DONE + for (i = 0; i < 16; i += 2) { + T = *((unsigned long *) dp); + dp += 8; + W[i] = T32(T >> 32); + W[i+1] = T32(T); + } +#endif /* SHA_BYTE_ORDER == 87654321 */ + +#ifndef SWAP_DONE +#error Unknown byte order -- you need to add code here +#endif /* SWAP_DONE */ for (i = 16; i < 80; ++i) { W[i] = W[i-3] ^ W[i-8] ^ W[i-14] ^ W[i-16]; Index: lib/as_share.c --- lib/as_share.c.orig 2005-01-09 00:07:56 +0100 +++ lib/as_share.c 2006-10-23 20:47:30 +0200 @@@@ -260,6 +260,13 @@@@ } } + if (as_packet_size (tokens) > 400) + { + AS_WARN_1 ("Share token size exceeds 400 bytes (%d). " + "Supernodes will ignore this share!", + as_packet_size (tokens)); + } + as_packet_put_le16 (p, (as_uint16) tokens->used); as_packet_append (p, tokens); as_packet_free (tokens); @@@@ -278,6 +285,13 @@@@ /* Add random position block. See as_meta.c. */ add_meta_tags2 (p, share); + if (as_packet_size (p) > 1024) + { + AS_WARN_1 ("Share packet size exceeds 1024 bytes (%d). " + "Supernodes will ignore this share!", + as_packet_size (tokens)); + } + return p; } Index: lib/as_share_man.c --- lib/as_share_man.c.orig 2006-02-19 16:34:25 +0100 +++ lib/as_share_man.c 2006-10-23 20:47:30 +0200 @@@@ -157,6 +157,13 @@@@ static as_bool conglobulator_assimilate (Conglobulator *glob, ASPacket *p) { + if (as_packet_size (p) > 700) + { + AS_WARN_1 ("Share packet is larger than 700 bytes (%d). " + "Supernodes will this and subsequent packets in compressed envelope!", + as_packet_size (p)); + } + if (!glob->data) glob->data = p; else Index: lib/as_upload.c --- lib/as_upload.c.orig 2006-02-20 00:07:22 +0100 +++ lib/as_upload.c 2006-10-23 20:47:30 +0200 @@@@ -356,7 +356,7 @@@@ net_ip_str (up->host)); up->start = 0; - up->stop = up->share->size; + up->stop = 0; } /* Get hash from request header. */ @@@@ -411,6 +411,10 @@@@ return FALSE; } + /* send entire file if no range was specified */ + if (up->stop == 0) + up->stop = up->share->size; + /* sanity check requested range */ if (up->stop <= up->start || up->start >= up->share->size || up->stop > up->share->size) Index: lib/as_upload_man.c --- lib/as_upload_man.c.orig 2005-11-26 02:04:10 +0100 +++ lib/as_upload_man.c 2006-10-23 20:47:30 +0200 @@@@ -16,7 +16,7 @@@@ /*****************************************************************************/ -struct queue +struct xqueue { in_addr_t host; time_t time; @@@@ -376,14 +376,14 @@@@ * specified to ignore beyond, so that we can avoid timing out entries * if later entries haven't pinged us yet. */ -static void tidy_queue (ASUpMan *man, struct queue *last) +static void tidy_queue (ASUpMan *man, struct xqueue *last) { List *l, *next; time_t t = time (NULL); for (l = man->queue; l; l = next) { - struct queue *q = l->data; + struct xqueue *q = l->data; next = l->next; /* to avoid referencing freed data * should we choose to remove this @@@@ -407,7 +407,7 @@@@ { ASUpload *up; List *l; - struct queue *q = NULL; + struct xqueue *q = NULL; int i; #ifdef VERIFY_ACTIVE_COUNT @@@@ -467,7 +467,7 @@@@ if (!l) { /* not queued; insert at end */ - q = malloc (sizeof(struct queue)); + q = malloc (sizeof(struct xqueue)); if (!q) return -1; Index: lib/as_util.c --- lib/as_util.c.orig 2005-09-15 23:26:40 +0200 +++ lib/as_util.c 2006-10-23 20:47:30 +0200 @@@@ -40,9 +40,15 @@@@ /* Insert link after prev. Returns prev. */ List *list_insert_link (List *prev, List *link) { - if (!prev || !link) + if (!link) return prev; + link->prev = NULL; + link->next = NULL; + + if (!prev) + return link; + link->prev = prev; link->next = prev->next; prev->next = link; @ 1.6 log @modifying package: gift-ares-0.2.2 20051016 -> 20051027 @ text @d1 204 d206 2 a207 2 --- lib/as_upload_man.c.orig 2005-01-01 02:56:59.000000000 +0100 +++ lib/as_upload_man.c 2005-10-16 09:55:34.896795729 +0200 d217 1 a217 1 @@@@ -341,14 +341,14 @@@@ d234 1 a234 1 @@@@ -372,7 +372,7 @@@@ d243 1 a243 1 @@@@ -431,7 +431,7 @@@@ d252 20 @ 1.6.2.1 log @MFC: a bunch of additional patches from the vendor CVS @ text @a0 204 Index: lib/as_netinfo.c --- lib/as_netinfo.c.orig 2006-02-25 23:46:44 +0100 +++ lib/as_netinfo.c 2006-10-23 20:47:30 +0200 @@@@ -134,6 +134,7 @@@@ ASPacket *packet) { in_addr_t ip; + as_uint16 sn_build; if ((ip = as_packet_get_ip (packet)) == 0) return FALSE; @@@@ -148,6 +149,15 @@@@ info->outside_ip = ip; + /* further data in packet: */ + as_packet_get_8 (packet); /* 0x00 */ + as_packet_get_le16 (packet); /* NatPort (our port as seen by supernode?) */ + as_packet_get_le16 (packet); /* ResultId (used for UDP searching?) */ + sn_build = as_packet_get_le16 (packet); /* Supernode build number */ + + AS_HEAVY_DBG_2 ("Supernode %s has build number %u", + net_ip_str (session->host), sn_build); + return TRUE; } Index: lib/as_sha1.c --- lib/as_sha1.c.orig 2004-09-02 21:39:52 +0200 +++ lib/as_sha1.c 2006-10-23 20:47:30 +0200 @@@@ -34,19 +34,28 @@@@ /*****************************************************************************/ -#if 1 -#define GET_BE32(p,ind) \ - ((p)[ind] << 24 | (p)[(ind)+1] << 16 | (p)[(ind)+2] << 8 | (p)[(ind)+3]) +#ifndef WIN32 + +/* sigh */ +#ifdef WORDS_BIGENDIAN +# if SIZEOF_LONG == 4 +# define SHA_BYTE_ORDER 4321 +# elif SIZEOF_LONG == 8 +# define SHA_BYTE_ORDER 87654321 +# endif #else -#define GET_BE32(p32,ind) \ - ntohl((p32)[(ind)/4]) +# if SIZEOF_LONG == 4 +# define SHA_BYTE_ORDER 1234 +# elif SIZEOF_LONG == 8 +# define SHA_BYTE_ORDER 12345678 +# endif #endif -#define COPY_BE32x16(W,wind,p,ind) \ - (W)[(wind)] = GET_BE32((p),(ind)); \ - (W)[(wind)+1] = GET_BE32((p),(ind)+4); \ - (W)[(wind)+2] = GET_BE32((p),(ind)+8); \ - (W)[(wind)+3] = GET_BE32((p),(ind)+12); +#else /* WIN32 */ + +#define SHA_BYTE_ORDER 1234 + +#endif /* !WIN32 */ /* SHA f()-functions */ @@@@ -108,10 +117,59 @@@@ dp = sha_info->data; - COPY_BE32x16(W, 0,dp,0); - COPY_BE32x16(W, 4,dp,16); - COPY_BE32x16(W, 8,dp,32); - COPY_BE32x16(W,12,dp,48); +/* +the following makes sure that at least one code block below is +traversed or an error is reported, without the necessity for nested +preprocessor if/else/endif blocks, which are a great pain in the +nether regions of the anatomy... +*/ +#undef SWAP_DONE + +#if (SHA_BYTE_ORDER == 1234) +#define SWAP_DONE + for (i = 0; i < 16; ++i) { + T = *((unsigned long *) dp); + dp += 4; + W[i] = ((T << 24) & 0xff000000) | ((T << 8) & 0x00ff0000) | + ((T >> 8) & 0x0000ff00) | ((T >> 24) & 0x000000ff); + } +#endif /* SHA_BYTE_ORDER == 1234 */ + +#if (SHA_BYTE_ORDER == 4321) +#define SWAP_DONE + for (i = 0; i < 16; ++i) { + T = *((unsigned long *) dp); + dp += 4; + W[i] = T32(T); + } +#endif /* SHA_BYTE_ORDER == 4321 */ + +#if (SHA_BYTE_ORDER == 12345678) +#define SWAP_DONE + for (i = 0; i < 16; i += 2) { + T = *((unsigned long *) dp); + dp += 8; + W[i] = ((T << 24) & 0xff000000) | ((T << 8) & 0x00ff0000) | + ((T >> 8) & 0x0000ff00) | ((T >> 24) & 0x000000ff); + T >>= 32; + W[i+1] = ((T << 24) & 0xff000000) | ((T << 8) & 0x00ff0000) | + ((T >> 8) & 0x0000ff00) | ((T >> 24) & 0x000000ff); + } +#endif /* SHA_BYTE_ORDER == 12345678 */ + +#if (SHA_BYTE_ORDER == 87654321) +#define SWAP_DONE + for (i = 0; i < 16; i += 2) { + T = *((unsigned long *) dp); + dp += 8; + W[i] = T32(T >> 32); + W[i+1] = T32(T); + } +#endif /* SHA_BYTE_ORDER == 87654321 */ + +#ifndef SWAP_DONE +#error Unknown byte order -- you need to add code here +#endif /* SWAP_DONE */ for (i = 16; i < 80; ++i) { W[i] = W[i-3] ^ W[i-8] ^ W[i-14] ^ W[i-16]; Index: lib/as_share.c --- lib/as_share.c.orig 2005-01-09 00:07:56 +0100 +++ lib/as_share.c 2006-10-23 20:47:30 +0200 @@@@ -260,6 +260,13 @@@@ } } + if (as_packet_size (tokens) > 400) + { + AS_WARN_1 ("Share token size exceeds 400 bytes (%d). " + "Supernodes will ignore this share!", + as_packet_size (tokens)); + } + as_packet_put_le16 (p, (as_uint16) tokens->used); as_packet_append (p, tokens); as_packet_free (tokens); @@@@ -278,6 +285,13 @@@@ /* Add random position block. See as_meta.c. */ add_meta_tags2 (p, share); + if (as_packet_size (p) > 1024) + { + AS_WARN_1 ("Share packet size exceeds 1024 bytes (%d). " + "Supernodes will ignore this share!", + as_packet_size (tokens)); + } + return p; } Index: lib/as_share_man.c --- lib/as_share_man.c.orig 2006-02-19 16:34:25 +0100 +++ lib/as_share_man.c 2006-10-23 20:47:30 +0200 @@@@ -157,6 +157,13 @@@@ static as_bool conglobulator_assimilate (Conglobulator *glob, ASPacket *p) { + if (as_packet_size (p) > 700) + { + AS_WARN_1 ("Share packet is larger than 700 bytes (%d). " + "Supernodes will this and subsequent packets in compressed envelope!", + as_packet_size (p)); + } + if (!glob->data) glob->data = p; else Index: lib/as_upload.c --- lib/as_upload.c.orig 2006-02-20 00:07:22 +0100 +++ lib/as_upload.c 2006-10-23 20:47:30 +0200 @@@@ -356,7 +356,7 @@@@ net_ip_str (up->host)); up->start = 0; - up->stop = up->share->size; + up->stop = 0; } /* Get hash from request header. */ @@@@ -411,6 +411,10 @@@@ return FALSE; } + /* send entire file if no range was specified */ + if (up->stop == 0) + up->stop = up->share->size; + /* sanity check requested range */ if (up->stop <= up->start || up->start >= up->share->size || up->stop > up->share->size) d2 2 a3 2 --- lib/as_upload_man.c.orig 2005-11-26 02:04:10 +0100 +++ lib/as_upload_man.c 2006-10-23 20:47:30 +0200 d13 1 a13 1 @@@@ -376,14 +376,14 @@@@ d30 1 a30 1 @@@@ -407,7 +407,7 @@@@ d39 1 a39 1 @@@@ -467,7 +467,7 @@@@ a47 20 Index: lib/as_util.c --- lib/as_util.c.orig 2005-09-15 23:26:40 +0200 +++ lib/as_util.c 2006-10-23 20:47:30 +0200 @@@@ -40,9 +40,15 @@@@ /* Insert link after prev. Returns prev. */ List *list_insert_link (List *prev, List *link) { - if (!prev || !link) + if (!link) return prev; + link->prev = NULL; + link->next = NULL; + + if (!prev) + return link; + link->prev = prev; link->next = prev->next; prev->next = link; @ 1.5 log @workaround symbol conflict under Solaris @ text @a0 21 Index: lib/as_session.c --- lib/as_session.c.orig 2005-10-12 09:38:49.000000000 +0200 +++ lib/as_session.c 2005-10-16 09:53:54.187758341 +0200 @@@@ -401,7 +401,7 @@@@ /* hardcoded zero byte (only if original nonce is used) */ as_packet_put_8 (packet, 0x00); /* 22 byte nonce created from supernode guid */ - if(!(nonce = as_cipher_nonce (session->cipher, supernode_guid)) + if(!(nonce = as_cipher_nonce (session->cipher, supernode_guid))) { AS_ERR ("Handshake nonce creation failed"); as_packet_free (packet); @@@@ -413,7 +413,7 @@@@ else if (type == PACKET_ACK2) { /* 20 byte nonce2 created from supernode guid */ - if(!(nonce = as_cipher_nonce2 (supernode_guid)) + if(!(nonce = as_cipher_nonce2 (supernode_guid))) { AS_ERR ("Handshake nonce2 creation failed"); as_packet_free (packet); @ 1.4 log @modifying package: gift-ares-0.2.2 20051002 -> 20051012 @ text @d2 2 a3 2 --- lib/as_session.c.orig 2005-10-12 09:38:49 +0200 +++ lib/as_session.c 2005-10-12 09:41:43 +0200 d22 47 @ 1.3 log @switch to a CVS snapshot version of 0.2.2 to fix run-time because Ares P2P network switched to a new handshake protocol and plain 0.2.2 is unable to connect to supernodes @ text @d1 21 a21 33 Index: lib/Makefile.in --- lib/Makefile.in.orig 2005-03-07 02:06:39 +0100 +++ lib/Makefile.in 2005-10-02 08:58:48 +0200 @@@@ -68,7 +68,7 @@@@ F77 = @@F77@@ FFLAGS = @@FFLAGS@@ GIFT_CFLAGS = @@GIFT_CFLAGS@@ -GIFT_LIBS = @@GIFT_LIBS@@ +GIFT_LIBS = HEAVY_DEBUG_FALSE = @@HEAVY_DEBUG_FALSE@@ HEAVY_DEBUG_TRUE = @@HEAVY_DEBUG_TRUE@@ INSTALL_DATA = @@INSTALL_DATA@@ @@@@ -192,7 +192,7 @@@@ -I$(top_srcdir)/lib -libaresgift_la_LDFLAGS = @@GIFT_LIBS@@ -lm -module -avoid-version +libaresgift_la_LDFLAGS = -lm -module -avoid-version # -Wl,-z,defs EXTRA_DIST = Makefile.msvc Index: lib/as_ares.c --- lib/as_ares.c.orig 2005-02-09 20:46:07.000000000 +0100 +++ lib/as_ares.c 2005-04-27 21:23:20.083273544 +0200 @@@@ -61,7 +61,7 @@@@ /* id, name, type, data, callback, udata */ { AS_LISTEN_PORT, "main/port", AS_CONF_INT, {59049}, port_change_cb, NULL }, - { AS_USER_NAME, "main/username", AS_CONF_STR, {"antares"}, + { AS_USER_NAME, "main/username", AS_CONF_STR, {0}, NULL, NULL }, { AS_DOWNLOAD_MAX_ACTIVE, NULL, AS_CONF_INT, {6}, NULL, NULL }, @ 1.3.2.1 log @MFC: latest version @ text @d1 33 a33 21 Index: lib/as_session.c --- lib/as_session.c.orig 2005-10-12 09:38:49 +0200 +++ lib/as_session.c 2005-10-12 09:41:43 +0200 @@@@ -401,7 +401,7 @@@@ /* hardcoded zero byte (only if original nonce is used) */ as_packet_put_8 (packet, 0x00); /* 22 byte nonce created from supernode guid */ - if(!(nonce = as_cipher_nonce (session->cipher, supernode_guid)) + if(!(nonce = as_cipher_nonce (session->cipher, supernode_guid))) { AS_ERR ("Handshake nonce creation failed"); as_packet_free (packet); @@@@ -413,7 +413,7 @@@@ else if (type == PACKET_ACK2) { /* 20 byte nonce2 created from supernode guid */ - if(!(nonce = as_cipher_nonce2 (supernode_guid)) + if(!(nonce = as_cipher_nonce2 (supernode_guid))) { AS_ERR ("Handshake nonce2 creation failed"); as_packet_free (packet); @ 1.3.2.2 log @MFC: workaround symbol conflict under Solaris @ text @d2 2 a3 2 --- lib/as_session.c.orig 2005-10-12 09:38:49.000000000 +0200 +++ lib/as_session.c 2005-10-16 09:53:54.187758341 +0200 a21 47 Index: lib/as_upload_man.c --- lib/as_upload_man.c.orig 2005-01-01 02:56:59.000000000 +0100 +++ lib/as_upload_man.c 2005-10-16 09:55:34.896795729 +0200 @@@@ -16,7 +16,7 @@@@ /*****************************************************************************/ -struct queue +struct xqueue { in_addr_t host; time_t time; @@@@ -341,14 +341,14 @@@@ * specified to ignore beyond, so that we can avoid timing out entries * if later entries haven't pinged us yet. */ -static void tidy_queue (ASUpMan *man, struct queue *last) +static void tidy_queue (ASUpMan *man, struct xqueue *last) { List *l, *next; time_t t = time (NULL); for (l = man->queue; l; l = next) { - struct queue *q = l->data; + struct xqueue *q = l->data; next = l->next; /* to avoid referencing freed data * should we choose to remove this @@@@ -372,7 +372,7 @@@@ { ASUpload *up; List *l; - struct queue *q = NULL; + struct xqueue *q = NULL; int i; #ifdef VERIFY_ACTIVE_COUNT @@@@ -431,7 +431,7 @@@@ if (!l) { /* not queued; insert at end */ - q = malloc (sizeof(struct queue)); + q = malloc (sizeof(struct xqueue)); if (!q) return -1; @ 1.2 log @take over a patch from Gentoo @ text @@ 1.1 log @new package: gift-ares 0.2.2 (The giFT Internet File Sharing (Ares P2P Protocol Plugin)) @ text @d22 12 @