lede-packages-rs

git clone git://archive.git.mtrnord.blog/MTRNord/lede-packages-rs.git
Log | Files | Refs | README | LICENSE

200-add_dn_skipname.patch (2417B)


      1 --- /dev/null
      2 +++ b/common/dn_skipname.c
      3 @@ -0,0 +1,51 @@
      4 +#include <errno.h>
      5 +#include <resolv.h>
      6 +
      7 +/* Ripped from glibc 2.4 sources. */
      8 +
      9 +/*
     10 + * ns_name_skip(ptrptr, eom)
     11 + *      Advance *ptrptr to skip over the compressed name it points at.
     12 + * return:
     13 + *      0 on success, -1 (with errno set) on failure.
     14 + */
     15 +int ns_name_skip(const u_char **ptrptr, const u_char *eom)
     16 +{
     17 +	const u_char *cp;
     18 +	u_int n;
     19 +
     20 +	cp = *ptrptr;
     21 +	while (cp < eom && (n = *cp++) != 0)
     22 +	{
     23 +		/* Check for indirection. */
     24 +		switch (n & NS_CMPRSFLGS) {
     25 +		case 0:                 /* normal case, n == len */
     26 +			cp += n;
     27 +			continue;
     28 +		case NS_CMPRSFLGS:      /* indirection */
     29 +			cp++;
     30 +			break;
     31 +		default:                /* illegal type */
     32 +			errno = EMSGSIZE;
     33 +			return (-1);
     34 +		}
     35 +		break;
     36 +	}
     37 +	if (cp > eom)
     38 +	{
     39 +		errno = EMSGSIZE;
     40 +		return (-1);
     41 +	}
     42 +	*ptrptr = cp;
     43 +	return (0);
     44 +}
     45 +
     46 +int dn_skipname(const u_char *ptr, const u_char *eom)
     47 +{
     48 +	const u_char *saveptr = ptr;
     49 +
     50 +	if(ns_name_skip(&ptr, eom) == -1)
     51 +		return (-1);
     52 +	return (ptr - saveptr);
     53 +}
     54 +
     55 --- a/unix-console/Makefile
     56 +++ b/unix-console/Makefile
     57 @@ -10,9 +10,9 @@
     58  #  $Date: 2007-01-15 11:04:27 $
     59  # **********************************************************/
     60  
     61 -SRCS	= main.c ../common/tun.c ../common/aiccu.c ../common/hash_md5.c ../common/hash_sha1.c ../common/common.c ../common/heartbeat.c ../common/tic.c ../common/ayiya.c ../common/aiccu_test.c ../common/resolver.c
     62 +SRCS	= main.c ../common/tun.c ../common/aiccu.c ../common/hash_md5.c ../common/hash_sha1.c ../common/common.c ../common/heartbeat.c ../common/tic.c ../common/ayiya.c ../common/aiccu_test.c ../common/resolver.c ../common/dn_skipname.c
     63  INCS	= ../common/tun.h ../common/aiccu.h ../common/hash_md5.h ../common/hash_sha1.h ../common/common.h ../common/heartbeat.h ../common/tic.h ../common/ayiya.h ../common/resolver.h
     64 -OBJS	= main.o ../common/tun.o ../common/aiccu.o ../common/hash_md5.o ../common/hash_sha1.o ../common/common.o ../common/heartbeat.o ../common/tic.o ../common/ayiya.o ../common/aiccu_test.o ../common/resolver.o
     65 +OBJS	= main.o ../common/tun.o ../common/aiccu.o ../common/hash_md5.o ../common/hash_sha1.o ../common/common.o ../common/heartbeat.o ../common/tic.o ../common/ayiya.o ../common/aiccu_test.o ../common/resolver.o ../common/dn_skipname.o
     66  
     67  # New features not fully implemented and thus disabled for now
     68  #CFLAGS	+= -D NEWSTUFF_TSP -D NEWSTUFF_TEEPEE