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