Building configd of HS

Need help with missing headers from network/config.h || private.h There seems to b no documentation on it

This would allow us to build configd and it's subcomponents.

Accepted Reply

There are actually two ‘frameworks’ in play:

  • The

    <network/***>
    headers come from a project called
    libnetcore
    , which creates SPI that ends up in the System ‘framework’ (specifically
    /usr/lib/system/libsystem_network.dylib
    ).
  • The

    <Network/***>
    headers come from the Network framework, also part of the
    libnetcore
    project. This is newly-public on 10.14 beta, but private on older systems. Alas 10.14 won’t help here because the actual headers you need are still private.

The

libnetcore
project is not open source. The way I see it you have a couple of options here:
  • You can contact Apple’s open source folks (there’s a Contact Us link at the bottom of the main page) to request that all or parts of

    libnetcore
    be made public.
  • You can stub out the use of these APIs in the

    configd
    project.

Of course, you could, and probably should, do both.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"
  • Quinn, I realise my posting is a number of years after the original posting but I was wondering whether the header files mentioned were ever made open source by Apple?

    Has libsystem_network.dylib been replaced by libnetwork.dylib in MacOS Catalina?

    When I try and compile the Apple ppp source project ppp-862 using Xcode 12.4 on MacOS 10.15.6 it fails in a number of modules with an error of network/nat64.h could not be found. I cannot find this file on my system.

    Thanks in advance.

    Paul

Add a Comment

Replies

Building configd of HS

What does “HS” mean in the above?

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

eskimo, sorry meant HighSierra

So you’re trying to build

configd
from the 10.13 Darwin source? To what end?

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

Building components for a Darwin OS we have no need of the high-level API's. We have a shell just need networking to keep the project going.

Building components for a Darwin OS we have no need of the high-level API's. We have a shell just need networking to keep the project going.

I’m sorry, I’m not able to parse the above. Please elaborate.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

Eskimo,


I'm working with PureDarwin(https://www.puredarwin.org/) and we need to build most of configd and it's sub-components to allow us to have networking within our VM. We were wondering if we can get headers to Networking Framework that will allow us to build configd project.


Thanks

Cliff

I'm working with PureDarwin …

Ah, fair enough. Which specific headers are you talking about here? Can you point me to

#include
within the
configd
code that’s causing the problem?

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"

There are actually two ‘frameworks’ in play:

  • The

    <network/***>
    headers come from a project called
    libnetcore
    , which creates SPI that ends up in the System ‘framework’ (specifically
    /usr/lib/system/libsystem_network.dylib
    ).
  • The

    <Network/***>
    headers come from the Network framework, also part of the
    libnetcore
    project. This is newly-public on 10.14 beta, but private on older systems. Alas 10.14 won’t help here because the actual headers you need are still private.

The

libnetcore
project is not open source. The way I see it you have a couple of options here:
  • You can contact Apple’s open source folks (there’s a Contact Us link at the bottom of the main page) to request that all or parts of

    libnetcore
    be made public.
  • You can stub out the use of these APIs in the

    configd
    project.

Of course, you could, and probably should, do both.

Share and Enjoy

Quinn “The Eskimo!”
Apple Developer Relations, Developer Technical Support, Core OS/Hardware

let myEmail = "eskimo" + "1" + "@apple.com"
  • Quinn, I realise my posting is a number of years after the original posting but I was wondering whether the header files mentioned were ever made open source by Apple?

    Has libsystem_network.dylib been replaced by libnetwork.dylib in MacOS Catalina?

    When I try and compile the Apple ppp source project ppp-862 using Xcode 12.4 on MacOS 10.15.6 it fails in a number of modules with an error of network/nat64.h could not be found. I cannot find this file on my system.

    Thanks in advance.

    Paul

Add a Comment

Quinn,


Thanks, I will do that I'll stub for the current version and email for Mojave version to be released open source.


Thanks,

Cliff