Ravenports generated: 09 May 2022 22:55
[ravenports.git] / bucket_96 / libfilezilla
1 # Buildsheet autogenerated by ravenadm tool -- Do not edit.
2
3 NAMEBASE=               libfilezilla
4 VERSION=                0.37.1
5 KEYWORDS=               ftp
6 VARIANTS=               standard
7 SDESC[standard]=        C++ lib for building platform-independent programs
8 HOMEPAGE=               https://lib.filezilla-project.org
9 CONTACT=                Michael_Reim[kraileth@elderlinux.org]
10
11 DOWNLOAD_GROUPS=        main
12 SITES[main]=            https://download.filezilla-project.org/libfilezilla/
13 DISTFILE[1]=            libfilezilla-0.37.1.tar.bz2:main
14 DF_INDEX=               1
15 SPKGS[standard]=        complete
16                         primary
17                         nls
18
19 OPTIONS_AVAILABLE=      none
20 OPTIONS_STANDARD=       none
21
22 BUILD_DEPENDS=          gmp:static:standard
23                         gnutls-devel:primary:standard
24 BUILDRUN_DEPENDS=       gnutls-devel:library:standard
25                         nettle:primary:standard
26
27 USES=                   gettext-tools gmake iconv:wchar_t libtool pkgconfig
28                         c++:primary
29
30 LICENSE=                GPLv2+:complete
31 LICENSE_TERMS=          complete:{{WRKDIR}}/TERMS
32 LICENSE_FILE=           GPLv2+:{{WRKSRC}}/COPYING
33 LICENSE_AWK=            TERMS:"^Documentation"
34 LICENSE_SOURCE=         TERMS:{{WRKSRC}}/README
35 LICENSE_SCHEME=         solo
36
37 FPC_EQUIVALENT=         ftp/libfilezilla
38
39 MUST_CONFIGURE=         gnu
40
41 INSTALL_TARGET=         install-strip
42 SOVERSION=              25.1.0
43
44 [FILE:673:descriptions/desc.primary]
45 libfilezilla is a small and modern C++ library, offering some basic 
46 functionality to build high-performing, platform-independent programs. 
47 Some of the highlights include:
48
49   -  A typesafe, multi-threaded event system that's very simple to use yet 
50 extremely efficient
51   -  Timers for periodic events
52   -  A datetime class that not only tracks timestamp but also their 
53 accuracy, which simplifies dealing with timestamps originating from 
54 different sources
55   -  Simple process handling for spawning child processes with redirected 
56 I/O
57
58 libfilezilla is a cross-platform library for all major operating systems, 
59 including but not limited to Linux, *BSD, OS X and Windows.
60
61
62 [FILE:106:distinfo]
63 f9446c0936ecc6f6172f8b944536f0708d54c27bfd1fa0e62e1410c6f7cb33e8       608419 libfilezilla-0.37.1.tar.bz2
64
65
66 [FILE:897:manifests/plist.primary]
67 include/libfilezilla/
68  apply.hpp
69  buffer.hpp
70  encode.hpp
71  encryption.hpp
72  event.hpp
73  event_handler.hpp
74  event_loop.hpp
75  file.hpp
76  format.hpp
77  fsresult.hpp
78  hash.hpp
79  hostname_lookup.hpp
80  impersonation.hpp
81  invoker.hpp
82  iputils.hpp
83  json.hpp
84  jws.hpp
85  libfilezilla.hpp
86  local_filesys.hpp
87  logger.hpp
88  mutex.hpp
89  nonowning_buffer.hpp
90  optional.hpp
91  process.hpp
92  rate_limited_layer.hpp
93  rate_limiter.hpp
94  recursive_remove.hpp
95  rwmutex.hpp
96  shared.hpp
97  signature.hpp
98  socket.hpp
99  string.hpp
100  thread.hpp
101  thread_pool.hpp
102  time.hpp
103  tls_info.hpp
104  tls_layer.hpp
105  tls_system_trust_store.hpp
106  translate.hpp
107  uri.hpp
108  util.hpp
109  version.hpp
110  visibility_helper.hpp
111 include/libfilezilla/glue/
112  unix.hpp
113  wx.hpp
114  wxinvoker.hpp
115 include/libfilezilla/private/
116  defs.hpp
117  visibility.hpp
118 lib/
119  libfilezilla.a
120  libfilezilla.so
121  libfilezilla.so.%%SOMAJOR%%
122  libfilezilla.so.%%SOVERSION%%
123 lib/pkgconfig/libfilezilla.pc
124
125
126 [FILE:2470:manifests/plist.nls]
127 share/locale/an/LC_MESSAGES/libfilezilla.mo
128 share/locale/ar/LC_MESSAGES/libfilezilla.mo
129 share/locale/az/LC_MESSAGES/libfilezilla.mo
130 share/locale/bg_BG/LC_MESSAGES/libfilezilla.mo
131 share/locale/ca/LC_MESSAGES/libfilezilla.mo
132 share/locale/ca_ES@valencia/LC_MESSAGES/libfilezilla.mo
133 share/locale/co/LC_MESSAGES/libfilezilla.mo
134 share/locale/cs_CZ/LC_MESSAGES/libfilezilla.mo
135 share/locale/cy/LC_MESSAGES/libfilezilla.mo
136 share/locale/da/LC_MESSAGES/libfilezilla.mo
137 share/locale/de/LC_MESSAGES/libfilezilla.mo
138 share/locale/el/LC_MESSAGES/libfilezilla.mo
139 share/locale/es/LC_MESSAGES/libfilezilla.mo
140 share/locale/et/LC_MESSAGES/libfilezilla.mo
141 share/locale/eu/LC_MESSAGES/libfilezilla.mo
142 share/locale/fa_IR/LC_MESSAGES/libfilezilla.mo
143 share/locale/fi_FI/LC_MESSAGES/libfilezilla.mo
144 share/locale/fr/LC_MESSAGES/libfilezilla.mo
145 share/locale/gl_ES/LC_MESSAGES/libfilezilla.mo
146 share/locale/he_IL/LC_MESSAGES/libfilezilla.mo
147 share/locale/hr/LC_MESSAGES/libfilezilla.mo
148 share/locale/hu_HU/LC_MESSAGES/libfilezilla.mo
149 share/locale/hy/LC_MESSAGES/libfilezilla.mo
150 share/locale/id_ID/LC_MESSAGES/libfilezilla.mo
151 share/locale/is/LC_MESSAGES/libfilezilla.mo
152 share/locale/it/LC_MESSAGES/libfilezilla.mo
153 share/locale/ja_JP/LC_MESSAGES/libfilezilla.mo
154 share/locale/kab/LC_MESSAGES/libfilezilla.mo
155 share/locale/ko_KR/LC_MESSAGES/libfilezilla.mo
156 share/locale/ky/LC_MESSAGES/libfilezilla.mo
157 share/locale/lo_LA/LC_MESSAGES/libfilezilla.mo
158 share/locale/lt_LT/LC_MESSAGES/libfilezilla.mo
159 share/locale/lv_LV/LC_MESSAGES/libfilezilla.mo
160 share/locale/mk_MK/LC_MESSAGES/libfilezilla.mo
161 share/locale/nb_NO/LC_MESSAGES/libfilezilla.mo
162 share/locale/ne/LC_MESSAGES/libfilezilla.mo
163 share/locale/nl/LC_MESSAGES/libfilezilla.mo
164 share/locale/nn_NO/LC_MESSAGES/libfilezilla.mo
165 share/locale/oc/LC_MESSAGES/libfilezilla.mo
166 share/locale/pl_PL/LC_MESSAGES/libfilezilla.mo
167 share/locale/pt_BR/LC_MESSAGES/libfilezilla.mo
168 share/locale/pt_PT/LC_MESSAGES/libfilezilla.mo
169 share/locale/ro_RO/LC_MESSAGES/libfilezilla.mo
170 share/locale/ru/LC_MESSAGES/libfilezilla.mo
171 share/locale/sk_SK/LC_MESSAGES/libfilezilla.mo
172 share/locale/sl_SI/LC_MESSAGES/libfilezilla.mo
173 share/locale/sr/LC_MESSAGES/libfilezilla.mo
174 share/locale/sv/LC_MESSAGES/libfilezilla.mo
175 share/locale/th_TH/LC_MESSAGES/libfilezilla.mo
176 share/locale/tr/LC_MESSAGES/libfilezilla.mo
177 share/locale/uk_UA/LC_MESSAGES/libfilezilla.mo
178 share/locale/vi_VN/LC_MESSAGES/libfilezilla.mo
179 share/locale/zh_CN/LC_MESSAGES/libfilezilla.mo
180 share/locale/zh_TW/LC_MESSAGES/libfilezilla.mo
181
182
183 [FILE:1886:patches/patch-lib_impersonation.cpp]
184 --- lib/impersonation.cpp.orig  2021-12-08 15:10:58 UTC
185 +++ lib/impersonation.cpp
186 @@ -7,7 +7,11 @@
187  #include <optional>
188  #include <tuple>
189  
190 -#if FZ_UNIX
191 +#if defined(__linux__)
192 +#define SHADOW_SUPPORTED
193 +#endif
194 +
195 +#ifdef SHADOW_SUPPORTED
196  #include <crypt.h>
197  #include <shadow.h>
198  #endif
199 @@ -58,7 +62,7 @@ passwd_holder get_passwd(fz::native_stri
200         return ret;
201  }
202  
203 -#if FZ_UNIX
204 +#ifdef SHADOW_SUPPORTED
205  struct shadow_holder {
206         shadow_holder() = default;
207         shadow_holder(shadow_holder const&) = delete;
208 @@ -150,7 +154,7 @@ std::vector<gid_t> get_supplementary(std
209  
210  bool check_auth(fz::native_string const& username, fz::native_string const& password)
211  {
212 -#if FZ_UNIX
213 +#ifdef SHADOW_SUPPORTED
214         auto shadow = get_shadow(username);
215         if (shadow.shadow_) {
216                 struct crypt_data data{};
217 @@ -196,6 +200,7 @@ bool check_auth(fz::native_string const&
218  impersonation_token::impersonation_token(fz::native_string const& username, fz::native_string const& password)
219  {
220         auto pwd = get_passwd(username);
221 +#ifdef SHADOW_SUPPORTED
222         if (pwd.pwd_) {
223                 if (check_auth(username, password)) {
224                         impl_ = std::make_unique<impersonation_token_impl>();
225 @@ -208,6 +213,22 @@ impersonation_token::impersonation_token
226                         impl_->sup_groups_ = get_supplementary(username, pwd.pwd_->pw_gid);
227                 }
228         }
229 +#else
230 +       char *c;
231 +       if (pwd.pwd_) {
232 +               c = crypt(password.c_str(), pwd.pwd_->pw_passwd);
233 +               if ((c != NULL) && (strcmp(c, pwd.pwd_->pw_passwd) == 0)) {
234 +                       impl_ = std::make_unique<impersonation_token_impl>();
235 +                       impl_->name_ = username;
236 +                       if (pwd.pwd_->pw_dir) {
237 +                               impl_->home_ = pwd.pwd_->pw_dir;
238 +                       }
239 +                       impl_->uid_ = pwd.pwd_->pw_uid;
240 +                       impl_->gid_ = pwd.pwd_->pw_gid;
241 +                       impl_->sup_groups_ = get_supplementary(username, pwd.pwd_->pw_gid);
242 +               }
243 +       }
244 +#endif    /* SHADOW_SUPPORTED */
245  }
246  
247  impersonation_token::impersonation_token(fz::native_string const& username, impersonation_flag flag)
248