X-Git-Url: https://git.saurik.com/apple/mdnsresponder.git/blobdiff_plain/052924568ac81d9637dc4ae07e9de2887b7dc50c..96f69b28cfc861f450115f910b8a01ef5ba38806:/mDNSWindows/ControlPanel/FirstPage.cpp?ds=inline diff --git a/mDNSWindows/ControlPanel/FirstPage.cpp b/mDNSWindows/ControlPanel/FirstPage.cpp index 9dfe401..5d6c90a 100755 --- a/mDNSWindows/ControlPanel/FirstPage.cpp +++ b/mDNSWindows/ControlPanel/FirstPage.cpp @@ -1,28 +1,31 @@ -/* +/* -*- Mode: C; tab-width: 4 -*- + * * Copyright (c) 2002-2004 Apple Computer, Inc. All rights reserved. * - * @APPLE_LICENSE_HEADER_START@ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at * - * This file contains Original Code and/or Modifications of Original Code - * as defined in and that are subject to the Apple Public Source License - * Version 2.0 (the 'License'). You may not use this file except in - * compliance with the License. Please obtain a copy of the License at - * http://www.opensource.apple.com/apsl/ and read it before using this - * file. + * http://www.apache.org/licenses/LICENSE-2.0 * - * The Original Code and all software distributed under the License are - * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER - * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, - * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. - * Please see the License for the specific language governing rights and + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and * limitations under the License. - * - * @APPLE_LICENSE_HEADER_END@ Change History (most recent first): $Log: FirstPage.cpp,v $ +Revision 1.6 2006/08/14 23:25:28 cheshire +Re-licensed mDNSResponder daemon source code under Apache License, Version 2.0 + +Revision 1.5 2005/10/05 20:46:50 herscher + Move Wide-Area preferences to another part of the registry so they don't removed during an update-install. + +Revision 1.4 2005/04/05 03:52:14 shersche + Registering with shared secret key doesn't work. Additionally, mDNSResponder wasn't dynamically re-reading it's DynDNS setup after setting a shared secret key. + Revision 1.3 2005/03/07 18:27:42 shersche Fix problem when ControlPanel commits changes to the browse domain list @@ -51,17 +54,18 @@ CFirstPage::CFirstPage() : CPropertyPage(CFirstPage::IDD), m_ignoreHostnameChange( false ), - m_statusKey( NULL ) + m_statusKey( NULL ), + m_setupKey( NULL ) { //{{AFX_DATA_INIT(CFirstPage) //}}AFX_DATA_INIT OSStatus err; - err = RegCreateKey( HKEY_LOCAL_MACHINE, L"SYSTEM\\CurrentControlSet\\Services\\" kServiceName L"\\Parameters\\DynDNS\\State\\Hostnames", &m_statusKey ); + err = RegCreateKey( HKEY_LOCAL_MACHINE, kServiceParametersNode L"\\DynDNS\\State\\Hostnames", &m_statusKey ); check_noerr( err ); - err = RegCreateKey( HKEY_LOCAL_MACHINE, L"SYSTEM\\CurrentControlSet\\Services\\" kServiceName L"\\Parameters\\DynDNS\\Setup\\Hostnames", &m_setupKey ); + err = RegCreateKey( HKEY_LOCAL_MACHINE, kServiceParametersNode L"\\DynDNS\\Setup\\Hostnames", &m_setupKey ); check_noerr( err ); } @@ -128,12 +132,33 @@ void CFirstPage::OnBnClickedSharedSecret() CSharedSecret dlg; - dlg.m_secretName = name; + dlg.m_key = name; if ( dlg.DoModal() == IDOK ) { - dlg.Commit(); + DWORD wakeup = 0; + DWORD dwSize = sizeof( DWORD ); + OSStatus err; + + dlg.Commit( name ); + + // We have now updated the secret, however the system service + // doesn't know about it yet. So we're going to update the + // registry with a dummy value which will cause the system + // service to re-initialize it's DynDNS setup + // + + RegQueryValueEx( m_setupKey, L"Wakeup", NULL, NULL, (LPBYTE) &wakeup, &dwSize ); + + wakeup++; + + err = RegSetValueEx( m_setupKey, L"Wakeup", 0, REG_DWORD, (LPBYTE) &wakeup, sizeof( DWORD ) ); + require_noerr( err, exit ); } + +exit: + + return; }