|  | @@ -0,0 +1,66 @@
 | 
	
		
			
				|  |  | +#! /bin/sh -e
 | 
	
		
			
				|  |  | +## 07_log_to_file_by_default.dpatch by  <weasel@debian.org>
 | 
	
		
			
				|  |  | +##
 | 
	
		
			
				|  |  | +## All lines beginning with `## DP:' are a description of the patch.
 | 
	
		
			
				|  |  | +## DP: No description.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +if [ $# -lt 1 ]; then
 | 
	
		
			
				|  |  | +    echo "`basename $0`: script expects -patch|-unpatch as argument" >&2
 | 
	
		
			
				|  |  | +    exit 1
 | 
	
		
			
				|  |  | +fi
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts
 | 
	
		
			
				|  |  | +patch_opts="${patch_opts:--f --no-backup-if-mismatch} ${2:+-d $2}"
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +case "$1" in
 | 
	
		
			
				|  |  | +    -patch) patch -p1 ${patch_opts} < $0;;
 | 
	
		
			
				|  |  | +    -unpatch) patch -R -p1 ${patch_opts} < $0;;
 | 
	
		
			
				|  |  | +    *)
 | 
	
		
			
				|  |  | +        echo "`basename $0`: script expects -patch|-unpatch as argument" >&2
 | 
	
		
			
				|  |  | +        exit 1;;
 | 
	
		
			
				|  |  | +esac
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +exit 0
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +@DPATCH@
 | 
	
		
			
				|  |  | +diff -u -d -r1.246 -r1.247
 | 
	
		
			
				|  |  | +--- tor-0.1.1.9/src/or/dirserv.c	6 Oct 2005 04:33:40 -0000	1.246
 | 
	
		
			
				|  |  | ++++ /tmp/dpep.YwfNhI/tor-0.1.1.9/src/or/dirserv.c	8 Oct 2005 06:02:41 -0000	1.247
 | 
	
		
			
				|  |  | +@@ -731,6 +731,7 @@
 | 
	
		
			
				|  |  | + dirserv_dump_directory_to_string(char **dir_out,
 | 
	
		
			
				|  |  | +                                  crypto_pk_env_t *private_key)
 | 
	
		
			
				|  |  | + {
 | 
	
		
			
				|  |  | ++  char *cp;
 | 
	
		
			
				|  |  | +   char *router_status;
 | 
	
		
			
				|  |  | +   char *identity_pkey; /* Identity key, DER64-encoded. */
 | 
	
		
			
				|  |  | +   char *recommended_versions;
 | 
	
		
			
				|  |  | +@@ -765,7 +766,7 @@
 | 
	
		
			
				|  |  | +   buf_len = 2048+strlen(recommended_versions)+
 | 
	
		
			
				|  |  | +     strlen(router_status);
 | 
	
		
			
				|  |  | +   SMARTLIST_FOREACH(descriptor_list, routerinfo_t *, ri,
 | 
	
		
			
				|  |  | +-                    buf_len += ri->signed_descriptor_len);
 | 
	
		
			
				|  |  | ++                    buf_len += ri->signed_descriptor_len+1);
 | 
	
		
			
				|  |  | +   buf = tor_malloc(buf_len);
 | 
	
		
			
				|  |  | +   /* We'll be comparing against buf_len throughout the rest of the
 | 
	
		
			
				|  |  | +      function, though strictly speaking we shouldn't be able to exceed
 | 
	
		
			
				|  |  | +@@ -785,9 +786,17 @@
 | 
	
		
			
				|  |  | +   tor_free(router_status);
 | 
	
		
			
				|  |  | +   tor_free(identity_pkey);
 | 
	
		
			
				|  |  | + 
 | 
	
		
			
				|  |  | ++  cp = buf + strlen(buf);
 | 
	
		
			
				|  |  | +   SMARTLIST_FOREACH(descriptor_list, routerinfo_t *, ri,
 | 
	
		
			
				|  |  | +-    if (strlcat(buf, ri->signed_descriptor, buf_len) >= buf_len)
 | 
	
		
			
				|  |  | +-      goto truncated);
 | 
	
		
			
				|  |  | ++    {
 | 
	
		
			
				|  |  | ++      if (cp+ri->signed_descriptor_len+1 >= buf+buf_len)
 | 
	
		
			
				|  |  | ++        goto truncated;
 | 
	
		
			
				|  |  | ++      memcpy(cp, ri->signed_descriptor, ri->signed_descriptor_len);
 | 
	
		
			
				|  |  | ++      cp += ri->signed_descriptor_len;
 | 
	
		
			
				|  |  | ++      *cp++ = '\n'; /* add an extra newline in case somebody was depending on
 | 
	
		
			
				|  |  | ++                     * it. */
 | 
	
		
			
				|  |  | ++    });
 | 
	
		
			
				|  |  | ++  *cp = '\0';
 | 
	
		
			
				|  |  | + 
 | 
	
		
			
				|  |  | +   /* These multiple strlcat calls are inefficient, but dwarfed by the RSA
 | 
	
		
			
				|  |  | +      signature.
 | 
	
		
			
				|  |  | +
 |