afsconfig-dns-cells-20040726
[openafs.git] / src / WINNT / client_config / tab_hosts.cpp
index 3b2600e..4f27053 100644 (file)
@@ -10,6 +10,7 @@
 extern "C" {
 #include <afs/param.h>
 #include <afs/stds.h>
+#include <afs/cm_config.h>
 }
 
 #include "afs_config.h"
@@ -181,8 +182,21 @@ BOOL HostsTab_OnApply (HWND hDlg)
 
       if (!CSDB_FindCell (&g.Configuration.CellServDB, szCell))
          {
-         Message (MB_ICONASTERISK | MB_OK, GetErrorTitle(), IDS_BADCELL_DESC_CC);
-         return FALSE;
+#ifdef AFS_AFSDB_ENV
+             int ttl;
+             char cellname[128], i;
+
+             /* we pray for all ascii cellnames */
+             for ( i=0 ; szCell[i] && i < (sizeof(cellname)-1) ; i++ )
+                 cellname[i] = szCell[i];
+             cellname[i] = '\0';
+
+             if (cm_SearchCellByDNS(cellname, NULL, &ttl, NULL, NULL))
+#endif
+             {
+                 Message (MB_ICONASTERISK | MB_OK, GetErrorTitle(), IDS_BADCELL_DESC_CC);
+                 return FALSE;
+             }
          }
 
       if (!Config_SetCellName (szCell))