Patch for service names containing umlauts

Tine Smukavec valentin.smukavec at hermes.si
Mon Jun 19 07:50:37 GMT 2000


Hello all,

when testing samba 2.0.7 with service names containing umlauts
we noticed duplicate entries of shares under samba server machine. Not
all of services were duplicated but just those containing umlauts. 
The problematic function is add_a_service() in module param:loadparm.c.

The problem is when creating service structure, name is transformad
with unix_to_dos(). But, when searching if service already exists, the 
original name is used and therefore service is never found. The problem
appears after SIGHUP when services get reloaded.

Attached you can find patch and cvs log message.

Regards,
Tine.

-------------- next part --------------
2000-06-19 10:05  Tine Smukavec  <tine.smukavec at hermes.si>

	* param/loadparm.c (add_a_service): transform incoming service name
        before searching for existing service.
-------------- next part --------------
Index: loadparm.c
===================================================================
RCS file: /cvsroot/samba/source/param/loadparm.c,v
retrieving revision 1.170.2.59
diff -u -r1.170.2.59 loadparm.c
--- loadparm.c	2000/05/17 01:12:25	1.170.2.59
+++ loadparm.c	2000/06/19 07:46:38
@@ -1542,7 +1542,13 @@
   /* it might already exist */
   if (name) 
     {
-      i = getservicebyname(name,NULL);
+      char *service_loc = NULL;
+      
+      string_set(&service_loc,name);  
+      unix_to_dos(service_loc, True);
+      i = getservicebyname(service_loc,NULL);
+      string_free(&service_loc);
+
       if (i >= 0)
 	return(i);
     }


More information about the samba mailing list