r23696: added the create mask and related share permissions options to Samba4,
authorAndrew Tridgell <tridge@samba.org>
Wed, 4 Jul 2007 04:15:07 +0000 (04:15 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 19:59:03 +0000 (14:59 -0500)
commitb540bc85ff8140424e9e925aa73f1f1cacfbd64a
treee3dddae8f6f3324ba7de903eb32d6e70f43c5501
parent80ae1c2a2aeace891d24390f2f639a3c3d18739a
r23696: added the create mask and related share permissions options to Samba4,
using the new share_int_option() code from Simo

speaking of which, this is the first time I've looked closely at the
share_classic.c code. It is absolutely and completely braindead and
broken. Whatever drugs Simo was on at the time, he better not try to
cross a border with them on him!

Problems with it:

 - if you actually set a value, it gets ignored, and the defvalue gets
   used instead ('ret' is never returned). If you don't set a value,
   then defvalue gets returned too. Sound useful?

 - it means we now have to list parameters in source/param/ in lots
   and lots of places, all of which have to match exactly. code like
   this is supposed to reduce the likelyhood of errors, not increase
   it!

 - code which has a long line of if() statements with strcmp() should
   cause your fingers to burn on the keyboard when you type it
   in. That's what structure lists are for. Strangely enough, we have
   all the info in loadparm.c in a structure list, but instead it gets
   replicated in share_classic.c in this strange if() strcmp() form

expect some changes to this code shortly. I'll need a calming cup of
tea first though :-)
(This used to be commit 19a9fc2f444efc0894b06a249daf73ed555b61e2)
source4/param/loadparm.c
source4/param/loadparm.h
source4/param/share.h
source4/param/share_classic.c