Hi Hurd,

I updated the dhcpcd patches to add support for pfinet without breaking lwip 
integration.

This is a summary of the changes:

[PATCH 1/6] New libpcap BPF backend

- No changes


[PATCH 2/6] Escape filenames

- This required some love. The previous patch was incomplete, since it only 
escaped one of the variables dhcpcd sends to the shell script, but there was 
another one not being escaped.
- Also, I found soemthing weird: When using bash, this happens:

```bash
$ echo "\057dev\057eht1"
\057dev\057eht1
jlledom@hurdo:~$ printf "%s\n" "\057dev\057eht1"
\057dev\057eht1
```

However, when using sh, the string is unescaped by echo:

```shell
$ echo "\057dev\057eht1"
/dev/eht1
$ printf "%s\n" "\057dev\057eht1"
\057dev\057eht1
```

The shebang for dhcpcd hooks is `#!/bin/sh`, and `echo` is used everywhere The 
new changes ensure `printf` is used when manipulating interface names.


[PATCH 3/6] Adapt codebase to the new Hurd backend.

- No changes


[PATCH 4/6] New GNU/Hurd backend

- Support for pfinet routing
  - The hurd module is updated to be able to properly add and delete routes 
to/from pfinet, without breaking integration with lwip. This basically consists 
on setting some flags and some additional data to routes before being sent to 
pfinet

- Implement complete address management
  - Due to the simple routing in lwip, netmask and routes are coupled, so we 
were in fact setting the netmask for the interface when sending the routes. 
However, in pfinet this is not the case, and netmask must be set explicitly. 
dhcpcd also gives us a broadcast address to send, lwip doesn't accept this, as 
I explain in the code comment.
  - The new patch also sends an ioctl to delete an IP address when dhcpcd 
requests it.


[PATCH 5/6] Add support for the Hurd in ./configure

- No changes


[PATCH 6/6] Add some build instructions for the Hurd

- No changes


Reply via email to