b819cea2f73f98c5662230cc9affc8cc84f77fcfGordon Ross * This file and its contents are supplied under the terms of the
b819cea2f73f98c5662230cc9affc8cc84f77fcfGordon Ross * Common Development and Distribution License ("CDDL"), version 1.0.
b819cea2f73f98c5662230cc9affc8cc84f77fcfGordon Ross * You may only use this file in accordance with the terms of version
b819cea2f73f98c5662230cc9affc8cc84f77fcfGordon Ross * 1.0 of the CDDL.
b819cea2f73f98c5662230cc9affc8cc84f77fcfGordon Ross * A full copy of the text of the CDDL should have accompanied this
b819cea2f73f98c5662230cc9affc8cc84f77fcfGordon Ross * source. A copy of the CDDL is also available via the Internet at
b819cea2f73f98c5662230cc9affc8cc84f77fcfGordon Ross * Copyright 2014 Nexenta Systems, Inc. All rights reserved.
b819cea2f73f98c5662230cc9affc8cc84f77fcfGordon Ross * Replace the smb_shr_load() function in libmlsvc, because
b819cea2f73f98c5662230cc9affc8cc84f77fcfGordon Ross * fksmbd doesn't want the real shares known by libshare,
b819cea2f73f98c5662230cc9affc8cc84f77fcfGordon Ross * instead preferring its own (fake) list of shares.
b819cea2f73f98c5662230cc9affc8cc84f77fcfGordon Rossnew_share(char *name, char *path, char *comment, int flags)
b819cea2f73f98c5662230cc9affc8cc84f77fcfGordon Ross (void) strlcpy(si.shr_cmnt, comment, SMB_SHARE_CMNT_MAX);
b819cea2f73f98c5662230cc9affc8cc84f77fcfGordon Ross * This function loads a list of shares from a text file, where
b819cea2f73f98c5662230cc9affc8cc84f77fcfGordon Ross * each line of the file contains:
b819cea2f73f98c5662230cc9affc8cc84f77fcfGordon Ross * name path comment
b819cea2f73f98c5662230cc9affc8cc84f77fcfGordon Ross * This is only for fksmbd, for testing.
b819cea2f73f98c5662230cc9affc8cc84f77fcfGordon Ross while ((p = fgets(linebuf, sizeof (linebuf), fp)) != NULL) {
b819cea2f73f98c5662230cc9affc8cc84f77fcfGordon Ross *p++ = '\0';
b819cea2f73f98c5662230cc9affc8cc84f77fcfGordon Ross *p++ = '\0';
b819cea2f73f98c5662230cc9affc8cc84f77fcfGordon Ross *p++ = '\0';
b819cea2f73f98c5662230cc9affc8cc84f77fcfGordon Ross * Not loading the real shares in fksmbd because that
b819cea2f73f98c5662230cc9affc8cc84f77fcfGordon Ross * tries to enable the network/smb/server service.
b819cea2f73f98c5662230cc9affc8cc84f77fcfGordon Ross * Also, we won't generally have access to everything
b819cea2f73f98c5662230cc9affc8cc84f77fcfGordon Ross * in the real shares, because fksmbd runs (only) with
b819cea2f73f98c5662230cc9affc8cc84f77fcfGordon Ross * the credentials of the user who runs it.
b819cea2f73f98c5662230cc9affc8cc84f77fcfGordon Ross new_share("test", "/var/smb/test", "fksmbd test share",
b819cea2f73f98c5662230cc9affc8cc84f77fcfGordon Ross /* Allow creating lots of shares for testing. */