* UPD: afpd: check for modified included config file, FR #95.
* UPD: libatalk: logger: remove flood protection and allocate messages
* UPD: Spotlight: use async Tracker SPARQL API
+* NEW: afpd: new option "case sensitive = yes|no" (default: yes)
+ In spite of being case sensitive as a matter of fact, netatalk
+ 3.1.3 and earlier did not notify kCaseSensitive flag to the client.
+ Now, it is notified correctly by default, FR #62.
Changes in 3.1.3
================
<manvolnum>5</manvolnum>
- <refmiscinfo class="date">05 Jun 2014</refmiscinfo>
+ <refmiscinfo class="date">06 Aug 2014</refmiscinfo>
<refmiscinfo class="source">@NETATALK_VERSION@</refmiscinfo>
</refmeta>
</listitem>
</varlistentry>
+ <varlistentry>
+ <term>case sensitive = <replaceable>BOOLEAN</replaceable> (default:
+ <emphasis>yes</emphasis>) <type>(V)</type></term>
+
+ <listitem>
+ <para>Whether to flag volumes as supporting case-sensitive
+ filenames. If the filesystem is case-insensitive, set to no.
+ However, it is not fully verified.</para>
+ <note>
+ <para>In spite of being case sensitive as a matter of fact,
+ netatalk 3.1.3 and earlier did not notify kCaseSensitive flag
+ to the client. Starting with 3.1.4, it is notified correctly by
+ default.</para>
+ </note>
+ </listitem>
+ </varlistentry>
+
<varlistentry>
<term>cnid dev = <replaceable>BOOLEAN</replaceable> (default:
<emphasis>yes</emphasis>) <type>(V)</type></term>
ashort |= VOLPBIT_ATTR_EXT_ATTRS;
if (vol->v_flags & AFPVOL_ACLS)
ashort |= VOLPBIT_ATTR_ACLS;
+ if (vol->v_casefold & AFPVOL_CASESENS)
+ ashort |= VOLPBIT_ATTR_CASESENS;
}
}
}
#define AFPVOL_UMUPPER (AFPVOL_MTOUUPPER | AFPVOL_UTOMUPPER)
#define AFPVOL_UUPPERMLOWER (AFPVOL_MTOUUPPER | AFPVOL_UTOMLOWER)
#define AFPVOL_ULOWERMUPPER (AFPVOL_MTOULOWER | AFPVOL_UTOMUPPER)
+#define AFPVOL_CASESENS (1 << 4)
#define AFPVOLSIG_FLAT 0x0001 /* flat fs */
#define AFPVOLSIG_FIX 0x0002 /* fixed ids */
#define VOLPBIT_ATTR_NONETIDS (1 << 7)
#define VOLPBIT_ATTR_EXT_ATTRS (1 << 10)
#define VOLPBIT_ATTR_ACLS (1 << 11)
+#define VOLPBIT_ATTR_CASESENS (1 << 12)
#define VOLPBIT_ATTR_TM (1 << 13)
#define VOLPBIT_ATTR 0
else if (strcasecmp(val, "xlateupper") == 0)
volume->v_casefold = AFPVOL_ULOWERMUPPER;
}
+ if (getoption_bool(obj->iniconfig, section, "case sensitive", preset, 1))
+ volume->v_casefold |= AFPVOL_CASESENS;
if (getoption_bool(obj->iniconfig, section, "read only", preset, 0))
volume->v_flags |= AFPVOL_RO;