diff --git a/.cvsignore b/.cvsignore deleted file mode 100644 index e69de29..0000000 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..8c95915 --- /dev/null +++ b/.gitignore @@ -0,0 +1,9 @@ +3proxy-0.6.1.tgz +/3proxy-0.7.tgz +/3proxy-0.7.1.1.tgz +/3proxy-0.7.1.2.tgz +/3proxy-0.8.2.tar.gz +/3proxy-0.8.12.tar.gz +/3proxy-0.8.13.tar.gz +/3proxy-0.9.4.tar.gz +/3proxy-0.9.5.tar.gz diff --git a/3proxy-0.6.1-config-path.patch b/3proxy-0.6.1-config-path.patch new file mode 100644 index 0000000..bae7071 --- /dev/null +++ b/3proxy-0.6.1-config-path.patch @@ -0,0 +1,20 @@ +--- man/3proxy.8.orig 2009-07-13 17:52:25.000000000 +0400 ++++ man/3proxy.8 2010-05-30 21:39:19.000000000 +0400 +@@ -84,7 +84,7 @@ + configuration from stdin. It makes it possible to use 3proxy.cfg file as + executable script just by setting +x mode and adding + .br +-#!/usr/local/3proxy/3proxy ++#!/etc/3proxy + .br + as a first line in 3proxy.cfg + .TP +@@ -133,7 +133,7 @@ + wget to automate this task. + .SH FILES + .TP +-.I "/usr/local/3proxy/3proxy.cfg (3proxy.cfg)" ++.I "/etc/3proxy.cfg (3proxy.cfg)" + .BR 3proxy + configuration file + .SH BUGS diff --git a/3proxy-0.9.4-manpage.patch b/3proxy-0.9.4-manpage.patch new file mode 100644 index 0000000..00fb7ad --- /dev/null +++ b/3proxy-0.9.4-manpage.patch @@ -0,0 +1,297 @@ +--- man/3proxy.8 ++++ man/3proxy.8 +@@ -26,7 +26,7 @@ + gateways with HTTP and HTTPS proxy with FTP over HTTP support, SOCKS v4, + v4.5 and v5, POP3 proxy, UDP and TCP portmappers. Each gateway is started + from configuration file like independant service +-.BR proxy (8) ++.BR htproxy (8) + .BR socks (8) + .BR pop3p (8) + .BR tcppm (8) +@@ -140,7 +140,7 @@ + Report all bugs to + .BR 3proxy@3proxy.org + .SH SEE ALSO +-3proxy.cfg(3), proxy(8), ftppr(8), socks(8), pop3p(8), tcppm(8), udppm(8), ++3proxy.cfg(3), ftppr(8), htproxy(8), socks(8), pop3p(8), tcppm(8), tlspr(8), udppm(8), + kill(1), syslogd(8), + .br + https://3proxy.org/ +--- man/3proxy.cfg.3 ++++ man/3proxy.cfg.3 +@@ -46,7 +46,7 @@ + Next commands start gateway services: + + .br +-.B proxy ++.B htproxy + [options] + .br + .B socks +@@ -74,7 +74,7 @@ + .br + Descriptions: + .br +-.B proxy ++.B htproxy + HTTP/HTTPS proxy (default port 3128) + .br + .B socks +@@ -185,7 +185,7 @@ + of IP-IP NAT (will not work for PAT) + .br + Also, all options mentioned for +-.BR proxy (8) ++.BR htproxy (8) + .BR socks (8) + .BR pop3p (8) + .BR tcppm (8) +@@ -1078,7 +1078,7 @@ + Report all bugs to + .BR 3proxy@3proxy.org + .SH SEE ALSO +-3proxy(8), proxy(8), ftppr(8), socks(8), pop3p(8), tcppm(8), udppm(8), syslogd(8), ++3proxy(8), ftppr(8), htproxy(8), socks(8), pop3p(8), tcppm(8), tlspr(8), udppm(8), syslogd(8), + .br + https://3proxy.org/ + .SH TRIVIA +--- man/ftppr.8 ++++ man/ftppr.8 +@@ -79,7 +79,7 @@ + Report all bugs to + .BR 3proxy@3proxy.org + .SH SEE ALSO +-3proxy(8), proxy(8), pop3p(8), socks(8), tcppm(8), udppm(8), syslogd(8), ++3proxy(8), htproxy(8), pop3p(8), socks(8), tcppm(8), tlspr(8), udppm(8), syslogd(8), + .br + https://3proxy.org/ + .SH AUTHORS +--- /dev/null ++++ man/htproxy.8 +@@ -0,0 +1,78 @@ ++.TH proxy "8" "January 2019" "3proxy 0.9" "Universal proxy server" ++.SH NAME ++.B htproxy ++\- HTTP proxy gateway service ++.SH SYNOPSIS ++.BR "htproxy " [ -d ][ -a ] ++.IB \fR[ -l \fR[ \fR[ @ \fR] logfile \fR]] ++.IB \fR[ -p port\fR] ++.IB \fR[ -i internal_ip\fR] ++.IB \fR[ -e external_ip\fR] ++.SH DESCRIPTION ++.B htproxy ++is HTTP gateway service with HTTPS and FTP over HTTPS support. ++.SH OPTIONS ++.TP ++.B -I ++Inetd mode. Standalone service only. ++.TP ++.B -d ++Daemonise. Detach service from console and run in the background. ++.TP ++.B -t ++Be silenT. Do not log start/stop/accept error records. ++.TP ++.B -u ++Never ask for username authentication ++.TP ++.B -e ++External address. IP address of interface proxy should initiate connections ++from. ++By default system will deside which address to use in accordance ++with routing table. ++.TP ++.B -i ++Internal address. IP address proxy accepts connections to. ++By default connection to any interface is accepted. It\'s usually unsafe. ++.TP ++.B -a ++Anonymous. Hide information about client. ++.TP ++.B -a1 ++Anonymous. Show fake information about client. ++.TP ++.B -p ++Port. Port proxy listens for incoming connections. Default is 3128. ++.TP ++.B -l ++Log. By default logging is to stdout. If ++.I logfile ++is specified logging is to file. Under Unix, if ++.RI \' @ \' ++preceeds ++.IR logfile , ++syslog is used for logging. ++.TP ++.B -S ++Increase or decrease stack size. You may want to try something like -S8192 if you experience 3proxy ++crashes. ++.SH CLIENTS ++You should use client with HTTP proxy support or configure router to redirect ++HTTP traffic to proxy (transparent proxy). Configure client to connect to ++.I internal_ip ++and ++.IR port . ++HTTPS support allows to use almost any TCP based protocol. If you need to ++limit clients, use ++.BR 3proxy (8) ++instead. ++.SH BUGS ++Report all bugs to ++.BR 3proxy@3proxy.org ++.SH SEE ALSO ++3proxy(8), ftppr(8), socks(8), pop3p(8), tcppm(8), tlspr(8), udppm(8), syslogd(8), ++.br ++https://3proxy.org/ ++.SH AUTHORS ++3proxy is designed by Vladimir 3APA3A Dubrovin ++.RI ( 3proxy@3proxy.org ) +--- man/pop3p.8 ++++ man/pop3p.8 +@@ -75,7 +75,7 @@ + Report all bugs to + .BR 3proxy@3proxy.org + .SH SEE ALSO +-3proxy(8), ftppr(8), proxy(8), socks(8), tcppm(8), udppm(8), syslogd(8), ++3proxy(8), ftppr(8), htproxy(8), socks(8), tcppm(8), tlspr(8), udppm(8), syslogd(8), + .br + https://3proxy.org/ + .SH AUTHORS +--- man/proxy.8 ++++ /dev/null +@@ -1,78 +0,0 @@ +-.TH proxy "8" "January 2019" "3proxy 0.9" "Universal proxy server" +-.SH NAME +-.B proxy +-\- HTTP proxy gateway service +-.SH SYNOPSIS +-.BR "proxy " [ -d ][ -a ] +-.IB \fR[ -l \fR[ \fR[ @ \fR] logfile \fR]] +-.IB \fR[ -p port\fR] +-.IB \fR[ -i internal_ip\fR] +-.IB \fR[ -e external_ip\fR] +-.SH DESCRIPTION +-.B proxy +-is HTTP gateway service with HTTPS and FTP over HTTPS support. +-.SH OPTIONS +-.TP +-.B -I +-Inetd mode. Standalone service only. +-.TP +-.B -d +-Daemonise. Detach service from console and run in the background. +-.TP +-.B -t +-Be silenT. Do not log start/stop/accept error records. +-.TP +-.B -u +-Never ask for username authentication +-.TP +-.B -e +-External address. IP address of interface proxy should initiate connections +-from. +-By default system will deside which address to use in accordance +-with routing table. +-.TP +-.B -i +-Internal address. IP address proxy accepts connections to. +-By default connection to any interface is accepted. It\'s usually unsafe. +-.TP +-.B -a +-Anonymous. Hide information about client. +-.TP +-.B -a1 +-Anonymous. Show fake information about client. +-.TP +-.B -p +-Port. Port proxy listens for incoming connections. Default is 3128. +-.TP +-.B -l +-Log. By default logging is to stdout. If +-.I logfile +-is specified logging is to file. Under Unix, if +-.RI \' @ \' +-preceeds +-.IR logfile , +-syslog is used for logging. +-.TP +-.B -S +-Increase or decrease stack size. You may want to try something like -S8192 if you experience 3proxy +-crashes. +-.SH CLIENTS +-You should use client with HTTP proxy support or configure router to redirect +-HTTP traffic to proxy (transparent proxy). Configure client to connect to +-.I internal_ip +-and +-.IR port . +-HTTPS support allows to use almost any TCP based protocol. If you need to +-limit clients, use +-.BR 3proxy (8) +-instead. +-.SH BUGS +-Report all bugs to +-.BR 3proxy@3proxy.org +-.SH SEE ALSO +-3proxy(8), ftppr(8), socks(8), pop3p(8), tcppm(8), udppm(8), syslogd(8), +-.br +-https://3proxy.org/ +-.SH AUTHORS +-3proxy is designed by Vladimir 3APA3A Dubrovin +-.RI ( 3proxy@3proxy.org ) +--- man/smtpp.8 ++++ man/smtpp.8 +@@ -76,7 +76,7 @@ + Report all bugs to + .BR 3proxy@3proxy.org + .SH SEE ALSO +-3proxy(8), ftppr(8), proxy(8), socks(8), tcppm(8), udppm(8), syslogd(8), ++3proxy(8), ftppr(8), htproxy(8), socks(8), tcppm(8), tlspr(8), udppm(8), syslogd(8), + .br + https://3proxy.org/ + .SH AUTHORS +--- man/socks.8 ++++ man/socks.8 +@@ -76,7 +76,7 @@ + Report all bugs to + .BR 3proxy@3proxy.org + .SH SEE ALSO +-3proxy(8), proxy(8), ftppr(8), pop3p(8), tcppm(8), udppm(8), syslogd(8), ++3proxy(8), ftppr(8), htproxy(8), pop3p(8), tcppm(8), tlspr(8), udppm(8), syslogd(8), + .br + https://3proxy.org/ + .SH AUTHORS +--- man/tcppm.8 ++++ man/tcppm.8 +@@ -65,7 +65,7 @@ + Report all bugs to + .BR 3proxy@3proxy.org + .SH SEE ALSO +-3proxy(8), proxy(8), ftppr(8), socks(8), pop3p(8), udppm(8), syslogd(8), ++3proxy(8), ftppr(8), htproxy(8), socks(8), pop3p(8), tlspr(8), udppm(8), syslogd(8), + .br + https://3proxy.org/ + .SH AUTHORS +--- man/tlspr.8 ++++ man/tlspr.8 +@@ -78,7 +78,7 @@ + Report all bugs to + .BR 3proxy@3proxy.org + .SH SEE ALSO +-3proxy(8), ftppr(8), proxy(8), socks(8), pop3p(8), smtpp(8), tcppm(8), udppm(8), syslogd(8), ++3proxy(8), ftppr(8), htproxy(8), socks(8), pop3p(8), smtpp(8), tcppm(8), udppm(8), syslogd(8), + .br + https://3proxy.org/ + .SH AUTHORS +--- man/udppm.8 ++++ man/udppm.8 +@@ -71,7 +71,7 @@ + Report all bugs to + .BR 3proxy@3proxy.org + .SH SEE ALSO +-3proxy(8), proxy(8), ftppr(8), socks(8), pop3p(8), udppm(8), syslogd(8), ++3proxy(8), ftppr(8), htproxy(8), socks(8), pop3p(8), tlspr(8), udppm(8), syslogd(8), + .br + https://3proxy.org/ + .SH AUTHORS diff --git a/3proxy-0.9.4-poll-build.patch b/3proxy-0.9.4-poll-build.patch new file mode 100644 index 0000000..99c97d7 --- /dev/null +++ b/3proxy-0.9.4-poll-build.patch @@ -0,0 +1,39 @@ +--- src/common.c ++++ src/common.c +@@ -157,7 +157,7 @@ + WINAPI + #endif + +- mypoll(struct mypollfd *fds, unsigned int nfds, int timeout){ ++ mypoll(struct mypollfd *fds, nfds_t nfds, int timeout){ + fd_set readfd; + fd_set writefd; + fd_set oobfd; +--- src/structures.h ++++ src/structures.h +@@ -69,6 +69,7 @@ + #ifdef WITH_POLL + #include + #else ++typedef unsigned int nfds_t; + #ifdef WITH_WSAPOLL + + #define poll(A,B,C) WSAPoll(A,B,C) +@@ -84,7 +85,7 @@ + #ifdef _WIN32 + WINAPI + #endif +- mypoll(struct mypollfd *fds, unsigned int nfds, int timeout); ++ mypoll(struct mypollfd *fds, nfds_t nfds, int timeout); + #ifndef POLLIN + #define POLLIN 1 + #endif +@@ -434,7 +435,7 @@ + int (WINAPI *_getsockname)(void* state, SOCKET s, struct sockaddr * name, int * namelen); + int (WINAPI *_getsockopt)(void* state, SOCKET s, int level, int optname, char * optval, int * optlen); + int (WINAPI *_setsockopt)(void* state, SOCKET s, int level, int optname, const char *optval, int optlen); +- int (WINAPI *_poll)(void* state, struct pollfd *fds, unsigned int nfds, int timeout); ++ int (WINAPI *_poll)(struct pollfd *fds, nfds_t nfds, int timeout); + int (WINAPI *_send)(void* state, SOCKET s, const char *msg, int len, int flags); + int (WINAPI *_sendto)(void* state, SOCKET s, const char *msg, int len, int flags, const struct sockaddr *to, int tolen); + int (WINAPI *_recv)(void* state, SOCKET s, char *buf, int len, int flags); diff --git a/3proxy.cfg b/3proxy.cfg new file mode 100644 index 0000000..1c038ac --- /dev/null +++ b/3proxy.cfg @@ -0,0 +1,178 @@ +# Yes, 3proxy.cfg can be executable, in this case you should place +# something like +#config /usr/local/3proxy/3proxy.cfg +# to show which configuration 3proxy should re-read on realod. + +#system "echo Hello world!" +# you may use system to execute some external command if proxy starts + +# We can configure nservers to avoid unsafe gethostbyname() usage +#nserver 10.1.2.1 +#nserver 10.2.2.2 +# nscache is good to save speed, traffic and bandwidth +nscache 65536 + +#nsrecord porno.security.nnov.ru 0.0.0.0 +# nobody will be able to access porno.security.nnov.ru by the name. +#nsrecord wpad.security.nnov.ru www.security.nnov.ru +# wpad.security.nnov.ru will resolve to www.security.nnov.ru for +# clients + + +timeouts 1 5 30 60 180 1800 15 60 +# Here we can change timeout values + +users 3APA3A:CL:3apa3a "test:CR:$1$qwer$CHFTUFGqkjue9HyhcMHEe1" +# note that "" required, overvise $... is treated as include file name. +# $1$qwer$CHFTUFGqkjue9HyhcMHEe1 is 'test' in MD5 crypt format. +#users $/usr/local/etc/3proxy/passwd +# this example shows you how to include passwd file. For included files +# and are treated as field separators. + +daemon +# now we will not depend on any console (daemonize). daemon must be given +# before any significant command on *nix. + +#service +# service is required under NT if you want 3proxy to start as service + +#log /usr/local/etc/3proxy/logs/3proxy.log D +log /var/log/3proxy/3proxy.log +# log allows to specify log file location and rotation, D means logfile +# is created daily + +# in log file we want to have underscores instead of spaces +logformat "- +_L%t.%. %N.%p %E %U %C:%c %R:%r %O %I %h %T" +#logformat "L%d-%m-%Y %H:%M:%S %z %N.%p %E %U %C:%c %R:%r %O %I %h %T" +#logformat "Linsert into log (l_date, l_user, l_service, l_in, l_out, l_descr) values ('%d-%m-%Y %H:%M:%S', '%U', '%N', %I, %O, '%T')" + +archiver gz /bin/gzip %F +#archiver zip zip -m -qq %A %F +#archiver zip pkzipc -add -silent -move %A %F +#archiver rar rar a -df -inul %A %F +# if archiver specified log file will be compressed after closing. +# you should specify extension, path to archiver and command line, %A will be +# substituted with archive file name, %f - with original file name. +# Original file will not be removed, so archiver should care about it. + +rotate 30 +# We will keep last 30 log files + +auth iponly +#auth nbname +#auth strong +# auth specifies type of user authentication. If you specify none proxy +# will not do anything to check name of the user. If you specify +# nbname proxy will send NetBIOS name request packet to UDP/137 of +# client and parse request for NetBIOS name of messanger service. +# Strong means that proxy will check password. For strong authentication +# unknown user will not be allowed to use proxy regardless of ACL. +# If you do not want username to be checked but wanna ACL to work you should +# specify auth iponly. + + +#allow ADMINISTRATOR,root +#allow * 127.0.0.1,192.168.1.1 * * +#redirect 192.168.1.2 80 * * * 80 +#allow * 192.168.1.0/24 * 25,53,110,20-21,1024-65535 +# we will allow everything if username matches ADMINISTRATOR or root or +# client ip is 127.0.0.1 or 192.168.1.1. Overwise we will redirect any request +# to port 80 to our Web-server 192.168.0.2. +# We will allow any outgoing connections from network 192.168.1.0/24 to +# SMTP, POP3, FTP, DNS and unprivileged ports. +# Note, that redirect may also be used with proxy or portmapper. It will +# allow you to redirect requests to different ports or different server +# for different clients. + +# sharing access to internet + +#external 10.1.1.1 +external 0.0.0.0 +# external is address 3proxy uses for outgoing connections. 0.0.0.0 means any +# interface. Using 0.0.0.0 is not good because it allows to connect to 127.0.0.1 + +#internal 192.168.1.1 +internal 127.0.0.1 +# internal is address of interface proxy will listen for incoming requests +# 127.0.0.1 means only localhost will be able to use this proxy. This is +# address you should specify for clients as proxy IP. +# You MAY use 0.0.0.0 but you shouldn't, because it's a chance for you to +# have open proxy in your network in this case. + +auth none +# no authentication is requires + +dnspr + +# dnsproxy listens on UDP/53 to answer client's DNS requests. It requires +# nserver/nscache configuration. + + +#external $./external.ip +#internal $./internal.ip +# this is just an alternative form fo giving external and internal address +# allows you to read this addresses from files + +auth strong +# We want to protect internal interface +deny * * 127.0.0.1,192.168.1.1 +# and llow HTTP and HTTPS traffic. +allow * * * 80-88,8080-8088 HTTP +allow * * * 443,8443 HTTPS +proxy -n + +auth none +# pop3p will be used without any authentication. It's bad choice +# because it's possible to use pop3p to access any port +pop3p + +tcppm 25 mail.my.provider 25 +#udppm -s 53 ns.my.provider 53 +# we can portmap port TCP/25 to provider's SMTP server and UDP/53 +# to provider's DNS. +# Now we can use our proxy as SMTP and DNS server. +# -s switch for UDP means "single packet" service - instead of setting +# association for period of time association will only be set for 1 packet. +# It's very userfull for services like DNS but not for some massive services +# like multimedia streams or online games. + +auth strong +flush +allow 3APA3A,test +maxconn 20 +socks +# for socks we will use password authentication and different access control - +# we flush previously configured ACL list and create new one to allow users +# test and 3APA3A to connect from any location + + +auth strong +flush +internal 127.0.0.1 +allow 3APA3A 127.0.0.1 +maxconn 3 +admin +#only allow acces to admin interface for user 3APA3A from 127.0.0.1 address +#via 127.0.0.1 address. + +# map external 80 and 443 ports to internal Web server +# examples below show how to use 3proxy to publish Web server in internal +# network to Internet. We must switch internal and external addresses and +# flush any ACLs + +#auth none +#flush +#external $./internal.ip +#internal $./external.ip +#maxconn 300 +#tcppm 80 websrv 80 +#tcppm 443 websrv 443 + + +#chroot /usr/local/jail +#setgid 65535 +#setuid 65535 +# now we needn't any root rights. We can chroot and setgid/setuid. + + +###$Id: 3proxy.cfg.sample,v 1.5 2004/07/16 12:37:20 vlad Exp $####### diff --git a/3proxy.service b/3proxy.service new file mode 100644 index 0000000..ea10335 --- /dev/null +++ b/3proxy.service @@ -0,0 +1,10 @@ +[Unit] +Description=3proxy Proxy Server +After=syslog.target network.target + +[Service] +Type=forking +ExecStart=/usr/bin/3proxy /etc/3proxy.cfg + +[Install] +WantedBy=multi-user.target \ No newline at end of file diff --git a/3proxy.spec b/3proxy.spec new file mode 100644 index 0000000..6472a95 --- /dev/null +++ b/3proxy.spec @@ -0,0 +1,97 @@ +%global _hardened_build 1 + +Name: 3proxy +Version: 0.9.5 +Release: %autorelease + +Summary: Tiny but very powerful proxy +Summary(ru): Маленький, но крайне мощный прокси-сервер + +License: BSD-3-Clause OR Apache-2.0 OR GPL-2.0-or-later OR LGPL-2.1-or-later +Url: http://3proxy.ru/?l=EN +Source0: https://github.com/%{name}/%{name}/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz +Source2: 3proxy.cfg +Source3: 3proxy.service + +BuildRequires: gcc +BuildRequires: make +BuildRequires: openssl-devel +BuildRequires: systemd-rpm-macros + +# I correct config path in man only. It is fully Fedora related. +Patch0: 3proxy-0.6.1-config-path.patch +# Fixes *_poll build error +Patch1: 3proxy-0.9.4-poll-build.patch +# Adapt manpages to reflect renamed proxy binary +Patch2: 3proxy-0.9.4-manpage.patch + +%description +%{name} -- light proxy server. +Universal proxy server with HTTP, HTTPS, SOCKS v4, SOCKS v4a, SOCKS v5, FTP, +POP3, UDP and TCP portmapping, access control, bandwith control, traffic +limitation and accounting based on username, client IP, target IP, day time, +day of week, etc. + +%description -l ru +%{name} -- маленький прокси сервер. +Это универсальное решение поддерживающее HTTP, HTTPS, SOCKS v4, SOCKS v4a, +SOCKS v5, FTP, POP3, UDP и TCP проброс портов (portmapping), списки доступа +управление скоростью доступа, ограничением трафика и статистикоу, базирующейся +на имени пользователя, слиентском IP адресе, IP цели, времени дня, дня недели +и т.д. + + +%prep +%autosetup -p0 + +# To use "fedora" CFLAGS (exported) +sed -i -e "s/^CFLAGS =/CFLAGS +=/" Makefile.Linux + +%build +make -f Makefile.Linux + +%install +mkdir -p %{buildroot}%{_sysconfdir} +mkdir -p %{buildroot}%{_sysconfdir}/NetworkManager/dispatcher.d/ +mkdir -p %{buildroot}%{_mandir}/man{3,8} +mkdir -p %{buildroot}%{_localstatedir}/log/%{name} +install -m755 -D bin/%{name} %{buildroot}%{_bindir}/%{name} +install -m755 -D bin/ftppr %{buildroot}%{_bindir}/ftppr +install -m755 -D bin/mycrypt %{buildroot}%{_bindir}/mycrypt +install -m755 -D bin/pop3p %{buildroot}%{_bindir}/pop3p +install -m755 -D bin/proxy %{buildroot}%{_bindir}/htproxy +install -m755 -D bin/smtpp %{buildroot}%{_bindir}/smtpp +install -m755 -D bin/socks %{buildroot}%{_bindir}/socks +install -m755 -D bin/tcppm %{buildroot}%{_bindir}/tcppm +install -m755 -D bin/tlspr %{buildroot}%{_bindir}/tlspr +install -m755 -D bin/udppm %{buildroot}%{_bindir}/udppm + +install -pD -m644 %{SOURCE2} %{buildroot}/%{_sysconfdir}/%{name}.cfg +install -pD -m755 %{SOURCE3} %{buildroot}/%{_unitdir}/%{name}.service + +for man in man/*.{3,8} ; do + install "$man" "%{buildroot}%{_mandir}/man${man:(-1)}/" +done + + +%post +%systemd_post %{name}.service + +%preun +%systemd_preun %{name}.service + +%postun +%systemd_postun_with_restart %{name}.service + +%files +%license copying +%doc README authors +%{_bindir}/* +%config(noreplace) %{_sysconfdir}/%{name}.cfg +%{_localstatedir}/log/%{name} +%{_mandir}/man8/*.8.gz +%{_mandir}/man3/*.3.gz +%{_unitdir}/%{name}.service + +%changelog +%autochangelog diff --git a/Makefile b/Makefile deleted file mode 100644 index d1e1256..0000000 --- a/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -# Makefile for source rpm: 3proxy -# $Id$ -NAME := 3proxy -SPECFILE = $(firstword $(wildcard *.spec)) - -define find-makefile-common -for d in common ../common ../../common ; do if [ -f $$d/Makefile.common ] ; then if [ -f $$d/CVS/Root -a -w $$/Makefile.common ] ; then cd $$d ; cvs -Q update ; fi ; echo "$$d/Makefile.common" ; break ; fi ; done -endef - -MAKEFILE_COMMON := $(shell $(find-makefile-common)) - -ifeq ($(MAKEFILE_COMMON),) -# attept a checkout -define checkout-makefile-common -test -f CVS/Root && { cvs -Q -d $$(cat CVS/Root) checkout common && echo "common/Makefile.common" ; } || { echo "ERROR: I can't figure out how to checkout the 'common' module." ; exit -1 ; } >&2 -endef - -MAKEFILE_COMMON := $(shell $(checkout-makefile-common)) -endif - -include $(MAKEFILE_COMMON) diff --git a/changelog b/changelog new file mode 100644 index 0000000..cbe6c3b --- /dev/null +++ b/changelog @@ -0,0 +1,211 @@ +* Tue Feb 20 2024 Tim Semeijn - 0.9.4-2 +- Fix failing builds with *_poll build patch (3proxy-0.9.4-poll-build.patch) +- Convert license to SPDX + +* Sun Feb 11 2024 Fabio Alessandro Locati - 0.9.4-1 +- Update to 0.9.4, fixes rhbz#1888503 +- Fix FTBFS, fixes rhbz#2261821 + +* Mon Jan 29 2024 Fedora Release Engineering - 0.8.13-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Mon Jan 22 2024 Fedora Release Engineering - 0.8.13-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Fri Jan 19 2024 Fedora Release Engineering - 0.8.13-12 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Thu Jan 18 2024 Fedora Release Engineering - 0.8.13-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild + +* Wed Jul 19 2023 Fedora Release Engineering - 0.8.13-10 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild + +* Wed Jan 18 2023 Fedora Release Engineering - 0.8.13-9 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild + +* Wed Jul 20 2022 Fedora Release Engineering - 0.8.13-8 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild + +* Wed Jan 19 2022 Fedora Release Engineering - 0.8.13-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild + +* Wed Jul 21 2021 Fedora Release Engineering - 0.8.13-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Tue Mar 02 2021 Zbigniew Jędrzejewski-Szmek - 0.8.13-5 +- Rebuilt for updated fedora-rpm-macros. + See https://pagure.io/fesco/issue/2583. + +* Mon Jan 25 2021 Fedora Release Engineering - 0.8.13-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Mon Jul 27 2020 Fedora Release Engineering - 0.8.13-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jan 28 2020 Fedora Release Engineering - 0.8.13-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Tue Oct 22 2019 Pavel Alexeev - 0.8.13-1 +- Update to 0.8.13 version (bz#1742435). +- Try build on epel8 (bz#1757824). +- Completely remove SOURCE1 sysvinit legacy. +- Reformat with spaces. + +* Wed Jul 24 2019 Fedora Release Engineering - 0.8.12-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Thu Jan 31 2019 Fedora Release Engineering - 0.8.12-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Sat Nov 17 2018 Peter Robinson 0.8.12-1 +- Update 0.8.12 +- Retire sysvinit + +* Thu Jul 12 2018 Fedora Release Engineering - 0.8.2-7 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Feb 07 2018 Fedora Release Engineering - 0.8.2-6 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Wed Aug 02 2017 Fedora Release Engineering - 0.8.2-5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild + +* Wed Jul 26 2017 Fedora Release Engineering - 0.8.2-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Fri Feb 10 2017 Fedora Release Engineering - 0.8.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Wed Feb 03 2016 Fedora Release Engineering - 0.8.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild + +* Sat Jan 23 2016 Pavel Alexeev - 0.8.2-1 +- Major upstream update - 0.8.2. Bz#1300097. +- Tarballs now on github. + +* Fri Jan 01 2016 Pavel Alexeev - 0.7.1.3-1 +- New upstream release 0.7.1.3 - bz#1263482. + +* Tue Jun 16 2015 Fedora Release Engineering - 0.7.1.2-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild + +* Thu Mar 05 2015 Adam Jackson 0.7.1.2-2 +- Drop sysvinit subpackage on F23+ + +* Mon Feb 23 2015 Pavel Alexeev - 0.7.7.2-1 +- New upstream version 0.7.7.2 + +* Mon Aug 18 2014 Pavel Alexeev - 0.7.7.1-1 +- Update to 0.7.7.1 - bz#1114274. + +* Fri Aug 15 2014 Fedora Release Engineering - 0.7-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild + +* Fri Jun 06 2014 Fedora Release Engineering - 0.7-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild + +* Tue Apr 8 2014 Pavel Alexeev - 0.7-1 +- Update to 0.7 version bz#1085256. +- Add BR openssl-devel. + +* Tue Jan 7 2014 Pavel Alexeev - 0.6.1-18 +- Step to systemd macroses (#850383) + +* Fri Aug 02 2013 Fedora Release Engineering - 0.6.1-17 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild + +* Fri Apr 26 2013 Pavel Alexeev - 0.6.1-16 +- Harden build - bz#955141 + +* Wed Feb 13 2013 Fedora Release Engineering - 0.6.1-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild + +* Wed Jul 18 2012 Fedora Release Engineering - 0.6.1-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild + +* Thu Jan 12 2012 Fedora Release Engineering - 0.6.1-13 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild + +* Thu Jun 23 2011 Pavel Alexeev - 0.6.1-12 +- Make service systemd compliant (BZ#657412). + +* Mon Feb 07 2011 Fedora Release Engineering - 0.6.1-11 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild + +* Thu Nov 4 2010 Pavel Alexeev - 0.6.1-10 +- Add man3/3proxy.cfg.3 man (BZ#648204). +- Gone explicit man gzip - leave it for rpm. + +* Sun May 30 2010 Pavel Alexeev - 0.6.1-9 +- Correct path to config file in man (BUG#596087) add Patch0: 3proxy-0.6.1-config-path.patch + +* Mon Mar 15 2010 Pavel Alexeev - 0.6.1-8 +- Update to version 0.6.1 +- In NM event processing replace service restart to condrestart - BZ#572662 + +* Wed Nov 25 2009 Pavel Alexeev - 0.6-7 +- Again new init-script for Fix BZ#533144 :). + +* Wed Nov 25 2009 Pavel Alexeev - 0.6-6 +- Forgot commit new init-script for Fix BZ#533144. + +* Sun Nov 8 2009 Pavel Alexeev - 0.6-5 +- Fix BZ#533144: +- Add reload section to service file, fix stop. +- Add %%{_sysconfdir}/NetworkManager/dispatcher.d/40-%%{name} (Thanks to Pankaj Pandey) +- Include man-files. +- Add Requires: initscripts as owner directory %%{_sysconfdir}/NetworkManager/dispatcher.d/ +* Thu Aug 20 2009 Pavel Alexeev - 0.6-3 +- Fedora Review started - thank you Peter Lemenkov. +- Change rights (0755->0644) of config. +- Disable service by default. +- Add BR dos2unix. + +* Mon Aug 17 2009 Pavel Alexeev - 0.6-2 +- /usr/bin/proxy renamed to htproxy to avoid name bump with libproxy-bin. +- Add Source2: 3proxy.cfg from Alt Linux (slightly modified) - http://sisyphus.ru/ru/srpm/Sisyphus/3proxy/sources/1 (thanks to Afanasov Dmitry). +- Add log-dir %%{_localstatedir}/log/%%{name} +* Mon Aug 17 2009 Pavel Alexeev - 0.6-1 +- Ressurect old spec. New version 0.6. +- Rename spec to classic %%{name}.spec. +- Remove Hu part from release and add %%{?dist}. +- Change summary, description, URL. Add Russian localisation of sumamry and description. +- Strip some old comments. +- Add to %%doc Readme Changelog authors copying news. +- Turn macros usage from %%name to %%{name} for consistence. +- Change group from System/Servers to standard System Environment/Daemons. +- Add %%defattr(-,root,root,-) in %%files section. +- Add cleanup in %%install section. +- Add %%clean section with cleanup buildroot. +- License changed from just GPL to "BSD or ASL 2.0 or GPLv2+ or LGPLv2+" (according to Makefile.Linux) +- Add %%config(noreplace) mark to all configs. +- Add file %%{_initdir}/%%{name} +- Old %%{_initdir} macros replaced by %%{_initrddir} +- Hack makefile to use system CFLAGS. +- Add %%post/%%postun sections. + +* Fri Jan 25 2008 Pavel Alexeev - 0.5.3k +- Import from ftp://ftp.nluug.nl/pub/os/Linux/distr/altlinux/4.0/Server/4.0.1/files/SRPMS/3proxy-0.5.3h-alt1.src.rpm + Combine with ftp://ftp.pbone.net/mirror/ftp.sourceforge.net/pub/sourceforge/t/th/three-proxy/3proxy-0.5.3g-1.src.rpm +- Steep to version 0.5.3k +- Comment out packager +- Reformat header of spec with tabs +- Add desc from second src.rpm of import +- Correct source0 +- Add -c key fo %%setup macro +- Add BuildRoot definition (this is not ALT) +- Change + Release: alt1 + to + Release: 0.Hu.0 + +* Fri Apr 13 2007 Lunar Child 0.5.3h-alt1 +- new version + +* Wed Mar 21 2007 Lunar Child 0.5.3g-alt2 +- Added init script. +- Added new trivial config file. + +* Tue Mar 20 2007 Lunar Child 0.5.3g-alt1 +- First build for ALT Linux Sisyphus diff --git a/sources b/sources index e69de29..f1d0f7f 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +SHA512 (3proxy-0.9.5.tar.gz) = b668db6438da19ee2479228af744b9b3b9ff2c7e6d97aaf3b20737b165ab2baf656ac9ea92b6f1e169c428784c7d9e3e7eeb7c3effb1c0b77e5038319b6d2bcd