SOURCES: samba-printerlocation.patch - updated to 3.2.7

baggins baggins at pld-linux.org
Mon Jan 19 12:04:11 CET 2009


Author: baggins                      Date: Mon Jan 19 11:04:11 2009 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- updated to 3.2.7

---- Files affected:
SOURCES:
   samba-printerlocation.patch (1.3 -> 1.4) 

---- Diffs:

================================================================
Index: SOURCES/samba-printerlocation.patch
diff -u SOURCES/samba-printerlocation.patch:1.3 SOURCES/samba-printerlocation.patch:1.4
--- SOURCES/samba-printerlocation.patch:1.3	Thu Dec  4 15:33:48 2008
+++ SOURCES/samba-printerlocation.patch	Mon Jan 19 12:04:06 2009
@@ -1,7 +1,7 @@
-diff -ur samba-3.0.25.orig/source/param/loadparm.c samba-3.0.25/source/param/loadparm.c
---- samba-3.0.25.orig/source/param/loadparm.c	2007-04-21 03:48:07.000000000 +0200
-+++ samba-3.0.25/source/param/loadparm.c	2007-05-15 09:06:42.000000000 +0200
-@@ -359,6 +359,7 @@
+diff -ur samba-3.2.7.orig/source/param/loadparm.c samba-3.2.7/source/param/loadparm.c
+--- samba-3.2.7.orig/source/param/loadparm.c	2009-01-19 10:58:56.000000000 +0100
++++ samba-3.2.7/source/param/loadparm.c	2009-01-19 11:01:03.000000000 +0100
+@@ -382,6 +382,7 @@
  	char *szHideFiles;
  	char *szVetoOplockFiles;
  	char *comment;
@@ -9,7 +9,7 @@
  	char *force_user;
  	char *force_group;
  	char **readlist;
-@@ -500,6 +501,7 @@
+@@ -525,6 +526,7 @@
  	NULL,			/* szHideFiles */
  	NULL,			/* szVetoOplockFiles */
  	NULL,			/* comment */
@@ -17,7 +17,7 @@
  	NULL,			/* force user */
  	NULL,			/* force group */
  	NULL,			/* readlist */
-@@ -2044,6 +2046,7 @@
+@@ -5227,6 +5229,7 @@
  FN_LOCAL_STRING(lp_magicscript, szMagicScript)
  FN_LOCAL_STRING(lp_magicoutput, szMagicOutput)
  FN_LOCAL_STRING(lp_comment, comment)
@@ -25,16 +25,16 @@
  FN_LOCAL_STRING(lp_force_user, force_user)
  FN_LOCAL_STRING(lp_force_group, force_group)
  FN_LOCAL_LIST(lp_readlist, readlist)
-@@ -4114,7 +4117,7 @@
+@@ -7789,7 +7792,7 @@
   Auto-load one printer.
  ***************************************************************************/
  
--void lp_add_one_printer(char *name, char *comment)
-+void lp_add_one_printer(char *name, char *comment, char *location)
+-void lp_add_one_printer(const char *name, const char *comment, void *pdata)
++void lp_add_one_printer(const char *name, const char *comment, const char *location, void *pdata)
  {
  	int printers = lp_servicenumber(PRINTERS_NAME);
  	int i;
-@@ -4123,6 +4126,7 @@
+@@ -7798,6 +7801,7 @@
  		lp_add_printer(name, printers);
  		if ((i = lp_servicenumber(name)) >= 0) {
  			string_set(&ServicePtrs[i]->comment, comment);
@@ -42,9 +42,10 @@
  			ServicePtrs[i]->autoloaded = True;
  		}
  	}
---- samba-3.0.29/source/printing/nt_printing.c.orig	2008-05-21 22:06:46.000000000 +0200
-+++ samba-3.0.29/source/printing/nt_printing.c	2008-05-27 17:36:02.366490355 +0200
-@@ -3300,7 +3300,39 @@
+diff -ur samba-3.2.7.orig/source/printing/nt_printing.c samba-3.2.7/source/printing/nt_printing.c
+--- samba-3.2.7.orig/source/printing/nt_printing.c	2008-12-19 14:57:33.000000000 +0100
++++ samba-3.2.7/source/printing/nt_printing.c	2009-01-19 11:00:06.000000000 +0100
+@@ -3499,7 +3499,39 @@
  	}
  
  	ads_destroy(&ads);
@@ -85,7 +86,7 @@
  	return WERR_OK;
  }
  
-@@ -3782,7 +3814,7 @@
+@@ -4014,7 +4046,7 @@
  	fstrcpy(info->printprocessor, "winprint");
  	fstrcpy(info->datatype, "RAW");
  
@@ -94,7 +95,7 @@
  	if (get_loc_com && (enum printing_types)lp_printing(snum) == PRINT_CUPS ) {		
  		/* Pull the location and comment strings from cups if we don't
  		   already have one */
-@@ -3891,7 +3923,7 @@
+@@ -4129,7 +4161,7 @@
  
  	fstrcpy(info->printername, printername);
  
@@ -103,41 +104,66 @@
  	if (get_loc_com && (enum printing_types)lp_printing(snum) == PRINT_CUPS ) {
  		/* Pull the location and comment strings from cups if we don't
  		   already have one */
-diff -ur samba-3.0.25.orig/source/printing/pcap.c samba-3.0.25/source/printing/pcap.c
---- samba-3.0.25.orig/source/printing/pcap.c	2005-10-18 04:44:57.000000000 +0200
-+++ samba-3.0.25/source/printing/pcap.c	2007-05-15 09:06:42.000000000 +0200
-@@ -67,12 +67,13 @@
- typedef struct pcap_cache {
+diff -ur samba-3.2.7.orig/source/printing/pcap.c samba-3.2.7/source/printing/pcap.c
+--- samba-3.2.7.orig/source/printing/pcap.c	2009-01-19 10:58:56.000000000 +0100
++++ samba-3.2.7/source/printing/pcap.c	2009-01-19 11:12:09.000000000 +0100
+@@ -66,13 +66,14 @@
+ struct pcap_cache {
  	char *name;
  	char *comment;
 +	char *location;
  	struct pcap_cache *next;
- } pcap_cache_t;
+ };
  
- static pcap_cache_t *pcap_cache = NULL;
+ /* The systemwide printcap cache. */
+ static struct pcap_cache *pcap_cache = NULL;
  
--bool pcap_cache_add(const char *name, const char *comment)
-+bool pcap_cache_add(const char *name, const char *comment, const char *location)
+-bool pcap_cache_add_specific(struct pcap_cache **ppcache, const char *name, const char *comment)
++bool pcap_cache_add_specific(struct pcap_cache **ppcache, const char *name, const char *comment, const char *location)
  {
- 	pcap_cache_t *p;
+ 	struct pcap_cache *p;
  
-@@ -81,6 +82,7 @@
+@@ -81,9 +82,10 @@
  
  	p->name = SMB_STRDUP(name);
  	p->comment = (comment && *comment) ? SMB_STRDUP(comment) : NULL;
 +	p->location = (location && *location) ? SMB_STRDUP(location) : NULL;
  
- 	p->next = pcap_cache;
- 	pcap_cache = p;
-@@ -97,6 +99,7 @@
+-	DEBUG(11,("pcap_cache_add_specific: Adding name %s info %s\n",
+-		p->name, p->comment ? p->comment : ""));
++	DEBUG(11,("pcap_cache_add_specific: Adding name %s info %s, location %s\n",
++		p->name, p->comment ? p->comment : "", p->location ? p->location : ""));
+ 
+ 	p->next = *ppcache;
+ 	*ppcache = p;
+@@ -100,14 +102,15 @@
  
  		SAFE_FREE(p->name);
  		SAFE_FREE(p->comment);
 +		SAFE_FREE(p->location);
  		SAFE_FREE(p);
  	}
+ 	*pp_cache = NULL;
+ }
+ 
+-bool pcap_cache_add(const char *name, const char *comment)
++bool pcap_cache_add(const char *name, const char *comment, const char *location)
+ {
+-	return pcap_cache_add_specific(&pcap_cache, name, comment);
++	return pcap_cache_add_specific(&pcap_cache, name, comment, location);
+ }
+ 
+ bool pcap_cache_loaded(void)
+@@ -121,7 +124,7 @@
+ 
+ 	pcap_cache_destroy_specific(&pcap_cache);
+ 	for (p = pcache; p; p = p->next) {
+-		pcap_cache_add(p->name, p->comment);
++		pcap_cache_add(p->name, p->comment, p->location);
+ 	}
  }
-@@ -210,7 +213,7 @@
+ 
+@@ -235,7 +238,7 @@
  		if (printing == PRINT_LPRNG && *name == '.')
  			continue;
  
@@ -146,25 +172,32 @@
  			x_fclose(pcap_file);
  			goto done;
  		}
-@@ -252,12 +255,12 @@
- 
- XXX: I'm not sure if this comment still applies.. Anyone?  -Rob
+@@ -274,18 +277,18 @@
  ***************************************************************************/
--void pcap_printer_fn(void (*fn)(char *, char *))
-+void pcap_printer_fn(void (*fn)(char *, char *, char *))
+ 
+ void pcap_printer_fn_specific(const struct pcap_cache *pc,
+-			void (*fn)(const char *, const char *, void *),
++			void (*fn)(const char *, const char *, const char *, void *),
+ 			void *pdata)
  {
- 	pcap_cache_t *p;
+ 	const struct pcap_cache *p;
  
- 	for (p = pcap_cache; p != NULL; p = p->next)
--		fn(p->name, p->comment);
-+		fn(p->name, p->comment, p->location);
+ 	for (p = pc; p != NULL; p = p->next)
+-		fn(p->name, p->comment, pdata);
++		fn(p->name, p->comment, p->location, pdata);
  
  	return;
  }
-diff -ur samba-3.0.25.orig/source/printing/print_aix.c samba-3.0.25/source/printing/print_aix.c
---- samba-3.0.25.orig/source/printing/print_aix.c	2005-02-25 18:59:28.000000000 +0100
-+++ samba-3.0.25/source/printing/print_aix.c	2007-05-15 09:06:42.000000000 +0200
-@@ -75,7 +75,7 @@
+ 
+-void pcap_printer_fn(void (*fn)(const char *, const char *, void *), void *pdata)
++void pcap_printer_fn(void (*fn)(const char *, const char *, const char *, void *), void *pdata)
+ {
+ 	pcap_printer_fn_specific(pcap_cache, fn, pdata);
+ }
+diff -ur samba-3.2.7.orig/source/printing/print_aix.c samba-3.2.7/source/printing/print_aix.c
+--- samba-3.2.7.orig/source/printing/print_aix.c	2008-12-19 14:57:33.000000000 +0100
++++ samba-3.2.7/source/printing/print_aix.c	2009-01-19 11:00:06.000000000 +0100
+@@ -84,7 +84,7 @@
  				/* name is found without stanza device  */
  				/* probably a good printer ???		*/
  				iEtat = 0;
@@ -173,7 +206,7 @@
  					safe_free(line);
  					x_fclose(pfile);
  					TALLOC_FREE(ctx);
-@@ -89,7 +89,7 @@
+@@ -99,7 +99,7 @@
  			} else if (strstr_m(line, "device")) {
  				/* it's a good virtual printer */
  				iEtat = 0;
@@ -182,25 +215,68 @@
  					safe_free(line);
  					x_fclose(pfile);
  					TALLOC_FREE(ctx);
-diff -ur samba-3.0.25.orig/source/printing/print_cups.c samba-3.0.25/source/printing/print_cups.c
---- samba-3.0.25.orig/source/printing/print_cups.c	2007-04-09 19:30:57.000000000 +0200
-+++ samba-3.0.25/source/printing/print_cups.c	2007-05-15 09:06:42.000000000 +0200
-@@ -83,11 +83,13 @@
+diff -ur samba-3.2.7.orig/source/printing/print_cups.c samba-3.2.7/source/printing/print_cups.c
+--- samba-3.2.7.orig/source/printing/print_cups.c	2008-12-19 14:57:33.000000000 +0100
++++ samba-3.2.7/source/printing/print_cups.c	2009-01-19 11:27:29.000000000 +0100
+@@ -82,11 +82,12 @@
+ 	return http;
+ }
+ 
+-static void send_pcap_info(const char *name, const char *info, void *pd)
++static void send_pcap_info(const char *name, const char *info, const char *location, void *pd)
+ {
+ 	int fd = *(int *)pd;
+ 	size_t namelen = name ? strlen(name)+1 : 0;
+ 	size_t infolen = info ? strlen(info)+1 : 0;
++	size_t locationlen = location ? strlen(location)+1 : 0;
+ 
+ 	DEBUG(11,("send_pcap_info: writing namelen %u\n", (unsigned int)namelen));
+ 	if (sys_write(fd, &namelen, sizeof(namelen)) != sizeof(namelen)) {
+@@ -100,6 +101,12 @@
+ 			strerror(errno)));
+ 		return;
+ 	}
++	DEBUG(11,("send_pcap_info: writing locationlen %u\n", (unsigned int)locationlen));
++	if (sys_write(fd, &locationlen, sizeof(locationlen)) != sizeof(locationlen)) {
++		DEBUG(10,("send_pcap_info: locationlen write failed %s\n",
++			strerror(errno)));
++		return;
++	}
+ 	if (namelen) {
+ 		DEBUG(11,("send_pcap_info: writing name %s\n", name));
+ 		if (sys_write(fd, name, namelen) != namelen) {
+@@ -116,6 +123,14 @@
+ 			return;
+ 		}
+ 	}
++	if (locationlen) {
++		DEBUG(11,("send_pcap_info: writing location %s\n", location));
++		if (sys_write(fd, location, locationlen) != locationlen) {
++			DEBUG(10,("send_pcap_info: location write failed %s\n",
++				strerror(errno)));
++			return;
++		}
++	}
+ }
+ 
+ static bool cups_cache_reload_async(int fd)
+@@ -128,11 +143,13 @@
  	ipp_attribute_t	*attr;		/* Current attribute */
  	cups_lang_t	*language = NULL;	/* Default language */
  	char		*name,		/* printer-name attribute */
 -			*info;		/* printer-info attribute */
 +			*info,		/* printer-info attribute */
-+			*location;		/* printer-location attribute */
++			*location;	/* printer-location attribute */
  	static const char *requested[] =/* Requested attributes */
  			{
  			  "printer-name",
- 			  "printer-info"
+-			  "printer-info"
++			  "printer-info",
 +			  "printer-location"
- 			};       
+ 			};
  	bool ret = False;
  
-@@ -161,6 +163,7 @@
+@@ -206,6 +223,7 @@
  
  		name       = NULL;
  		info       = NULL;
@@ -208,27 +284,29 @@
  
  		while (attr != NULL && attr->group_tag == IPP_TAG_PRINTER) {
          		if (strcmp(attr->name, "printer-name") == 0 &&
-@@ -171,6 +174,10 @@
- 			    attr->value_tag == IPP_TAG_TEXT)
- 				info = attr->values[0].string.text;
- 
-+				if (strcmp(attr->name, "printer-location") == 0 &&
-+					attr->value_tag == IPP_TAG_TEXT)
-+				location = attr->values[0].string.text;
+@@ -222,6 +240,12 @@
+ 						attr->values[0].string.text);
+ 			}
+ 
++			if (strcmp(attr->name, "printer-location") == 0 &&
++			    attr->value_tag == IPP_TAG_TEXT)
++				pull_utf8_talloc(frame,
++						&location,
++						attr->values[0].string.text);
 +
          		attr = attr->next;
  		}
  
-@@ -181,7 +188,7 @@
+@@ -232,7 +256,7 @@
  		if (name == NULL)
  			break;
  
--		if (!pcap_cache_add(name, info)) {
-+		if (!pcap_cache_add(name, info, location)) {
+-		if (!pcap_cache_add_specific(&tmp_pcap_cache, name, info)) {
++		if (!pcap_cache_add_specific(&tmp_pcap_cache, name, info, location)) {
  			goto out;
  		}
  	}
-@@ -241,6 +248,7 @@
+@@ -292,6 +316,7 @@
  
  		name       = NULL;
  		info       = NULL;
@@ -236,30 +314,98 @@
  
  		while (attr != NULL && attr->group_tag == IPP_TAG_PRINTER) {
          		if (strcmp(attr->name, "printer-name") == 0 &&
-@@ -251,6 +259,10 @@
- 			    attr->value_tag == IPP_TAG_TEXT)
- 				info = attr->values[0].string.text;
+@@ -308,6 +333,12 @@
+ 						attr->values[0].string.text);
+ 			}
  
-+				if (strcmp(attr->name, "printer-location") == 0 &&
++			if (strcmp(attr->name, "printer-location") == 0 &&
 +			    attr->value_tag == IPP_TAG_TEXT)
-+				info = attr->values[0].string.text;
++				pull_utf8_talloc(frame,
++						&location,
++						attr->values[0].string.text);
 +
          		attr = attr->next;
  		}
  
-@@ -261,7 +273,7 @@
+@@ -318,7 +349,7 @@
  		if (name == NULL)
  			break;
  
--		if (!pcap_cache_add(name, info)) {
-+		if (!pcap_cache_add(name, info, location)) {
+-		if (!pcap_cache_add_specific(&tmp_pcap_cache, name, info)) {
++		if (!pcap_cache_add_specific(&tmp_pcap_cache, name, info, location)) {
  			goto out;
  		}
  	}
-diff -ur samba-3.0.25.orig/source/printing/print_iprint.c samba-3.0.25/source/printing/print_iprint.c
---- samba-3.0.25.orig/source/printing/print_iprint.c	2007-03-01 05:54:09.000000000 +0100
-+++ samba-3.0.25/source/printing/print_iprint.c	2007-05-15 09:06:42.000000000 +0200
-@@ -297,7 +297,7 @@
+@@ -412,8 +443,8 @@
+ 		"fd = %d\n", fd));
+ 
+ 	while (1) {
+-		char *name = NULL, *info = NULL;
+-		size_t namelen = 0, infolen = 0;
++		char *name = NULL, *info = NULL, *location = NULL;
++		size_t namelen = 0, infolen = 0, locationlen = 0;
+ 		ssize_t ret = -1;
+ 
+ 		ret = sys_read(fd, &namelen, sizeof(namelen));
+@@ -444,6 +475,20 @@
+ 		DEBUG(11,("cups_async_callback: read infolen %u\n",
+ 			(unsigned int)infolen));
+ 
++		ret = sys_read(fd, &locationlen, sizeof(locationlen));
++		if (ret == 0) {
++			/* EOF */
++			break;
++		}
++		if (ret != sizeof(locationlen)) {
++			DEBUG(10,("cups_async_callback: locationlen read failed %s\n",
++				strerror(errno)));
++			break;
++		}
++
++		DEBUG(11,("cups_async_callback: read locationlen %u\n",
++			(unsigned int)locationlen));
++
+ 		if (namelen) {
+ 			name = TALLOC_ARRAY(frame, char, namelen);
+ 			if (!name) {
+@@ -484,11 +529,32 @@
+ 		} else {
+ 			info = NULL;
+ 		}
++		if (locationlen) {
++			location = TALLOC_ARRAY(frame, char, locationlen);
++			if (!location) {
++				break;
++			}
++			ret = sys_read(fd, location, locationlen);
++			if (ret == 0) {
++				/* EOF */
++				break;
++			}
++			if (ret != locationlen) {
++				DEBUG(10,("cups_async_callback: location read failed %s\n",
++					strerror(errno)));
++				break;
++			}
++			DEBUG(11,("cups_async_callback: read location %s\n",
++				location));
++		} else {
++			location = NULL;
++		}
+ 
+ 		/* Add to our local pcap cache. */
+-		pcap_cache_add_specific(&tmp_pcap_cache, name, info);
++		pcap_cache_add_specific(&tmp_pcap_cache, name, info, location);
+ 		TALLOC_FREE(name);
+ 		TALLOC_FREE(info);
++		TALLOC_FREE(location);
+ 	}
+ 
+ 	TALLOC_FREE(frame);
+diff -ur samba-3.2.7.orig/source/printing/print_iprint.c samba-3.2.7/source/printing/print_iprint.c
+--- samba-3.2.7.orig/source/printing/print_iprint.c	2008-12-19 14:57:33.000000000 +0100
++++ samba-3.2.7/source/printing/print_iprint.c	2009-01-19 11:00:06.000000000 +0100
+@@ -296,7 +296,7 @@
  		*/
  
  		if (name != NULL && !secure && smb_enabled) 
@@ -268,10 +414,10 @@
  	}
  
   out:
-diff -ur samba-3.0.25.orig/source/printing/print_svid.c samba-3.0.25/source/printing/print_svid.c
---- samba-3.0.25.orig/source/printing/print_svid.c	2005-12-02 20:21:45.000000000 +0100
-+++ samba-3.0.25/source/printing/print_svid.c	2007-05-15 09:06:42.000000000 +0200
-@@ -111,7 +111,7 @@
+diff -ur samba-3.2.7.orig/source/printing/print_svid.c samba-3.2.7/source/printing/print_svid.c
+--- samba-3.2.7.orig/source/printing/print_svid.c	2008-12-19 14:57:33.000000000 +0100
++++ samba-3.2.7/source/printing/print_svid.c	2009-01-19 11:00:06.000000000 +0100
+@@ -110,7 +110,7 @@
  			*tmp = '\0';
  		
  		/* add it to the cache */
@@ -280,10 +426,10 @@
  			file_lines_free(lines);
  			return False;
  		}
-diff -ur samba-3.0.25.orig/source/rpcclient/cmd_spoolss.c samba-3.0.25/source/rpcclient/cmd_spoolss.c
---- samba-3.0.25.orig/source/rpcclient/cmd_spoolss.c	2007-05-11 00:09:33.000000000 +0200
-+++ samba-3.0.25/source/rpcclient/cmd_spoolss.c	2007-05-15 10:38:35.000000000 +0200
-@@ -476,19 +476,23 @@
+diff -ur samba-3.2.7.orig/source/rpcclient/cmd_spoolss.c samba-3.2.7/source/rpcclient/cmd_spoolss.c
+--- samba-3.2.7.orig/source/rpcclient/cmd_spoolss.c	2008-12-19 14:57:33.000000000 +0100
++++ samba-3.2.7/source/rpcclient/cmd_spoolss.c	2009-01-19 11:00:06.000000000 +0100
+@@ -475,19 +475,23 @@
  	fstring 	printername,
  			servername,
  			user,
@@ -312,7 +458,7 @@
  	slprintf(servername, sizeof(servername)-1, "\\\\%s", cli->cli->desthost);
  	strupper_m(servername);
  	slprintf(printername, sizeof(servername)-1, "%s\\%s", servername, argv[1]);
-@@ -513,12 +517,15 @@
+@@ -512,12 +516,15 @@
  
  	/* Modify the comment. */
  	init_unistr(&ctr.printers_2->comment, comment);
@@ -329,10 +475,10 @@
  
   done:
  	if (opened_hnd)
-diff -ur samba-3.0.25.orig/source/rpc_server/srv_spoolss_nt.c samba-3.0.25/source/rpc_server/srv_spoolss_nt.c
---- samba-3.0.25.orig/source/rpc_server/srv_spoolss_nt.c	2007-05-11 00:09:35.000000000 +0200
-+++ samba-3.0.25/source/rpc_server/srv_spoolss_nt.c	2007-05-15 11:44:07.000000000 +0200
-@@ -2901,7 +2901,10 @@
+diff -ur samba-3.2.7.orig/source/rpc_server/srv_spoolss_nt.c samba-3.2.7/source/rpc_server/srv_spoolss_nt.c
+--- samba-3.2.7.orig/source/rpc_server/srv_spoolss_nt.c	2008-12-19 14:57:33.000000000 +0100
++++ samba-3.2.7/source/rpc_server/srv_spoolss_nt.c	2009-01-19 11:00:06.000000000 +0100
+@@ -2934,7 +2934,10 @@
  	smb_ucs2_t *temp = NULL;
  	uint32 len;
  
@@ -344,7 +490,7 @@
  	if (len == (uint32)-1) {
  		len = 0;
  	}
-@@ -4204,8 +4207,10 @@
+@@ -4213,8 +4216,10 @@
  		init_unistr(&printer->comment, lp_comment(snum));			/* comment */
  	else
  		init_unistr(&printer->comment, ntprinter->info_2->comment); /* saved comment. */
@@ -357,7 +503,7 @@
  	init_unistr(&printer->sepfile, ntprinter->info_2->sepfile);		/* separator file */
  	init_unistr(&printer->printprocessor, ntprinter->info_2->printprocessor);/* print processor */
  	init_unistr(&printer->datatype, ntprinter->info_2->datatype);		/* datatype */
-@@ -6341,6 +6346,13 @@
+@@ -6484,6 +6489,13 @@
  	/* Update printer info */
  	result = mod_a_printer(printer, 2);
  
================================================================

---- CVS-web:
    http://cvs.pld-linux.org/cgi-bin/cvsweb.cgi/SOURCES/samba-printerlocation.patch?r1=1.3&r2=1.4&f=u



More information about the pld-cvs-commit mailing list