mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-09 18:45:54 +02:00
Merge remote-tracking branch 'origin/next' into kernel-test
Conflicts: lfs/openssl-compat
This commit is contained in:
@@ -1,5 +0,0 @@
|
||||
/srv/web/esniper/.htaccess
|
||||
/srv/web/esniper/.config.php
|
||||
/srv/web/esniper/.config.state.php
|
||||
/srv/web/esniper/local/
|
||||
/srv/web/esniper/.run/
|
||||
@@ -88,14 +88,27 @@ sub main {
|
||||
# Flush all chains.
|
||||
&flush();
|
||||
|
||||
# Reload firewall rules.
|
||||
&preparerules();
|
||||
# Prepare firewall rules.
|
||||
if (! -z "${General::swroot}/firewall/input"){
|
||||
&buildrules(\%configinputfw);
|
||||
}
|
||||
if (! -z "${General::swroot}/firewall/outgoing"){
|
||||
&buildrules(\%configoutgoingfw);
|
||||
}
|
||||
if (! -z "${General::swroot}/firewall/config"){
|
||||
&buildrules(\%configfwdfw);
|
||||
}
|
||||
|
||||
# Load P2P block rules.
|
||||
&p2pblock();
|
||||
|
||||
# Reload firewall policy.
|
||||
run("/usr/sbin/firewall-policy");
|
||||
|
||||
#Reload firewall.local if present
|
||||
if ( -f '/etc/sysconfig/firewall.local'){
|
||||
run("/etc/sysconfig/firewall.local reload");
|
||||
}
|
||||
}
|
||||
|
||||
sub run {
|
||||
@@ -146,18 +159,6 @@ sub flush {
|
||||
run("$IPTABLES -t mangle -F $CHAIN_MANGLE_NAT_DESTINATION_FIX");
|
||||
}
|
||||
|
||||
sub preparerules {
|
||||
if (! -z "${General::swroot}/firewall/input"){
|
||||
&buildrules(\%configinputfw);
|
||||
}
|
||||
if (! -z "${General::swroot}/firewall/outgoing"){
|
||||
&buildrules(\%configoutgoingfw);
|
||||
}
|
||||
if (! -z "${General::swroot}/firewall/config"){
|
||||
&buildrules(\%configfwdfw);
|
||||
}
|
||||
}
|
||||
|
||||
sub buildrules {
|
||||
my $hash = shift;
|
||||
|
||||
@@ -512,10 +513,6 @@ sub buildrules {
|
||||
}
|
||||
}
|
||||
}
|
||||
#Reload firewall.local if present
|
||||
if ( -f '/etc/sysconfig/firewall.local'){
|
||||
run("/etc/sysconfig/firewall.local reload");
|
||||
}
|
||||
}
|
||||
|
||||
# Formats the given timestamp into the iptables format which is "hh:mm" UTC.
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
Timeout 300
|
||||
ServerSignature on
|
||||
UseCanonicalName off
|
||||
ServerTokens Full
|
||||
ServerTokens Prod
|
||||
LogLevel warn
|
||||
CustomLog /var/log/httpd/access_log combined
|
||||
Include /etc/httpd/conf/hostname.conf
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
Listen 1006
|
||||
|
||||
<VirtualHost *:1006>
|
||||
|
||||
SSLEngine on
|
||||
SSLProtocol all -SSLv2
|
||||
SSLCipherSuite ALL:!ADH:!EXPORT56:!eNULL:!SSLv2:RC4+RSA:+HIGH:+MEDIUM:+LOW:+EXP
|
||||
SSLCertificateFile /etc/httpd/server.crt
|
||||
SSLCertificateKeyFile /etc/httpd/server.key
|
||||
|
||||
DocumentRoot /srv/web/esniper
|
||||
|
||||
Include /etc/httpd/conf/conf.d/php*.conf
|
||||
|
||||
<Directory /srv/web/esniper>
|
||||
Options None
|
||||
AllowOverride None
|
||||
Order allow,deny
|
||||
Allow from all
|
||||
</Directory>
|
||||
|
||||
</VirtualHost>
|
||||
@@ -1,16 +0,0 @@
|
||||
Listen 1002
|
||||
|
||||
<VirtualHost *:1002>
|
||||
|
||||
DocumentRoot /srv/web/phpaj
|
||||
|
||||
Include /etc/httpd/conf/conf.d/php*.conf
|
||||
|
||||
<Directory /srv/web/phpaj>
|
||||
Options None
|
||||
AllowOverride None
|
||||
Order allow,deny
|
||||
Allow from all
|
||||
</Directory>
|
||||
|
||||
</VirtualHost>
|
||||
@@ -61,6 +61,7 @@ etc/rc.d/init.d/mounttmpfs
|
||||
#etc/rc.d/init.d/mysql
|
||||
#etc/rc.d/init.d/netsnmpd
|
||||
etc/rc.d/init.d/network
|
||||
etc/rc.d/init.d/network-trigger
|
||||
etc/rc.d/init.d/network-vlans
|
||||
#etc/rc.d/init.d/networking
|
||||
etc/rc.d/init.d/networking/any
|
||||
@@ -229,6 +230,7 @@ etc/rc.d/rcsysinit.d/S73swconfig
|
||||
etc/rc.d/rcsysinit.d/S75firstsetup
|
||||
etc/rc.d/rcsysinit.d/S80localnet
|
||||
etc/rc.d/rcsysinit.d/S85firewall
|
||||
etc/rc.d/rcsysinit.d/S90network-trigger
|
||||
etc/rc.d/rcsysinit.d/S91network-vlans
|
||||
etc/rc.d/rcsysinit.d/S92rngd
|
||||
etc/rc.d/rc3.d/S15fireinfo
|
||||
|
||||
@@ -10,7 +10,6 @@ usr/bin/curl
|
||||
#usr/include/curl/multi.h
|
||||
#usr/include/curl/stdcheaders.h
|
||||
#usr/include/curl/typecheck-gcc.h
|
||||
#usr/include/curl/types.h
|
||||
#usr/lib/libcurl.a
|
||||
#usr/lib/libcurl.la
|
||||
usr/lib/libcurl.so
|
||||
@@ -18,9 +17,233 @@ usr/lib/libcurl.so.3
|
||||
usr/lib/libcurl.so.4
|
||||
usr/lib/libcurl.so.4.3.0
|
||||
#usr/lib/pkgconfig/libcurl.pc
|
||||
#usr/share/aclocal/libcurl.m4
|
||||
#usr/share/man/man1/curl-config.1
|
||||
#usr/share/man/man1/curl.1
|
||||
#usr/share/man/man1/mk-ca-bundle.1
|
||||
#usr/share/man/man3/CURLMOPT_CHUNK_LENGTH_PENALTY_SIZE.3
|
||||
#usr/share/man/man3/CURLMOPT_CONTENT_LENGTH_PENALTY_SIZE.3
|
||||
#usr/share/man/man3/CURLMOPT_MAXCONNECTS.3
|
||||
#usr/share/man/man3/CURLMOPT_MAX_HOST_CONNECTIONS.3
|
||||
#usr/share/man/man3/CURLMOPT_MAX_PIPELINE_LENGTH.3
|
||||
#usr/share/man/man3/CURLMOPT_MAX_TOTAL_CONNECTIONS.3
|
||||
#usr/share/man/man3/CURLMOPT_PIPELINING.3
|
||||
#usr/share/man/man3/CURLMOPT_PIPELINING_SERVER_BL.3
|
||||
#usr/share/man/man3/CURLMOPT_PIPELINING_SITE_BL.3
|
||||
#usr/share/man/man3/CURLMOPT_SOCKETDATA.3
|
||||
#usr/share/man/man3/CURLMOPT_SOCKETFUNCTION.3
|
||||
#usr/share/man/man3/CURLMOPT_TIMERDATA.3
|
||||
#usr/share/man/man3/CURLMOPT_TIMERFUNCTION.3
|
||||
#usr/share/man/man3/CURLOPT_ACCEPTTIMEOUT_MS.3
|
||||
#usr/share/man/man3/CURLOPT_ACCEPT_ENCODING.3
|
||||
#usr/share/man/man3/CURLOPT_ADDRESS_SCOPE.3
|
||||
#usr/share/man/man3/CURLOPT_APPEND.3
|
||||
#usr/share/man/man3/CURLOPT_AUTOREFERER.3
|
||||
#usr/share/man/man3/CURLOPT_BUFFERSIZE.3
|
||||
#usr/share/man/man3/CURLOPT_CAINFO.3
|
||||
#usr/share/man/man3/CURLOPT_CAPATH.3
|
||||
#usr/share/man/man3/CURLOPT_CERTINFO.3
|
||||
#usr/share/man/man3/CURLOPT_CHUNK_BGN_FUNCTION.3
|
||||
#usr/share/man/man3/CURLOPT_CHUNK_DATA.3
|
||||
#usr/share/man/man3/CURLOPT_CHUNK_END_FUNCTION.3
|
||||
#usr/share/man/man3/CURLOPT_CLOSESOCKETDATA.3
|
||||
#usr/share/man/man3/CURLOPT_CLOSESOCKETFUNCTION.3
|
||||
#usr/share/man/man3/CURLOPT_CONNECTTIMEOUT.3
|
||||
#usr/share/man/man3/CURLOPT_CONNECTTIMEOUT_MS.3
|
||||
#usr/share/man/man3/CURLOPT_CONNECT_ONLY.3
|
||||
#usr/share/man/man3/CURLOPT_CONV_FROM_NETWORK_FUNCTION.3
|
||||
#usr/share/man/man3/CURLOPT_CONV_FROM_UTF8_FUNCTION.3
|
||||
#usr/share/man/man3/CURLOPT_CONV_TO_NETWORK_FUNCTION.3
|
||||
#usr/share/man/man3/CURLOPT_COOKIE.3
|
||||
#usr/share/man/man3/CURLOPT_COOKIEFILE.3
|
||||
#usr/share/man/man3/CURLOPT_COOKIEJAR.3
|
||||
#usr/share/man/man3/CURLOPT_COOKIELIST.3
|
||||
#usr/share/man/man3/CURLOPT_COOKIESESSION.3
|
||||
#usr/share/man/man3/CURLOPT_COPYPOSTFIELDS.3
|
||||
#usr/share/man/man3/CURLOPT_CRLF.3
|
||||
#usr/share/man/man3/CURLOPT_CRLFILE.3
|
||||
#usr/share/man/man3/CURLOPT_CUSTOMREQUEST.3
|
||||
#usr/share/man/man3/CURLOPT_DEBUGDATA.3
|
||||
#usr/share/man/man3/CURLOPT_DEBUGFUNCTION.3
|
||||
#usr/share/man/man3/CURLOPT_DIRLISTONLY.3
|
||||
#usr/share/man/man3/CURLOPT_DNS_CACHE_TIMEOUT.3
|
||||
#usr/share/man/man3/CURLOPT_DNS_INTERFACE.3
|
||||
#usr/share/man/man3/CURLOPT_DNS_LOCAL_IP4.3
|
||||
#usr/share/man/man3/CURLOPT_DNS_LOCAL_IP6.3
|
||||
#usr/share/man/man3/CURLOPT_DNS_SERVERS.3
|
||||
#usr/share/man/man3/CURLOPT_DNS_USE_GLOBAL_CACHE.3
|
||||
#usr/share/man/man3/CURLOPT_EGDSOCKET.3
|
||||
#usr/share/man/man3/CURLOPT_ERRORBUFFER.3
|
||||
#usr/share/man/man3/CURLOPT_EXPECT_100_TIMEOUT_MS.3
|
||||
#usr/share/man/man3/CURLOPT_FAILONERROR.3
|
||||
#usr/share/man/man3/CURLOPT_FILETIME.3
|
||||
#usr/share/man/man3/CURLOPT_FNMATCH_DATA.3
|
||||
#usr/share/man/man3/CURLOPT_FNMATCH_FUNCTION.3
|
||||
#usr/share/man/man3/CURLOPT_FOLLOWLOCATION.3
|
||||
#usr/share/man/man3/CURLOPT_FORBID_REUSE.3
|
||||
#usr/share/man/man3/CURLOPT_FRESH_CONNECT.3
|
||||
#usr/share/man/man3/CURLOPT_FTPPORT.3
|
||||
#usr/share/man/man3/CURLOPT_FTPSSLAUTH.3
|
||||
#usr/share/man/man3/CURLOPT_FTP_ACCOUNT.3
|
||||
#usr/share/man/man3/CURLOPT_FTP_ALTERNATIVE_TO_USER.3
|
||||
#usr/share/man/man3/CURLOPT_FTP_CREATE_MISSING_DIRS.3
|
||||
#usr/share/man/man3/CURLOPT_FTP_FILEMETHOD.3
|
||||
#usr/share/man/man3/CURLOPT_FTP_RESPONSE_TIMEOUT.3
|
||||
#usr/share/man/man3/CURLOPT_FTP_SKIP_PASV_IP.3
|
||||
#usr/share/man/man3/CURLOPT_FTP_SSL_CCC.3
|
||||
#usr/share/man/man3/CURLOPT_FTP_USE_EPRT.3
|
||||
#usr/share/man/man3/CURLOPT_FTP_USE_EPSV.3
|
||||
#usr/share/man/man3/CURLOPT_FTP_USE_PRET.3
|
||||
#usr/share/man/man3/CURLOPT_GSSAPI_DELEGATION.3
|
||||
#usr/share/man/man3/CURLOPT_HEADER.3
|
||||
#usr/share/man/man3/CURLOPT_HEADERDATA.3
|
||||
#usr/share/man/man3/CURLOPT_HEADERFUNCTION.3
|
||||
#usr/share/man/man3/CURLOPT_HEADEROPT.3
|
||||
#usr/share/man/man3/CURLOPT_HTTP200ALIASES.3
|
||||
#usr/share/man/man3/CURLOPT_HTTPAUTH.3
|
||||
#usr/share/man/man3/CURLOPT_HTTPGET.3
|
||||
#usr/share/man/man3/CURLOPT_HTTPHEADER.3
|
||||
#usr/share/man/man3/CURLOPT_HTTPPOST.3
|
||||
#usr/share/man/man3/CURLOPT_HTTPPROXYTUNNEL.3
|
||||
#usr/share/man/man3/CURLOPT_HTTP_CONTENT_DECODING.3
|
||||
#usr/share/man/man3/CURLOPT_HTTP_TRANSFER_DECODING.3
|
||||
#usr/share/man/man3/CURLOPT_HTTP_VERSION.3
|
||||
#usr/share/man/man3/CURLOPT_IGNORE_CONTENT_LENGTH.3
|
||||
#usr/share/man/man3/CURLOPT_INFILESIZE.3
|
||||
#usr/share/man/man3/CURLOPT_INFILESIZE_LARGE.3
|
||||
#usr/share/man/man3/CURLOPT_INTERFACE.3
|
||||
#usr/share/man/man3/CURLOPT_INTERLEAVEDATA.3
|
||||
#usr/share/man/man3/CURLOPT_INTERLEAVEFUNCTION.3
|
||||
#usr/share/man/man3/CURLOPT_IOCTLDATA.3
|
||||
#usr/share/man/man3/CURLOPT_IOCTLFUNCTION.3
|
||||
#usr/share/man/man3/CURLOPT_IPRESOLVE.3
|
||||
#usr/share/man/man3/CURLOPT_ISSUERCERT.3
|
||||
#usr/share/man/man3/CURLOPT_KEYPASSWD.3
|
||||
#usr/share/man/man3/CURLOPT_KRBLEVEL.3
|
||||
#usr/share/man/man3/CURLOPT_LOCALPORT.3
|
||||
#usr/share/man/man3/CURLOPT_LOCALPORTRANGE.3
|
||||
#usr/share/man/man3/CURLOPT_LOGIN_OPTIONS.3
|
||||
#usr/share/man/man3/CURLOPT_LOW_SPEED_LIMIT.3
|
||||
#usr/share/man/man3/CURLOPT_LOW_SPEED_TIME.3
|
||||
#usr/share/man/man3/CURLOPT_MAIL_AUTH.3
|
||||
#usr/share/man/man3/CURLOPT_MAIL_FROM.3
|
||||
#usr/share/man/man3/CURLOPT_MAIL_RCPT.3
|
||||
#usr/share/man/man3/CURLOPT_MAXCONNECTS.3
|
||||
#usr/share/man/man3/CURLOPT_MAXFILESIZE.3
|
||||
#usr/share/man/man3/CURLOPT_MAXFILESIZE_LARGE.3
|
||||
#usr/share/man/man3/CURLOPT_MAXREDIRS.3
|
||||
#usr/share/man/man3/CURLOPT_MAX_RECV_SPEED_LARGE.3
|
||||
#usr/share/man/man3/CURLOPT_MAX_SEND_SPEED_LARGE.3
|
||||
#usr/share/man/man3/CURLOPT_NETRC.3
|
||||
#usr/share/man/man3/CURLOPT_NETRC_FILE.3
|
||||
#usr/share/man/man3/CURLOPT_NEW_DIRECTORY_PERMS.3
|
||||
#usr/share/man/man3/CURLOPT_NEW_FILE_PERMS.3
|
||||
#usr/share/man/man3/CURLOPT_NOBODY.3
|
||||
#usr/share/man/man3/CURLOPT_NOPROGRESS.3
|
||||
#usr/share/man/man3/CURLOPT_NOPROXY.3
|
||||
#usr/share/man/man3/CURLOPT_NOSIGNAL.3
|
||||
#usr/share/man/man3/CURLOPT_OPENSOCKETDATA.3
|
||||
#usr/share/man/man3/CURLOPT_OPENSOCKETFUNCTION.3
|
||||
#usr/share/man/man3/CURLOPT_PASSWORD.3
|
||||
#usr/share/man/man3/CURLOPT_PORT.3
|
||||
#usr/share/man/man3/CURLOPT_POST.3
|
||||
#usr/share/man/man3/CURLOPT_POSTFIELDS.3
|
||||
#usr/share/man/man3/CURLOPT_POSTFIELDSIZE.3
|
||||
#usr/share/man/man3/CURLOPT_POSTFIELDSIZE_LARGE.3
|
||||
#usr/share/man/man3/CURLOPT_POSTQUOTE.3
|
||||
#usr/share/man/man3/CURLOPT_POSTREDIR.3
|
||||
#usr/share/man/man3/CURLOPT_PREQUOTE.3
|
||||
#usr/share/man/man3/CURLOPT_PRIVATE.3
|
||||
#usr/share/man/man3/CURLOPT_PROGRESSDATA.3
|
||||
#usr/share/man/man3/CURLOPT_PROGRESSFUNCTION.3
|
||||
#usr/share/man/man3/CURLOPT_PROTOCOLS.3
|
||||
#usr/share/man/man3/CURLOPT_PROXY.3
|
||||
#usr/share/man/man3/CURLOPT_PROXYAUTH.3
|
||||
#usr/share/man/man3/CURLOPT_PROXYHEADER.3
|
||||
#usr/share/man/man3/CURLOPT_PROXYPASSWORD.3
|
||||
#usr/share/man/man3/CURLOPT_PROXYPORT.3
|
||||
#usr/share/man/man3/CURLOPT_PROXYTYPE.3
|
||||
#usr/share/man/man3/CURLOPT_PROXYUSERNAME.3
|
||||
#usr/share/man/man3/CURLOPT_PROXYUSERPWD.3
|
||||
#usr/share/man/man3/CURLOPT_PROXY_TRANSFER_MODE.3
|
||||
#usr/share/man/man3/CURLOPT_PUT.3
|
||||
#usr/share/man/man3/CURLOPT_QUOTE.3
|
||||
#usr/share/man/man3/CURLOPT_RANDOM_FILE.3
|
||||
#usr/share/man/man3/CURLOPT_RANGE.3
|
||||
#usr/share/man/man3/CURLOPT_READDATA.3
|
||||
#usr/share/man/man3/CURLOPT_READFUNCTION.3
|
||||
#usr/share/man/man3/CURLOPT_REDIR_PROTOCOLS.3
|
||||
#usr/share/man/man3/CURLOPT_REFERER.3
|
||||
#usr/share/man/man3/CURLOPT_RESOLVE.3
|
||||
#usr/share/man/man3/CURLOPT_RESUME_FROM.3
|
||||
#usr/share/man/man3/CURLOPT_RESUME_FROM_LARGE.3
|
||||
#usr/share/man/man3/CURLOPT_RTSP_CLIENT_CSEQ.3
|
||||
#usr/share/man/man3/CURLOPT_RTSP_REQUEST.3
|
||||
#usr/share/man/man3/CURLOPT_RTSP_SERVER_CSEQ.3
|
||||
#usr/share/man/man3/CURLOPT_RTSP_SESSION_ID.3
|
||||
#usr/share/man/man3/CURLOPT_RTSP_STREAM_URI.3
|
||||
#usr/share/man/man3/CURLOPT_RTSP_TRANSPORT.3
|
||||
#usr/share/man/man3/CURLOPT_SASL_IR.3
|
||||
#usr/share/man/man3/CURLOPT_SEEKDATA.3
|
||||
#usr/share/man/man3/CURLOPT_SEEKFUNCTION.3
|
||||
#usr/share/man/man3/CURLOPT_SHARE.3
|
||||
#usr/share/man/man3/CURLOPT_SOCKOPTDATA.3
|
||||
#usr/share/man/man3/CURLOPT_SOCKOPTFUNCTION.3
|
||||
#usr/share/man/man3/CURLOPT_SOCKS5_GSSAPI_NEC.3
|
||||
#usr/share/man/man3/CURLOPT_SOCKS5_GSSAPI_SERVICE.3
|
||||
#usr/share/man/man3/CURLOPT_SSH_AUTH_TYPES.3
|
||||
#usr/share/man/man3/CURLOPT_SSH_HOST_PUBLIC_KEY_MD5.3
|
||||
#usr/share/man/man3/CURLOPT_SSH_KEYDATA.3
|
||||
#usr/share/man/man3/CURLOPT_SSH_KEYFUNCTION.3
|
||||
#usr/share/man/man3/CURLOPT_SSH_KNOWNHOSTS.3
|
||||
#usr/share/man/man3/CURLOPT_SSH_PRIVATE_KEYFILE.3
|
||||
#usr/share/man/man3/CURLOPT_SSH_PUBLIC_KEYFILE.3
|
||||
#usr/share/man/man3/CURLOPT_SSLCERT.3
|
||||
#usr/share/man/man3/CURLOPT_SSLCERTTYPE.3
|
||||
#usr/share/man/man3/CURLOPT_SSLENGINE.3
|
||||
#usr/share/man/man3/CURLOPT_SSLENGINE_DEFAULT.3
|
||||
#usr/share/man/man3/CURLOPT_SSLKEY.3
|
||||
#usr/share/man/man3/CURLOPT_SSLKEYTYPE.3
|
||||
#usr/share/man/man3/CURLOPT_SSLVERSION.3
|
||||
#usr/share/man/man3/CURLOPT_SSL_CIPHER_LIST.3
|
||||
#usr/share/man/man3/CURLOPT_SSL_CTX_DATA.3
|
||||
#usr/share/man/man3/CURLOPT_SSL_CTX_FUNCTION.3
|
||||
#usr/share/man/man3/CURLOPT_SSL_ENABLE_ALPN.3
|
||||
#usr/share/man/man3/CURLOPT_SSL_ENABLE_NPN.3
|
||||
#usr/share/man/man3/CURLOPT_SSL_OPTIONS.3
|
||||
#usr/share/man/man3/CURLOPT_SSL_SESSIONID_CACHE.3
|
||||
#usr/share/man/man3/CURLOPT_SSL_VERIFYHOST.3
|
||||
#usr/share/man/man3/CURLOPT_SSL_VERIFYPEER.3
|
||||
#usr/share/man/man3/CURLOPT_STDERR.3
|
||||
#usr/share/man/man3/CURLOPT_TCP_KEEPALIVE.3
|
||||
#usr/share/man/man3/CURLOPT_TCP_KEEPIDLE.3
|
||||
#usr/share/man/man3/CURLOPT_TCP_KEEPINTVL.3
|
||||
#usr/share/man/man3/CURLOPT_TCP_NODELAY.3
|
||||
#usr/share/man/man3/CURLOPT_TELNETOPTIONS.3
|
||||
#usr/share/man/man3/CURLOPT_TFTP_BLKSIZE.3
|
||||
#usr/share/man/man3/CURLOPT_TIMECONDITION.3
|
||||
#usr/share/man/man3/CURLOPT_TIMEOUT.3
|
||||
#usr/share/man/man3/CURLOPT_TIMEOUT_MS.3
|
||||
#usr/share/man/man3/CURLOPT_TIMEVALUE.3
|
||||
#usr/share/man/man3/CURLOPT_TLSAUTH_PASSWORD.3
|
||||
#usr/share/man/man3/CURLOPT_TLSAUTH_TYPE.3
|
||||
#usr/share/man/man3/CURLOPT_TLSAUTH_USERNAME.3
|
||||
#usr/share/man/man3/CURLOPT_TRANSFERTEXT.3
|
||||
#usr/share/man/man3/CURLOPT_TRANSFER_ENCODING.3
|
||||
#usr/share/man/man3/CURLOPT_UNIX_SOCKET_PATH.3
|
||||
#usr/share/man/man3/CURLOPT_UNRESTRICTED_AUTH.3
|
||||
#usr/share/man/man3/CURLOPT_UPLOAD.3
|
||||
#usr/share/man/man3/CURLOPT_URL.3
|
||||
#usr/share/man/man3/CURLOPT_USERAGENT.3
|
||||
#usr/share/man/man3/CURLOPT_USERNAME.3
|
||||
#usr/share/man/man3/CURLOPT_USERPWD.3
|
||||
#usr/share/man/man3/CURLOPT_USE_SSL.3
|
||||
#usr/share/man/man3/CURLOPT_VERBOSE.3
|
||||
#usr/share/man/man3/CURLOPT_WILDCARDMATCH.3
|
||||
#usr/share/man/man3/CURLOPT_WRITEDATA.3
|
||||
#usr/share/man/man3/CURLOPT_WRITEFUNCTION.3
|
||||
#usr/share/man/man3/CURLOPT_XFERINFODATA.3
|
||||
#usr/share/man/man3/CURLOPT_XFERINFOFUNCTION.3
|
||||
#usr/share/man/man3/CURLOPT_XOAUTH2_BEARER.3
|
||||
#usr/share/man/man3/curl_easy_cleanup.3
|
||||
#usr/share/man/man3/curl_easy_duphandle.3
|
||||
#usr/share/man/man3/curl_easy_escape.3
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#etc/dhcp
|
||||
#etc/dhcp/dhclient.conf
|
||||
#etc/dhcp/dhclient.conf.example
|
||||
etc/dhcp/dhcpd.conf
|
||||
#etc/dhcp/dhcpd.conf.example
|
||||
#usr/bin/omshell
|
||||
#usr/include/dhcpctl
|
||||
#usr/include/dhcpctl/dhcpctl.h
|
||||
|
||||
@@ -1,3 +1,6 @@
|
||||
#lib/dhcpcd
|
||||
#lib/dhcpcd/dev
|
||||
#lib/dhcpcd/dev/udev.so
|
||||
sbin/dhcpcd
|
||||
#usr/share/man/man5/dhcpcd.conf.5
|
||||
#usr/share/man/man8/dhcpcd-run-hooks.8
|
||||
@@ -6,6 +9,8 @@ var/ipfire/dhcpc/dhcpcd-hooks
|
||||
#var/ipfire/dhcpc/dhcpcd-hooks/01-test
|
||||
#var/ipfire/dhcpc/dhcpcd-hooks/02-dump
|
||||
#var/ipfire/dhcpc/dhcpcd-hooks/10-mtu
|
||||
#var/ipfire/dhcpc/dhcpcd-hooks/10-wpa_supplicant
|
||||
#var/ipfire/dhcpc/dhcpcd-hooks/15-timezone
|
||||
#var/ipfire/dhcpc/dhcpcd-hooks/29-lookup-hostname
|
||||
#var/ipfire/dhcpc/dhcpcd-hooks/30-hostname
|
||||
#var/ipfire/dhcpc/dhcpcd-hooks/70-dhcpcd.exe
|
||||
|
||||
@@ -5,10 +5,11 @@
|
||||
#usr/lib/libexpat.la
|
||||
usr/lib/libexpat.so
|
||||
usr/lib/libexpat.so.1
|
||||
usr/lib/libexpat.so.1.5.0
|
||||
#usr/man/man1/xmlwf.1
|
||||
#usr/share/doc/expat-2.0.0
|
||||
#usr/share/doc/expat-2.0.0/expat.png
|
||||
#usr/share/doc/expat-2.0.0/reference.html
|
||||
#usr/share/doc/expat-2.0.0/style.css
|
||||
#usr/share/doc/expat-2.0.0/valid-xhtml10.png
|
||||
usr/lib/libexpat.so.1.6.0
|
||||
#usr/lib/pkgconfig/expat.pc
|
||||
#usr/share/doc/expat-2.1.0
|
||||
#usr/share/doc/expat-2.1.0/expat.png
|
||||
#usr/share/doc/expat-2.1.0/reference.html
|
||||
#usr/share/doc/expat-2.1.0/style.css
|
||||
#usr/share/doc/expat-2.1.0/valid-xhtml10.png
|
||||
#usr/share/man/man1/xmlwf.1
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -63,6 +63,7 @@ etc/rc.d/init.d/mounttmpfs
|
||||
#etc/rc.d/init.d/mysql
|
||||
#etc/rc.d/init.d/netsnmpd
|
||||
etc/rc.d/init.d/network
|
||||
etc/rc.d/init.d/network-trigger
|
||||
etc/rc.d/init.d/network-vlans
|
||||
#etc/rc.d/init.d/networking
|
||||
etc/rc.d/init.d/networking/any
|
||||
@@ -234,6 +235,7 @@ etc/rc.d/rcsysinit.d/S70console
|
||||
etc/rc.d/rcsysinit.d/S75firstsetup
|
||||
etc/rc.d/rcsysinit.d/S80localnet
|
||||
etc/rc.d/rcsysinit.d/S85firewall
|
||||
etc/rc.d/rcsysinit.d/S90network-trigger
|
||||
etc/rc.d/rcsysinit.d/S91network-vlans
|
||||
etc/rc.d/rcsysinit.d/S92rngd
|
||||
etc/rc.d/rc3.d/S15fireinfo
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#etc/logrotate.d
|
||||
etc/logrotate.d/.empty
|
||||
#usr/man/man5/logrotate.5
|
||||
#usr/man/man8/logrotate.8
|
||||
usr/sbin/logrotate
|
||||
var/lib/logrotate.status
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#etc/logwatch
|
||||
etc/logwatch/conf
|
||||
#etc/logwatch/conf/html
|
||||
#etc/logwatch/logwatch.cron
|
||||
#etc/logwatch/conf/ignore.conf
|
||||
#etc/logwatch/conf/logfiles
|
||||
#etc/logwatch/conf/logwatch.conf
|
||||
@@ -18,13 +18,17 @@ usr/sbin/logwatch
|
||||
#usr/share/logwatch/default.conf/html/header.html
|
||||
usr/share/logwatch/default.conf/ignore.conf
|
||||
#usr/share/logwatch/default.conf/logfiles
|
||||
#usr/share/logwatch/default.conf/logfiles/audit_log.conf
|
||||
#usr/share/logwatch/default.conf/logfiles/autorpm.conf
|
||||
#usr/share/logwatch/default.conf/logfiles/bfd.conf
|
||||
#usr/share/logwatch/default.conf/logfiles/cisco.conf
|
||||
#usr/share/logwatch/default.conf/logfiles/citadel.conf
|
||||
usr/share/logwatch/default.conf/logfiles/clam-update.conf
|
||||
#usr/share/logwatch/default.conf/logfiles/clamav.conf
|
||||
usr/share/logwatch/default.conf/logfiles/cron.conf
|
||||
#usr/share/logwatch/default.conf/logfiles/daemon.conf
|
||||
#usr/share/logwatch/default.conf/logfiles/denyhosts.conf
|
||||
#usr/share/logwatch/default.conf/logfiles/dirsrv.conf
|
||||
#usr/share/logwatch/default.conf/logfiles/dnssec.conf
|
||||
#usr/share/logwatch/default.conf/logfiles/dpkg.conf
|
||||
#usr/share/logwatch/default.conf/logfiles/emerge.conf
|
||||
@@ -32,15 +36,20 @@ usr/share/logwatch/default.conf/logfiles/cron.conf
|
||||
#usr/share/logwatch/default.conf/logfiles/exim.conf
|
||||
#usr/share/logwatch/default.conf/logfiles/extreme-networks.conf
|
||||
#usr/share/logwatch/default.conf/logfiles/fail2ban.conf
|
||||
#usr/share/logwatch/default.conf/logfiles/freeradius.conf
|
||||
#usr/share/logwatch/default.conf/logfiles/http-error.conf
|
||||
usr/share/logwatch/default.conf/logfiles/http.conf
|
||||
usr/share/logwatch/default.conf/logfiles/iptables.conf
|
||||
usr/share/logwatch/default.conf/logfiles/kernel.conf
|
||||
usr/share/logwatch/default.conf/logfiles/maillog.conf
|
||||
usr/share/logwatch/default.conf/logfiles/messages.conf
|
||||
#usr/share/logwatch/default.conf/logfiles/mysql-mmm.conf
|
||||
#usr/share/logwatch/default.conf/logfiles/mysql.conf
|
||||
#usr/share/logwatch/default.conf/logfiles/netopia.conf
|
||||
#usr/share/logwatch/default.conf/logfiles/netscreen.conf
|
||||
usr/share/logwatch/default.conf/logfiles/php.conf
|
||||
#usr/share/logwatch/default.conf/logfiles/pix.conf
|
||||
#usr/share/logwatch/default.conf/logfiles/postgresql.conf
|
||||
#usr/share/logwatch/default.conf/logfiles/pureftp.conf
|
||||
#usr/share/logwatch/default.conf/logfiles/qmail-pop3d-current.conf
|
||||
#usr/share/logwatch/default.conf/logfiles/qmail-pop3ds-current.conf
|
||||
@@ -51,13 +60,17 @@ usr/share/logwatch/default.conf/logfiles/resolver.conf
|
||||
usr/share/logwatch/default.conf/logfiles/samba.conf
|
||||
#usr/share/logwatch/default.conf/logfiles/secure.conf
|
||||
#usr/share/logwatch/default.conf/logfiles/sonicwall.conf
|
||||
#usr/share/logwatch/default.conf/logfiles/spamassassin.conf
|
||||
usr/share/logwatch/default.conf/logfiles/syslog.conf
|
||||
#usr/share/logwatch/default.conf/logfiles/tac_acc.conf
|
||||
#usr/share/logwatch/default.conf/logfiles/tivoli-smc.conf
|
||||
#usr/share/logwatch/default.conf/logfiles/up2date.conf
|
||||
#usr/share/logwatch/default.conf/logfiles/vdr.conf
|
||||
usr/share/logwatch/default.conf/logfiles/vsftpd.conf
|
||||
usr/share/logwatch/default.conf/logfiles/windows.conf
|
||||
usr/share/logwatch/default.conf/logfiles/xferlog.conf
|
||||
#usr/share/logwatch/default.conf/logfiles/yum.conf
|
||||
#usr/share/logwatch/default.conf/logfiles/zypp.conf
|
||||
usr/share/logwatch/default.conf/logwatch.conf
|
||||
usr/share/logwatch/default.conf/services
|
||||
#usr/share/logwatch/default.conf/services/afpd.conf
|
||||
@@ -66,8 +79,10 @@ usr/share/logwatch/default.conf/services/amavis.conf
|
||||
#usr/share/logwatch/default.conf/services/audit.conf
|
||||
#usr/share/logwatch/default.conf/services/automount.conf
|
||||
#usr/share/logwatch/default.conf/services/autorpm.conf
|
||||
#usr/share/logwatch/default.conf/services/barracuda.conf
|
||||
#usr/share/logwatch/default.conf/services/bfd.conf
|
||||
#usr/share/logwatch/default.conf/services/cisco.conf
|
||||
#usr/share/logwatch/default.conf/services/citadel.conf
|
||||
usr/share/logwatch/default.conf/services/clam-update.conf
|
||||
#usr/share/logwatch/default.conf/services/clamav-milter.conf
|
||||
usr/share/logwatch/default.conf/services/clamav.conf
|
||||
@@ -75,6 +90,7 @@ usr/share/logwatch/default.conf/services/clamav.conf
|
||||
usr/share/logwatch/default.conf/services/cron.conf
|
||||
#usr/share/logwatch/default.conf/services/denyhosts.conf
|
||||
usr/share/logwatch/default.conf/services/dhcpd.conf
|
||||
#usr/share/logwatch/default.conf/services/dirsrv.conf
|
||||
#usr/share/logwatch/default.conf/services/dnssec.conf
|
||||
#usr/share/logwatch/default.conf/services/dovecot.conf
|
||||
#usr/share/logwatch/default.conf/services/dpkg.conf
|
||||
@@ -86,8 +102,11 @@ usr/share/logwatch/default.conf/services/dhcpd.conf
|
||||
#usr/share/logwatch/default.conf/services/eximstats.conf
|
||||
#usr/share/logwatch/default.conf/services/extreme-networks.conf
|
||||
#usr/share/logwatch/default.conf/services/fail2ban.conf
|
||||
#usr/share/logwatch/default.conf/services/fetchmail.conf
|
||||
#usr/share/logwatch/default.conf/services/freeradius.conf
|
||||
#usr/share/logwatch/default.conf/services/ftpd-messages.conf
|
||||
#usr/share/logwatch/default.conf/services/ftpd-xferlog.conf
|
||||
#usr/share/logwatch/default.conf/services/http-error.conf
|
||||
usr/share/logwatch/default.conf/services/http.conf
|
||||
#usr/share/logwatch/default.conf/services/identd.conf
|
||||
usr/share/logwatch/default.conf/services/imapd.conf
|
||||
@@ -96,13 +115,20 @@ usr/share/logwatch/default.conf/services/init.conf
|
||||
usr/share/logwatch/default.conf/services/ipop3d.conf
|
||||
usr/share/logwatch/default.conf/services/iptables.conf
|
||||
usr/share/logwatch/default.conf/services/kernel.conf
|
||||
#usr/share/logwatch/default.conf/services/knockd.conf
|
||||
#usr/share/logwatch/default.conf/services/lvm.conf
|
||||
#usr/share/logwatch/default.conf/services/mailscanner.conf
|
||||
#usr/share/logwatch/default.conf/services/mdadm.conf
|
||||
#usr/share/logwatch/default.conf/services/mod_security2.conf
|
||||
usr/share/logwatch/default.conf/services/modprobe.conf
|
||||
#usr/share/logwatch/default.conf/services/mountd.conf
|
||||
#usr/share/logwatch/default.conf/services/mysql-mmm.conf
|
||||
#usr/share/logwatch/default.conf/services/mysql.conf
|
||||
#usr/share/logwatch/default.conf/services/named.conf
|
||||
#usr/share/logwatch/default.conf/services/netopia.conf
|
||||
#usr/share/logwatch/default.conf/services/netscreen.conf
|
||||
#usr/share/logwatch/default.conf/services/oidentd.conf
|
||||
#usr/share/logwatch/default.conf/services/omsa.conf
|
||||
usr/share/logwatch/default.conf/services/openvpn.conf
|
||||
usr/share/logwatch/default.conf/services/pam.conf
|
||||
usr/share/logwatch/default.conf/services/pam_pwdb.conf
|
||||
@@ -113,8 +139,10 @@ usr/share/logwatch/default.conf/services/pluto.conf
|
||||
usr/share/logwatch/default.conf/services/pop3.conf
|
||||
#usr/share/logwatch/default.conf/services/portsentry.conf
|
||||
usr/share/logwatch/default.conf/services/postfix.conf
|
||||
#usr/share/logwatch/default.conf/services/postgresql.conf
|
||||
#usr/share/logwatch/default.conf/services/pound.conf
|
||||
#usr/share/logwatch/default.conf/services/proftpd-messages.conf
|
||||
#usr/share/logwatch/default.conf/services/puppet.conf
|
||||
#usr/share/logwatch/default.conf/services/pureftpd.conf
|
||||
#usr/share/logwatch/default.conf/services/qmail-pop3d.conf
|
||||
#usr/share/logwatch/default.conf/services/qmail-pop3ds.conf
|
||||
@@ -123,6 +151,7 @@ usr/share/logwatch/default.conf/services/postfix.conf
|
||||
#usr/share/logwatch/default.conf/services/qmail.conf
|
||||
#usr/share/logwatch/default.conf/services/raid.conf
|
||||
usr/share/logwatch/default.conf/services/resolver.conf
|
||||
#usr/share/logwatch/default.conf/services/rsyslogd.conf
|
||||
#usr/share/logwatch/default.conf/services/rt314.conf
|
||||
usr/share/logwatch/default.conf/services/samba.conf
|
||||
usr/share/logwatch/default.conf/services/saslauthd.conf
|
||||
@@ -134,23 +163,30 @@ usr/share/logwatch/default.conf/services/scsi.conf
|
||||
#usr/share/logwatch/default.conf/services/slon.conf
|
||||
#usr/share/logwatch/default.conf/services/smartd.conf
|
||||
#usr/share/logwatch/default.conf/services/sonicwall.conf
|
||||
#usr/share/logwatch/default.conf/services/spamassassin.conf
|
||||
usr/share/logwatch/default.conf/services/sshd.conf
|
||||
usr/share/logwatch/default.conf/services/sshd2.conf
|
||||
#usr/share/logwatch/default.conf/services/stunnel.conf
|
||||
usr/share/logwatch/default.conf/services/sudo.conf
|
||||
#usr/share/logwatch/default.conf/services/syslog-ng.conf
|
||||
usr/share/logwatch/default.conf/services/syslogd.conf
|
||||
#usr/share/logwatch/default.conf/services/tac_acc.conf
|
||||
#usr/share/logwatch/default.conf/services/tivoli-smc.conf
|
||||
#usr/share/logwatch/default.conf/services/up2date.conf
|
||||
#usr/share/logwatch/default.conf/services/vdr.conf
|
||||
#usr/share/logwatch/default.conf/services/vpopmail.conf
|
||||
usr/share/logwatch/default.conf/services/vsftpd.conf
|
||||
usr/share/logwatch/default.conf/services/windows.conf
|
||||
#usr/share/logwatch/default.conf/services/xntpd.conf
|
||||
#usr/share/logwatch/default.conf/services/yum.conf
|
||||
#usr/share/logwatch/default.conf/services/zypp.conf
|
||||
usr/share/logwatch/default.conf/services/zz-disk_space.conf
|
||||
#usr/share/logwatch/default.conf/services/zz-fortune.conf
|
||||
#usr/share/logwatch/default.conf/services/zz-lm_sensors.conf
|
||||
usr/share/logwatch/default.conf/services/zz-network.conf
|
||||
usr/share/logwatch/default.conf/services/zz-runtime.conf
|
||||
#usr/share/logwatch/default.conf/services/zz-sys.conf
|
||||
#usr/share/logwatch/default.conf/services/zz-zfs.conf
|
||||
#usr/share/logwatch/dist.conf
|
||||
usr/share/logwatch/dist.conf/logfiles
|
||||
usr/share/logwatch/dist.conf/services
|
||||
@@ -184,8 +220,10 @@ usr/share/logwatch/scripts/services/amavis
|
||||
#usr/share/logwatch/scripts/services/audit
|
||||
#usr/share/logwatch/scripts/services/automount
|
||||
#usr/share/logwatch/scripts/services/autorpm
|
||||
#usr/share/logwatch/scripts/services/barracuda
|
||||
#usr/share/logwatch/scripts/services/bfd
|
||||
#usr/share/logwatch/scripts/services/cisco
|
||||
#usr/share/logwatch/scripts/services/citadel
|
||||
usr/share/logwatch/scripts/services/clam-update
|
||||
usr/share/logwatch/scripts/services/clamav
|
||||
#usr/share/logwatch/scripts/services/clamav-milter
|
||||
@@ -194,6 +232,7 @@ usr/share/logwatch/scripts/services/cron
|
||||
#usr/share/logwatch/scripts/services/denyhosts
|
||||
usr/share/logwatch/scripts/services/dhcpd
|
||||
usr/share/logwatch/scripts/services/dialup
|
||||
#usr/share/logwatch/scripts/services/dirsrv
|
||||
#usr/share/logwatch/scripts/services/dnssec
|
||||
#usr/share/logwatch/scripts/services/dovecot
|
||||
#usr/share/logwatch/scripts/services/dpkg
|
||||
@@ -205,9 +244,12 @@ usr/share/logwatch/scripts/services/dialup
|
||||
#usr/share/logwatch/scripts/services/eximstats
|
||||
#usr/share/logwatch/scripts/services/extreme-networks
|
||||
#usr/share/logwatch/scripts/services/fail2ban
|
||||
#usr/share/logwatch/scripts/services/fetchmail
|
||||
#usr/share/logwatch/scripts/services/freeradius
|
||||
#usr/share/logwatch/scripts/services/ftpd-messages
|
||||
#usr/share/logwatch/scripts/services/ftpd-xferlog
|
||||
usr/share/logwatch/scripts/services/http
|
||||
#usr/share/logwatch/scripts/services/http-error
|
||||
#usr/share/logwatch/scripts/services/identd
|
||||
usr/share/logwatch/scripts/services/imapd
|
||||
#usr/share/logwatch/scripts/services/in.qpopper
|
||||
@@ -215,13 +257,20 @@ usr/share/logwatch/scripts/services/init
|
||||
usr/share/logwatch/scripts/services/ipop3d
|
||||
usr/share/logwatch/scripts/services/iptables
|
||||
usr/share/logwatch/scripts/services/kernel
|
||||
#usr/share/logwatch/scripts/services/knockd
|
||||
#usr/share/logwatch/scripts/services/lvm
|
||||
#usr/share/logwatch/scripts/services/mailscanner
|
||||
#usr/share/logwatch/scripts/services/mdadm
|
||||
#usr/share/logwatch/scripts/services/mod_security2
|
||||
usr/share/logwatch/scripts/services/modprobe
|
||||
#usr/share/logwatch/scripts/services/mountd
|
||||
#usr/share/logwatch/scripts/services/mysql
|
||||
#usr/share/logwatch/scripts/services/mysql-mmm
|
||||
#usr/share/logwatch/scripts/services/named
|
||||
#usr/share/logwatch/scripts/services/netopia
|
||||
#usr/share/logwatch/scripts/services/netscreen
|
||||
#usr/share/logwatch/scripts/services/oidentd
|
||||
#usr/share/logwatch/scripts/services/omsa
|
||||
usr/share/logwatch/scripts/services/openvpn
|
||||
usr/share/logwatch/scripts/services/pam
|
||||
usr/share/logwatch/scripts/services/pam_pwdb
|
||||
@@ -232,8 +281,10 @@ usr/share/logwatch/scripts/services/pluto
|
||||
usr/share/logwatch/scripts/services/pop3
|
||||
#usr/share/logwatch/scripts/services/portsentry
|
||||
usr/share/logwatch/scripts/services/postfix
|
||||
#usr/share/logwatch/scripts/services/postgresql
|
||||
#usr/share/logwatch/scripts/services/pound
|
||||
#usr/share/logwatch/scripts/services/proftpd-messages
|
||||
#usr/share/logwatch/scripts/services/puppet
|
||||
#usr/share/logwatch/scripts/services/pureftpd
|
||||
#usr/share/logwatch/scripts/services/qmail
|
||||
#usr/share/logwatch/scripts/services/qmail-pop3d
|
||||
@@ -242,6 +293,7 @@ usr/share/logwatch/scripts/services/postfix
|
||||
#usr/share/logwatch/scripts/services/qmail-smtpd
|
||||
#usr/share/logwatch/scripts/services/raid
|
||||
#usr/share/logwatch/scripts/services/resolver
|
||||
#usr/share/logwatch/scripts/services/rsyslogd
|
||||
#usr/share/logwatch/scripts/services/rt314
|
||||
usr/share/logwatch/scripts/services/samba
|
||||
usr/share/logwatch/scripts/services/saslauthd
|
||||
@@ -253,23 +305,30 @@ usr/share/logwatch/scripts/services/scsi
|
||||
#usr/share/logwatch/scripts/services/slon
|
||||
#usr/share/logwatch/scripts/services/smartd
|
||||
#usr/share/logwatch/scripts/services/sonicwall
|
||||
#usr/share/logwatch/scripts/services/spamassassin
|
||||
usr/share/logwatch/scripts/services/sshd
|
||||
usr/share/logwatch/scripts/services/sshd2
|
||||
#usr/share/logwatch/scripts/services/stunnel
|
||||
usr/share/logwatch/scripts/services/sudo
|
||||
#usr/share/logwatch/scripts/services/syslog-ng
|
||||
usr/share/logwatch/scripts/services/syslogd
|
||||
#usr/share/logwatch/scripts/services/tac_acc
|
||||
#usr/share/logwatch/scripts/services/tivoli-smc
|
||||
#usr/share/logwatch/scripts/services/up2date
|
||||
#usr/share/logwatch/scripts/services/vdr
|
||||
#usr/share/logwatch/scripts/services/vpopmail
|
||||
usr/share/logwatch/scripts/services/vsftpd
|
||||
usr/share/logwatch/scripts/services/windows
|
||||
#usr/share/logwatch/scripts/services/xntpd
|
||||
#usr/share/logwatch/scripts/services/yum
|
||||
#usr/share/logwatch/scripts/services/zypp
|
||||
usr/share/logwatch/scripts/services/zz-disk_space
|
||||
#usr/share/logwatch/scripts/services/zz-fortune
|
||||
#usr/share/logwatch/scripts/services/zz-lm_sensors
|
||||
usr/share/logwatch/scripts/services/zz-network
|
||||
usr/share/logwatch/scripts/services/zz-runtime
|
||||
#usr/share/logwatch/scripts/services/zz-sys
|
||||
#usr/share/logwatch/scripts/services/zz-zfs
|
||||
#usr/share/logwatch/scripts/shared
|
||||
usr/share/logwatch/scripts/shared/applybinddate
|
||||
usr/share/logwatch/scripts/shared/applyeurodate
|
||||
@@ -289,6 +348,11 @@ usr/share/logwatch/scripts/shared/onlyservice
|
||||
usr/share/logwatch/scripts/shared/remove
|
||||
usr/share/logwatch/scripts/shared/removeheaders
|
||||
usr/share/logwatch/scripts/shared/removeservice
|
||||
#usr/share/man/man1/amavis-logwatch.1
|
||||
#usr/share/man/man1/postfix-logwatch.1
|
||||
#usr/share/man/man5/ignore.conf.5
|
||||
#usr/share/man/man5/logwatch.conf.5
|
||||
#usr/share/man/man5/override.conf.5
|
||||
#usr/share/man/man8/logwatch.8
|
||||
var/cache/logwatch
|
||||
var/log/logwatch
|
||||
|
||||
@@ -30,6 +30,7 @@ etc/strongswan.d/charon/eap-tls.conf
|
||||
etc/strongswan.d/charon/eap-ttls.conf
|
||||
etc/strongswan.d/charon/farp.conf
|
||||
etc/strongswan.d/charon/fips-prf.conf
|
||||
etc/strongswan.d/charon/gcm.conf
|
||||
etc/strongswan.d/charon/gcrypt.conf
|
||||
etc/strongswan.d/charon/gmp.conf
|
||||
etc/strongswan.d/charon/hmac.conf
|
||||
@@ -107,6 +108,7 @@ usr/lib/ipsec/plugins/libstrongswan-eap-tls.so
|
||||
usr/lib/ipsec/plugins/libstrongswan-eap-ttls.so
|
||||
usr/lib/ipsec/plugins/libstrongswan-farp.so
|
||||
usr/lib/ipsec/plugins/libstrongswan-fips-prf.so
|
||||
usr/lib/ipsec/plugins/libstrongswan-gcm.so
|
||||
usr/lib/ipsec/plugins/libstrongswan-gcrypt.so
|
||||
usr/lib/ipsec/plugins/libstrongswan-gmp.so
|
||||
usr/lib/ipsec/plugins/libstrongswan-hmac.so
|
||||
@@ -187,6 +189,7 @@ usr/sbin/ipsec
|
||||
#usr/share/strongswan/templates/config/plugins/eap-ttls.conf
|
||||
#usr/share/strongswan/templates/config/plugins/farp.conf
|
||||
#usr/share/strongswan/templates/config/plugins/fips-prf.conf
|
||||
#usr/share/strongswan/templates/config/plugins/gcm.conf
|
||||
#usr/share/strongswan/templates/config/plugins/gcrypt.conf
|
||||
#usr/share/strongswan/templates/config/plugins/gmp.conf
|
||||
#usr/share/strongswan/templates/config/plugins/hmac.conf
|
||||
|
||||
@@ -2,7 +2,6 @@ bin/udevadm
|
||||
etc/modprobe.d/blacklist.conf
|
||||
etc/udev
|
||||
#etc/udev/rules.d
|
||||
#etc/udev/rules.d/30-persistent-network.rules
|
||||
#etc/udev/rules.d/55-lfs.rules
|
||||
#etc/udev/rules.d/81-cdrom.rules
|
||||
#etc/udev/rules.d/83-cdrom-symlinks.rules
|
||||
@@ -29,6 +28,7 @@ lib/udev
|
||||
#lib/udev/hwdb.d/60-keyboard.hwdb
|
||||
#lib/udev/init-net-rules.sh
|
||||
#lib/udev/mtd_probe
|
||||
#lib/udev/network-hotplug-rename
|
||||
#lib/udev/rule_generator.functions
|
||||
#lib/udev/rules.d
|
||||
#lib/udev/rules.d/25-alsa.rules
|
||||
@@ -37,6 +37,7 @@ lib/udev
|
||||
#lib/udev/rules.d/50-udev-default.rules
|
||||
#lib/udev/rules.d/60-cdrom_id.rules
|
||||
#lib/udev/rules.d/60-keyboard.rules
|
||||
#lib/udev/rules.d/60-net.rules
|
||||
#lib/udev/rules.d/60-persistent-alsa.rules
|
||||
#lib/udev/rules.d/60-persistent-input.rules
|
||||
#lib/udev/rules.d/60-persistent-serial.rules
|
||||
|
||||
@@ -21,7 +21,7 @@ RANDFILE = $dir/tmp/.rand
|
||||
x509_extensions = usr_cert
|
||||
default_days = 999999
|
||||
default_crl_days= 30
|
||||
default_md = md5
|
||||
default_md = sha256
|
||||
preserve = no
|
||||
policy = policy_match
|
||||
email_in_dn = no
|
||||
@@ -35,7 +35,7 @@ commonName = supplied
|
||||
emailAddress = optional
|
||||
|
||||
[ req ]
|
||||
default_bits = 1024
|
||||
default_bits = 2048
|
||||
default_keyfile = privkey.pem
|
||||
distinguished_name = req_distinguished_name
|
||||
attributes = req_attributes
|
||||
|
||||
3
config/udev/60-net.rules
Normal file
3
config/udev/60-net.rules
Normal file
@@ -0,0 +1,3 @@
|
||||
# Call a script that checks for the right name of the new device.
|
||||
# If it matches the configuration it will be renamed accordingly.
|
||||
ACTION=="add", SUBSYSTEM=="net", PROGRAM="/lib/udev/network-hotplug-rename", RESULT=="?*", NAME="$result"
|
||||
75
config/udev/network-hotplug-rename
Normal file
75
config/udev/network-hotplug-rename
Normal file
@@ -0,0 +1,75 @@
|
||||
#!/bin/bash
|
||||
###############################################################################
|
||||
# #
|
||||
# IPFire.org - A linux based firewall #
|
||||
# Copyright (C) 2015 IPFire Team <info@ipfire.org> #
|
||||
# #
|
||||
# This program is free software: you can redistribute it and/or modify #
|
||||
# it under the terms of the GNU General Public License as published by #
|
||||
# the Free Software Foundation, either version 3 of the License, or #
|
||||
# (at your option) any later version. #
|
||||
# #
|
||||
# This program is distributed in the hope that it will be useful, #
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
|
||||
# GNU General Public License for more details. #
|
||||
# #
|
||||
# You should have received a copy of the GNU General Public License #
|
||||
# along with this program. If not, see <http://www.gnu.org/licenses/>. #
|
||||
# #
|
||||
###############################################################################
|
||||
|
||||
# Check if all appropriate variables are set
|
||||
[ -n "${INTERFACE}" ] || exit 2
|
||||
|
||||
# Ignore virtual interfaces, etc.
|
||||
case "${INTERFACE}" in
|
||||
lo)
|
||||
exit 0
|
||||
;;
|
||||
tun*)
|
||||
exit 0
|
||||
;;
|
||||
ppp*)
|
||||
exit 0
|
||||
;;
|
||||
esac
|
||||
|
||||
# Check if INTERFACE actually exists
|
||||
[ -d "/sys/class/net/${INTERFACE}" ] || exit 1
|
||||
|
||||
# If the network configuration is not readable,
|
||||
# we cannot go on.
|
||||
if [ ! -r "/var/ipfire/ethernet/settings" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Read network settings
|
||||
eval $(/usr/local/bin/readhash /var/ipfire/ethernet/settings)
|
||||
|
||||
# Standard zones
|
||||
ZONES="RED GREEN ORANGE BLUE"
|
||||
|
||||
# Determine the address of INTERFACE
|
||||
ADDRESS="$(</sys/class/net/${INTERFACE}/address)"
|
||||
|
||||
# Walk through all zones and find the matching interface
|
||||
for zone in ${ZONES}; do
|
||||
address="${zone}_MACADDR"
|
||||
device="${zone}_DEV"
|
||||
|
||||
# Skip if address or device is unset
|
||||
[ -n "${!address}" -a -n "${!device}" ] || continue
|
||||
|
||||
# If a matching interface has been found we will
|
||||
# print the name to which udev will rename it.
|
||||
if [ "${ADDRESS}" = "${!address}" ]; then
|
||||
echo "${!device}"
|
||||
exit 0
|
||||
fi
|
||||
done
|
||||
|
||||
# If we get here we have not found a matching device,
|
||||
# but we won't return an error any way. The new device
|
||||
# will remain with the previous name.
|
||||
exit 0
|
||||
@@ -520,7 +520,8 @@ foreach my $line (@conntrack) {
|
||||
}
|
||||
|
||||
my $sip_colour = ipcolour($sip);
|
||||
my $dip_colour = ipcolour($dip);
|
||||
# use colour of destination network for DNAT
|
||||
my $dip_colour = $dip ne $dip_ret ? ipcolour($dip_ret) : ipcolour($dip);
|
||||
|
||||
my $sserv = '';
|
||||
if ($sport < 1024) {
|
||||
|
||||
@@ -700,11 +700,6 @@ sub GenerateDDNSConfigFile {
|
||||
print FILE "password = $password\n";
|
||||
}
|
||||
|
||||
# These providers need to be set to only use IPv4.
|
||||
if ($provider ~~ ["freedns.afraid.org", "nsupdate.info", "opendns.com", "variomedia.de", "zoneedit.com"]) {
|
||||
print FILE "proto = ipv4\n";
|
||||
}
|
||||
|
||||
print FILE "\n";
|
||||
}
|
||||
|
||||
|
||||
@@ -334,13 +334,14 @@ foreach $_ (@log)
|
||||
my $comment = $3;
|
||||
my $packet = $4;
|
||||
|
||||
$packet =~ /IN=(\w+)/; my $iface=$1; if ( $1 =~ /2./ ){ $iface="";}
|
||||
$packet =~ /SRC=([\d\.]+)/; my $srcaddr=$1;
|
||||
$packet =~ /DST=([\d\.]+)/; my $dstaddr=$1;
|
||||
$packet =~ /MAC=([\w+\:]+)/; my $macaddr=$1;
|
||||
$packet =~ /PROTO=(\w+)/; my $proto=$1;
|
||||
$packet =~ /SPT=(\d+)/; my $srcport=$1;
|
||||
$packet =~ /DPT=(\d+)/; my $dstport=$1;
|
||||
my ($iface, $srcaddr, $dstaddr, $macaddr, $proto, $srcport, $dstport);
|
||||
$iface=$1 if $packet =~ /IN=(\w+)/;
|
||||
$srcaddr=$1 if $packet =~ /SRC=([\d\.]+)/;
|
||||
$dstaddr=$1 if $packet =~ /DST=([\d\.]+)/;
|
||||
$macaddr=$1 if $packet =~ /MAC=([\w+\:]+)/;
|
||||
$proto=$1 if $packet =~ /PROTO=(\w+)/;
|
||||
$srcport=$1 if $packet =~ /SPT=(\d+)/;
|
||||
$dstport=$1 if $packet =~ /DPT=(\d+)/;
|
||||
|
||||
my $gi = Geo::IP::PurePerl->new();
|
||||
my $ccode = $gi->country_code_by_name($srcaddr);
|
||||
|
||||
@@ -437,14 +437,6 @@ sub writeipsecfiles {
|
||||
}
|
||||
print CONF "\n";
|
||||
}#foreach key
|
||||
|
||||
# Add post user includes to config file
|
||||
# After the GUI-connections allows to patch connections.
|
||||
if (-e "/etc/ipsec.user-post.conf") {
|
||||
print CONF "include /etc/ipsec.user-post.conf\n";
|
||||
print CONF "\n";
|
||||
}
|
||||
|
||||
print SECRETS $last_secrets if ($last_secrets);
|
||||
close(CONF);
|
||||
close(SECRETS);
|
||||
@@ -969,9 +961,9 @@ END
|
||||
if (!$errormessage) {
|
||||
&General::log("ipsec", "Creating cacert...");
|
||||
if (open(STDIN, "-|")) {
|
||||
my $opt = " req -x509 -nodes -rand /proc/interrupts:/proc/net/rt_cache";
|
||||
my $opt = " req -x509 -sha256 -nodes";
|
||||
$opt .= " -days 999999";
|
||||
$opt .= " -newkey rsa:2048";
|
||||
$opt .= " -newkey rsa:4096";
|
||||
$opt .= " -keyout ${General::swroot}/private/cakey.pem";
|
||||
$opt .= " -out ${General::swroot}/ca/cacert.pem";
|
||||
|
||||
@@ -992,8 +984,8 @@ END
|
||||
if (!$errormessage) {
|
||||
&General::log("ipsec", "Creating host cert...");
|
||||
if (open(STDIN, "-|")) {
|
||||
my $opt = " req -nodes -rand /proc/interrupts:/proc/net/rt_cache";
|
||||
$opt .= " -newkey rsa:1024";
|
||||
my $opt = " req -sha256 -nodes";
|
||||
$opt .= " -newkey rsa:2048";
|
||||
$opt .= " -keyout ${General::swroot}/certs/hostkey.pem";
|
||||
$opt .= " -out ${General::swroot}/certs/hostreq.pem";
|
||||
$errormessage = &callssl ($opt);
|
||||
@@ -1028,7 +1020,7 @@ END
|
||||
print $fh "subjectAltName=$cgiparams{'SUBJECTALTNAME'}" if ($cgiparams{'SUBJECTALTNAME'});
|
||||
close ($fh);
|
||||
|
||||
my $opt = " ca -days 999999";
|
||||
my $opt = " ca -md sha256 -days 999999";
|
||||
$opt .= " -batch -notext";
|
||||
$opt .= " -in ${General::swroot}/certs/hostreq.pem";
|
||||
$opt .= " -out ${General::swroot}/certs/hostcert.pem";
|
||||
@@ -1451,7 +1443,7 @@ END
|
||||
|
||||
# Sign the certificate request
|
||||
&General::log("ipsec", "Signing your cert $cgiparams{'NAME'}...");
|
||||
my $opt = " ca -days 999999";
|
||||
my $opt = " ca -md sha256 -days 999999";
|
||||
$opt .= " -batch -notext";
|
||||
$opt .= " -in $filename";
|
||||
$opt .= " -out ${General::swroot}/certs/$cgiparams{'NAME'}cert.pem";
|
||||
@@ -1686,7 +1678,7 @@ END
|
||||
|
||||
if (open(STDIN, "-|")) {
|
||||
my $opt = " req -nodes -rand /proc/interrupts:/proc/net/rt_cache";
|
||||
$opt .= " -newkey rsa:1024";
|
||||
$opt .= " -newkey rsa:2048";
|
||||
$opt .= " -keyout ${General::swroot}/certs/$cgiparams{'NAME'}key.pem";
|
||||
$opt .= " -out ${General::swroot}/certs/$cgiparams{'NAME'}req.pem";
|
||||
|
||||
@@ -1723,7 +1715,7 @@ END
|
||||
print $fh "subjectAltName=$cgiparams{'SUBJECTALTNAME'}" if ($cgiparams{'SUBJECTALTNAME'});
|
||||
close ($fh);
|
||||
|
||||
my $opt = " ca -days 999999 -batch -notext";
|
||||
my $opt = " ca -md sha256 -days 999999 -batch -notext";
|
||||
$opt .= " -in ${General::swroot}/certs/$cgiparams{'NAME'}req.pem";
|
||||
$opt .= " -out ${General::swroot}/certs/$cgiparams{'NAME'}cert.pem";
|
||||
$opt .= " -extfile $v3extname";
|
||||
@@ -1886,12 +1878,12 @@ END
|
||||
$cgiparams{'REMOTE_ID'} = '';
|
||||
|
||||
#use default advanced value
|
||||
$cgiparams{'IKE_ENCRYPTION'} = 'aes256|aes192|aes128|3des'; #[18];
|
||||
$cgiparams{'IKE_INTEGRITY'} = 'sha2_256|sha|md5'; #[19];
|
||||
$cgiparams{'IKE_ENCRYPTION'} = 'aes256|aes192|aes128|aes256gcm128|aes192gcm128|aes128gcm128|aes256gcm96|aes192gcm96|aes128gcm96|aes256gcm64|aes192gcm64|aes128gcm64'; #[18];
|
||||
$cgiparams{'IKE_INTEGRITY'} = 'sha2_512|sha2_256|sha'; #[19];
|
||||
$cgiparams{'IKE_GROUPTYPE'} = '4096|3072|2048|1536|1024'; #[20];
|
||||
$cgiparams{'IKE_LIFETIME'} = '3'; #[16];
|
||||
$cgiparams{'ESP_ENCRYPTION'} = 'aes256|aes192|aes128|3des'; #[21];
|
||||
$cgiparams{'ESP_INTEGRITY'} = 'sha2_256|sha1|md5'; #[22];
|
||||
$cgiparams{'ESP_ENCRYPTION'} = 'aes256|aes192|aes128|aes256gcm128|aes192gcm128|aes128gcm128|aes256gcm96|aes192gcm96|aes128gcm96|aes256gcm64|aes192gcm64|aes128gcm64'; #[21];
|
||||
$cgiparams{'ESP_INTEGRITY'} = 'sha2_512|sha2_256|sha1'; #[22];
|
||||
$cgiparams{'ESP_GROUPTYPE'} = ''; #[23];
|
||||
$cgiparams{'ESP_KEYLIFE'} = '1'; #[17];
|
||||
$cgiparams{'COMPRESSION'} = 'on'; #[13];
|
||||
@@ -2145,7 +2137,7 @@ if(($cgiparams{'ACTION'} eq $Lang::tr{'advanced'}) ||
|
||||
goto ADVANCED_ERROR;
|
||||
}
|
||||
foreach my $val (@temp) {
|
||||
if ($val !~ /^(aes256|aes192|aes128|3des|camellia256|camellia192|camellia128)$/) {
|
||||
if ($val !~ /^(aes(256|192|128)(gcm(128|96|64))?|3des|camellia(256|192|128))$/) {
|
||||
$errormessage = $Lang::tr{'invalid input'};
|
||||
goto ADVANCED_ERROR;
|
||||
}
|
||||
@@ -2156,7 +2148,7 @@ if(($cgiparams{'ACTION'} eq $Lang::tr{'advanced'}) ||
|
||||
goto ADVANCED_ERROR;
|
||||
}
|
||||
foreach my $val (@temp) {
|
||||
if ($val !~ /^(sha2_512|sha2_384|sha2_256|sha|md5|aesxcbc)$/) {
|
||||
if ($val !~ /^(sha2_(512|384|256)|sha|md5|aesxcbc)$/) {
|
||||
$errormessage = $Lang::tr{'invalid input'};
|
||||
goto ADVANCED_ERROR;
|
||||
}
|
||||
@@ -2176,8 +2168,8 @@ if(($cgiparams{'ACTION'} eq $Lang::tr{'advanced'}) ||
|
||||
$errormessage = $Lang::tr{'invalid input for ike lifetime'};
|
||||
goto ADVANCED_ERROR;
|
||||
}
|
||||
if ($cgiparams{'IKE_LIFETIME'} < 1 || $cgiparams{'IKE_LIFETIME'} > 24) {
|
||||
$errormessage = $Lang::tr{'ike lifetime should be between 1 and 24 hours'};
|
||||
if ($cgiparams{'IKE_LIFETIME'} < 1 || $cgiparams{'IKE_LIFETIME'} > 8) {
|
||||
$errormessage = $Lang::tr{'ike lifetime should be between 1 and 8 hours'};
|
||||
goto ADVANCED_ERROR;
|
||||
}
|
||||
@temp = split('\|', $cgiparams{'ESP_ENCRYPTION'});
|
||||
@@ -2186,7 +2178,7 @@ if(($cgiparams{'ACTION'} eq $Lang::tr{'advanced'}) ||
|
||||
goto ADVANCED_ERROR;
|
||||
}
|
||||
foreach my $val (@temp) {
|
||||
if ($val !~ /^(aes256|aes192|aes128|3des|camellia256|camellia192|camellia128)$/) {
|
||||
if ($val !~ /^(aes(256|192|128)(gcm(128|96|64))?|3des|camellia(256|192|128))$/) {
|
||||
$errormessage = $Lang::tr{'invalid input'};
|
||||
goto ADVANCED_ERROR;
|
||||
}
|
||||
@@ -2197,7 +2189,7 @@ if(($cgiparams{'ACTION'} eq $Lang::tr{'advanced'}) ||
|
||||
goto ADVANCED_ERROR;
|
||||
}
|
||||
foreach my $val (@temp) {
|
||||
if ($val !~ /^(sha2_512|sha2_384|sha2_256|sha1|md5|aesxcbc)$/) {
|
||||
if ($val !~ /^(sha2_(512|384|256)|sha1|md5|aesxcbc)$/) {
|
||||
$errormessage = $Lang::tr{'invalid input'};
|
||||
goto ADVANCED_ERROR;
|
||||
}
|
||||
@@ -2297,6 +2289,15 @@ if(($cgiparams{'ACTION'} eq $Lang::tr{'advanced'}) ||
|
||||
$checked{'IKE_ENCRYPTION'}{'aes256'} = '';
|
||||
$checked{'IKE_ENCRYPTION'}{'aes192'} = '';
|
||||
$checked{'IKE_ENCRYPTION'}{'aes128'} = '';
|
||||
$checked{'IKE_ENCRYPTION'}{'aes256gcm128'} = '';
|
||||
$checked{'IKE_ENCRYPTION'}{'aes192gcm128'} = '';
|
||||
$checked{'IKE_ENCRYPTION'}{'aes128gcm128'} = '';
|
||||
$checked{'IKE_ENCRYPTION'}{'aes256gcm96'} = '';
|
||||
$checked{'IKE_ENCRYPTION'}{'aes192gcm96'} = '';
|
||||
$checked{'IKE_ENCRYPTION'}{'aes128gcm96'} = '';
|
||||
$checked{'IKE_ENCRYPTION'}{'aes256gcm64'} = '';
|
||||
$checked{'IKE_ENCRYPTION'}{'aes192gcm64'} = '';
|
||||
$checked{'IKE_ENCRYPTION'}{'aes128gcm64'} = '';
|
||||
$checked{'IKE_ENCRYPTION'}{'3des'} = '';
|
||||
$checked{'IKE_ENCRYPTION'}{'camellia256'} = '';
|
||||
$checked{'IKE_ENCRYPTION'}{'camellia192'} = '';
|
||||
@@ -2328,6 +2329,15 @@ if(($cgiparams{'ACTION'} eq $Lang::tr{'advanced'}) ||
|
||||
$checked{'ESP_ENCRYPTION'}{'aes256'} = '';
|
||||
$checked{'ESP_ENCRYPTION'}{'aes192'} = '';
|
||||
$checked{'ESP_ENCRYPTION'}{'aes128'} = '';
|
||||
$checked{'ESP_ENCRYPTION'}{'aes256gcm128'} = '';
|
||||
$checked{'ESP_ENCRYPTION'}{'aes192gcm128'} = '';
|
||||
$checked{'ESP_ENCRYPTION'}{'aes128gcm128'} = '';
|
||||
$checked{'ESP_ENCRYPTION'}{'aes256gcm96'} = '';
|
||||
$checked{'ESP_ENCRYPTION'}{'aes192gcm96'} = '';
|
||||
$checked{'ESP_ENCRYPTION'}{'aes128gcm96'} = '';
|
||||
$checked{'ESP_ENCRYPTION'}{'aes256gcm64'} = '';
|
||||
$checked{'ESP_ENCRYPTION'}{'aes192gcm64'} = '';
|
||||
$checked{'ESP_ENCRYPTION'}{'aes128gcm64'} = '';
|
||||
$checked{'ESP_ENCRYPTION'}{'3des'} = '';
|
||||
$checked{'ESP_ENCRYPTION'}{'camellia256'} = '';
|
||||
$checked{'ESP_ENCRYPTION'}{'camellia192'} = '';
|
||||
@@ -2406,24 +2416,42 @@ if(($cgiparams{'ACTION'} eq $Lang::tr{'advanced'}) ||
|
||||
<td class='boldbase' width="15%">$Lang::tr{'encryption'}</td>
|
||||
<td class='boldbase'>
|
||||
<select name='IKE_ENCRYPTION' multiple='multiple' size='6' style='width: 100%'>
|
||||
<option value='aes256' $checked{'IKE_ENCRYPTION'}{'aes256'}>AES (256 bit)</option>
|
||||
<option value='aes192' $checked{'IKE_ENCRYPTION'}{'aes192'}>AES (192 bit)</option>
|
||||
<option value='aes128' $checked{'IKE_ENCRYPTION'}{'aes128'}>AES (128 bit)</option>
|
||||
<option value='3des' $checked{'IKE_ENCRYPTION'}{'3des'}>3DES</option>
|
||||
<option value='camellia256' $checked{'IKE_ENCRYPTION'}{'camellia256'}>Camellia (256 bit)</option>
|
||||
<option value='camellia192' $checked{'IKE_ENCRYPTION'}{'camellia192'}>Camellia (192 bit)</option>
|
||||
<option value='camellia128' $checked{'IKE_ENCRYPTION'}{'camellia128'}>Camellia (128 bit)</option>
|
||||
<option value='aes256' $checked{'IKE_ENCRYPTION'}{'aes256'}>256 bit AES-CBC</option>
|
||||
<option value='aes192' $checked{'IKE_ENCRYPTION'}{'aes192'}>192 bit AES-CBC</option>
|
||||
<option value='aes128' $checked{'IKE_ENCRYPTION'}{'aes128'}>128 bit AES-CBC</option>
|
||||
<option value='aes256gcm128' $checked{'IKE_ENCRYPTION'}{'aes256gcm128'}>256 bit AES-GCM/128 bit ICV</option>
|
||||
<option value='aes192gcm128' $checked{'IKE_ENCRYPTION'}{'aes192gcm128'}>192 bit AES-GCM/128 bit ICV</option>
|
||||
<option value='aes128gcm128' $checked{'IKE_ENCRYPTION'}{'aes128gcm128'}>128 bit AES-GCM/128 bit ICV</option>
|
||||
<option value='aes256gcm96' $checked{'IKE_ENCRYPTION'}{'aes256gcm96'}>256 bit AES-GCM/96 bit ICV</option>
|
||||
<option value='aes192gcm96' $checked{'IKE_ENCRYPTION'}{'aes192gcm96'}>192 bit AES-GCM/96 bit ICV</option>
|
||||
<option value='aes128gcm96' $checked{'IKE_ENCRYPTION'}{'aes128gcm96'}>128 bit AES-GCM/96 bit ICV</option>
|
||||
<option value='aes256gcm64' $checked{'IKE_ENCRYPTION'}{'aes256gcm64'}>256 bit AES-GCM/64 bit ICV</option>
|
||||
<option value='aes192gcm64' $checked{'IKE_ENCRYPTION'}{'aes192gcm64'}>192 bit AES-GCM/64 bit ICV</option>
|
||||
<option value='aes128gcm64' $checked{'IKE_ENCRYPTION'}{'aes128gcm64'}>128 bit AES-GCM/64 bit ICV</option>
|
||||
<option value='3des' $checked{'IKE_ENCRYPTION'}{'3des'}>168 bit 3DES-EDE-CBC</option>
|
||||
<option value='camellia256' $checked{'IKE_ENCRYPTION'}{'camellia256'}>256 bit Camellia-CBC</option>
|
||||
<option value='camellia192' $checked{'IKE_ENCRYPTION'}{'camellia192'}>192 bit Camellia-CBC</option>
|
||||
<option value='camellia128' $checked{'IKE_ENCRYPTION'}{'camellia128'}>128 bit Camellia-CBC</option>
|
||||
</select>
|
||||
</td>
|
||||
<td class='boldbase'>
|
||||
<select name='ESP_ENCRYPTION' multiple='multiple' size='6' style='width: 100%'>
|
||||
<option value='aes256' $checked{'ESP_ENCRYPTION'}{'aes256'}>AES (256 bit)</option>
|
||||
<option value='aes192' $checked{'ESP_ENCRYPTION'}{'aes192'}>AES (192 bit)</option>
|
||||
<option value='aes128' $checked{'ESP_ENCRYPTION'}{'aes128'}>AES (128 bit)</option>
|
||||
<option value='3des' $checked{'ESP_ENCRYPTION'}{'3des'}>3DES</option>
|
||||
<option value='camellia256' $checked{'ESP_ENCRYPTION'}{'camellia256'}>Camellia (256 bit)</option>
|
||||
<option value='camellia192' $checked{'ESP_ENCRYPTION'}{'camellia192'}>Camellia (192 bit)</option>
|
||||
<option value='camellia128' $checked{'ESP_ENCRYPTION'}{'camellia128'}>Camellia (128 bit)</option>
|
||||
<option value='aes256' $checked{'ESP_ENCRYPTION'}{'aes256'}>256 bit AES-CBC</option>
|
||||
<option value='aes192' $checked{'ESP_ENCRYPTION'}{'aes192'}>192 bit AES-CBC</option>
|
||||
<option value='aes128' $checked{'ESP_ENCRYPTION'}{'aes128'}>128 bit AES-CBC</option>
|
||||
<option value='aes256gcm128' $checked{'ESP_ENCRYPTION'}{'aes256gcm128'}>256 bit AES-GCM/128 bit ICV</option>
|
||||
<option value='aes192gcm128' $checked{'ESP_ENCRYPTION'}{'aes192gcm128'}>192 bit AES-GCM/128 bit ICV</option>
|
||||
<option value='aes128gcm128' $checked{'ESP_ENCRYPTION'}{'aes128gcm128'}>128 bit AES-GCM/128 bit ICV</option>
|
||||
<option value='aes256gcm96' $checked{'ESP_ENCRYPTION'}{'aes256gcm96'}>256 bit AES-GCM/96 bit ICV</option>
|
||||
<option value='aes192gcm96' $checked{'ESP_ENCRYPTION'}{'aes192gcm96'}>192 bit AES-GCM/96 bit ICV</option>
|
||||
<option value='aes128gcm96' $checked{'ESP_ENCRYPTION'}{'aes128gcm96'}>128 bit AES-GCM/96 bit ICV</option>
|
||||
<option value='aes256gcm64' $checked{'ESP_ENCRYPTION'}{'aes256gcm64'}>256 bit AES-GCM/64 bit ICV</option>
|
||||
<option value='aes192gcm64' $checked{'ESP_ENCRYPTION'}{'aes192gcm64'}>192 bit AES-GCM/64 bit ICV</option>
|
||||
<option value='aes128gcm64' $checked{'ESP_ENCRYPTION'}{'aes128gcm64'}>128 bit AES-GCM/64 bit ICV</option>
|
||||
<option value='3des' $checked{'ESP_ENCRYPTION'}{'3des'}>168 bit 3DES-EDE-CBC</option>
|
||||
<option value='camellia256' $checked{'ESP_ENCRYPTION'}{'camellia256'}>256 bit Camellia-CBC</option>
|
||||
<option value='camellia192' $checked{'ESP_ENCRYPTION'}{'camellia192'}>192 bit Camellia-CBC</option>
|
||||
<option value='camellia128' $checked{'ESP_ENCRYPTION'}{'camellia128'}>128 bit Camellia-CBC</option>
|
||||
</select>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
###############################################################################
|
||||
# #
|
||||
# IPFire.org - A linux based firewall #
|
||||
# Copyright (C) 2007 Michael Tremer & Christian Schmidt #
|
||||
# Copyright (C) 2015 Michael Tremer & Christian Schmidt #
|
||||
# #
|
||||
# This program is free software: you can redistribute it and/or modify #
|
||||
# it under the terms of the GNU General Public License as published by #
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
include Config
|
||||
|
||||
VER = 2.0.16
|
||||
VER = 2.0.23
|
||||
|
||||
THISAPP = acpid-$(VER)
|
||||
DL_FILE = $(THISAPP).tar.xz
|
||||
@@ -41,7 +41,7 @@ objects = $(DL_FILE)
|
||||
|
||||
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
|
||||
|
||||
$(DL_FILE)_MD5 = d59fc02c9c34f0d5c137495302e2c074
|
||||
$(DL_FILE)_MD5 = d7bcdcdefcd53b03730e50ba842554ea
|
||||
|
||||
install : $(TARGET)
|
||||
|
||||
|
||||
@@ -25,7 +25,7 @@
|
||||
|
||||
include Config
|
||||
|
||||
VER = 2.2.27
|
||||
VER = 2.2.29
|
||||
|
||||
THISAPP = httpd-$(VER)
|
||||
DL_FILE = $(THISAPP).tar.bz2
|
||||
@@ -47,7 +47,7 @@ objects = $(DL_FILE) \
|
||||
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
|
||||
httpd-2.2.2-config-1.patch = $(DL_FROM)/httpd-2.2.2-config-1.patch
|
||||
|
||||
$(DL_FILE)_MD5 = 8faef0decf3fa7e69b2568eb2105a3d8
|
||||
$(DL_FILE)_MD5 = 579342fdeaa7b8b68d17fee91f8fab6e
|
||||
httpd-2.2.2-config-1.patch_MD5 = e02a3ec5925eb9e111400b9aa229f822
|
||||
|
||||
install : $(TARGET)
|
||||
|
||||
6
lfs/curl
6
lfs/curl
@@ -1,7 +1,7 @@
|
||||
###############################################################################
|
||||
# #
|
||||
# IPFire.org - A linux based firewall #
|
||||
# Copyright (C) 2007 Michael Tremer & Christian Schmidt #
|
||||
# Copyright (C) 2015 Michael Tremer & Christian Schmidt #
|
||||
# #
|
||||
# This program is free software: you can redistribute it and/or modify #
|
||||
# it under the terms of the GNU General Public License as published by #
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
include Config
|
||||
|
||||
VER = 7.31.0
|
||||
VER = 7.40.0
|
||||
|
||||
THISAPP = curl-$(VER)
|
||||
DL_FILE = $(THISAPP).tar.gz
|
||||
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
|
||||
|
||||
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
|
||||
|
||||
$(DL_FILE)_MD5 = 6f26843f7e3a2fb06e02f68a55efe8c7
|
||||
$(DL_FILE)_MD5 = 58943642ea0ed050ab0431ea1caf3a6f
|
||||
|
||||
install : $(TARGET)
|
||||
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
include Config
|
||||
|
||||
VER = 2.1.21
|
||||
VER = 2.1.26
|
||||
|
||||
THISAPP = cyrus-sasl-$(VER)
|
||||
DL_FILE = $(THISAPP).tar.gz
|
||||
@@ -49,7 +49,7 @@ objects = $(DL_FILE)
|
||||
|
||||
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
|
||||
|
||||
$(DL_FILE)_MD5 = dde02db234dea892bee298390890502e
|
||||
$(DL_FILE)_MD5 = a7f4e5e559a0e37b3ffc438c9456e425
|
||||
|
||||
install : $(TARGET)
|
||||
|
||||
@@ -82,7 +82,6 @@ $(subst %,%_MD5,$(objects)) :
|
||||
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
|
||||
@$(PREBUILD)
|
||||
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/cyrus-sasl-2.1.22-bad-elif.patch
|
||||
cd $(DIR_APP) && sed -i '/sasl_global/s/^static //' lib/client.c
|
||||
cd $(DIR_APP) && sed -i 's/cat8/man8/' saslauthd/Makefile.am
|
||||
cd $(DIR_APP) && autoconf
|
||||
@@ -90,7 +89,8 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
|
||||
ifeq "$(PASS)" ""
|
||||
cd $(DIR_APP) && ./configure --prefix=/usr --sysconfdir=/etc \
|
||||
--with-dbpath=/var/lib/sasl/sasldb2 \
|
||||
--with-saslauthd=/var/run/saslauthd
|
||||
--with-saslauthd=/var/run/saslauthd \
|
||||
--with-des=no --with-rc4=no
|
||||
cd $(DIR_APP) && make
|
||||
cd $(DIR_APP) && make install
|
||||
install -v -m700 -d /var/lib/sasl
|
||||
|
||||
65
lfs/dhcp
65
lfs/dhcp
@@ -1,7 +1,7 @@
|
||||
###############################################################################
|
||||
# #
|
||||
# IPFire.org - A linux based firewall #
|
||||
# Copyright (C) 2007-2012 IPFire Team <info@ipfire.org> #
|
||||
# Copyright (C) 2007-2015 IPFire Team <info@ipfire.org> #
|
||||
# #
|
||||
# This program is free software: you can redistribute it and/or modify #
|
||||
# it under the terms of the GNU General Public License as published by #
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
include Config
|
||||
|
||||
VER = 4.2.2
|
||||
VER = 4.3.1
|
||||
|
||||
THISAPP = dhcp-$(VER)
|
||||
DL_FILE = $(THISAPP).tar.gz
|
||||
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
|
||||
|
||||
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
|
||||
|
||||
$(DL_FILE)_MD5 = bb0f0434cd796f76aa7cead391d71f31
|
||||
$(DL_FILE)_MD5 = b3a42ece3c7f2cd2e74a3e12ca881d20
|
||||
|
||||
install : $(TARGET)
|
||||
|
||||
@@ -71,38 +71,33 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
|
||||
@$(PREBUILD)
|
||||
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
|
||||
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp-4.2.2-remove-bind.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp-4.2.0-errwarn-message.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp-4.2.2-options.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp-4.2.0-release-by-ifup.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp-4.2.0-dhclient-decline-backoff.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp-4.2.0-unicast-bootp.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp-4.2.2-dhclient-usage.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp-4.2.0-default-requested-options.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp-4.2.2-xen-checksum.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp-4.2.1-manpages.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp-4.2.0-paths.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp-4.2.2-CLOEXEC.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp-4.2.0-inherit-leases.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp-4.2.0-garbage-chars.patch
|
||||
# ???
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp-4.2.0-missing-ipv6-not-fatal.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp-4.2.0-add_timeout_when_NULL.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp-4.2.1-64_bit_lease_parse.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp-4.2.2-capability.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp-4.2.0-logpid.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp-4.2.0-UseMulticast.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp-4.2.1-sendDecline.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp-4.2.1-retransmission.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp-4.2.2-rfc3442-classless-static-routes.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp-4.2.0-honor-expired.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp-4.2.0-noprefixavail.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp-4.2.2-sharedlib.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp-4.2.0-PPP.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp-4.2.2-lpf-ib.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp-4.2.2-improved-xid.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp-4.2.2-gpxe-cid.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp-4.2.1-invalid-dhclient-conf.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp/dhcp-remove-bind.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp/dhcp-errwarn-message.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp/dhcp-dhclient-options.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp/dhcp-release-by-ifup.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp/dhcp-dhclient-decline-backoff.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp/dhcp-unicast-bootp.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp/dhcp-default-requested-options.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp/dhcp-xen-checksum.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp/dhcp-manpages.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp/dhcp-paths.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp/dhcp-CLOEXEC.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp/dhcp-garbage-chars.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp/dhcp-add_timeout_when_NULL.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp/dhcp-64_bit_lease_parse.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp/dhcp-capability.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp/dhcp-logpid.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp/dhcp-UseMulticast.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp/dhcp-sendDecline.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp/dhcp-rfc3442-classless-static-routes.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp/dhcp-honor-expired.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp/dhcp-sharedlib.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp/dhcp-PPP.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp/dhcp-paranoia.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp/dhcp-lpf-ib.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp/dhcp-improved-xid.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp/dhcp-gpxe-cid.patch
|
||||
cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/dhcp/dhcp-stateless-DUID-LLT.patch
|
||||
|
||||
# Remove bundled BIND stuff.
|
||||
# (requires newer autoconf)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
###############################################################################
|
||||
# #
|
||||
# IPFire.org - A linux based firewall #
|
||||
# Copyright (C) 2012 IPFire Team <info@ipfire.org> #
|
||||
# Copyright (C) 2015 IPFire Team <info@ipfire.org> #
|
||||
# #
|
||||
# This program is free software: you can redistribute it and/or modify #
|
||||
# it under the terms of the GNU General Public License as published by #
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
include Config
|
||||
|
||||
VER = 5.2.9
|
||||
VER = 6.7.1
|
||||
|
||||
THISAPP = dhcpcd-$(VER)
|
||||
DL_FILE = $(THISAPP).tar.bz2
|
||||
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
|
||||
|
||||
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
|
||||
|
||||
$(DL_FILE)_MD5 = aabe4a3c1f23c55f2c99a416c9085de9
|
||||
$(DL_FILE)_MD5 = ffb716b0e9327968e7200d519e1d4c0d
|
||||
|
||||
install : $(TARGET)
|
||||
|
||||
|
||||
10
lfs/expat
10
lfs/expat
@@ -1,7 +1,7 @@
|
||||
###############################################################################
|
||||
# #
|
||||
# IPFire.org - A linux based firewall #
|
||||
# Copyright (C) 2007 Michael Tremer & Christian Schmidt #
|
||||
# Copyright (C) 2014 Michael Tremer & Christian Schmidt #
|
||||
# #
|
||||
# This program is free software: you can redistribute it and/or modify #
|
||||
# it under the terms of the GNU General Public License as published by #
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
include Config
|
||||
|
||||
VER = 2.0.0
|
||||
VER = 2.1.0
|
||||
|
||||
THISAPP = expat-$(VER)
|
||||
DL_FILE = $(THISAPP).tar.gz
|
||||
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
|
||||
|
||||
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
|
||||
|
||||
$(DL_FILE)_MD5 = d945df7f1c0868c5c73cf66ba9596f3f
|
||||
$(DL_FILE)_MD5 = dd7dab7a5fea97d2a6a43f511449b7cd
|
||||
|
||||
install : $(TARGET)
|
||||
|
||||
@@ -73,7 +73,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
|
||||
cd $(DIR_APP) && ./configure --prefix=/usr --disable-nls
|
||||
cd $(DIR_APP) && make $(MAKETUNING)
|
||||
cd $(DIR_APP) && make install
|
||||
cd $(DIR_APP) && install -v -m755 -d /usr/share/doc/expat-2.0.0
|
||||
cd $(DIR_APP) && install -v -m644 doc/*.{html,png,css} /usr/share/doc/expat-2.0.0
|
||||
cd $(DIR_APP) && install -v -m755 -d /usr/share/doc/expat-2.1.0
|
||||
cd $(DIR_APP) && install -v -m644 doc/*.{html,png,css} /usr/share/doc/expat-2.1.0
|
||||
@rm -rf $(DIR_APP)
|
||||
@$(POSTBUILD)
|
||||
|
||||
@@ -211,6 +211,7 @@ endif
|
||||
-fsck.ext4 -f -y $(PART_ROOT)
|
||||
fsck.ext4 -f -y $(PART_ROOT)
|
||||
|
||||
sleep 10 #Ubuntu compiling: allow time to automount/dismount
|
||||
kpartx -d -v $(DEVICE)
|
||||
losetup -d $(DEVICE)
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
###############################################################################
|
||||
# #
|
||||
# IPFire.org - A linux based firewall #
|
||||
# Copyright (C) 2007-2011 IPFire Team <info@ipfire.org> #
|
||||
# Copyright (C) 2007-2015 IPFire Team <info@ipfire.org> #
|
||||
# #
|
||||
# This program is free software: you can redistribute it and/or modify #
|
||||
# it under the terms of the GNU General Public License as published by #
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
include Config
|
||||
|
||||
VER = 1.21
|
||||
VER = 1.22.3
|
||||
|
||||
THISAPP = groff-$(VER)
|
||||
DL_FILE = $(THISAPP).tar.gz
|
||||
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
|
||||
|
||||
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
|
||||
|
||||
$(DL_FILE)_MD5 = 8b8cd29385b97616a0f0d96d0951c5bf
|
||||
$(DL_FILE)_MD5 = cc825fa64bc7306a885f2fb2268d3ec5
|
||||
|
||||
install : $(TARGET)
|
||||
|
||||
|
||||
@@ -176,6 +176,7 @@ $(TARGET) :
|
||||
ln -sf ../init.d/firstsetup /etc/rc.d/rcsysinit.d/S75firstsetup
|
||||
ln -sf ../init.d/localnet /etc/rc.d/rcsysinit.d/S80localnet
|
||||
ln -sf ../init.d/firewall /etc/rc.d/rcsysinit.d/S85firewall
|
||||
ln -sf ../init.d/network-trigger /etc/rc.d/rcsysinit.d/S90network-trigger
|
||||
ln -sf ../init.d/network-vlans /etc/rc.d/rcsysinit.d/S91network-vlans
|
||||
ln -sf ../init.d/rngd /etc/rc.d/rcsysinit.d/S92rngd
|
||||
ln -sf ../init.d/wlanclient /etc/rc.d/rc0.d/K82wlanclient
|
||||
|
||||
15
lfs/iputils
15
lfs/iputils
@@ -1,7 +1,7 @@
|
||||
###############################################################################
|
||||
# #
|
||||
# IPFire.org - A linux based firewall #
|
||||
# Copyright (C) 2007 Michael Tremer & Christian Schmidt #
|
||||
# Copyright (C) 2014 Michael Tremer & Christian Schmidt #
|
||||
# #
|
||||
# This program is free software: you can redistribute it and/or modify #
|
||||
# it under the terms of the GNU General Public License as published by #
|
||||
@@ -24,12 +24,12 @@
|
||||
|
||||
include Config
|
||||
|
||||
VER = ss020927
|
||||
VER = s20121221
|
||||
|
||||
THISAPP = iputils-$(VER)
|
||||
DL_FILE = $(THISAPP).tar.gz
|
||||
DL_FILE = $(THISAPP).tar.bz2
|
||||
DL_FROM = $(URL_IPFIRE)
|
||||
DIR_APP = $(DIR_SRC)/iputils
|
||||
DIR_APP = $(DIR_SRC)/$(THISAPP)
|
||||
TARGET = $(DIR_INFO)/$(THISAPP)
|
||||
|
||||
###############################################################################
|
||||
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
|
||||
|
||||
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
|
||||
|
||||
$(DL_FILE)_MD5 = b5493f7a2997130a4f86c486c9993b86
|
||||
$(DL_FILE)_MD5 = 6072aef64205720dd1893b375e184171
|
||||
|
||||
install : $(TARGET)
|
||||
|
||||
@@ -69,10 +69,7 @@ $(subst %,%_MD5,$(objects)) :
|
||||
|
||||
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
|
||||
@$(PREBUILD)
|
||||
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
|
||||
cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/iputils-20020927-headers.patch
|
||||
cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/iputils-20020927-rh.patch
|
||||
cd $(DIR_APP) && patch -Np1 -i $(DIR_SRC)/src/patches/iputils-glibckernheaders.patch
|
||||
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
|
||||
cd $(DIR_APP) && make ping tracepath
|
||||
cd $(DIR_APP) && install -m 4755 ping /usr/bin
|
||||
cd $(DIR_APP) && install -m 0755 tracepath /usr/bin
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
###############################################################################
|
||||
# #
|
||||
# IPFire.org - A linux based firewall #
|
||||
# Copyright (C) 2007 Michael Tremer & Christian Schmidt #
|
||||
# Copyright (C) 2015 Michael Tremer & Christian Schmidt #
|
||||
# #
|
||||
# This program is free software: you can redistribute it and/or modify #
|
||||
# it under the terms of the GNU General Public License as published by #
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
include Config
|
||||
|
||||
VER = 1.3.0
|
||||
VER = 1.3.1
|
||||
|
||||
THISAPP = libjpeg-turbo-$(VER)
|
||||
DL_FILE = $(THISAPP).tar.gz
|
||||
@@ -42,7 +42,7 @@ objects = $(DL_FILE)
|
||||
|
||||
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
|
||||
|
||||
$(DL_FILE)_MD5 = e1e65cc711a1ade1322c06ad4a647741
|
||||
$(DL_FILE)_MD5 = 2c3a68129dac443a72815ff5bb374b05
|
||||
|
||||
install : $(TARGET)
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
###############################################################################
|
||||
# #
|
||||
# IPFire.org - A linux based firewall #
|
||||
# Copyright (C) 2007 Michael Tremer & Christian Schmidt #
|
||||
# Copyright (C) 2014 Michael Tremer & Christian Schmidt #
|
||||
# #
|
||||
# This program is free software: you can redistribute it and/or modify #
|
||||
# it under the terms of the GNU General Public License as published by #
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
include Config
|
||||
|
||||
VER = 3.7.1
|
||||
VER = 3.8.1
|
||||
|
||||
THISAPP = logrotate-$(VER)
|
||||
DL_FILE = logrotate_$(VER).orig.tar.gz
|
||||
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
|
||||
|
||||
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
|
||||
|
||||
$(DL_FILE)_MD5 = 552639142e163745f6bcd4f1f3816d8a
|
||||
$(DL_FILE)_MD5 = bd2e20d8dc644291b08f9215397d28a5
|
||||
|
||||
install : $(TARGET)
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
###############################################################################
|
||||
# #
|
||||
# IPFire.org - A linux based firewall #
|
||||
# Copyright (C) 2007 Michael Tremer & Christian Schmidt #
|
||||
# Copyright (C) 2015 Michael Tremer & Christian Schmidt #
|
||||
# #
|
||||
# This program is free software: you can redistribute it and/or modify #
|
||||
# it under the terms of the GNU General Public License as published by #
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
include Config
|
||||
|
||||
VER = 7.3.6
|
||||
VER = 7.4.1
|
||||
|
||||
THISAPP = logwatch-$(VER)
|
||||
DL_FILE = $(THISAPP).tar.gz
|
||||
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
|
||||
|
||||
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
|
||||
|
||||
$(DL_FILE)_MD5 = 937d982006b2a76a83edfcfd2e5a9d7d
|
||||
$(DL_FILE)_MD5 = a0c3d8721f877bdcd4a9089eb1b4691b
|
||||
|
||||
install : $(TARGET)
|
||||
|
||||
@@ -99,7 +99,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
|
||||
-mkdir -p /var/log/logwatch
|
||||
chmod -v 755 /var/log/logwatch
|
||||
-rm -rf /etc/logwatch/conf
|
||||
ln -vsf /usr/share/logwatch/default.config /etc/logwatch/conf
|
||||
ln -vsf /usr/share/logwatch/default.conf /etc/logwatch/conf
|
||||
|
||||
@rm -rf $(DIR_APP)
|
||||
@$(POSTBUILD)
|
||||
|
||||
6
lfs/nasm
6
lfs/nasm
@@ -1,7 +1,7 @@
|
||||
###############################################################################
|
||||
# #
|
||||
# IPFire.org - A linux based firewall #
|
||||
# Copyright (C) 2007 Michael Tremer & Christian Schmidt #
|
||||
# Copyright (C) 2015 Michael Tremer & Christian Schmidt #
|
||||
# #
|
||||
# This program is free software: you can redistribute it and/or modify #
|
||||
# it under the terms of the GNU General Public License as published by #
|
||||
@@ -24,7 +24,7 @@
|
||||
|
||||
include Config
|
||||
|
||||
VER = 2.10.03
|
||||
VER = 2.11.06
|
||||
|
||||
THISAPP = nasm-$(VER)
|
||||
DL_FILE = $(THISAPP).tar.xz
|
||||
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
|
||||
|
||||
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
|
||||
|
||||
$(DL_FILE)_MD5 = a5d0ed070476a7c5b4f0893dc4a4ea4b
|
||||
$(DL_FILE)_MD5 = 2b958e9f5d200641e6fc9564977aecc5
|
||||
|
||||
install : $(TARGET)
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
###############################################################################
|
||||
# #
|
||||
# IPFire.org - A linux based firewall #
|
||||
# Copyright (C) 2007-2014 IPFire Team <info@ipfire.org> #
|
||||
# Copyright (C) 2007-2015 IPFire Team <info@ipfire.org> #
|
||||
# #
|
||||
# This program is free software: you can redistribute it and/or modify #
|
||||
# it under the terms of the GNU General Public License as published by #
|
||||
|
||||
@@ -93,6 +93,7 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
|
||||
--enable-farp \
|
||||
--enable-openssl \
|
||||
--enable-gcrypt \
|
||||
--enable-gcm \
|
||||
--enable-xauth-eap \
|
||||
--enable-xauth-noauth \
|
||||
--enable-eap-radius \
|
||||
|
||||
9
lfs/udev
9
lfs/udev
@@ -93,9 +93,6 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
|
||||
rm -f /lib/udev/rules.d/75-persistent-net-generator.rules
|
||||
rm -f /lib/udev/rules.d/80-net-name-slot.rules
|
||||
|
||||
# Create rule file for the setup
|
||||
touch /etc/udev/rules.d/30-persistent-network.rules
|
||||
|
||||
# Blacklist some modules
|
||||
cp -vf $(DIR_SRC)/config/udev/blacklist.conf /etc/modprobe.d/blacklist.conf
|
||||
|
||||
@@ -107,6 +104,12 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
|
||||
install -v -m 644 $(DIR_SRC)/config/udev/25-alsa.rules \
|
||||
/lib/udev/rules.d
|
||||
|
||||
# Install network rules.
|
||||
install -v -m 755 $(DIR_SRC)/config/udev/network-hotplug-rename \
|
||||
/lib/udev/network-hotplug-rename
|
||||
install -v -m 644 $(DIR_SRC)/config/udev/60-net.rules \
|
||||
/lib/udev/rules.d
|
||||
|
||||
# Install hwrng rules.
|
||||
install -v -m 644 $(DIR_SRC)/config/udev/90-hwrng.rules \
|
||||
/lib/udev/rules.d
|
||||
|
||||
22
src/initscripts/init.d/network-trigger
Normal file
22
src/initscripts/init.d/network-trigger
Normal file
@@ -0,0 +1,22 @@
|
||||
#!/bin/sh
|
||||
########################################################################
|
||||
# Begin $rc_base/init.d/network-trigger
|
||||
########################################################################
|
||||
|
||||
. /etc/sysconfig/rc
|
||||
. ${rc_functions}
|
||||
|
||||
case "${1}" in
|
||||
start)
|
||||
boot_mesg "Triggering network devices..."
|
||||
udevadm trigger --action="add" --subsystem-match="net"
|
||||
evaluate_retval
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Usage: ${0} {start}"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# End $rc_base/init.d/network-trigger
|
||||
@@ -833,8 +833,11 @@ int main(int argc, char *argv[]) {
|
||||
|
||||
newtPopWindow();
|
||||
|
||||
/* Set marker that the user has already accepted the gpl */
|
||||
mysystem(logfile, "/usr/bin/touch /harddisk/var/ipfire/main/gpl_accepted");
|
||||
/* Set marker that the user has already accepted the GPL if the license has been shown
|
||||
* in the installation process. In unatteded mode, the user will be presented the
|
||||
* license when he or she logs on to the web user interface for the first time. */
|
||||
if (!config.unattended)
|
||||
mysystem(logfile, "/usr/bin/touch /harddisk/var/ipfire/main/gpl_accepted");
|
||||
|
||||
/* Copy restore file from cdrom */
|
||||
char* backup_file = hw_find_backup_file(logfile, SOURCE_MOUNT_PATH);
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
diff -up cyrus-sasl-2.1.22/plugins/digestmd5.c.elif cyrus-sasl-2.1.22/plugins/digestmd5.c
|
||||
--- cyrus-sasl-2.1.22/plugins/digestmd5.c.elif 2009-01-23 09:40:31.000000000 +0100
|
||||
+++ cyrus-sasl-2.1.22/plugins/digestmd5.c 2009-02-06 15:20:15.000000000 +0100
|
||||
@@ -2743,7 +2743,7 @@ static sasl_server_plug_t digestmd5_serv
|
||||
"DIGEST-MD5", /* mech_name */
|
||||
#ifdef WITH_RC4
|
||||
128, /* max_ssf */
|
||||
-#elif WITH_DES
|
||||
+#elif defined(WITH_DES)
|
||||
112,
|
||||
#else
|
||||
1,
|
||||
@@ -4071,7 +4071,7 @@ static sasl_client_plug_t digestmd5_clie
|
||||
"DIGEST-MD5",
|
||||
#ifdef WITH_RC4 /* mech_name */
|
||||
128, /* max ssf */
|
||||
-#elif WITH_DES
|
||||
+#elif defined(WITH_DES)
|
||||
112,
|
||||
#else
|
||||
1,
|
||||
@@ -1,14 +0,0 @@
|
||||
diff -up dhcp-4.2.0/common/dispatch.c.dracut dhcp-4.2.0/common/dispatch.c
|
||||
--- dhcp-4.2.0/common/dispatch.c.dracut 2010-06-01 19:29:59.000000000 +0200
|
||||
+++ dhcp-4.2.0/common/dispatch.c 2010-07-21 16:10:09.000000000 +0200
|
||||
@@ -189,6 +189,10 @@ void add_timeout (when, where, what, ref
|
||||
isc_interval_t interval;
|
||||
isc_time_t expires;
|
||||
|
||||
+ if (when == NULL) {
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
/* See if this timeout supersedes an existing timeout. */
|
||||
t = (struct timeout *)0;
|
||||
for (q = timeouts; q; q = q->next) {
|
||||
@@ -1,30 +0,0 @@
|
||||
diff -up dhcp-4.2.0/omapip/errwarn.c.errwarn dhcp-4.2.0/omapip/errwarn.c
|
||||
--- dhcp-4.2.0/omapip/errwarn.c.errwarn 2009-07-23 20:52:21.000000000 +0200
|
||||
+++ dhcp-4.2.0/omapip/errwarn.c 2010-07-21 13:23:47.000000000 +0200
|
||||
@@ -76,20 +76,13 @@ void log_fatal (const char * fmt, ... )
|
||||
|
||||
#if !defined (NOMINUM)
|
||||
log_error ("%s", "");
|
||||
- log_error ("If you did not get this software from ftp.isc.org, please");
|
||||
- log_error ("get the latest from ftp.isc.org and install that before");
|
||||
- log_error ("requesting help.");
|
||||
+ log_error ("This version of ISC DHCP is based on the release available");
|
||||
+ log_error ("on ftp.isc.org. Features have been added and other changes");
|
||||
+ log_error ("have been made to the base software release in order to make");
|
||||
+ log_error ("it work better with this distribution.");
|
||||
log_error ("%s", "");
|
||||
- log_error ("If you did get this software from ftp.isc.org and have not");
|
||||
- log_error ("yet read the README, please read it before requesting help.");
|
||||
- log_error ("If you intend to request help from the dhcp-server@isc.org");
|
||||
- log_error ("mailing list, please read the section on the README about");
|
||||
- log_error ("submitting bug reports and requests for help.");
|
||||
- log_error ("%s", "");
|
||||
- log_error ("Please do not under any circumstances send requests for");
|
||||
- log_error ("help directly to the authors of this software - please");
|
||||
- log_error ("send them to the appropriate mailing list as described in");
|
||||
- log_error ("the README file.");
|
||||
+ log_error ("Please report for this software via the Red Hat Bugzilla site:");
|
||||
+ log_error (" http://bugzilla.redhat.com");
|
||||
log_error ("%s", "");
|
||||
log_error ("exiting.");
|
||||
#endif
|
||||
@@ -1,12 +0,0 @@
|
||||
diff -up dhcp-4.2.0/common/tables.c.garbage dhcp-4.2.0/common/tables.c
|
||||
--- dhcp-4.2.0/common/tables.c.garbage 2009-11-20 02:49:01.000000000 +0100
|
||||
+++ dhcp-4.2.0/common/tables.c 2010-07-21 14:40:56.000000000 +0200
|
||||
@@ -207,7 +207,7 @@ static struct option dhcp_options[] = {
|
||||
{ "netinfo-server-tag", "t", &dhcp_universe, 113, 1 },
|
||||
{ "default-url", "t", &dhcp_universe, 114, 1 },
|
||||
{ "subnet-selection", "I", &dhcp_universe, 118, 1 },
|
||||
- { "domain-search", "Dc", &dhcp_universe, 119, 1 },
|
||||
+ { "domain-search", "D", &dhcp_universe, 119, 1 },
|
||||
{ "vivco", "Evendor-class.", &dhcp_universe, 124, 1 },
|
||||
{ "vivso", "Evendor.", &dhcp_universe, 125, 1 },
|
||||
#if 0
|
||||
@@ -1,34 +0,0 @@
|
||||
diff -up dhcp-4.2.0/client/dhclient.c.inherit dhcp-4.2.0/client/dhclient.c
|
||||
--- dhcp-4.2.0/client/dhclient.c.inherit 2010-07-21 14:33:44.000000000 +0200
|
||||
+++ dhcp-4.2.0/client/dhclient.c 2010-07-21 14:40:05.000000000 +0200
|
||||
@@ -2322,6 +2322,7 @@ void send_request (cpp)
|
||||
{
|
||||
struct client_state *client = cpp;
|
||||
|
||||
+ int i;
|
||||
int result;
|
||||
int interval;
|
||||
struct sockaddr_in destination;
|
||||
@@ -2381,6 +2382,22 @@ void send_request (cpp)
|
||||
/* Now do a preinit on the interface so that we can
|
||||
discover a new address. */
|
||||
script_init (client, "PREINIT", (struct string_list *)0);
|
||||
+
|
||||
+ /* Has an active lease */
|
||||
+ if (client -> interface -> addresses != NULL) {
|
||||
+ for (i = 0; i < client -> interface -> address_count; i++) {
|
||||
+ if (client -> active &&
|
||||
+ client -> active -> is_bootp &&
|
||||
+ client -> active -> expiry > cur_time &&
|
||||
+ client -> interface -> addresses[i].s_addr != 0 &&
|
||||
+ client -> active -> address.len == 4 &&
|
||||
+ memcpy (client -> active -> address.iabuf, &(client -> interface -> addresses[i]), 4) == 0) {
|
||||
+ client_envadd (client, "", "keep_old_ip", "%s", "yes");
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
if (client -> alias)
|
||||
script_write_params (client, "alias_",
|
||||
client -> alias);
|
||||
@@ -1,12 +0,0 @@
|
||||
diff -up dhcp-4.2.0/client/dhclient.c.logpid dhcp-4.2.0/client/dhclient.c
|
||||
--- dhcp-4.2.0/client/dhclient.c.logpid 2010-07-21 16:13:52.000000000 +0200
|
||||
+++ dhcp-4.2.0/client/dhclient.c 2010-07-21 16:16:51.000000000 +0200
|
||||
@@ -154,7 +154,7 @@ main(int argc, char **argv) {
|
||||
else if (fd != -1)
|
||||
close(fd);
|
||||
|
||||
- openlog("dhclient", LOG_NDELAY, LOG_DAEMON);
|
||||
+ openlog("dhclient", LOG_NDELAY | LOG_PID, LOG_DAEMON);
|
||||
|
||||
#if !(defined(DEBUG) || defined(__CYGWIN32__))
|
||||
setlogmask(LOG_UPTO(LOG_INFO));
|
||||
@@ -1,40 +0,0 @@
|
||||
diff -up dhcp-4.2.0/common/discover.c.noipv6 dhcp-4.2.0/common/discover.c
|
||||
--- dhcp-4.2.0/common/discover.c.noipv6 2010-07-21 14:31:13.000000000 +0200
|
||||
+++ dhcp-4.2.0/common/discover.c 2010-07-21 16:04:57.000000000 +0200
|
||||
@@ -443,7 +443,7 @@ begin_iface_scan(struct iface_conf_list
|
||||
}
|
||||
|
||||
#ifdef DHCPv6
|
||||
- if (local_family == AF_INET6) {
|
||||
+ if ((local_family == AF_INET6) && !access("/proc/net/if_inet6", R_OK)) {
|
||||
ifaces->fp6 = fopen("/proc/net/if_inet6", "re");
|
||||
if (ifaces->fp6 == NULL) {
|
||||
log_error("Error opening '/proc/net/if_inet6' to "
|
||||
@@ -454,6 +454,8 @@ begin_iface_scan(struct iface_conf_list
|
||||
ifaces->fp = NULL;
|
||||
return 0;
|
||||
}
|
||||
+ } else {
|
||||
+ ifaces->fp6 = NULL;
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -721,7 +723,7 @@ next_iface(struct iface_info *info, int
|
||||
return 1;
|
||||
}
|
||||
#ifdef DHCPv6
|
||||
- if (!(*err)) {
|
||||
+ if (!(*err) && ifaces->fp6) {
|
||||
if (local_family == AF_INET6)
|
||||
return next_iface6(info, err, ifaces);
|
||||
}
|
||||
@@ -740,7 +742,8 @@ end_iface_scan(struct iface_conf_list *i
|
||||
ifaces->sock = -1;
|
||||
#ifdef DHCPv6
|
||||
if (local_family == AF_INET6) {
|
||||
- fclose(ifaces->fp6);
|
||||
+ if (ifaces->fp6)
|
||||
+ fclose(ifaces->fp6);
|
||||
ifaces->fp6 = NULL;
|
||||
}
|
||||
#endif
|
||||
@@ -1,140 +0,0 @@
|
||||
diff -up dhcp-4.2.0/server/dhcpv6.c.noprefixavail dhcp-4.2.0/server/dhcpv6.c
|
||||
--- dhcp-4.2.0/server/dhcpv6.c.noprefixavail 2010-10-07 13:48:45.000000000 +0200
|
||||
+++ dhcp-4.2.0/server/dhcpv6.c 2010-10-13 11:00:25.000000000 +0200
|
||||
@@ -1134,7 +1134,7 @@ try_client_v6_prefix(struct iasubopt **p
|
||||
return DHCP_R_INVALIDARG;
|
||||
}
|
||||
tmp_plen = (int) requested_pref->data[0];
|
||||
- if ((tmp_plen < 3) || (tmp_plen > 128)) {
|
||||
+ if ((tmp_plen < 3) || (tmp_plen > 128) ||((int)tmp_plen != pool->units)) {
|
||||
return ISC_R_FAILURE;
|
||||
}
|
||||
memcpy(&tmp_pref, requested_pref->data + 1, sizeof(tmp_pref));
|
||||
@@ -1147,9 +1147,8 @@ try_client_v6_prefix(struct iasubopt **p
|
||||
return ISC_R_FAILURE;
|
||||
}
|
||||
|
||||
- if (((int)tmp_plen != pool->units) ||
|
||||
- !ipv6_in_pool(&tmp_pref, pool)) {
|
||||
- return ISC_R_FAILURE;
|
||||
+ if (!ipv6_in_pool(&tmp_pref, pool)) {
|
||||
+ return ISC_R_ADDRNOTAVAIL;
|
||||
}
|
||||
|
||||
if (prefix6_exists(pool, &tmp_pref, tmp_plen)) {
|
||||
@@ -1409,13 +1408,6 @@ lease_to_client(struct data_string *repl
|
||||
if ((status != ISC_R_SUCCESS) &&
|
||||
(status != ISC_R_NORESOURCES))
|
||||
goto exit;
|
||||
-
|
||||
- /*
|
||||
- * If any prefix cannot be given to any IA_PD, then
|
||||
- * set the NoPrefixAvail status code.
|
||||
- */
|
||||
- if (reply.client_resources == 0)
|
||||
- no_resources_avail = ISC_TRUE;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -1549,36 +1541,6 @@ lease_to_client(struct data_string *repl
|
||||
reply.opt_state, reply.packet,
|
||||
required_opts_NAA,
|
||||
NULL);
|
||||
- } else if (no_resources_avail && (reply.ia_count == 0) &&
|
||||
- (reply.packet->dhcpv6_msg_type == DHCPV6_SOLICIT))
|
||||
- {
|
||||
- /* Set the NoPrefixAvail status code. */
|
||||
- if (!set_status_code(STATUS_NoPrefixAvail,
|
||||
- "No prefixes available for this "
|
||||
- "interface.", reply.opt_state)) {
|
||||
- log_error("lease_to_client: Unable to set "
|
||||
- "NoPrefixAvail status code.");
|
||||
- goto exit;
|
||||
- }
|
||||
-
|
||||
- /* Rewind the cursor to the start. */
|
||||
- reply.cursor = REPLY_OPTIONS_INDEX;
|
||||
-
|
||||
- /*
|
||||
- * Produce an advertise that includes only:
|
||||
- *
|
||||
- * Status code.
|
||||
- * Server DUID.
|
||||
- * Client DUID.
|
||||
- */
|
||||
- reply.buf.reply.msg_type = DHCPV6_ADVERTISE;
|
||||
- reply.cursor += store_options6((char *)reply.buf.data +
|
||||
- reply.cursor,
|
||||
- sizeof(reply.buf) -
|
||||
- reply.cursor,
|
||||
- reply.opt_state, reply.packet,
|
||||
- required_opts_NAA,
|
||||
- NULL);
|
||||
} else {
|
||||
/*
|
||||
* Having stored the client's IA's, store any options that
|
||||
@@ -2793,16 +2755,18 @@ find_client_temporaries(struct reply_sta
|
||||
*/
|
||||
static isc_result_t
|
||||
reply_process_try_addr(struct reply_state *reply, struct iaddr *addr) {
|
||||
- isc_result_t status = ISC_R_NORESOURCES;
|
||||
+ isc_result_t status = ISC_R_ADDRNOTAVAIL;
|
||||
struct ipv6_pool *pool;
|
||||
int i;
|
||||
struct data_string data_addr;
|
||||
|
||||
if ((reply == NULL) || (reply->shared == NULL) ||
|
||||
- (reply->shared->ipv6_pools == NULL) || (addr == NULL) ||
|
||||
- (reply->lease != NULL))
|
||||
+ (addr == NULL) || (reply->lease != NULL))
|
||||
return DHCP_R_INVALIDARG;
|
||||
|
||||
+ if (reply->shared->ipv6_pools == NULL)
|
||||
+ return ISC_R_ADDRNOTAVAIL;
|
||||
+
|
||||
memset(&data_addr, 0, sizeof(data_addr));
|
||||
data_addr.len = addr->len;
|
||||
data_addr.data = addr->iabuf;
|
||||
@@ -3314,7 +3278,9 @@ reply_process_ia_pd(struct reply_state *
|
||||
if (status == ISC_R_CANCELED)
|
||||
break;
|
||||
|
||||
- if ((status != ISC_R_SUCCESS) && (status != ISC_R_ADDRINUSE))
|
||||
+ if ((status != ISC_R_SUCCESS) &&
|
||||
+ (status != ISC_R_ADDRINUSE) &&
|
||||
+ (status != ISC_R_ADDRNOTAVAIL))
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
@@ -3594,7 +3560,8 @@ reply_process_prefix(struct reply_state
|
||||
|
||||
/* Either error out or skip this prefix. */
|
||||
if ((status != ISC_R_SUCCESS) &&
|
||||
- (status != ISC_R_ADDRINUSE))
|
||||
+ (status != ISC_R_ADDRINUSE) &&
|
||||
+ (status != ISC_R_ADDRNOTAVAIL))
|
||||
goto cleanup;
|
||||
|
||||
if (reply->lease == NULL) {
|
||||
@@ -3773,16 +3740,18 @@ prefix_is_owned(struct reply_state *repl
|
||||
static isc_result_t
|
||||
reply_process_try_prefix(struct reply_state *reply,
|
||||
struct iaddrcidrnet *pref) {
|
||||
- isc_result_t status = ISC_R_NORESOURCES;
|
||||
+ isc_result_t status = ISC_R_ADDRNOTAVAIL;
|
||||
struct ipv6_pool *pool;
|
||||
int i;
|
||||
struct data_string data_pref;
|
||||
|
||||
if ((reply == NULL) || (reply->shared == NULL) ||
|
||||
- (reply->shared->ipv6_pools == NULL) || (pref == NULL) ||
|
||||
- (reply->lease != NULL))
|
||||
+ (pref == NULL) || (reply->lease != NULL))
|
||||
return DHCP_R_INVALIDARG;
|
||||
|
||||
+ if (reply->shared->ipv6_pools == NULL)
|
||||
+ return ISC_R_ADDRNOTAVAIL;
|
||||
+
|
||||
memset(&data_pref, 0, sizeof(data_pref));
|
||||
data_pref.len = 17;
|
||||
if (!buffer_allocate(&data_pref.buffer, data_pref.len, MDL)) {
|
||||
@@ -1,94 +0,0 @@
|
||||
diff -up dhcp-4.2.1b1/common/dispatch.c.64-bit_lease_parse dhcp-4.2.1b1/common/dispatch.c
|
||||
diff -up dhcp-4.2.1b1/common/parse.c.64-bit_lease_parse dhcp-4.2.1b1/common/parse.c
|
||||
--- dhcp-4.2.1b1/common/parse.c.64-bit_lease_parse 2010-12-30 00:01:42.000000000 +0100
|
||||
+++ dhcp-4.2.1b1/common/parse.c 2011-01-28 08:01:10.000000000 +0100
|
||||
@@ -909,8 +909,8 @@ TIME
|
||||
parse_date_core(cfile)
|
||||
struct parse *cfile;
|
||||
{
|
||||
- int guess;
|
||||
- int tzoff, wday, year, mon, mday, hour, min, sec;
|
||||
+ TIME guess;
|
||||
+ long int tzoff, wday, year, mon, mday, hour, min, sec;
|
||||
const char *val;
|
||||
enum dhcp_token token;
|
||||
static int months[11] = { 31, 59, 90, 120, 151, 181,
|
||||
@@ -936,7 +936,7 @@ parse_date_core(cfile)
|
||||
}
|
||||
|
||||
token = next_token(&val, NULL, cfile); /* consume number */
|
||||
- guess = atoi(val);
|
||||
+ guess = atol(val);
|
||||
|
||||
return((TIME)guess);
|
||||
}
|
||||
@@ -948,7 +948,7 @@ parse_date_core(cfile)
|
||||
return((TIME)0);
|
||||
}
|
||||
token = next_token(&val, NULL, cfile); /* consume day of week */
|
||||
- wday = atoi(val);
|
||||
+ wday = atol(val);
|
||||
|
||||
/* Year... */
|
||||
token = peek_token(&val, NULL, cfile);
|
||||
@@ -964,7 +964,7 @@ parse_date_core(cfile)
|
||||
somebody invents a time machine, I think we can safely disregard
|
||||
it. This actually works around a stupid Y2K bug that was present
|
||||
in a very early beta release of dhcpd. */
|
||||
- year = atoi(val);
|
||||
+ year = atol(val);
|
||||
if (year > 1900)
|
||||
year -= 1900;
|
||||
|
||||
@@ -988,7 +988,7 @@ parse_date_core(cfile)
|
||||
return((TIME)0);
|
||||
}
|
||||
token = next_token(&val, NULL, cfile); /* consume month */
|
||||
- mon = atoi(val) - 1;
|
||||
+ mon = atol(val) - 1;
|
||||
|
||||
/* Slash separating month from day... */
|
||||
token = peek_token(&val, NULL, cfile);
|
||||
@@ -1010,7 +1010,7 @@ parse_date_core(cfile)
|
||||
return((TIME)0);
|
||||
}
|
||||
token = next_token(&val, NULL, cfile); /* consume day of month */
|
||||
- mday = atoi(val);
|
||||
+ mday = atol(val);
|
||||
|
||||
/* Hour... */
|
||||
token = peek_token(&val, NULL, cfile);
|
||||
@@ -1021,7 +1021,7 @@ parse_date_core(cfile)
|
||||
return((TIME)0);
|
||||
}
|
||||
token = next_token(&val, NULL, cfile); /* consume hour */
|
||||
- hour = atoi(val);
|
||||
+ hour = atol(val);
|
||||
|
||||
/* Colon separating hour from minute... */
|
||||
token = peek_token(&val, NULL, cfile);
|
||||
@@ -1043,7 +1043,7 @@ parse_date_core(cfile)
|
||||
return((TIME)0);
|
||||
}
|
||||
token = next_token(&val, NULL, cfile); /* consume minute */
|
||||
- min = atoi(val);
|
||||
+ min = atol(val);
|
||||
|
||||
/* Colon separating minute from second... */
|
||||
token = peek_token(&val, NULL, cfile);
|
||||
@@ -1065,13 +1065,13 @@ parse_date_core(cfile)
|
||||
return((TIME)0);
|
||||
}
|
||||
token = next_token(&val, NULL, cfile); /* consume second */
|
||||
- sec = atoi(val);
|
||||
+ sec = atol(val);
|
||||
|
||||
tzoff = 0;
|
||||
token = peek_token(&val, NULL, cfile);
|
||||
if (token == NUMBER) {
|
||||
token = next_token(&val, NULL, cfile); /* consume tzoff */
|
||||
- tzoff = atoi(val);
|
||||
+ tzoff = atol(val);
|
||||
} else if (token != SEMI) {
|
||||
token = next_token(&val, NULL, cfile);
|
||||
parse_warn(cfile,
|
||||
@@ -1,12 +0,0 @@
|
||||
diff -up dhcp-4.2.1b1/client/dhclient.conf.supersede dhcp-4.2.1b1/client/dhclient.conf
|
||||
--- dhcp-4.2.1b1/client/dhclient.conf.supersede 2010-09-15 01:03:56.000000000 +0200
|
||||
+++ dhcp-4.2.1b1/client/dhclient.conf 2011-01-27 18:38:28.000000000 +0100
|
||||
@@ -4,7 +4,7 @@ send dhcp-lease-time 3600;
|
||||
supersede domain-search "fugue.com", "home.vix.com";
|
||||
prepend domain-name-servers 127.0.0.1;
|
||||
request subnet-mask, broadcast-address, time-offset, routers,
|
||||
- domain-name, domain-name-servers, host-name;
|
||||
+ domain-search, domain-name-servers, host-name;
|
||||
require subnet-mask, domain-name-servers;
|
||||
timeout 60;
|
||||
retry 60;
|
||||
@@ -1,48 +0,0 @@
|
||||
diff -up dhcp-4.2.1b1/client/dhc6.c.retransmission dhcp-4.2.1b1/client/dhc6.c
|
||||
--- dhcp-4.2.1b1/client/dhc6.c.retransmission 2011-01-28 08:40:56.000000000 +0100
|
||||
+++ dhcp-4.2.1b1/client/dhc6.c 2011-01-28 08:39:22.000000000 +0100
|
||||
@@ -361,7 +361,7 @@ dhc6_retrans_init(struct client_state *c
|
||||
static void
|
||||
dhc6_retrans_advance(struct client_state *client)
|
||||
{
|
||||
- struct timeval elapsed;
|
||||
+ struct timeval elapsed, elapsed_after_RT;
|
||||
|
||||
/* elapsed = cur - start */
|
||||
elapsed.tv_sec = cur_tv.tv_sec - client->start_time.tv_sec;
|
||||
@@ -378,6 +378,8 @@ dhc6_retrans_advance(struct client_state
|
||||
elapsed.tv_sec += 1;
|
||||
elapsed.tv_usec -= 1000000;
|
||||
}
|
||||
+ elapsed_after_RT.tv_sec = elapsed.tv_sec;
|
||||
+ elapsed_after_RT.tv_usec = elapsed.tv_usec;
|
||||
|
||||
/*
|
||||
* RT for each subsequent message transmission is based on the previous
|
||||
@@ -415,13 +417,10 @@ dhc6_retrans_advance(struct client_state
|
||||
elapsed.tv_usec -= 1000000;
|
||||
}
|
||||
if (elapsed.tv_sec >= client->MRD) {
|
||||
- /*
|
||||
- * wake at RT + cur = start + MRD
|
||||
- */
|
||||
- client->RT = client->MRD +
|
||||
- (client->start_time.tv_sec - cur_tv.tv_sec);
|
||||
- client->RT = client->RT * 100 +
|
||||
- (client->start_time.tv_usec - cur_tv.tv_usec) / 10000;
|
||||
+ client->RT = client->MRD - elapsed_after_RT.tv_sec;
|
||||
+ client->RT = client->RT * 100 - elapsed_after_RT.tv_usec / 10000;
|
||||
+ if (client->RT < 0)
|
||||
+ client->RT = 0;
|
||||
}
|
||||
client->txcount++;
|
||||
}
|
||||
@@ -1497,7 +1496,7 @@ check_timing6 (struct client_state *clie
|
||||
}
|
||||
|
||||
/* Check if finished (-1 argument). */
|
||||
- if ((client->MRD != 0) && (elapsed.tv_sec > client->MRD)) {
|
||||
+ if ((client->MRD != 0) && (elapsed.tv_sec >= client->MRD)) {
|
||||
log_info("Max retransmission duration exceeded.");
|
||||
return(CHK_TIM_MRD_EXCEEDED);
|
||||
}
|
||||
@@ -1,14 +0,0 @@
|
||||
diff -up dhcp-4.2.2b1/client/dhclient.c.usage dhcp-4.2.2b1/client/dhclient.c
|
||||
--- dhcp-4.2.2b1/client/dhclient.c.usage 2011-07-01 13:55:16.000000000 +0200
|
||||
+++ dhcp-4.2.2b1/client/dhclient.c 2011-07-01 13:58:55.243800602 +0200
|
||||
@@ -1047,6 +1047,10 @@ static void usage()
|
||||
" [-s server-addr] [-cf config-file] "
|
||||
"[-lf lease-file]\n"
|
||||
" [-pf pid-file] [--no-pid] [-e VAR=val]\n"
|
||||
+ " [-I <dhcp-client-identifier>] [-B]\n"
|
||||
+ " [-H <host-name> | -F <fqdn.fqdn>] [-timeout <timeout>]\n"
|
||||
+ " [-V <vendor-class-identifier>]\n"
|
||||
+ " [-R <request option list>]\n"
|
||||
" [-sf script-file] [interface]");
|
||||
}
|
||||
|
||||
@@ -1,149 +0,0 @@
|
||||
diff -up dhcp-4.2.2/client/Makefile.am.rh637017 dhcp-4.2.2/client/Makefile.am
|
||||
--- dhcp-4.2.2/client/Makefile.am.rh637017 2010-09-15 00:32:36.000000000 +0200
|
||||
+++ dhcp-4.2.2/client/Makefile.am 2011-08-11 17:28:58.923897561 +0200
|
||||
@@ -5,7 +5,7 @@ dhclient_SOURCES = clparse.c dhclient.c
|
||||
scripts/netbsd scripts/nextstep scripts/openbsd \
|
||||
scripts/solaris scripts/openwrt
|
||||
dhclient_LDADD = ../common/libdhcp.a ../omapip/libomapi.a \
|
||||
- ../bind/lib/libdns.a ../bind/lib/libisc.a
|
||||
+ $(BIND9_LIBDIR) -ldns-export -lisc-export
|
||||
man_MANS = dhclient.8 dhclient-script.8 dhclient.conf.5 dhclient.leases.5
|
||||
EXTRA_DIST = $(man_MANS)
|
||||
|
||||
diff -up dhcp-4.2.2/common/tests/Makefile.am.rh637017 dhcp-4.2.2/common/tests/Makefile.am
|
||||
--- dhcp-4.2.2/common/tests/Makefile.am.rh637017 2009-10-28 05:12:30.000000000 +0100
|
||||
+++ dhcp-4.2.2/common/tests/Makefile.am 2011-08-11 17:33:45.258637236 +0200
|
||||
@@ -6,6 +6,5 @@ TESTS = test_alloc
|
||||
|
||||
test_alloc_SOURCES = test_alloc.c
|
||||
test_alloc_LDADD = ../libdhcp.a ../../tests/libt_api.a \
|
||||
- ../../omapip/libomapi.a ../../bind/lib/libdns.a \
|
||||
- ../../bind/lib/libisc.a
|
||||
-
|
||||
+ ../../omapip/libomapi.a \
|
||||
+ $(BIND9_LIBDIR) -ldns-export -lisc-export
|
||||
diff -up dhcp-4.2.2/configure.ac.rh637017 dhcp-4.2.2/configure.ac
|
||||
--- dhcp-4.2.2/configure.ac.rh637017 2011-07-20 02:32:18.000000000 +0200
|
||||
+++ dhcp-4.2.2/configure.ac 2011-08-11 17:28:58.924897535 +0200
|
||||
@@ -512,20 +512,37 @@ AC_CHECK_MEMBER(struct msghdr.msg_contro
|
||||
libbind=
|
||||
AC_ARG_WITH(libbind,
|
||||
AC_HELP_STRING([--with-libbind=PATH],
|
||||
- [bind includes and libraries are in PATH
|
||||
- (default is ./bind)]),
|
||||
+ [bind includes are in PATH
|
||||
+ (default is ./bind/includes)]),
|
||||
use_libbind="$withval", use_libbind="no")
|
||||
case "$use_libbind" in
|
||||
+yes|no)
|
||||
+ libbind="\${top_srcdir}/bind/include"
|
||||
+ ;;
|
||||
+*)
|
||||
+ libbind="$use_libbind"
|
||||
+ ;;
|
||||
+esac
|
||||
+
|
||||
+BIND9_LIBDIR='-L$(top_builddir)/bind/lib'
|
||||
+AC_ARG_WITH(libbind-libs,
|
||||
+ AC_HELP_STRING([--with-libbind-libs=PATH],
|
||||
+ [bind9 export libraries are in PATH]),
|
||||
+ [libbind_libs="$withval"], [libbind_libs='no'])
|
||||
+case "$libbind_libs" in
|
||||
yes)
|
||||
- libbind="\${top_srcdir}/bind"
|
||||
+ AC_MSG_ERROR([Specify path to bind9 libraries])
|
||||
;;
|
||||
no)
|
||||
- libbind="\${top_srcdir}/bind"
|
||||
+ BUNDLED_BIND=yes
|
||||
;;
|
||||
*)
|
||||
- libbind="$use_libbind"
|
||||
+ BIND9_LIBDIR="-L$libbind_libs"
|
||||
+ BUNDLED_BIND=no
|
||||
;;
|
||||
esac
|
||||
+AM_CONDITIONAL([BUNDLED_BIND], [test "$BUNDLED_BIND" = yes])
|
||||
+AC_SUBST([BIND9_LIBDIR])
|
||||
|
||||
# OpenLDAP support.
|
||||
AC_ARG_WITH(ldap,
|
||||
@@ -562,7 +579,7 @@ fi
|
||||
CFLAGS="$CFLAGS $STD_CWARNINGS"
|
||||
|
||||
# Try to add the bind include directory
|
||||
-CFLAGS="$CFLAGS -I$libbind/include"
|
||||
+CFLAGS="$CFLAGS -I$libbind"
|
||||
|
||||
AC_C_FLEXIBLE_ARRAY_MEMBER
|
||||
|
||||
diff -up dhcp-4.2.2/dhcpctl/Makefile.am.rh637017 dhcp-4.2.2/dhcpctl/Makefile.am
|
||||
--- dhcp-4.2.2/dhcpctl/Makefile.am.rh637017 2009-10-28 05:12:30.000000000 +0100
|
||||
+++ dhcp-4.2.2/dhcpctl/Makefile.am 2011-08-11 17:28:58.924897535 +0200
|
||||
@@ -6,10 +6,10 @@ EXTRA_DIST = $(man_MANS)
|
||||
|
||||
omshell_SOURCES = omshell.c
|
||||
omshell_LDADD = libdhcpctl.a ../common/libdhcp.a ../omapip/libomapi.a \
|
||||
- ../bind/lib/libdns.a ../bind/lib/libisc.a
|
||||
+ $(BIND9_LIBDIR) -ldns-export -lisc-export
|
||||
|
||||
libdhcpctl_a_SOURCES = dhcpctl.c callback.c remote.c
|
||||
|
||||
cltest_SOURCES = cltest.c
|
||||
cltest_LDADD = libdhcpctl.a ../common/libdhcp.a ../omapip/libomapi.a \
|
||||
- ../bind/lib/libdns.a ../bind/lib/libisc.a
|
||||
\ No newline at end of file
|
||||
+ $(BIND9_LIBDIR) -ldns-export -lisc-export
|
||||
diff -up dhcp-4.2.2/Makefile.am.rh637017 dhcp-4.2.2/Makefile.am
|
||||
--- dhcp-4.2.2/Makefile.am.rh637017 2010-03-25 00:30:38.000000000 +0100
|
||||
+++ dhcp-4.2.2/Makefile.am 2011-08-11 17:28:58.925897509 +0200
|
||||
@@ -21,7 +21,13 @@ EXTRA_DIST = RELNOTES LICENSE \
|
||||
util/bindvar.sh \
|
||||
bind/Makefile bind/bind.tar.gz bind/version.tmp
|
||||
|
||||
-SUBDIRS = bind includes tests common dst omapip client dhcpctl relay server
|
||||
+if BUNDLED_BIND
|
||||
+SUBDIRS = bind
|
||||
+else
|
||||
+SUBDIRS =
|
||||
+endif
|
||||
+
|
||||
+SUBDIRS += includes tests common dst omapip client dhcpctl relay server
|
||||
|
||||
nobase_include_HEADERS = dhcpctl/dhcpctl.h
|
||||
|
||||
diff -up dhcp-4.2.2/omapip/Makefile.am.rh637017 dhcp-4.2.2/omapip/Makefile.am
|
||||
--- dhcp-4.2.2/omapip/Makefile.am.rh637017 2010-02-12 01:13:54.000000000 +0100
|
||||
+++ dhcp-4.2.2/omapip/Makefile.am 2011-08-11 17:28:58.939897149 +0200
|
||||
@@ -10,5 +10,5 @@ man_MANS = omapi.3
|
||||
EXTRA_DIST = $(man_MANS)
|
||||
|
||||
svtest_SOURCES = test.c
|
||||
-svtest_LDADD = libomapi.a ../bind/lib/libdns.a ../bind/lib/libisc.a
|
||||
+svtest_LDADD = libomapi.a $(BIND9_LIBDIR) -ldns-export -lisc-export
|
||||
|
||||
diff -up dhcp-4.2.2/relay/Makefile.am.rh637017 dhcp-4.2.2/relay/Makefile.am
|
||||
--- dhcp-4.2.2/relay/Makefile.am.rh637017 2009-10-28 05:12:30.000000000 +0100
|
||||
+++ dhcp-4.2.2/relay/Makefile.am 2011-08-11 17:28:58.940897123 +0200
|
||||
@@ -3,7 +3,7 @@ AM_CPPFLAGS = -DLOCALSTATEDIR='"@localst
|
||||
sbin_PROGRAMS = dhcrelay
|
||||
dhcrelay_SOURCES = dhcrelay.c
|
||||
dhcrelay_LDADD = ../common/libdhcp.a ../omapip/libomapi.a \
|
||||
- ../bind/lib/libdns.a ../bind/lib/libisc.a
|
||||
+ $(BIND9_LIBDIR) -ldns-export -lisc-export
|
||||
man_MANS = dhcrelay.8
|
||||
EXTRA_DIST = $(man_MANS)
|
||||
|
||||
diff -up dhcp-4.2.2/server/Makefile.am.rh637017 dhcp-4.2.2/server/Makefile.am
|
||||
--- dhcp-4.2.2/server/Makefile.am.rh637017 2010-03-24 22:49:47.000000000 +0100
|
||||
+++ dhcp-4.2.2/server/Makefile.am 2011-08-11 17:28:58.944897021 +0200
|
||||
@@ -8,8 +8,7 @@ dhcpd_SOURCES = dhcpd.c dhcp.c bootp.c c
|
||||
|
||||
dhcpd_CFLAGS = $(LDAP_CFLAGS)
|
||||
dhcpd_LDADD = ../common/libdhcp.a ../omapip/libomapi.a \
|
||||
- ../dhcpctl/libdhcpctl.a ../bind/lib/libdns.a \
|
||||
- ../bind/lib/libisc.a
|
||||
+ ../dhcpctl/libdhcpctl.a $(BIND9_LIBDIR) -ldns-export -lisc-export
|
||||
|
||||
man_MANS = dhcpd.8 dhcpd.conf.5 dhcpd.leases.5
|
||||
EXTRA_DIST = $(man_MANS)
|
||||
@@ -1,119 +0,0 @@
|
||||
diff -up dhcp-4.2.2/client/Makefile.am.sharedlib dhcp-4.2.2/client/Makefile.am
|
||||
--- dhcp-4.2.2/client/Makefile.am.sharedlib 2011-09-09 16:35:56.000000000 +0200
|
||||
+++ dhcp-4.2.2/client/Makefile.am 2011-09-09 16:36:29.849007951 +0200
|
||||
@@ -4,7 +4,7 @@ dhclient_SOURCES = clparse.c dhclient.c
|
||||
scripts/bsdos scripts/freebsd scripts/linux scripts/macos \
|
||||
scripts/netbsd scripts/nextstep scripts/openbsd \
|
||||
scripts/solaris scripts/openwrt
|
||||
-dhclient_LDADD = ../common/libdhcp.a ../omapip/libomapi.a \
|
||||
+dhclient_LDADD = ../common/libdhcp.a ../omapip/libomapi.la \
|
||||
$(BIND9_LIBDIR) -ldns-export -lisc-export $(CAPNG_LDADD)
|
||||
man_MANS = dhclient.8 dhclient-script.8 dhclient.conf.5 dhclient.leases.5
|
||||
EXTRA_DIST = $(man_MANS)
|
||||
diff -up dhcp-4.2.2/configure.ac.sharedlib dhcp-4.2.2/configure.ac
|
||||
--- dhcp-4.2.2/configure.ac.sharedlib 2011-09-09 16:35:56.097000001 +0200
|
||||
+++ dhcp-4.2.2/configure.ac 2011-09-09 16:35:56.383000000 +0200
|
||||
@@ -30,7 +30,8 @@ fi
|
||||
# Use this to define _GNU_SOURCE to pull in the IPv6 Advanced Socket API.
|
||||
AC_USE_SYSTEM_EXTENSIONS
|
||||
|
||||
-AC_PROG_RANLIB
|
||||
+# Use libtool to simplify building of shared libraries
|
||||
+AC_PROG_LIBTOOL
|
||||
AC_CONFIG_HEADERS([includes/config.h])
|
||||
|
||||
# we sometimes need to know byte order for building packets
|
||||
diff -up dhcp-4.2.2/dhcpctl/Makefile.am.sharedlib dhcp-4.2.2/dhcpctl/Makefile.am
|
||||
--- dhcp-4.2.2/dhcpctl/Makefile.am.sharedlib 2011-09-09 16:35:55.459000001 +0200
|
||||
+++ dhcp-4.2.2/dhcpctl/Makefile.am 2011-09-09 16:35:56.384000000 +0200
|
||||
@@ -1,15 +1,15 @@
|
||||
bin_PROGRAMS = omshell
|
||||
-lib_LIBRARIES = libdhcpctl.a
|
||||
+lib_LTLIBRARIES = libdhcpctl.la
|
||||
noinst_PROGRAMS = cltest
|
||||
man_MANS = omshell.1 dhcpctl.3
|
||||
EXTRA_DIST = $(man_MANS)
|
||||
|
||||
omshell_SOURCES = omshell.c
|
||||
-omshell_LDADD = libdhcpctl.a ../common/libdhcp.a ../omapip/libomapi.a \
|
||||
+omshell_LDADD = libdhcpctl.la ../common/libdhcp.a ../omapip/libomapi.la \
|
||||
$(BIND9_LIBDIR) -ldns-export -lisc-export
|
||||
|
||||
-libdhcpctl_a_SOURCES = dhcpctl.c callback.c remote.c
|
||||
+libdhcpctl_la_SOURCES = dhcpctl.c callback.c remote.c
|
||||
|
||||
cltest_SOURCES = cltest.c
|
||||
-cltest_LDADD = libdhcpctl.a ../common/libdhcp.a ../omapip/libomapi.a \
|
||||
+cltest_LDADD = libdhcpctl.la ../common/libdhcp.a ../omapip/libomapi.la \
|
||||
$(BIND9_LIBDIR) -ldns-export -lisc-export
|
||||
diff -up dhcp-4.2.2/dst/base64.c.sharedlib dhcp-4.2.2/dst/base64.c
|
||||
--- dhcp-4.2.2/dst/base64.c.sharedlib 2009-11-20 02:49:01.000000000 +0100
|
||||
+++ dhcp-4.2.2/dst/base64.c 2011-09-09 16:35:56.385000000 +0200
|
||||
@@ -64,6 +64,7 @@ static const char rcsid[] = "$Id: base64
|
||||
|
||||
#include <sys/socket.h>
|
||||
|
||||
+#include "dst_internal.h"
|
||||
#include "cdefs.h"
|
||||
#include "osdep.h"
|
||||
#include "arpa/nameser.h"
|
||||
diff -up dhcp-4.2.2/dst/Makefile.am.sharedlib dhcp-4.2.2/dst/Makefile.am
|
||||
--- dhcp-4.2.2/dst/Makefile.am.sharedlib 2007-05-29 18:32:10.000000000 +0200
|
||||
+++ dhcp-4.2.2/dst/Makefile.am 2011-09-09 16:35:56.386000000 +0200
|
||||
@@ -1,8 +1,8 @@
|
||||
AM_CPPFLAGS = -DMINIRES_LIB -DHMAC_MD5
|
||||
|
||||
-lib_LIBRARIES = libdst.a
|
||||
+lib_LTLIBRARIES = libdst.la
|
||||
|
||||
-libdst_a_SOURCES = dst_support.c dst_api.c hmac_link.c md5_dgst.c \
|
||||
+libdst_la_SOURCES = dst_support.c dst_api.c hmac_link.c md5_dgst.c \
|
||||
base64.c prandom.c
|
||||
|
||||
EXTRA_DIST = dst_internal.h md5.h md5_locl.h
|
||||
diff -up dhcp-4.2.2/omapip/Makefile.am.sharedlib dhcp-4.2.2/omapip/Makefile.am
|
||||
--- dhcp-4.2.2/omapip/Makefile.am.sharedlib 2011-09-09 16:35:55.000000000 +0200
|
||||
+++ dhcp-4.2.2/omapip/Makefile.am 2011-09-09 16:37:36.734000324 +0200
|
||||
@@ -1,7 +1,7 @@
|
||||
-lib_LIBRARIES = libomapi.a
|
||||
+lib_LTLIBRARIES = libomapi.la
|
||||
noinst_PROGRAMS = svtest
|
||||
|
||||
-libomapi_a_SOURCES = protocol.c buffer.c alloc.c result.c connection.c \
|
||||
+libomapi_la_SOURCES = protocol.c buffer.c alloc.c result.c connection.c \
|
||||
errwarn.c listener.c dispatch.c generic.c support.c \
|
||||
handle.c message.c convert.c hash.c auth.c inet_addr.c \
|
||||
array.c trace.c toisc.c iscprint.c isclib.c
|
||||
@@ -10,5 +10,5 @@ man_MANS = omapi.3
|
||||
EXTRA_DIST = $(man_MANS)
|
||||
|
||||
svtest_SOURCES = test.c
|
||||
-svtest_LDADD = libomapi.a $(BIND9_LIBDIR) -ldns-export -lisc-export
|
||||
+svtest_LDADD = libomapi.la $(BIND9_LIBDIR) -ldns-export -lisc-export
|
||||
|
||||
diff -up dhcp-4.2.2/relay/Makefile.am.sharedlib dhcp-4.2.2/relay/Makefile.am
|
||||
--- dhcp-4.2.2/relay/Makefile.am.sharedlib 2011-09-09 16:35:56.000000000 +0200
|
||||
+++ dhcp-4.2.2/relay/Makefile.am 2011-09-09 16:37:57.058019749 +0200
|
||||
@@ -2,7 +2,7 @@ AM_CPPFLAGS = -DLOCALSTATEDIR='"@localst
|
||||
|
||||
sbin_PROGRAMS = dhcrelay
|
||||
dhcrelay_SOURCES = dhcrelay.c
|
||||
-dhcrelay_LDADD = ../common/libdhcp.a ../omapip/libomapi.a \
|
||||
+dhcrelay_LDADD = ../common/libdhcp.a ../omapip/libomapi.la \
|
||||
$(BIND9_LIBDIR) -ldns-export -lisc-export $(CAPNG_LDADD)
|
||||
man_MANS = dhcrelay.8
|
||||
EXTRA_DIST = $(man_MANS)
|
||||
diff -up dhcp-4.2.2/server/Makefile.am.sharedlib dhcp-4.2.2/server/Makefile.am
|
||||
--- dhcp-4.2.2/server/Makefile.am.sharedlib 2011-09-09 16:35:56.000000000 +0200
|
||||
+++ dhcp-4.2.2/server/Makefile.am 2011-09-09 16:38:56.291004599 +0200
|
||||
@@ -7,8 +7,8 @@ dhcpd_SOURCES = dhcpd.c dhcp.c bootp.c c
|
||||
dhcpv6.c mdb6.c ldap.c ldap_casa.c
|
||||
|
||||
dhcpd_CFLAGS = $(LDAP_CFLAGS)
|
||||
-dhcpd_LDADD = ../common/libdhcp.a ../omapip/libomapi.a \
|
||||
- ../dhcpctl/libdhcpctl.a $(BIND9_LIBDIR) -ldns-export -lisc-export \
|
||||
+dhcpd_LDADD = ../common/libdhcp.a ../omapip/libomapi.la \
|
||||
+ ../dhcpctl/libdhcpctl.la $(BIND9_LIBDIR) -ldns-export -lisc-export \
|
||||
$(CAPNG_LDADD)
|
||||
|
||||
man_MANS = dhcpd.8 dhcpd.conf.5 dhcpd.leases.5
|
||||
75
src/patches/dhcp/dhcp-64_bit_lease_parse.patch
Normal file
75
src/patches/dhcp/dhcp-64_bit_lease_parse.patch
Normal file
@@ -0,0 +1,75 @@
|
||||
diff -up dhcp-4.3.0a1/common/parse.c.64-bit_lease_parse dhcp-4.3.0a1/common/parse.c
|
||||
--- dhcp-4.3.0a1/common/parse.c.64-bit_lease_parse 2013-12-11 01:25:12.000000000 +0100
|
||||
+++ dhcp-4.3.0a1/common/parse.c 2013-12-19 15:45:25.990771814 +0100
|
||||
@@ -938,8 +938,8 @@ TIME
|
||||
parse_date_core(cfile)
|
||||
struct parse *cfile;
|
||||
{
|
||||
- int guess;
|
||||
- int tzoff, year, mon, mday, hour, min, sec;
|
||||
+ TIME guess;
|
||||
+ long int tzoff, year, mon, mday, hour, min, sec;
|
||||
const char *val;
|
||||
enum dhcp_token token;
|
||||
static int months[11] = { 31, 59, 90, 120, 151, 181,
|
||||
@@ -965,7 +965,7 @@ parse_date_core(cfile)
|
||||
}
|
||||
|
||||
skip_token(&val, NULL, cfile); /* consume number */
|
||||
- guess = atoi(val);
|
||||
+ guess = atol(val);
|
||||
|
||||
return((TIME)guess);
|
||||
}
|
||||
@@ -993,7 +993,7 @@ parse_date_core(cfile)
|
||||
somebody invents a time machine, I think we can safely disregard
|
||||
it. This actually works around a stupid Y2K bug that was present
|
||||
in a very early beta release of dhcpd. */
|
||||
- year = atoi(val);
|
||||
+ year = atol(val);
|
||||
if (year > 1900)
|
||||
year -= 1900;
|
||||
|
||||
@@ -1039,7 +1039,7 @@ parse_date_core(cfile)
|
||||
return((TIME)0);
|
||||
}
|
||||
skip_token(&val, NULL, cfile); /* consume day of month */
|
||||
- mday = atoi(val);
|
||||
+ mday = atol(val);
|
||||
|
||||
/* Hour... */
|
||||
token = peek_token(&val, NULL, cfile);
|
||||
@@ -1050,7 +1050,7 @@ parse_date_core(cfile)
|
||||
return((TIME)0);
|
||||
}
|
||||
skip_token(&val, NULL, cfile); /* consume hour */
|
||||
- hour = atoi(val);
|
||||
+ hour = atol(val);
|
||||
|
||||
/* Colon separating hour from minute... */
|
||||
token = peek_token(&val, NULL, cfile);
|
||||
@@ -1072,7 +1072,7 @@ parse_date_core(cfile)
|
||||
return((TIME)0);
|
||||
}
|
||||
skip_token(&val, NULL, cfile); /* consume minute */
|
||||
- min = atoi(val);
|
||||
+ min = atol(val);
|
||||
|
||||
/* Colon separating minute from second... */
|
||||
token = peek_token(&val, NULL, cfile);
|
||||
@@ -1094,13 +1094,13 @@ parse_date_core(cfile)
|
||||
return((TIME)0);
|
||||
}
|
||||
skip_token(&val, NULL, cfile); /* consume second */
|
||||
- sec = atoi(val);
|
||||
+ sec = atol(val);
|
||||
|
||||
tzoff = 0;
|
||||
token = peek_token(&val, NULL, cfile);
|
||||
if (token == NUMBER) {
|
||||
skip_token(&val, NULL, cfile); /* consume tzoff */
|
||||
- tzoff = atoi(val);
|
||||
+ tzoff = atol(val);
|
||||
} else if (token != SEMI) {
|
||||
skip_token(&val, NULL, cfile);
|
||||
parse_warn(cfile,
|
||||
@@ -1,7 +1,7 @@
|
||||
diff -up dhcp-4.2.2b1/client/clparse.c.cloexec dhcp-4.2.2b1/client/clparse.c
|
||||
--- dhcp-4.2.2b1/client/clparse.c.cloexec 2011-07-01 14:13:30.973887714 +0200
|
||||
+++ dhcp-4.2.2b1/client/clparse.c 2011-07-01 14:15:15.021580693 +0200
|
||||
@@ -246,7 +246,7 @@ int read_client_conf_file (const char *n
|
||||
diff -up dhcp-4.3.0a1/client/clparse.c.cloexec dhcp-4.3.0a1/client/clparse.c
|
||||
--- dhcp-4.3.0a1/client/clparse.c.cloexec 2013-12-19 15:34:41.638886256 +0100
|
||||
+++ dhcp-4.3.0a1/client/clparse.c 2013-12-19 15:34:41.657885985 +0100
|
||||
@@ -253,7 +253,7 @@ int read_client_conf_file (const char *n
|
||||
int token;
|
||||
isc_result_t status;
|
||||
|
||||
@@ -10,7 +10,7 @@ diff -up dhcp-4.2.2b1/client/clparse.c.cloexec dhcp-4.2.2b1/client/clparse.c
|
||||
return uerr2isc (errno);
|
||||
|
||||
cfile = NULL;
|
||||
@@ -283,7 +283,7 @@ void read_client_leases ()
|
||||
@@ -290,7 +290,7 @@ void read_client_leases ()
|
||||
|
||||
/* Open the lease file. If we can't open it, just return -
|
||||
we can safely trust the server to remember our state. */
|
||||
@@ -19,9 +19,9 @@ diff -up dhcp-4.2.2b1/client/clparse.c.cloexec dhcp-4.2.2b1/client/clparse.c
|
||||
return;
|
||||
|
||||
cfile = NULL;
|
||||
diff -up dhcp-4.2.2b1/client/dhclient.c.cloexec dhcp-4.2.2b1/client/dhclient.c
|
||||
--- dhcp-4.2.2b1/client/dhclient.c.cloexec 2011-07-01 14:13:30.970887717 +0200
|
||||
+++ dhcp-4.2.2b1/client/dhclient.c 2011-07-01 14:16:51.485930388 +0200
|
||||
diff -up dhcp-4.3.0a1/client/dhclient.c.cloexec dhcp-4.3.0a1/client/dhclient.c
|
||||
--- dhcp-4.3.0a1/client/dhclient.c.cloexec 2013-12-19 15:34:41.629886384 +0100
|
||||
+++ dhcp-4.3.0a1/client/dhclient.c 2013-12-19 15:36:41.608180467 +0100
|
||||
@@ -148,11 +148,11 @@ main(int argc, char **argv) {
|
||||
/* Make sure that file descriptors 0 (stdin), 1, (stdout), and
|
||||
2 (stderr) are open. To do this, we assume that when we
|
||||
@@ -37,16 +37,16 @@ diff -up dhcp-4.2.2b1/client/dhclient.c.cloexec dhcp-4.2.2b1/client/dhclient.c
|
||||
if (fd == 2)
|
||||
log_perror = 0; /* No sense logging to /dev/null. */
|
||||
else if (fd != -1)
|
||||
@@ -506,7 +506,7 @@ main(int argc, char **argv) {
|
||||
@@ -504,7 +504,7 @@ main(int argc, char **argv) {
|
||||
long temp;
|
||||
int e;
|
||||
|
||||
oldpid = 0;
|
||||
- if ((pidfd = fopen(path_dhclient_pid, "r")) != NULL) {
|
||||
+ if ((pidfd = fopen(path_dhclient_pid, "re")) != NULL) {
|
||||
e = fscanf(pidfd, "%ld\n", &temp);
|
||||
oldpid = (pid_t)temp;
|
||||
|
||||
@@ -548,7 +548,7 @@ main(int argc, char **argv) {
|
||||
@@ -554,7 +554,7 @@ main(int argc, char **argv) {
|
||||
strncpy(new_path_dhclient_pid, path_dhclient_pid, pfx);
|
||||
sprintf(new_path_dhclient_pid + pfx, "-%s.pid", ip->name);
|
||||
|
||||
@@ -55,7 +55,7 @@ diff -up dhcp-4.2.2b1/client/dhclient.c.cloexec dhcp-4.2.2b1/client/dhclient.c
|
||||
e = fscanf(pidfd, "%ld\n", &temp);
|
||||
oldpid = (pid_t)temp;
|
||||
|
||||
@@ -573,7 +573,7 @@ main(int argc, char **argv) {
|
||||
@@ -579,7 +579,7 @@ main(int argc, char **argv) {
|
||||
int dhc_running = 0;
|
||||
char procfn[256] = "";
|
||||
|
||||
@@ -64,7 +64,7 @@ diff -up dhcp-4.2.2b1/client/dhclient.c.cloexec dhcp-4.2.2b1/client/dhclient.c
|
||||
if ((fscanf(pidfp, "%ld", &temp)==1) && ((dhcpid=(pid_t)temp) > 0)) {
|
||||
snprintf(procfn,256,"/proc/%u",dhcpid);
|
||||
dhc_running = (access(procfn, F_OK) == 0);
|
||||
@@ -2995,7 +2995,7 @@ void rewrite_client_leases ()
|
||||
@@ -3077,7 +3077,7 @@ void rewrite_client_leases ()
|
||||
|
||||
if (leaseFile != NULL)
|
||||
fclose (leaseFile);
|
||||
@@ -73,7 +73,7 @@ diff -up dhcp-4.2.2b1/client/dhclient.c.cloexec dhcp-4.2.2b1/client/dhclient.c
|
||||
if (leaseFile == NULL) {
|
||||
log_error ("can't create %s: %m", path_dhclient_db);
|
||||
return;
|
||||
@@ -3105,7 +3105,7 @@ write_duid(struct data_string *duid)
|
||||
@@ -3261,7 +3261,7 @@ write_duid(struct data_string *duid)
|
||||
return DHCP_R_INVALIDARG;
|
||||
|
||||
if (leaseFile == NULL) { /* XXX? */
|
||||
@@ -82,7 +82,7 @@ diff -up dhcp-4.2.2b1/client/dhclient.c.cloexec dhcp-4.2.2b1/client/dhclient.c
|
||||
if (leaseFile == NULL) {
|
||||
log_error("can't create %s: %m", path_dhclient_db);
|
||||
return ISC_R_IOERROR;
|
||||
@@ -3285,7 +3285,7 @@ int write_client_lease (client, lease, r
|
||||
@@ -3441,7 +3441,7 @@ int write_client_lease (client, lease, r
|
||||
return 1;
|
||||
|
||||
if (leaseFile == NULL) { /* XXX */
|
||||
@@ -91,20 +91,20 @@ diff -up dhcp-4.2.2b1/client/dhclient.c.cloexec dhcp-4.2.2b1/client/dhclient.c
|
||||
if (leaseFile == NULL) {
|
||||
log_error ("can't create %s: %m", path_dhclient_db);
|
||||
return 0;
|
||||
@@ -3772,9 +3772,9 @@ void go_daemon ()
|
||||
close(2);
|
||||
@@ -3952,9 +3952,9 @@ void go_daemon ()
|
||||
(void) close(2);
|
||||
|
||||
/* Reopen them on /dev/null. */
|
||||
- open("/dev/null", O_RDWR);
|
||||
- open("/dev/null", O_RDWR);
|
||||
- open("/dev/null", O_RDWR);
|
||||
+ open("/dev/null", O_RDWR | O_CLOEXEC);
|
||||
+ open("/dev/null", O_RDWR | O_CLOEXEC);
|
||||
+ open("/dev/null", O_RDWR | O_CLOEXEC);
|
||||
- (void) open("/dev/null", O_RDWR);
|
||||
- (void) open("/dev/null", O_RDWR);
|
||||
- (void) open("/dev/null", O_RDWR);
|
||||
+ (void) open("/dev/null", O_RDWR | O_CLOEXEC);
|
||||
+ (void) open("/dev/null", O_RDWR | O_CLOEXEC);
|
||||
+ (void) open("/dev/null", O_RDWR | O_CLOEXEC);
|
||||
|
||||
write_client_pid_file ();
|
||||
|
||||
@@ -3791,14 +3791,14 @@ void write_client_pid_file ()
|
||||
@@ -3971,14 +3971,14 @@ void write_client_pid_file ()
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -121,10 +121,10 @@ diff -up dhcp-4.2.2b1/client/dhclient.c.cloexec dhcp-4.2.2b1/client/dhclient.c
|
||||
if (!pf) {
|
||||
close(pfdesc);
|
||||
log_error ("Can't fdopen %s: %m", path_dhclient_pid);
|
||||
diff -up dhcp-4.2.2b1/common/bpf.c.cloexec dhcp-4.2.2b1/common/bpf.c
|
||||
--- dhcp-4.2.2b1/common/bpf.c.cloexec 2011-07-01 14:13:30.976887712 +0200
|
||||
+++ dhcp-4.2.2b1/common/bpf.c 2011-07-01 14:13:31.030887673 +0200
|
||||
@@ -94,7 +94,7 @@ int if_register_bpf (info)
|
||||
diff -up dhcp-4.3.0a1/common/bpf.c.cloexec dhcp-4.3.0a1/common/bpf.c
|
||||
--- dhcp-4.3.0a1/common/bpf.c.cloexec 2013-12-19 15:34:41.640886227 +0100
|
||||
+++ dhcp-4.3.0a1/common/bpf.c 2013-12-19 15:34:41.661885928 +0100
|
||||
@@ -95,7 +95,7 @@ int if_register_bpf (info)
|
||||
for (b = 0; 1; b++) {
|
||||
/* %Audit% 31 bytes max. %2004.06.17,Safe% */
|
||||
sprintf(filename, BPF_FORMAT, b);
|
||||
@@ -133,31 +133,10 @@ diff -up dhcp-4.2.2b1/common/bpf.c.cloexec dhcp-4.2.2b1/common/bpf.c
|
||||
if (sock < 0) {
|
||||
if (errno == EBUSY) {
|
||||
continue;
|
||||
diff -up dhcp-4.2.2b1/common/discover.c.cloexec dhcp-4.2.2b1/common/discover.c
|
||||
--- dhcp-4.2.2b1/common/discover.c.cloexec 2011-06-27 18:18:20.000000000 +0200
|
||||
+++ dhcp-4.2.2b1/common/discover.c 2011-07-01 14:13:31.031887673 +0200
|
||||
@@ -421,7 +421,7 @@ begin_iface_scan(struct iface_conf_list
|
||||
int len;
|
||||
int i;
|
||||
|
||||
- ifaces->fp = fopen("/proc/net/dev", "r");
|
||||
+ ifaces->fp = fopen("/proc/net/dev", "re");
|
||||
if (ifaces->fp == NULL) {
|
||||
log_error("Error opening '/proc/net/dev' to list interfaces");
|
||||
return 0;
|
||||
@@ -456,7 +456,7 @@ begin_iface_scan(struct iface_conf_list
|
||||
|
||||
#ifdef DHCPv6
|
||||
if (local_family == AF_INET6) {
|
||||
- ifaces->fp6 = fopen("/proc/net/if_inet6", "r");
|
||||
+ ifaces->fp6 = fopen("/proc/net/if_inet6", "re");
|
||||
if (ifaces->fp6 == NULL) {
|
||||
log_error("Error opening '/proc/net/if_inet6' to "
|
||||
"list IPv6 interfaces; %m");
|
||||
diff -up dhcp-4.2.2b1/common/dlpi.c.cloexec dhcp-4.2.2b1/common/dlpi.c
|
||||
--- dhcp-4.2.2b1/common/dlpi.c.cloexec 2011-07-01 14:13:30.977887712 +0200
|
||||
+++ dhcp-4.2.2b1/common/dlpi.c 2011-07-01 14:13:31.032887673 +0200
|
||||
@@ -806,7 +806,7 @@ dlpiopen(const char *ifname) {
|
||||
diff -up dhcp-4.3.0a1/common/dlpi.c.cloexec dhcp-4.3.0a1/common/dlpi.c
|
||||
--- dhcp-4.3.0a1/common/dlpi.c.cloexec 2013-12-19 15:34:41.641886213 +0100
|
||||
+++ dhcp-4.3.0a1/common/dlpi.c 2013-12-19 15:34:41.662885914 +0100
|
||||
@@ -804,7 +804,7 @@ dlpiopen(const char *ifname) {
|
||||
}
|
||||
*dp = '\0';
|
||||
|
||||
@@ -166,9 +145,9 @@ diff -up dhcp-4.2.2b1/common/dlpi.c.cloexec dhcp-4.2.2b1/common/dlpi.c
|
||||
}
|
||||
|
||||
/*
|
||||
diff -up dhcp-4.2.2b1/common/nit.c.cloexec dhcp-4.2.2b1/common/nit.c
|
||||
--- dhcp-4.2.2b1/common/nit.c.cloexec 2011-07-01 14:13:30.978887712 +0200
|
||||
+++ dhcp-4.2.2b1/common/nit.c 2011-07-01 14:13:31.033887672 +0200
|
||||
diff -up dhcp-4.3.0a1/common/nit.c.cloexec dhcp-4.3.0a1/common/nit.c
|
||||
--- dhcp-4.3.0a1/common/nit.c.cloexec 2013-12-19 15:34:41.642886199 +0100
|
||||
+++ dhcp-4.3.0a1/common/nit.c 2013-12-19 15:34:41.662885914 +0100
|
||||
@@ -81,7 +81,7 @@ int if_register_nit (info)
|
||||
struct strioctl sio;
|
||||
|
||||
@@ -178,10 +157,10 @@ diff -up dhcp-4.2.2b1/common/nit.c.cloexec dhcp-4.2.2b1/common/nit.c
|
||||
if (sock < 0)
|
||||
log_fatal ("Can't open NIT device for %s: %m", info -> name);
|
||||
|
||||
diff -up dhcp-4.2.2b1/common/resolv.c.cloexec dhcp-4.2.2b1/common/resolv.c
|
||||
--- dhcp-4.2.2b1/common/resolv.c.cloexec 2009-11-20 02:49:01.000000000 +0100
|
||||
+++ dhcp-4.2.2b1/common/resolv.c 2011-07-01 14:13:31.033887672 +0200
|
||||
@@ -49,7 +49,7 @@ void read_resolv_conf (parse_time)
|
||||
diff -up dhcp-4.3.0a1/common/resolv.c.cloexec dhcp-4.3.0a1/common/resolv.c
|
||||
--- dhcp-4.3.0a1/common/resolv.c.cloexec 2013-12-11 01:25:12.000000000 +0100
|
||||
+++ dhcp-4.3.0a1/common/resolv.c 2013-12-19 15:34:41.663885900 +0100
|
||||
@@ -50,7 +50,7 @@ void read_resolv_conf (parse_time)
|
||||
struct domain_search_list *dp, *dl, *nd;
|
||||
isc_result_t status;
|
||||
|
||||
@@ -190,9 +169,9 @@ diff -up dhcp-4.2.2b1/common/resolv.c.cloexec dhcp-4.2.2b1/common/resolv.c
|
||||
log_error ("Can't open %s: %m", path_resolv_conf);
|
||||
return;
|
||||
}
|
||||
diff -up dhcp-4.2.2b1/common/upf.c.cloexec dhcp-4.2.2b1/common/upf.c
|
||||
--- dhcp-4.2.2b1/common/upf.c.cloexec 2011-07-01 14:13:30.979887712 +0200
|
||||
+++ dhcp-4.2.2b1/common/upf.c 2011-07-01 14:13:31.034887671 +0200
|
||||
diff -up dhcp-4.3.0a1/common/upf.c.cloexec dhcp-4.3.0a1/common/upf.c
|
||||
--- dhcp-4.3.0a1/common/upf.c.cloexec 2013-12-19 15:34:41.642886199 +0100
|
||||
+++ dhcp-4.3.0a1/common/upf.c 2013-12-19 15:34:41.663885900 +0100
|
||||
@@ -77,7 +77,7 @@ int if_register_upf (info)
|
||||
/* %Audit% Cannot exceed 36 bytes. %2004.06.17,Safe% */
|
||||
sprintf(filename, "/dev/pf/pfilt%d", b);
|
||||
@@ -202,70 +181,10 @@ diff -up dhcp-4.2.2b1/common/upf.c.cloexec dhcp-4.2.2b1/common/upf.c
|
||||
if (sock < 0) {
|
||||
if (errno == EBUSY) {
|
||||
continue;
|
||||
diff -up dhcp-4.2.2b1/dst/dst_api.c.cloexec dhcp-4.2.2b1/dst/dst_api.c
|
||||
--- dhcp-4.2.2b1/dst/dst_api.c.cloexec 2009-10-29 01:46:48.000000000 +0100
|
||||
+++ dhcp-4.2.2b1/dst/dst_api.c 2011-07-01 14:13:31.035887670 +0200
|
||||
@@ -437,7 +437,7 @@ dst_s_write_private_key(const DST_KEY *k
|
||||
PRIVATE_KEY, PATH_MAX);
|
||||
|
||||
/* Do not overwrite an existing file */
|
||||
- if ((fp = dst_s_fopen(file, "w", 0600)) != NULL) {
|
||||
+ if ((fp = dst_s_fopen(file, "we", 0600)) != NULL) {
|
||||
int nn;
|
||||
if ((nn = fwrite(encoded_block, 1, len, fp)) != len) {
|
||||
EREPORT(("dst_write_private_key(): Write failure on %s %d != %d errno=%d\n",
|
||||
@@ -494,7 +494,7 @@ dst_s_read_public_key(const char *in_nam
|
||||
* flags, proto, alg stored as decimal (or hex numbers FIXME).
|
||||
* (FIXME: handle parentheses for line continuation.)
|
||||
*/
|
||||
- if ((fp = dst_s_fopen(name, "r", 0)) == NULL) {
|
||||
+ if ((fp = dst_s_fopen(name, "re", 0)) == NULL) {
|
||||
EREPORT(("dst_read_public_key(): Public Key not found %s\n",
|
||||
name));
|
||||
return (NULL);
|
||||
@@ -620,7 +620,7 @@ dst_s_write_public_key(const DST_KEY *ke
|
||||
return (0);
|
||||
}
|
||||
/* create public key file */
|
||||
- if ((fp = dst_s_fopen(filename, "w+", 0644)) == NULL) {
|
||||
+ if ((fp = dst_s_fopen(filename, "w+e", 0644)) == NULL) {
|
||||
EREPORT(("DST_write_public_key: open of file:%s failed (errno=%d)\n",
|
||||
filename, errno));
|
||||
return (0);
|
||||
@@ -854,7 +854,7 @@ dst_s_read_private_key_file(char *name,
|
||||
return (0);
|
||||
}
|
||||
/* first check if we can find the key file */
|
||||
- if ((fp = dst_s_fopen(filename, "r", 0)) == NULL) {
|
||||
+ if ((fp = dst_s_fopen(filename, "re", 0)) == NULL) {
|
||||
EREPORT(("dst_s_read_private_key_file: Could not open file %s in directory %s\n",
|
||||
filename, dst_path[0] ? dst_path :
|
||||
(char *) getcwd(NULL, PATH_MAX - 1)));
|
||||
diff -up dhcp-4.2.2b1/dst/prandom.c.cloexec dhcp-4.2.2b1/dst/prandom.c
|
||||
--- dhcp-4.2.2b1/dst/prandom.c.cloexec 2009-11-20 02:49:01.000000000 +0100
|
||||
+++ dhcp-4.2.2b1/dst/prandom.c 2011-07-01 14:13:31.035887670 +0200
|
||||
@@ -269,7 +269,7 @@ get_dev_random(u_char *output, unsigned
|
||||
|
||||
s = stat("/dev/random", &st);
|
||||
if (s == 0 && S_ISCHR(st.st_mode)) {
|
||||
- if ((fd = open("/dev/random", O_RDONLY | O_NONBLOCK)) != -1) {
|
||||
+ if ((fd = open("/dev/random", O_RDONLY | O_NONBLOCK | O_CLOEXEC)) != -1) {
|
||||
if ((n = read(fd, output, size)) < 0)
|
||||
n = 0;
|
||||
close(fd);
|
||||
@@ -480,7 +480,7 @@ digest_file(dst_work *work)
|
||||
work->file_digest = dst_free_key(work->file_digest);
|
||||
return (0);
|
||||
}
|
||||
- if ((fp = fopen(name, "r")) == NULL)
|
||||
+ if ((fp = fopen(name, "re")) == NULL)
|
||||
return (0);
|
||||
for (no = 0; (i = fread(buf, sizeof(*buf), sizeof(buf), fp)) > 0;
|
||||
no += i)
|
||||
diff -up dhcp-4.2.2b1/omapip/trace.c.cloexec dhcp-4.2.2b1/omapip/trace.c
|
||||
--- dhcp-4.2.2b1/omapip/trace.c.cloexec 2010-05-27 02:34:57.000000000 +0200
|
||||
+++ dhcp-4.2.2b1/omapip/trace.c 2011-07-01 14:13:31.036887669 +0200
|
||||
@@ -141,10 +141,10 @@ isc_result_t trace_begin (const char *fi
|
||||
diff -up dhcp-4.3.0a1/omapip/trace.c.cloexec dhcp-4.3.0a1/omapip/trace.c
|
||||
--- dhcp-4.3.0a1/omapip/trace.c.cloexec 2013-12-11 01:01:03.000000000 +0100
|
||||
+++ dhcp-4.3.0a1/omapip/trace.c 2013-12-19 15:34:41.663885900 +0100
|
||||
@@ -142,10 +142,10 @@ isc_result_t trace_begin (const char *fi
|
||||
return DHCP_R_INVALIDARG;
|
||||
}
|
||||
|
||||
@@ -278,7 +197,7 @@ diff -up dhcp-4.2.2b1/omapip/trace.c.cloexec dhcp-4.2.2b1/omapip/trace.c
|
||||
0600);
|
||||
}
|
||||
|
||||
@@ -431,7 +431,7 @@ void trace_file_replay (const char *file
|
||||
@@ -433,7 +433,7 @@ void trace_file_replay (const char *file
|
||||
isc_result_t result;
|
||||
int len;
|
||||
|
||||
@@ -287,10 +206,10 @@ diff -up dhcp-4.2.2b1/omapip/trace.c.cloexec dhcp-4.2.2b1/omapip/trace.c
|
||||
if (!traceinfile) {
|
||||
log_error("Can't open tracefile %s: %m", filename);
|
||||
return;
|
||||
diff -up dhcp-4.2.2b1/relay/dhcrelay.c.cloexec dhcp-4.2.2b1/relay/dhcrelay.c
|
||||
--- dhcp-4.2.2b1/relay/dhcrelay.c.cloexec 2011-05-10 15:07:37.000000000 +0200
|
||||
+++ dhcp-4.2.2b1/relay/dhcrelay.c 2011-07-01 14:18:07.630209767 +0200
|
||||
@@ -183,11 +183,11 @@ main(int argc, char **argv) {
|
||||
diff -up dhcp-4.3.0a1/relay/dhcrelay.c.cloexec dhcp-4.3.0a1/relay/dhcrelay.c
|
||||
--- dhcp-4.3.0a1/relay/dhcrelay.c.cloexec 2013-12-13 22:26:21.000000000 +0100
|
||||
+++ dhcp-4.3.0a1/relay/dhcrelay.c 2013-12-19 15:34:41.664885886 +0100
|
||||
@@ -193,11 +193,11 @@ main(int argc, char **argv) {
|
||||
/* Make sure that file descriptors 0(stdin), 1,(stdout), and
|
||||
2(stderr) are open. To do this, we assume that when we
|
||||
open a file the lowest available file descriptor is used. */
|
||||
@@ -305,7 +224,7 @@ diff -up dhcp-4.2.2b1/relay/dhcrelay.c.cloexec dhcp-4.2.2b1/relay/dhcrelay.c
|
||||
if (fd == 2)
|
||||
log_perror = 0; /* No sense logging to /dev/null. */
|
||||
else if (fd != -1)
|
||||
@@ -540,13 +540,13 @@ main(int argc, char **argv) {
|
||||
@@ -564,13 +564,13 @@ main(int argc, char **argv) {
|
||||
|
||||
if (no_pid_file == ISC_FALSE) {
|
||||
pfdesc = open(path_dhcrelay_pid,
|
||||
@@ -321,10 +240,10 @@ diff -up dhcp-4.2.2b1/relay/dhcrelay.c.cloexec dhcp-4.2.2b1/relay/dhcrelay.c
|
||||
if (!pf)
|
||||
log_error("Can't fdopen %s: %m",
|
||||
path_dhcrelay_pid);
|
||||
diff -up dhcp-4.2.2b1/server/confpars.c.cloexec dhcp-4.2.2b1/server/confpars.c
|
||||
--- dhcp-4.2.2b1/server/confpars.c.cloexec 2010-10-14 00:34:45.000000000 +0200
|
||||
+++ dhcp-4.2.2b1/server/confpars.c 2011-07-01 14:13:31.039887666 +0200
|
||||
@@ -116,7 +116,7 @@ isc_result_t read_conf_file (const char
|
||||
diff -up dhcp-4.3.0a1/server/confpars.c.cloexec dhcp-4.3.0a1/server/confpars.c
|
||||
--- dhcp-4.3.0a1/server/confpars.c.cloexec 2013-12-11 01:25:12.000000000 +0100
|
||||
+++ dhcp-4.3.0a1/server/confpars.c 2013-12-19 15:34:41.665885871 +0100
|
||||
@@ -117,7 +117,7 @@ isc_result_t read_conf_file (const char
|
||||
}
|
||||
#endif
|
||||
|
||||
@@ -333,10 +252,10 @@ diff -up dhcp-4.2.2b1/server/confpars.c.cloexec dhcp-4.2.2b1/server/confpars.c
|
||||
if (leasep) {
|
||||
log_error ("Can't open lease database %s: %m --",
|
||||
path_dhcpd_db);
|
||||
diff -up dhcp-4.2.2b1/server/db.c.cloexec dhcp-4.2.2b1/server/db.c
|
||||
--- dhcp-4.2.2b1/server/db.c.cloexec 2010-09-14 00:15:26.000000000 +0200
|
||||
+++ dhcp-4.2.2b1/server/db.c 2011-07-01 14:13:31.040887665 +0200
|
||||
@@ -1035,7 +1035,7 @@ void db_startup (testp)
|
||||
diff -up dhcp-4.3.0a1/server/db.c.cloexec dhcp-4.3.0a1/server/db.c
|
||||
--- dhcp-4.3.0a1/server/db.c.cloexec 2013-12-11 01:25:12.000000000 +0100
|
||||
+++ dhcp-4.3.0a1/server/db.c 2013-12-19 15:34:41.666885857 +0100
|
||||
@@ -1081,7 +1081,7 @@ void db_startup (testp)
|
||||
}
|
||||
#endif
|
||||
if (!testp) {
|
||||
@@ -345,7 +264,7 @@ diff -up dhcp-4.2.2b1/server/db.c.cloexec dhcp-4.2.2b1/server/db.c
|
||||
if (!db_file)
|
||||
log_fatal ("Can't open %s for append.", path_dhcpd_db);
|
||||
expire_all_pools ();
|
||||
@@ -1083,12 +1083,12 @@ int new_lease_file ()
|
||||
@@ -1129,12 +1129,12 @@ int new_lease_file ()
|
||||
path_dhcpd_db, (int)t) >= sizeof newfname)
|
||||
log_fatal("new_lease_file: lease file path too long");
|
||||
|
||||
@@ -360,10 +279,10 @@ diff -up dhcp-4.2.2b1/server/db.c.cloexec dhcp-4.2.2b1/server/db.c
|
||||
log_error("Can't fdopen new lease file: %m");
|
||||
close(db_fd);
|
||||
goto fdfail;
|
||||
diff -up dhcp-4.2.2b1/server/dhcpd.c.cloexec dhcp-4.2.2b1/server/dhcpd.c
|
||||
--- dhcp-4.2.2b1/server/dhcpd.c.cloexec 2011-04-21 16:08:15.000000000 +0200
|
||||
+++ dhcp-4.2.2b1/server/dhcpd.c 2011-07-01 14:19:40.354124505 +0200
|
||||
@@ -270,11 +270,11 @@ main(int argc, char **argv) {
|
||||
diff -up dhcp-4.3.0a1/server/dhcpd.c.cloexec dhcp-4.3.0a1/server/dhcpd.c
|
||||
--- dhcp-4.3.0a1/server/dhcpd.c.cloexec 2013-12-13 22:26:01.000000000 +0100
|
||||
+++ dhcp-4.3.0a1/server/dhcpd.c 2013-12-19 15:37:17.258674472 +0100
|
||||
@@ -193,11 +193,11 @@ main(int argc, char **argv) {
|
||||
/* Make sure that file descriptors 0 (stdin), 1, (stdout), and
|
||||
2 (stderr) are open. To do this, we assume that when we
|
||||
open a file the lowest available file descriptor is used. */
|
||||
@@ -378,7 +297,7 @@ diff -up dhcp-4.2.2b1/server/dhcpd.c.cloexec dhcp-4.2.2b1/server/dhcpd.c
|
||||
if (fd == 2)
|
||||
log_perror = 0; /* No sense logging to /dev/null. */
|
||||
else if (fd != -1)
|
||||
@@ -793,7 +793,7 @@ main(int argc, char **argv) {
|
||||
@@ -716,7 +716,7 @@ main(int argc, char **argv) {
|
||||
*/
|
||||
if (no_pid_file == ISC_FALSE) {
|
||||
/*Read previous pid file. */
|
||||
@@ -387,7 +306,7 @@ diff -up dhcp-4.2.2b1/server/dhcpd.c.cloexec dhcp-4.2.2b1/server/dhcpd.c
|
||||
status = read(i, pbuf, (sizeof pbuf) - 1);
|
||||
close (i);
|
||||
if (status > 0) {
|
||||
@@ -812,7 +812,7 @@ main(int argc, char **argv) {
|
||||
@@ -735,7 +735,7 @@ main(int argc, char **argv) {
|
||||
}
|
||||
|
||||
/* Write new pid file. */
|
||||
@@ -396,23 +315,23 @@ diff -up dhcp-4.2.2b1/server/dhcpd.c.cloexec dhcp-4.2.2b1/server/dhcpd.c
|
||||
if (i >= 0) {
|
||||
sprintf(pbuf, "%d\n", (int) getpid());
|
||||
IGNORE_RET (write(i, pbuf, strlen(pbuf)));
|
||||
@@ -840,9 +840,9 @@ main(int argc, char **argv) {
|
||||
close(2);
|
||||
@@ -763,9 +763,9 @@ main(int argc, char **argv) {
|
||||
(void) close(2);
|
||||
|
||||
/* Reopen them on /dev/null. */
|
||||
- open("/dev/null", O_RDWR);
|
||||
- open("/dev/null", O_RDWR);
|
||||
- open("/dev/null", O_RDWR);
|
||||
+ open("/dev/null", O_RDWR | O_CLOEXEC);
|
||||
+ open("/dev/null", O_RDWR | O_CLOEXEC);
|
||||
+ open("/dev/null", O_RDWR | O_CLOEXEC);
|
||||
- (void) open("/dev/null", O_RDWR);
|
||||
- (void) open("/dev/null", O_RDWR);
|
||||
- (void) open("/dev/null", O_RDWR);
|
||||
+ (void) open("/dev/null", O_RDWR | O_CLOEXEC);
|
||||
+ (void) open("/dev/null", O_RDWR | O_CLOEXEC);
|
||||
+ (void) open("/dev/null", O_RDWR | O_CLOEXEC);
|
||||
log_perror = 0; /* No sense logging to /dev/null. */
|
||||
|
||||
IGNORE_RET (chdir("/"));
|
||||
diff -up dhcp-4.2.2b1/server/ldap.c.cloexec dhcp-4.2.2b1/server/ldap.c
|
||||
--- dhcp-4.2.2b1/server/ldap.c.cloexec 2010-03-25 16:26:58.000000000 +0100
|
||||
+++ dhcp-4.2.2b1/server/ldap.c 2011-07-01 14:13:31.043887665 +0200
|
||||
@@ -685,7 +685,7 @@ ldap_start (void)
|
||||
diff -up dhcp-4.3.0a1/server/ldap.c.cloexec dhcp-4.3.0a1/server/ldap.c
|
||||
--- dhcp-4.3.0a1/server/ldap.c.cloexec 2013-12-11 01:25:12.000000000 +0100
|
||||
+++ dhcp-4.3.0a1/server/ldap.c 2013-12-19 15:34:41.667885843 +0100
|
||||
@@ -684,7 +684,7 @@ ldap_start (void)
|
||||
|
||||
if (ldap_debug_file != NULL && ldap_debug_fd == -1)
|
||||
{
|
||||
@@ -1,7 +1,31 @@
|
||||
diff -up dhcp-4.2.0-P1/client/dhc6.c.PPP dhcp-4.2.0-P1/client/dhc6.c
|
||||
--- dhcp-4.2.0-P1/client/dhc6.c.PPP 2010-11-05 10:47:37.000000000 +0100
|
||||
+++ dhcp-4.2.0-P1/client/dhc6.c 2010-11-09 15:54:12.000000000 +0100
|
||||
@@ -129,7 +129,7 @@ extern int stateless;
|
||||
diff -up dhcp-4.3.1b1/client/dhc6.c.mRfpsB dhcp-4.3.1b1/client/dhc6.c
|
||||
--- dhcp-4.3.1b1/client/dhc6.c.mRfpsB 2014-07-10 17:48:03.779424870 +0200
|
||||
+++ dhcp-4.3.1b1/client/dhc6.c 2014-07-10 17:48:03.795424644 +0200
|
||||
@@ -5088,7 +5088,8 @@ make_client6_options(struct client_state
|
||||
*/
|
||||
if ((oc = lookup_option(&dhcpv6_universe, *op,
|
||||
D6O_CLIENTID)) == NULL) {
|
||||
- if (!option_cache(&oc, &default_duid, NULL, clientid_option,
|
||||
+ if (default_duid.len == 0 ||
|
||||
+ !option_cache(&oc, &default_duid, NULL, clientid_option,
|
||||
MDL))
|
||||
log_fatal("Failure assembling a DUID.");
|
||||
|
||||
diff -up dhcp-4.3.1b1/client/dhclient.c.mRfpsB dhcp-4.3.1b1/client/dhclient.c
|
||||
--- dhcp-4.3.1b1/client/dhclient.c.mRfpsB 2014-07-10 17:39:25.853763858 +0200
|
||||
+++ dhcp-4.3.1b1/client/dhclient.c 2014-07-10 17:49:49.882925843 +0200
|
||||
@@ -948,8 +948,8 @@ main(int argc, char **argv) {
|
||||
if (default_duid.buffer != NULL)
|
||||
data_string_forget(&default_duid, MDL);
|
||||
|
||||
- form_duid(&default_duid, MDL);
|
||||
- write_duid(&default_duid);
|
||||
+ if (form_duid(&default_duid, MDL) == ISC_R_SUCCESS)
|
||||
+ write_duid(&default_duid);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3267,7 +3267,7 @@ write_options(struct client_state *clien
|
||||
* is not how it is intended. Upcoming rearchitecting the client should
|
||||
* address this "one daemon model."
|
||||
*/
|
||||
@@ -10,7 +34,7 @@ diff -up dhcp-4.2.0-P1/client/dhc6.c.PPP dhcp-4.2.0-P1/client/dhc6.c
|
||||
form_duid(struct data_string *duid, const char *file, int line)
|
||||
{
|
||||
struct interface_info *ip;
|
||||
@@ -141,6 +141,15 @@ form_duid(struct data_string *duid, cons
|
||||
@@ -3280,6 +3280,15 @@ form_duid(struct data_string *duid, cons
|
||||
if (ip == NULL)
|
||||
log_fatal("Impossible condition at %s:%d.", MDL);
|
||||
|
||||
@@ -26,43 +50,19 @@ diff -up dhcp-4.2.0-P1/client/dhc6.c.PPP dhcp-4.2.0-P1/client/dhc6.c
|
||||
if ((ip->hw_address.hlen == 0) ||
|
||||
(ip->hw_address.hlen > sizeof(ip->hw_address.hbuf)))
|
||||
log_fatal("Impossible hardware address length at %s:%d.", MDL);
|
||||
@@ -176,6 +185,8 @@ form_duid(struct data_string *duid, cons
|
||||
memcpy(duid->buffer->data + 4, ip->hw_address.hbuf + 1,
|
||||
ip->hw_address.hlen - 1);
|
||||
@@ -3323,6 +3332,8 @@ form_duid(struct data_string *duid, cons
|
||||
log_info("Created duid %s.", str);
|
||||
dfree(str, MDL);
|
||||
}
|
||||
+
|
||||
+
|
||||
+ return ISC_R_SUCCESS;
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -5289,7 +5300,8 @@ make_client6_options(struct client_state
|
||||
*/
|
||||
if ((oc = lookup_option(&dhcpv6_universe, *op,
|
||||
D6O_CLIENTID)) == NULL) {
|
||||
- if (!option_cache(&oc, &default_duid, NULL, clientid_option,
|
||||
+ if (default_duid.len == 0 ||
|
||||
+ !option_cache(&oc, &default_duid, NULL, clientid_option,
|
||||
MDL))
|
||||
log_fatal("Failure assembling a DUID.");
|
||||
|
||||
diff -up dhcp-4.2.0-P1/client/dhclient.c.PPP dhcp-4.2.0-P1/client/dhclient.c
|
||||
--- dhcp-4.2.0-P1/client/dhclient.c.PPP 2010-11-05 10:47:37.000000000 +0100
|
||||
+++ dhcp-4.2.0-P1/client/dhclient.c 2010-11-09 15:37:26.000000000 +0100
|
||||
@@ -911,8 +911,8 @@ main(int argc, char **argv) {
|
||||
if (default_duid.buffer != NULL)
|
||||
data_string_forget(&default_duid, MDL);
|
||||
|
||||
- form_duid(&default_duid, MDL);
|
||||
- write_duid(&default_duid);
|
||||
+ if (form_duid(&default_duid, MDL) == ISC_R_SUCCESS)
|
||||
+ write_duid(&default_duid);
|
||||
}
|
||||
|
||||
for (ip = interfaces ; ip != NULL ; ip = ip->next) {
|
||||
diff -up dhcp-4.2.0-P1/common/bpf.c.PPP dhcp-4.2.0-P1/common/bpf.c
|
||||
--- dhcp-4.2.0-P1/common/bpf.c.PPP 2010-11-05 10:47:37.000000000 +0100
|
||||
+++ dhcp-4.2.0-P1/common/bpf.c 2010-11-09 15:42:42.000000000 +0100
|
||||
@@ -599,6 +599,22 @@ get_hw_addr(const char *name, struct har
|
||||
/* Write the default DUID to the lease store. */
|
||||
diff -up dhcp-4.3.1b1/common/bpf.c.mRfpsB dhcp-4.3.1b1/common/bpf.c
|
||||
--- dhcp-4.3.1b1/common/bpf.c.mRfpsB 2014-07-10 17:39:25.797764653 +0200
|
||||
+++ dhcp-4.3.1b1/common/bpf.c 2014-07-10 17:48:03.797424616 +0200
|
||||
@@ -600,6 +600,22 @@ get_hw_addr(const char *name, struct har
|
||||
memcpy(&hw->hbuf[1], LLADDR(sa), sa->sdl_alen);
|
||||
break;
|
||||
#endif /* IFT_FDDI */
|
||||
@@ -85,12 +85,12 @@ diff -up dhcp-4.2.0-P1/common/bpf.c.PPP dhcp-4.2.0-P1/common/bpf.c
|
||||
default:
|
||||
log_fatal("Unsupported device type %d for \"%s\"",
|
||||
sa->sdl_type, name);
|
||||
diff -up dhcp-4.2.0-P1/common/lpf.c.PPP dhcp-4.2.0-P1/common/lpf.c
|
||||
--- dhcp-4.2.0-P1/common/lpf.c.PPP 2010-11-05 10:47:37.000000000 +0100
|
||||
+++ dhcp-4.2.0-P1/common/lpf.c 2010-11-09 15:45:40.000000000 +0100
|
||||
@@ -502,6 +502,22 @@ get_hw_addr(const char *name, struct har
|
||||
diff -up dhcp-4.3.1b1/common/lpf.c.mRfpsB dhcp-4.3.1b1/common/lpf.c
|
||||
--- dhcp-4.3.1b1/common/lpf.c.mRfpsB 2014-07-10 17:39:25.744765404 +0200
|
||||
+++ dhcp-4.3.1b1/common/lpf.c 2014-07-10 17:48:03.797424616 +0200
|
||||
@@ -511,6 +511,22 @@ get_hw_addr(const char *name, struct har
|
||||
hw->hbuf[0] = HTYPE_FDDI;
|
||||
memcpy(&hw->hbuf[1], sa->sa_data, 16);
|
||||
memcpy(&hw->hbuf[1], sa->sa_data, 6);
|
||||
break;
|
||||
+#if defined(ARPHRD_PPP)
|
||||
+ case ARPHRD_PPP:
|
||||
@@ -111,34 +111,34 @@ diff -up dhcp-4.2.0-P1/common/lpf.c.PPP dhcp-4.2.0-P1/common/lpf.c
|
||||
default:
|
||||
log_fatal("Unsupported device type %ld for \"%s\"",
|
||||
(long int)sa->sa_family, name);
|
||||
diff -up dhcp-4.2.0-P1/includes/dhcpd.h.PPP dhcp-4.2.0-P1/includes/dhcpd.h
|
||||
--- dhcp-4.2.0-P1/includes/dhcpd.h.PPP 2010-11-05 10:47:37.000000000 +0100
|
||||
+++ dhcp-4.2.0-P1/includes/dhcpd.h 2010-11-09 15:46:58.000000000 +0100
|
||||
@@ -2733,7 +2733,7 @@ void dhcpv4_client_assignments(void);
|
||||
void dhcpv6_client_assignments(void);
|
||||
diff -up dhcp-4.3.1b1/includes/dhcpd.h.mRfpsB dhcp-4.3.1b1/includes/dhcpd.h
|
||||
--- dhcp-4.3.1b1/includes/dhcpd.h.mRfpsB 2014-07-10 17:48:03.761425124 +0200
|
||||
+++ dhcp-4.3.1b1/includes/dhcpd.h 2014-07-10 17:48:03.798424601 +0200
|
||||
@@ -2839,7 +2839,7 @@ void client_dns_remove(struct client_sta
|
||||
|
||||
/* dhc6.c */
|
||||
void dhcpv4_client_assignments(void);
|
||||
void dhcpv6_client_assignments(void);
|
||||
-void form_duid(struct data_string *duid, const char *file, int line);
|
||||
+isc_result_t form_duid(struct data_string *duid, const char *file, int line);
|
||||
void dhc6_lease_destroy(struct dhc6_lease **src, const char *file, int line);
|
||||
void start_init6(struct client_state *client);
|
||||
void start_info_request6(struct client_state *client);
|
||||
diff -up dhcp-4.2.0-P1/includes/dhcp.h.PPP dhcp-4.2.0-P1/includes/dhcp.h
|
||||
--- dhcp-4.2.0-P1/includes/dhcp.h.PPP 2010-11-05 10:47:37.000000000 +0100
|
||||
+++ dhcp-4.2.0-P1/includes/dhcp.h 2010-11-09 15:48:53.000000000 +0100
|
||||
@@ -80,6 +80,8 @@ struct dhcp_packet {
|
||||
#define HTYPE_IEEE802 6 /* IEEE 802.2 Token Ring... */
|
||||
#define HTYPE_FDDI 8 /* FDDI... */
|
||||
|
||||
+#define HTYPE_RESERVED 0 /* RFC 5494 */
|
||||
/* dhc6.c */
|
||||
void dhc6_lease_destroy(struct dhc6_lease **src, const char *file, int line);
|
||||
diff -up dhcp-4.3.1b1/includes/dhcp.h.mRfpsB dhcp-4.3.1b1/includes/dhcp.h
|
||||
--- dhcp-4.3.1b1/includes/dhcp.h.mRfpsB 2014-07-10 17:48:03.761425124 +0200
|
||||
+++ dhcp-4.3.1b1/includes/dhcp.h 2014-07-10 17:48:03.798424601 +0200
|
||||
@@ -81,6 +81,8 @@ struct dhcp_packet {
|
||||
* is no standard for this so we
|
||||
* just steal a type */
|
||||
|
||||
+#define HTYPE_RESERVED 0 /* RFC 5494 */
|
||||
+
|
||||
/* Magic cookie validating dhcp options field (and bootp vendor
|
||||
extensions field). */
|
||||
#define DHCP_OPTIONS_COOKIE "\143\202\123\143"
|
||||
diff -up dhcp-4.2.0-P1/server/dhcpv6.c.PPP dhcp-4.2.0-P1/server/dhcpv6.c
|
||||
--- dhcp-4.2.0-P1/server/dhcpv6.c.PPP 2010-11-05 10:47:37.000000000 +0100
|
||||
+++ dhcp-4.2.0-P1/server/dhcpv6.c 2010-11-09 15:50:17.000000000 +0100
|
||||
@@ -300,6 +300,9 @@ generate_new_server_duid(void) {
|
||||
diff -up dhcp-4.3.1b1/server/dhcpv6.c.mRfpsB dhcp-4.3.1b1/server/dhcpv6.c
|
||||
--- dhcp-4.3.1b1/server/dhcpv6.c.mRfpsB 2014-07-10 17:47:31.464881409 +0200
|
||||
+++ dhcp-4.3.1b1/server/dhcpv6.c 2014-07-10 17:48:03.800424573 +0200
|
||||
@@ -330,6 +330,9 @@ generate_new_server_duid(void) {
|
||||
if (p->hw_address.hlen > 0) {
|
||||
break;
|
||||
}
|
||||
@@ -1,7 +1,7 @@
|
||||
diff -up dhcp-4.2.0/server/dhcpv6.c.UseMulticast dhcp-4.2.0/server/dhcpv6.c
|
||||
--- dhcp-4.2.0/server/dhcpv6.c.UseMulticast 2010-06-01 19:30:00.000000000 +0200
|
||||
+++ dhcp-4.2.0/server/dhcpv6.c 2010-07-21 16:17:30.000000000 +0200
|
||||
@@ -346,6 +346,48 @@ generate_new_server_duid(void) {
|
||||
diff -up dhcp-4.3.1b1/server/dhcpv6.c.UseMulticast dhcp-4.3.1b1/server/dhcpv6.c
|
||||
--- dhcp-4.3.1b1/server/dhcpv6.c.UseMulticast 2014-07-02 19:58:40.000000000 +0200
|
||||
+++ dhcp-4.3.1b1/server/dhcpv6.c 2014-07-10 18:20:03.066256219 +0200
|
||||
@@ -376,6 +376,48 @@ generate_new_server_duid(void) {
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -35,7 +35,7 @@ diff -up dhcp-4.2.0/server/dhcpv6.c.UseMulticast dhcp-4.2.0/server/dhcpv6.c
|
||||
+ }
|
||||
+
|
||||
+ execute_statements_in_scope(NULL, NULL, NULL, NULL, NULL,
|
||||
+ opt_state, &global_scope, root_group, NULL);
|
||||
+ opt_state, &global_scope, root_group, NULL, NULL);
|
||||
+
|
||||
+ oc = lookup_option(&dhcpv6_universe, opt_state, D6O_UNICAST);
|
||||
+ unicast_option_defined = (oc != NULL);
|
||||
@@ -50,8 +50,21 @@ diff -up dhcp-4.2.0/server/dhcpv6.c.UseMulticast dhcp-4.2.0/server/dhcpv6.c
|
||||
* Get the client identifier from the packet.
|
||||
*/
|
||||
isc_result_t
|
||||
@@ -1405,6 +1447,56 @@ lease_to_client(struct data_string *repl
|
||||
reply.shared->group);
|
||||
@@ -706,6 +748,12 @@ static const int required_opts[] = {
|
||||
D6O_PREFERENCE,
|
||||
0
|
||||
};
|
||||
+static const int required_opts_NAA[] = {
|
||||
+ D6O_CLIENTID,
|
||||
+ D6O_SERVERID,
|
||||
+ D6O_STATUS_CODE,
|
||||
+ 0
|
||||
+};
|
||||
static const int required_opts_solicit[] = {
|
||||
D6O_CLIENTID,
|
||||
D6O_SERVERID,
|
||||
@@ -1587,6 +1635,56 @@ lease_to_client(struct data_string *repl
|
||||
reply.shared->group, NULL);
|
||||
}
|
||||
|
||||
+ /* reject unicast message, unless we set unicast option */
|
||||
@@ -102,21 +115,20 @@ diff -up dhcp-4.2.0/server/dhcpv6.c.UseMulticast dhcp-4.2.0/server/dhcpv6.c
|
||||
+ reply.opt_state, reply.packet,
|
||||
+ required_opts_NAA,
|
||||
+ NULL);
|
||||
+ } else if (no_resources_avail && (reply.ia_count != 0) &&
|
||||
+ (reply.packet->dhcpv6_msg_type == DHCPV6_SOLICIT))
|
||||
+ }
|
||||
+
|
||||
/*
|
||||
* RFC3315 section 17.2.2 (Solicit):
|
||||
*
|
||||
@@ -1429,8 +1521,6 @@ lease_to_client(struct data_string *repl
|
||||
* the server.
|
||||
* Sends a Renew/Rebind if the IA is not in the Reply message.
|
||||
@@ -1619,6 +1717,7 @@ lease_to_client(struct data_string *repl
|
||||
* Having stored the client's IA's, store any options that
|
||||
* will fit in the remaining space.
|
||||
*/
|
||||
- if (no_resources_avail && (reply.ia_count != 0) &&
|
||||
- (reply.packet->dhcpv6_msg_type == DHCPV6_SOLICIT))
|
||||
{
|
||||
/* Set the NoAddrsAvail status code. */
|
||||
if (!set_status_code(STATUS_NoAddrsAvail,
|
||||
@@ -4128,7 +4218,6 @@ dhcpv6_solicit(struct data_string *reply
|
||||
+ else
|
||||
reply.cursor += store_options6((char *)reply.buf.data + reply.cursor,
|
||||
sizeof(reply.buf) - reply.cursor,
|
||||
reply.opt_state, reply.packet,
|
||||
@@ -4748,7 +4847,6 @@ dhcpv6_solicit(struct data_string *reply
|
||||
* Very similar to Solicit handling, except the server DUID is required.
|
||||
*/
|
||||
|
||||
@@ -124,7 +136,7 @@ diff -up dhcp-4.2.0/server/dhcpv6.c.UseMulticast dhcp-4.2.0/server/dhcpv6.c
|
||||
static void
|
||||
dhcpv6_request(struct data_string *reply_ret, struct packet *packet) {
|
||||
struct data_string client_id;
|
||||
@@ -4443,7 +4532,6 @@ exit:
|
||||
@@ -5078,7 +5176,6 @@ exit:
|
||||
* except for the error code of when addresses don't match.
|
||||
*/
|
||||
|
||||
@@ -132,7 +144,7 @@ diff -up dhcp-4.2.0/server/dhcpv6.c.UseMulticast dhcp-4.2.0/server/dhcpv6.c
|
||||
static void
|
||||
dhcpv6_renew(struct data_string *reply, struct packet *packet) {
|
||||
struct data_string client_id;
|
||||
@@ -4688,18 +4776,60 @@ iterate_over_ia_na(struct data_string *r
|
||||
@@ -5322,18 +5419,60 @@ iterate_over_ia_na(struct data_string *r
|
||||
goto exit;
|
||||
}
|
||||
|
||||
@@ -203,7 +215,7 @@ diff -up dhcp-4.2.0/server/dhcpv6.c.UseMulticast dhcp-4.2.0/server/dhcpv6.c
|
||||
|
||||
/*
|
||||
* Loop through the IA_NA reported by the client, and deal with
|
||||
@@ -4838,6 +4968,7 @@ iterate_over_ia_na(struct data_string *r
|
||||
@@ -5471,6 +5610,7 @@ iterate_over_ia_na(struct data_string *r
|
||||
/*
|
||||
* Return our reply to the caller.
|
||||
*/
|
||||
@@ -211,7 +223,7 @@ diff -up dhcp-4.2.0/server/dhcpv6.c.UseMulticast dhcp-4.2.0/server/dhcpv6.c
|
||||
reply_ret->len = reply_ofs;
|
||||
reply_ret->buffer = NULL;
|
||||
if (!buffer_allocate(&reply_ret->buffer, reply_ofs, MDL)) {
|
||||
@@ -4883,7 +5014,6 @@ exit:
|
||||
@@ -5516,7 +5656,6 @@ exit:
|
||||
* we still need to be aware of this possibility.
|
||||
*/
|
||||
|
||||
@@ -219,7 +231,7 @@ diff -up dhcp-4.2.0/server/dhcpv6.c.UseMulticast dhcp-4.2.0/server/dhcpv6.c
|
||||
/* TODO: IA_TA */
|
||||
static void
|
||||
dhcpv6_decline(struct data_string *reply, struct packet *packet) {
|
||||
@@ -5355,7 +5485,6 @@ exit:
|
||||
@@ -5986,7 +6125,6 @@ exit:
|
||||
* Release means a client is done with the leases.
|
||||
*/
|
||||
|
||||
14
src/patches/dhcp/dhcp-add_timeout_when_NULL.patch
Normal file
14
src/patches/dhcp/dhcp-add_timeout_when_NULL.patch
Normal file
@@ -0,0 +1,14 @@
|
||||
diff -up dhcp-4.3.0a1/common/dispatch.c.dracut dhcp-4.3.0a1/common/dispatch.c
|
||||
--- dhcp-4.3.0a1/common/dispatch.c.dracut 2013-12-11 01:25:12.000000000 +0100
|
||||
+++ dhcp-4.3.0a1/common/dispatch.c 2013-12-19 15:39:50.350505860 +0100
|
||||
@@ -210,6 +210,10 @@ void add_timeout (when, where, what, ref
|
||||
isc_interval_t interval;
|
||||
isc_time_t expires;
|
||||
|
||||
+ if (when == NULL) {
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
/* See if this timeout supersedes an existing timeout. */
|
||||
t = (struct timeout *)0;
|
||||
for (q = timeouts; q; q = q->next) {
|
||||
@@ -1,7 +1,7 @@
|
||||
diff -up dhcp-4.2.2b1/client/dhclient.8.capability dhcp-4.2.2b1/client/dhclient.8
|
||||
--- dhcp-4.2.2b1/client/dhclient.8.capability 2011-07-01 15:09:06.603784531 +0200
|
||||
+++ dhcp-4.2.2b1/client/dhclient.8 2011-07-01 15:09:06.663783913 +0200
|
||||
@@ -118,6 +118,9 @@ dhclient - Dynamic Host Configuration Pr
|
||||
diff -up dhcp-4.3.1b1/client/dhclient.8.zzftXp dhcp-4.3.1b1/client/dhclient.8
|
||||
--- dhcp-4.3.1b1/client/dhclient.8.zzftXp 2014-07-10 17:38:26.938599402 +0200
|
||||
+++ dhcp-4.3.1b1/client/dhclient.8 2014-07-10 17:39:25.852763873 +0200
|
||||
@@ -128,6 +128,9 @@ dhclient - Dynamic Host Configuration Pr
|
||||
.B -w
|
||||
]
|
||||
[
|
||||
@@ -11,7 +11,7 @@ diff -up dhcp-4.2.2b1/client/dhclient.8.capability dhcp-4.2.2b1/client/dhclient.
|
||||
.B -B
|
||||
]
|
||||
[
|
||||
@@ -296,6 +299,32 @@ has been added or removed, so that the c
|
||||
@@ -304,6 +307,32 @@ has been added or removed, so that the c
|
||||
address on that interface.
|
||||
|
||||
.TP
|
||||
@@ -44,9 +44,9 @@ diff -up dhcp-4.2.2b1/client/dhclient.8.capability dhcp-4.2.2b1/client/dhclient.
|
||||
.BI \-B
|
||||
Set the BOOTP broadcast flag in request packets so servers will always
|
||||
broadcast replies.
|
||||
diff -up dhcp-4.2.2b1/client/dhclient.c.capability dhcp-4.2.2b1/client/dhclient.c
|
||||
--- dhcp-4.2.2b1/client/dhclient.c.capability 2011-07-01 15:09:06.644784107 +0200
|
||||
+++ dhcp-4.2.2b1/client/dhclient.c 2011-07-01 15:09:06.664783903 +0200
|
||||
diff -up dhcp-4.3.1b1/client/dhclient.c.zzftXp dhcp-4.3.1b1/client/dhclient.c
|
||||
--- dhcp-4.3.1b1/client/dhclient.c.zzftXp 2014-07-10 17:39:25.797764653 +0200
|
||||
+++ dhcp-4.3.1b1/client/dhclient.c 2014-07-10 17:39:25.853763858 +0200
|
||||
@@ -39,6 +39,10 @@
|
||||
#include <limits.h>
|
||||
#include <dns/result.h>
|
||||
@@ -58,7 +58,7 @@ diff -up dhcp-4.2.2b1/client/dhclient.c.capability dhcp-4.2.2b1/client/dhclient.
|
||||
/*
|
||||
* Defined in stdio.h when _GNU_SOURCE is set, but we don't want to define
|
||||
* that when building ISC code.
|
||||
@@ -141,6 +145,9 @@ main(int argc, char **argv) {
|
||||
@@ -143,6 +147,9 @@ main(int argc, char **argv) {
|
||||
int timeout_arg = 0;
|
||||
char *arg_conf = NULL;
|
||||
int arg_conf_len = 0;
|
||||
@@ -68,7 +68,7 @@ diff -up dhcp-4.2.2b1/client/dhclient.c.capability dhcp-4.2.2b1/client/dhclient.
|
||||
|
||||
/* Initialize client globals. */
|
||||
memset(&default_duid, 0, sizeof(default_duid));
|
||||
@@ -410,6 +417,10 @@ main(int argc, char **argv) {
|
||||
@@ -425,6 +432,10 @@ main(int argc, char **argv) {
|
||||
}
|
||||
|
||||
dhclient_request_options = argv[i];
|
||||
@@ -79,7 +79,7 @@ diff -up dhcp-4.2.2b1/client/dhclient.c.capability dhcp-4.2.2b1/client/dhclient.
|
||||
} else if (argv[i][0] == '-') {
|
||||
usage();
|
||||
} else if (interfaces_requested < 0) {
|
||||
@@ -458,6 +469,19 @@ main(int argc, char **argv) {
|
||||
@@ -473,6 +484,19 @@ main(int argc, char **argv) {
|
||||
path_dhclient_script = s;
|
||||
}
|
||||
|
||||
@@ -99,10 +99,10 @@ diff -up dhcp-4.2.2b1/client/dhclient.c.capability dhcp-4.2.2b1/client/dhclient.
|
||||
/* Set up the initial dhcp option universe. */
|
||||
initialize_common_option_spaces();
|
||||
|
||||
diff -up dhcp-4.2.2b1/client/dhclient-script.8.capability dhcp-4.2.2b1/client/dhclient-script.8
|
||||
--- dhcp-4.2.2b1/client/dhclient-script.8.capability 2011-07-01 15:09:06.604784521 +0200
|
||||
+++ dhcp-4.2.2b1/client/dhclient-script.8 2011-07-01 15:09:06.666783883 +0200
|
||||
@@ -239,6 +239,16 @@ repeatedly initialized to the values pro
|
||||
diff -up dhcp-4.3.1b1/client/dhclient-script.8.zzftXp dhcp-4.3.1b1/client/dhclient-script.8
|
||||
--- dhcp-4.3.1b1/client/dhclient-script.8.zzftXp 2014-07-10 17:39:25.761765163 +0200
|
||||
+++ dhcp-4.3.1b1/client/dhclient-script.8 2014-07-10 17:39:25.851763887 +0200
|
||||
@@ -243,6 +243,16 @@ repeatedly initialized to the values pro
|
||||
the other. Assuming the information provided by both servers is
|
||||
valid, this shouldn't cause any real problems, but it could be
|
||||
confusing.
|
||||
@@ -119,22 +119,22 @@ diff -up dhcp-4.2.2b1/client/dhclient-script.8.capability dhcp-4.2.2b1/client/dh
|
||||
.SH SEE ALSO
|
||||
dhclient(8), dhcpd(8), dhcrelay(8), dhclient.conf(5) and
|
||||
dhclient.leases(5).
|
||||
diff -up dhcp-4.2.2b1/client/Makefile.am.capability dhcp-4.2.2b1/client/Makefile.am
|
||||
--- dhcp-4.2.2b1/client/Makefile.am.capability 2011-07-01 15:09:06.526785327 +0200
|
||||
+++ dhcp-4.2.2b1/client/Makefile.am 2011-07-01 15:09:06.667783873 +0200
|
||||
@@ -5,7 +5,7 @@ dhclient_SOURCES = clparse.c dhclient.c
|
||||
diff -up dhcp-4.3.1b1/client/Makefile.am.zzftXp dhcp-4.3.1b1/client/Makefile.am
|
||||
--- dhcp-4.3.1b1/client/Makefile.am.zzftXp 2014-07-10 17:38:10.778828583 +0200
|
||||
+++ dhcp-4.3.1b1/client/Makefile.am 2014-07-10 17:39:25.851763887 +0200
|
||||
@@ -10,7 +10,7 @@ dhclient_SOURCES = clparse.c dhclient.c
|
||||
scripts/bsdos scripts/freebsd scripts/linux scripts/macos \
|
||||
scripts/netbsd scripts/nextstep scripts/openbsd \
|
||||
scripts/solaris scripts/openwrt
|
||||
dhclient_LDADD = ../common/libdhcp.a ../omapip/libomapi.a \
|
||||
- $(BIND9_LIBDIR) -ldns-export -lisc-export
|
||||
+ $(BIND9_LIBDIR) -ldns-export -lisc-export $(CAPNG_LDADD)
|
||||
-dhclient_LDADD = ../common/libdhcp.a ../omapip/libomapi.a \
|
||||
+dhclient_LDADD = ../common/libdhcp.a ../omapip/libomapi.la $(CAPNG_LDADD) \
|
||||
$(BIND9_LIBDIR) -lirs -ldns -lisccfg -lisc
|
||||
man_MANS = dhclient.8 dhclient-script.8 dhclient.conf.5 dhclient.leases.5
|
||||
EXTRA_DIST = $(man_MANS)
|
||||
|
||||
diff -up dhcp-4.2.2b1/configure.ac.capability dhcp-4.2.2b1/configure.ac
|
||||
--- dhcp-4.2.2b1/configure.ac.capability 2011-07-01 15:09:06.527785317 +0200
|
||||
+++ dhcp-4.2.2b1/configure.ac 2011-07-01 15:09:06.667783873 +0200
|
||||
@@ -449,6 +449,41 @@ AC_TRY_LINK(
|
||||
diff -up dhcp-4.3.1b1/configure.ac.zzftXp dhcp-4.3.1b1/configure.ac
|
||||
--- dhcp-4.3.1b1/configure.ac.zzftXp 2014-07-10 17:38:10.779828569 +0200
|
||||
+++ dhcp-4.3.1b1/configure.ac 2014-07-10 17:39:25.854763844 +0200
|
||||
@@ -499,6 +499,41 @@ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[]],
|
||||
# Look for optional headers.
|
||||
AC_CHECK_HEADERS(sys/socket.h net/if_dl.h net/if6.h regex.h)
|
||||
|
||||
@@ -176,11 +176,11 @@ diff -up dhcp-4.2.2b1/configure.ac.capability dhcp-4.2.2b1/configure.ac
|
||||
# Solaris needs some libraries for functions
|
||||
AC_SEARCH_LIBS(socket, [socket])
|
||||
AC_SEARCH_LIBS(inet_ntoa, [nsl])
|
||||
diff -up dhcp-4.2.2b1/relay/dhcrelay.c.capability dhcp-4.2.2b1/relay/dhcrelay.c
|
||||
--- dhcp-4.2.2b1/relay/dhcrelay.c.capability 2011-07-01 15:09:06.626784295 +0200
|
||||
+++ dhcp-4.2.2b1/relay/dhcrelay.c 2011-07-01 15:12:05.362223794 +0200
|
||||
@@ -36,6 +36,11 @@
|
||||
#include <syslog.h>
|
||||
diff -up dhcp-4.3.1b1/relay/dhcrelay.c.zzftXp dhcp-4.3.1b1/relay/dhcrelay.c
|
||||
--- dhcp-4.3.1b1/relay/dhcrelay.c.zzftXp 2014-07-10 17:39:25.799764624 +0200
|
||||
+++ dhcp-4.3.1b1/relay/dhcrelay.c 2014-07-10 17:40:19.191007421 +0200
|
||||
@@ -31,6 +31,11 @@
|
||||
#include <signal.h>
|
||||
#include <sys/time.h>
|
||||
|
||||
+#ifdef HAVE_LIBCAP_NG
|
||||
@@ -191,9 +191,9 @@ diff -up dhcp-4.2.2b1/relay/dhcrelay.c.capability dhcp-4.2.2b1/relay/dhcrelay.c
|
||||
TIME default_lease_time = 43200; /* 12 hours... */
|
||||
TIME max_lease_time = 86400; /* 24 hours... */
|
||||
struct tree_cache *global_options[256];
|
||||
@@ -356,6 +361,10 @@ main(int argc, char **argv) {
|
||||
sl->next = upstreams;
|
||||
upstreams = sl;
|
||||
@@ -376,6 +381,10 @@ main(int argc, char **argv) {
|
||||
usage();
|
||||
dhcrelay_sub_id = argv[i];
|
||||
#endif
|
||||
+ } else if (!strcmp(argv[i], "-nc")) {
|
||||
+#ifdef HAVE_LIBCAP_NG
|
||||
@@ -202,7 +202,7 @@ diff -up dhcp-4.2.2b1/relay/dhcrelay.c.capability dhcp-4.2.2b1/relay/dhcrelay.c
|
||||
} else if (!strcmp(argv[i], "-pf")) {
|
||||
if (++i == argc)
|
||||
usage();
|
||||
@@ -426,6 +435,17 @@ main(int argc, char **argv) {
|
||||
@@ -446,6 +455,17 @@ main(int argc, char **argv) {
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -220,8 +220,8 @@ diff -up dhcp-4.2.2b1/relay/dhcrelay.c.capability dhcp-4.2.2b1/relay/dhcrelay.c
|
||||
if (!quiet) {
|
||||
log_info("%s %s", message, PACKAGE_VERSION);
|
||||
log_info(copyright);
|
||||
@@ -573,6 +593,15 @@ main(int argc, char **argv) {
|
||||
dhcpv6_packet_handler = do_packet6;
|
||||
@@ -598,6 +618,15 @@ main(int argc, char **argv) {
|
||||
signal(SIGTERM, dhcp_signal_handler); /* kill */
|
||||
#endif
|
||||
|
||||
+#ifdef HAVE_LIBCAP_NG
|
||||
@@ -236,88 +236,15 @@ diff -up dhcp-4.2.2b1/relay/dhcrelay.c.capability dhcp-4.2.2b1/relay/dhcrelay.c
|
||||
/* Start dispatching packets and timeouts... */
|
||||
dispatch();
|
||||
|
||||
diff -up dhcp-4.2.2b1/relay/Makefile.am.capability dhcp-4.2.2b1/relay/Makefile.am
|
||||
--- dhcp-4.2.2b1/relay/Makefile.am.capability 2011-07-01 15:09:06.546785121 +0200
|
||||
+++ dhcp-4.2.2b1/relay/Makefile.am 2011-07-01 15:09:06.670783841 +0200
|
||||
@@ -3,7 +3,7 @@ AM_CPPFLAGS = -DLOCALSTATEDIR='"@localst
|
||||
diff -up dhcp-4.3.1b1/relay/Makefile.am.zzftXp dhcp-4.3.1b1/relay/Makefile.am
|
||||
--- dhcp-4.3.1b1/relay/Makefile.am.zzftXp 2014-07-10 17:38:10.780828554 +0200
|
||||
+++ dhcp-4.3.1b1/relay/Makefile.am 2014-07-10 17:39:25.854763844 +0200
|
||||
@@ -2,7 +2,7 @@ AM_CPPFLAGS = -DLOCALSTATEDIR='"@localst
|
||||
|
||||
sbin_PROGRAMS = dhcrelay
|
||||
dhcrelay_SOURCES = dhcrelay.c
|
||||
dhcrelay_LDADD = ../common/libdhcp.a ../omapip/libomapi.a \
|
||||
- $(BIND9_LIBDIR) -ldns-export -lisc-export
|
||||
+ $(BIND9_LIBDIR) -ldns-export -lisc-export $(CAPNG_LDADD)
|
||||
-dhcrelay_LDADD = ../common/libdhcp.a ../omapip/libomapi.a \
|
||||
+dhcrelay_LDADD = ../common/libdhcp.a ../omapip/libomapi.la $(CAPNG_LDADD) \
|
||||
$(BIND9_LIBDIR) -lirs -ldns -lisccfg -lisc
|
||||
man_MANS = dhcrelay.8
|
||||
EXTRA_DIST = $(man_MANS)
|
||||
|
||||
diff -up dhcp-4.2.2b1/server/dhcpd.c.capability dhcp-4.2.2b1/server/dhcpd.c
|
||||
--- dhcp-4.2.2b1/server/dhcpd.c.capability 2011-07-01 15:09:06.636784192 +0200
|
||||
+++ dhcp-4.2.2b1/server/dhcpd.c 2011-07-01 15:09:06.670783841 +0200
|
||||
@@ -58,6 +58,11 @@ static const char url [] =
|
||||
# undef group
|
||||
#endif /* PARANOIA */
|
||||
|
||||
+#ifdef HAVE_LIBCAP_NG
|
||||
+# include <cap-ng.h>
|
||||
+ int keep_capabilities = 0;
|
||||
+#endif
|
||||
+
|
||||
static void usage(void);
|
||||
|
||||
struct iaddr server_identifier;
|
||||
@@ -403,6 +408,10 @@ main(int argc, char **argv) {
|
||||
traceinfile = argv [i];
|
||||
trace_replay_init ();
|
||||
#endif /* TRACING */
|
||||
+ } else if (!strcmp(argv[i], "-nc")) {
|
||||
+#ifdef HAVE_LIBCAP_NG
|
||||
+ keep_capabilities = 1;
|
||||
+#endif
|
||||
} else if (argv [i][0] == '-') {
|
||||
usage ();
|
||||
} else {
|
||||
@@ -459,6 +468,17 @@ main(int argc, char **argv) {
|
||||
}
|
||||
#endif /* DHCPv6 */
|
||||
|
||||
+#ifdef HAVE_LIBCAP_NG
|
||||
+ /* Drop capabilities */
|
||||
+ if (!keep_capabilities) {
|
||||
+ capng_clear(CAPNG_SELECT_BOTH);
|
||||
+ capng_updatev(CAPNG_ADD, CAPNG_EFFECTIVE|CAPNG_PERMITTED,
|
||||
+ CAP_NET_RAW, CAP_NET_BIND_SERVICE, CAP_SYS_CHROOT, CAP_SETUID, CAP_SETGID, -1);
|
||||
+ capng_apply(CAPNG_SELECT_BOTH);
|
||||
+ log_info ("Dropped all unnecessary capabilities.");
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
/*
|
||||
* convert relative path names to absolute, for files that need
|
||||
* to be reopened after chdir() has been called
|
||||
@@ -859,6 +879,15 @@ main(int argc, char **argv) {
|
||||
omapi_set_int_value ((omapi_object_t *)dhcp_control_object,
|
||||
(omapi_object_t *)0, "state", server_running);
|
||||
|
||||
+#ifdef HAVE_LIBCAP_NG
|
||||
+ /* Drop all capabilities */
|
||||
+ if (!keep_capabilities) {
|
||||
+ capng_clear(CAPNG_SELECT_BOTH);
|
||||
+ capng_apply(CAPNG_SELECT_BOTH);
|
||||
+ log_info ("Dropped all capabilities.");
|
||||
+ }
|
||||
+#endif
|
||||
+
|
||||
/* Receive packets and dispatch them... */
|
||||
dispatch ();
|
||||
|
||||
diff -up dhcp-4.2.2b1/server/Makefile.am.capability dhcp-4.2.2b1/server/Makefile.am
|
||||
--- dhcp-4.2.2b1/server/Makefile.am.capability 2011-07-01 15:09:06.546785121 +0200
|
||||
+++ dhcp-4.2.2b1/server/Makefile.am 2011-07-01 15:09:06.671783830 +0200
|
||||
@@ -8,7 +8,8 @@ dhcpd_SOURCES = dhcpd.c dhcp.c bootp.c c
|
||||
|
||||
dhcpd_CFLAGS = $(LDAP_CFLAGS)
|
||||
dhcpd_LDADD = ../common/libdhcp.a ../omapip/libomapi.a \
|
||||
- ../dhcpctl/libdhcpctl.a $(BIND9_LIBDIR) -ldns-export -lisc-export
|
||||
+ ../dhcpctl/libdhcpctl.a $(BIND9_LIBDIR) -ldns-export -lisc-export \
|
||||
+ $(CAPNG_LDADD)
|
||||
|
||||
man_MANS = dhcpd.8 dhcpd.conf.5 dhcpd.leases.5
|
||||
EXTRA_DIST = $(man_MANS)
|
||||
@@ -1,6 +1,6 @@
|
||||
diff -up dhcp-4.2.0/client/clparse.c.requested dhcp-4.2.0/client/clparse.c
|
||||
--- dhcp-4.2.0/client/clparse.c.requested 2010-07-21 13:29:05.000000000 +0200
|
||||
+++ dhcp-4.2.0/client/clparse.c 2010-07-21 13:50:29.000000000 +0200
|
||||
diff -up dhcp-4.3.0a1/client/clparse.c.requested dhcp-4.3.0a1/client/clparse.c
|
||||
--- dhcp-4.3.0a1/client/clparse.c.requested 2013-12-19 15:13:27.276631307 +0100
|
||||
+++ dhcp-4.3.0a1/client/clparse.c 2013-12-19 15:13:27.313630789 +0100
|
||||
@@ -37,7 +37,7 @@
|
||||
|
||||
struct client_config top_level_config;
|
||||
@@ -10,7 +10,7 @@ diff -up dhcp-4.2.0/client/clparse.c.requested dhcp-4.2.0/client/clparse.c
|
||||
struct option *default_requested_options[NUM_DEFAULT_REQUESTED_OPTS + 1];
|
||||
|
||||
static void parse_client_default_duid(struct parse *cfile);
|
||||
@@ -111,6 +111,31 @@ isc_result_t read_client_conf ()
|
||||
@@ -119,6 +119,31 @@ isc_result_t read_client_conf ()
|
||||
option_code_hash_lookup(&default_requested_options[8],
|
||||
dhcpv6_universe.code_hash, &code, 0, MDL);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
diff -up dhcp-4.2.0/client/dhclient.c.backoff dhcp-4.2.0/client/dhclient.c
|
||||
--- dhcp-4.2.0/client/dhclient.c.backoff 2010-07-21 13:37:03.000000000 +0200
|
||||
+++ dhcp-4.2.0/client/dhclient.c 2010-07-21 13:38:31.000000000 +0200
|
||||
@@ -1208,6 +1208,8 @@ void state_init (cpp)
|
||||
diff -up dhcp-4.3.1b1/client/dhclient.c.JwFUZj dhcp-4.3.1b1/client/dhclient.c
|
||||
--- dhcp-4.3.1b1/client/dhclient.c.JwFUZj 2014-07-10 17:38:50.511265091 +0200
|
||||
+++ dhcp-4.3.1b1/client/dhclient.c 2014-07-10 17:39:16.164901267 +0200
|
||||
@@ -1281,6 +1281,8 @@ void state_init (cpp)
|
||||
void *cpp;
|
||||
{
|
||||
struct client_state *client = cpp;
|
||||
@@ -10,7 +10,7 @@ diff -up dhcp-4.2.0/client/dhclient.c.backoff dhcp-4.2.0/client/dhclient.c
|
||||
|
||||
ASSERT_STATE(state, S_INIT);
|
||||
|
||||
@@ -1220,9 +1222,18 @@ void state_init (cpp)
|
||||
@@ -1293,9 +1295,18 @@ void state_init (cpp)
|
||||
client -> first_sending = cur_time;
|
||||
client -> interval = client -> config -> initial_interval;
|
||||
|
||||
@@ -32,15 +32,15 @@ diff -up dhcp-4.2.0/client/dhclient.c.backoff dhcp-4.2.0/client/dhclient.c
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -1501,6 +1512,7 @@ void bind_lease (client)
|
||||
send_decline (client);
|
||||
destroy_client_lease (client -> new);
|
||||
client -> new = (struct client_lease *)0;
|
||||
+ client -> state = S_DECLINED;
|
||||
state_init (client);
|
||||
return;
|
||||
}
|
||||
@@ -3711,6 +3723,7 @@ void client_location_changed ()
|
||||
@@ -1592,6 +1603,7 @@ void bind_lease (client)
|
||||
"try (declined). Exiting.");
|
||||
exit(2);
|
||||
} else {
|
||||
+ client -> state = S_DECLINED;
|
||||
state_init(client);
|
||||
return;
|
||||
}
|
||||
@@ -4059,6 +4071,7 @@ void client_location_changed ()
|
||||
case S_INIT:
|
||||
case S_REBINDING:
|
||||
case S_STOPPED:
|
||||
@@ -48,10 +48,10 @@ diff -up dhcp-4.2.0/client/dhclient.c.backoff dhcp-4.2.0/client/dhclient.c
|
||||
break;
|
||||
}
|
||||
client -> state = S_INIT;
|
||||
diff -up dhcp-4.2.0/includes/dhcpd.h.backoff dhcp-4.2.0/includes/dhcpd.h
|
||||
--- dhcp-4.2.0/includes/dhcpd.h.backoff 2010-07-21 13:29:05.000000000 +0200
|
||||
+++ dhcp-4.2.0/includes/dhcpd.h 2010-07-21 13:38:31.000000000 +0200
|
||||
@@ -1056,7 +1056,8 @@ enum dhcp_state {
|
||||
diff -up dhcp-4.3.1b1/includes/dhcpd.h.JwFUZj dhcp-4.3.1b1/includes/dhcpd.h
|
||||
--- dhcp-4.3.1b1/includes/dhcpd.h.JwFUZj 2014-07-10 17:38:26.941599360 +0200
|
||||
+++ dhcp-4.3.1b1/includes/dhcpd.h 2014-07-10 17:38:50.526264878 +0200
|
||||
@@ -1087,7 +1087,8 @@ enum dhcp_state {
|
||||
S_BOUND = 5,
|
||||
S_RENEWING = 6,
|
||||
S_REBINDING = 7,
|
||||
@@ -1,7 +1,7 @@
|
||||
diff -up dhcp-4.2.2b1/client/clparse.c.options dhcp-4.2.2b1/client/clparse.c
|
||||
--- dhcp-4.2.2b1/client/clparse.c.options 2011-04-21 16:08:14.000000000 +0200
|
||||
+++ dhcp-4.2.2b1/client/clparse.c 2011-07-01 13:51:52.935755570 +0200
|
||||
@@ -146,6 +146,7 @@ isc_result_t read_client_conf ()
|
||||
diff -up dhcp-4.3.1b1/client/clparse.c.fLPqYB dhcp-4.3.1b1/client/clparse.c
|
||||
--- dhcp-4.3.1b1/client/clparse.c.fLPqYB 2014-07-02 19:58:38.000000000 +0200
|
||||
+++ dhcp-4.3.1b1/client/clparse.c 2014-07-10 17:38:26.938599402 +0200
|
||||
@@ -148,6 +148,7 @@ isc_result_t read_client_conf ()
|
||||
/* Requested lease time, used by DHCPv6 (DHCPv4 uses the option cache)
|
||||
*/
|
||||
top_level_config.requested_lease = 7200;
|
||||
@@ -9,7 +9,7 @@ diff -up dhcp-4.2.2b1/client/clparse.c.options dhcp-4.2.2b1/client/clparse.c
|
||||
|
||||
group_allocate (&top_level_config.on_receipt, MDL);
|
||||
if (!top_level_config.on_receipt)
|
||||
@@ -313,7 +314,8 @@ void read_client_leases ()
|
||||
@@ -353,7 +354,8 @@ void read_client_leases ()
|
||||
interface-declaration |
|
||||
LEASE client-lease-statement |
|
||||
ALIAS client-lease-statement |
|
||||
@@ -19,7 +19,7 @@ diff -up dhcp-4.2.2b1/client/clparse.c.options dhcp-4.2.2b1/client/clparse.c
|
||||
|
||||
void parse_client_statement (cfile, ip, config)
|
||||
struct parse *cfile;
|
||||
@@ -732,6 +734,12 @@ void parse_client_statement (cfile, ip,
|
||||
@@ -771,6 +773,12 @@ void parse_client_statement (cfile, ip,
|
||||
parse_reject_statement (cfile, config);
|
||||
return;
|
||||
|
||||
@@ -32,9 +32,116 @@ diff -up dhcp-4.2.2b1/client/clparse.c.options dhcp-4.2.2b1/client/clparse.c
|
||||
default:
|
||||
lose = 0;
|
||||
stmt = (struct executable_statement *)0;
|
||||
diff -up dhcp-4.2.2b1/client/dhclient.c.options dhcp-4.2.2b1/client/dhclient.c
|
||||
--- dhcp-4.2.2b1/client/dhclient.c.options 2011-05-11 16:20:59.000000000 +0200
|
||||
+++ dhcp-4.2.2b1/client/dhclient.c 2011-07-01 13:51:52.936755545 +0200
|
||||
diff -up dhcp-4.3.1b1/client/dhclient.8.fLPqYB dhcp-4.3.1b1/client/dhclient.8
|
||||
--- dhcp-4.3.1b1/client/dhclient.8.fLPqYB 2014-07-02 19:58:38.000000000 +0200
|
||||
+++ dhcp-4.3.1b1/client/dhclient.8 2014-07-10 17:38:26.938599402 +0200
|
||||
@@ -128,6 +128,33 @@ dhclient - Dynamic Host Configuration Pr
|
||||
.B -w
|
||||
]
|
||||
[
|
||||
+.B -B
|
||||
+]
|
||||
+[
|
||||
+.B -C
|
||||
+.I dhcp-client-identifier
|
||||
+]
|
||||
+[
|
||||
+.B -H
|
||||
+.I host-name
|
||||
+]
|
||||
+[
|
||||
+.B -F
|
||||
+.I fqdn.fqdn
|
||||
+]
|
||||
+[
|
||||
+.B -V
|
||||
+.I vendor-class-identifier
|
||||
+]
|
||||
+[
|
||||
+.B -R
|
||||
+.I request-option-list
|
||||
+]
|
||||
+[
|
||||
+.B -timeout
|
||||
+.I timeout
|
||||
+]
|
||||
+[
|
||||
.B -v
|
||||
]
|
||||
[
|
||||
@@ -275,6 +302,69 @@ not to exit when it doesn't find any suc
|
||||
program can then be used to notify the client when a network interface
|
||||
has been added or removed, so that the client can attempt to configure an IP
|
||||
address on that interface.
|
||||
+
|
||||
+.TP
|
||||
+.BI \-B
|
||||
+Set the BOOTP broadcast flag in request packets so servers will always
|
||||
+broadcast replies.
|
||||
+
|
||||
+.TP
|
||||
+.BI \-C\ <dhcp-client-identifier>
|
||||
+Specify the dhcp-client-identifier option to send to the DHCP server.
|
||||
+
|
||||
+.TP
|
||||
+.BI \-H\ <host-name>
|
||||
+Specify the host-name option to send to the DHCP server. The host-name
|
||||
+string only contains the client's hostname prefix, to which the server will
|
||||
+append the ddns-domainname or domain-name options, if any, to derive the
|
||||
+fully qualified domain name of the client. The
|
||||
+.B -H
|
||||
+option cannot be used with the
|
||||
+.B -F
|
||||
+option.
|
||||
+
|
||||
+.TP
|
||||
+.BI \-F\ <fqdn.fqdn>
|
||||
+Specify the fqdn.fqdn option to send to the DHCP server. This option cannot
|
||||
+be used with the
|
||||
+.B -H
|
||||
+option. The fqdn.fqdn option must specify the complete domain name of the
|
||||
+client host, which the server may use for dynamic DNS updates.
|
||||
+
|
||||
+.TP
|
||||
+.BI \-V\ <vendor-class-identifier>
|
||||
+Specify the vendor-class-identifier option to send to the DHCP server.
|
||||
+
|
||||
+.TP
|
||||
+.BI \-R\ <option>[,<option>...]
|
||||
+Specify the list of options the client is to request from the server. The
|
||||
+option list must be a single string consisting of option names separated
|
||||
+by at least one command and optional space characters. The default option
|
||||
+list is:
|
||||
+
|
||||
+.BR
|
||||
+ subnet-mask, broadcast-address, time-offset, routers,
|
||||
+.BR
|
||||
+ domain-search, domain-name, domain-name-servers, host-name,
|
||||
+.BR
|
||||
+ nis-domain, nis-servers, ntp-servers, interface-mtu
|
||||
+
|
||||
+.TP
|
||||
+.B -R
|
||||
+option does not append options to the default request, it overrides the
|
||||
+default request list. Keep this in mind if you want to request an
|
||||
+additional option besides the default request list. You will have to
|
||||
+specify all option names for the
|
||||
+.B -R
|
||||
+parameter.
|
||||
+
|
||||
+.TP
|
||||
+.BI \-timeout\ <timeout>
|
||||
+Specify the time after which
|
||||
+.B dhclient
|
||||
+will decide that no DHCP servers can be contacted when no responses have been
|
||||
+received.
|
||||
+
|
||||
.TP
|
||||
.BI \-n
|
||||
Do not configure any interfaces. This is most likely to be useful in
|
||||
diff -up dhcp-4.3.1b1/client/dhclient.c.fLPqYB dhcp-4.3.1b1/client/dhclient.c
|
||||
--- dhcp-4.3.1b1/client/dhclient.c.fLPqYB 2014-07-02 19:58:38.000000000 +0200
|
||||
+++ dhcp-4.3.1b1/client/dhclient.c 2014-07-10 17:38:44.520350055 +0200
|
||||
@@ -39,6 +39,12 @@
|
||||
#include <limits.h>
|
||||
#include <dns/result.h>
|
||||
@@ -48,17 +155,17 @@ diff -up dhcp-4.2.2b1/client/dhclient.c.options dhcp-4.2.2b1/client/dhclient.c
|
||||
TIME default_lease_time = 43200; /* 12 hours... */
|
||||
TIME max_lease_time = 86400; /* 24 hours... */
|
||||
|
||||
@@ -87,6 +93,9 @@ int wanted_ia_na = -1; /* the absolute
|
||||
@@ -88,6 +94,9 @@ int wanted_ia_na = -1; /* the absolute
|
||||
int wanted_ia_ta = 0;
|
||||
int wanted_ia_pd = 0;
|
||||
char *mockup_relay = NULL;
|
||||
+int bootp_broadcast_always = 0;
|
||||
+
|
||||
+extern u_int32_t default_requested_options[];
|
||||
+extern struct option *default_requested_options[];
|
||||
|
||||
void run_stateless(int exit_mode);
|
||||
|
||||
@@ -123,6 +132,15 @@ main(int argc, char **argv) {
|
||||
@@ -125,6 +134,15 @@ main(int argc, char **argv) {
|
||||
int local_family_set = 0;
|
||||
#endif /* DHCPv6 */
|
||||
char *s;
|
||||
@@ -74,18 +181,18 @@ diff -up dhcp-4.2.2b1/client/dhclient.c.options dhcp-4.2.2b1/client/dhclient.c
|
||||
|
||||
/* Initialize client globals. */
|
||||
memset(&default_duid, 0, sizeof(default_duid));
|
||||
@@ -310,6 +328,88 @@ main(int argc, char **argv) {
|
||||
} else if (!strcmp(argv[i], "--version")) {
|
||||
log_info("isc-dhclient-%s", PACKAGE_VERSION);
|
||||
@@ -325,6 +343,88 @@ main(int argc, char **argv) {
|
||||
strlen(PACKAGE_VERSION)));
|
||||
IGNORE_RET(write(STDERR_FILENO, "\n", 1));
|
||||
exit(0);
|
||||
+ } else if (!strcmp(argv[i], "-I")) {
|
||||
+ } else if (!strcmp(argv[i], "-C")) {
|
||||
+ if ((++i == argc) || (argv[i] == NULL) || (*(argv[i])=='\0')) {
|
||||
+ usage();
|
||||
+ exit(1);
|
||||
+ }
|
||||
+
|
||||
+ if (strlen(argv[i]) >= DHCP_MAX_OPTION_LEN) {
|
||||
+ log_error("-I option dhcp-client-identifier string \"%s\" is too long - maximum length is: %d", argv[i], DHCP_MAX_OPTION_LEN-1);
|
||||
+ log_error("-C option dhcp-client-identifier string \"%s\" is too long - maximum length is: %d", argv[i], DHCP_MAX_OPTION_LEN-1);
|
||||
+ exit(1);
|
||||
+ }
|
||||
+
|
||||
@@ -138,7 +245,7 @@ diff -up dhcp-4.2.2b1/client/dhclient.c.options dhcp-4.2.2b1/client/dhclient.c
|
||||
+ }
|
||||
+
|
||||
+ if ((timeout_arg = atoi(argv[i])) <= 0) {
|
||||
+ log_error("-T timeout option must be > 0 - bad value: %s",argv[i]);
|
||||
+ log_error("timeout option must be > 0 - bad value: %s",argv[i]);
|
||||
+ exit(1);
|
||||
+ }
|
||||
+ } else if (!strcmp(argv[i], "-V")) {
|
||||
@@ -163,7 +270,7 @@ diff -up dhcp-4.2.2b1/client/dhclient.c.options dhcp-4.2.2b1/client/dhclient.c
|
||||
} else if (argv[i][0] == '-') {
|
||||
usage();
|
||||
} else if (interfaces_requested < 0) {
|
||||
@@ -484,6 +584,166 @@ main(int argc, char **argv) {
|
||||
@@ -507,6 +607,156 @@ main(int argc, char **argv) {
|
||||
/* Parse the dhclient.conf file. */
|
||||
read_client_conf();
|
||||
|
||||
@@ -172,7 +279,7 @@ diff -up dhcp-4.2.2b1/client/dhclient.c.options dhcp-4.2.2b1/client/dhclient.c
|
||||
+ arg_conf_len = asprintf(&arg_conf, "send dhcp-client-identifier \"%s\";", dhcp_client_identifier_arg);
|
||||
+
|
||||
+ if ((arg_conf == 0) || (arg_conf_len <= 0))
|
||||
+ log_fatal("Unable to send -I option dhcp-client-identifier");
|
||||
+ log_fatal("Unable to send -C option dhcp-client-identifier");
|
||||
+ }
|
||||
+
|
||||
+ if ((dhcp_host_name_arg != NULL) && (*dhcp_host_name_arg != '\0')) {
|
||||
@@ -269,7 +376,7 @@ diff -up dhcp-4.2.2b1/client/dhclient.c.options dhcp-4.2.2b1/client/dhclient.c
|
||||
+ if (arg_conf_len == 0)
|
||||
+ if ((arg_conf_len = strlen(arg_conf)) == 0)
|
||||
+ /* huh ? cannot happen ! */
|
||||
+ log_fatal("Unable to process -I/-H/-F/-timeout/-V/-R configuration arguments");
|
||||
+ log_fatal("Unable to process -C/-H/-F/-timeout/-V/-R configuration arguments");
|
||||
+
|
||||
+ /* parse the extra dhclient.conf configuration arguments
|
||||
+ * into top level config: */
|
||||
@@ -277,10 +384,10 @@ diff -up dhcp-4.2.2b1/client/dhclient.c.options dhcp-4.2.2b1/client/dhclient.c
|
||||
+ const char *val = NULL;
|
||||
+ int token;
|
||||
+
|
||||
+ status = new_parse(&cfile, -1, arg_conf, arg_conf_len, "extra dhclient -I/-H/-F/-timeout/-V/-R configuration arguments", 0);
|
||||
+ status = new_parse(&cfile, -1, arg_conf, arg_conf_len, "extra dhclient -C/-H/-F/-timeout/-V/-R configuration arguments", 0);
|
||||
+
|
||||
+ if ((status != ISC_R_SUCCESS) || (cfile -> warnings_occurred))
|
||||
+ log_fatal("Cannot parse -I/-H/-F/-timeout/-V/-R configuration arguments !");
|
||||
+ log_fatal("Cannot parse -C/-H/-F/-timeout/-V/-R configuration arguments !");
|
||||
+ /* more detailed parse failures will be logged */
|
||||
+
|
||||
+ do {
|
||||
@@ -292,26 +399,16 @@ diff -up dhcp-4.2.2b1/client/dhclient.c.options dhcp-4.2.2b1/client/dhclient.c
|
||||
+ } while (1);
|
||||
+
|
||||
+ if (cfile -> warnings_occurred)
|
||||
+ log_fatal("Cannot parse -I/-H/-F/-timeout/-V/-R configuration arguments !");
|
||||
+ log_fatal("Cannot parse -C/-H/-F/-timeout/-V/-R configuration arguments !");
|
||||
+ end_parse(&cfile);
|
||||
+
|
||||
+ if (timeout_arg) {
|
||||
+ /* we just set the toplevel timeout, but per-client
|
||||
+ * timeouts may still be at defaults. Also, it makes no
|
||||
+ * sense having the reboot_timeout or backoff_cutoff
|
||||
+ * greater than the timeout:
|
||||
+ * timeouts may still be at defaults.
|
||||
+ */
|
||||
+ if ((top_level_config.backoff_cutoff == 15) && (top_level_config.backoff_cutoff > (timeout_arg / 2)))
|
||||
+ top_level_config.backoff_cutoff = (((unsigned long)(timeout_arg / 2)) == 0) ? timeout_arg : (unsigned long)(timeout_arg / 2);
|
||||
+
|
||||
+ for (ip=interfaces; ip; ip = ip->next) {
|
||||
+ if (ip->client->config->timeout == 60)
|
||||
+ ip->client->config->timeout = timeout_arg;
|
||||
+
|
||||
+ if ((ip->client->config->reboot_timeout == 10) && (ip->client->config->reboot_timeout > ip->client->config->timeout))
|
||||
+ ip->client->config->reboot_timeout = ip->client->config->timeout;
|
||||
+ if ((ip->client->config->backoff_cutoff == 15) && (ip->client->config->backoff_cutoff > top_level_config.backoff_cutoff))
|
||||
+ ip->client->config->backoff_cutoff = top_level_config.backoff_cutoff;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
@@ -330,7 +427,18 @@ diff -up dhcp-4.2.2b1/client/dhclient.c.options dhcp-4.2.2b1/client/dhclient.c
|
||||
/* Parse the lease database. */
|
||||
read_client_leases();
|
||||
|
||||
@@ -2397,7 +2657,8 @@ void make_discover (client, lease)
|
||||
@@ -756,6 +1006,10 @@ static void usage()
|
||||
" [-s server-addr] [-cf config-file]\n"
|
||||
" [-df duid-file] [-lf lease-file]\n"
|
||||
" [-pf pid-file] [--no-pid] [-e VAR=val]\n"
|
||||
+ " [-C <dhcp-client-identifier>] [-B]\n"
|
||||
+ " [-H <host-name> | -F <fqdn.fqdn>] [-timeout <timeout>]\n"
|
||||
+ " [-V <vendor-class-identifier>]\n"
|
||||
+ " [-R <request option list>]\n"
|
||||
" [-sf script-file] [interface]");
|
||||
}
|
||||
|
||||
@@ -2531,7 +2785,8 @@ void make_discover (client, lease)
|
||||
client -> packet.xid = random ();
|
||||
client -> packet.secs = 0; /* filled in by send_discover. */
|
||||
|
||||
@@ -340,7 +448,7 @@ diff -up dhcp-4.2.2b1/client/dhclient.c.options dhcp-4.2.2b1/client/dhclient.c
|
||||
client -> packet.flags = 0;
|
||||
else
|
||||
client -> packet.flags = htons (BOOTP_BROADCAST);
|
||||
@@ -2481,7 +2742,9 @@ void make_request (client, lease)
|
||||
@@ -2615,7 +2870,9 @@ void make_request (client, lease)
|
||||
} else {
|
||||
memset (&client -> packet.ciaddr, 0,
|
||||
sizeof client -> packet.ciaddr);
|
||||
@@ -351,7 +459,7 @@ diff -up dhcp-4.2.2b1/client/dhclient.c.options dhcp-4.2.2b1/client/dhclient.c
|
||||
client -> packet.flags = 0;
|
||||
else
|
||||
client -> packet.flags = htons (BOOTP_BROADCAST);
|
||||
@@ -2543,7 +2806,8 @@ void make_decline (client, lease)
|
||||
@@ -2677,7 +2934,8 @@ void make_decline (client, lease)
|
||||
client -> packet.hops = 0;
|
||||
client -> packet.xid = client -> xid;
|
||||
client -> packet.secs = 0; /* Filled in by send_request. */
|
||||
@@ -361,10 +469,10 @@ diff -up dhcp-4.2.2b1/client/dhclient.c.options dhcp-4.2.2b1/client/dhclient.c
|
||||
client -> packet.flags = 0;
|
||||
else
|
||||
client -> packet.flags = htons (BOOTP_BROADCAST);
|
||||
diff -up dhcp-4.2.2b1/common/conflex.c.options dhcp-4.2.2b1/common/conflex.c
|
||||
--- dhcp-4.2.2b1/common/conflex.c.options 2011-05-11 16:20:59.000000000 +0200
|
||||
+++ dhcp-4.2.2b1/common/conflex.c 2011-07-01 13:51:52.938755494 +0200
|
||||
@@ -808,6 +808,8 @@ intern(char *atom, enum dhcp_token dfv)
|
||||
diff -up dhcp-4.3.1b1/common/conflex.c.fLPqYB dhcp-4.3.1b1/common/conflex.c
|
||||
--- dhcp-4.3.1b1/common/conflex.c.fLPqYB 2014-07-02 19:58:38.000000000 +0200
|
||||
+++ dhcp-4.3.1b1/common/conflex.c 2014-07-10 17:38:26.940599374 +0200
|
||||
@@ -811,6 +811,8 @@ intern(char *atom, enum dhcp_token dfv)
|
||||
return BALANCE;
|
||||
if (!strcasecmp (atom + 1, "ound"))
|
||||
return BOUND;
|
||||
@@ -373,10 +481,10 @@ diff -up dhcp-4.2.2b1/common/conflex.c.options dhcp-4.2.2b1/common/conflex.c
|
||||
break;
|
||||
case 'c':
|
||||
if (!strcasecmp(atom + 1, "ase"))
|
||||
diff -up dhcp-4.2.2b1/includes/dhcpd.h.options dhcp-4.2.2b1/includes/dhcpd.h
|
||||
--- dhcp-4.2.2b1/includes/dhcpd.h.options 2011-05-20 16:21:11.000000000 +0200
|
||||
+++ dhcp-4.2.2b1/includes/dhcpd.h 2011-07-01 13:51:52.940755442 +0200
|
||||
@@ -1147,6 +1147,9 @@ struct client_config {
|
||||
diff -up dhcp-4.3.1b1/includes/dhcpd.h.fLPqYB dhcp-4.3.1b1/includes/dhcpd.h
|
||||
--- dhcp-4.3.1b1/includes/dhcpd.h.fLPqYB 2014-07-02 19:58:39.000000000 +0200
|
||||
+++ dhcp-4.3.1b1/includes/dhcpd.h 2014-07-10 17:38:26.941599360 +0200
|
||||
@@ -1152,6 +1152,9 @@ struct client_config {
|
||||
int do_forward_update; /* If nonzero, and if we have the
|
||||
information we need, update the
|
||||
A record for the address we get. */
|
||||
@@ -386,16 +494,16 @@ diff -up dhcp-4.2.2b1/includes/dhcpd.h.options dhcp-4.2.2b1/includes/dhcpd.h
|
||||
};
|
||||
|
||||
/* Per-interface state used in the dhcp client... */
|
||||
diff -up dhcp-4.2.2b1/includes/dhctoken.h.options dhcp-4.2.2b1/includes/dhctoken.h
|
||||
--- dhcp-4.2.2b1/includes/dhctoken.h.options 2011-05-12 14:02:47.000000000 +0200
|
||||
+++ dhcp-4.2.2b1/includes/dhctoken.h 2011-07-01 13:53:43.316861637 +0200
|
||||
@@ -361,7 +361,8 @@ enum dhcp_token {
|
||||
GETHOSTNAME = 662,
|
||||
REWIND = 663,
|
||||
INITIAL_DELAY = 664,
|
||||
- GETHOSTBYNAME = 665
|
||||
+ GETHOSTBYNAME = 665,
|
||||
+ BOOTP_BROADCAST_ALWAYS = 666
|
||||
diff -up dhcp-4.3.1b1/includes/dhctoken.h.fLPqYB dhcp-4.3.1b1/includes/dhctoken.h
|
||||
--- dhcp-4.3.1b1/includes/dhctoken.h.fLPqYB 2014-07-02 19:58:39.000000000 +0200
|
||||
+++ dhcp-4.3.1b1/includes/dhctoken.h 2014-07-10 17:38:26.942599346 +0200
|
||||
@@ -367,7 +367,8 @@ enum dhcp_token {
|
||||
TOKEN_INFINIBAND = 668,
|
||||
POOL6 = 669,
|
||||
V6RELAY = 670,
|
||||
- V6RELOPT = 671
|
||||
+ V6RELOPT = 671,
|
||||
+ BOOTP_BROADCAST_ALWAYS = 672
|
||||
};
|
||||
|
||||
#define is_identifier(x) ((x) >= FIRST_TOKEN && \
|
||||
22
src/patches/dhcp/dhcp-errwarn-message.patch
Normal file
22
src/patches/dhcp/dhcp-errwarn-message.patch
Normal file
@@ -0,0 +1,22 @@
|
||||
diff -up dhcp-4.3.0b1/omapip/errwarn.c.errwarn dhcp-4.3.0b1/omapip/errwarn.c
|
||||
--- dhcp-4.3.0b1/omapip/errwarn.c.errwarn 2014-01-21 09:31:47.301334249 +0100
|
||||
+++ dhcp-4.3.0b1/omapip/errwarn.c 2014-01-21 09:33:20.569039072 +0100
|
||||
@@ -76,11 +76,13 @@ void log_fatal (const char * fmt, ... )
|
||||
}
|
||||
|
||||
log_error ("%s", "");
|
||||
- log_error ("If you think you have received this message due to a bug rather");
|
||||
- log_error ("than a configuration issue please read the section on submitting");
|
||||
- log_error ("bugs on either our web page at www.isc.org or in the README file");
|
||||
- log_error ("before submitting a bug. These pages explain the proper");
|
||||
- log_error ("process and the information we find helpful for debugging..");
|
||||
+ log_error ("This version of ISC DHCP is based on the release available");
|
||||
+ log_error ("on ftp.isc.org. Features have been added and other changes");
|
||||
+ log_error ("have been made to the base software release in order to make");
|
||||
+ log_error ("it work better with this distribution.");
|
||||
+ log_error ("%s", "");
|
||||
+ log_error ("Please report for this software via the Red Hat Bugzilla site:");
|
||||
+ log_error (" http://bugzilla.redhat.com");
|
||||
log_error ("%s", "");
|
||||
log_error ("exiting.");
|
||||
|
||||
12
src/patches/dhcp/dhcp-garbage-chars.patch
Normal file
12
src/patches/dhcp/dhcp-garbage-chars.patch
Normal file
@@ -0,0 +1,12 @@
|
||||
diff -up dhcp-4.3.0rc1/common/tables.c.garbage dhcp-4.3.0rc1/common/tables.c
|
||||
--- dhcp-4.3.0rc1/common/tables.c.garbage 2014-01-29 10:03:52.132624677 +0100
|
||||
+++ dhcp-4.3.0rc1/common/tables.c 2014-01-29 10:04:51.413875343 +0100
|
||||
@@ -213,7 +213,7 @@ static struct option dhcp_options[] = {
|
||||
{ "name-service-search", "Sa", &dhcp_universe, 117, 1 },
|
||||
#endif
|
||||
{ "subnet-selection", "I", &dhcp_universe, 118, 1 },
|
||||
- { "domain-search", "Dc", &dhcp_universe, 119, 1 },
|
||||
+ { "domain-search", "D", &dhcp_universe, 119, 1 },
|
||||
{ "vivco", "Evendor-class.", &dhcp_universe, 124, 1 },
|
||||
{ "vivso", "Evendor.", &dhcp_universe, 125, 1 },
|
||||
#if 0
|
||||
@@ -1,10 +1,11 @@
|
||||
diff -up dhcp-4.2.2/client/dhclient.c.gpxe-cid dhcp-4.2.2/client/dhclient.c
|
||||
--- dhcp-4.2.2/client/dhclient.c.gpxe-cid 2011-09-16 18:23:20.190453902 +0200
|
||||
+++ dhcp-4.2.2/client/dhclient.c 2011-09-16 18:27:15.568463599 +0200
|
||||
@@ -58,6 +58,13 @@ const char *path_dhclient_pid = NULL;
|
||||
diff -up dhcp-4.3.0a1/client/dhclient.c.gpxe-cid dhcp-4.3.0a1/client/dhclient.c
|
||||
--- dhcp-4.3.0a1/client/dhclient.c.gpxe-cid 2013-12-20 13:28:45.105048317 +0100
|
||||
+++ dhcp-4.3.0a1/client/dhclient.c 2013-12-20 13:28:45.109048261 +0100
|
||||
@@ -47,6 +47,14 @@
|
||||
const char *path_dhclient_pid = NULL;
|
||||
static char path_dhclient_script_array[] = _PATH_DHCLIENT_SCRIPT;
|
||||
char *path_dhclient_script = path_dhclient_script_array;
|
||||
|
||||
+
|
||||
+/* Default Prefix */
|
||||
+static unsigned char default_prefix[12] = {
|
||||
+ 0xff, 0x00, 0x00, 0x00,
|
||||
@@ -12,10 +13,10 @@ diff -up dhcp-4.2.2/client/dhclient.c.gpxe-cid dhcp-4.2.2/client/dhclient.c
|
||||
+ 0x00, 0x02, 0xc9, 0x00
|
||||
+};
|
||||
+
|
||||
/* False (default) => we write and use a pid file */
|
||||
isc_boolean_t no_pid_file = ISC_FALSE;
|
||||
const char *path_dhclient_duid = NULL;
|
||||
|
||||
@@ -1250,6 +1257,12 @@ int find_subnet (struct subnet **sp,
|
||||
/* False (default) => we write and use a pid file */
|
||||
@@ -1253,6 +1260,12 @@ int find_subnet (struct subnet **sp,
|
||||
static void setup_ib_interface(struct interface_info *ip)
|
||||
{
|
||||
struct group *g;
|
||||
@@ -28,7 +29,7 @@ diff -up dhcp-4.2.2/client/dhclient.c.gpxe-cid dhcp-4.2.2/client/dhclient.c
|
||||
|
||||
/* Set the broadcast flag */
|
||||
ip->client->config->bootp_broadcast_always = 1;
|
||||
@@ -1266,8 +1279,39 @@ static void setup_ib_interface(struct in
|
||||
@@ -1269,8 +1282,39 @@ static void setup_ib_interface(struct in
|
||||
}
|
||||
}
|
||||
|
||||
@@ -70,63 +71,3 @@ diff -up dhcp-4.2.2/client/dhclient.c.gpxe-cid dhcp-4.2.2/client/dhclient.c
|
||||
}
|
||||
|
||||
/* Individual States:
|
||||
diff -up dhcp-4.2.2/common/lpf.c.gpxe-cid dhcp-4.2.2/common/lpf.c
|
||||
--- dhcp-4.2.2/common/lpf.c.gpxe-cid 2011-09-16 18:23:20.183453996 +0200
|
||||
+++ dhcp-4.2.2/common/lpf.c 2011-09-16 18:25:28.235804421 +0200
|
||||
@@ -591,6 +591,37 @@ void maybe_setup_fallback ()
|
||||
}
|
||||
}
|
||||
|
||||
+static unsigned char * get_ib_hw_addr(char * name)
|
||||
+{
|
||||
+ struct ifaddrs *ifaddrs;
|
||||
+ struct ifaddrs *ifa;
|
||||
+ struct sockaddr_ll *sll = NULL;
|
||||
+ static unsigned char hw_addr[8];
|
||||
+
|
||||
+ if (getifaddrs(&ifaddrs) == -1)
|
||||
+ return NULL;
|
||||
+
|
||||
+ for (ifa = ifaddrs; ifa != NULL; ifa = ifa->ifa_next) {
|
||||
+ if (ifa->ifa_addr == NULL)
|
||||
+ continue;
|
||||
+ if (ifa->ifa_addr->sa_family != AF_PACKET)
|
||||
+ continue;
|
||||
+ if (ifa->ifa_flags & IFF_LOOPBACK)
|
||||
+ continue;
|
||||
+ if (strcmp(ifa->ifa_name, name) == 0) {
|
||||
+ sll = (struct sockaddr_ll *)(void *)ifa->ifa_addr;
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ if (sll == NULL) {
|
||||
+ freeifaddrs(ifaddrs);
|
||||
+ return NULL;
|
||||
+ }
|
||||
+ memcpy(hw_addr, &sll->sll_addr[sll->sll_halen - 8], 8);
|
||||
+ freeifaddrs(ifaddrs);
|
||||
+ return (unsigned char *)&hw_addr;
|
||||
+}
|
||||
+
|
||||
void
|
||||
get_hw_addr(struct interface_info *info)
|
||||
{
|
||||
@@ -599,6 +630,7 @@ get_hw_addr(struct interface_info *info)
|
||||
struct ifaddrs *ifaddrs;
|
||||
struct ifaddrs *ifa;
|
||||
struct sockaddr_ll *sll = NULL;
|
||||
+ unsigned char *hw_addr;
|
||||
|
||||
if (getifaddrs(&ifaddrs) == -1)
|
||||
log_fatal("Failed to get interfaces");
|
||||
@@ -660,6 +692,10 @@ get_hw_addr(struct interface_info *info)
|
||||
|
||||
hw->hlen = 1;
|
||||
hw->hbuf[0] = HTYPE_INFINIBAND;
|
||||
+ hw_addr = get_ib_hw_addr(name);
|
||||
+ if (!hw_addr)
|
||||
+ log_fatal("Failed getting %s hw addr", name);
|
||||
+ memcpy (&hw->hbuf [1], hw_addr, 8);
|
||||
break;
|
||||
#if defined(ARPHRD_PPP)
|
||||
case ARPHRD_PPP:
|
||||
@@ -1,7 +1,7 @@
|
||||
diff -up dhcp-4.2.0/client/dhc6.c.honor-expired dhcp-4.2.0/client/dhc6.c
|
||||
--- dhcp-4.2.0/client/dhc6.c.honor-expired 2010-10-07 12:55:37.000000000 +0200
|
||||
+++ dhcp-4.2.0/client/dhc6.c 2010-10-07 12:56:43.000000000 +0200
|
||||
@@ -1405,6 +1405,32 @@ start_info_request6(struct client_state
|
||||
diff -up dhcp-4.3.0a1/client/dhc6.c.honor-expired dhcp-4.3.0a1/client/dhc6.c
|
||||
--- dhcp-4.3.0a1/client/dhc6.c.honor-expired 2013-12-19 16:00:28.062183037 +0100
|
||||
+++ dhcp-4.3.0a1/client/dhc6.c 2013-12-19 16:00:28.076182842 +0100
|
||||
@@ -1351,6 +1351,32 @@ start_info_request6(struct client_state
|
||||
go_daemon();
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@ diff -up dhcp-4.2.0/client/dhc6.c.honor-expired dhcp-4.2.0/client/dhc6.c
|
||||
/*
|
||||
* start_confirm6() kicks off an "init-reboot" version of the process, at
|
||||
* startup to find out if old bindings are 'fair' and at runtime whenever
|
||||
@@ -1417,8 +1446,10 @@ start_confirm6(struct client_state *clie
|
||||
@@ -1363,8 +1389,10 @@ start_confirm6(struct client_state *clie
|
||||
|
||||
/* If there is no active lease, there is nothing to check. */
|
||||
if ((client->active_lease == NULL) ||
|
||||
@@ -1,7 +1,7 @@
|
||||
diff -up dhcp-4.2.2/client/dhclient.c.improved-xid dhcp-4.2.2/client/dhclient.c
|
||||
--- dhcp-4.2.2/client/dhclient.c.improved-xid 2011-09-16 18:18:00.649730661 +0200
|
||||
+++ dhcp-4.2.2/client/dhclient.c 2011-09-16 18:22:36.815035513 +0200
|
||||
@@ -898,6 +898,26 @@ main(int argc, char **argv) {
|
||||
diff -up dhcp-4.3.0a1/client/dhclient.c.improved-xid dhcp-4.3.0a1/client/dhclient.c
|
||||
--- dhcp-4.3.0a1/client/dhclient.c.improved-xid 2013-12-20 13:29:41.836260810 +0100
|
||||
+++ dhcp-4.3.0a1/client/dhclient.c 2013-12-20 13:29:41.843260713 +0100
|
||||
@@ -894,6 +894,26 @@ main(int argc, char **argv) {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ diff -up dhcp-4.2.2/client/dhclient.c.improved-xid dhcp-4.2.2/client/dhclient.c
|
||||
/* At this point, all the interfaces that the script thinks
|
||||
are relevant should be running, so now we once again call
|
||||
discover_interfaces(), and this time ask it to actually set
|
||||
@@ -912,14 +932,36 @@ main(int argc, char **argv) {
|
||||
@@ -908,14 +928,36 @@ main(int argc, char **argv) {
|
||||
Not much entropy, but we're booting, so we're not likely to
|
||||
find anything better. */
|
||||
seed = 0;
|
||||
@@ -66,7 +66,7 @@ diff -up dhcp-4.2.2/client/dhclient.c.improved-xid dhcp-4.2.2/client/dhclient.c
|
||||
|
||||
/* Setup specific Infiniband options */
|
||||
for (ip = interfaces; ip; ip = ip->next) {
|
||||
@@ -1457,7 +1499,7 @@ void dhcpack (packet)
|
||||
@@ -1460,7 +1502,7 @@ void dhcpack (packet)
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -75,7 +75,7 @@ diff -up dhcp-4.2.2/client/dhclient.c.improved-xid dhcp-4.2.2/client/dhclient.c
|
||||
|
||||
lease = packet_to_lease (packet, client);
|
||||
if (!lease) {
|
||||
@@ -2174,7 +2216,7 @@ void dhcpnak (packet)
|
||||
@@ -2171,7 +2213,7 @@ void dhcpnak (packet)
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -84,7 +84,7 @@ diff -up dhcp-4.2.2/client/dhclient.c.improved-xid dhcp-4.2.2/client/dhclient.c
|
||||
|
||||
if (!client -> active) {
|
||||
#if defined (DEBUG)
|
||||
@@ -2300,10 +2342,10 @@ void send_discover (cpp)
|
||||
@@ -2298,10 +2340,10 @@ void send_discover (cpp)
|
||||
client -> packet.secs = htons (65535);
|
||||
client -> secs = client -> packet.secs;
|
||||
|
||||
@@ -96,8 +96,8 @@ diff -up dhcp-4.2.2/client/dhclient.c.improved-xid dhcp-4.2.2/client/dhclient.c
|
||||
+ ntohs (sockaddr_broadcast.sin_port), (long)(client -> interval), client -> xid);
|
||||
|
||||
/* Send out a packet. */
|
||||
result = send_packet (client -> interface, (struct packet *)0,
|
||||
@@ -2584,10 +2626,10 @@ void send_request (cpp)
|
||||
result = send_packet(client->interface, NULL, &client->packet,
|
||||
@@ -2570,10 +2612,10 @@ void send_request (cpp)
|
||||
client -> packet.secs = htons (65535);
|
||||
}
|
||||
|
||||
@@ -109,21 +109,21 @@ diff -up dhcp-4.2.2/client/dhclient.c.improved-xid dhcp-4.2.2/client/dhclient.c
|
||||
+ ntohs (destination.sin_port), client -> xid);
|
||||
|
||||
if (destination.sin_addr.s_addr != INADDR_BROADCAST &&
|
||||
fallback_interface)
|
||||
@@ -2618,10 +2660,10 @@ void send_decline (cpp)
|
||||
fallback_interface) {
|
||||
@@ -2613,10 +2655,10 @@ void send_decline (cpp)
|
||||
|
||||
int result;
|
||||
|
||||
- log_info ("DHCPDECLINE on %s to %s port %d",
|
||||
+ log_info ("DHCPDECLINE on %s to %s port %d (xid=0x%x)",
|
||||
client -> name ? client -> name : client -> interface -> name,
|
||||
inet_ntoa (sockaddr_broadcast.sin_addr),
|
||||
- ntohs (sockaddr_broadcast.sin_port));
|
||||
+ ntohs (sockaddr_broadcast.sin_port), client -> xid);
|
||||
client->name ? client->name : client->interface->name,
|
||||
inet_ntoa(sockaddr_broadcast.sin_addr),
|
||||
- ntohs(sockaddr_broadcast.sin_port));
|
||||
+ ntohs(sockaddr_broadcast.sin_port), client -> xid);
|
||||
|
||||
/* Send out a packet. */
|
||||
result = send_packet (client -> interface, (struct packet *)0,
|
||||
@@ -2661,10 +2703,10 @@ void send_release (cpp)
|
||||
result = send_packet(client->interface, NULL, &client->packet,
|
||||
@@ -2659,10 +2701,10 @@ void send_release (cpp)
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -134,5 +134,5 @@ diff -up dhcp-4.2.2/client/dhclient.c.improved-xid dhcp-4.2.2/client/dhclient.c
|
||||
- ntohs (destination.sin_port));
|
||||
+ ntohs (destination.sin_port), client -> xid);
|
||||
|
||||
if (fallback_interface)
|
||||
result = send_packet (fallback_interface,
|
||||
if (fallback_interface) {
|
||||
result = send_packet(fallback_interface, NULL, &client->packet,
|
||||
11
src/patches/dhcp/dhcp-logpid.patch
Normal file
11
src/patches/dhcp/dhcp-logpid.patch
Normal file
@@ -0,0 +1,11 @@
|
||||
--- expanded_org/client/dhclient.c Wed Aug 06 23:35:00 2014
|
||||
+++ expanded_logpid/client/dhclient.c Mon Feb 16 13:35:31 2015
|
||||
@@ -142,7 +142,7 @@
|
||||
else if (fd != -1)
|
||||
close(fd);
|
||||
|
||||
- openlog("dhclient", DHCP_LOG_OPTIONS, LOG_DAEMON);
|
||||
+ openlog("dhclient", LOG_NDELAY | LOG_PID, LOG_DAEMON);
|
||||
|
||||
#if !(defined(DEBUG) || defined(__CYGWIN32__))
|
||||
setlogmask(LOG_UPTO(LOG_INFO));
|
||||
@@ -1,16 +1,16 @@
|
||||
diff -up dhcp-4.2.2/client/dhclient.c.lpf-ib dhcp-4.2.2/client/dhclient.c
|
||||
--- dhcp-4.2.2/client/dhclient.c.lpf-ib 2011-09-19 11:24:08.693775799 +0200
|
||||
+++ dhcp-4.2.2/client/dhclient.c 2011-09-19 11:24:08.703775541 +0200
|
||||
@@ -113,6 +113,8 @@ static int check_domain_name_list(const
|
||||
diff -up dhcp-4.3.1b1/client/dhclient.c.bmgpWV dhcp-4.3.1b1/client/dhclient.c
|
||||
--- dhcp-4.3.1b1/client/dhclient.c.bmgpWV 2014-07-10 17:50:26.922402550 +0200
|
||||
+++ dhcp-4.3.1b1/client/dhclient.c 2014-07-10 17:53:43.629623477 +0200
|
||||
@@ -114,6 +114,8 @@ static int check_domain_name_list(const
|
||||
static int check_option_values(struct universe *universe, unsigned int opt,
|
||||
const char *ptr, size_t len);
|
||||
|
||||
+static void setup_ib_interface(struct interface_info *ip);
|
||||
+
|
||||
#ifndef UNIT_TEST
|
||||
int
|
||||
main(int argc, char **argv) {
|
||||
int fd;
|
||||
@@ -919,6 +921,14 @@ main(int argc, char **argv) {
|
||||
@@ -937,6 +939,13 @@ main(int argc, char **argv) {
|
||||
}
|
||||
srandom(seed + cur_time + (unsigned)getpid());
|
||||
|
||||
@@ -21,11 +21,10 @@ diff -up dhcp-4.2.2/client/dhclient.c.lpf-ib dhcp-4.2.2/client/dhclient.c
|
||||
+ setup_ib_interface(ip);
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
/* Start a configuration state machine for each interface. */
|
||||
#ifdef DHCPv6
|
||||
if (local_family == AF_INET6) {
|
||||
@@ -1195,6 +1205,29 @@ int find_subnet (struct subnet **sp,
|
||||
|
||||
/*
|
||||
* Establish a default DUID. We always do so for v6 and
|
||||
@@ -1230,6 +1239,29 @@ int find_subnet (struct subnet **sp,
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -55,10 +54,10 @@ diff -up dhcp-4.2.2/client/dhclient.c.lpf-ib dhcp-4.2.2/client/dhclient.c
|
||||
/* Individual States:
|
||||
*
|
||||
* Each routine is called from the dhclient_state_machine() in one of
|
||||
diff -up dhcp-4.2.2/common/bpf.c.lpf-ib dhcp-4.2.2/common/bpf.c
|
||||
--- dhcp-4.2.2/common/bpf.c.lpf-ib 2011-09-19 11:24:08.694775773 +0200
|
||||
+++ dhcp-4.2.2/common/bpf.c 2011-09-19 11:24:08.704775516 +0200
|
||||
@@ -198,11 +198,44 @@ struct bpf_insn dhcp_bpf_filter [] = {
|
||||
diff -up dhcp-4.3.1b1/common/bpf.c.bmgpWV dhcp-4.3.1b1/common/bpf.c
|
||||
--- dhcp-4.3.1b1/common/bpf.c.bmgpWV 2014-07-10 17:48:03.797424616 +0200
|
||||
+++ dhcp-4.3.1b1/common/bpf.c 2014-07-10 17:52:57.705272295 +0200
|
||||
@@ -199,11 +199,44 @@ struct bpf_insn dhcp_bpf_filter [] = {
|
||||
BPF_STMT(BPF_RET+BPF_K, 0),
|
||||
};
|
||||
|
||||
@@ -103,21 +102,15 @@ diff -up dhcp-4.2.2/common/bpf.c.lpf-ib dhcp-4.2.2/common/bpf.c
|
||||
#if defined (HAVE_TR_SUPPORT)
|
||||
struct bpf_insn dhcp_bpf_tr_filter [] = {
|
||||
/* accept all token ring packets due to variable length header */
|
||||
diff -up dhcp-4.2.2/common/lpf.c.lpf-ib dhcp-4.2.2/common/lpf.c
|
||||
--- dhcp-4.2.2/common/lpf.c.lpf-ib 2011-09-19 11:24:08.694775773 +0200
|
||||
+++ dhcp-4.2.2/common/lpf.c 2011-09-19 11:26:15.107109935 +0200
|
||||
@@ -42,6 +42,7 @@
|
||||
#include "includes/netinet/udp.h"
|
||||
#include "includes/netinet/if_ether.h"
|
||||
diff -up dhcp-4.3.1b1/common/lpf.c.bmgpWV dhcp-4.3.1b1/common/lpf.c
|
||||
--- dhcp-4.3.1b1/common/lpf.c.bmgpWV 2014-07-10 17:48:03.797424616 +0200
|
||||
+++ dhcp-4.3.1b1/common/lpf.c 2014-07-10 17:52:57.706272281 +0200
|
||||
@@ -46,6 +46,17 @@
|
||||
#if defined (USE_LPF_RECEIVE) || defined (USE_LPF_HWADDR)
|
||||
#include <sys/ioctl.h>
|
||||
#include <net/if.h>
|
||||
+#include <ifaddrs.h>
|
||||
|
||||
#ifndef PACKET_AUXDATA
|
||||
#define PACKET_AUXDATA 8
|
||||
@@ -59,6 +60,15 @@ struct tpacket_auxdata
|
||||
/* Reinitializes the specified interface after an address change. This
|
||||
is not required for packet-filter APIs. */
|
||||
|
||||
+
|
||||
+/* Default broadcast address for IPoIB */
|
||||
+static unsigned char default_ib_bcast_addr[20] = {
|
||||
+ 0x00, 0xff, 0xff, 0xff,
|
||||
@@ -127,10 +120,10 @@ diff -up dhcp-4.2.2/common/lpf.c.lpf-ib dhcp-4.2.2/common/lpf.c
|
||||
+ 0xff, 0xff, 0xff, 0xff
|
||||
+};
|
||||
+
|
||||
#ifdef USE_LPF_SEND
|
||||
void if_reinitialize_send (info)
|
||||
struct interface_info *info;
|
||||
@@ -86,10 +96,21 @@ int if_register_lpf (info)
|
||||
#endif
|
||||
|
||||
#if defined (USE_LPF_SEND) || defined (USE_LPF_RECEIVE)
|
||||
@@ -92,10 +103,21 @@ int if_register_lpf (info)
|
||||
struct sockaddr common;
|
||||
} sa;
|
||||
struct ifreq ifr;
|
||||
@@ -154,7 +147,7 @@ diff -up dhcp-4.2.2/common/lpf.c.lpf-ib dhcp-4.2.2/common/lpf.c
|
||||
if (errno == ENOPROTOOPT || errno == EPROTONOSUPPORT ||
|
||||
errno == ESOCKTNOSUPPORT || errno == EPFNOSUPPORT ||
|
||||
errno == EAFNOSUPPORT || errno == EINVAL) {
|
||||
@@ -112,6 +133,7 @@ int if_register_lpf (info)
|
||||
@@ -118,6 +140,7 @@ int if_register_lpf (info)
|
||||
/* Bind to the interface name */
|
||||
memset (&sa, 0, sizeof sa);
|
||||
sa.ll.sll_family = AF_PACKET;
|
||||
@@ -162,7 +155,7 @@ diff -up dhcp-4.2.2/common/lpf.c.lpf-ib dhcp-4.2.2/common/lpf.c
|
||||
sa.ll.sll_ifindex = ifr.ifr_ifindex;
|
||||
if (bind (sock, &sa.common, sizeof sa)) {
|
||||
if (errno == ENOPROTOOPT || errno == EPROTONOSUPPORT ||
|
||||
@@ -127,8 +149,6 @@ int if_register_lpf (info)
|
||||
@@ -133,8 +156,6 @@ int if_register_lpf (info)
|
||||
log_fatal ("Bind socket to interface: %m");
|
||||
}
|
||||
|
||||
@@ -171,7 +164,7 @@ diff -up dhcp-4.2.2/common/lpf.c.lpf-ib dhcp-4.2.2/common/lpf.c
|
||||
return sock;
|
||||
}
|
||||
#endif /* USE_LPF_SEND || USE_LPF_RECEIVE */
|
||||
@@ -183,6 +203,8 @@ void if_deregister_send (info)
|
||||
@@ -189,6 +210,8 @@ void if_deregister_send (info)
|
||||
in bpf includes... */
|
||||
extern struct sock_filter dhcp_bpf_filter [];
|
||||
extern int dhcp_bpf_filter_len;
|
||||
@@ -180,7 +173,7 @@ diff -up dhcp-4.2.2/common/lpf.c.lpf-ib dhcp-4.2.2/common/lpf.c
|
||||
|
||||
#if defined (HAVE_TR_SUPPORT)
|
||||
extern struct sock_filter dhcp_bpf_tr_filter [];
|
||||
@@ -200,11 +222,13 @@ void if_register_receive (info)
|
||||
@@ -206,11 +229,13 @@ void if_register_receive (info)
|
||||
/* Open a LPF device and hang it on this interface... */
|
||||
info -> rfdesc = if_register_lpf (info);
|
||||
|
||||
@@ -199,7 +192,7 @@ diff -up dhcp-4.2.2/common/lpf.c.lpf-ib dhcp-4.2.2/common/lpf.c
|
||||
}
|
||||
|
||||
#if defined (HAVE_TR_SUPPORT)
|
||||
@@ -250,15 +274,28 @@ static void lpf_gen_filter_setup (info)
|
||||
@@ -256,15 +281,28 @@ static void lpf_gen_filter_setup (info)
|
||||
|
||||
memset(&p, 0, sizeof(p));
|
||||
|
||||
@@ -237,7 +230,7 @@ diff -up dhcp-4.2.2/common/lpf.c.lpf-ib dhcp-4.2.2/common/lpf.c
|
||||
|
||||
if (setsockopt (info -> rfdesc, SOL_SOCKET, SO_ATTACH_FILTER, &p,
|
||||
sizeof p) < 0) {
|
||||
@@ -315,6 +352,54 @@ static void lpf_tr_filter_setup (info)
|
||||
@@ -321,6 +359,54 @@ static void lpf_tr_filter_setup (info)
|
||||
#endif /* USE_LPF_RECEIVE */
|
||||
|
||||
#ifdef USE_LPF_SEND
|
||||
@@ -292,7 +285,7 @@ diff -up dhcp-4.2.2/common/lpf.c.lpf-ib dhcp-4.2.2/common/lpf.c
|
||||
ssize_t send_packet (interface, packet, raw, len, from, to, hto)
|
||||
struct interface_info *interface;
|
||||
struct packet *packet;
|
||||
@@ -335,6 +420,11 @@ ssize_t send_packet (interface, packet,
|
||||
@@ -341,6 +427,11 @@ ssize_t send_packet (interface, packet,
|
||||
return send_fallback (interface, packet, raw,
|
||||
len, from, to, hto);
|
||||
|
||||
@@ -304,7 +297,7 @@ diff -up dhcp-4.2.2/common/lpf.c.lpf-ib dhcp-4.2.2/common/lpf.c
|
||||
if (hto == NULL && interface->anycast_mac_addr.hlen)
|
||||
hto = &interface->anycast_mac_addr;
|
||||
|
||||
@@ -356,6 +446,42 @@ ssize_t send_packet (interface, packet,
|
||||
@@ -362,6 +453,42 @@ ssize_t send_packet (interface, packet,
|
||||
#endif /* USE_LPF_SEND */
|
||||
|
||||
#ifdef USE_LPF_RECEIVE
|
||||
@@ -347,7 +340,7 @@ diff -up dhcp-4.2.2/common/lpf.c.lpf-ib dhcp-4.2.2/common/lpf.c
|
||||
ssize_t receive_packet (interface, buf, len, from, hfrom)
|
||||
struct interface_info *interface;
|
||||
unsigned char *buf;
|
||||
@@ -382,6 +508,10 @@ ssize_t receive_packet (interface, buf,
|
||||
@@ -388,6 +515,10 @@ ssize_t receive_packet (interface, buf,
|
||||
};
|
||||
struct cmsghdr *cmsg;
|
||||
|
||||
@@ -358,60 +351,100 @@ diff -up dhcp-4.2.2/common/lpf.c.lpf-ib dhcp-4.2.2/common/lpf.c
|
||||
length = recvmsg (interface -> rfdesc, &msg, 0);
|
||||
if (length <= 0)
|
||||
return length;
|
||||
@@ -462,33 +592,44 @@ void maybe_setup_fallback ()
|
||||
}
|
||||
@@ -469,11 +600,33 @@ void maybe_setup_fallback ()
|
||||
#endif
|
||||
|
||||
void
|
||||
#if defined (USE_LPF_RECEIVE) || defined (USE_LPF_HWADDR)
|
||||
-void
|
||||
-get_hw_addr(const char *name, struct hardware *hw) {
|
||||
- int sock;
|
||||
- struct ifreq tmp;
|
||||
+struct sockaddr_ll *
|
||||
+get_ll (struct ifaddrs *ifaddrs, struct ifaddrs **ifa, char *name)
|
||||
+{
|
||||
+ for (*ifa = ifaddrs; *ifa != NULL; *ifa = (*ifa)->ifa_next) {
|
||||
+ if ((*ifa)->ifa_addr == NULL)
|
||||
+ continue;
|
||||
+
|
||||
+ if ((*ifa)->ifa_addr->sa_family != AF_PACKET)
|
||||
+ continue;
|
||||
+
|
||||
+ if ((*ifa)->ifa_flags & IFF_LOOPBACK)
|
||||
+ continue;
|
||||
+
|
||||
+ if (strcmp((*ifa)->ifa_name, name) == 0)
|
||||
+ return (struct sockaddr_ll *)(void *)(*ifa)->ifa_addr;
|
||||
+ }
|
||||
+ *ifa = NULL;
|
||||
+ return NULL;
|
||||
+}
|
||||
+
|
||||
+struct sockaddr_ll *
|
||||
+ioctl_get_ll(char *name)
|
||||
+{
|
||||
int sock;
|
||||
struct ifreq tmp;
|
||||
- struct sockaddr *sa;
|
||||
+ struct sockaddr *sa = NULL;
|
||||
+ struct sockaddr_ll *sll = NULL;
|
||||
|
||||
if (strlen(name) >= sizeof(tmp.ifr_name)) {
|
||||
log_fatal("Device name too long: \"%s\"", name);
|
||||
@@ -487,16 +640,62 @@ get_hw_addr(const char *name, struct har
|
||||
memset(&tmp, 0, sizeof(tmp));
|
||||
strcpy(tmp.ifr_name, name);
|
||||
if (ioctl(sock, SIOCGIFHWADDR, &tmp) < 0) {
|
||||
- log_fatal("Error getting hardware address for \"%s\": %m",
|
||||
+ log_fatal("Error getting hardware address for \"%s\": %m",
|
||||
name);
|
||||
}
|
||||
+ close(sock);
|
||||
|
||||
sa = &tmp.ifr_hwaddr;
|
||||
- switch (sa->sa_family) {
|
||||
+ // needs to be freed outside this function
|
||||
+ sll = dmalloc (sizeof (struct sockaddr_ll), MDL);
|
||||
+ if (!sll)
|
||||
+ log_fatal("Unable to allocate memory for link layer address");
|
||||
+ memcpy(&sll->sll_hatype, &sa->sa_family, sizeof (sll->sll_hatype));
|
||||
+ memcpy(sll->sll_addr, sa->sa_data, sizeof (sll->sll_addr));
|
||||
+ switch (sll->sll_hatype) {
|
||||
+ case ARPHRD_INFINIBAND:
|
||||
+ /* ioctl limits hardware addresses to 8 bytes */
|
||||
+ sll->sll_halen = 8;
|
||||
+ break;
|
||||
+ default:
|
||||
+ break;
|
||||
+ }
|
||||
+ return sll;
|
||||
+}
|
||||
+
|
||||
+void
|
||||
+get_hw_addr(struct interface_info *info)
|
||||
+{
|
||||
+ struct hardware *hw = &info->hw_address;
|
||||
+ char *name = info->name;
|
||||
+ struct ifaddrs *ifaddrs;
|
||||
+ struct ifaddrs *ifa;
|
||||
+ struct ifaddrs *ifaddrs = NULL;
|
||||
+ struct ifaddrs *ifa = NULL;
|
||||
+ struct sockaddr_ll *sll = NULL;
|
||||
|
||||
- if (strlen(name) >= sizeof(tmp.ifr_name)) {
|
||||
- log_fatal("Device name too long: \"%s\"", name);
|
||||
- }
|
||||
+ int sll_allocated = 0;
|
||||
+ char *dup = NULL;
|
||||
+ char *colon = NULL;
|
||||
+
|
||||
+ if (getifaddrs(&ifaddrs) == -1)
|
||||
+ log_fatal("Failed to get interfaces");
|
||||
|
||||
- sock = socket(AF_INET, SOCK_DGRAM, 0);
|
||||
- if (sock < 0) {
|
||||
- log_fatal("Can't create socket for \"%s\": %m", name);
|
||||
+ for (ifa = ifaddrs; ifa != NULL; ifa = ifa->ifa_next) {
|
||||
+
|
||||
+ if (ifa->ifa_addr == NULL)
|
||||
+ continue;
|
||||
+ if ((sll = get_ll(ifaddrs, &ifa, name)) == NULL) {
|
||||
+ /*
|
||||
+ * We were unable to get link-layer address for name.
|
||||
+ * Fall back to ioctl(SIOCGIFHWADDR).
|
||||
+ */
|
||||
+ sll = ioctl_get_ll(name);
|
||||
+ if (sll != NULL)
|
||||
+ sll_allocated = 1;
|
||||
+ else
|
||||
+ // shouldn't happen
|
||||
+ log_fatal("Unexpected internal error");
|
||||
+ }
|
||||
+
|
||||
+ if (ifa->ifa_addr->sa_family != AF_PACKET)
|
||||
+ continue;
|
||||
+
|
||||
+ if (ifa->ifa_flags & IFF_LOOPBACK)
|
||||
+ continue;
|
||||
+
|
||||
+ if (strcmp(ifa->ifa_name, name) == 0) {
|
||||
+ sll = (struct sockaddr_ll *)(void *)ifa->ifa_addr;
|
||||
+ break;
|
||||
+ }
|
||||
}
|
||||
|
||||
- memset(&tmp, 0, sizeof(tmp));
|
||||
- strcpy(tmp.ifr_name, name);
|
||||
- if (ioctl(sock, SIOCGIFHWADDR, &tmp) < 0) {
|
||||
- log_fatal("Error getting hardware address for \"%s\": %m",
|
||||
- name);
|
||||
+ if (sll == NULL) {
|
||||
+ freeifaddrs(ifaddrs);
|
||||
+ log_fatal("Failed to get HW address for %s\n", name);
|
||||
}
|
||||
|
||||
- sa = &tmp.ifr_hwaddr;
|
||||
- switch (sa->sa_family) {
|
||||
+ switch (sll->sll_hatype) {
|
||||
case ARPHRD_ETHER:
|
||||
hw->hlen = 7;
|
||||
@@ -421,7 +454,7 @@ diff -up dhcp-4.2.2/common/lpf.c.lpf-ib dhcp-4.2.2/common/lpf.c
|
||||
break;
|
||||
case ARPHRD_IEEE802:
|
||||
#ifdef ARPHRD_IEEE802_TR
|
||||
@@ -496,18 +637,35 @@ get_hw_addr(const char *name, struct har
|
||||
@@ -504,18 +703,48 @@ get_hw_addr(const char *name, struct har
|
||||
#endif /* ARPHRD_IEEE802_TR */
|
||||
hw->hlen = 7;
|
||||
hw->hbuf[0] = HTYPE_IEEE802;
|
||||
@@ -429,16 +462,28 @@ diff -up dhcp-4.2.2/common/lpf.c.lpf-ib dhcp-4.2.2/common/lpf.c
|
||||
+ memcpy(&hw->hbuf[1], sll->sll_addr, 6);
|
||||
break;
|
||||
case ARPHRD_FDDI:
|
||||
hw->hlen = 17;
|
||||
hw->hlen = 7;
|
||||
hw->hbuf[0] = HTYPE_FDDI;
|
||||
- memcpy(&hw->hbuf[1], sa->sa_data, 16);
|
||||
+ memcpy(&hw->hbuf[1], sll->sll_addr, 16);
|
||||
- memcpy(&hw->hbuf[1], sa->sa_data, 6);
|
||||
+ memcpy(&hw->hbuf[1], sll->sll_addr, 6);
|
||||
+ break;
|
||||
+ case ARPHRD_INFINIBAND:
|
||||
+ dup = strdup(name);
|
||||
+ /* Aliased infiniband interface is special case where
|
||||
+ * neither get_ll() nor ioctl_get_ll() get's correct hw
|
||||
+ * address, so we have to truncate the :0 and run
|
||||
+ * get_ll() again for the rest.
|
||||
+ */
|
||||
+ if ((colon = strchr(dup, ':')) != NULL) {
|
||||
+ *colon = '\0';
|
||||
+ if ((sll = get_ll(ifaddrs, &ifa, dup)) == NULL)
|
||||
+ log_fatal("Error getting hardware address for \"%s\": %m", name);
|
||||
+ }
|
||||
+ free (dup);
|
||||
+ /* For Infiniband, save the broadcast address and store
|
||||
+ * the port GUID into the hardware address.
|
||||
+ */
|
||||
+ if (ifa->ifa_flags & IFF_BROADCAST) {
|
||||
+ if (ifa && (ifa->ifa_flags & IFF_BROADCAST)) {
|
||||
+ struct sockaddr_ll *bll;
|
||||
+
|
||||
+ bll = (struct sockaddr_ll *)ifa->ifa_broadaddr;
|
||||
@@ -450,36 +495,40 @@ diff -up dhcp-4.2.2/common/lpf.c.lpf-ib dhcp-4.2.2/common/lpf.c
|
||||
+
|
||||
+ hw->hlen = 1;
|
||||
+ hw->hbuf[0] = HTYPE_INFINIBAND;
|
||||
+ memcpy(&hw->hbuf[1], &sll->sll_addr[sll->sll_halen - 8], 8);
|
||||
break;
|
||||
#if defined(ARPHRD_PPP)
|
||||
case ARPHRD_PPP:
|
||||
if (local_family != AF_INET6)
|
||||
- log_fatal("Unsupported device type %d for \"%s\"",
|
||||
- sa->sa_family, name);
|
||||
+ log_fatal("Unsupported device type %ld for \"%s\"",
|
||||
+ (long int)sll->sll_family, name);
|
||||
+ log_fatal("local_family != AF_INET6 for \"%s\"",
|
||||
+ name);
|
||||
hw->hlen = 0;
|
||||
hw->hbuf[0] = HTYPE_RESERVED;
|
||||
/* 0xdeadbeef should never occur on the wire,
|
||||
@@ -520,10 +678,11 @@ get_hw_addr(const char *name, struct har
|
||||
@@ -528,10 +757,13 @@ get_hw_addr(const char *name, struct har
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
+ freeifaddrs(ifaddrs);
|
||||
log_fatal("Unsupported device type %ld for \"%s\"",
|
||||
- log_fatal("Unsupported device type %ld for \"%s\"",
|
||||
- (long int)sa->sa_family, name);
|
||||
+ (long int)sll->sll_family, name);
|
||||
+ freeifaddrs(ifaddrs);
|
||||
+ log_fatal("Unsupported device type %hu for \"%s\"",
|
||||
+ sll->sll_hatype, name);
|
||||
}
|
||||
|
||||
- close(sock);
|
||||
+ if (sll_allocated)
|
||||
+ dfree(sll, MDL);
|
||||
+ freeifaddrs(ifaddrs);
|
||||
}
|
||||
#endif
|
||||
diff -up dhcp-4.2.2/common/socket.c.lpf-ib dhcp-4.2.2/common/socket.c
|
||||
--- dhcp-4.2.2/common/socket.c.lpf-ib 2011-06-27 18:18:20.000000000 +0200
|
||||
+++ dhcp-4.2.2/common/socket.c 2011-09-19 11:24:08.705775490 +0200
|
||||
@@ -324,7 +324,7 @@ void if_register_send (info)
|
||||
info->wfdesc = if_register_socket(info, AF_INET, 0);
|
||||
diff -up dhcp-4.3.1b1/common/socket.c.bmgpWV dhcp-4.3.1b1/common/socket.c
|
||||
--- dhcp-4.3.1b1/common/socket.c.bmgpWV 2014-07-02 19:58:38.000000000 +0200
|
||||
+++ dhcp-4.3.1b1/common/socket.c 2014-07-10 17:52:57.706272281 +0200
|
||||
@@ -322,7 +322,7 @@ void if_register_send (info)
|
||||
info->wfdesc = if_register_socket(info, AF_INET, 0, NULL);
|
||||
/* If this is a normal IPv4 address, get the hardware address. */
|
||||
if (strcmp(info->name, "fallback") != 0)
|
||||
- get_hw_addr(info->name, &info->hw_address);
|
||||
@@ -487,7 +536,7 @@ diff -up dhcp-4.2.2/common/socket.c.lpf-ib dhcp-4.2.2/common/socket.c
|
||||
#if defined (USE_SOCKET_FALLBACK)
|
||||
/* Fallback only registers for send, but may need to receive as
|
||||
well. */
|
||||
@@ -387,7 +387,7 @@ void if_register_receive (info)
|
||||
@@ -385,7 +385,7 @@ void if_register_receive (info)
|
||||
#endif /* IP_PKTINFO... */
|
||||
/* If this is a normal IPv4 address, get the hardware address. */
|
||||
if (strcmp(info->name, "fallback") != 0)
|
||||
@@ -496,7 +545,7 @@ diff -up dhcp-4.2.2/common/socket.c.lpf-ib dhcp-4.2.2/common/socket.c
|
||||
|
||||
if (!quiet_interface_discovery)
|
||||
log_info ("Listening on Socket/%s%s%s",
|
||||
@@ -497,7 +497,7 @@ if_register6(struct interface_info *info
|
||||
@@ -499,7 +499,7 @@ if_register6(struct interface_info *info
|
||||
if (req_multi)
|
||||
if_register_multicast(info);
|
||||
|
||||
@@ -505,10 +554,19 @@ diff -up dhcp-4.2.2/common/socket.c.lpf-ib dhcp-4.2.2/common/socket.c
|
||||
|
||||
if (!quiet_interface_discovery) {
|
||||
if (info->shared_network != NULL) {
|
||||
diff -up dhcp-4.2.2/includes/dhcpd.h.lpf-ib dhcp-4.2.2/includes/dhcpd.h
|
||||
--- dhcp-4.2.2/includes/dhcpd.h.lpf-ib 2011-09-19 11:24:08.696775721 +0200
|
||||
+++ dhcp-4.2.2/includes/dhcpd.h 2011-09-19 11:24:08.707775438 +0200
|
||||
@@ -1243,6 +1243,7 @@ struct interface_info {
|
||||
@@ -555,7 +555,7 @@ if_register_linklocal6(struct interface_
|
||||
info->rfdesc = sock;
|
||||
info->wfdesc = sock;
|
||||
|
||||
- get_hw_addr(info->name, &info->hw_address);
|
||||
+ get_hw_addr(info);
|
||||
|
||||
if (!quiet_interface_discovery) {
|
||||
if (info->shared_network != NULL) {
|
||||
diff -up dhcp-4.3.1b1/includes/dhcpd.h.bmgpWV dhcp-4.3.1b1/includes/dhcpd.h
|
||||
--- dhcp-4.3.1b1/includes/dhcpd.h.bmgpWV 2014-07-10 17:50:26.923402536 +0200
|
||||
+++ dhcp-4.3.1b1/includes/dhcpd.h 2014-07-10 17:52:57.707272266 +0200
|
||||
@@ -1248,6 +1248,7 @@ struct interface_info {
|
||||
struct shared_network *shared_network;
|
||||
/* Networks connected to this interface. */
|
||||
struct hardware hw_address; /* Its physical address. */
|
||||
@@ -516,7 +574,7 @@ diff -up dhcp-4.2.2/includes/dhcpd.h.lpf-ib dhcp-4.2.2/includes/dhcpd.h
|
||||
struct in_addr *addresses; /* Addresses associated with this
|
||||
* interface.
|
||||
*/
|
||||
@@ -2356,7 +2357,7 @@ void print_dns_status (int, struct dhcp_
|
||||
@@ -2439,7 +2440,7 @@ void print_dns_status (int, struct dhcp_
|
||||
#endif
|
||||
const char *print_time(TIME);
|
||||
|
||||
@@ -525,14 +583,3 @@ diff -up dhcp-4.2.2/includes/dhcpd.h.lpf-ib dhcp-4.2.2/includes/dhcpd.h
|
||||
|
||||
/* socket.c */
|
||||
#if defined (USE_SOCKET_SEND) || defined (USE_SOCKET_RECEIVE) \
|
||||
diff -up dhcp-4.2.2/includes/dhcp.h.lpf-ib dhcp-4.2.2/includes/dhcp.h
|
||||
--- dhcp-4.2.2/includes/dhcp.h.lpf-ib 2011-09-19 11:24:08.696775721 +0200
|
||||
+++ dhcp-4.2.2/includes/dhcp.h 2011-09-19 11:24:08.707775438 +0200
|
||||
@@ -79,6 +79,7 @@ struct dhcp_packet {
|
||||
#define HTYPE_ETHER 1 /* Ethernet 10Mbps */
|
||||
#define HTYPE_IEEE802 6 /* IEEE 802.2 Token Ring... */
|
||||
#define HTYPE_FDDI 8 /* FDDI... */
|
||||
+#define HTYPE_INFINIBAND 32 /* Infiniband IPoIB */
|
||||
|
||||
#define HTYPE_RESERVED 0 /* RFC 5494 */
|
||||
|
||||
@@ -1,154 +1,7 @@
|
||||
diff -up dhcp-4.2.1b1/client/dhclient.8.man dhcp-4.2.1b1/client/dhclient.8
|
||||
--- dhcp-4.2.1b1/client/dhclient.8.man 2010-07-14 22:09:34.000000000 +0200
|
||||
+++ dhcp-4.2.1b1/client/dhclient.8 2011-01-27 18:19:07.000000000 +0100
|
||||
@@ -115,6 +115,33 @@ dhclient - Dynamic Host Configuration Pr
|
||||
.B -w
|
||||
]
|
||||
[
|
||||
+.B -B
|
||||
+]
|
||||
+[
|
||||
+.B -I
|
||||
+.I dhcp-client-identifier
|
||||
+]
|
||||
+[
|
||||
+.B -H
|
||||
+.I host-name
|
||||
+]
|
||||
+[
|
||||
+.B -F
|
||||
+.I fqdn.fqdn
|
||||
+]
|
||||
+[
|
||||
+.B -V
|
||||
+.I vendor-class-identifier
|
||||
+]
|
||||
+[
|
||||
+.B -R
|
||||
+.I request-option-list
|
||||
+]
|
||||
+[
|
||||
+.B -timeout
|
||||
+.I timeout
|
||||
+]
|
||||
+[
|
||||
.B -v
|
||||
]
|
||||
[
|
||||
@@ -264,6 +291,69 @@ not to exit when it doesn't find any suc
|
||||
program can then be used to notify the client when a network interface
|
||||
has been added or removed, so that the client can attempt to configure an IP
|
||||
address on that interface.
|
||||
+
|
||||
+.TP
|
||||
+.BI \-B
|
||||
+Set the BOOTP broadcast flag in request packets so servers will always
|
||||
+broadcast replies.
|
||||
+
|
||||
+.TP
|
||||
+.BI \-I\ <dhcp-client-identifier>
|
||||
+Specify the dhcp-client-identifier option to send to the DHCP server.
|
||||
+
|
||||
+.TP
|
||||
+.BI \-H\ <host-name>
|
||||
+Specify the host-name option to send to the DHCP server. The host-name
|
||||
+string only contains the client's hostname prefix, to which the server will
|
||||
+append the ddns-domainname or domain-name options, if any, to derive the
|
||||
+fully qualified domain name of the client. The
|
||||
+.B -H
|
||||
+option cannot be used with the
|
||||
+.B -F
|
||||
+option.
|
||||
+
|
||||
+.TP
|
||||
+.BI \-F\ <fqdn.fqdn>
|
||||
+Specify the fqdn.fqdn option to send to the DHCP server. This option cannot
|
||||
+be used with the
|
||||
+.B -H
|
||||
+option. The fqdn.fqdn option must specify the complete domain name of the
|
||||
+client host, which the server may use for dynamic DNS updates.
|
||||
+
|
||||
+.TP
|
||||
+.BI \-V\ <vendor-class-identifier>
|
||||
+Specify the vendor-class-identifier option to send to the DHCP server.
|
||||
+
|
||||
+.TP
|
||||
+.BI \-R\ <option>[,<option>...]
|
||||
+Specify the list of options the client is to request from the server. The
|
||||
+option list must be a single string consisting of option names separated
|
||||
+by at least one command and optional space characters. The default option
|
||||
+list is:
|
||||
+
|
||||
+.BR
|
||||
+ subnet-mask, broadcast-address, time-offset, routers,
|
||||
+.BR
|
||||
+ domain-search, domain-name, domain-name-servers, host-name,
|
||||
+.BR
|
||||
+ nis-domain, nis-servers, ntp-servers, interface-mtu
|
||||
+
|
||||
+.TP
|
||||
+.B -R
|
||||
+option does not append options to the default request, it overrides the
|
||||
+default request list. Keep this in mind if you want to request an
|
||||
+additional option besides the default request list. You will have to
|
||||
+specify all option names for the
|
||||
+.B -R
|
||||
+parameter.
|
||||
+
|
||||
+.TP
|
||||
+.BI \-timeout\ <timeout>
|
||||
+Specify the time after which
|
||||
+.B dhclient
|
||||
+will decide that no DHCP servers can be contacted when no responses have been
|
||||
+received.
|
||||
+
|
||||
.TP
|
||||
.BI \-n
|
||||
Do not configure any interfaces. This is most likely to be useful in
|
||||
diff -up dhcp-4.2.1b1/client/dhclient.conf.5.man dhcp-4.2.1b1/client/dhclient.conf.5
|
||||
--- dhcp-4.2.1b1/client/dhclient.conf.5.man 2010-09-15 01:03:56.000000000 +0200
|
||||
+++ dhcp-4.2.1b1/client/dhclient.conf.5 2011-01-27 18:22:56.000000000 +0100
|
||||
@@ -186,7 +186,8 @@ responding to the client send the client
|
||||
options. Only the option names should be specified in the request
|
||||
statement - not option parameters. By default, the DHCPv4 client
|
||||
requests the subnet-mask, broadcast-address, time-offset, routers,
|
||||
-domain-name, domain-name-servers and host-name options while the DHCPv6
|
||||
+domain-search, domain-name, domain-name-servers, host-name, nis-domain,
|
||||
+nis-servers, ntp-servers and interface-mtu options while the DHCPv6
|
||||
client requests the dhcp6 name-servers and domain-search options. Note
|
||||
that if you enter a \'request\' statement, you over-ride these defaults
|
||||
and these options will not be requested.
|
||||
@@ -672,6 +673,17 @@ know the DHCP service(s) anycast MAC add
|
||||
client. The \fIlink-type\fR and \fImac-address\fR parameters are configured
|
||||
in a similar manner to the \fBhardware\fR statement.
|
||||
.PP
|
||||
+ \fBbootp-broadcast-always;\fR
|
||||
+.PP
|
||||
+The
|
||||
+.B bootp-broadcast-always
|
||||
+statement instructs dhclient to always set the bootp broadcast flag in
|
||||
+request packets, so that servers will always broadcast replies.
|
||||
+This is equivalent to supplying the dhclient -B argument, and has
|
||||
+the same effect as specifying 'always-broadcast' in the server's dhcpd.conf.
|
||||
+This option is provided as an extension to enable dhclient to work
|
||||
+on IBM s390 Linux guests.
|
||||
+.PP
|
||||
.SH SAMPLE
|
||||
The following configuration file is used on a laptop running NetBSD
|
||||
1.3. The laptop has an IP alias of 192.5.5.213, and has one
|
||||
@@ -697,7 +709,7 @@ interface "ep0" {
|
||||
supersede domain-search "fugue.com", "rc.vix.com", "home.vix.com";
|
||||
prepend domain-name-servers 127.0.0.1;
|
||||
request subnet-mask, broadcast-address, time-offset, routers,
|
||||
- domain-name, domain-name-servers, host-name;
|
||||
+ domain-search, domain-name, domain-name-servers, host-name;
|
||||
require subnet-mask, domain-name-servers;
|
||||
script "CLIENTBINDIR/dhclient-script";
|
||||
media "media 10baseT/UTP", "media 10base2/BNC";
|
||||
diff -up dhcp-4.2.1b1/client/dhclient-script.8.man dhcp-4.2.1b1/client/dhclient-script.8
|
||||
--- dhcp-4.2.1b1/client/dhclient-script.8.man 2010-07-06 21:03:11.000000000 +0200
|
||||
+++ dhcp-4.2.1b1/client/dhclient-script.8 2011-01-27 18:24:44.000000000 +0100
|
||||
@@ -47,7 +47,7 @@ customizations are needed, they should b
|
||||
diff -up dhcp-4.3.0a1/client/dhclient-script.8.man dhcp-4.3.0a1/client/dhclient-script.8
|
||||
--- dhcp-4.3.0a1/client/dhclient-script.8.man 2013-12-11 01:01:02.000000000 +0100
|
||||
+++ dhcp-4.3.0a1/client/dhclient-script.8 2013-12-19 15:27:17.617118805 +0100
|
||||
@@ -48,7 +48,7 @@ customizations are needed, they should b
|
||||
exit hooks provided (see HOOKS for details). These hooks will allow the
|
||||
user to override the default behaviour of the client in creating a
|
||||
.B /etc/resolv.conf
|
||||
@@ -157,7 +10,7 @@ diff -up dhcp-4.2.1b1/client/dhclient-script.8.man dhcp-4.2.1b1/client/dhclient-
|
||||
.PP
|
||||
No standard client script exists for some operating systems, even though
|
||||
the actual client may work, so a pioneering user may well need to create
|
||||
@@ -91,6 +91,26 @@ present. The
|
||||
@@ -92,6 +92,26 @@ present. The
|
||||
.B ETCDIR/dhclient-exit-hooks
|
||||
script can modify the valid of exit_status to change the exit status
|
||||
of dhclient-script.
|
||||
@@ -184,10 +37,50 @@ diff -up dhcp-4.2.1b1/client/dhclient-script.8.man dhcp-4.2.1b1/client/dhclient-
|
||||
.SH OPERATION
|
||||
When dhclient needs to invoke the client configuration script, it
|
||||
defines a set of variables in the environment, and then invokes
|
||||
diff -up dhcp-4.2.1b1/common/dhcp-options.5.man dhcp-4.2.1b1/common/dhcp-options.5
|
||||
--- dhcp-4.2.1b1/common/dhcp-options.5.man 2010-07-13 22:56:56.000000000 +0200
|
||||
+++ dhcp-4.2.1b1/common/dhcp-options.5 2011-01-27 18:25:57.000000000 +0100
|
||||
@@ -913,6 +913,21 @@ classless IP routing - it does not inclu
|
||||
diff -up dhcp-4.3.0a1/client/dhclient.conf.5.man dhcp-4.3.0a1/client/dhclient.conf.5
|
||||
--- dhcp-4.3.0a1/client/dhclient.conf.5.man 2013-12-11 01:01:02.000000000 +0100
|
||||
+++ dhcp-4.3.0a1/client/dhclient.conf.5 2013-12-19 15:27:17.617118805 +0100
|
||||
@@ -202,7 +202,8 @@ responding to the client send the client
|
||||
options. Only the option names should be specified in the request
|
||||
statement - not option parameters. By default, the DHCPv4 client
|
||||
requests the subnet-mask, broadcast-address, time-offset, routers,
|
||||
-domain-name, domain-name-servers and host-name options while the DHCPv6
|
||||
+domain-search, domain-name, domain-name-servers, host-name, nis-domain,
|
||||
+nis-servers, ntp-servers and interface-mtu options while the DHCPv6
|
||||
client requests the dhcp6 name-servers and domain-search options. Note
|
||||
that if you enter a \'request\' statement, you over-ride these defaults
|
||||
and these options will not be requested.
|
||||
@@ -688,6 +689,17 @@ know the DHCP service(s) anycast MAC add
|
||||
client. The \fIlink-type\fR and \fImac-address\fR parameters are configured
|
||||
in a similar manner to the \fBhardware\fR statement.
|
||||
.PP
|
||||
+ \fBbootp-broadcast-always;\fR
|
||||
+.PP
|
||||
+The
|
||||
+.B bootp-broadcast-always
|
||||
+statement instructs dhclient to always set the bootp broadcast flag in
|
||||
+request packets, so that servers will always broadcast replies.
|
||||
+This is equivalent to supplying the dhclient -B argument, and has
|
||||
+the same effect as specifying 'always-broadcast' in the server's dhcpd.conf.
|
||||
+This option is provided as an extension to enable dhclient to work
|
||||
+on IBM s390 Linux guests.
|
||||
+.PP
|
||||
.SH SAMPLE
|
||||
The following configuration file is used on a laptop running NetBSD
|
||||
1.3. The laptop has an IP alias of 192.5.5.213, and has one
|
||||
@@ -713,7 +725,7 @@ interface "ep0" {
|
||||
supersede domain-search "fugue.com", "rc.vix.com", "home.vix.com";
|
||||
prepend domain-name-servers 127.0.0.1;
|
||||
request subnet-mask, broadcast-address, time-offset, routers,
|
||||
- domain-name, domain-name-servers, host-name;
|
||||
+ domain-search, domain-name, domain-name-servers, host-name;
|
||||
require subnet-mask, domain-name-servers;
|
||||
script "CLIENTBINDIR/dhclient-script";
|
||||
media "media 10baseT/UTP", "media 10base2/BNC";
|
||||
diff -up dhcp-4.3.0a1/common/dhcp-options.5.man dhcp-4.3.0a1/common/dhcp-options.5
|
||||
--- dhcp-4.3.0a1/common/dhcp-options.5.man 2013-12-11 01:25:12.000000000 +0100
|
||||
+++ dhcp-4.3.0a1/common/dhcp-options.5 2013-12-19 15:27:17.618118791 +0100
|
||||
@@ -914,6 +914,21 @@ classless IP routing - it does not inclu
|
||||
classless IP routing is now the most widely deployed routing standard,
|
||||
this option is virtually useless, and is not implemented by any of the
|
||||
popular DHCP clients, for example the Microsoft DHCP client.
|
||||
@@ -209,10 +102,10 @@ diff -up dhcp-4.2.1b1/common/dhcp-options.5.man dhcp-4.2.1b1/common/dhcp-options
|
||||
.RE
|
||||
.PP
|
||||
.nf
|
||||
diff -up dhcp-4.2.1b1/server/dhcpd.conf.5.man dhcp-4.2.1b1/server/dhcpd.conf.5
|
||||
--- dhcp-4.2.1b1/server/dhcpd.conf.5.man 2010-07-06 21:03:12.000000000 +0200
|
||||
+++ dhcp-4.2.1b1/server/dhcpd.conf.5 2011-01-27 18:29:12.000000000 +0100
|
||||
@@ -519,6 +519,9 @@ pool {
|
||||
diff -up dhcp-4.3.0a1/server/dhcpd.conf.5.man dhcp-4.3.0a1/server/dhcpd.conf.5
|
||||
--- dhcp-4.3.0a1/server/dhcpd.conf.5.man 2013-12-13 21:49:44.000000000 +0100
|
||||
+++ dhcp-4.3.0a1/server/dhcpd.conf.5 2013-12-19 15:30:14.266670962 +0100
|
||||
@@ -527,6 +527,9 @@ pool {
|
||||
};
|
||||
.fi
|
||||
.PP
|
||||
@@ -222,7 +115,7 @@ diff -up dhcp-4.2.1b1/server/dhcpd.conf.5.man dhcp-4.2.1b1/server/dhcpd.conf.5
|
||||
The server currently does very little sanity checking, so if you
|
||||
configure it wrong, it will just fail in odd ways. I would recommend
|
||||
therefore that you either do failover or don't do failover, but don't
|
||||
@@ -533,9 +536,9 @@ primary server might look like this:
|
||||
@@ -541,9 +544,9 @@ primary server might look like this:
|
||||
failover peer "foo" {
|
||||
primary;
|
||||
address anthrax.rc.vix.com;
|
||||
@@ -234,7 +127,7 @@ diff -up dhcp-4.2.1b1/server/dhcpd.conf.5.man dhcp-4.2.1b1/server/dhcpd.conf.5
|
||||
max-response-delay 60;
|
||||
max-unacked-updates 10;
|
||||
mclt 3600;
|
||||
@@ -1305,7 +1308,7 @@ the zone containing PTR records - for IS
|
||||
@@ -1241,7 +1244,7 @@ the zone containing PTR records - for IS
|
||||
.PP
|
||||
.nf
|
||||
key DHCP_UPDATER {
|
||||
@@ -243,7 +136,7 @@ diff -up dhcp-4.2.1b1/server/dhcpd.conf.5.man dhcp-4.2.1b1/server/dhcpd.conf.5
|
||||
secret pRP5FapFoJ95JEL06sv4PQ==;
|
||||
};
|
||||
|
||||
@@ -1328,7 +1331,7 @@ dhcpd.conf file:
|
||||
@@ -1264,7 +1267,7 @@ dhcpd.conf file:
|
||||
.PP
|
||||
.nf
|
||||
key DHCP_UPDATER {
|
||||
@@ -252,10 +145,10 @@ diff -up dhcp-4.2.1b1/server/dhcpd.conf.5.man dhcp-4.2.1b1/server/dhcpd.conf.5
|
||||
secret pRP5FapFoJ95JEL06sv4PQ==;
|
||||
};
|
||||
|
||||
@@ -2540,7 +2543,8 @@ statement
|
||||
@@ -2539,7 +2542,8 @@ statement
|
||||
The \fInext-server\fR statement is used to specify the host address of
|
||||
the server from which the initial boot file (specified in the
|
||||
\fIfilename\fR statement) is to be loaded. \fIServer-name\fR should
|
||||
\fIfilename\fR statement) is to be loaded. \fIServer-name\fR should
|
||||
-be a numeric IP address or a domain name.
|
||||
+be a numeric IP address or a domain name. If no \fInext-server\fR statement
|
||||
+applies to a given client, the address 0.0.0.0 is used.
|
||||
156
src/patches/dhcp/dhcp-paranoia.patch
Normal file
156
src/patches/dhcp/dhcp-paranoia.patch
Normal file
@@ -0,0 +1,156 @@
|
||||
diff -up dhcp-4.3.1b1/client/dhclient.c.dlTsyN dhcp-4.3.1b1/client/dhclient.c
|
||||
--- dhcp-4.3.1b1/client/dhclient.c.dlTsyN 2014-07-10 17:49:49.882925843 +0200
|
||||
+++ dhcp-4.3.1b1/client/dhclient.c 2014-07-10 17:50:26.922402550 +0200
|
||||
@@ -1748,11 +1748,6 @@ int write_host (host)
|
||||
return 0;
|
||||
}
|
||||
|
||||
-void db_startup (testp)
|
||||
- int testp;
|
||||
-{
|
||||
-}
|
||||
-
|
||||
void bootp (packet)
|
||||
struct packet *packet;
|
||||
{
|
||||
diff -up dhcp-4.3.1b1/includes/dhcpd.h.dlTsyN dhcp-4.3.1b1/includes/dhcpd.h
|
||||
--- dhcp-4.3.1b1/includes/dhcpd.h.dlTsyN 2014-07-10 17:48:03.798424601 +0200
|
||||
+++ dhcp-4.3.1b1/includes/dhcpd.h 2014-07-10 17:50:26.923402536 +0200
|
||||
@@ -2866,7 +2866,11 @@ void commit_leases_timeout (void *);
|
||||
void commit_leases_readerdry(void *);
|
||||
int commit_leases (void);
|
||||
int commit_leases_timed (void);
|
||||
+#if defined (PARANOIA)
|
||||
+void db_startup (int, uid_t, gid_t);
|
||||
+#else
|
||||
void db_startup (int);
|
||||
+#endif /* PARANOIA */
|
||||
int new_lease_file (void);
|
||||
int group_writer (struct group_object *);
|
||||
int write_ia(const struct ia_xx *);
|
||||
diff -up dhcp-4.3.1b1/server/confpars.c.dlTsyN dhcp-4.3.1b1/server/confpars.c
|
||||
--- dhcp-4.3.1b1/server/confpars.c.dlTsyN 2014-07-10 17:39:25.801764596 +0200
|
||||
+++ dhcp-4.3.1b1/server/confpars.c 2014-07-10 17:50:26.924402522 +0200
|
||||
@@ -219,7 +219,11 @@ void trace_conf_input (trace_type_t *tty
|
||||
}
|
||||
|
||||
if (!leaseconf_initialized && ttype == trace_readleases_type) {
|
||||
+#if defined (PARANOIA)
|
||||
+ db_startup (0, 0, 0);
|
||||
+#else
|
||||
db_startup (0);
|
||||
+#endif /* PARANOIA */
|
||||
leaseconf_initialized = 1;
|
||||
postdb_startup ();
|
||||
}
|
||||
diff -up dhcp-4.3.1b1/server/db.c.dlTsyN dhcp-4.3.1b1/server/db.c
|
||||
--- dhcp-4.3.1b1/server/db.c.dlTsyN 2014-07-10 17:39:25.801764596 +0200
|
||||
+++ dhcp-4.3.1b1/server/db.c 2014-07-10 17:50:26.925402508 +0200
|
||||
@@ -42,6 +42,10 @@ static int counting = 0;
|
||||
static int count = 0;
|
||||
TIME write_time;
|
||||
int lease_file_is_corrupt = 0;
|
||||
+#if defined (PARANOIA)
|
||||
+uid_t global_set_uid = 0;
|
||||
+gid_t global_set_gid = 0;
|
||||
+#endif /* PARANOIA */
|
||||
|
||||
/* Write a single binding scope value in parsable format.
|
||||
*/
|
||||
@@ -1046,8 +1050,11 @@ int commit_leases_timed()
|
||||
return (1);
|
||||
}
|
||||
|
||||
-void db_startup (testp)
|
||||
- int testp;
|
||||
+#if defined (PARANOIA)
|
||||
+void db_startup (int testp, uid_t set_uid, gid_t set_gid)
|
||||
+#else
|
||||
+void db_startup (int testp)
|
||||
+#endif /* PARANOIA */
|
||||
{
|
||||
isc_result_t status;
|
||||
|
||||
@@ -1066,6 +1073,11 @@ void db_startup (testp)
|
||||
}
|
||||
#endif
|
||||
|
||||
+#if defined (PARANOIA)
|
||||
+ global_set_uid = set_uid;
|
||||
+ global_set_gid = set_gid;
|
||||
+#endif /* PARANOIA */
|
||||
+
|
||||
#if defined (TRACING)
|
||||
/* If we're playing back, there is no lease file, so we can't
|
||||
append it, so we create one immediately (maybe this isn't
|
||||
@@ -1128,6 +1140,17 @@ int new_lease_file ()
|
||||
log_error ("Can't create new lease file: %m");
|
||||
return 0;
|
||||
}
|
||||
+
|
||||
+#if defined (PARANOIA)
|
||||
+ if (global_set_uid && !geteuid() &&
|
||||
+ global_set_gid && !getegid())
|
||||
+ if (fchown(db_fd, global_set_uid, global_set_gid)) {
|
||||
+ log_fatal ("Can't chown new lease file: %m");
|
||||
+ close(db_fd);
|
||||
+ goto fdfail;
|
||||
+ }
|
||||
+#endif /* PARANOIA */
|
||||
+
|
||||
if ((new_db_file = fdopen(db_fd, "we")) == NULL) {
|
||||
log_error("Can't fdopen new lease file: %m");
|
||||
close(db_fd);
|
||||
diff -up dhcp-4.3.1b1/server/dhcpd.8.dlTsyN dhcp-4.3.1b1/server/dhcpd.8
|
||||
--- dhcp-4.3.1b1/server/dhcpd.8.dlTsyN 2014-07-02 19:58:39.000000000 +0200
|
||||
+++ dhcp-4.3.1b1/server/dhcpd.8 2014-07-10 17:50:26.925402508 +0200
|
||||
@@ -82,6 +82,18 @@ dhcpd - Dynamic Host Configuration Proto
|
||||
.I trace-output-file
|
||||
]
|
||||
[
|
||||
+.B -user
|
||||
+.I user
|
||||
+]
|
||||
+[
|
||||
+.B -group
|
||||
+.I group
|
||||
+]
|
||||
+[
|
||||
+.B -chroot
|
||||
+.I dir
|
||||
+]
|
||||
+[
|
||||
.B -play
|
||||
.I trace-playback-file
|
||||
]
|
||||
@@ -269,6 +281,15 @@ lease file.
|
||||
.TP
|
||||
.BI --version
|
||||
Print version number and exit.
|
||||
+.TP
|
||||
+.BI \-user \ user
|
||||
+Setuid to user after completing privileged operations, such as creating sockets that listen on privileged ports.
|
||||
+.TP
|
||||
+.BI \-group \ group
|
||||
+Setgid to group after completing privileged operations, such as creating sockets that listen on privileged ports.
|
||||
+.TP
|
||||
+.BI \-chroot \ dir
|
||||
+Chroot to directory after processing the command line arguments, but before reading the configuration file.
|
||||
.PP
|
||||
.I Modifying default file locations:
|
||||
The following options can be used to modify the locations
|
||||
diff -up dhcp-4.3.1b1/server/dhcpd.c.dlTsyN dhcp-4.3.1b1/server/dhcpd.c
|
||||
--- dhcp-4.3.1b1/server/dhcpd.c.dlTsyN 2014-07-10 17:39:25.802764582 +0200
|
||||
+++ dhcp-4.3.1b1/server/dhcpd.c 2014-07-10 17:52:35.341588248 +0200
|
||||
@@ -628,7 +628,11 @@ main(int argc, char **argv) {
|
||||
group_write_hook = group_writer;
|
||||
|
||||
/* Start up the database... */
|
||||
+#if defined (PARANOIA)
|
||||
+ db_startup (lftest, set_uid, set_gid);
|
||||
+#else
|
||||
db_startup (lftest);
|
||||
+#endif /* PARANOIA */
|
||||
|
||||
if (lftest)
|
||||
exit (0);
|
||||
@@ -1,7 +1,6 @@
|
||||
diff -up dhcp-4.2.0/includes/dhcpd.h.paths dhcp-4.2.0/includes/dhcpd.h
|
||||
--- dhcp-4.2.0/includes/dhcpd.h.paths 2010-07-21 13:55:42.000000000 +0200
|
||||
+++ dhcp-4.2.0/includes/dhcpd.h 2010-07-21 14:29:57.000000000 +0200
|
||||
@@ -1390,15 +1390,15 @@ typedef unsigned char option_mask [16];
|
||||
--- expanded_org/includes/dhcpd.h Wed Aug 06 23:35:02 2014
|
||||
+++ expanded_patched_51_4_2_0_paths_patch/includes/dhcpd.h Mon Feb 16 13:22:11 2015
|
||||
@@ -1424,15 +1424,15 @@
|
||||
#else /* !DEBUG */
|
||||
|
||||
#ifndef _PATH_DHCPD_CONF
|
||||
@@ -20,7 +19,7 @@ diff -up dhcp-4.2.0/includes/dhcpd.h.paths dhcp-4.2.0/includes/dhcpd.h
|
||||
#endif
|
||||
|
||||
#ifndef _PATH_DHCPD_PID
|
||||
@@ -1412,7 +1412,7 @@ typedef unsigned char option_mask [16];
|
||||
@@ -1446,7 +1446,7 @@
|
||||
#endif /* DEBUG */
|
||||
|
||||
#ifndef _PATH_DHCLIENT_CONF
|
||||
@@ -29,7 +28,7 @@ diff -up dhcp-4.2.0/includes/dhcpd.h.paths dhcp-4.2.0/includes/dhcpd.h
|
||||
#endif
|
||||
|
||||
#ifndef _PATH_DHCLIENT_SCRIPT
|
||||
@@ -1428,11 +1428,11 @@ typedef unsigned char option_mask [16];
|
||||
@@ -1462,11 +1462,11 @@
|
||||
#endif
|
||||
|
||||
#ifndef _PATH_DHCLIENT_DB
|
||||
@@ -1,8 +1,8 @@
|
||||
diff -up dhcp-4.2.0/client/dhclient.c.ifup dhcp-4.2.0/client/dhclient.c
|
||||
--- dhcp-4.2.0/client/dhclient.c.ifup 2010-07-21 13:30:10.000000000 +0200
|
||||
+++ dhcp-4.2.0/client/dhclient.c 2010-07-21 13:37:03.000000000 +0200
|
||||
@@ -497,9 +497,81 @@ main(int argc, char **argv) {
|
||||
kill(oldpid, SIGTERM);
|
||||
diff -up dhcp-4.3.0a1/client/dhclient.c.ifup dhcp-4.3.0a1/client/dhclient.c
|
||||
--- dhcp-4.3.0a1/client/dhclient.c.ifup 2013-12-19 14:53:08.817760677 +0100
|
||||
+++ dhcp-4.3.0a1/client/dhclient.c 2013-12-19 15:05:16.290518574 +0100
|
||||
@@ -521,9 +521,81 @@ main(int argc, char **argv) {
|
||||
}
|
||||
}
|
||||
fclose(pidfd);
|
||||
+ } else {
|
||||
192
src/patches/dhcp/dhcp-remove-bind.patch
Normal file
192
src/patches/dhcp/dhcp-remove-bind.patch
Normal file
@@ -0,0 +1,192 @@
|
||||
diff -up dhcp-4.3.1b1/client/Makefile.am.brGmwh dhcp-4.3.1b1/client/Makefile.am
|
||||
--- dhcp-4.3.1b1/client/Makefile.am.brGmwh 2014-07-02 19:58:38.000000000 +0200
|
||||
+++ dhcp-4.3.1b1/client/Makefile.am 2014-07-10 17:36:30.484250976 +0200
|
||||
@@ -10,8 +10,8 @@ dhclient_SOURCES = clparse.c dhclient.c
|
||||
scripts/bsdos scripts/freebsd scripts/linux scripts/macos \
|
||||
scripts/netbsd scripts/nextstep scripts/openbsd \
|
||||
scripts/solaris scripts/openwrt
|
||||
-dhclient_LDADD = ../common/libdhcp.a ../omapip/libomapi.a ../bind/lib/libirs.a \
|
||||
- ../bind/lib/libdns.a ../bind/lib/libisccfg.a ../bind/lib/libisc.a
|
||||
+dhclient_LDADD = ../common/libdhcp.a ../omapip/libomapi.a \
|
||||
+ $(BIND9_LIBDIR) -lirs -ldns -lisccfg -lisc
|
||||
man_MANS = dhclient.8 dhclient-script.8 dhclient.conf.5 dhclient.leases.5
|
||||
EXTRA_DIST = $(man_MANS)
|
||||
|
||||
diff -up dhcp-4.3.1b1/common/tests/Makefile.am.brGmwh dhcp-4.3.1b1/common/tests/Makefile.am
|
||||
--- dhcp-4.3.1b1/common/tests/Makefile.am.brGmwh 2014-07-10 17:36:30.485250962 +0200
|
||||
+++ dhcp-4.3.1b1/common/tests/Makefile.am 2014-07-10 17:38:04.010924566 +0200
|
||||
@@ -13,21 +13,20 @@ ATF_TESTS += alloc_unittest dns_unittest
|
||||
alloc_unittest_SOURCES = test_alloc.c $(top_srcdir)/tests/t_api_dhcp.c
|
||||
alloc_unittest_LDADD = $(ATF_LDFLAGS)
|
||||
alloc_unittest_LDADD += ../libdhcp.a \
|
||||
- ../../omapip/libomapi.a ../../bind/lib/libirs.a \
|
||||
- ../../bind/lib/libdns.a ../../bind/lib/libisccfg.a ../../bind/lib/libisc.a
|
||||
+ ../../omapip/libomapi.a \
|
||||
+ $(BIND9_LIBDIR) -lirs -ldns -lisccfg -lisc
|
||||
|
||||
dns_unittest_SOURCES = dns_unittest.c $(top_srcdir)/tests/t_api_dhcp.c
|
||||
dns_unittest_LDADD = $(ATF_LDFLAGS)
|
||||
dns_unittest_LDADD += ../libdhcp.a \
|
||||
- ../../omapip/libomapi.a ../../bind/lib/libirs.a \
|
||||
- ../../bind/lib/libdns.a ../../bind/lib/libisccfg.a ../../bind/lib/libisc.a
|
||||
+ ../../omapip/libomapi.a \
|
||||
+ $(BIND9_LIBDIR) -lirs -ldns -lisccfg -lisc
|
||||
|
||||
misc_unittest_SOURCES = misc_unittest.c $(top_srcdir)/tests/t_api_dhcp.c
|
||||
misc_unittest_LDADD = $(ATF_LDFLAGS)
|
||||
misc_unittest_LDADD += ../libdhcp.a \
|
||||
- ../../omapip/libomapi.a ../../bind/lib/libirs.a \
|
||||
- ../../bind/lib/libdns.a ../../bind/lib/libisccfg.a ../../bind/lib/libisc.a
|
||||
-
|
||||
+ ../../omapip/libomapi.a \
|
||||
+ $(BIND9_LIBDIR) -lirs -ldns -lisccfg -lisc
|
||||
check: $(ATF_TESTS)
|
||||
atf-run | atf-report
|
||||
|
||||
diff -up dhcp-4.3.1b1/configure.ac.brGmwh dhcp-4.3.1b1/configure.ac
|
||||
--- dhcp-4.3.1b1/configure.ac.brGmwh 2014-07-02 20:01:26.000000000 +0200
|
||||
+++ dhcp-4.3.1b1/configure.ac 2014-07-10 17:36:30.485250962 +0200
|
||||
@@ -562,20 +562,37 @@ AC_CHECK_MEMBER(struct msghdr.msg_contro
|
||||
|
||||
libbind=
|
||||
AC_ARG_WITH(libbind,
|
||||
- AS_HELP_STRING([--with-libbind=PATH],[bind includes and libraries are in PATH
|
||||
- (default is ./bind)]),
|
||||
+ AS_HELP_STRING([--with-libbind=PATH],[bind includes are in PATH
|
||||
+ (default is ./bind/includes)]),
|
||||
use_libbind="$withval", use_libbind="no")
|
||||
case "$use_libbind" in
|
||||
+yes|no)
|
||||
+ libbind="\${top_srcdir}/bind/include"
|
||||
+ ;;
|
||||
+*)
|
||||
+ libbind="$use_libbind"
|
||||
+ ;;
|
||||
+esac
|
||||
+
|
||||
+BIND9_LIBDIR='-L$(top_builddir)/bind/lib'
|
||||
+AC_ARG_WITH(libbind-libs,
|
||||
+ AC_HELP_STRING([--with-libbind-libs=PATH],
|
||||
+ [bind9 export libraries are in PATH]),
|
||||
+ [libbind_libs="$withval"], [libbind_libs='no'])
|
||||
+case "$libbind_libs" in
|
||||
yes)
|
||||
- libbind="\${top_srcdir}/bind"
|
||||
+ AC_MSG_ERROR([Specify path to bind9 libraries])
|
||||
;;
|
||||
no)
|
||||
- libbind="\${top_srcdir}/bind"
|
||||
+ BUNDLED_BIND=yes
|
||||
;;
|
||||
*)
|
||||
- libbind="$use_libbind"
|
||||
+ BIND9_LIBDIR="-L$libbind_libs"
|
||||
+ BUNDLED_BIND=no
|
||||
;;
|
||||
esac
|
||||
+AM_CONDITIONAL([BUNDLED_BIND], [test "$BUNDLED_BIND" = yes])
|
||||
+AC_SUBST([BIND9_LIBDIR])
|
||||
|
||||
# OpenLDAP support.
|
||||
AC_ARG_WITH(ldap,
|
||||
@@ -610,7 +627,7 @@ fi
|
||||
CFLAGS="$CFLAGS $STD_CWARNINGS"
|
||||
|
||||
# Try to add the bind include directory
|
||||
-CFLAGS="$CFLAGS -I$libbind/include"
|
||||
+CFLAGS="$CFLAGS -I$libbind"
|
||||
|
||||
case "$host" in
|
||||
*-darwin*)
|
||||
diff -up dhcp-4.3.1b1/dhcpctl/Makefile.am.brGmwh dhcp-4.3.1b1/dhcpctl/Makefile.am
|
||||
--- dhcp-4.3.1b1/dhcpctl/Makefile.am.brGmwh 2014-07-02 19:58:38.000000000 +0200
|
||||
+++ dhcp-4.3.1b1/dhcpctl/Makefile.am 2014-07-10 17:36:30.485250962 +0200
|
||||
@@ -6,12 +6,9 @@ EXTRA_DIST = $(man_MANS)
|
||||
|
||||
omshell_SOURCES = omshell.c
|
||||
omshell_LDADD = libdhcpctl.a ../common/libdhcp.a ../omapip/libomapi.a \
|
||||
- ../bind/lib/libirs.a ../bind/lib/libdns.a \
|
||||
- ../bind/lib/libisccfg.a ../bind/lib/libisc.a
|
||||
-
|
||||
+ $(BIND9_LIBDIR) -lirs -ldns -lisccfg -lisc
|
||||
libdhcpctl_a_SOURCES = dhcpctl.c callback.c remote.c
|
||||
|
||||
cltest_SOURCES = cltest.c
|
||||
cltest_LDADD = libdhcpctl.a ../common/libdhcp.a ../omapip/libomapi.a \
|
||||
- ../bind/lib/libirs.a ../bind/lib/libdns.a \
|
||||
- ../bind/lib/libisccfg.a ../bind/lib/libisc.a
|
||||
+ $(BIND9_LIBDIR) -lirs -ldns -lisccfg -lisc
|
||||
diff -up dhcp-4.3.1b1/Makefile.am.brGmwh dhcp-4.3.1b1/Makefile.am
|
||||
--- dhcp-4.3.1b1/Makefile.am.brGmwh 2014-07-02 19:58:38.000000000 +0200
|
||||
+++ dhcp-4.3.1b1/Makefile.am 2014-07-10 17:36:30.484250976 +0200
|
||||
@@ -25,7 +25,13 @@ EXTRA_DIST = RELNOTES LICENSE \
|
||||
bind/Makefile bind/bind.tar.gz bind/version.tmp \
|
||||
common/tests/Atffile server/tests/Atffile
|
||||
|
||||
-SUBDIRS = bind includes tests common dst omapip client dhcpctl relay server
|
||||
+if BUNDLED_BIND
|
||||
+SUBDIRS = bind
|
||||
+else
|
||||
+SUBDIRS =
|
||||
+endif
|
||||
+
|
||||
+SUBDIRS += includes tests common dst omapip client dhcpctl relay server
|
||||
|
||||
nobase_include_HEADERS = dhcpctl/dhcpctl.h
|
||||
|
||||
diff -up dhcp-4.3.1b1/omapip/Makefile.am.brGmwh dhcp-4.3.1b1/omapip/Makefile.am
|
||||
--- dhcp-4.3.1b1/omapip/Makefile.am.brGmwh 2014-07-02 19:58:39.000000000 +0200
|
||||
+++ dhcp-4.3.1b1/omapip/Makefile.am 2014-07-10 17:36:30.486250948 +0200
|
||||
@@ -10,6 +10,5 @@ man_MANS = omapi.3
|
||||
EXTRA_DIST = $(man_MANS)
|
||||
|
||||
svtest_SOURCES = test.c
|
||||
-svtest_LDADD = libomapi.a ../bind/lib/libirs.a ../bind/lib/libdns.a \
|
||||
- ../bind/lib/libisccfg.a ../bind/lib/libisc.a
|
||||
-
|
||||
+svtest_LDADD = libomapi.a \
|
||||
+ $(BIND9_LIBDIR) -lirs -ldns -lisccfg -lisc
|
||||
diff -up dhcp-4.3.1b1/relay/Makefile.am.brGmwh dhcp-4.3.1b1/relay/Makefile.am
|
||||
--- dhcp-4.3.1b1/relay/Makefile.am.brGmwh 2014-07-02 19:58:39.000000000 +0200
|
||||
+++ dhcp-4.3.1b1/relay/Makefile.am 2014-07-10 17:36:30.486250948 +0200
|
||||
@@ -3,8 +3,7 @@ AM_CPPFLAGS = -DLOCALSTATEDIR='"@localst
|
||||
sbin_PROGRAMS = dhcrelay
|
||||
dhcrelay_SOURCES = dhcrelay.c
|
||||
dhcrelay_LDADD = ../common/libdhcp.a ../omapip/libomapi.a \
|
||||
- ../bind/lib/libirs.a ../bind/lib/libdns.a \
|
||||
- ../bind/lib/libisccfg.a ../bind/lib/libisc.a
|
||||
+ $(BIND9_LIBDIR) -lirs -ldns -lisccfg -lisc
|
||||
man_MANS = dhcrelay.8
|
||||
EXTRA_DIST = $(man_MANS)
|
||||
|
||||
diff -up dhcp-4.3.1b1/server/Makefile.am.brGmwh dhcp-4.3.1b1/server/Makefile.am
|
||||
--- dhcp-4.3.1b1/server/Makefile.am.brGmwh 2014-07-02 19:58:39.000000000 +0200
|
||||
+++ dhcp-4.3.1b1/server/Makefile.am 2014-07-10 17:36:30.486250948 +0200
|
||||
@@ -13,10 +13,8 @@ dhcpd_SOURCES = dhcpd.c dhcp.c bootp.c c
|
||||
dhcpv6.c mdb6.c ldap.c ldap_casa.c
|
||||
|
||||
dhcpd_CFLAGS = $(LDAP_CFLAGS)
|
||||
-dhcpd_LDADD = ../common/libdhcp.a ../omapip/libomapi.a \
|
||||
- ../dhcpctl/libdhcpctl.a ../bind/lib/libirs.a \
|
||||
- ../bind/lib/libdns.a ../bind/lib/libisccfg.a ../bind/lib/libisc.a
|
||||
-
|
||||
+dhcpd_LDADD = ../common/libdhcp.a ../omapip/libomapi.a ../dhcpctl/libdhcpctl.a \
|
||||
+ $(BIND9_LIBDIR) -lirs -ldns -lisccfg -lisc
|
||||
man_MANS = dhcpd.8 dhcpd.conf.5 dhcpd.leases.5
|
||||
EXTRA_DIST = $(man_MANS)
|
||||
|
||||
diff -up dhcp-4.3.1b1/server/tests/Makefile.am.brGmwh dhcp-4.3.1b1/server/tests/Makefile.am
|
||||
--- dhcp-4.3.1b1/server/tests/Makefile.am.brGmwh 2014-07-02 19:58:40.000000000 +0200
|
||||
+++ dhcp-4.3.1b1/server/tests/Makefile.am 2014-07-10 17:36:30.486250948 +0200
|
||||
@@ -18,9 +18,8 @@ DHCPSRC = ../dhcp.c ../bootp.c ../confpa
|
||||
../ldap.c ../ldap_casa.c ../dhcpd.c
|
||||
|
||||
DHCPLIBS = $(top_builddir)/common/libdhcp.a $(top_builddir)/omapip/libomapi.a \
|
||||
- $(top_builddir)/dhcpctl/libdhcpctl.a $(top_builddir)/bind/lib/libirs.a \
|
||||
- $(top_builddir)/bind/lib/libdns.a $(top_builddir)/bind/lib/libisccfg.a \
|
||||
- $(top_builddir)/bind/lib/libisc.a
|
||||
+ $(top_builddir)/dhcpctl/libdhcpctl.a \
|
||||
+ $(BIND9_LIBDIR) -lirs -ldns -lisccfg -lisc
|
||||
|
||||
ATF_TESTS =
|
||||
TESTS =
|
||||
@@ -1,7 +1,7 @@
|
||||
diff -up dhcp-4.2.2b1/client/clparse.c.rfc3442 dhcp-4.2.2b1/client/clparse.c
|
||||
--- dhcp-4.2.2b1/client/clparse.c.rfc3442 2011-07-01 14:22:38.031534508 +0200
|
||||
+++ dhcp-4.2.2b1/client/clparse.c 2011-07-01 14:22:38.128532940 +0200
|
||||
@@ -37,7 +37,7 @@
|
||||
diff -up dhcp-4.3.0rc1/client/clparse.c.rfc3442 dhcp-4.3.0rc1/client/clparse.c
|
||||
--- dhcp-4.3.0rc1/client/clparse.c.rfc3442 2014-01-29 10:05:48.474400352 +0100
|
||||
+++ dhcp-4.3.0rc1/client/clparse.c 2014-01-29 10:05:48.517399955 +0100
|
||||
@@ -31,7 +31,7 @@
|
||||
|
||||
struct client_config top_level_config;
|
||||
|
||||
@@ -10,7 +10,7 @@ diff -up dhcp-4.2.2b1/client/clparse.c.rfc3442 dhcp-4.2.2b1/client/clparse.c
|
||||
struct option *default_requested_options[NUM_DEFAULT_REQUESTED_OPTS + 1];
|
||||
|
||||
static void parse_client_default_duid(struct parse *cfile);
|
||||
@@ -82,7 +82,11 @@ isc_result_t read_client_conf ()
|
||||
@@ -84,7 +84,11 @@ isc_result_t read_client_conf ()
|
||||
dhcp_universe.code_hash, &code, 0, MDL);
|
||||
|
||||
/* 4 */
|
||||
@@ -23,7 +23,7 @@ diff -up dhcp-4.2.2b1/client/clparse.c.rfc3442 dhcp-4.2.2b1/client/clparse.c
|
||||
option_code_hash_lookup(&default_requested_options[3],
|
||||
dhcp_universe.code_hash, &code, 0, MDL);
|
||||
|
||||
@@ -136,6 +140,11 @@ isc_result_t read_client_conf ()
|
||||
@@ -138,6 +142,11 @@ isc_result_t read_client_conf ()
|
||||
option_code_hash_lookup(&default_requested_options[13],
|
||||
dhcp_universe.code_hash, &code, 0, MDL);
|
||||
|
||||
@@ -35,10 +35,10 @@ diff -up dhcp-4.2.2b1/client/clparse.c.rfc3442 dhcp-4.2.2b1/client/clparse.c
|
||||
for (code = 0 ; code < NUM_DEFAULT_REQUESTED_OPTS ; code++) {
|
||||
if (default_requested_options[code] == NULL)
|
||||
log_fatal("Unable to find option definition for "
|
||||
diff -up dhcp-4.2.2b1/common/dhcp-options.5.rfc3442 dhcp-4.2.2b1/common/dhcp-options.5
|
||||
--- dhcp-4.2.2b1/common/dhcp-options.5.rfc3442 2011-07-01 14:22:38.020534686 +0200
|
||||
+++ dhcp-4.2.2b1/common/dhcp-options.5 2011-07-01 14:22:38.129532924 +0200
|
||||
@@ -115,6 +115,26 @@ hexadecimal, separated by colons. For
|
||||
diff -up dhcp-4.3.0rc1/common/dhcp-options.5.rfc3442 dhcp-4.3.0rc1/common/dhcp-options.5
|
||||
--- dhcp-4.3.0rc1/common/dhcp-options.5.rfc3442 2014-01-29 10:05:48.466400426 +0100
|
||||
+++ dhcp-4.3.0rc1/common/dhcp-options.5 2014-01-29 10:05:48.518399945 +0100
|
||||
@@ -111,6 +111,26 @@ hexadecimal, separated by colons. For e
|
||||
or
|
||||
option dhcp-client-identifier 43:4c:49:45:54:2d:46:4f:4f;
|
||||
.fi
|
||||
@@ -64,8 +64,8 @@ diff -up dhcp-4.2.2b1/common/dhcp-options.5.rfc3442 dhcp-4.2.2b1/common/dhcp-opt
|
||||
+.fi
|
||||
.SH SETTING OPTION VALUES USING EXPRESSIONS
|
||||
Sometimes it's helpful to be able to set the value of a DHCP option
|
||||
based on some value that the client has sent. To do this, you can
|
||||
@@ -931,6 +951,29 @@ dhclient-script will create routes:
|
||||
based on some value that the client has sent. To do this, you can
|
||||
@@ -972,6 +992,29 @@ dhclient-script will create routes:
|
||||
.RE
|
||||
.PP
|
||||
.nf
|
||||
@@ -95,10 +95,10 @@ diff -up dhcp-4.2.2b1/common/dhcp-options.5.rfc3442 dhcp-4.2.2b1/common/dhcp-opt
|
||||
.B option \fBstreettalk-directory-assistance-server\fR \fIip-address\fR
|
||||
[\fB,\fR \fIip-address\fR...]\fB;\fR
|
||||
.fi
|
||||
diff -up dhcp-4.2.2b1/common/inet.c.rfc3442 dhcp-4.2.2b1/common/inet.c
|
||||
--- dhcp-4.2.2b1/common/inet.c.rfc3442 2011-05-11 02:47:22.000000000 +0200
|
||||
+++ dhcp-4.2.2b1/common/inet.c 2011-07-01 14:22:38.130532908 +0200
|
||||
@@ -528,6 +528,60 @@ free_iaddrcidrnetlist(struct iaddrcidrne
|
||||
diff -up dhcp-4.3.0rc1/common/inet.c.rfc3442 dhcp-4.3.0rc1/common/inet.c
|
||||
--- dhcp-4.3.0rc1/common/inet.c.rfc3442 2014-01-26 19:40:44.000000000 +0100
|
||||
+++ dhcp-4.3.0rc1/common/inet.c 2014-01-29 10:05:48.519399936 +0100
|
||||
@@ -521,6 +521,60 @@ free_iaddrcidrnetlist(struct iaddrcidrne
|
||||
return ISC_R_SUCCESS;
|
||||
}
|
||||
|
||||
@@ -159,10 +159,10 @@ diff -up dhcp-4.2.2b1/common/inet.c.rfc3442 dhcp-4.2.2b1/common/inet.c
|
||||
/* piaddr() turns an iaddr structure into a printable address. */
|
||||
/* XXX: should use a const pointer rather than passing the structure */
|
||||
const char *
|
||||
diff -up dhcp-4.2.2b1/common/options.c.rfc3442 dhcp-4.2.2b1/common/options.c
|
||||
--- dhcp-4.2.2b1/common/options.c.rfc3442 2011-03-24 22:57:13.000000000 +0100
|
||||
+++ dhcp-4.2.2b1/common/options.c 2011-07-01 14:22:38.132532876 +0200
|
||||
@@ -706,7 +706,11 @@ cons_options(struct packet *inpacket, st
|
||||
diff -up dhcp-4.3.0rc1/common/options.c.rfc3442 dhcp-4.3.0rc1/common/options.c
|
||||
--- dhcp-4.3.0rc1/common/options.c.rfc3442 2014-01-26 19:40:44.000000000 +0100
|
||||
+++ dhcp-4.3.0rc1/common/options.c 2014-01-29 10:05:48.520399927 +0100
|
||||
@@ -707,7 +707,11 @@ cons_options(struct packet *inpacket, st
|
||||
* packet.
|
||||
*/
|
||||
priority_list[priority_len++] = DHO_SUBNET_MASK;
|
||||
@@ -175,15 +175,15 @@ diff -up dhcp-4.2.2b1/common/options.c.rfc3442 dhcp-4.2.2b1/common/options.c
|
||||
priority_list[priority_len++] = DHO_DOMAIN_NAME_SERVERS;
|
||||
priority_list[priority_len++] = DHO_HOST_NAME;
|
||||
priority_list[priority_len++] = DHO_FQDN;
|
||||
@@ -1683,6 +1687,7 @@ const char *pretty_print_option (option,
|
||||
const unsigned char *dp = data;
|
||||
char comma;
|
||||
@@ -1688,6 +1692,7 @@ const char *pretty_print_option (option,
|
||||
unsigned long tval;
|
||||
+ unsigned int octets = 0;
|
||||
isc_boolean_t a_array = ISC_FALSE;
|
||||
int len_used;
|
||||
+ unsigned int octets = 0;
|
||||
|
||||
if (emit_commas)
|
||||
comma = ',';
|
||||
@@ -1691,6 +1696,7 @@ const char *pretty_print_option (option,
|
||||
@@ -1696,6 +1701,7 @@ const char *pretty_print_option (option,
|
||||
|
||||
memset (enumbuf, 0, sizeof enumbuf);
|
||||
|
||||
@@ -191,7 +191,7 @@ diff -up dhcp-4.2.2b1/common/options.c.rfc3442 dhcp-4.2.2b1/common/options.c
|
||||
/* Figure out the size of the data. */
|
||||
for (l = i = 0; option -> format [i]; i++, l++) {
|
||||
if (l >= sizeof(fmtbuf) - 1)
|
||||
@@ -1840,6 +1846,33 @@ const char *pretty_print_option (option,
|
||||
@@ -1870,6 +1876,33 @@ const char *pretty_print_option (option,
|
||||
if (numhunk < 0)
|
||||
numhunk = 1;
|
||||
|
||||
@@ -224,8 +224,8 @@ diff -up dhcp-4.2.2b1/common/options.c.rfc3442 dhcp-4.2.2b1/common/options.c
|
||||
+
|
||||
/* Cycle through the array (or hunk) printing the data. */
|
||||
for (i = 0; i < numhunk; i++) {
|
||||
for (j = 0; j < numelem; j++) {
|
||||
@@ -1978,6 +2011,20 @@ const char *pretty_print_option (option,
|
||||
if ((a_array == ISC_TRUE) && (i != 0) && (numelem > 0)) {
|
||||
@@ -2025,6 +2058,20 @@ const char *pretty_print_option (option,
|
||||
strcpy(op, piaddr(iaddr));
|
||||
dp += 4;
|
||||
break;
|
||||
@@ -246,10 +246,10 @@ diff -up dhcp-4.2.2b1/common/options.c.rfc3442 dhcp-4.2.2b1/common/options.c
|
||||
case '6':
|
||||
iaddr.len = 16;
|
||||
memcpy(iaddr.iabuf, dp, 16);
|
||||
diff -up dhcp-4.2.2b1/common/parse.c.rfc3442 dhcp-4.2.2b1/common/parse.c
|
||||
--- dhcp-4.2.2b1/common/parse.c.rfc3442 2011-07-01 14:22:38.097533441 +0200
|
||||
+++ dhcp-4.2.2b1/common/parse.c 2011-07-01 14:22:38.135532828 +0200
|
||||
@@ -341,6 +341,39 @@ int parse_ip_addr (cfile, addr)
|
||||
diff -up dhcp-4.3.0rc1/common/parse.c.rfc3442 dhcp-4.3.0rc1/common/parse.c
|
||||
--- dhcp-4.3.0rc1/common/parse.c.rfc3442 2014-01-29 10:05:48.491400195 +0100
|
||||
+++ dhcp-4.3.0rc1/common/parse.c 2014-01-29 10:05:48.522399908 +0100
|
||||
@@ -335,6 +335,39 @@ int parse_ip_addr (cfile, addr)
|
||||
}
|
||||
|
||||
/*
|
||||
@@ -289,7 +289,7 @@ diff -up dhcp-4.2.2b1/common/parse.c.rfc3442 dhcp-4.2.2b1/common/parse.c
|
||||
* Return true if every character in the string is hexadecimal.
|
||||
*/
|
||||
static int
|
||||
@@ -700,8 +733,10 @@ unsigned char *parse_numeric_aggregate (
|
||||
@@ -713,8 +746,10 @@ unsigned char *parse_numeric_aggregate (
|
||||
if (count) {
|
||||
token = peek_token (&val, (unsigned *)0, cfile);
|
||||
if (token != separator) {
|
||||
@@ -301,7 +301,7 @@ diff -up dhcp-4.2.2b1/common/parse.c.rfc3442 dhcp-4.2.2b1/common/parse.c
|
||||
if (token != RBRACE && token != LBRACE)
|
||||
token = next_token (&val,
|
||||
(unsigned *)0,
|
||||
@@ -1624,6 +1659,9 @@ int parse_option_code_definition (cfile,
|
||||
@@ -1654,6 +1689,9 @@ int parse_option_code_definition (cfile,
|
||||
case IP_ADDRESS:
|
||||
type = 'I';
|
||||
break;
|
||||
@@ -311,7 +311,7 @@ diff -up dhcp-4.2.2b1/common/parse.c.rfc3442 dhcp-4.2.2b1/common/parse.c
|
||||
case IP6_ADDRESS:
|
||||
type = '6';
|
||||
break;
|
||||
@@ -5288,6 +5326,15 @@ int parse_option_token (rv, cfile, fmt,
|
||||
@@ -5071,6 +5109,15 @@ int parse_option_token (rv, cfile, fmt,
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -327,7 +327,7 @@ diff -up dhcp-4.2.2b1/common/parse.c.rfc3442 dhcp-4.2.2b1/common/parse.c
|
||||
case '6': /* IPv6 address. */
|
||||
if (!parse_ip6_addr(cfile, &addr)) {
|
||||
return 0;
|
||||
@@ -5548,6 +5595,13 @@ int parse_option_decl (oc, cfile)
|
||||
@@ -5348,6 +5395,13 @@ int parse_option_decl (oc, cfile)
|
||||
goto exit;
|
||||
len = ip_addr.len;
|
||||
dp = ip_addr.iabuf;
|
||||
@@ -341,10 +341,10 @@ diff -up dhcp-4.2.2b1/common/parse.c.rfc3442 dhcp-4.2.2b1/common/parse.c
|
||||
|
||||
alloc:
|
||||
if (hunkix + len > sizeof hunkbuf) {
|
||||
diff -up dhcp-4.2.2b1/common/tables.c.rfc3442 dhcp-4.2.2b1/common/tables.c
|
||||
--- dhcp-4.2.2b1/common/tables.c.rfc3442 2011-07-01 14:22:38.087533601 +0200
|
||||
+++ dhcp-4.2.2b1/common/tables.c 2011-07-01 14:22:38.137532796 +0200
|
||||
@@ -51,6 +51,7 @@ HASH_FUNCTIONS (option_code, const unsig
|
||||
diff -up dhcp-4.3.0rc1/common/tables.c.rfc3442 dhcp-4.3.0rc1/common/tables.c
|
||||
--- dhcp-4.3.0rc1/common/tables.c.rfc3442 2014-01-29 10:05:48.485400250 +0100
|
||||
+++ dhcp-4.3.0rc1/common/tables.c 2014-01-29 10:06:25.724038563 +0100
|
||||
@@ -46,6 +46,7 @@ HASH_FUNCTIONS (option_code, const unsig
|
||||
Format codes:
|
||||
|
||||
I - IPv4 address
|
||||
@@ -352,18 +352,18 @@ diff -up dhcp-4.2.2b1/common/tables.c.rfc3442 dhcp-4.2.2b1/common/tables.c
|
||||
6 - IPv6 address
|
||||
l - 32-bit signed integer
|
||||
L - 32-bit unsigned integer
|
||||
@@ -208,6 +209,7 @@ static struct option dhcp_options[] = {
|
||||
{ "default-url", "t", &dhcp_universe, 114, 1 },
|
||||
@@ -214,6 +215,7 @@ static struct option dhcp_options[] = {
|
||||
#endif
|
||||
{ "subnet-selection", "I", &dhcp_universe, 118, 1 },
|
||||
{ "domain-search", "D", &dhcp_universe, 119, 1 },
|
||||
{ "domain-search", "D", &dhcp_universe, 119, 1 },
|
||||
+ { "classless-static-routes", "RIA", &dhcp_universe, 121, 1 },
|
||||
{ "vivco", "Evendor-class.", &dhcp_universe, 124, 1 },
|
||||
{ "vivso", "Evendor.", &dhcp_universe, 125, 1 },
|
||||
#if 0
|
||||
diff -up dhcp-4.2.2b1/includes/dhcpd.h.rfc3442 dhcp-4.2.2b1/includes/dhcpd.h
|
||||
--- dhcp-4.2.2b1/includes/dhcpd.h.rfc3442 2011-07-01 14:22:38.000000000 +0200
|
||||
+++ dhcp-4.2.2b1/includes/dhcpd.h 2011-07-01 14:24:19.999810333 +0200
|
||||
@@ -2662,6 +2662,7 @@ isc_result_t range2cidr(struct iaddrcidr
|
||||
diff -up dhcp-4.3.0rc1/includes/dhcpd.h.rfc3442 dhcp-4.3.0rc1/includes/dhcpd.h
|
||||
--- dhcp-4.3.0rc1/includes/dhcpd.h.rfc3442 2014-01-29 10:05:48.470400389 +0100
|
||||
+++ dhcp-4.3.0rc1/includes/dhcpd.h 2014-01-29 10:05:48.525399881 +0100
|
||||
@@ -2725,6 +2725,7 @@ isc_result_t range2cidr(struct iaddrcidr
|
||||
const struct iaddr *lo, const struct iaddr *hi);
|
||||
isc_result_t free_iaddrcidrnetlist(struct iaddrcidrnetlist **result);
|
||||
const char *piaddr (struct iaddr);
|
||||
@@ -371,7 +371,7 @@ diff -up dhcp-4.2.2b1/includes/dhcpd.h.rfc3442 dhcp-4.2.2b1/includes/dhcpd.h
|
||||
char *piaddrmask(struct iaddr *, struct iaddr *);
|
||||
char *piaddrcidr(const struct iaddr *, unsigned int);
|
||||
u_int16_t validate_port(char *);
|
||||
@@ -2869,6 +2870,7 @@ void parse_client_lease_declaration (str
|
||||
@@ -2934,6 +2935,7 @@ void parse_client_lease_declaration (str
|
||||
int parse_option_decl (struct option_cache **, struct parse *);
|
||||
void parse_string_list (struct parse *, struct string_list **, int);
|
||||
int parse_ip_addr (struct parse *, struct iaddr *);
|
||||
@@ -379,10 +379,10 @@ diff -up dhcp-4.2.2b1/includes/dhcpd.h.rfc3442 dhcp-4.2.2b1/includes/dhcpd.h
|
||||
int parse_ip_addr_with_subnet(struct parse *, struct iaddrmatch *);
|
||||
void parse_reject_statement (struct parse *, struct client_config *);
|
||||
|
||||
diff -up dhcp-4.2.2b1/includes/dhcp.h.rfc3442 dhcp-4.2.2b1/includes/dhcp.h
|
||||
--- dhcp-4.2.2b1/includes/dhcp.h.rfc3442 2009-11-20 02:49:01.000000000 +0100
|
||||
+++ dhcp-4.2.2b1/includes/dhcp.h 2011-07-01 14:22:38.145532665 +0200
|
||||
@@ -158,6 +158,7 @@ struct dhcp_packet {
|
||||
diff -up dhcp-4.3.0rc1/includes/dhcp.h.rfc3442 dhcp-4.3.0rc1/includes/dhcp.h
|
||||
--- dhcp-4.3.0rc1/includes/dhcp.h.rfc3442 2014-01-26 19:40:44.000000000 +0100
|
||||
+++ dhcp-4.3.0rc1/includes/dhcp.h 2014-01-29 10:05:48.524399890 +0100
|
||||
@@ -159,6 +159,7 @@ struct dhcp_packet {
|
||||
#define DHO_ASSOCIATED_IP 92
|
||||
#define DHO_SUBNET_SELECTION 118 /* RFC3011! */
|
||||
#define DHO_DOMAIN_SEARCH 119 /* RFC3397 */
|
||||
@@ -390,16 +390,16 @@ diff -up dhcp-4.2.2b1/includes/dhcp.h.rfc3442 dhcp-4.2.2b1/includes/dhcp.h
|
||||
#define DHO_VIVCO_SUBOPTIONS 124
|
||||
#define DHO_VIVSO_SUBOPTIONS 125
|
||||
|
||||
diff -up dhcp-4.2.2b1/includes/dhctoken.h.rfc3442 dhcp-4.2.2b1/includes/dhctoken.h
|
||||
--- dhcp-4.2.2b1/includes/dhctoken.h.rfc3442 2011-07-01 14:22:37.000000000 +0200
|
||||
+++ dhcp-4.2.2b1/includes/dhctoken.h 2011-07-01 14:25:12.541867623 +0200
|
||||
@@ -362,7 +362,8 @@ enum dhcp_token {
|
||||
REWIND = 663,
|
||||
INITIAL_DELAY = 664,
|
||||
GETHOSTBYNAME = 665,
|
||||
- BOOTP_BROADCAST_ALWAYS = 666
|
||||
+ BOOTP_BROADCAST_ALWAYS = 666,
|
||||
+ DESTINATION_DESCRIPTOR = 667
|
||||
diff -up dhcp-4.3.0rc1/includes/dhctoken.h.rfc3442 dhcp-4.3.0rc1/includes/dhctoken.h
|
||||
--- dhcp-4.3.0rc1/includes/dhctoken.h.rfc3442 2014-01-29 10:05:48.435400713 +0100
|
||||
+++ dhcp-4.3.0rc1/includes/dhctoken.h 2014-01-29 10:05:48.526399871 +0100
|
||||
@@ -368,7 +368,8 @@ enum dhcp_token {
|
||||
POOL6 = 669,
|
||||
V6RELAY = 670,
|
||||
V6RELOPT = 671,
|
||||
- BOOTP_BROADCAST_ALWAYS = 672
|
||||
+ BOOTP_BROADCAST_ALWAYS = 672,
|
||||
+ DESTINATION_DESCRIPTOR = 673
|
||||
};
|
||||
|
||||
#define is_identifier(x) ((x) >= FIRST_TOKEN && \
|
||||
@@ -1,7 +1,7 @@
|
||||
diff -up dhcp-4.2.1-P1/client/dhc6.c.sendDecline dhcp-4.2.1-P1/client/dhc6.c
|
||||
--- dhcp-4.2.1-P1/client/dhc6.c.sendDecline 2010-09-10 22:27:11.000000000 +0200
|
||||
+++ dhcp-4.2.1-P1/client/dhc6.c 2011-06-17 14:19:48.992099868 +0200
|
||||
@@ -95,6 +95,8 @@ void do_select6(void *input);
|
||||
diff -up dhcp-4.3.0a1/client/dhc6.c.sendDecline dhcp-4.3.0a1/client/dhc6.c
|
||||
--- dhcp-4.3.0a1/client/dhc6.c.sendDecline 2013-12-11 01:25:12.000000000 +0100
|
||||
+++ dhcp-4.3.0a1/client/dhc6.c 2013-12-19 15:56:18.297660118 +0100
|
||||
@@ -96,6 +96,8 @@ void do_select6(void *input);
|
||||
void do_refresh6(void *input);
|
||||
static void do_release6(void *input);
|
||||
static void start_bound(struct client_state *client);
|
||||
@@ -10,7 +10,7 @@ diff -up dhcp-4.2.1-P1/client/dhc6.c.sendDecline dhcp-4.2.1-P1/client/dhc6.c
|
||||
static void start_informed(struct client_state *client);
|
||||
void informed_handler(struct packet *packet, struct client_state *client);
|
||||
void bound_handler(struct packet *packet, struct client_state *client);
|
||||
@@ -2075,6 +2077,7 @@ start_release6(struct client_state *clie
|
||||
@@ -2017,6 +2019,7 @@ start_release6(struct client_state *clie
|
||||
cancel_timeout(do_select6, client);
|
||||
cancel_timeout(do_refresh6, client);
|
||||
cancel_timeout(do_release6, client);
|
||||
@@ -18,7 +18,7 @@ diff -up dhcp-4.2.1-P1/client/dhc6.c.sendDecline dhcp-4.2.1-P1/client/dhc6.c
|
||||
client->state = S_STOPPED;
|
||||
|
||||
/*
|
||||
@@ -2708,6 +2711,7 @@ dhc6_check_reply(struct client_state *cl
|
||||
@@ -2650,6 +2653,7 @@ dhc6_check_reply(struct client_state *cl
|
||||
break;
|
||||
|
||||
case S_STOPPED:
|
||||
@@ -26,7 +26,7 @@ diff -up dhcp-4.2.1-P1/client/dhc6.c.sendDecline dhcp-4.2.1-P1/client/dhc6.c
|
||||
action = dhc6_stop_action;
|
||||
break;
|
||||
|
||||
@@ -2809,6 +2813,7 @@ dhc6_check_reply(struct client_state *cl
|
||||
@@ -2751,6 +2755,7 @@ dhc6_check_reply(struct client_state *cl
|
||||
break;
|
||||
|
||||
case S_STOPPED:
|
||||
@@ -34,7 +34,7 @@ diff -up dhcp-4.2.1-P1/client/dhc6.c.sendDecline dhcp-4.2.1-P1/client/dhc6.c
|
||||
/* Nothing critical to do at this stage. */
|
||||
break;
|
||||
|
||||
@@ -3799,17 +3804,23 @@ reply_handler(struct packet *packet, str
|
||||
@@ -3741,17 +3746,23 @@ reply_handler(struct packet *packet, str
|
||||
cancel_timeout(do_select6, client);
|
||||
cancel_timeout(do_refresh6, client);
|
||||
cancel_timeout(do_release6, client);
|
||||
@@ -66,9 +66,9 @@ diff -up dhcp-4.2.1-P1/client/dhc6.c.sendDecline dhcp-4.2.1-P1/client/dhc6.c
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -4336,7 +4347,11 @@ start_bound(struct client_state *client)
|
||||
oldia, oldaddr);
|
||||
@@ -4279,7 +4290,11 @@ start_bound(struct client_state *client)
|
||||
dhc6_marshall_values("new_", client, lease, ia, addr);
|
||||
script_write_requested6(client);
|
||||
|
||||
- script_go(client);
|
||||
+ // when script returns 3, DAD failed
|
||||
@@ -79,7 +79,7 @@ diff -up dhcp-4.2.1-P1/client/dhc6.c.sendDecline dhcp-4.2.1-P1/client/dhc6.c
|
||||
}
|
||||
|
||||
/* XXX: maybe we should loop on the old values instead? */
|
||||
@@ -4382,6 +4397,149 @@ start_bound(struct client_state *client)
|
||||
@@ -4327,6 +4342,149 @@ start_bound(struct client_state *client)
|
||||
dhc6_check_times(client);
|
||||
}
|
||||
|
||||
107
src/patches/dhcp/dhcp-sharedlib.patch
Normal file
107
src/patches/dhcp/dhcp-sharedlib.patch
Normal file
@@ -0,0 +1,107 @@
|
||||
diff -up dhcp-4.3.1b1/common/tests/Makefile.am.uCWMBl dhcp-4.3.1b1/common/tests/Makefile.am
|
||||
--- dhcp-4.3.1b1/common/tests/Makefile.am.uCWMBl 2014-07-10 17:38:10.779828569 +0200
|
||||
+++ dhcp-4.3.1b1/common/tests/Makefile.am 2014-07-10 17:38:21.355678580 +0200
|
||||
@@ -13,19 +13,19 @@ ATF_TESTS += alloc_unittest dns_unittest
|
||||
alloc_unittest_SOURCES = test_alloc.c $(top_srcdir)/tests/t_api_dhcp.c
|
||||
alloc_unittest_LDADD = $(ATF_LDFLAGS)
|
||||
alloc_unittest_LDADD += ../libdhcp.a \
|
||||
- ../../omapip/libomapi.a \
|
||||
+ ../../omapip/libomapi.la \
|
||||
$(BIND9_LIBDIR) -lirs -ldns -lisccfg -lisc
|
||||
|
||||
dns_unittest_SOURCES = dns_unittest.c $(top_srcdir)/tests/t_api_dhcp.c
|
||||
dns_unittest_LDADD = $(ATF_LDFLAGS)
|
||||
-dns_unittest_LDADD += ../libdhcp.a \
|
||||
+dns_unittest_LDADD += ../libdhcp.la \
|
||||
../../omapip/libomapi.a \
|
||||
$(BIND9_LIBDIR) -lirs -ldns -lisccfg -lisc
|
||||
|
||||
misc_unittest_SOURCES = misc_unittest.c $(top_srcdir)/tests/t_api_dhcp.c
|
||||
misc_unittest_LDADD = $(ATF_LDFLAGS)
|
||||
misc_unittest_LDADD += ../libdhcp.a \
|
||||
- ../../omapip/libomapi.a \
|
||||
+ ../../omapip/libomapi.la \
|
||||
$(BIND9_LIBDIR) -lirs -ldns -lisccfg -lisc
|
||||
check: $(ATF_TESTS)
|
||||
atf-run | atf-report
|
||||
diff -up dhcp-4.3.1b1/configure.ac.uCWMBl dhcp-4.3.1b1/configure.ac
|
||||
--- dhcp-4.3.1b1/configure.ac.uCWMBl 2014-07-10 17:38:10.766828753 +0200
|
||||
+++ dhcp-4.3.1b1/configure.ac 2014-07-10 17:38:10.779828569 +0200
|
||||
@@ -39,7 +39,8 @@ fi
|
||||
# Use this to define _GNU_SOURCE to pull in the IPv6 Advanced Socket API.
|
||||
AC_USE_SYSTEM_EXTENSIONS
|
||||
|
||||
-AC_PROG_RANLIB
|
||||
+# Use libtool to simplify building of shared libraries
|
||||
+AC_PROG_LIBTOOL
|
||||
AC_CONFIG_HEADERS([includes/config.h])
|
||||
|
||||
# we sometimes need to know byte order for building packets
|
||||
diff -up dhcp-4.3.1b1/dhcpctl/Makefile.am.uCWMBl dhcp-4.3.1b1/dhcpctl/Makefile.am
|
||||
--- dhcp-4.3.1b1/dhcpctl/Makefile.am.uCWMBl 2014-07-10 17:36:30.485250962 +0200
|
||||
+++ dhcp-4.3.1b1/dhcpctl/Makefile.am 2014-07-10 17:38:10.780828554 +0200
|
||||
@@ -1,14 +1,14 @@
|
||||
bin_PROGRAMS = omshell
|
||||
-lib_LIBRARIES = libdhcpctl.a
|
||||
+lib_LTLIBRARIES = libdhcpctl.la
|
||||
noinst_PROGRAMS = cltest
|
||||
man_MANS = omshell.1 dhcpctl.3
|
||||
EXTRA_DIST = $(man_MANS)
|
||||
|
||||
omshell_SOURCES = omshell.c
|
||||
-omshell_LDADD = libdhcpctl.a ../common/libdhcp.a ../omapip/libomapi.a \
|
||||
+omshell_LDADD = libdhcpctl.la ../common/libdhcp.a ../omapip/libomapi.la \
|
||||
$(BIND9_LIBDIR) -lirs -ldns -lisccfg -lisc
|
||||
-libdhcpctl_a_SOURCES = dhcpctl.c callback.c remote.c
|
||||
+libdhcpctl_la_SOURCES = dhcpctl.c callback.c remote.c
|
||||
|
||||
cltest_SOURCES = cltest.c
|
||||
-cltest_LDADD = libdhcpctl.a ../common/libdhcp.a ../omapip/libomapi.a \
|
||||
+cltest_LDADD = libdhcpctl.la ../common/libdhcp.a ../omapip/libomapi.la \
|
||||
$(BIND9_LIBDIR) -lirs -ldns -lisccfg -lisc
|
||||
diff -up dhcp-4.3.1b1/omapip/Makefile.am.uCWMBl dhcp-4.3.1b1/omapip/Makefile.am
|
||||
--- dhcp-4.3.1b1/omapip/Makefile.am.uCWMBl 2014-07-10 17:36:30.486250948 +0200
|
||||
+++ dhcp-4.3.1b1/omapip/Makefile.am 2014-07-10 17:38:10.780828554 +0200
|
||||
@@ -1,7 +1,7 @@
|
||||
-lib_LIBRARIES = libomapi.a
|
||||
+lib_LTLIBRARIES = libomapi.la
|
||||
noinst_PROGRAMS = svtest
|
||||
|
||||
-libomapi_a_SOURCES = protocol.c buffer.c alloc.c result.c connection.c \
|
||||
+libomapi_la_SOURCES = protocol.c buffer.c alloc.c result.c connection.c \
|
||||
errwarn.c listener.c dispatch.c generic.c support.c \
|
||||
handle.c message.c convert.c hash.c auth.c inet_addr.c \
|
||||
array.c trace.c toisc.c iscprint.c isclib.c
|
||||
@@ -10,5 +10,5 @@ man_MANS = omapi.3
|
||||
EXTRA_DIST = $(man_MANS)
|
||||
|
||||
svtest_SOURCES = test.c
|
||||
-svtest_LDADD = libomapi.a \
|
||||
+svtest_LDADD = libomapi.la \
|
||||
$(BIND9_LIBDIR) -lirs -ldns -lisccfg -lisc
|
||||
diff -up dhcp-4.3.1b1/server/Makefile.am.uCWMBl dhcp-4.3.1b1/server/Makefile.am
|
||||
--- dhcp-4.3.1b1/server/Makefile.am.uCWMBl 2014-07-10 17:36:30.486250948 +0200
|
||||
+++ dhcp-4.3.1b1/server/Makefile.am 2014-07-10 17:38:10.780828554 +0200
|
||||
@@ -13,7 +13,7 @@ dhcpd_SOURCES = dhcpd.c dhcp.c bootp.c c
|
||||
dhcpv6.c mdb6.c ldap.c ldap_casa.c
|
||||
|
||||
dhcpd_CFLAGS = $(LDAP_CFLAGS)
|
||||
-dhcpd_LDADD = ../common/libdhcp.a ../omapip/libomapi.a ../dhcpctl/libdhcpctl.a \
|
||||
+dhcpd_LDADD = ../common/libdhcp.a ../omapip/libomapi.la ../dhcpctl/libdhcpctl.la \
|
||||
$(BIND9_LIBDIR) -lirs -ldns -lisccfg -lisc
|
||||
man_MANS = dhcpd.8 dhcpd.conf.5 dhcpd.leases.5
|
||||
EXTRA_DIST = $(man_MANS)
|
||||
diff -up dhcp-4.3.1b1/server/tests/Makefile.am.uCWMBl dhcp-4.3.1b1/server/tests/Makefile.am
|
||||
--- dhcp-4.3.1b1/server/tests/Makefile.am.uCWMBl 2014-07-10 17:36:30.486250948 +0200
|
||||
+++ dhcp-4.3.1b1/server/tests/Makefile.am 2014-07-10 17:38:10.780828554 +0200
|
||||
@@ -17,8 +17,8 @@ DHCPSRC = ../dhcp.c ../bootp.c ../confpa
|
||||
../ddns.c ../dhcpleasequery.c ../dhcpv6.c ../mdb6.c \
|
||||
../ldap.c ../ldap_casa.c ../dhcpd.c
|
||||
|
||||
-DHCPLIBS = $(top_builddir)/common/libdhcp.a $(top_builddir)/omapip/libomapi.a \
|
||||
- $(top_builddir)/dhcpctl/libdhcpctl.a \
|
||||
+DHCPLIBS = $(top_builddir)/common/libdhcp.a $(top_builddir)/omapip/libomapi.la \
|
||||
+ $(top_builddir)/dhcpctl/libdhcpctl.la \
|
||||
$(BIND9_LIBDIR) -lirs -ldns -lisccfg -lisc
|
||||
|
||||
ATF_TESTS =
|
||||
48
src/patches/dhcp/dhcp-stateless-DUID-LLT.patch
Normal file
48
src/patches/dhcp/dhcp-stateless-DUID-LLT.patch
Normal file
@@ -0,0 +1,48 @@
|
||||
From 61fa3dd9e789997f66e848c7e3fb2f554ee374e2 Mon Sep 17 00:00:00 2001
|
||||
From: Jiri Popelka <jpopelka@redhat.com>
|
||||
Date: Thu, 18 Dec 2014 11:53:26 +0100
|
||||
Subject: [PATCH] Write DUID_LLT even in stateless mode.
|
||||
|
||||
By default, DHCPv6 dhclient creates DUID-LL
|
||||
if it is running in stateless mode (-6 -S) and
|
||||
doesn't write it into leases file, most likely
|
||||
because the DUID-LL is always generated the same.
|
||||
|
||||
It's however possible to specify DUID to be of type LLT instead of LL
|
||||
with '-D LLT'. Rfc 3315 says that:
|
||||
'Clients and servers using this type of DUID MUST
|
||||
store the DUID-LLT in stable storage.'
|
||||
That's not fulfiled in this case (-6 -S -D LLT),
|
||||
because it's generated each time again.
|
||||
|
||||
It's not a big deal because the server doesn't store any
|
||||
info about 'stateless' clients, so it doesn't matter
|
||||
that the DUID-LLT is different each time.
|
||||
But there's a TAHI test which tests this, i.e. that
|
||||
DUID-LLT is still the same even in stateless mode.
|
||||
It's a test DHCP_CONF.7.1.9, part B.
|
||||
https://www.ipv6ready.org/docs/Phase2_DHCPv6_Conformance_Latest.pdf
|
||||
|
||||
Signed-off-by: Jiri Popelka <jpopelka@redhat.com>
|
||||
---
|
||||
client/dhclient.c | 4 +++-
|
||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/client/dhclient.c b/client/dhclient.c
|
||||
index 5ef59cd..026e3fe 100644
|
||||
--- a/client/dhclient.c
|
||||
+++ b/client/dhclient.c
|
||||
@@ -788,7 +788,9 @@ void run_stateless(int exit_mode)
|
||||
if (default_duid.buffer != NULL)
|
||||
data_string_forget(&default_duid, MDL);
|
||||
|
||||
- form_duid(&default_duid, MDL);
|
||||
+ if (form_duid(&default_duid, MDL) == ISC_R_SUCCESS &&
|
||||
+ duid_type == DUID_LLT)
|
||||
+ write_duid(&default_duid);
|
||||
}
|
||||
|
||||
/* Start a configuration state machine. */
|
||||
--
|
||||
2.1.0
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
diff -up dhcp-4.2.0/server/bootp.c.unicast dhcp-4.2.0/server/bootp.c
|
||||
--- dhcp-4.2.0/server/bootp.c.unicast 2009-11-20 02:49:03.000000000 +0100
|
||||
+++ dhcp-4.2.0/server/bootp.c 2010-07-21 13:40:25.000000000 +0200
|
||||
@@ -58,6 +58,7 @@ void bootp (packet)
|
||||
diff -up dhcp-4.3.0a1/server/bootp.c.unicast dhcp-4.3.0a1/server/bootp.c
|
||||
--- dhcp-4.3.0a1/server/bootp.c.unicast 2013-12-11 01:25:12.000000000 +0100
|
||||
+++ dhcp-4.3.0a1/server/bootp.c 2013-12-19 15:12:12.974671154 +0100
|
||||
@@ -59,6 +59,7 @@ void bootp (packet)
|
||||
char msgbuf [1024];
|
||||
int ignorep;
|
||||
int peer_has_leases = 0;
|
||||
@@ -9,7 +9,7 @@ diff -up dhcp-4.2.0/server/bootp.c.unicast dhcp-4.2.0/server/bootp.c
|
||||
|
||||
if (packet -> raw -> op != BOOTREQUEST)
|
||||
return;
|
||||
@@ -73,7 +74,7 @@ void bootp (packet)
|
||||
@@ -74,7 +75,7 @@ void bootp (packet)
|
||||
? inet_ntoa (packet -> raw -> giaddr)
|
||||
: packet -> interface -> name);
|
||||
|
||||
@@ -18,24 +18,26 @@ diff -up dhcp-4.2.0/server/bootp.c.unicast dhcp-4.2.0/server/bootp.c
|
||||
log_info ("%s: network unknown", msgbuf);
|
||||
return;
|
||||
}
|
||||
@@ -390,6 +391,13 @@ void bootp (packet)
|
||||
from, &to, &hto);
|
||||
@@ -396,6 +397,15 @@ void bootp (packet)
|
||||
|
||||
goto out;
|
||||
}
|
||||
+ } else if (norelay == 2) {
|
||||
+ to.sin_addr = raw.ciaddr;
|
||||
+ to.sin_port = remote_port;
|
||||
+ if (fallback_interface) {
|
||||
+ result = send_packet (fallback_interface, (struct packet *)0, &raw, outgoing.packet_length, from, &to, &hto);
|
||||
+ result = send_packet (fallback_interface, NULL, &raw,
|
||||
+ outgoing.packet_length, from,
|
||||
+ &to, &hto);
|
||||
+ goto out;
|
||||
+ }
|
||||
|
||||
/* If it comes from a client that already knows its address
|
||||
and is not requesting a broadcast response, and we can
|
||||
diff -up dhcp-4.2.0/server/dhcp.c.unicast dhcp-4.2.0/server/dhcp.c
|
||||
--- dhcp-4.2.0/server/dhcp.c.unicast 2010-06-01 19:29:59.000000000 +0200
|
||||
+++ dhcp-4.2.0/server/dhcp.c 2010-07-21 13:40:25.000000000 +0200
|
||||
@@ -4185,6 +4185,7 @@ int locate_network (packet)
|
||||
diff -up dhcp-4.3.0a1/server/dhcp.c.unicast dhcp-4.3.0a1/server/dhcp.c
|
||||
--- dhcp-4.3.0a1/server/dhcp.c.unicast 2013-12-13 21:50:38.000000000 +0100
|
||||
+++ dhcp-4.3.0a1/server/dhcp.c 2013-12-19 15:12:12.975671140 +0100
|
||||
@@ -4627,6 +4627,7 @@ int locate_network (packet)
|
||||
struct data_string data;
|
||||
struct subnet *subnet = (struct subnet *)0;
|
||||
struct option_cache *oc;
|
||||
@@ -43,7 +45,7 @@ diff -up dhcp-4.2.0/server/dhcp.c.unicast dhcp-4.2.0/server/dhcp.c
|
||||
|
||||
/* See if there's a Relay Agent Link Selection Option, or a
|
||||
* Subnet Selection Option. The Link-Select and Subnet-Select
|
||||
@@ -4200,12 +4201,24 @@ int locate_network (packet)
|
||||
@@ -4642,12 +4643,24 @@ int locate_network (packet)
|
||||
from the interface, if there is one. If not, fail. */
|
||||
if (!oc && !packet -> raw -> giaddr.s_addr) {
|
||||
if (packet -> interface -> shared_network) {
|
||||
@@ -73,7 +75,7 @@ diff -up dhcp-4.2.0/server/dhcp.c.unicast dhcp-4.2.0/server/dhcp.c
|
||||
}
|
||||
|
||||
/* If there's an option indicating link connection, and it's valid,
|
||||
@@ -4228,7 +4241,10 @@ int locate_network (packet)
|
||||
@@ -4670,7 +4683,10 @@ int locate_network (packet)
|
||||
data_string_forget (&data, MDL);
|
||||
} else {
|
||||
ia.len = 4;
|
||||
@@ -85,7 +87,7 @@ diff -up dhcp-4.2.0/server/dhcp.c.unicast dhcp-4.2.0/server/dhcp.c
|
||||
}
|
||||
|
||||
/* If we know the subnet on which the IP address lives, use it. */
|
||||
@@ -4236,7 +4252,10 @@ int locate_network (packet)
|
||||
@@ -4678,7 +4694,10 @@ int locate_network (packet)
|
||||
shared_network_reference (&packet -> shared_network,
|
||||
subnet -> shared_network, MDL);
|
||||
subnet_dereference (&subnet, MDL);
|
||||
@@ -1,19 +1,19 @@
|
||||
diff -up dhcp-4.2.2b1/common/bpf.c.xen dhcp-4.2.2b1/common/bpf.c
|
||||
--- dhcp-4.2.2b1/common/bpf.c.xen 2009-11-20 02:48:59.000000000 +0100
|
||||
+++ dhcp-4.2.2b1/common/bpf.c 2011-07-01 14:00:16.936959001 +0200
|
||||
@@ -485,7 +485,7 @@ ssize_t receive_packet (interface, buf,
|
||||
offset = decode_udp_ip_header (interface,
|
||||
interface -> rbuf,
|
||||
interface -> rbuf_offset,
|
||||
diff -up dhcp-4.3.0rc1/common/bpf.c.xen dhcp-4.3.0rc1/common/bpf.c
|
||||
--- dhcp-4.3.0rc1/common/bpf.c.xen 2014-01-29 10:03:27.503941664 +0100
|
||||
+++ dhcp-4.3.0rc1/common/bpf.c 2014-01-29 10:03:37.564812175 +0100
|
||||
@@ -481,7 +481,7 @@ ssize_t receive_packet (interface, buf,
|
||||
/* Decode the IP and UDP headers... */
|
||||
offset = decode_udp_ip_header(interface, interface->rbuf,
|
||||
interface->rbuf_offset,
|
||||
- from, hdr.bh_caplen, &paylen);
|
||||
+ from, hdr.bh_caplen, &paylen, 0);
|
||||
|
||||
/* If the IP or UDP checksum was bad, skip the packet... */
|
||||
if (offset < 0) {
|
||||
diff -up dhcp-4.2.2b1/common/dlpi.c.xen dhcp-4.2.2b1/common/dlpi.c
|
||||
--- dhcp-4.2.2b1/common/dlpi.c.xen 2011-05-11 16:20:59.000000000 +0200
|
||||
+++ dhcp-4.2.2b1/common/dlpi.c 2011-07-01 14:00:16.937958997 +0200
|
||||
@@ -693,7 +693,7 @@ ssize_t receive_packet (interface, buf,
|
||||
diff -up dhcp-4.3.0rc1/common/dlpi.c.xen dhcp-4.3.0rc1/common/dlpi.c
|
||||
--- dhcp-4.3.0rc1/common/dlpi.c.xen 2014-01-25 05:18:03.000000000 +0100
|
||||
+++ dhcp-4.3.0rc1/common/dlpi.c 2014-01-29 10:03:27.503941664 +0100
|
||||
@@ -691,7 +691,7 @@ ssize_t receive_packet (interface, buf,
|
||||
length -= offset;
|
||||
#endif
|
||||
offset = decode_udp_ip_header (interface, dbuf, bufix,
|
||||
@@ -22,13 +22,13 @@ diff -up dhcp-4.2.2b1/common/dlpi.c.xen dhcp-4.2.2b1/common/dlpi.c
|
||||
|
||||
/*
|
||||
* If the IP or UDP checksum was bad, skip the packet...
|
||||
diff -up dhcp-4.2.2b1/common/lpf.c.xen dhcp-4.2.2b1/common/lpf.c
|
||||
--- dhcp-4.2.2b1/common/lpf.c.xen 2011-05-10 16:38:58.000000000 +0200
|
||||
+++ dhcp-4.2.2b1/common/lpf.c 2011-07-01 14:11:24.725748028 +0200
|
||||
@@ -29,19 +29,33 @@
|
||||
diff -up dhcp-4.3.0rc1/common/lpf.c.xen dhcp-4.3.0rc1/common/lpf.c
|
||||
--- dhcp-4.3.0rc1/common/lpf.c.xen 2014-01-25 05:18:03.000000000 +0100
|
||||
+++ dhcp-4.3.0rc1/common/lpf.c 2014-01-29 10:03:27.504941651 +0100
|
||||
@@ -29,14 +29,15 @@
|
||||
|
||||
#include "dhcpd.h"
|
||||
#if defined (USE_LPF_SEND) || defined (USE_LPF_RECEIVE)
|
||||
#include <sys/ioctl.h>
|
||||
+#include <sys/socket.h>
|
||||
#include <sys/uio.h>
|
||||
#include <errno.h>
|
||||
@@ -42,7 +42,9 @@ diff -up dhcp-4.2.2b1/common/lpf.c.xen dhcp-4.2.2b1/common/lpf.c
|
||||
#include "includes/netinet/ip.h"
|
||||
#include "includes/netinet/udp.h"
|
||||
#include "includes/netinet/if_ether.h"
|
||||
#include <net/if.h>
|
||||
@@ -51,6 +52,19 @@
|
||||
/* Reinitializes the specified interface after an address change. This
|
||||
is not required for packet-filter APIs. */
|
||||
|
||||
+#ifndef PACKET_AUXDATA
|
||||
+#define PACKET_AUXDATA 8
|
||||
@@ -57,10 +59,10 @@ diff -up dhcp-4.2.2b1/common/lpf.c.xen dhcp-4.2.2b1/common/lpf.c
|
||||
+};
|
||||
+#endif
|
||||
+
|
||||
/* Reinitializes the specified interface after an address change. This
|
||||
is not required for packet-filter APIs. */
|
||||
|
||||
@@ -67,10 +81,14 @@ int if_register_lpf (info)
|
||||
#ifdef USE_LPF_SEND
|
||||
void if_reinitialize_send (info)
|
||||
struct interface_info *info;
|
||||
@@ -73,10 +87,14 @@ int if_register_lpf (info)
|
||||
struct interface_info *info;
|
||||
{
|
||||
int sock;
|
||||
@@ -77,7 +79,7 @@ diff -up dhcp-4.2.2b1/common/lpf.c.xen dhcp-4.2.2b1/common/lpf.c
|
||||
htons((short)ETH_P_ALL))) < 0) {
|
||||
if (errno == ENOPROTOOPT || errno == EPROTONOSUPPORT ||
|
||||
errno == ESOCKTNOSUPPORT || errno == EPFNOSUPPORT ||
|
||||
@@ -85,11 +103,17 @@ int if_register_lpf (info)
|
||||
@@ -91,11 +109,17 @@ int if_register_lpf (info)
|
||||
log_fatal ("Open a socket for LPF: %m");
|
||||
}
|
||||
|
||||
@@ -98,7 +100,7 @@ diff -up dhcp-4.2.2b1/common/lpf.c.xen dhcp-4.2.2b1/common/lpf.c
|
||||
if (errno == ENOPROTOOPT || errno == EPROTONOSUPPORT ||
|
||||
errno == ESOCKTNOSUPPORT || errno == EPFNOSUPPORT ||
|
||||
errno == EAFNOSUPPORT || errno == EINVAL) {
|
||||
@@ -171,9 +195,18 @@ static void lpf_gen_filter_setup (struct
|
||||
@@ -177,9 +201,18 @@ static void lpf_gen_filter_setup (struct
|
||||
void if_register_receive (info)
|
||||
struct interface_info *info;
|
||||
{
|
||||
@@ -117,7 +119,7 @@ diff -up dhcp-4.2.2b1/common/lpf.c.xen dhcp-4.2.2b1/common/lpf.c
|
||||
#if defined (HAVE_TR_SUPPORT)
|
||||
if (info -> hw_address.hbuf [0] == HTYPE_IEEE802)
|
||||
lpf_tr_filter_setup (info);
|
||||
@@ -295,7 +328,6 @@ ssize_t send_packet (interface, packet,
|
||||
@@ -301,7 +334,6 @@ ssize_t send_packet (interface, packet,
|
||||
double hh [16];
|
||||
double ih [1536 / sizeof (double)];
|
||||
unsigned char *buf = (unsigned char *)ih;
|
||||
@@ -125,7 +127,7 @@ diff -up dhcp-4.2.2b1/common/lpf.c.xen dhcp-4.2.2b1/common/lpf.c
|
||||
int result;
|
||||
int fudge;
|
||||
|
||||
@@ -316,17 +348,7 @@ ssize_t send_packet (interface, packet,
|
||||
@@ -322,17 +354,7 @@ ssize_t send_packet (interface, packet,
|
||||
(unsigned char *)raw, len);
|
||||
memcpy (buf + ibufp, raw, len);
|
||||
|
||||
@@ -144,7 +146,7 @@ diff -up dhcp-4.2.2b1/common/lpf.c.xen dhcp-4.2.2b1/common/lpf.c
|
||||
if (result < 0)
|
||||
log_error ("send_packet: %m");
|
||||
return result;
|
||||
@@ -343,14 +365,35 @@ ssize_t receive_packet (interface, buf,
|
||||
@@ -349,14 +371,35 @@ ssize_t receive_packet (interface, buf,
|
||||
{
|
||||
int length = 0;
|
||||
int offset = 0;
|
||||
@@ -181,7 +183,7 @@ diff -up dhcp-4.2.2b1/common/lpf.c.xen dhcp-4.2.2b1/common/lpf.c
|
||||
bufix = 0;
|
||||
/* Decode the physical header... */
|
||||
offset = decode_hw_header (interface, ibuf, bufix, hfrom);
|
||||
@@ -367,7 +410,7 @@ ssize_t receive_packet (interface, buf,
|
||||
@@ -373,7 +416,7 @@ ssize_t receive_packet (interface, buf,
|
||||
|
||||
/* Decode the IP and UDP headers... */
|
||||
offset = decode_udp_ip_header (interface, ibuf, bufix, from,
|
||||
@@ -190,10 +192,10 @@ diff -up dhcp-4.2.2b1/common/lpf.c.xen dhcp-4.2.2b1/common/lpf.c
|
||||
|
||||
/* If the IP or UDP checksum was bad, skip the packet... */
|
||||
if (offset < 0)
|
||||
diff -up dhcp-4.2.2b1/common/nit.c.xen dhcp-4.2.2b1/common/nit.c
|
||||
--- dhcp-4.2.2b1/common/nit.c.xen 2009-11-20 02:49:01.000000000 +0100
|
||||
+++ dhcp-4.2.2b1/common/nit.c 2011-07-01 14:00:16.939958989 +0200
|
||||
@@ -369,7 +369,7 @@ ssize_t receive_packet (interface, buf,
|
||||
diff -up dhcp-4.3.0rc1/common/nit.c.xen dhcp-4.3.0rc1/common/nit.c
|
||||
--- dhcp-4.3.0rc1/common/nit.c.xen 2014-01-26 19:40:44.000000000 +0100
|
||||
+++ dhcp-4.3.0rc1/common/nit.c 2014-01-29 10:03:27.504941651 +0100
|
||||
@@ -363,7 +363,7 @@ ssize_t receive_packet (interface, buf,
|
||||
|
||||
/* Decode the IP and UDP headers... */
|
||||
offset = decode_udp_ip_header (interface, ibuf, bufix,
|
||||
@@ -202,10 +204,10 @@ diff -up dhcp-4.2.2b1/common/nit.c.xen dhcp-4.2.2b1/common/nit.c
|
||||
|
||||
/* If the IP or UDP checksum was bad, skip the packet... */
|
||||
if (offset < 0)
|
||||
diff -up dhcp-4.2.2b1/common/packet.c.xen dhcp-4.2.2b1/common/packet.c
|
||||
--- dhcp-4.2.2b1/common/packet.c.xen 2009-07-23 20:52:20.000000000 +0200
|
||||
+++ dhcp-4.2.2b1/common/packet.c 2011-07-01 14:00:16.939958989 +0200
|
||||
@@ -211,7 +211,7 @@ ssize_t
|
||||
diff -up dhcp-4.3.0rc1/common/packet.c.xen dhcp-4.3.0rc1/common/packet.c
|
||||
--- dhcp-4.3.0rc1/common/packet.c.xen 2013-12-11 01:01:02.000000000 +0100
|
||||
+++ dhcp-4.3.0rc1/common/packet.c 2014-01-29 10:03:27.504941651 +0100
|
||||
@@ -226,7 +226,7 @@ ssize_t
|
||||
decode_udp_ip_header(struct interface_info *interface,
|
||||
unsigned char *buf, unsigned bufix,
|
||||
struct sockaddr_in *from, unsigned buflen,
|
||||
@@ -214,7 +216,7 @@ diff -up dhcp-4.2.2b1/common/packet.c.xen dhcp-4.2.2b1/common/packet.c
|
||||
{
|
||||
unsigned char *data;
|
||||
struct ip ip;
|
||||
@@ -322,7 +322,7 @@ decode_udp_ip_header(struct interface_in
|
||||
@@ -337,7 +337,7 @@ decode_udp_ip_header(struct interface_in
|
||||
8, IPPROTO_UDP + ulen))));
|
||||
|
||||
udp_packets_seen++;
|
||||
@@ -223,10 +225,10 @@ diff -up dhcp-4.2.2b1/common/packet.c.xen dhcp-4.2.2b1/common/packet.c
|
||||
udp_packets_bad_checksum++;
|
||||
if (udp_packets_seen > 4 &&
|
||||
(udp_packets_seen / udp_packets_bad_checksum) < 2) {
|
||||
diff -up dhcp-4.2.2b1/common/upf.c.xen dhcp-4.2.2b1/common/upf.c
|
||||
--- dhcp-4.2.2b1/common/upf.c.xen 2009-11-20 02:49:01.000000000 +0100
|
||||
+++ dhcp-4.2.2b1/common/upf.c 2011-07-01 14:00:16.940958986 +0200
|
||||
@@ -320,7 +320,7 @@ ssize_t receive_packet (interface, buf,
|
||||
diff -up dhcp-4.3.0rc1/common/upf.c.xen dhcp-4.3.0rc1/common/upf.c
|
||||
--- dhcp-4.3.0rc1/common/upf.c.xen 2014-01-26 19:40:44.000000000 +0100
|
||||
+++ dhcp-4.3.0rc1/common/upf.c 2014-01-29 10:03:27.505941638 +0100
|
||||
@@ -314,7 +314,7 @@ ssize_t receive_packet (interface, buf,
|
||||
|
||||
/* Decode the IP and UDP headers... */
|
||||
offset = decode_udp_ip_header (interface, ibuf, bufix,
|
||||
@@ -235,10 +237,10 @@ diff -up dhcp-4.2.2b1/common/upf.c.xen dhcp-4.2.2b1/common/upf.c
|
||||
|
||||
/* If the IP or UDP checksum was bad, skip the packet... */
|
||||
if (offset < 0)
|
||||
diff -up dhcp-4.2.2b1/includes/dhcpd.h.xen dhcp-4.2.2b1/includes/dhcpd.h
|
||||
--- dhcp-4.2.2b1/includes/dhcpd.h.xen 2011-07-01 14:00:16.000000000 +0200
|
||||
+++ dhcp-4.2.2b1/includes/dhcpd.h 2011-07-01 14:12:18.069642470 +0200
|
||||
@@ -2796,7 +2796,7 @@ ssize_t decode_hw_header (struct interfa
|
||||
diff -up dhcp-4.3.0rc1/includes/dhcpd.h.xen dhcp-4.3.0rc1/includes/dhcpd.h
|
||||
--- dhcp-4.3.0rc1/includes/dhcpd.h.xen 2014-01-29 10:03:27.489941844 +0100
|
||||
+++ dhcp-4.3.0rc1/includes/dhcpd.h 2014-01-29 10:03:27.506941626 +0100
|
||||
@@ -2861,7 +2861,7 @@ ssize_t decode_hw_header (struct interfa
|
||||
unsigned, struct hardware *);
|
||||
ssize_t decode_udp_ip_header (struct interface_info *, unsigned char *,
|
||||
unsigned, struct sockaddr_in *,
|
||||
@@ -527,27 +527,6 @@ int rename_nics(void) {
|
||||
}
|
||||
}
|
||||
|
||||
int create_udev(void)
|
||||
{
|
||||
#define UDEV_NET_CONF "/etc/udev/rules.d/30-persistent-network.rules"
|
||||
FILE *fp;
|
||||
int i;
|
||||
|
||||
if ( (fp = fopen(UDEV_NET_CONF, "w")) == NULL ) {
|
||||
fprintf(stderr,"Couldn't open" UDEV_NET_CONF);
|
||||
return 1;
|
||||
}
|
||||
|
||||
for (i = 0 ; i < 4 ; i++)
|
||||
{
|
||||
if (strcmp(knics[i].macaddr, "")) {
|
||||
fprintf(fp,"\n# %s\nACTION==\"add\", SUBSYSTEM==\"net\", ATTR{type}==\"1\", ATTR{address}==\"%s\", NAME=\"%s0\"\n", knics[i].description, knics[i].macaddr, lcolourcard[i]);
|
||||
}
|
||||
}
|
||||
fclose(fp);
|
||||
return 0;
|
||||
}
|
||||
|
||||
int write_configs_netudev(int card , int colour)
|
||||
{
|
||||
char commandstring[STRING_SIZE];
|
||||
|
||||
@@ -117,7 +117,6 @@ int handlenetworking(void)
|
||||
} else {
|
||||
rename_nics();
|
||||
}
|
||||
create_udev();
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
@@ -79,7 +79,6 @@ void networkdialogcallbacktype(newtComponent cm, void *data);
|
||||
int interfacecheck(struct keyvalue *kv, char *colour);
|
||||
int rename_nics(void);
|
||||
int init_knics(void);
|
||||
int create_udev(void);
|
||||
int scan_network_cards(void);
|
||||
int nicmenu(int colour);
|
||||
int clear_card_entry(int cards);
|
||||
|
||||
Reference in New Issue
Block a user