smbd_krb5lookup.c revision b3700b074e637f8c6991b70754c88a2cfffb246b
83c4dfe9546fd839e7a52bca7e9920da918f916ejg * This file and its contents are supplied under the terms of the
83c4dfe9546fd839e7a52bca7e9920da918f916ejg * Common Development and Distribution License ("CDDL"), version 1.0.
83c4dfe9546fd839e7a52bca7e9920da918f916ejg * You may only use this file in accordance with the terms of version
83c4dfe9546fd839e7a52bca7e9920da918f916ejg * 1.0 of the CDDL.
83c4dfe9546fd839e7a52bca7e9920da918f916ejg * A full copy of the text of the CDDL should have accompanied this
83c4dfe9546fd839e7a52bca7e9920da918f916ejg * source. A copy of the CDDL is also available via the Internet at
83c4dfe9546fd839e7a52bca7e9920da918f916ejg * Copyright 2014 Nexenta Systems, Inc. All rights reserved.
83c4dfe9546fd839e7a52bca7e9920da918f916ejg/* osconf.h - sigh */
83c4dfe9546fd839e7a52bca7e9920da918f916ejg * This is an "override plugin" used by libkrb5. See:
83c4dfe9546fd839e7a52bca7e9920da918f916ejg * The interface is based on:
83c4dfe9546fd839e7a52bca7e9920da918f916ejg * http://web.mit.edu/~kerberos/krb5-1.12/doc/plugindev/locate.html
83c4dfe9546fd839e7a52bca7e9920da918f916ejg * Called by krb5int_locate_server / override_locate_server
83c4dfe9546fd839e7a52bca7e9920da918f916ejg const char *realm,
83c4dfe9546fd839e7a52bca7e9920da918f916ejg * Is this a service we want to override?
83c4dfe9546fd839e7a52bca7e9920da918f916ejg switch (svc) {
83c4dfe9546fd839e7a52bca7e9920da918f916ejg return (rc);
83c4dfe9546fd839e7a52bca7e9920da918f916ejg * What's my domain? Note: have to get this in a way
83c4dfe9546fd839e7a52bca7e9920da918f916ejg * that works while join domain is underway.
83c4dfe9546fd839e7a52bca7e9920da918f916ejg "failed getting domain info");
83c4dfe9546fd839e7a52bca7e9920da918f916ejg * Is this a realm we want to override?
83c4dfe9546fd839e7a52bca7e9920da918f916ejg return (rc);
83c4dfe9546fd839e7a52bca7e9920da918f916ejg * Yes, this is our domain. Have a DC?
83c4dfe9546fd839e7a52bca7e9920da918f916ejg switch (family) {
83c4dfe9546fd839e7a52bca7e9920da918f916ejg break; /* OK */
83c4dfe9546fd839e7a52bca7e9920da918f916ejg break; /* OK */
83c4dfe9546fd839e7a52bca7e9920da918f916ejg /* else fallthrough */
83c4dfe9546fd839e7a52bca7e9920da918f916ejg * Provide the service address we have.
83c4dfe9546fd839e7a52bca7e9920da918f916ejg /* rc from cbfunc is special. */
83c4dfe9546fd839e7a52bca7e9920da918f916ejg (void) memcpy(&sin6.sin6_addr, &dxi.d_dci.dc_addr.a_ipv6,
83c4dfe9546fd839e7a52bca7e9920da918f916ejg /* rc from cbfunc is special. */
return (rc);