Ticket #5619: network.diff

File network.diff, 5.8 KB (added by vegardw, 10 years ago)

style fixup, take 2

  • src/preferences/network/EthernetSettingsView.h

     
    66 *      Andre Alves Garzia, andre@andregarzia.com
    77 *      Axel Dörfler
    88 *      Hugo Santos
     9 *      Vegard Wærp
    910 */
    1011#ifndef ETHERNET_SETTINGS_VIEW_H
    1112#define ETHERNET_SETTINGS_VIEW_H
     
    6566
    6667                BTextControl*   fPrimaryDNSTextControl;
    6768                BTextControl*   fSecondaryDNSTextControl;
     69                BTextControl*   fDomainTextControl;
    6870
    6971                BStringView*    fErrorMessage;
    7072
  • src/preferences/network/Settings.cpp

     
    55 * Authors:
    66 *      Andre Alves Garzia, andre@andregarzia.com
    77 *      Axel Dörfler, axeld@pinc-software.de.
     8 *      Vegard Wærp, vegarwa@online.no
    89 */
    910
    1011
     
    159160            fNameServers.AddItem(
    160161                new BString(inet_ntoa(state->nsaddr_list[i].sin_addr)));
    161162        }
     163        fDomain = state->dnsrch[0];
    162164    }
    163165}
  • src/preferences/network/Settings.h

     
    22 * Copyright 2004-2009 Haiku Inc. All rights reserved.
    33 * Distributed under the terms of the MIT License.
    44 *
    5  * Author:
     5 * Authors:
    66 *      Andre Alves Garzia, andre@andregarzia.com
     7 *      Vegard Wærp, vegarwa@online.no
    78 */
    89#ifndef SETTINGS_H
    910#define SETTINGS_H
     
    2122            void                SetIP(BString ip) { fIP = ip; }
    2223            void                SetGateway(BString ip) { fGateway = ip; }
    2324            void                SetNetmask(BString ip) { fNetmask = ip; }
     25            void                SetDomain(BString domain) { fDomain = domain; }
    2426            void                SetAutoConfigure(bool autoConfigure)
    2527                                    { fAuto = autoConfigure; }
    2628
     
    2830            const char*         Gateway()  { return fGateway.String(); }
    2931            const char*         Netmask()  { return fNetmask.String(); }
    3032            const char*         Name()  { return fName.String(); }
     33            const char*         Domain() { return fDomain.String(); }
    3134            bool                AutoConfigure() { return fAuto; }
    3235
    3336            BObjectList<BString>& NameServers() { return fNameServers; }
     
    4144            BString             fGateway;
    4245            BString             fNetmask;
    4346            BString             fName;
     47            BString             fDomain;
    4448            int                 fSocket;
    4549            bool                fAuto;
    4650            BObjectList<BString> fNameServers;
  • src/preferences/network/EthernetSettingsView.cpp

     
    88 *      Axel Dörfler
    99 *      Hugo Santos
    1010 *      Philippe Saint-Pierre
     11 *      Vegard Wærp
    1112 */
    1213
    1314
     
    172173    layout->AddItem(fSecondaryDNSTextControl->CreateLabelLayoutItem(), 0, 6);
    173174    layout->AddItem(fSecondaryDNSTextControl->CreateTextViewLayoutItem(), 1, 6);
    174175
     176    fDomainTextControl = new BTextControl(TR("Domain:"), "", NULL);
     177    SetupTextControl(fDomainTextControl);
     178    layout->AddItem(fDomainTextControl->CreateLabelLayoutItem(), 0, 7);
     179    layout->AddItem(fDomainTextControl->CreateTextViewLayoutItem(), 1, 7);
     180
    175181    fErrorMessage = new BStringView("error", "");
    176182    fErrorMessage->SetAlignment(B_ALIGN_LEFT);
    177183    fErrorMessage->SetFont(be_bold_font);
    178184    fErrorMessage->SetExplicitMaxSize(BSize(B_SIZE_UNLIMITED, B_SIZE_UNSET));
    179185
    180     layout->AddView(fErrorMessage, 1, 7);
     186    layout->AddView(fErrorMessage, 1, 8);
    181187
    182188    // button group (TODO: move to window, but take care of
    183189    // enabling/disabling)
     
    268274    fGatewayTextControl->SetTarget(this);
    269275    fPrimaryDNSTextControl->SetTarget(this);
    270276    fSecondaryDNSTextControl->SetTarget(this);
     277    fDomainTextControl->SetTarget(this);
    271278    fDeviceMenuField->Menu()->SetTargetForItems(this);
    272279    fTypeMenuField->Menu()->SetTargetForItems(this);
    273280
     
    293300    fNetMaskTextControl->SetText("");
    294301    fPrimaryDNSTextControl->SetText("");
    295302    fSecondaryDNSTextControl->SetText("");
     303    fDomainTextControl->SetText("");
    296304
    297305    bool enableControls = false;
    298306    fTypeMenuField->SetEnabled(settings != NULL);
     
    325333            fPrimaryDNSTextControl->SetText(
    326334                settings->NameServers().ItemAt(0)->String());
    327335        }
     336        fDomainTextControl->SetText(settings->Domain());
    328337    }
    329338
    330339    _EnableTextControls(enableControls);
     
    339348    fNetMaskTextControl->SetEnabled(enable);
    340349    fPrimaryDNSTextControl->SetEnabled(enable);
    341350    fSecondaryDNSTextControl->SetEnabled(enable);
     351    fDomainTextControl->SetEnabled(enable);
    342352}
    343353
    344354
     
    360370        fPrimaryDNSTextControl->Text()));
    361371    fCurrentSettings->NameServers().AddItem(new BString(
    362372        fSecondaryDNSTextControl->Text()));
     373    fCurrentSettings->SetDomain(fDomainTextControl->Text());
    363374
    364375    fApplyButton->SetEnabled(false);
    365376    fRevertButton->SetEnabled(true);
     
    404415                    << "\n";
    405416            }
    406417        }
     418        if (strlen(settings->Domain()) > 0) {
     419            content << "domain\t"
     420                << settings->Domain()
     421                << "\n";
     422        }
    407423    }
    408424
    409425    file.Write(content.String(), content.Length());
  • src/servers/net/DHCPClient.cpp

     
    44 *
    55 * Authors:
    66 *      Axel Dörfler, axeld@pinc-software.de
     7 *      Vegard Wærp, vegarwa@online.no
    78 */
    89
    910
     
    681682                memcpy(name, data, size);
    682683                name[size] = '\0';
    683684                syslog(LOG_INFO, "DHCP domain name: \"%s\"\n", name);
     685
     686                BPath path;
     687                if (find_directory(B_COMMON_SETTINGS_DIRECTORY, &path) != B_OK)
     688                    break;
     689   
     690                path.Append("network/resolv.conf");
     691
     692                FILE* file = fopen(path.Path(), "a");
     693                if (file != NULL) {
     694                    fprintf(file, "domain %s\n", name);
     695                }
     696                fclose(file);
    684697                break;
    685698            }
    686699