Relicense as MIT.
It's a lot more common than BSD 2-clause it is both compatible and nearly identical in effect.
This commit is contained in:
parent
9fddfbda61
commit
1732bccccc
37
LICENSE
37
LICENSE
@ -1,24 +1,21 @@
|
|||||||
Copyright 2004-2015 Nicholas J. Kain <njkain at gmail dot com>
|
Copyright 2004-2022 Nicholas J. Kain <njkain at gmail dot com>
|
||||||
All rights reserved.
|
|
||||||
|
|
||||||
Redistribution and use in source and binary forms, with or without
|
Permission is hereby granted, free of charge, to any person obtaining
|
||||||
modification, are permitted provided that the following conditions are met:
|
a copy of this software and associated documentation files (the
|
||||||
|
"Software"), to deal in the Software without restriction, including
|
||||||
|
without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
distribute, sublicense, and/or sell copies of the Software, and to
|
||||||
|
permit persons to whom the Software is furnished to do so, subject to
|
||||||
|
the following conditions:
|
||||||
|
|
||||||
- Redistributions of source code must retain the above copyright notice,
|
The above copyright notice and this permission notice shall be
|
||||||
this list of conditions and the following disclaimer.
|
included in all copies or substantial portions of the Software.
|
||||||
|
|
||||||
- Redistributions in binary form must reproduce the above copyright notice,
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
this list of conditions and the following disclaimer in the documentation
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
and/or other materials provided with the distribution.
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||||
|
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
|
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
||||||
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
|
29
arp.c
29
arp.c
@ -1,30 +1,5 @@
|
|||||||
/* arp.c - arp ping checking
|
// Copyright 2010-2018 Nicholas J. Kain <njkain at gmail dot com>
|
||||||
*
|
// SPDX-License-Identifier: MIT
|
||||||
* Copyright 2010-2018 Nicholas J. Kain <njkain at gmail dot com>
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* - Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
*
|
|
||||||
* - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
32
arp.h
32
arp.h
@ -1,30 +1,5 @@
|
|||||||
/* arp.h - functions to call the interface change daemon
|
// Copyright 2010-2018 Nicholas J. Kain <njkain at gmail dot com>
|
||||||
*
|
// SPDX-License-Identifier: MIT
|
||||||
* Copyright 2010-2018 Nicholas J. Kain <njkain at gmail dot com>
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* - Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
*
|
|
||||||
* - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
#ifndef ARP_H_
|
#ifndef ARP_H_
|
||||||
#define ARP_H_
|
#define ARP_H_
|
||||||
|
|
||||||
@ -142,4 +117,5 @@ int arp_gw_check_timeout(struct client_state_t *cs, long long nowts);
|
|||||||
|
|
||||||
long long arp_get_wake_ts(void);
|
long long arp_get_wake_ts(void);
|
||||||
|
|
||||||
#endif /* ARP_H_ */
|
#endif
|
||||||
|
|
||||||
|
4
cfg.h
4
cfg.h
@ -1,7 +1,9 @@
|
|||||||
|
// Copyright 2018 Nicholas J. Kain <njkain at gmail dot com>
|
||||||
|
// SPDX-License-Identifier: MIT
|
||||||
#ifndef NDHC_CONFIG_H_
|
#ifndef NDHC_CONFIG_H_
|
||||||
#define NDHC_CONFIG_H_
|
#define NDHC_CONFIG_H_
|
||||||
|
|
||||||
void parse_cmdline(int argc, char *argv[]);
|
void parse_cmdline(int argc, char *argv[]);
|
||||||
|
|
||||||
#endif /* NDHC_CONFIG_H_ */
|
#endif
|
||||||
|
|
||||||
|
2
cfg.rl
2
cfg.rl
@ -1,3 +1,5 @@
|
|||||||
|
// Copyright 2018 Nicholas J. Kain <njkain at gmail dot com>
|
||||||
|
// SPDX-License-Identifier: MIT
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
/* SPDX-License-Identifier: MIT */
|
||||||
/* coroutine.h
|
/* coroutine.h
|
||||||
*
|
*
|
||||||
* Coroutine mechanics, implemented on top of standard ANSI C. See
|
* Coroutine mechanics, implemented on top of standard ANSI C. See
|
||||||
@ -178,4 +179,5 @@
|
|||||||
#define ccrContext void *
|
#define ccrContext void *
|
||||||
#define ccrAbort(ctx) do { free (ctx); ctx = 0; } while (0)
|
#define ccrAbort(ctx) do { free (ctx); ctx = 0; } while (0)
|
||||||
|
|
||||||
#endif /* COROUTINE_H */
|
#endif
|
||||||
|
|
||||||
|
30
dhcp.c
30
dhcp.c
@ -1,31 +1,5 @@
|
|||||||
/* dhcp.c - general DHCP protocol handling
|
// Copyright 2004-2018 Nicholas J. Kain <njkain at gmail dot com>
|
||||||
*
|
// SPDX-License-Identifier: MIT
|
||||||
* Copyright 2004-2018 Nicholas J. Kain <njkain at gmail dot com>
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* - Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
*
|
|
||||||
* - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
30
dhcp.h
30
dhcp.h
@ -1,31 +1,5 @@
|
|||||||
/* dhcp.h - general DHCP protocol handling
|
// Copyright 2004-2018 Nicholas J. Kain <njkain at gmail dot com>
|
||||||
*
|
// SPDX-License-Identifier: MIT
|
||||||
* Copyright 2004-2018 Nicholas J. Kain <njkain at gmail dot com>
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* - Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
*
|
|
||||||
* - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef NDHC_DHCP_H_
|
#ifndef NDHC_DHCP_H_
|
||||||
#define NDHC_DHCP_H_
|
#define NDHC_DHCP_H_
|
||||||
|
|
||||||
|
29
duiaid.c
29
duiaid.c
@ -1,30 +1,5 @@
|
|||||||
/* duiaid.c - DUID/IAID storage and generation for clientids
|
// Copyright 2014-2018 Nicholas J. Kain <njkain at gmail dot com>
|
||||||
*
|
// SPDX-License-Identifier: MIT
|
||||||
* Copyright 2014-2018 Nicholas J. Kain <njkain at gmail dot com>
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* - Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
*
|
|
||||||
* - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
32
duiaid.h
32
duiaid.h
@ -1,30 +1,5 @@
|
|||||||
/* duiaid.h - DUID/IAID storage and generation for clientids
|
// Copyright 2014-2018 Nicholas J. Kain <njkain at gmail dot com>
|
||||||
*
|
// SPDX-License-Identifier: MIT
|
||||||
* Copyright 2014-2018 Nicholas J. Kain <njkain at gmail dot com>
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* - Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
*
|
|
||||||
* - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
#ifndef NJK_NDHC_DUIAID_H_
|
#ifndef NJK_NDHC_DUIAID_H_
|
||||||
#define NJK_NDHC_DUIAID_H_
|
#define NJK_NDHC_DUIAID_H_
|
||||||
|
|
||||||
@ -32,4 +7,5 @@
|
|||||||
|
|
||||||
void get_clientid(struct client_state_t *cs, struct client_config_t *cc);
|
void get_clientid(struct client_state_t *cs, struct client_config_t *cc);
|
||||||
|
|
||||||
#endif /* NJK_NDHC_DUIAID_H_ */
|
#endif
|
||||||
|
|
||||||
|
30
ifchange.c
30
ifchange.c
@ -1,31 +1,5 @@
|
|||||||
/* ifchange.c - functions to call the interface change daemon
|
// Copyright 2004-2018 Nicholas J. Kain <njkain at gmail dot com>
|
||||||
*
|
// SPDX-License-Identifier: MIT
|
||||||
* Copyright 2004-2018 Nicholas J. Kain <njkain at gmail dot com>
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* - Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
*
|
|
||||||
* - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
30
ifchange.h
30
ifchange.h
@ -1,31 +1,5 @@
|
|||||||
/* ifchange.h - functions to call the interface change daemon
|
// Copyright 2004-2018 Nicholas J. Kain <njkain at gmail dot com>
|
||||||
*
|
// SPDX-License-Identifier: MIT
|
||||||
* Copyright 2004-2018 Nicholas J. Kain <njkain at gmail dot com>
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* - Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
*
|
|
||||||
* - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef IFCHANGE_H_
|
#ifndef IFCHANGE_H_
|
||||||
#define IFCHANGE_H_
|
#define IFCHANGE_H_
|
||||||
|
|
||||||
|
246
ifchd-parse.c
246
ifchd-parse.c
@ -1,32 +1,6 @@
|
|||||||
#line 1 "ifchd-parse.rl"
|
#line 1 "ifchd-parse.rl"
|
||||||
/* ifchd-parse.rl - interface change daemon parser
|
// Copyright 2004-2018 Nicholas J. Kain <njkain at gmail dot com>
|
||||||
*
|
// SPDX-License-Identifier: MIT
|
||||||
* Copyright 2004-2018 Nicholas J. Kain <njkain at gmail dot com>
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* - Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
*
|
|
||||||
* - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
@ -40,11 +14,11 @@
|
|||||||
#include "ndhc.h"
|
#include "ndhc.h"
|
||||||
|
|
||||||
|
|
||||||
#line 75 "ifchd-parse.rl"
|
#line 49 "ifchd-parse.rl"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#line 48 "ifchd-parse.c"
|
#line 22 "ifchd-parse.c"
|
||||||
static const int ipv4set_parser_start = 1;
|
static const int ipv4set_parser_start = 1;
|
||||||
static const int ipv4set_parser_first_final = 43;
|
static const int ipv4set_parser_first_final = 43;
|
||||||
static const int ipv4set_parser_error = 0;
|
static const int ipv4set_parser_error = 0;
|
||||||
@ -52,7 +26,7 @@ static const int ipv4set_parser_error = 0;
|
|||||||
static const int ipv4set_parser_en_main = 1;
|
static const int ipv4set_parser_en_main = 1;
|
||||||
|
|
||||||
|
|
||||||
#line 77 "ifchd-parse.rl"
|
#line 51 "ifchd-parse.rl"
|
||||||
|
|
||||||
|
|
||||||
static int perform_ip4set(const char *buf, size_t len)
|
static int perform_ip4set(const char *buf, size_t len)
|
||||||
@ -70,15 +44,15 @@ static int perform_ip4set(const char *buf, size_t len)
|
|||||||
bool have_bcast = false;
|
bool have_bcast = false;
|
||||||
|
|
||||||
|
|
||||||
#line 74 "ifchd-parse.c"
|
#line 48 "ifchd-parse.c"
|
||||||
{
|
{
|
||||||
cs = (int)ipv4set_parser_start;
|
cs = (int)ipv4set_parser_start;
|
||||||
}
|
}
|
||||||
|
|
||||||
#line 93 "ifchd-parse.rl"
|
#line 67 "ifchd-parse.rl"
|
||||||
|
|
||||||
|
|
||||||
#line 82 "ifchd-parse.c"
|
#line 56 "ifchd-parse.c"
|
||||||
{
|
{
|
||||||
switch ( cs ) {
|
switch ( cs ) {
|
||||||
case 1:
|
case 1:
|
||||||
@ -202,10 +176,10 @@ static int perform_ip4set(const char *buf, size_t len)
|
|||||||
goto _out0;
|
goto _out0;
|
||||||
_ctr2:
|
_ctr2:
|
||||||
{
|
{
|
||||||
#line 44 "ifchd-parse.rl"
|
#line 18 "ifchd-parse.rl"
|
||||||
arg_start = p; }
|
arg_start = p; }
|
||||||
|
|
||||||
#line 209 "ifchd-parse.c"
|
#line 183 "ifchd-parse.c"
|
||||||
|
|
||||||
goto _st2;
|
goto _st2;
|
||||||
_st2:
|
_st2:
|
||||||
@ -327,7 +301,7 @@ static int perform_ip4set(const char *buf, size_t len)
|
|||||||
}
|
}
|
||||||
_ctr13:
|
_ctr13:
|
||||||
{
|
{
|
||||||
#line 45 "ifchd-parse.rl"
|
#line 19 "ifchd-parse.rl"
|
||||||
|
|
||||||
ptrdiff_t arg_len = p - arg_start;
|
ptrdiff_t arg_len = p - arg_start;
|
||||||
if (arg_len > 0 && (size_t)arg_len < sizeof ip4_addr) {
|
if (arg_len > 0 && (size_t)arg_len < sizeof ip4_addr) {
|
||||||
@ -337,7 +311,7 @@ static int perform_ip4set(const char *buf, size_t len)
|
|||||||
ip4_addr[arg_len] = 0;
|
ip4_addr[arg_len] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#line 341 "ifchd-parse.c"
|
#line 315 "ifchd-parse.c"
|
||||||
|
|
||||||
goto _st9;
|
goto _st9;
|
||||||
_st9:
|
_st9:
|
||||||
@ -357,10 +331,10 @@ static int perform_ip4set(const char *buf, size_t len)
|
|||||||
}
|
}
|
||||||
_ctr16:
|
_ctr16:
|
||||||
{
|
{
|
||||||
#line 44 "ifchd-parse.rl"
|
#line 18 "ifchd-parse.rl"
|
||||||
arg_start = p; }
|
arg_start = p; }
|
||||||
|
|
||||||
#line 364 "ifchd-parse.c"
|
#line 338 "ifchd-parse.c"
|
||||||
|
|
||||||
goto _st10;
|
goto _st10;
|
||||||
_st10:
|
_st10:
|
||||||
@ -464,7 +438,7 @@ static int perform_ip4set(const char *buf, size_t len)
|
|||||||
}
|
}
|
||||||
_ctr49:
|
_ctr49:
|
||||||
{
|
{
|
||||||
#line 53 "ifchd-parse.rl"
|
#line 27 "ifchd-parse.rl"
|
||||||
|
|
||||||
ptrdiff_t arg_len = p - arg_start;
|
ptrdiff_t arg_len = p - arg_start;
|
||||||
if (arg_len > 0 && (size_t)arg_len < sizeof ip4_subnet) {
|
if (arg_len > 0 && (size_t)arg_len < sizeof ip4_subnet) {
|
||||||
@ -474,7 +448,7 @@ static int perform_ip4set(const char *buf, size_t len)
|
|||||||
ip4_subnet[arg_len] = 0;
|
ip4_subnet[arg_len] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#line 478 "ifchd-parse.c"
|
#line 452 "ifchd-parse.c"
|
||||||
|
|
||||||
goto _st43;
|
goto _st43;
|
||||||
_st43:
|
_st43:
|
||||||
@ -497,7 +471,7 @@ static int perform_ip4set(const char *buf, size_t len)
|
|||||||
}
|
}
|
||||||
_ctr50:
|
_ctr50:
|
||||||
{
|
{
|
||||||
#line 53 "ifchd-parse.rl"
|
#line 27 "ifchd-parse.rl"
|
||||||
|
|
||||||
ptrdiff_t arg_len = p - arg_start;
|
ptrdiff_t arg_len = p - arg_start;
|
||||||
if (arg_len > 0 && (size_t)arg_len < sizeof ip4_subnet) {
|
if (arg_len > 0 && (size_t)arg_len < sizeof ip4_subnet) {
|
||||||
@ -507,7 +481,7 @@ static int perform_ip4set(const char *buf, size_t len)
|
|||||||
ip4_subnet[arg_len] = 0;
|
ip4_subnet[arg_len] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#line 511 "ifchd-parse.c"
|
#line 485 "ifchd-parse.c"
|
||||||
|
|
||||||
goto _st16;
|
goto _st16;
|
||||||
_st16:
|
_st16:
|
||||||
@ -527,10 +501,10 @@ static int perform_ip4set(const char *buf, size_t len)
|
|||||||
}
|
}
|
||||||
_ctr28:
|
_ctr28:
|
||||||
{
|
{
|
||||||
#line 44 "ifchd-parse.rl"
|
#line 18 "ifchd-parse.rl"
|
||||||
arg_start = p; }
|
arg_start = p; }
|
||||||
|
|
||||||
#line 534 "ifchd-parse.c"
|
#line 508 "ifchd-parse.c"
|
||||||
|
|
||||||
goto _st17;
|
goto _st17;
|
||||||
_st17:
|
_st17:
|
||||||
@ -634,7 +608,7 @@ static int perform_ip4set(const char *buf, size_t len)
|
|||||||
}
|
}
|
||||||
_ctr52:
|
_ctr52:
|
||||||
{
|
{
|
||||||
#line 61 "ifchd-parse.rl"
|
#line 35 "ifchd-parse.rl"
|
||||||
|
|
||||||
ptrdiff_t arg_len = p - arg_start;
|
ptrdiff_t arg_len = p - arg_start;
|
||||||
if (arg_len > 0 && (size_t)arg_len < sizeof ip4_bcast) {
|
if (arg_len > 0 && (size_t)arg_len < sizeof ip4_bcast) {
|
||||||
@ -644,7 +618,7 @@ static int perform_ip4set(const char *buf, size_t len)
|
|||||||
ip4_bcast[arg_len] = 0;
|
ip4_bcast[arg_len] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#line 648 "ifchd-parse.c"
|
#line 622 "ifchd-parse.c"
|
||||||
|
|
||||||
goto _st44;
|
goto _st44;
|
||||||
_st44:
|
_st44:
|
||||||
@ -664,7 +638,7 @@ static int perform_ip4set(const char *buf, size_t len)
|
|||||||
}
|
}
|
||||||
_ctr54:
|
_ctr54:
|
||||||
{
|
{
|
||||||
#line 61 "ifchd-parse.rl"
|
#line 35 "ifchd-parse.rl"
|
||||||
|
|
||||||
ptrdiff_t arg_len = p - arg_start;
|
ptrdiff_t arg_len = p - arg_start;
|
||||||
if (arg_len > 0 && (size_t)arg_len < sizeof ip4_bcast) {
|
if (arg_len > 0 && (size_t)arg_len < sizeof ip4_bcast) {
|
||||||
@ -674,7 +648,7 @@ static int perform_ip4set(const char *buf, size_t len)
|
|||||||
ip4_bcast[arg_len] = 0;
|
ip4_bcast[arg_len] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#line 678 "ifchd-parse.c"
|
#line 652 "ifchd-parse.c"
|
||||||
|
|
||||||
goto _st45;
|
goto _st45;
|
||||||
_st45:
|
_st45:
|
||||||
@ -694,7 +668,7 @@ static int perform_ip4set(const char *buf, size_t len)
|
|||||||
}
|
}
|
||||||
_ctr56:
|
_ctr56:
|
||||||
{
|
{
|
||||||
#line 61 "ifchd-parse.rl"
|
#line 35 "ifchd-parse.rl"
|
||||||
|
|
||||||
ptrdiff_t arg_len = p - arg_start;
|
ptrdiff_t arg_len = p - arg_start;
|
||||||
if (arg_len > 0 && (size_t)arg_len < sizeof ip4_bcast) {
|
if (arg_len > 0 && (size_t)arg_len < sizeof ip4_bcast) {
|
||||||
@ -704,7 +678,7 @@ static int perform_ip4set(const char *buf, size_t len)
|
|||||||
ip4_bcast[arg_len] = 0;
|
ip4_bcast[arg_len] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#line 708 "ifchd-parse.c"
|
#line 682 "ifchd-parse.c"
|
||||||
|
|
||||||
goto _st46;
|
goto _st46;
|
||||||
_st46:
|
_st46:
|
||||||
@ -820,7 +794,7 @@ static int perform_ip4set(const char *buf, size_t len)
|
|||||||
}
|
}
|
||||||
_ctr57:
|
_ctr57:
|
||||||
{
|
{
|
||||||
#line 53 "ifchd-parse.rl"
|
#line 27 "ifchd-parse.rl"
|
||||||
|
|
||||||
ptrdiff_t arg_len = p - arg_start;
|
ptrdiff_t arg_len = p - arg_start;
|
||||||
if (arg_len > 0 && (size_t)arg_len < sizeof ip4_subnet) {
|
if (arg_len > 0 && (size_t)arg_len < sizeof ip4_subnet) {
|
||||||
@ -830,7 +804,7 @@ static int perform_ip4set(const char *buf, size_t len)
|
|||||||
ip4_subnet[arg_len] = 0;
|
ip4_subnet[arg_len] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#line 834 "ifchd-parse.c"
|
#line 808 "ifchd-parse.c"
|
||||||
|
|
||||||
goto _st47;
|
goto _st47;
|
||||||
_st47:
|
_st47:
|
||||||
@ -853,7 +827,7 @@ static int perform_ip4set(const char *buf, size_t len)
|
|||||||
}
|
}
|
||||||
_ctr59:
|
_ctr59:
|
||||||
{
|
{
|
||||||
#line 53 "ifchd-parse.rl"
|
#line 27 "ifchd-parse.rl"
|
||||||
|
|
||||||
ptrdiff_t arg_len = p - arg_start;
|
ptrdiff_t arg_len = p - arg_start;
|
||||||
if (arg_len > 0 && (size_t)arg_len < sizeof ip4_subnet) {
|
if (arg_len > 0 && (size_t)arg_len < sizeof ip4_subnet) {
|
||||||
@ -863,7 +837,7 @@ static int perform_ip4set(const char *buf, size_t len)
|
|||||||
ip4_subnet[arg_len] = 0;
|
ip4_subnet[arg_len] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#line 867 "ifchd-parse.c"
|
#line 841 "ifchd-parse.c"
|
||||||
|
|
||||||
goto _st48;
|
goto _st48;
|
||||||
_st48:
|
_st48:
|
||||||
@ -1164,7 +1138,7 @@ static int perform_ip4set(const char *buf, size_t len)
|
|||||||
_out: {}
|
_out: {}
|
||||||
}
|
}
|
||||||
|
|
||||||
#line 94 "ifchd-parse.rl"
|
#line 68 "ifchd-parse.rl"
|
||||||
|
|
||||||
|
|
||||||
if (cs < ipv4set_parser_first_final) {
|
if (cs < ipv4set_parser_first_final) {
|
||||||
@ -1187,11 +1161,11 @@ static int perform_ip4set(const char *buf, size_t len)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#line 185 "ifchd-parse.rl"
|
#line 159 "ifchd-parse.rl"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#line 1195 "ifchd-parse.c"
|
#line 1169 "ifchd-parse.c"
|
||||||
static const int ifchd_parser_start = 1;
|
static const int ifchd_parser_start = 1;
|
||||||
static const int ifchd_parser_first_final = 126;
|
static const int ifchd_parser_first_final = 126;
|
||||||
static const int ifchd_parser_error = 0;
|
static const int ifchd_parser_error = 0;
|
||||||
@ -1199,7 +1173,7 @@ static const int ifchd_parser_error = 0;
|
|||||||
static const int ifchd_parser_en_main = 1;
|
static const int ifchd_parser_en_main = 1;
|
||||||
|
|
||||||
|
|
||||||
#line 187 "ifchd-parse.rl"
|
#line 161 "ifchd-parse.rl"
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -1234,15 +1208,15 @@ int execute_buffer(const char *newbuf)
|
|||||||
int cs = 0;
|
int cs = 0;
|
||||||
|
|
||||||
|
|
||||||
#line 1238 "ifchd-parse.c"
|
#line 1212 "ifchd-parse.c"
|
||||||
{
|
{
|
||||||
cs = (int)ifchd_parser_start;
|
cs = (int)ifchd_parser_start;
|
||||||
}
|
}
|
||||||
|
|
||||||
#line 220 "ifchd-parse.rl"
|
#line 194 "ifchd-parse.rl"
|
||||||
|
|
||||||
|
|
||||||
#line 1246 "ifchd-parse.c"
|
#line 1220 "ifchd-parse.c"
|
||||||
{
|
{
|
||||||
switch ( cs ) {
|
switch ( cs ) {
|
||||||
case 1:
|
case 1:
|
||||||
@ -1542,10 +1516,10 @@ int execute_buffer(const char *newbuf)
|
|||||||
goto _out0;
|
goto _out0;
|
||||||
_ctr2:
|
_ctr2:
|
||||||
{
|
{
|
||||||
#line 118 "ifchd-parse.rl"
|
#line 92 "ifchd-parse.rl"
|
||||||
cl.state = STATE_NOTHING; }
|
cl.state = STATE_NOTHING; }
|
||||||
|
|
||||||
#line 1549 "ifchd-parse.c"
|
#line 1523 "ifchd-parse.c"
|
||||||
|
|
||||||
goto _st2;
|
goto _st2;
|
||||||
_st2:
|
_st2:
|
||||||
@ -1622,13 +1596,13 @@ int execute_buffer(const char *newbuf)
|
|||||||
goto _st0;
|
goto _st0;
|
||||||
_ctr20:
|
_ctr20:
|
||||||
{
|
{
|
||||||
#line 181 "ifchd-parse.rl"
|
#line 155 "ifchd-parse.rl"
|
||||||
cl.state = STATE_CARRIER; }
|
cl.state = STATE_CARRIER; }
|
||||||
|
|
||||||
#line 1629 "ifchd-parse.c"
|
#line 1603 "ifchd-parse.c"
|
||||||
|
|
||||||
{
|
{
|
||||||
#line 131 "ifchd-parse.rl"
|
#line 105 "ifchd-parse.rl"
|
||||||
|
|
||||||
int pr = 0;
|
int pr = 0;
|
||||||
cmd_start = p + 1;
|
cmd_start = p + 1;
|
||||||
@ -1656,12 +1630,12 @@ int execute_buffer(const char *newbuf)
|
|||||||
cmdf |= pr;
|
cmdf |= pr;
|
||||||
}
|
}
|
||||||
|
|
||||||
#line 1660 "ifchd-parse.c"
|
#line 1634 "ifchd-parse.c"
|
||||||
|
|
||||||
goto _st126;
|
goto _st126;
|
||||||
_ctr39:
|
_ctr39:
|
||||||
{
|
{
|
||||||
#line 120 "ifchd-parse.rl"
|
#line 94 "ifchd-parse.rl"
|
||||||
|
|
||||||
ptrdiff_t al = p - arg_start;
|
ptrdiff_t al = p - arg_start;
|
||||||
if (al < 0 || (size_t)al > sizeof tb - 1) {
|
if (al < 0 || (size_t)al > sizeof tb - 1) {
|
||||||
@ -1673,10 +1647,10 @@ int execute_buffer(const char *newbuf)
|
|||||||
tb[arg_len] = 0;
|
tb[arg_len] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#line 1677 "ifchd-parse.c"
|
#line 1651 "ifchd-parse.c"
|
||||||
|
|
||||||
{
|
{
|
||||||
#line 131 "ifchd-parse.rl"
|
#line 105 "ifchd-parse.rl"
|
||||||
|
|
||||||
int pr = 0;
|
int pr = 0;
|
||||||
cmd_start = p + 1;
|
cmd_start = p + 1;
|
||||||
@ -1704,7 +1678,7 @@ int execute_buffer(const char *newbuf)
|
|||||||
cmdf |= pr;
|
cmdf |= pr;
|
||||||
}
|
}
|
||||||
|
|
||||||
#line 1708 "ifchd-parse.c"
|
#line 1682 "ifchd-parse.c"
|
||||||
|
|
||||||
goto _st126;
|
goto _st126;
|
||||||
_st126:
|
_st126:
|
||||||
@ -1747,10 +1721,10 @@ int execute_buffer(const char *newbuf)
|
|||||||
goto _st0;
|
goto _st0;
|
||||||
_ctr3:
|
_ctr3:
|
||||||
{
|
{
|
||||||
#line 118 "ifchd-parse.rl"
|
#line 92 "ifchd-parse.rl"
|
||||||
cl.state = STATE_NOTHING; }
|
cl.state = STATE_NOTHING; }
|
||||||
|
|
||||||
#line 1754 "ifchd-parse.c"
|
#line 1728 "ifchd-parse.c"
|
||||||
|
|
||||||
goto _st10;
|
goto _st10;
|
||||||
_st10:
|
_st10:
|
||||||
@ -1796,58 +1770,58 @@ int execute_buffer(const char *newbuf)
|
|||||||
goto _st0;
|
goto _st0;
|
||||||
_ctr26:
|
_ctr26:
|
||||||
{
|
{
|
||||||
#line 170 "ifchd-parse.rl"
|
#line 144 "ifchd-parse.rl"
|
||||||
cl.state = STATE_DNS; }
|
cl.state = STATE_DNS; }
|
||||||
|
|
||||||
#line 1803 "ifchd-parse.c"
|
#line 1777 "ifchd-parse.c"
|
||||||
|
|
||||||
{
|
{
|
||||||
#line 119 "ifchd-parse.rl"
|
#line 93 "ifchd-parse.rl"
|
||||||
arg_start = p; }
|
arg_start = p; }
|
||||||
|
|
||||||
#line 1809 "ifchd-parse.c"
|
#line 1783 "ifchd-parse.c"
|
||||||
|
|
||||||
goto _st14;
|
goto _st14;
|
||||||
_ctr115:
|
_ctr115:
|
||||||
{
|
{
|
||||||
#line 171 "ifchd-parse.rl"
|
#line 145 "ifchd-parse.rl"
|
||||||
cl.state = STATE_LPRSVR; }
|
cl.state = STATE_LPRSVR; }
|
||||||
|
|
||||||
#line 1817 "ifchd-parse.c"
|
#line 1791 "ifchd-parse.c"
|
||||||
|
|
||||||
{
|
{
|
||||||
#line 119 "ifchd-parse.rl"
|
#line 93 "ifchd-parse.rl"
|
||||||
arg_start = p; }
|
arg_start = p; }
|
||||||
|
|
||||||
#line 1823 "ifchd-parse.c"
|
#line 1797 "ifchd-parse.c"
|
||||||
|
|
||||||
goto _st14;
|
goto _st14;
|
||||||
_ctr126:
|
_ctr126:
|
||||||
{
|
{
|
||||||
#line 172 "ifchd-parse.rl"
|
#line 146 "ifchd-parse.rl"
|
||||||
cl.state = STATE_NTPSVR; }
|
cl.state = STATE_NTPSVR; }
|
||||||
|
|
||||||
#line 1831 "ifchd-parse.c"
|
#line 1805 "ifchd-parse.c"
|
||||||
|
|
||||||
{
|
{
|
||||||
#line 119 "ifchd-parse.rl"
|
#line 93 "ifchd-parse.rl"
|
||||||
arg_start = p; }
|
arg_start = p; }
|
||||||
|
|
||||||
#line 1837 "ifchd-parse.c"
|
#line 1811 "ifchd-parse.c"
|
||||||
|
|
||||||
goto _st14;
|
goto _st14;
|
||||||
_ctr148:
|
_ctr148:
|
||||||
{
|
{
|
||||||
#line 173 "ifchd-parse.rl"
|
#line 147 "ifchd-parse.rl"
|
||||||
cl.state = STATE_WINS; }
|
cl.state = STATE_WINS; }
|
||||||
|
|
||||||
#line 1845 "ifchd-parse.c"
|
#line 1819 "ifchd-parse.c"
|
||||||
|
|
||||||
{
|
{
|
||||||
#line 119 "ifchd-parse.rl"
|
#line 93 "ifchd-parse.rl"
|
||||||
arg_start = p; }
|
arg_start = p; }
|
||||||
|
|
||||||
#line 1851 "ifchd-parse.c"
|
#line 1825 "ifchd-parse.c"
|
||||||
|
|
||||||
goto _st14;
|
goto _st14;
|
||||||
_st14:
|
_st14:
|
||||||
@ -2067,30 +2041,30 @@ int execute_buffer(const char *newbuf)
|
|||||||
goto _ctr46;
|
goto _ctr46;
|
||||||
_ctr46:
|
_ctr46:
|
||||||
{
|
{
|
||||||
#line 176 "ifchd-parse.rl"
|
#line 150 "ifchd-parse.rl"
|
||||||
cl.state = STATE_DOMAIN; }
|
cl.state = STATE_DOMAIN; }
|
||||||
|
|
||||||
#line 2074 "ifchd-parse.c"
|
#line 2048 "ifchd-parse.c"
|
||||||
|
|
||||||
{
|
{
|
||||||
#line 119 "ifchd-parse.rl"
|
#line 93 "ifchd-parse.rl"
|
||||||
arg_start = p; }
|
arg_start = p; }
|
||||||
|
|
||||||
#line 2080 "ifchd-parse.c"
|
#line 2054 "ifchd-parse.c"
|
||||||
|
|
||||||
goto _st33;
|
goto _st33;
|
||||||
_ctr53:
|
_ctr53:
|
||||||
{
|
{
|
||||||
#line 175 "ifchd-parse.rl"
|
#line 149 "ifchd-parse.rl"
|
||||||
cl.state = STATE_HOSTNAME; }
|
cl.state = STATE_HOSTNAME; }
|
||||||
|
|
||||||
#line 2088 "ifchd-parse.c"
|
#line 2062 "ifchd-parse.c"
|
||||||
|
|
||||||
{
|
{
|
||||||
#line 119 "ifchd-parse.rl"
|
#line 93 "ifchd-parse.rl"
|
||||||
arg_start = p; }
|
arg_start = p; }
|
||||||
|
|
||||||
#line 2094 "ifchd-parse.c"
|
#line 2068 "ifchd-parse.c"
|
||||||
|
|
||||||
goto _st33;
|
goto _st33;
|
||||||
_st33:
|
_st33:
|
||||||
@ -2109,10 +2083,10 @@ int execute_buffer(const char *newbuf)
|
|||||||
goto _st33;
|
goto _st33;
|
||||||
_ctr4:
|
_ctr4:
|
||||||
{
|
{
|
||||||
#line 118 "ifchd-parse.rl"
|
#line 92 "ifchd-parse.rl"
|
||||||
cl.state = STATE_NOTHING; }
|
cl.state = STATE_NOTHING; }
|
||||||
|
|
||||||
#line 2116 "ifchd-parse.c"
|
#line 2090 "ifchd-parse.c"
|
||||||
|
|
||||||
goto _st34;
|
goto _st34;
|
||||||
_st34:
|
_st34:
|
||||||
@ -2167,10 +2141,10 @@ int execute_buffer(const char *newbuf)
|
|||||||
goto _ctr53;
|
goto _ctr53;
|
||||||
_ctr5:
|
_ctr5:
|
||||||
{
|
{
|
||||||
#line 118 "ifchd-parse.rl"
|
#line 92 "ifchd-parse.rl"
|
||||||
cl.state = STATE_NOTHING; }
|
cl.state = STATE_NOTHING; }
|
||||||
|
|
||||||
#line 2174 "ifchd-parse.c"
|
#line 2148 "ifchd-parse.c"
|
||||||
|
|
||||||
goto _st39;
|
goto _st39;
|
||||||
_st39:
|
_st39:
|
||||||
@ -2216,16 +2190,16 @@ int execute_buffer(const char *newbuf)
|
|||||||
goto _st0;
|
goto _st0;
|
||||||
_ctr59:
|
_ctr59:
|
||||||
{
|
{
|
||||||
#line 169 "ifchd-parse.rl"
|
#line 143 "ifchd-parse.rl"
|
||||||
cl.state = STATE_IP4SET; }
|
cl.state = STATE_IP4SET; }
|
||||||
|
|
||||||
#line 2223 "ifchd-parse.c"
|
#line 2197 "ifchd-parse.c"
|
||||||
|
|
||||||
{
|
{
|
||||||
#line 119 "ifchd-parse.rl"
|
#line 93 "ifchd-parse.rl"
|
||||||
arg_start = p; }
|
arg_start = p; }
|
||||||
|
|
||||||
#line 2229 "ifchd-parse.c"
|
#line 2203 "ifchd-parse.c"
|
||||||
|
|
||||||
goto _st43;
|
goto _st43;
|
||||||
_st43:
|
_st43:
|
||||||
@ -2403,16 +2377,16 @@ int execute_buffer(const char *newbuf)
|
|||||||
goto _st0;
|
goto _st0;
|
||||||
_ctr133:
|
_ctr133:
|
||||||
{
|
{
|
||||||
#line 168 "ifchd-parse.rl"
|
#line 142 "ifchd-parse.rl"
|
||||||
cl.state = STATE_ROUTER; }
|
cl.state = STATE_ROUTER; }
|
||||||
|
|
||||||
#line 2410 "ifchd-parse.c"
|
#line 2384 "ifchd-parse.c"
|
||||||
|
|
||||||
{
|
{
|
||||||
#line 119 "ifchd-parse.rl"
|
#line 93 "ifchd-parse.rl"
|
||||||
arg_start = p; }
|
arg_start = p; }
|
||||||
|
|
||||||
#line 2416 "ifchd-parse.c"
|
#line 2390 "ifchd-parse.c"
|
||||||
|
|
||||||
goto _st59;
|
goto _st59;
|
||||||
_st59:
|
_st59:
|
||||||
@ -2504,16 +2478,16 @@ int execute_buffer(const char *newbuf)
|
|||||||
goto _st0;
|
goto _st0;
|
||||||
_ctr110:
|
_ctr110:
|
||||||
{
|
{
|
||||||
#line 180 "ifchd-parse.rl"
|
#line 154 "ifchd-parse.rl"
|
||||||
cl.state = STATE_IPTTL; }
|
cl.state = STATE_IPTTL; }
|
||||||
|
|
||||||
#line 2511 "ifchd-parse.c"
|
#line 2485 "ifchd-parse.c"
|
||||||
|
|
||||||
{
|
{
|
||||||
#line 119 "ifchd-parse.rl"
|
#line 93 "ifchd-parse.rl"
|
||||||
arg_start = p; }
|
arg_start = p; }
|
||||||
|
|
||||||
#line 2517 "ifchd-parse.c"
|
#line 2491 "ifchd-parse.c"
|
||||||
|
|
||||||
goto _st67;
|
goto _st67;
|
||||||
_st67:
|
_st67:
|
||||||
@ -2801,10 +2775,10 @@ int execute_buffer(const char *newbuf)
|
|||||||
goto _ctr110;
|
goto _ctr110;
|
||||||
_ctr6:
|
_ctr6:
|
||||||
{
|
{
|
||||||
#line 118 "ifchd-parse.rl"
|
#line 92 "ifchd-parse.rl"
|
||||||
cl.state = STATE_NOTHING; }
|
cl.state = STATE_NOTHING; }
|
||||||
|
|
||||||
#line 2808 "ifchd-parse.c"
|
#line 2782 "ifchd-parse.c"
|
||||||
|
|
||||||
goto _st94;
|
goto _st94;
|
||||||
_st94:
|
_st94:
|
||||||
@ -2845,10 +2819,10 @@ int execute_buffer(const char *newbuf)
|
|||||||
goto _st0;
|
goto _st0;
|
||||||
_ctr7:
|
_ctr7:
|
||||||
{
|
{
|
||||||
#line 118 "ifchd-parse.rl"
|
#line 92 "ifchd-parse.rl"
|
||||||
cl.state = STATE_NOTHING; }
|
cl.state = STATE_NOTHING; }
|
||||||
|
|
||||||
#line 2852 "ifchd-parse.c"
|
#line 2826 "ifchd-parse.c"
|
||||||
|
|
||||||
goto _st98;
|
goto _st98;
|
||||||
_st98:
|
_st98:
|
||||||
@ -2886,16 +2860,16 @@ int execute_buffer(const char *newbuf)
|
|||||||
goto _ctr120;
|
goto _ctr120;
|
||||||
_ctr120:
|
_ctr120:
|
||||||
{
|
{
|
||||||
#line 179 "ifchd-parse.rl"
|
#line 153 "ifchd-parse.rl"
|
||||||
cl.state = STATE_MTU; }
|
cl.state = STATE_MTU; }
|
||||||
|
|
||||||
#line 2893 "ifchd-parse.c"
|
#line 2867 "ifchd-parse.c"
|
||||||
|
|
||||||
{
|
{
|
||||||
#line 119 "ifchd-parse.rl"
|
#line 93 "ifchd-parse.rl"
|
||||||
arg_start = p; }
|
arg_start = p; }
|
||||||
|
|
||||||
#line 2899 "ifchd-parse.c"
|
#line 2873 "ifchd-parse.c"
|
||||||
|
|
||||||
goto _st102;
|
goto _st102;
|
||||||
_st102:
|
_st102:
|
||||||
@ -2906,10 +2880,10 @@ int execute_buffer(const char *newbuf)
|
|||||||
goto _st67;
|
goto _st67;
|
||||||
_ctr8:
|
_ctr8:
|
||||||
{
|
{
|
||||||
#line 118 "ifchd-parse.rl"
|
#line 92 "ifchd-parse.rl"
|
||||||
cl.state = STATE_NOTHING; }
|
cl.state = STATE_NOTHING; }
|
||||||
|
|
||||||
#line 2913 "ifchd-parse.c"
|
#line 2887 "ifchd-parse.c"
|
||||||
|
|
||||||
goto _st103;
|
goto _st103;
|
||||||
_st103:
|
_st103:
|
||||||
@ -2950,10 +2924,10 @@ int execute_buffer(const char *newbuf)
|
|||||||
goto _st0;
|
goto _st0;
|
||||||
_ctr9:
|
_ctr9:
|
||||||
{
|
{
|
||||||
#line 118 "ifchd-parse.rl"
|
#line 92 "ifchd-parse.rl"
|
||||||
cl.state = STATE_NOTHING; }
|
cl.state = STATE_NOTHING; }
|
||||||
|
|
||||||
#line 2957 "ifchd-parse.c"
|
#line 2931 "ifchd-parse.c"
|
||||||
|
|
||||||
goto _st107;
|
goto _st107;
|
||||||
_st107:
|
_st107:
|
||||||
@ -3012,10 +2986,10 @@ int execute_buffer(const char *newbuf)
|
|||||||
goto _st0;
|
goto _st0;
|
||||||
_ctr10:
|
_ctr10:
|
||||||
{
|
{
|
||||||
#line 118 "ifchd-parse.rl"
|
#line 92 "ifchd-parse.rl"
|
||||||
cl.state = STATE_NOTHING; }
|
cl.state = STATE_NOTHING; }
|
||||||
|
|
||||||
#line 3019 "ifchd-parse.c"
|
#line 2993 "ifchd-parse.c"
|
||||||
|
|
||||||
goto _st113;
|
goto _st113;
|
||||||
_st113:
|
_st113:
|
||||||
@ -3071,16 +3045,16 @@ int execute_buffer(const char *newbuf)
|
|||||||
goto _ctr140;
|
goto _ctr140;
|
||||||
_ctr140:
|
_ctr140:
|
||||||
{
|
{
|
||||||
#line 178 "ifchd-parse.rl"
|
#line 152 "ifchd-parse.rl"
|
||||||
cl.state = STATE_TIMEZONE; }
|
cl.state = STATE_TIMEZONE; }
|
||||||
|
|
||||||
#line 3078 "ifchd-parse.c"
|
#line 3052 "ifchd-parse.c"
|
||||||
|
|
||||||
{
|
{
|
||||||
#line 119 "ifchd-parse.rl"
|
#line 93 "ifchd-parse.rl"
|
||||||
arg_start = p; }
|
arg_start = p; }
|
||||||
|
|
||||||
#line 3084 "ifchd-parse.c"
|
#line 3058 "ifchd-parse.c"
|
||||||
|
|
||||||
goto _st119;
|
goto _st119;
|
||||||
_st119:
|
_st119:
|
||||||
@ -3097,10 +3071,10 @@ int execute_buffer(const char *newbuf)
|
|||||||
goto _st102;
|
goto _st102;
|
||||||
_ctr11:
|
_ctr11:
|
||||||
{
|
{
|
||||||
#line 118 "ifchd-parse.rl"
|
#line 92 "ifchd-parse.rl"
|
||||||
cl.state = STATE_NOTHING; }
|
cl.state = STATE_NOTHING; }
|
||||||
|
|
||||||
#line 3104 "ifchd-parse.c"
|
#line 3078 "ifchd-parse.c"
|
||||||
|
|
||||||
goto _st121;
|
goto _st121;
|
||||||
_st121:
|
_st121:
|
||||||
@ -3278,7 +3252,7 @@ int execute_buffer(const char *newbuf)
|
|||||||
_out: {}
|
_out: {}
|
||||||
}
|
}
|
||||||
|
|
||||||
#line 221 "ifchd-parse.rl"
|
#line 195 "ifchd-parse.rl"
|
||||||
|
|
||||||
|
|
||||||
if (cs == ifchd_parser_error) {
|
if (cs == ifchd_parser_error) {
|
||||||
|
@ -1,34 +1,9 @@
|
|||||||
/* ifchd-parse.h - interface change daemon parser
|
// Copyright 2004-2018 Nicholas J. Kain <njkain at gmail dot com>
|
||||||
*
|
// SPDX-License-Identifier: MIT
|
||||||
* Copyright 2004-2018 Nicholas J. Kain <njkain at gmail dot com>
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* - Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
*
|
|
||||||
* - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _NJK_NDHC_IFCHD_PARSE_H_
|
#ifndef _NJK_NDHC_IFCHD_PARSE_H_
|
||||||
#define _NJK_NDHC_IFCHD_PARSE_H_
|
#define _NJK_NDHC_IFCHD_PARSE_H_
|
||||||
|
|
||||||
int execute_buffer(const char *newbuf);
|
int execute_buffer(const char *newbuf);
|
||||||
|
|
||||||
#endif /* _NJK_NDHC_IFCHD_PARSE_H_ */
|
#endif
|
||||||
|
|
||||||
|
@ -1,31 +1,5 @@
|
|||||||
/* ifchd-parse.rl - interface change daemon parser
|
// Copyright 2004-2018 Nicholas J. Kain <njkain at gmail dot com>
|
||||||
*
|
// SPDX-License-Identifier: MIT
|
||||||
* Copyright 2004-2018 Nicholas J. Kain <njkain at gmail dot com>
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* - Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
*
|
|
||||||
* - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <stddef.h>
|
#include <stddef.h>
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
30
ifchd.c
30
ifchd.c
@ -1,31 +1,5 @@
|
|||||||
/* ifchd.c - interface change daemon
|
// Copyright 2004-2020 Nicholas J. Kain <njkain at gmail dot com>
|
||||||
*
|
// SPDX-License-Identifier: MIT
|
||||||
* Copyright 2004-2020 Nicholas J. Kain <njkain at gmail dot com>
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* - Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
*
|
|
||||||
* - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
4
ifchd.h
4
ifchd.h
@ -1,3 +1,5 @@
|
|||||||
|
// Copyright 2018 Nicholas J. Kain <njkain at gmail dot com>
|
||||||
|
// SPDX-License-Identifier: MIT
|
||||||
#ifndef NJK_IFCHD_H_
|
#ifndef NJK_IFCHD_H_
|
||||||
#define NJK_IFCHD_H_
|
#define NJK_IFCHD_H_
|
||||||
|
|
||||||
@ -48,5 +50,5 @@ int perform_wins(const char *str, size_t len);
|
|||||||
|
|
||||||
void ifch_main(void);
|
void ifch_main(void);
|
||||||
|
|
||||||
#endif /* NJK_IFCHD_H_ */
|
#endif
|
||||||
|
|
||||||
|
30
ifset.c
30
ifset.c
@ -1,31 +1,5 @@
|
|||||||
/* ifset.c - Linux-specific net interface settings include
|
// Copyright 2004-2018 Nicholas J. Kain <njkain at gmail dot com>
|
||||||
*
|
// SPDX-License-Identifier: MIT
|
||||||
* Copyright 2004-2018 Nicholas J. Kain <njkain at gmail dot com>
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* - Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
*
|
|
||||||
* - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
|
30
ifset.h
30
ifset.h
@ -1,31 +1,5 @@
|
|||||||
/* ifset.h - Linux-specific net interface settings include
|
// Copyright 2004-2018 Nicholas J. Kain <njkain at gmail dot com>
|
||||||
*
|
// SPDX-License-Identifier: MIT
|
||||||
* Copyright 2004-2018 Nicholas J. Kain <njkain at gmail dot com>
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* - Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
*
|
|
||||||
* - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef NJK_IFSET_H_
|
#ifndef NJK_IFSET_H_
|
||||||
#define NJK_IFSET_H_
|
#define NJK_IFSET_H_
|
||||||
int perform_carrier(void);
|
int perform_carrier(void);
|
||||||
|
30
leasefile.c
30
leasefile.c
@ -1,31 +1,5 @@
|
|||||||
/* leasefile.c - functions for writing the lease file
|
// Copyright 2011-2018 Nicholas J. Kain <njkain at gmail dot com>
|
||||||
*
|
// SPDX-License-Identifier: MIT
|
||||||
* Copyright 2011-2018 Nicholas J. Kain <njkain at gmail dot com>
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* - Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
*
|
|
||||||
* - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
32
leasefile.h
32
leasefile.h
@ -1,36 +1,10 @@
|
|||||||
/* leasefile.h - functions for writing the lease file
|
// Copyright 2011-2018 Nicholas J. Kain <njkain at gmail dot com>
|
||||||
*
|
// SPDX-License-Identifier: MIT
|
||||||
* Copyright 2011-2018 Nicholas J. Kain <njkain at gmail dot com>
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* - Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
*
|
|
||||||
* - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef NJK_NDHC_LEASEFILE_H_
|
#ifndef NJK_NDHC_LEASEFILE_H_
|
||||||
#define NJK_NDHC_LEASEFILE_H_
|
#define NJK_NDHC_LEASEFILE_H_
|
||||||
|
|
||||||
void open_leasefile(void);
|
void open_leasefile(void);
|
||||||
void write_leasefile(struct in_addr ipnum);
|
void write_leasefile(struct in_addr ipnum);
|
||||||
|
|
||||||
#endif /* NJK_NDHC_LEASEFILE_H_ */
|
#endif
|
||||||
|
|
||||||
|
@ -4,5 +4,5 @@
|
|||||||
#define NDHC_VERSION "2.0"
|
#define NDHC_VERSION "2.0"
|
||||||
#define MAX_BUF 1024
|
#define MAX_BUF 1024
|
||||||
|
|
||||||
#endif /* NDHC_DEFINES_H_ */
|
#endif
|
||||||
|
|
||||||
|
72
ndhc.c
72
ndhc.c
@ -1,31 +1,5 @@
|
|||||||
/* ndhc.c - DHCP client
|
// Copyright 2004-2022 Nicholas J. Kain <njkain at gmail dot com>
|
||||||
*
|
// SPDX-License-Identifier: MIT
|
||||||
* Copyright 2004-2020 Nicholas J. Kain <njkain at gmail dot com>
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* - Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
*
|
|
||||||
* - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <sys/time.h>
|
#include <sys/time.h>
|
||||||
#include <sys/stat.h>
|
#include <sys/stat.h>
|
||||||
@ -117,34 +91,32 @@ void set_client_addr(const char *v) { cs.clientAddr = inet_addr(v); }
|
|||||||
void print_version(void)
|
void print_version(void)
|
||||||
{
|
{
|
||||||
printf("ndhc %s, dhcp client.\n", NDHC_VERSION);
|
printf("ndhc %s, dhcp client.\n", NDHC_VERSION);
|
||||||
printf("Copyright 2004-2020 Nicholas J. Kain\n"
|
printf("Copyright 2004-2022 Nicholas J. Kain\n\n"
|
||||||
"All rights reserved.\n\n"
|
"Permission is hereby granted, free of charge, to any person obtaining\n"
|
||||||
"Redistribution and use in source and binary forms, with or without\n"
|
"a copy of this software and associated documentation files (the\n"
|
||||||
"modification, are permitted provided that the following conditions are met:\n\n"
|
"\"Software\"), to deal in the Software without restriction, including\n"
|
||||||
"- Redistributions of source code must retain the above copyright notice,\n"
|
"without limitation the rights to use, copy, modify, merge, publish,\n"
|
||||||
" this list of conditions and the following disclaimer.\n"
|
"distribute, sublicense, and/or sell copies of the Software, and to\n"
|
||||||
"- Redistributions in binary form must reproduce the above copyright notice,\n"
|
"permit persons to whom the Software is furnished to do so, subject to\n"
|
||||||
" this list of conditions and the following disclaimer in the documentation\n"
|
"the following conditions:\n\n"
|
||||||
" and/or other materials provided with the distribution.\n\n"
|
"The above copyright notice and this permission notice shall be\n"
|
||||||
"THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS \"AS IS\"\n"
|
"included in all copies or substantial portions of the Software.\n\n"
|
||||||
"AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE\n"
|
"THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,\n"
|
||||||
"IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE\n"
|
"EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n"
|
||||||
"ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE\n"
|
"MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND\n"
|
||||||
"LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR\n"
|
"NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE\n"
|
||||||
"CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF\n"
|
"LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION\n"
|
||||||
"SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS\n"
|
"OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION\n"
|
||||||
"INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN\n"
|
"WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n"
|
||||||
"CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)\n"
|
);
|
||||||
"ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE\n"
|
|
||||||
"POSSIBILITY OF SUCH DAMAGE.\n");
|
|
||||||
exit(EXIT_SUCCESS);
|
exit(EXIT_SUCCESS);
|
||||||
}
|
}
|
||||||
|
|
||||||
void show_usage(void)
|
void show_usage(void)
|
||||||
{
|
{
|
||||||
printf(
|
printf(
|
||||||
"ndhc " NDHC_VERSION ", dhcp client. Licensed under 2-clause BSD.\n"
|
"ndhc " NDHC_VERSION ", dhcp client.\n"
|
||||||
"Copyright 2004-2020 Nicholas J. Kain\n"
|
"Copyright 2004-2022 Nicholas J. Kain\n"
|
||||||
"Usage: ndhc [OPTIONS]\n\n"
|
"Usage: ndhc [OPTIONS]\n\n"
|
||||||
" -c, --config=FILE Path to ndhc configuration file\n"
|
" -c, --config=FILE Path to ndhc configuration file\n"
|
||||||
" -I, --clientid=CLIENTID Client identifier\n"
|
" -I, --clientid=CLIENTID Client identifier\n"
|
||||||
|
32
ndhc.h
32
ndhc.h
@ -1,30 +1,5 @@
|
|||||||
/* ndhc.h - DHCP client
|
// Copyright 2014-2020 Nicholas J. Kain <njkain at gmail dot com>
|
||||||
*
|
// SPDX-License-Identifier: MIT
|
||||||
* Copyright 2014-2020 Nicholas J. Kain <njkain at gmail dot com>
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* - Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
*
|
|
||||||
* - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
#ifndef NJK_NDHC_NDHC_H_
|
#ifndef NJK_NDHC_NDHC_H_
|
||||||
#define NJK_NDHC_NDHC_H_
|
#define NJK_NDHC_NDHC_H_
|
||||||
|
|
||||||
@ -106,4 +81,5 @@ void signal_exit(int status);
|
|||||||
int get_clientid_string(const char *str, size_t slen);
|
int get_clientid_string(const char *str, size_t slen);
|
||||||
void print_version(void);
|
void print_version(void);
|
||||||
|
|
||||||
#endif /* NJK_NDHC_NDHC_H_ */
|
#endif
|
||||||
|
|
||||||
|
30
netlink.c
30
netlink.c
@ -1,31 +1,5 @@
|
|||||||
/* netlink.c - netlink physical link notification handling and info retrieval
|
// Copyright 2011-2018 Nicholas J. Kain <njkain at gmail dot com>
|
||||||
*
|
// SPDX-License-Identifier: MIT
|
||||||
* Copyright 2011-2018 Nicholas J. Kain <njkain at gmail dot com>
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* - Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
*
|
|
||||||
* - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <arpa/inet.h>
|
#include <arpa/inet.h>
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
|
33
netlink.h
33
netlink.h
@ -1,31 +1,5 @@
|
|||||||
/* netlink.h - netlink physical link notification handling and info retrieval
|
// Copyright 2011-2018 Nicholas J. Kain <njkain at gmail dot com>
|
||||||
*
|
// SPDX-License-Identifier: MIT
|
||||||
* Copyright 2011-2018 Nicholas J. Kain <njkain at gmail dot com>
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* - Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
*
|
|
||||||
* - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef NK_NETLINK_H_
|
#ifndef NK_NETLINK_H_
|
||||||
#define NK_NETLINK_H_
|
#define NK_NETLINK_H_
|
||||||
|
|
||||||
@ -45,4 +19,5 @@ bool nl_event_carrier_wentup(int state);
|
|||||||
int nl_event_get(struct client_state_t *cs);
|
int nl_event_get(struct client_state_t *cs);
|
||||||
int nl_getifdata(void);
|
int nl_getifdata(void);
|
||||||
|
|
||||||
#endif /* NK_NETLINK_H_ */
|
#endif
|
||||||
|
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
// Copyright 2015 Nicholas J. Kain <njkain at gmail dot com>
|
||||||
|
// SPDX-License-Identifier: MIT
|
||||||
#ifndef NCMLIB_COPY_CMDARG_H_
|
#ifndef NCMLIB_COPY_CMDARG_H_
|
||||||
#define NCMLIB_COPY_CMDARG_H_
|
#define NCMLIB_COPY_CMDARG_H_
|
||||||
|
|
||||||
@ -15,4 +17,5 @@ static inline void copy_cmdarg(char *dest, const char *src,
|
|||||||
suicide("snprintf would truncate %s arg; it's too long", argname);
|
suicide("snprintf would truncate %s arg; it's too long", argname);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* NCMLIB_COPY_CMDARG_H_ */
|
#endif
|
||||||
|
|
||||||
|
30
nk/hwrng.c
30
nk/hwrng.c
@ -1,31 +1,5 @@
|
|||||||
/* hwrng.c - access to system CRNG
|
// Copyright 2013-2018 Nicholas J. Kain <njkain at gmail dot com>
|
||||||
*
|
// SPDX-License-Identifier: MIT
|
||||||
* Copyright 2013-2018 Nicholas J. Kain <njkain at gmail dot com>
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* - Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
*
|
|
||||||
* - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
|
30
nk/hwrng.h
30
nk/hwrng.h
@ -1,30 +1,5 @@
|
|||||||
/* hwrng.h - access to system CRNG
|
// Copyright 2016 Nicholas J. Kain <njkain at gmail dot com>
|
||||||
*
|
// SPDX-License-Identifier: MIT
|
||||||
* Copyright 2016 Nicholas J. Kain <njkain at gmail dot com>
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* - Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
*
|
|
||||||
* - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
#ifndef NCMLIB_HWCRNG__
|
#ifndef NCMLIB_HWCRNG__
|
||||||
#define NCMLIB_HWCRNG__
|
#define NCMLIB_HWCRNG__
|
||||||
|
|
||||||
@ -34,4 +9,3 @@ void nk_get_hwrng(void *seed, size_t len);
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
30
nk/io.c
30
nk/io.c
@ -1,31 +1,5 @@
|
|||||||
/* io.c - light wrappers for POSIX i/o functions
|
// Copyright 2010-2018 Nicholas J. Kain <njkain at gmail dot com>
|
||||||
*
|
// SPDX-License-Identifier: MIT
|
||||||
* Copyright 2010-2018 Nicholas J. Kain <njkain at gmail dot com>
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* - Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
*
|
|
||||||
* - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
|
33
nk/io.h
33
nk/io.h
@ -1,31 +1,5 @@
|
|||||||
/* io.h - light wrappers for POSIX i/o functions
|
// Copyright 2010-2015 Nicholas J. Kain <njkain at gmail dot com>
|
||||||
*
|
// SPDX-License-Identifier: MIT
|
||||||
* Copyright 2010-2015 Nicholas J. Kain <njkain at gmail dot com>
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* - Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
*
|
|
||||||
* - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef NCM_IO_H_
|
#ifndef NCM_IO_H_
|
||||||
#define NCM_IO_H_
|
#define NCM_IO_H_
|
||||||
|
|
||||||
@ -39,4 +13,5 @@ ssize_t safe_recv(int fd, char *buf, size_t len, int flags);
|
|||||||
ssize_t safe_recvmsg(int fd, struct msghdr *msg, int flags);
|
ssize_t safe_recvmsg(int fd, struct msghdr *msg, int flags);
|
||||||
int safe_ftruncate(int fd, off_t length);
|
int safe_ftruncate(int fd, off_t length);
|
||||||
|
|
||||||
#endif /* NCM_IO_H_ */
|
#endif
|
||||||
|
|
||||||
|
30
nk/log.h
30
nk/log.h
@ -1,31 +1,5 @@
|
|||||||
/* log.h - simple logging support
|
// Copyright 2003-2020 Nicholas J. Kain <njkain at gmail dot com>
|
||||||
*
|
// SPDX-License-Identifier: MIT
|
||||||
* Copyright 2003-2020 Nicholas J. Kain <njkain at gmail dot com>
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* - Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
*
|
|
||||||
* - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef NCM_LOG_H_
|
#ifndef NCM_LOG_H_
|
||||||
#define NCM_LOG_H_
|
#define NCM_LOG_H_
|
||||||
|
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
// Copyright 2020 Nicholas J. Kain <njkain at gmail dot com>
|
||||||
|
// SPDX-License-Identifier: MIT
|
||||||
#ifndef NCMLIB_NET_CHECKSUM16_H
|
#ifndef NCMLIB_NET_CHECKSUM16_H
|
||||||
#define NCMLIB_NET_CHECKSUM16_H
|
#define NCMLIB_NET_CHECKSUM16_H
|
||||||
|
|
||||||
|
30
nk/privs.c
30
nk/privs.c
@ -1,31 +1,5 @@
|
|||||||
/* privs.c - uid/gid, chroot, and capability handling
|
// Copyright 2005-2018 Nicholas J. Kain <njkain at gmail dot com>
|
||||||
*
|
// SPDX-License-Identifier: MIT
|
||||||
* Copyright 2005-2018 Nicholas J. Kain <njkain at gmail dot com>
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* - Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
*
|
|
||||||
* - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef _GNU_SOURCE
|
#ifndef _GNU_SOURCE
|
||||||
#define _GNU_SOURCE
|
#define _GNU_SOURCE
|
||||||
#endif
|
#endif
|
||||||
|
30
nk/privs.h
30
nk/privs.h
@ -1,31 +1,5 @@
|
|||||||
/* privs.h - uid/gid, chroot, and capability handling
|
// Copyright 2005-2014 Nicholas J. Kain <njkain at gmail dot com>
|
||||||
*
|
// SPDX-License-Identifier: MIT
|
||||||
* Copyright 2005-2014 Nicholas J. Kain <njkain at gmail dot com>
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* - Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
*
|
|
||||||
* - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifndef NCM_PRIVS_H_
|
#ifndef NCM_PRIVS_H_
|
||||||
#define NCM_PRIVS_H_
|
#define NCM_PRIVS_H_
|
||||||
|
|
||||||
|
30
nk/random.c
30
nk/random.c
@ -1,31 +1,5 @@
|
|||||||
/* random.c - non-cryptographic fast PRNG
|
// Copyright 2013-2018 Nicholas J. Kain <njkain at gmail dot com>
|
||||||
*
|
// SPDX-License-Identifier: MIT
|
||||||
* Copyright 2013-2018 Nicholas J. Kain <njkain at gmail dot com>
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* - Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
*
|
|
||||||
* - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include "nk/hwrng.h"
|
#include "nk/hwrng.h"
|
||||||
#include "nk/random.h"
|
#include "nk/random.h"
|
||||||
|
29
nk/random.h
29
nk/random.h
@ -1,30 +1,5 @@
|
|||||||
/* random.h - non-cryptographic fast PRNG
|
// Copyright 2013-2018 Nicholas J. Kain <njkain at gmail dot com>
|
||||||
*
|
// SPDX-License-Identifier: MIT
|
||||||
* Copyright 2013-2018 Nicholas J. Kain <njkain at gmail dot com>
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* - Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
*
|
|
||||||
* - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
#ifndef NCMLIB_RANDOM__
|
#ifndef NCMLIB_RANDOM__
|
||||||
#define NCMLIB_RANDOM__
|
#define NCMLIB_RANDOM__
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
30
nl.c
30
nl.c
@ -1,31 +1,5 @@
|
|||||||
/* nl.c - low level netlink protocol functions
|
// Copyright 2011-2018 Nicholas J. Kain <njkain at gmail dot com>
|
||||||
*
|
// SPDX-License-Identifier: MIT
|
||||||
* Copyright 2011-2018 Nicholas J. Kain <njkain at gmail dot com>
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* - Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
*
|
|
||||||
* - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <assert.h>
|
#include <assert.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
#include <sys/socket.h>
|
#include <sys/socket.h>
|
||||||
|
32
nl.h
32
nl.h
@ -1,30 +1,5 @@
|
|||||||
/* nl.h - low level netlink protocol functions
|
// Copyright 2011-2018 Nicholas J. Kain <njkain at gmail dot com>
|
||||||
*
|
// SPDX-License-Identifier: MIT
|
||||||
* Copyright 2011-2018 Nicholas J. Kain <njkain at gmail dot com>
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* - Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
*
|
|
||||||
* - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
#ifndef NK_NL_H_
|
#ifndef NK_NL_H_
|
||||||
#define NK_NL_H_
|
#define NK_NL_H_
|
||||||
|
|
||||||
@ -65,4 +40,5 @@ int nl_sendgetaddrs6(int fd, uint32_t seq);
|
|||||||
|
|
||||||
int nl_open(int nltype, unsigned nlgroup, uint32_t *nlportid);
|
int nl_open(int nltype, unsigned nlgroup, uint32_t *nlportid);
|
||||||
|
|
||||||
#endif /* NK_NL_H_ */
|
#endif
|
||||||
|
|
||||||
|
30
options.c
30
options.c
@ -1,31 +1,5 @@
|
|||||||
/* options.c - DHCP options handling
|
// Copyright 2004-2018 Nicholas J. Kain <njkain at gmail dot com>
|
||||||
*
|
// SPDX-License-Identifier: MIT
|
||||||
* Copyright 2004-2018 Nicholas J. Kain <njkain at gmail dot com>
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* - Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
*
|
|
||||||
* - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
29
options.h
29
options.h
@ -1,30 +1,5 @@
|
|||||||
/* options.h - DHCP options handling
|
// Copyright 2004-2018 Nicholas J. Kain <njkain at gmail dot com>
|
||||||
*
|
// SPDX-License-Identifier: MIT
|
||||||
* Copyright 2004-2018 Nicholas J. Kain <njkain at gmail dot com>
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* - Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
*
|
|
||||||
* - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
#ifndef OPTIONS_H_
|
#ifndef OPTIONS_H_
|
||||||
#define OPTIONS_H_
|
#define OPTIONS_H_
|
||||||
|
|
||||||
|
30
rfkill.c
30
rfkill.c
@ -1,31 +1,5 @@
|
|||||||
/* rfkill.c - rfkill interface and handling
|
// Copyright 2015-2018 Nicholas J. Kain <njkain at gmail dot com>
|
||||||
*
|
// SPDX-License-Identifier: MIT
|
||||||
* Copyright 2015-2018 Nicholas J. Kain <njkain at gmail dot com>
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* - Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
*
|
|
||||||
* - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
29
rfkill.h
29
rfkill.h
@ -1,32 +1,7 @@
|
|||||||
|
// Copyright 2015-2018 Nicholas J. Kain <njkain at gmail dot com>
|
||||||
|
// SPDX-License-Identifier: MIT
|
||||||
#ifndef NDHC_RFKILL_H_
|
#ifndef NDHC_RFKILL_H_
|
||||||
#define NDHC_RFKILL_H_
|
#define NDHC_RFKILL_H_
|
||||||
/* rfkill.h - rfkill interface and handling
|
|
||||||
*
|
|
||||||
* Copyright 2015-2018 Nicholas J. Kain <njkain at gmail dot com>
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* - Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
*
|
|
||||||
* - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
RFK_NONE = 0,
|
RFK_NONE = 0,
|
||||||
|
29
sockd.c
29
sockd.c
@ -1,30 +1,5 @@
|
|||||||
/* sockd.c - privsep socket creation daemon
|
// Copyright 2014-2020 Nicholas J. Kain <njkain at gmail dot com>
|
||||||
*
|
// SPDX-License-Identifier: MIT
|
||||||
* Copyright 2014-2020 Nicholas J. Kain <njkain at gmail dot com>
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* - Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
*
|
|
||||||
* - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
#include <stdbool.h>
|
#include <stdbool.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
5
sockd.h
5
sockd.h
@ -1,3 +1,5 @@
|
|||||||
|
// Copyright 2018 Nicholas J. Kain <njkain at gmail dot com>
|
||||||
|
// SPDX-License-Identifier: MIT
|
||||||
#ifndef NDHC_SOCKD_H_
|
#ifndef NDHC_SOCKD_H_
|
||||||
#define NDHC_SOCKD_H_
|
#define NDHC_SOCKD_H_
|
||||||
|
|
||||||
@ -6,4 +8,5 @@ extern gid_t sockd_gid;
|
|||||||
int request_sockd_fd(char *buf, size_t buflen, char *response);
|
int request_sockd_fd(char *buf, size_t buflen, char *response);
|
||||||
void sockd_main(void);
|
void sockd_main(void);
|
||||||
|
|
||||||
#endif /* NDHC_SOCKD_H_ */
|
#endif
|
||||||
|
|
||||||
|
29
state.c
29
state.c
@ -1,30 +1,5 @@
|
|||||||
/* state.c - high level DHCP state machine
|
// Copyright 2011-2020 Nicholas J. Kain <njkain at gmail dot com>
|
||||||
*
|
// SPDX-License-Identifier: MIT
|
||||||
* Copyright 2011-2020 Nicholas J. Kain <njkain at gmail dot com>
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* - Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
*
|
|
||||||
* - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
29
state.h
29
state.h
@ -1,30 +1,5 @@
|
|||||||
/* state.h - high level DHCP state machine
|
// Copyright 2011-2020 Nicholas J. Kain <njkain at gmail dot com>
|
||||||
*
|
// SPDX-License-Identifier: MIT
|
||||||
* Copyright 2011-2020 Nicholas J. Kain <njkain at gmail dot com>
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* - Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
*
|
|
||||||
* - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
#ifndef NDHC_STATE_H_
|
#ifndef NDHC_STATE_H_
|
||||||
#define NDHC_STATE_H_
|
#define NDHC_STATE_H_
|
||||||
|
|
||||||
|
30
sys.c
30
sys.c
@ -1,31 +1,5 @@
|
|||||||
/* sys.c - misc portable functions
|
// Copyright 2010-2020 Nicholas J. Kain <njkain at gmail dot com>
|
||||||
*
|
// SPDX-License-Identifier: MIT
|
||||||
* Copyright 2010-2020 Nicholas J. Kain <njkain at gmail dot com>
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* - Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
*
|
|
||||||
* - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <signal.h>
|
#include <signal.h>
|
||||||
|
31
sys.h
31
sys.h
@ -1,30 +1,5 @@
|
|||||||
/* sys.h - misc portable functions
|
// Copyright 2010-2020 Nicholas J. Kain <njkain at gmail dot com>
|
||||||
*
|
// SPDX-License-Identifier: MIT
|
||||||
* Copyright 2010-2020 Nicholas J. Kain <njkain at gmail dot com>
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* - Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
*
|
|
||||||
* - Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
||||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
||||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
||||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
||||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
||||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
||||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
||||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
||||||
* POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*/
|
|
||||||
#ifndef SYS_H_
|
#ifndef SYS_H_
|
||||||
#define SYS_H_
|
#define SYS_H_
|
||||||
|
|
||||||
@ -40,5 +15,5 @@ long long IMPL_curms(const char *parent_function);
|
|||||||
|
|
||||||
void setup_signals_subprocess(void);
|
void setup_signals_subprocess(void);
|
||||||
|
|
||||||
#endif /* SYS_H_ */
|
#endif
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user