Merge lp:~fahad-aizaz/hipl/hip-cert-conf into lp:hipl

Proposed by Fahad Aizaz on 2012-01-25
Status: Needs review
Proposed branch: lp:~fahad-aizaz/hipl/hip-cert-conf
Merge into: lp:hipl
Diff against target: 233 lines (+40/-113)
6 files modified
Makefile.am (+2/-1)
debian/hipl-daemon.install (+1/-0)
hipd/hip_cert.conf (+34/-0)
hipd/init.c (+1/-112)
packaging/hipl.spec (+1/-0)
packaging/openwrt/hipl/Makefile.in (+1/-0)
To merge this branch: bzr merge lp:~fahad-aizaz/hipl/hip-cert-conf
Reviewer Review Type Date Requested Status
Samuel Richter Needs Fixing on 2012-01-25
Diego Biurrun Needs Information on 2012-01-25
Stefan Götz (community) 2012-01-25 Abstain on 2012-01-25
Review via email: mp+90130@code.launchpad.net

Description of the change

Removing runtime generation of configuration file hip_cert.conf. With additional support for its installation along with HIPL package for OpenWRT, Debian and RPM (package based distributions)

Note:
While doing so, I observed that the configuration file though referenced in the code for reading, but I didn't find any trigger to actually read the contents of the file. That is, the function that reads the configuration file section by section, is not being called though its definition exist.

Please correct me about this if I am wrong.

To post a comment you must log in.

Hi Fahad!

 review abstain

The code 'changes' look good to me, but I cannot comment on the
packaging stuff.

> While doing so, I observed that the configuration file though
> referenced in the code for reading, but I didn't find any trigger to
> actually read the contents of the file. That is, the function that
> reads the configuration file section by section, is not being called
> though its definition exist.

Which one is the function for reading the config file?
hip_cert_x509v3_handle_request_to_sign? Isn't that one called in
hipd/user.c?

Stefan

review: Abstain
Diego Biurrun (diego-biurrun) wrote :

 review needs-info

On Wed, Jan 25, 2012 at 03:14:31PM +0000, Fahad Aizaz wrote:
>
> Note:
> While doing so, I observed that the configuration file though
> referenced in the code for reading, but I didn't find any trigger to
> actually read the contents of the file. That is, the function that
> reads the configuration file section by section, is not being called
> though its definition exist.

What function are you talking about? Please provide details, do not
let us guess.

The patch itself looks OK, but this is an issue that we will of course
have to sort out.

> --- hipd/init.c 2011-12-13 13:50:53 +0000
> +++ hipd/init.c 2012-01-25 15:13:34 +0000
> @@ -924,7 +819,7 @@
> int hipd_init(const uint64_t flags)
> {
> - int err = 0, certerr = 0, i, j;
> + int err = 0, i, j;
> int killold = (flags & HIPD_START_KILL_OLD) > 0;
> @@ -1065,12 +960,6 @@
>
> - certerr = 0;
> - certerr = init_certs();
> - if (certerr < 0) {
> - HIP_DEBUG("Initializing cert configuration file returned error\n");
> - }

So certerr used to get initialized a full *three* times? This is, ummm,
suboptimal even by HIPL standards ...

Diego

review: Needs Information
Samuel Richter (samuel-richter) wrote :

Hi,
please add the file to 'define Package/hipl-daemon/conffiles' in the openwrt makefile. Otherwise opkg will overwrite the file on each package update/reinstall, possibly deleting user changes.
The debian packager automatically marks all files in /etc as config-files. For rpm, the %config(noreplace)-directive achieves this.
Greetings
Samuel

review: Needs Fixing
René Hummen (rene-hummen) wrote :

On 25.01.2012, at 16:14, Fahad Aizaz wrote:
> Fahad Aizaz has proposed merging lp:~fahad-aizaz/hipl/hip-cert-conf into lp:hipl.
>
> Requested reviews:
> HIPL core team (hipl-core)
>
> For more details, see:
> https://code.launchpad.net/~fahad-aizaz/hipl/hip-cert-conf/+merge/90130
>
> Removing runtime generation of configuration file hip_cert.conf. With additional support for its installation along with HIPL package for OpenWRT, Debian and RPM (package based distributions)
>
> Note:
> While doing so, I observed that the configuration file though referenced in the code for reading, but I didn't find any trigger to actually read the contents of the file. That is, the function that reads the configuration file section by section, is not being called though its definition exist.
>
> Please correct me about this if I am wrong.

Certificates can currently only be used and exchanged between the test/certteststub executable and hipd. hipd does not load certificates and their configuration file, but instead receives the certificate from certteststub and verifies the received message (signature + certificate). That's why you cannot find the code for reading the config file in the hipd.

@all: As I mentioned in https://code.launchpad.net/~henrik-ziegeldorf/hipl/pisa-merge/+merge/85871, I suggest to replace the current certificate code with the by far more complete certificate functionality provided by the pisa branch.

Further comments inline.

> === added file 'hipd/hip_cert.conf'
> --- hipd/hip_cert.conf 1970-01-01 00:00:00 +0000
> +++ hipd/hip_cert.conf 2012-01-25 15:13:34 +0000
> @@ -0,0 +1,34 @@
> +# Section containing SPKI related information
> +#
> +# issuerhit = what hit is to be used when signing
> +# days = how long is this key valid
> +
> +# Place issuer hit and expiry days as suggested here
> +# [ hip_spki ]
> +# issuerhit = 2001:0016:b2d1:5bcf:f107:84c4:1e1d:bede

Diego suggested to drop the issuer HIT from the configuration file and use the default HIT in the code instead. As certteststub is only a testing application, I agree that this configuration option is not required in the config file.

> === modified file 'hipd/init.c'
> --- hipd/init.c 2011-12-13 13:50:53 +0000
> +++ hipd/init.c 2012-01-25 15:13:34 +0000

> @@ -465,81 +435,6 @@
> return err;
> }
>
> -/* Needed if the configuration file for certs did not exist */
> -#define HIP_CERT_INIT_DAYS 10

... and once we are on it, we can also use this define instead of the parameter in the configuration file. This change would make hip_cert.conf obsolete.

Can we agree on my suggestion?

--
Dipl.-Inform. Rene Hummen, Ph.D. Student
Chair of Communication and Distributed Systems
RWTH Aachen University, Germany
tel: +49 241 80 20772
web: http://www.comsys.rwth-aachen.de/team/rene-hummen/

Diego Biurrun (diego-biurrun) wrote :

On Sat, Jan 28, 2012 at 07:09:32PM +0100, René Hummen wrote:
> On 25.01.2012, at 16:14, Fahad Aizaz wrote:
> > Fahad Aizaz has proposed merging lp:~fahad-aizaz/hipl/hip-cert-conf into lp:hipl.
> >
> @all: As I mentioned in
> https://code.launchpad.net/~henrik-ziegeldorf/hipl/pisa-merge/+merge/8
> 5871, I suggest to replace the current certificate code with the by
> far more complete certificate functionality provided by the pisa
> branch.
>
> Can we agree on my suggestion?

It's not clear to me how your suggestion applies to this branch.
This merge proposal is small and close to merging, pisa-merge is
huge and still in need of considerable work.

> > --- hipd/init.c 2011-12-13 13:50:53 +0000
> > +++ hipd/init.c 2012-01-25 15:13:34 +0000
> > @@ -465,81 +435,6 @@
> >
> > -/* Needed if the configuration file for certs did not exist */
> > -#define HIP_CERT_INIT_DAYS 10
>
> ... and once we are on it, we can also use this define instead of
> the parameter in the configuration file. This change would make
> hip_cert.conf obsolete.

How can build-time configuration make run-time configuration obsolete?

Diego

René Hummen (rene-hummen) wrote :

On 30.01.2012, at 12:41, Diego Biurrun wrote:

> On Sat, Jan 28, 2012 at 07:09:32PM +0100, René Hummen wrote:
>> On 25.01.2012, at 16:14, Fahad Aizaz wrote:
>>> Fahad Aizaz has proposed merging lp:~fahad-aizaz/hipl/hip-cert-conf into lp:hipl.
>>>
>>> --- hipd/init.c 2011-12-13 13:50:53 +0000
>>> +++ hipd/init.c 2012-01-25 15:13:34 +0000
>>> @@ -465,81 +435,6 @@
>>>
>>> -/* Needed if the configuration file for certs did not exist */
>>> -#define HIP_CERT_INIT_DAYS 10
>>
>> ... and once we are on it, we can also use this define instead of
>> the parameter in the configuration file. This change would make
>> hip_cert.conf obsolete.
>
> How can build-time configuration make run-time configuration obsolete?

The generated configuration file is only used by the test application certteststub. My thought: Is it really necessary to offer run-time configuration support by means of a config file for a test application? I especially ask this question seeing that the current certificate code neither allows signaling of certificates between two instances of the hipd nor verification of certificates by the hipfw. In my opinion, having a config file for this specific test stub is overkill and the removal of the code responsible for reading and parsing the config file would enable us to further shrink the HIPL codebase.

--
Dipl.-Inform. Rene Hummen, Ph.D. Student
Chair of Communication and Distributed Systems
RWTH Aachen University, Germany
tel: +49 241 80 20772
web: http://www.comsys.rwth-aachen.de/team/rene-hummen/

Diego Biurrun (diego-biurrun) wrote :

On Mon, Jan 30, 2012 at 08:30:37PM +0100, René Hummen wrote:
>
> On 30.01.2012, at 12:41, Diego Biurrun wrote:
>
> > On Sat, Jan 28, 2012 at 07:09:32PM +0100, René Hummen wrote:
> >> On 25.01.2012, at 16:14, Fahad Aizaz wrote:
> >>> Fahad Aizaz has proposed merging lp:~fahad-aizaz/hipl/hip-cert-conf into lp:hipl.
> >>>
> >>> --- hipd/init.c 2011-12-13 13:50:53 +0000
> >>> +++ hipd/init.c 2012-01-25 15:13:34 +0000
> >>> @@ -465,81 +435,6 @@
> >>>
> >>> -/* Needed if the configuration file for certs did not exist */
> >>> -#define HIP_CERT_INIT_DAYS 10
> >>
> >> ... and once we are on it, we can also use this define instead of
> >> the parameter in the configuration file. This change would make
> >> hip_cert.conf obsolete.
> >
> > How can build-time configuration make run-time configuration obsolete?
>
> The generated configuration file is only used by the test application
> certteststub. My thought: Is it really necessary to offer run-time
> configuration support by means of a config file for a test
> application? I especially ask this question seeing that the current
> certificate code neither allows signaling of certificates between two
> instances of the hipd nor verification of certificates by the hipfw.
> In my opinion, having a config file for this specific test stub is
> overkill and the removal of the code responsible for reading and
> parsing the config file would enable us to further shrink the HIPL
> codebase.

OK, I understand what you mean now and agree in full - let's remove this
config file and its reading code. Note that there will still be three
other ways of dealing with config files left afterwards...

Diego

Diego Biurrun (diego-biurrun) wrote :

On Tue, Jan 31, 2012 at 12:40:11AM +0100, Diego Biurrun wrote:
> On Mon, Jan 30, 2012 at 08:30:37PM +0100, René Hummen wrote:
> > On 30.01.2012, at 12:41, Diego Biurrun wrote:
> > > On Sat, Jan 28, 2012 at 07:09:32PM +0100, René Hummen wrote:
> > >> On 25.01.2012, at 16:14, Fahad Aizaz wrote:
> > >>> Fahad Aizaz has proposed merging lp:~fahad-aizaz/hipl/hip-cert-conf into lp:hipl.
> > >>>
> > >>> --- hipd/init.c 2011-12-13 13:50:53 +0000
> > >>> +++ hipd/init.c 2012-01-25 15:13:34 +0000
> > >>> @@ -465,81 +435,6 @@
> > >>>
> > >>> -/* Needed if the configuration file for certs did not exist */
> > >>> -#define HIP_CERT_INIT_DAYS 10
> > >>
> > >> ... and once we are on it, we can also use this define instead of
> > >> the parameter in the configuration file. This change would make
> > >> hip_cert.conf obsolete.
> > >
> > > How can build-time configuration make run-time configuration obsolete?
> >
> > The generated configuration file is only used by the test application
> > certteststub. My thought: Is it really necessary to offer run-time
> > configuration support by means of a config file for a test
> > application? I especially ask this question seeing that the current
> > certificate code neither allows signaling of certificates between two
> > instances of the hipd nor verification of certificates by the hipfw.
> > In my opinion, having a config file for this specific test stub is
> > overkill and the removal of the code responsible for reading and
> > parsing the config file would enable us to further shrink the HIPL
> > codebase.
>
> OK, I understand what you mean now and agree in full - let's remove this
> config file and its reading code. Note that there will still be three
> other ways of dealing with config files left afterwards...

Fahad can you tackle this?

Diego

Unmerged revisions

6261. By Fahad Aizaz on 2012-01-25

Commiting all recent changes from the trunk into the branch.

6260. By Fahad Aizaz on 2012-01-25

The function is no longer required.

The function retrives the hit of the machine and places it as
issuer hit. It is no longer requried since the config file in not
generated at runtime anymore.

6259. By Fahad Aizaz on 2012-01-25

build: moving the configuration file to the correct path.

Placing the hip_cert.conf file at its correct path while HIP in installed
and configured on following distributions:
1. Debian
2. OpenWRT
3. Fedora

Note: the path is determined by the 'configure' script otherwise it depends
upon the distribution default path for keeping configuration files.
e.g. /etc/<package name>

6258. By Fahad Aizaz on 2012-01-25

Comenting out of the name, value pairs in the configuration file.

The configuration file contains 'issuer hit' and 'days' of expiry.
The issuer hit which is the HIT of the machine assigned to it when
HIP daemon is executed, was placed in the configuration file at runtime.

Since the HIT will be different for different machines, the configuration
file contains commented out entries. The user must place the correct
entries to this file, or those he/she want to use for certificate
generation.

6257. By Fahad Aizaz on 2012-01-25

Adding default 'hip_cert.conf' file to HIP package.

6256. By Fahad Aizaz on 2012-01-25

Removing code generating 'hip_cert.conf' at runtime

The function 'init_certs()' is removed so that the configuration file
is not created and populated at runtime.

Instead a default hip_cert.conf file is packaged with HIP package.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'Makefile.am'
--- Makefile.am 2012-01-25 10:44:48 +0000
+++ Makefile.am 2012-01-25 15:13:34 +0000
@@ -137,7 +137,8 @@
137 modules/midauth/hipd/midauth.c \137 modules/midauth/hipd/midauth.c \
138 hipd/main.c138 hipd/main.c
139139
140dist_sysconf_DATA = hipd/hipd.conf \140dist_sysconf_DATA = hipd/hip_cert.conf \
141 hipd/hipd.conf \
141 hipd/hosts \142 hipd/hosts \
142 hipd/relay.conf \143 hipd/relay.conf \
143 hipfw/esp_prot.conf \144 hipfw/esp_prot.conf \
144145
=== modified file 'debian/hipl-daemon.install'
--- debian/hipl-daemon.install 2012-01-25 10:44:48 +0000
+++ debian/hipl-daemon.install 2012-01-25 15:13:34 +0000
@@ -2,6 +2,7 @@
2debian/tmp/usr/sbin/hipconf usr/sbin/2debian/tmp/usr/sbin/hipconf usr/sbin/
3debian/tmp/usr/sbin/pisacert usr/sbin/3debian/tmp/usr/sbin/pisacert usr/sbin/
4debian/tmp/usr/sbin/nsupdate usr/sbin/4debian/tmp/usr/sbin/nsupdate usr/sbin/
5debian/tmp/etc/hip/hip_cert.conf etc/hip/
5debian/tmp/etc/hip/hipd.conf etc/hip/6debian/tmp/etc/hip/hipd.conf etc/hip/
6debian/tmp/etc/hip/hosts etc/hip/7debian/tmp/etc/hip/hosts etc/hip/
7debian/tmp/etc/hip/nsupdate.conf etc/hip/8debian/tmp/etc/hip/nsupdate.conf etc/hip/
89
=== added file 'hipd/hip_cert.conf'
--- hipd/hip_cert.conf 1970-01-01 00:00:00 +0000
+++ hipd/hip_cert.conf 2012-01-25 15:13:34 +0000
@@ -0,0 +1,34 @@
1# Section containing SPKI related information
2#
3# issuerhit = what hit is to be used when signing
4# days = how long is this key valid
5
6# Place issuer hit and expiry days as suggested here
7# [ hip_spki ]
8# issuerhit = 2001:0016:b2d1:5bcf:f107:84c4:1e1d:bede
9# days = 10
10
11# Section containing HIP related information
12#
13# issuerhit = what hit is to be used when signing
14# days = how long is this key valid
15
16# Place issuer hit and expiry days as suggested here
17# [ hip_x509v3 ]
18# issuerhit = 2001:0016:b2d1:5bcf:f107:84c4:1e1d:bede
19# days = 10
20
21#Section containing the name section for the x509v3 issuer name
22
23# Place issuer hit and expiry days as suggested here
24# [ hip_x509v3_name ]
25# issuerhit = 2001:0016:b2d1:5bcf:f107:84c4:1e1d:bede
26
27# Uncomment this section to add x509 extensions
28# to the certificate
29#
30# DO NOT use subjectAltName, issuerAltName or
31# basicConstraints implementation uses them already
32# All other extensions are allowed
33
34# [ hip_x509v3_extensions ]
035
=== modified file 'hipd/init.c'
--- hipd/init.c 2011-12-13 13:50:53 +0000
+++ hipd/init.c 2012-01-25 15:13:34 +0000
@@ -373,36 +373,6 @@
373}373}
374374
375/**375/**
376 * find the first RSA-based host id
377 *
378 * @return the host id or NULL if none found
379 */
380static struct local_host_id *return_first_rsa(void)
381{
382 LHASH_NODE *curr, *iter;
383 struct local_host_id *tmp = NULL;
384 int c;
385 uint16_t algo = 0;
386
387 list_for_each_safe(curr, iter, hip_local_hostid_db, c) {
388 tmp = list_entry(curr);
389 HIP_DEBUG_HIT("Found HIT", &tmp->hit);
390 algo = hip_get_host_id_algo(&tmp->host_id);
391 HIP_DEBUG("hits algo %d HIP_HI_RSA = %d\n",
392 algo, HIP_HI_RSA);
393 if (algo == HIP_HI_RSA) {
394 goto out_err;
395 }
396 }
397
398out_err:
399 if (algo == HIP_HI_RSA) {
400 return tmp;
401 }
402 return NULL;
403}
404
405/**
406 * Initialize local host IDs.376 * Initialize local host IDs.
407 *377 *
408 * @return zero on success or negative on failure378 * @return zero on success or negative on failure
@@ -465,81 +435,6 @@
465 return err;435 return err;
466}436}
467437
468/* Needed if the configuration file for certs did not exist */
469#define HIP_CERT_INIT_DAYS 10
470
471/**
472 * Initialize certificates for the local host
473 *
474 * @return zero on success or negative on failure
475 */
476static int init_certs(void)
477{
478 int err = 0;
479 char hit[41];
480 FILE *conf_file;
481 struct local_host_id *entry;
482 char hostname[HIP_HOST_ID_HOSTNAME_LEN_MAX];
483
484 HIP_IFEL(gethostname(hostname, sizeof(hostname)), -1,
485 "gethostname failed\n");
486
487 conf_file = fopen(HIP_CERT_CONF_PATH, "r");
488 if (!conf_file) {
489 HIP_DEBUG("Configuration file did NOT exist creating it and "
490 "filling it with default information\n");
491 /* Fetch the first RSA HIT */
492 entry = return_first_rsa();
493 if (entry == NULL) {
494 HIP_DEBUG("Failed to get the first RSA HI");
495 goto out_err;
496 }
497 hip_in6_ntop(&entry->hit, hit);
498 conf_file = fopen(HIP_CERT_CONF_PATH, "w+");
499 fprintf(conf_file,
500 "# Section containing SPKI related information\n"
501 "#\n"
502 "# issuerhit = what hit is to be used when signing\n"
503 "# days = how long is this key valid\n"
504 "\n"
505 "[ hip_spki ]\n"
506 "issuerhit = %s\n"
507 "days = %d\n"
508 "\n"
509 "# Section containing HIP related information\n"
510 "#\n"
511 "# issuerhit = what hit is to be used when signing\n"
512 "# days = how long is this key valid\n"
513 "\n"
514 "[ hip_x509v3 ]\n"
515 "issuerhit = %s\n"
516 "days = %d\n"
517 "\n"
518 "#Section containing the name section for the x509v3 issuer name"
519 "\n"
520 "[ hip_x509v3_name ]\n"
521 "issuerhit = %s\n"
522 "\n"
523 "# Uncomment this section to add x509 extensions\n"
524 "# to the certificate\n"
525 "#\n"
526 "# DO NOT use subjectAltName, issuerAltName or\n"
527 "# basicConstraints implementation uses them already\n"
528 "# All other extensions are allowed\n"
529 "\n"
530 "# [ hip_x509v3_extensions ]\n",
531 hit, HIP_CERT_INIT_DAYS,
532 hit, HIP_CERT_INIT_DAYS,
533 hit /* TODO SAMU: removed because not used:*/ /*, hostname*/);
534 } else {
535 HIP_DEBUG("Configuration file existed exiting init_certs\n");
536 }
537 fclose(conf_file);
538
539out_err:
540 return err;
541}
542
543static void init_packet_types(void)438static void init_packet_types(void)
544{439{
545 lmod_register_packet_type(HIP_I1, "HIP_I1");440 lmod_register_packet_type(HIP_I1, "HIP_I1");
@@ -924,7 +819,7 @@
924 */819 */
925int hipd_init(const uint64_t flags)820int hipd_init(const uint64_t flags)
926{821{
927 int err = 0, certerr = 0, i, j;822 int err = 0, i, j;
928 int killold = (flags & HIPD_START_KILL_OLD) > 0;823 int killold = (flags & HIPD_START_KILL_OLD) > 0;
929 unsigned int mtu_val = HIP_HIT_DEV_MTU;824 unsigned int mtu_val = HIP_HIT_DEV_MTU;
930 char str[64];825 char str[64];
@@ -1065,12 +960,6 @@
1065 return -1;960 return -1;
1066 }961 }
1067962
1068 certerr = 0;
1069 certerr = init_certs();
1070 if (certerr < 0) {
1071 HIP_DEBUG("Initializing cert configuration file returned error\n");
1072 }
1073
1074 /* Service initialization. */963 /* Service initialization. */
1075 hip_init_services();964 hip_init_services();
1076965
1077966
=== modified file 'packaging/hipl.spec'
--- packaging/hipl.spec 2012-01-25 10:44:48 +0000
+++ packaging/hipl.spec 2012-01-25 15:13:34 +0000
@@ -154,6 +154,7 @@
154%{_sbindir}/pisacert154%{_sbindir}/pisacert
155%{_sbindir}/nsupdate155%{_sbindir}/nsupdate
156%{_initddir}/hipd156%{_initddir}/hipd
157%config(noreplace) %{_sysconfdir}/hip/hip_cert.conf
157%config(noreplace) %{_sysconfdir}/hip/hipd.conf158%config(noreplace) %{_sysconfdir}/hip/hipd.conf
158%config(noreplace) %{_sysconfdir}/hip/hosts159%config(noreplace) %{_sysconfdir}/hip/hosts
159%config(noreplace) %{_sysconfdir}/hip/nsupdate.conf160%config(noreplace) %{_sysconfdir}/hip/nsupdate.conf
160161
=== modified file 'packaging/openwrt/hipl/Makefile.in'
--- packaging/openwrt/hipl/Makefile.in 2012-01-20 15:34:21 +0000
+++ packaging/openwrt/hipl/Makefile.in 2012-01-25 15:13:34 +0000
@@ -59,6 +59,7 @@
59 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/hipd $(1)/usr/sbin/59 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/hipd $(1)/usr/sbin/
60 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/hipconf $(1)/usr/sbin/60 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/hipconf $(1)/usr/sbin/
61 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/hipdnsproxy $(1)/usr/sbin/61 $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/sbin/hipdnsproxy $(1)/usr/sbin/
62 $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/hip/hip_cert.conf $(1)/etc/hip/
62 $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/hip/hipd.conf $(1)/etc/hip/63 $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/hip/hipd.conf $(1)/etc/hip/
63 $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/hip/hosts $(1)/etc/hip/64 $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/hip/hosts $(1)/etc/hip/
64 $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/hip/nsupdate.conf $(1)/etc/hip/65 $(INSTALL_DATA) $(PKG_INSTALL_DIR)/etc/hip/nsupdate.conf $(1)/etc/hip/

Subscribers

People subscribed via source and target branches

to all changes: