openSUSE Commits
Threads by month
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2008 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2007 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2006 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
July 2017
- 1 participants
- 1683 discussions
Hello community,
here is the log from the commit of package yast2-trans for openSUSE:Factory checked in at 2017-07-30 11:25:24
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/yast2-trans (Old)
and /work/SRC/openSUSE:Factory/.yast2-trans.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "yast2-trans"
Sun Jul 30 11:25:24 2017 rev:134 rq:511452 version:84.87.20170719.20cc14dd
Changes:
--------
--- /work/SRC/openSUSE:Factory/yast2-trans/yast2-trans.changes 2017-07-05 23:47:11.699255749 +0200
+++ /work/SRC/openSUSE:Factory/.yast2-trans.new/yast2-trans.changes 2017-07-30 11:26:23.233800182 +0200
@@ -1,0 +2,44 @@
+Wed Jul 19 14:50:06 UTC 2017 - git(a)opensuse.org
+
+- Update to version 84.87.20170719.20cc14dd:
+ * Translated using Weblate (Chinese (Taiwan))
+ * Translated using Weblate (Czech)
+ * Translated using Weblate (Danish)
+ * Translated using Weblate (Dutch)
+ * Translated using Weblate (French)
+ * Translated using Weblate (Indonesian)
+ * Translated using Weblate (Slovak)
+ * Translated using Weblate (Spanish)
+ * Translated using Weblate (Ukrainian)
+
+-------------------------------------------------------------------
+Mon Jul 17 12:07:28 UTC 2017 - git(a)opensuse.org
+
+- Update to version 84.87.20170716.002a14bf:
+ * Added translation using Weblate (Norwegian Nynorsk)
+ * New POT for text domain 'autoinst'.
+ * New POT for text domain 'base'.
+ * New POT for text domain 'control'.
+ * New POT for text domain 'ftp-server'.
+ * New POT for text domain 'network'.
+ * New POT for text domain 'ntp-client'.
+ * New POT for text domain 'services-manager'.
+ * New POT for text domain 'storage'.
+ * New POT for text domain 'storage-ng'.
+ * Translated using Weblate (Catalan)
+ * Translated using Weblate (Chinese (Taiwan))
+ * Translated using Weblate (Czech)
+ * Translated using Weblate (Dutch)
+ * Translated using Weblate (Finnish)
+ * Translated using Weblate (French)
+ * Translated using Weblate (German)
+ * Translated using Weblate (Indonesian)
+ * Translated using Weblate (Italian)
+ * Translated using Weblate (Japanese)
+ * Translated using Weblate (Norwegian Nynorsk)
+ * Translated using Weblate (Portuguese (Brazil))
+ * Translated using Weblate (Russian)
+ * Translated using Weblate (Slovak)
+ * Translated using Weblate (Spanish)
+
+-------------------------------------------------------------------
Old:
----
yast2-trans-84.87.20170703.c20fb749.tar.xz
New:
----
yast2-trans-84.87.20170719.20cc14dd.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ yast2-trans.spec ++++++
--- /var/tmp/diff_new_pack.73loAD/_old 2017-07-30 11:26:24.449628620 +0200
+++ /var/tmp/diff_new_pack.73loAD/_new 2017-07-30 11:26:24.453628056 +0200
@@ -17,7 +17,7 @@
Name: yast2-trans
-Version: 84.87.20170703.c20fb749
+Version: 84.87.20170719.20cc14dd
Release: 0
Summary: YaST2 - Translation Container Package
License: GPL-2.0+
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.73loAD/_old 2017-07-30 11:26:24.529617333 +0200
+++ /var/tmp/diff_new_pack.73loAD/_new 2017-07-30 11:26:24.529617333 +0200
@@ -1,4 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">git://github.com/yast/yast-translations.git</param>
- <param name="changesrevision">c20fb7495f85fdd1b4bc54baaf1463135a19a36d</param></service></servicedata>
\ No newline at end of file
+ <param name="changesrevision">20cc14dddf8c5020831a658a04b491300d939380</param></service></servicedata>
\ No newline at end of file
++++++ yast2-trans-84.87.20170703.c20fb749.tar.xz -> yast2-trans-84.87.20170719.20cc14dd.tar.xz ++++++
/work/SRC/openSUSE:Factory/yast2-trans/yast2-trans-84.87.20170703.c20fb749.tar.xz /work/SRC/openSUSE:Factory/.yast2-trans.new/yast2-trans-84.87.20170719.20cc14dd.tar.xz differ: char 26, line 1
1
0
Hello community,
here is the log from the commit of package ceph for openSUSE:Factory checked in at 2017-07-30 11:25:18
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/ceph (Old)
and /work/SRC/openSUSE:Factory/.ceph.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ceph"
Sun Jul 30 11:25:18 2017 rev:16 rq:511397 version:12.1.1+git.1500447879.e5aac115d7
Changes:
--------
--- /work/SRC/openSUSE:Factory/ceph/ceph-test.changes 2017-07-11 08:33:06.965910390 +0200
+++ /work/SRC/openSUSE:Factory/.ceph.new/ceph-test.changes 2017-07-30 11:25:52.554129302 +0200
@@ -1,0 +2,158 @@
+Wed Jul 19 08:11:53 UTC 2017 - ncutler(a)suse.com
+
+- Update to version 12.1.1+git.1500447879.e5aac115d7:
+ + upstream 12.1.1 (release candidate)
+ + Other notable changes:
+ * build/ops: rpm: fix typo WTIH_BABELTRACE (pr#16366)
+ * build/ops: rpm: put mgr python build dependencies in make_check bcond
+ (pr#15940)
+ * ceph-disk: support osd new (pr#15432)
+ * ceph: allow '-' with -i and -o for stdin/stdout (pr#16359)
+ * cls/rbd: trash_list should be iterable (pr#16372)
+ * doc: update quick start to add a note for mgr create command for luminous+
+ builds (pr#16350)
+ * libradosstriper: fix format injection vulnerability (pr#15674)
+ * mgr/dashboard: add OSD list view (pr#16373)
+ * mon, osd: misc fixes (pr#16283)
+ * mon/MDSMonitor: fix segv when multiple MDSs raise same alert (pr#16302)
+ * mon/MgrMonitor: fix standby addition to mgrmap (pr#16397)
+ * mon/MgrMonitor: only induce mgr epoch shortly after mkfs (pr#16356)
+ * mon: Fix output text and doc (pr#16367)
+ * mon: add force-create-pg back (pr#16353)
+ * mon: skip crush smoke test when running under valgrind (pr#16346)
+ * os/bluestore: use reference to avoid string copy (pr#16364)
+ * osd: combine conditional statements (pr#16391)
+ * osd: restart boot process if waiting for luminous mons (pr#16341)
+ * rgw: S3 lifecycle now supports expiration date (pr#15807)
+ * rgw: acl grants num limit (pr#16291)
+ * rgw: delete object in error path (pr#16324)
+ * rgw: drop unused find_replacement() and some function docs (pr#16386)
+ * rgw: fix err when copy object in bucket with specified placement rule
+ (pr#15837)
+ * rgw: fix potential null pointer dereference in rgw_admin (pr#15667)
+ * rgw: raise debug level of RGWPostObj_ObjStore_S3::get_policy (pr#16203)
+ * rgw: req xml params size limitation error msg (pr#16310)
+ * rgw_file: add service map registration (pr#16251)
+ * test,rgw: fix rgw placement rule pool config option (pr#16380)
+ * test/fio: print all perfcounters rather than objectstore itself (pr#16339)
+
+-------------------------------------------------------------------
+Mon Jul 17 13:11:35 UTC 2017 - ncutler(a)suse.com
+
+- Update to version 12.1.0+git.1500295948.39d2e5f424:
+ + spec file:
+ * socat build dependency only for make check
+ * fix typo WTIH_BABELTRACE
+
+-------------------------------------------------------------------
+Mon Jul 17 10:42:27 UTC 2017 - ncutler(a)suse.com
+
+- Update to version 12.1.0+git.1500284183.1ed97736ab:
+ + Spec file changes:
+ * bump epoch (not relevant for SUSE)
+ * add socat buildrequires
+ * libcephfs2 now obsoletes libcephfs1 (bsc#1047020)
+ * HAVE_BABELTRACE option renamed to WITH_BABELTRACE
+ * fix a regression in ceph-base %postun scriptlet
+ + Selected other changes:
+ * Revert "msg/async: increase worker reference with local listen table enabled backend"
+ * build: build erasure-code isa lib without versions
+ * ceph-disk/ceph_disk/main.py: Replace ST_ISBLK() test by is_diskdevice()
+ * ceph.in: filter out audit from ceph -w
+ * common,config: OPT_FLOAT and OPT_DOUBLE output format in config show
+ * common/Timer: do not add event if already shutdown
+ * compressor/zlib: remove g_ceph_context/g_conf from compressor plugin
+ * core: make the conversion from wire error to host OS work
+ * core:" Stringify needs access to << before reference" src/include/stringify.h
+ * crush/CrushWrapper: make get_immediate_parent[_id] ignore per-class shadow hierarchy
+ * doc/mgr/dashboard: update dashboard docs to reflect new defaults
+ * doc/rados.8: add offset option for put command
+ * doc: fix link for ceph-mgr cephx authorization
+ * doc: update intro, quick start docs
+ * isa-l: update isa-l to v2.18
+ * librbd: fail IO request when exclusive lock cannot be obtained
+ * mgr,librados: service map
+ * mgr,mon: debug init and mgrdigest subscriptions
+ * mgr,mon: enable/disable mgr modules via 'ceph mgr module ...' commands
+ * mgr/ClusterState: do not mangle PGMap outside of Incremental
+ * mgr/restful: bind to :: and update docs
+ * mgr: Zabbix monitoring module
+ * mon,crush: create crush rules using device classes for replicated and ec pools via cli
+ * mon/MgrStatMonitor: do not crash on luminous dev version upgrades
+ * mon/MonClient: respect the priority in SRV RR
+ * mon/Monitor: recreate mon session if features changed
+ * mon/OSDMonitor: do not allow crush device classes until luminous
+ * mon/OSDMonitor: guard 'osd crush set-device-class'
+ * mon/mgr: add detail error infomation
+ * mon: Fix status output warning for mon_warn_osd_usage_min_max_delta
+ * mon: add support public_bind_addr option
+ * mon: collect mon metdata as part of the election
+ * mon: debug session feature tracking
+ * mon: do crushtool test with fork and timeout, but w/o exec of crushtool
+ * mon: fix hang on deprecated/removed 'pg set_\*full_ratio' commands
+ * mon: include device class in tree view; hide shadow hierarchy
+ * mon: maintain the "cluster" PerfCounters when using ceph-mgr
+ * mon: revamp health check/warning system
+ * msg/async: increase worker reference with local listen table enabled backend
+ * msg/async: make recv_stamp more precise
+ * msg: QueueStrategy::wait() joins all threads
+ * msg: make listen backlog an option, increase from 128 to 512
+ * os/blueStore: Failure retry for opening file
+ * os/bluestore/BlueFS: clean up log_writer aios from compaction
+ * os/bluestore/BlueFS: clear current log entrys before dump all fnode
+ * os/bluestore/KernelDevice: batch aio submit
+ * os/bluestore: Make BitmapFreelistManager kv itereator short lived
+ * os/bluestore: cap rocksdb cache size
+ * os/bluestore: clear up redundant size assignment in KernelDevice
+ * os/bluestore: differ default cache size for hdd/ssd backends
+ * os/bluestore: fix deferred_aio deadlock
+ * os/bluestore: move object exist in assign nid
+ * os/bluestore: only submit deferred if there is any
+ * os/bluestore: reduce some overhead for _do_clone_range() and _do_remove()
+ * os/bluestore: use bufferlist functions whenever possible
+ * os/filestore/FileJournal: FileJournal::open() close journal file before return error
+ * os/filestore/HashIndex: randomize split threshold by a configurable amount
+ * os/filestore: call committed_thru when no journal entries are replayed
+ * os/filestore: do not free event if not added
+ * os/filestore: queue ondisk completion before apply work
+ * os/filestore: require experimental flag for btrfs
+ * osd/OSD: auto class on osd start up
+ * osd/PrimaryLogPG solve cache tier osd high memory consumption
+ * osd/ReplicatedBackend: reset thread heartbeat after every omap entry
+ * osd/filestore: Revert "os/filestore: move ondisk in front
+ * osd: Check for and automatically repair object info soid during scrub
+ * osd: Preserve OSDOp information for historic ops
+ * osd: check queue_transaction return value
+ * osd: clear_queued_recovery() in on_shutdown()
+ * osd: compact osd feature
+ * pybind/mgr/dashboard: bind to :: by default
+ * pybind/mgr/dashboard: fix get kernel_version error
+ * rbd-mirror: ignore permission errors on rbd_mirroring object
+ * rbd: do not attempt to load key if auth is disabled
+ * rgw: fix compilation with cryptopp
+ * rgw,test: fix rgw placement rule pool config option
+ * rgw/rgw_frontend.h: Return negative value for empty uid in RGWLoadGenFrontend::init()
+ * rgw/rgw_rados: Remove duplicate calls in RGWRados::finalize()
+ * rgw: /info claims we do support Swift's accounts ACLs
+ * rgw: Correcting the condition in ceph_assert while parsing an AWS Principal
+ * rgw: Do not fetch bucket stats by default upon bucket listing
+ * rgw: Fix a bug that multipart upload may exceed the quota
+ * rgw: Initialize pointer fields
+ * rgw: fix leaks with incomplete multiparts
+ * rgw: fix memory leak in copy_obj_to_remote_dest
+ * rgw: fix not initialized vars which cause rgw crash with ec data pool
+ * rgw: fix radosgw-admin data sync run crash
+ * rgw: fix s3 object uploads with chunked transfers and v4 signatures
+ * rgw: fix the subdir without slash of s3 website url
+ * rgw: fix zone did't update realm_id when added to zonegroup
+ * rgw: log_meta only for more than one zone
+ * rgw: rgw_file skip policy read for virtual components
+ * rgw: using RGW_OBJ_NS_MULTIPART in check_bad_index_multipart
+ * rgw: verify md5 in post obj
+ * rgw_file: add compression interop to RGW NFS
+ * rgw:fix s3 aws v2 signature priority between header['X-Amz-Date'] and header['Date']
+ * vstart.sh: bind restful, dashboard to ::, not 127.0.0.1
+ * vstart: add --rgw_compression to set rgw compression plugin
+ * vstart: allow to start multiple radosgw when RGW=x
+
+-------------------------------------------------------------------
ceph.changes: same change
Old:
----
ceph-12.1.0+git.1499090920.2c11b88d14.tar.bz2
New:
----
ceph-12.1.1+git.1500447879.e5aac115d7.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ceph-test.spec ++++++
--- /var/tmp/diff_new_pack.CPn4Ra/_old 2017-07-30 11:25:57.317457162 +0200
+++ /var/tmp/diff_new_pack.CPn4Ra/_new 2017-07-30 11:25:57.321456598 +0200
@@ -69,10 +69,10 @@
# main package definition
#################################################################################
Name: ceph-test
-Version: 12.1.0+git.1499090920.2c11b88d14
+Version: 12.1.1+git.1500447879.e5aac115d7
Release: 0%{?dist}
%if 0%{?fedora} || 0%{?rhel}
-Epoch: 1
+Epoch: 2
%endif
# define %_epoch_prefix macro which will expand to the empty string if %epoch is undefined
@@ -126,6 +126,7 @@
BuildRequires: python-Werkzeug
%endif
BuildRequires: python-pecan
+BuildRequires: socat
%endif
BuildRequires: bc
BuildRequires: gperf
@@ -437,10 +438,10 @@
%endif
%if %{with lttng}
-DWITH_LTTNG=ON \
- -DHAVE_BABELTRACE=ON \
+ -DWITH_BABELTRACE=ON \
%else
-DWITH_LTTNG=OFF \
- -DHAVE_BABELTRACE=OFF \
+ -DWITH_BABELTRACE=OFF \
%endif
$CEPH_EXTRA_CMAKE_ARGS \
%if 0%{with ocf}
++++++ ceph.spec ++++++
--- /var/tmp/diff_new_pack.CPn4Ra/_old 2017-07-30 11:25:57.421442489 +0200
+++ /var/tmp/diff_new_pack.CPn4Ra/_new 2017-07-30 11:25:57.429441360 +0200
@@ -69,10 +69,10 @@
# main package definition
#################################################################################
Name: ceph
-Version: 12.1.0+git.1499090920.2c11b88d14
+Version: 12.1.1+git.1500447879.e5aac115d7
Release: 0%{?dist}
%if 0%{?fedora} || 0%{?rhel}
-Epoch: 1
+Epoch: 2
%endif
# define %_epoch_prefix macro which will expand to the empty string if %epoch is undefined
@@ -120,6 +120,7 @@
BuildRequires: python-Werkzeug
%endif
BuildRequires: python-pecan
+BuildRequires: socat
%endif
BuildRequires: bc
BuildRequires: gperf
@@ -628,6 +629,7 @@
%if 0%{?suse_version}
Group: System/Libraries
%endif
+Obsoletes: libcephfs1
%if 0%{?rhel} || 0%{?fedora}
Obsoletes: ceph-libs < %{_epoch_prefix}%{version}-%{release}
Obsoletes: ceph-libcephfs
@@ -861,10 +863,10 @@
%endif
%if %{with lttng}
-DWITH_LTTNG=ON \
- -DHAVE_BABELTRACE=ON \
+ -DWITH_BABELTRACE=ON \
%else
-DWITH_LTTNG=OFF \
- -DHAVE_BABELTRACE=OFF \
+ -DWITH_BABELTRACE=OFF \
%endif
$CEPH_EXTRA_CMAKE_ARGS \
%if 0%{with ocf}
@@ -1063,6 +1065,7 @@
%postun base
/sbin/ldconfig
+test -n "$FIRST_ARG" || FIRST_ARG=$1
%if 0%{?suse_version}
DISABLE_RESTART_ON_UPDATE="yes"
%service_del_postun ceph-disk(a)\*.service ceph.target
++++++ _service ++++++
--- /var/tmp/diff_new_pack.CPn4Ra/_old 2017-07-30 11:25:57.529427252 +0200
+++ /var/tmp/diff_new_pack.CPn4Ra/_new 2017-07-30 11:25:57.545424994 +0200
@@ -1,6 +1,6 @@
<services>
<service name="tar_scm" mode="disabled">
- <param name="versionformat">12.1.0+git.%ct.%h</param>
+ <param name="versionformat">12.1.1+git.%ct.%h</param>
<param name="url">git://github.com/SUSE/ceph.git</param>
<param name="revision">ses5</param>
<param name="filename">ceph</param>
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.CPn4Ra/_old 2017-07-30 11:25:57.573421044 +0200
+++ /var/tmp/diff_new_pack.CPn4Ra/_new 2017-07-30 11:25:57.577420479 +0200
@@ -1,4 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">git://github.com/SUSE/ceph.git</param>
- <param name="changesrevision">20d6a47cc9a08e4013d0492381d62b60f48eed47</param></service></servicedata>
\ No newline at end of file
+ <param name="changesrevision">39d2e5f424e5312975852f340d3ca34ef296e6f9</param></service></servicedata>
\ No newline at end of file
++++++ ceph-12.1.0+git.1499090920.2c11b88d14.tar.bz2 -> ceph-12.1.1+git.1500447879.e5aac115d7.tar.bz2 ++++++
/work/SRC/openSUSE:Factory/ceph/ceph-12.1.0+git.1499090920.2c11b88d14.tar.bz2 /work/SRC/openSUSE:Factory/.ceph.new/ceph-12.1.1+git.1500447879.e5aac115d7.tar.bz2 differ: char 11, line 1
1
0
Hello community,
here is the log from the commit of package netcat-openbsd for openSUSE:Factory checked in at 2017-07-30 11:25:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/netcat-openbsd (Old)
and /work/SRC/openSUSE:Factory/.netcat-openbsd.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "netcat-openbsd"
Sun Jul 30 11:25:12 2017 rev:23 rq:510984 version:1.178
Changes:
--------
--- /work/SRC/openSUSE:Factory/netcat-openbsd/netcat-openbsd.changes 2014-01-23 15:49:58.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.netcat-openbsd.new/netcat-openbsd.changes 2017-07-30 11:25:14.311525614 +0200
@@ -1,0 +2,43 @@
+Mon Jul 17 13:11:34 UTC 2017 - tchvatal(a)suse.com
+
+- Drop all patches that were never upstreamed:
+ * connect-timeout.patch
+ * dccp.patch
+ * gcc-warnings.patch
+ * getservbyname.patch
+ * glib-strlcpy.patch
+ * help-version-exit.patch
+ * nc-1.84-udp_stop.patch
+ * netcat-info.patch
+ * netcat-openbsd-debian.patch
+ * netcat-openbsd-examples.patch
+ * netcat-openbsd-openbsd-compat.patch
+ * no-strtonum.patch
+ * pollhup.patch
+ * quit-timer.patch
+ * reuseaddr.patch
+ * send-crlf.patch
+ * silence-z.patch
+ * socks-b64-prototype.patch
+ * udp-scan-timeout.patch
+ * verbose-message-to-stderr.patch
+ * verbose-numeric-port.patch
+- Switch to debian package to not waste resources on doing exactly
+ the same.
+- Switches URL for debian package
+- Apply patches already prepared for debian package
+ * port-to-linux-with-libsd.patch
+ * compile-without-TLS-support.patch
+ * connect-timeout.patch
+ * get-sev-by-name.patch
+ * send-crlf.patch
+ * quit-timer.patch
+ * udp-scan-timeout.patch
+ * verbose-numeric-port.patch
+ * dccp-support.patch
+ * serialized-handling-multiple-clients.patch
+ * set-TCP-MD5SIG-correctly-for-client-connections.patch
+ * misc-failures-and-features.patch
+- Do not use hand provided CMakeLists.txt but rely on upstream makefile
+
+-------------------------------------------------------------------
Old:
----
CMakeLists.txt
dccp.patch
gcc-warnings.patch
getservbyname.patch
glib-strlcpy.patch
help-version-exit.patch
nc-1.84-udp_stop.patch
netcat-info.patch
netcat-openbsd-1.89.tar.bz2
netcat-openbsd-debian.patch
netcat-openbsd-examples.patch
netcat-openbsd-openbsd-compat.patch
no-strtonum.patch
pollhup.patch
reuseaddr.patch
silence-z.patch
socks-b64-prototype.patch
verbose-message-to-stderr.patch
New:
----
compile-without-TLS-support.patch
dccp-support.patch
get-sev-by-name.patch
misc-failures-and-features.patch
netcat-openbsd_1.178.orig.tar.gz
port-to-linux-with-libsd.patch
serialized-handling-multiple-clients.patch
set-TCP-MD5SIG-correctly-for-client-connections.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ netcat-openbsd.spec ++++++
--- /var/tmp/diff_new_pack.GhUzhQ/_old 2017-07-30 11:25:15.583346151 +0200
+++ /var/tmp/diff_new_pack.GhUzhQ/_new 2017-07-30 11:25:15.587345586 +0200
@@ -1,7 +1,7 @@
#
# spec file for package netcat-openbsd
#
-# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -16,42 +16,29 @@
#
-Url: http://www.openbsd.org/cgi-bin/cvsweb/src/usr.bin/nc/
-
Name: netcat-openbsd
-Version: 1.89
+Version: 1.178
Release: 0
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
-BuildRequires: cmake
-PreReq: update-alternatives
Summary: TCP/IP swiss army knife
License: BSD-3-Clause
Group: Productivity/Networking/Other
-Source: %{name}-%{version}.tar.bz2
-Source1: CMakeLists.txt
-Patch0: netcat-openbsd-openbsd-compat.patch
-Patch1: socks-b64-prototype.patch
-Patch2: silence-z.patch
-Patch3: glib-strlcpy.patch
-Patch4: no-strtonum.patch
-Patch5: pollhup.patch
-Patch6: reuseaddr.patch
-Patch7: connect-timeout.patch
-Patch8: udp-scan-timeout.patch
-Patch9: verbose-numeric-port.patch
-Patch10: send-crlf.patch
-Patch11: help-version-exit.patch
-Patch12: quit-timer.patch
-Patch13: getservbyname.patch
-Patch14: gcc-warnings.patch
-Patch15: verbose-message-to-stderr.patch
-Patch16: netcat-info.patch
-Patch17: dccp.patch
-#These are patches, but as they aren't applied list them as source
-Source2: nc-1.84-udp_stop.patch
-Source3: netcat-openbsd-debian.patch
-Source4: netcat-openbsd-examples.patch
-
+Url: http://www.openbsd.org/cgi-bin/cvsweb/src/usr.bin/nc/
+Source0: http://http.debian.net/debian/pool/main/n/netcat-openbsd/netcat-openbsd_%{v…
+#Patches from: http://http.debian.net/debian/pool/main/n/netcat-openbsd/netcat-openbsd_%{v…
+Patch0: port-to-linux-with-libsd.patch
+Patch1: compile-without-TLS-support.patch
+Patch2: connect-timeout.patch
+Patch3: get-sev-by-name.patch
+Patch4: send-crlf.patch
+Patch5: quit-timer.patch
+Patch6: udp-scan-timeout.patch
+Patch7: verbose-numeric-port.patch
+Patch8: dccp-support.patch
+Patch9: serialized-handling-multiple-clients.patch
+Patch10: set-TCP-MD5SIG-correctly-for-client-connections.patch
+Patch11: misc-failures-and-features.patch
+BuildRequires: pkgconfig
+BuildRequires: pkgconfig(libbsd)
Provides: nc6 = %{version}
Provides: netcat = %{version}
Obsoletes: nc6 <= 1.0
@@ -71,59 +58,22 @@
%prep
%setup -q
-%patch0 -p1
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
-%patch4 -p1
-%patch5 -p1
-%patch6 -p1
-%patch7 -p1
-%patch8 -p1
-%patch9 -p1
-%patch10 -p1
-%patch11 -p1
-%patch12 -p1
-%patch13 -p1
-%patch14 -p1
-%patch15 -p1
-%patch16 -p1
-%patch17 -p1
-cp %{S:1} .
+%autopatch -p1
%build
-export CFLAGS="%{optflags}"
-cmake -DCMAKE_INSTALL_PREFIX=%{_prefix} .
-make %{?jobs:-j%{jobs}}
+make %{?_smp_mflags} \
+ CFLAGS="%{optflags}"
%install
-make DESTDIR=%{buildroot} install
-mkdir -p %{buildroot}/etc/alternatives
-touch %{buildroot}/etc/alternatives/netcat \
- %{buildroot}/etc/alternatives/netcat.1.gz
+install -D -m0755 nc %{buildroot}%{_bindir}/nc
+install -D -m0644 nc.1 %{buildroot}/%{_mandir}/man1/nc.1
ln -s -f %{_bindir}/nc %{buildroot}/%{_bindir}/netcat
-ln -s -f nc.1.gz %{buildroot}/%{_mandir}/man1/netcat.1.gz
-
-%clean
+ln -s -f nc.1%{ext_man} %{buildroot}/%{_mandir}/man1/netcat.1%{ext_man}
%files
-%defattr(-,root,root)
%{_bindir}/nc
-%ghost %{_bindir}/netcat
-%{_mandir}/man1/nc.1.gz
-%ghost %{_mandir}/man1/netcat.1.gz
-%ghost /etc/alternatives/netcat
-%ghost /etc/alternatives/netcat.1.gz
-
-%post
-/usr/sbin/update-alternatives --install \
- %{_bindir}/netcat netcat %{_bindir}/nc 10 \
- --slave %{_mandir}/man1/netcat.1.gz netcat.1.gz %{_mandir}/man1/nc.1.gz
-
-%preun
-if [ "$1" = 0 ] ; then
- /usr/sbin/update-alternatives --remove \
- netcat %{_bindir}/nc
-fi
+%{_bindir}/netcat
+%{_mandir}/man1/nc.1%{ext_man}
+%{_mandir}/man1/netcat.1%{ext_man}
%changelog
++++++ compile-without-TLS-support.patch ++++++
++++ 748 lines (skipped)
++++++ connect-timeout.patch ++++++
--- /var/tmp/diff_new_pack.GhUzhQ/_old 2017-07-30 11:25:15.667334298 +0200
+++ /var/tmp/diff_new_pack.GhUzhQ/_new 2017-07-30 11:25:15.671333735 +0200
@@ -1,10 +1,24 @@
-Index: netcat-openbsd-1.89/netcat.c
-===================================================================
---- netcat-openbsd-1.89.orig/netcat.c 2008-01-22 16:17:27.000000000 -0500
-+++ netcat-openbsd-1.89/netcat.c 2008-01-22 16:17:30.000000000 -0500
-@@ -65,6 +65,10 @@
- #define PORT_MAX 65535
- #define PORT_MAX_LEN 6
+From: Aron Xu <aron(a)debian.org>
+Date: Mon, 13 Feb 2012 14:43:56 +0800
+Subject: connect timeout
+
+---
+ netcat.c | 78 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
+ 1 file changed, 76 insertions(+), 2 deletions(-)
+
+--- a/netcat.c
++++ b/netcat.c
+@@ -89,6 +89,7 @@
+
+ #include <err.h>
+ #include <errno.h>
++#include <fcntl.h>
+ #include <limits.h>
+ #include <netdb.h>
+ #include <poll.h>
+@@ -124,6 +125,10 @@
+ # define TLS_MUSTSTAPLE (1 << 5)
+ #endif
+#define CONNECTION_SUCCESS 0
+#define CONNECTION_FAILED 1
@@ -12,53 +26,50 @@
+
/* Command Line Options */
int dflag; /* detached, no stdin */
- int iflag; /* Interval Flag */
-@@ -104,6 +108,9 @@
- int parse_iptos(char *);
- void usage(int);
+ int Fflag; /* fdpass sock to stdout */
+@@ -208,6 +213,9 @@ ssize_t drainbuf(int, unsigned char *, s
+ ssize_t fillbuf(int, unsigned char *, size_t *);
+ # endif
-+static int connect_with_timeout(int fd, const struct sockaddr *sa,
-+ socklen_t salen, int ctimeout);
++static int connect_with_timeout(int fd, const struct sockaddr *sa,
++ socklen_t salen, int ctimeout);
+
int
main(int argc, char *argv[])
{
-@@ -508,13 +515,15 @@
- }
+@@ -1022,11 +1030,14 @@ remote_connect(const char *host, const c
+
+ set_common_sockopts(s, res->ai_family);
- set_common_sockopts(s);
--
-- if (connect(s, res0->ai_addr, res0->ai_addrlen) == 0)
-+ if ((error = connect_with_timeout(s, res0->ai_addr, res0->ai_addrlen, timeout)) == CONNECTION_SUCCESS)
+- if (timeout_connect(s, res->ai_addr, res->ai_addrlen) == 0)
++ if ((error = connect_with_timeout(s, res->ai_addr, res->ai_addrlen, timeout)) == CONNECTION_SUCCESS)
break;
-- else if (vflag)
-+ else if (vflag && error == CONNECTION_FAILED)
+- if (vflag)
++ if (vflag && error == CONNECTION_FAILED)
warn("connect to %s port %s (%s) failed", host, port,
uflag ? "udp" : "tcp");
--
-+ else if (vflag && error == CONNECTION_TIMEOUT)
-+ warn("connect to %s port %s (%s) timed out", host, port,
-+ uflag ? "udp" : "tcp");
-+
++ else if (vflag && error == CONNECTION_TIMEOUT)
++ warn("connect to %s port %s (%s) timed out", host, port,
++ uflag ? "udp" : "tcp");
+
+ save_errno = errno;
close(s);
- s = -1;
- } while ((res0 = res0->ai_next) != NULL);
-@@ -524,6 +533,74 @@
- return (s);
+@@ -1067,6 +1078,69 @@ timeout_connect(int s, const struct sock
+ return (ret);
}
-+static int connect_with_timeout(int fd, const struct sockaddr *sa,
++static int connect_with_timeout(int fd, const struct sockaddr *sa,
+ socklen_t salen, int ctimeout)
+{
+ int err;
+ struct timeval tv, *tvp = NULL;
+ fd_set connect_fdset;
+ socklen_t len;
-+ int orig_flags;
++ int orig_flags;
+
+ orig_flags = fcntl(fd, F_GETFL, 0);
+ if (fcntl(fd, F_SETFL, orig_flags | O_NONBLOCK) < 0 ) {
-+ warn("can't set O_NONBLOCK - timeout not avaliable");
++ warn("can't set O_NONBLOCK - timeout not available");
+ if (connect(fd, sa, salen) == 0)
+ return CONNECTION_SUCCESS;
+ else
@@ -74,7 +85,6 @@
+
+ /* attempt the connection */
+ err = connect(fd, sa, salen);
-+
+ if (err != 0 && errno == EINPROGRESS) {
+ /* connection is proceeding
+ * it is complete (or failed) when select returns */
@@ -85,25 +95,22 @@
+
+ /* call select */
+ do {
-+ err = select(fd + 1, NULL, &connect_fdset,
++ err = select(fd + 1, NULL, &connect_fdset,
+ NULL, tvp);
+ } while (err < 0 && errno == EINTR);
+
+ /* select error */
+ if (err < 0)
+ errx(1,"select error: %s", strerror(errno));
-+
+ /* we have reached a timeout */
-+ if (err == 0)
++ if (err == 0)
+ return CONNECTION_TIMEOUT;
-+
-+ /* select returned successfully, but we must test socket
++ /* select returned successfully, but we must test socket
+ * error for result */
+ len = sizeof(err);
+ if (getsockopt(fd, SOL_SOCKET, SO_ERROR, &err, &len) < 0)
+ errx(1, "getsockopt error: %s", strerror(errno));
-+
-+ /* setup errno according to the result returned by
++ /* setup errno according to the result returned by
+ * getsockopt */
+ if (err != 0)
+ errno = err;
@@ -113,7 +120,6 @@
+ fcntl(fd, F_SETFL, orig_flags);
+ return (err != 0)? CONNECTION_FAILED : CONNECTION_SUCCESS;
+}
-+
+
/*
* local_listen()
++++++ dccp-support.patch ++++++
From: Aron Xu <aron(a)debian.org>
Date: Mon, 13 Feb 2012 15:56:51 +0800
Subject: dccp support
---
nc.1 | 4 ++
netcat.c | 93 +++++++++++++++++++++++++++++++++++++++++++++++++++++----------
2 files changed, 82 insertions(+), 15 deletions(-)
--- a/nc.1
+++ b/nc.1
@@ -33,7 +33,7 @@
.Nd arbitrary TCP and UDP connections and listens
.Sh SYNOPSIS
.Nm nc
-.Op Fl 46CDdFhklNnrStUuvz
+.Op Fl 46CDdFhklNnrStUuvZz
.Op Fl I Ar length
.Op Fl i Ar interval
.Op Fl M Ar ttl
@@ -286,6 +286,8 @@ for SOCKS, 3128 for HTTPS).
An IPv6 address can be specified unambiguously by enclosing
.Ar proxy_address
in square brackets.
+.It Fl Z
+DCCP mode.
.It Fl z
Specifies that
.Nm
--- a/netcat.c
+++ b/netcat.c
@@ -147,6 +147,7 @@ int rflag; /* Random ports flag */
char *sflag; /* Source Address */
int tflag; /* Telnet Emulation */
int uflag; /* UDP - Default to TCP */
+int dccpflag; /* DCCP - Default to TCP */
int vflag; /* Verbosity */
int xflag; /* Socks proxy */
int zflag; /* Port Scan Flag */
@@ -219,6 +220,7 @@ ssize_t drainbuf(int, unsigned char *, s
ssize_t fillbuf(int, unsigned char *, size_t *);
# endif
+char *proto_name(int uflag, int dccpflag);
static int connect_with_timeout(int fd, const struct sockaddr *sa,
socklen_t salen, int ctimeout);
@@ -252,9 +254,9 @@ main(int argc, char *argv[])
while ((ch = getopt(argc, argv,
# if defined(TLS)
- "46C:cDde:FH:hI:i:K:klM:m:NnO:o:P:p:q:R:rSs:T:tUuV:vw:X:x:z")) != -1) {
+ "46C:cDde:FH:hI:i:K:klM:m:NnO:o:P:p:q:R:rSs:T:tUuV:vw:X:x:Zz")) != -1) {
# else
- "46CDdFhI:i:klM:m:NnO:P:p:q:rSs:T:tUuV:vw:X:x:z")) != -1) {
+ "46CDdFhI:i:klM:m:NnO:P:p:q:rSs:T:tUuV:vw:X:x:Zz")) != -1) {
# endif
switch (ch) {
case '4':
@@ -370,6 +372,13 @@ main(int argc, char *argv[])
case 'u':
uflag = 1;
break;
+ case 'Z':
+# if defined(IPPROTO_DCCP) && defined(SOCK_DCCP)
+ dccpflag = 1;
+# else
+ errx(1, "no DCCP support available");
+# endif
+ break;
case 'V':
# if defined(RT_TABLEID_MAX)
rtableid = (int)strtonum(optarg, 0,
@@ -461,6 +470,12 @@ main(int argc, char *argv[])
/* Cruft to make sure options are clean, and used properly. */
if (argv[0] && !argv[1] && family == AF_UNIX) {
+ if (uflag)
+ errx(1, "cannot use -u and -U");
+# if defined(IPPROTO_DCCP) && defined(SOCK_DCCP)
+ if (dccpflag)
+ errx(1, "cannot use -Z and -U");
+# endif
host = argv[0];
uport = NULL;
} else if (!argv[0] && lflag) {
@@ -527,8 +542,20 @@ main(int argc, char *argv[])
if (family != AF_UNIX) {
memset(&hints, 0, sizeof(struct addrinfo));
hints.ai_family = family;
- hints.ai_socktype = uflag ? SOCK_DGRAM : SOCK_STREAM;
- hints.ai_protocol = uflag ? IPPROTO_UDP : IPPROTO_TCP;
+ if (uflag) {
+ hints.ai_socktype = SOCK_DGRAM;
+ hints.ai_protocol = IPPROTO_UDP;
+ }
+# if defined(IPPROTO_DCCP) && defined(SOCK_DCCP)
+ else if (dccpflag) {
+ hints.ai_socktype = SOCK_DCCP;
+ hints.ai_protocol = IPPROTO_DCCP;
+ }
+# endif
+ else {
+ hints.ai_socktype = SOCK_STREAM;
+ hints.ai_protocol = IPPROTO_TCP;
+ }
if (nflag)
hints.ai_flags |= AI_NUMERICHOST;
}
@@ -536,7 +563,10 @@ main(int argc, char *argv[])
if (xflag) {
if (uflag)
errx(1, "no proxy support for UDP mode");
-
+# if defined(IPPROTO_DCCP) && defined(SOCK_DCCP)
+ if (dccpflag)
+ errx(1, "no proxy support for DCCP mode");
+# endif
if (lflag)
errx(1, "no proxy support for listen");
@@ -798,19 +828,20 @@ main(int argc, char *argv[])
}
}
+ char *proto = proto_name(uflag, dccpflag);
/* Don't look up port if -n. */
if (nflag)
sv = NULL;
else {
sv = getservbyport(
ntohs(atoi(portlist[i])),
- uflag ? "udp" : "tcp");
+ proto);
}
fprintf(stderr,
"Connection to %s %s port [%s/%s] "
"succeeded!\n", host, portlist[i],
- uflag ? "udp" : "tcp",
+ proto,
sv ? sv->s_name : "*");
}
if (Fflag)
@@ -1017,6 +1048,24 @@ unix_listen(char *path)
return (s);
}
+char *proto_name(int uflag, int dccpflag) {
+
+ char *proto = NULL;
+ if (uflag) {
+ proto = "udp";
+ }
+# if defined(IPPROTO_DCCP) && defined(SOCK_DCCP)
+ else if (dccpflag) {
+ proto = "dccp";
+ }
+# endif
+ else {
+ proto = "tcp";
+ }
+
+ return proto;
+}
+
/*
* remote_connect()
* Returns a socket connected to a remote host. Properly binds to a local
@@ -1047,8 +1096,21 @@ remote_connect(const char *host, const c
# endif
memset(&ahints, 0, sizeof(struct addrinfo));
ahints.ai_family = res->ai_family;
- ahints.ai_socktype = uflag ? SOCK_DGRAM : SOCK_STREAM;
- ahints.ai_protocol = uflag ? IPPROTO_UDP : IPPROTO_TCP;
+ if (uflag) {
+ ahints.ai_socktype = SOCK_DGRAM;
+ ahints.ai_protocol = IPPROTO_UDP;
+
+ }
+# if defined(IPPROTO_DCCP) && defined(SOCK_DCCP)
+ else if (dccpflag) {
+ hints.ai_socktype = SOCK_DCCP;
+ hints.ai_protocol = IPPROTO_DCCP;
+ }
+# endif
+ else {
+ ahints.ai_socktype = SOCK_STREAM;
+ ahints.ai_protocol = IPPROTO_TCP;
+ }
ahints.ai_flags = AI_PASSIVE;
if ((error = getaddrinfo(sflag, pflag, &ahints, &ares)))
errx(1, "getaddrinfo: %s", gai_strerror(error));
@@ -1060,15 +1122,16 @@ remote_connect(const char *host, const c
}
set_common_sockopts(s, res->ai_family);
+ char *proto = proto_name(uflag, dccpflag);
if ((error = connect_with_timeout(s, res->ai_addr, res->ai_addrlen, timeout)) == CONNECTION_SUCCESS)
break;
if (vflag && error == CONNECTION_FAILED)
warn("connect to %s port %s (%s) failed", host, port,
- uflag ? "udp" : "tcp");
- else if (vflag && error == CONNECTION_TIMEOUT)
+ proto);
+ else if (vflag && error == CONNECTION_TIMEOUT)
warn("connect to %s port %s (%s) timed out", host, port,
- uflag ? "udp" : "tcp");
+ proto);
save_errno = errno;
close(s);
@@ -1654,7 +1717,8 @@ build_ports(char *p)
int hi, lo, cp;
int x = 0;
- sv = getservbyname(p, uflag ? "udp" : "tcp");
+ char *proto = proto_name(uflag, dccpflag);
+ sv = getservbyname(p, proto);
if (sv) {
if (asprintf(&portlist[0], "%d", ntohs(sv->s_port)) < 0)
err(1, "asprintf");
@@ -1991,6 +2055,7 @@ help(void)
\t-w timeout Timeout for connects and final net reads\n\
\t-X proto Proxy protocol: \"4\", \"5\" (SOCKS) or \"connect\"\n\
\t-x addr[:port]\tSpecify proxy address and port\n\
+ \t-Z DCCP mode\n\
\t-z Zero-I/O mode [used for scanning]\n\
Port numbers can be individual or ranges: lo-hi [inclusive]\n");
exit(0);
@@ -2000,7 +2065,7 @@ void
usage(int ret)
{
fprintf(stderr,
- "usage: nc [-46CDdFhklNnrStUuvz] [-I length] [-i interval] [-M ttl]\n"
+ "usage: nc [-46CDdFhklNnrStUuvZz] [-I length] [-i interval] [-M ttl]\n"
"\t [-m minttl] [-O length] [-P proxy_username] [-p source_port]\n"
"\t [-q seconds] [-s source] [-T keyword] [-V rtable] [-w timeout] "
"[-X proxy_protocol]\n"
++++++ get-sev-by-name.patch ++++++
From: Aron Xu <aron(a)debian.org>
Date: Mon, 13 Feb 2012 14:45:08 +0800
Subject: get sev by name
---
netcat.c | 7 ++++++-
1 file changed, 6 insertions(+), 1 deletion(-)
--- a/netcat.c
+++ b/netcat.c
@@ -1603,11 +1603,16 @@ strtoport(char *portstr, int udp)
void
build_ports(char *p)
{
+ struct servent *sv;
char *n;
int hi, lo, cp;
int x = 0;
- if ((n = strchr(p, '-')) != NULL) {
+ sv = getservbyname(p, uflag ? "udp" : "tcp");
+ if (sv) {
+ if (asprintf(&portlist[0], "%d", ntohs(sv->s_port)) < 0)
+ err(1, "asprintf");
+ } else if ((n = strchr(p, '-')) != NULL) {
*n = '\0';
n++;
++++++ misc-failures-and-features.patch ++++++
From: Aron Xu <aron(a)debian.org>
Date: Mon, 13 Feb 2012 19:06:52 +0800
Subject: misc failures and features
---
Makefile | 3 +-
nc.1 | 76 +++++++++++++++++++++++++++++++++++++++++++++++++---
netcat.c | 91 ++++++++++++++++++++++++++++++++++++++++++++-------------------
3 files changed, 138 insertions(+), 32 deletions(-)
--- a/Makefile
+++ b/Makefile
@@ -3,7 +3,8 @@
PROG= nc
SRCS= netcat.c atomicio.c socks.c
-LIBS= `pkg-config --libs libbsd` -lresolv
+PKG_CONFIG ?= pkg-config
+LIBS= `$(PKG_CONFIG) --libs libbsd` -lresolv
OBJS= $(SRCS:.c=.o)
CFLAGS= -g -O2
LDFLAGS= -Wl,--no-add-needed
--- a/nc.1
+++ b/nc.1
@@ -33,7 +33,7 @@
.Nd arbitrary TCP and UDP connections and listens
.Sh SYNOPSIS
.Nm nc
-.Op Fl 46CDdFhklNnrStUuvZz
+.Op Fl 46bCDdFhklNnrStUuvZz
.Op Fl I Ar length
.Op Fl i Ar interval
.Op Fl M Ar ttl
@@ -96,6 +96,8 @@ to use IPv4 addresses only.
Forces
.Nm
to use IPv6 addresses only.
+.It Fl b
+Allow broadcast.
.It Fl C
Send CRLF as line-ending.
.It Fl D
@@ -352,6 +354,54 @@ and which side is being used as a
The connection may be terminated using an
.Dv EOF
.Pq Sq ^D .
+.Pp
+There is no
+.Fl c
+or
+.Fl e
+option in this netcat, but you still can execute a command after connection
+being established by redirecting file descriptors. Be cautious here because
+opening a port and let anyone connected execute arbitrary command on your
+site is DANGEROUS. If you really need to do this, here is an example:
+.Pp
+On
+.Sq server
+side:
+.Pp
+.Dl $ rm -f /tmp/f; mkfifo /tmp/f
+.Dl $ cat /tmp/f | /bin/sh -i 2>&1 | nc -l 127.0.0.1 1234 > /tmp/f
+.Pp
+On
+.Sq client
+side:
+.Pp
+.Dl $ nc host.example.com 1234
+.Dl $ (shell prompt from host.example.com)
+.Pp
+By doing this, you create a fifo at /tmp/f and make nc listen at port 1234
+of address 127.0.0.1 on
+.Sq server
+side, when a
+.Sq client
+establishes a connection successfully to that port, /bin/sh gets executed
+on
+.Sq server
+side and the shell prompt is given to
+.Sq client
+side.
+.Pp
+When connection is terminated,
+.Nm
+quits as well. Use
+.Fl k
+if you want it keep listening, but if the command quits this option won't
+restart it or keep
+.Nm
+running. Also don't forget to remove the file descriptor once you don't need
+it anymore:
+.Pp
+.Dl $ rm -f /tmp/f
+.Pp
.Sh DATA TRANSFER
The example in the previous section can be expanded to build a
basic data transfer model.
@@ -411,15 +461,30 @@ The
flag can be used to tell
.Nm
to report open ports,
-rather than initiate a connection.
+rather than initiate a connection. Usually it's useful to turn on verbose
+output to stderr by use this option in conjunction with
+.Fl v
+option.
+.Pp
For example:
.Bd -literal -offset indent
-$ nc -z host.example.com 20-30
+$ nc \-zv host.example.com 20-30
Connection to host.example.com 22 port [tcp/ssh] succeeded!
Connection to host.example.com 25 port [tcp/smtp] succeeded!
.Ed
.Pp
-The port range was specified to limit the search to ports 20 \- 30.
+The port range was specified to limit the search to ports 20 \- 30, and is
+scanned by increasing order.
+.Pp
+You can also specify a list of ports to scan, for example:
+.Bd -literal -offset indent
+$ nc \-zv host.example.com 80 20 22
+nc: connect to host.example.com 80 (tcp) failed: Connection refused
+nc: connect to host.example.com 20 (tcp) failed: Connection refused
+Connection to host.example.com port [tcp/ssh] succeeded!
+.Ed
+.Pp
+The ports are scanned by the order you given.
.Pp
Alternatively, it might be useful to know which server software
is running, and which versions.
@@ -484,6 +549,9 @@ Original implementation by *Hobbit*
.br
Rewritten with IPv6 support by
.An Eric Jackson Aq Mt ericj(a)monkey.org .
+.br
+Modified for Debian port by Aron Xu
+.Aq aron(a)debian.org .
.Sh CAVEATS
UDP port scans using the
.Fl uz
--- a/netcat.c
+++ b/netcat.c
@@ -98,6 +98,7 @@
#include <netdb.h>
#include <poll.h>
#include <signal.h>
+#include <stddef.h>
#include <stdarg.h>
#include <stdio.h>
#include <stdlib.h>
@@ -136,6 +137,7 @@
#define UDP_SCAN_TIMEOUT 3 /* Seconds */
/* Command Line Options */
+int bflag; /* Allow Broadcast */
int dflag; /* detached, no stdin */
int Fflag; /* fdpass sock to stdout */
unsigned int iflag; /* Interval Flag */
@@ -186,7 +188,7 @@ int ttl = -1;
int minttl = -1;
void atelnet(int, unsigned char *, unsigned int);
-void build_ports(char *);
+void build_ports(char **);
void help(void);
int local_listen(char *, char *, struct addrinfo);
# if defined(TLS)
@@ -236,11 +238,14 @@ int
main(int argc, char *argv[])
{
int ch, s = -1, ret, socksv;
- char *host, *uport;
+ char *host, **uport;
struct addrinfo hints;
struct servent *sv;
socklen_t len;
- struct sockaddr_storage cliaddr;
+ union {
+ struct sockaddr_storage storage;
+ struct sockaddr_un forunix;
+ } cliaddr;
char *proxy, *proxyport = NULL;
const char *errstr;
struct addrinfo proxyhints;
@@ -260,9 +265,9 @@ main(int argc, char *argv[])
while ((ch = getopt(argc, argv,
# if defined(TLS)
- "46C:cDde:FH:hI:i:K:klM:m:NnO:o:P:p:q:R:rSs:T:tUuV:vw:X:x:Zz")) != -1) {
+ "46bC:cDde:FH:hI:i:K:klM:m:NnO:o:P:p:q:R:rSs:T:tUuV:vw:X:x:Zz")) != -1) {
# else
- "46CDdFhI:i:klM:m:NnO:P:p:q:rSs:T:tUuV:vw:X:x:Zz")) != -1) {
+ "46bCDdFhI:i:klM:m:NnO:P:p:q:rSs:T:tUuV:vw:X:x:Zz")) != -1) {
# endif
switch (ch) {
case '4':
@@ -271,6 +276,13 @@ main(int argc, char *argv[])
case '6':
family = AF_INET6;
break;
+ case 'b':
+# if defined(SO_BROADCAST)
+ bflag = 1;
+# else
+ errx(1, "no broadcast frame support available");
+# endif
+ break;
case 'U':
family = AF_UNIX;
break;
@@ -479,32 +491,39 @@ main(int argc, char *argv[])
/* Cruft to make sure options are clean, and used properly. */
if (argv[0] && !argv[1] && family == AF_UNIX) {
- if (uflag)
- errx(1, "cannot use -u and -U");
# if defined(IPPROTO_DCCP) && defined(SOCK_DCCP)
if (dccpflag)
errx(1, "cannot use -Z and -U");
# endif
host = argv[0];
uport = NULL;
- } else if (!argv[0] && lflag) {
- if (sflag)
- errx(1, "cannot use -s and -l");
- if (zflag)
- errx(1, "cannot use -z and -l");
- if (pflag)
- uport=pflag;
- } else if (argv[0] && !argv[1]) {
- if (!lflag)
- usage(1);
- uport = argv[0];
+ } else if (argv[0] && !argv[1] && lflag) {
+ if (pflag) {
+ uport = &pflag;
+ host = argv[0];
+ } else {
+ uport = argv;
+ host = NULL;
+ }
+ } else if (!argv[0] && lflag && pflag) {
+ uport = &pflag;
host = NULL;
} else if (argv[0] && argv[1]) {
host = argv[0];
- uport = argv[1];
+ uport = &argv[1];
} else
usage(1);
+ if (lflag) {
+ if (sflag)
+ errx(1, "cannot use -s and -l");
+ if (zflag)
+ errx(1, "cannot use -z and -l");
+ if (pflag)
+ /* This still does not work well because of getopt mess
+ errx(1, "cannot use -p and -l"); */
+ uport = &pflag;
+ }
if (!lflag && kflag)
errx(1, "must use -l with -k");
# if defined(TLS)
@@ -674,7 +693,7 @@ main(int argc, char *argv[])
else
s = unix_listen(host);
} else
- s = local_listen(host, uport, hints);
+ s = local_listen(host, *uport, hints);
if (s < 0)
err(1, NULL);
@@ -683,7 +702,8 @@ main(int argc, char *argv[])
local = ":::";
else
local = "0.0.0.0";
- fprintf(stderr, "Listening on [%s] (family %d, port %d)\n",
+ if (vflag && (family != AF_UNIX))
+ fprintf(stderr, "Listening on [%s] (family %d, port %s)\n",
host ?: local,
family,
*uport);
@@ -898,6 +918,8 @@ unix_bind(char *path, int flags)
0)) < 0)
return (-1);
+ unlink(path);
+
memset(&s_un, 0, sizeof(struct sockaddr_un));
s_un.sun_family = AF_UNIX;
@@ -1015,8 +1037,10 @@ unix_connect(char *path)
if ((s = unix_bind(unix_dg_tmp_socket, SOCK_CLOEXEC)) < 0)
return (-1);
} else {
- if ((s = socket(AF_UNIX, SOCK_STREAM | SOCK_CLOEXEC, 0)) < 0)
+ if ((s = socket(AF_UNIX, SOCK_STREAM | SOCK_CLOEXEC, 0)) < 0) {
+ errx(1,"create unix socket failed");
return (-1);
+ }
}
memset(&s_un, 0, sizeof(struct sockaddr_un));
@@ -1026,10 +1050,12 @@ unix_connect(char *path)
sizeof(s_un.sun_path)) {
close(s);
errno = ENAMETOOLONG;
+ warn("unix connect abandoned");
return (-1);
}
if (connect(s, (struct sockaddr *)&s_un, sizeof(s_un)) < 0) {
save_errno = errno;
+ warn("unix connect failed");
close(s);
errno = save_errno;
return (-1);
@@ -1718,25 +1744,26 @@ strtoport(char *portstr, int udp)
* that we should try to connect to.
*/
void
-build_ports(char *p)
+build_ports(char **p)
{
struct servent *sv;
char *n;
int hi, lo, cp;
int x = 0;
+ int i;
char *proto = proto_name(uflag, dccpflag);
- sv = getservbyname(p, proto);
+ sv = getservbyname(*p, proto);
if (sv) {
if (asprintf(&portlist[0], "%d", ntohs(sv->s_port)) < 0)
err(1, "asprintf");
- } else if ((n = strchr(p, '-')) != NULL) {
+ } else if ((n = strchr(*p, '-')) != NULL) {
*n = '\0';
n++;
/* Make sure the ports are in order: lowest->highest. */
hi = strtoport(n, uflag);
- lo = strtoport(p, uflag);
+ lo = strtoport(*p, uflag);
if (lo > hi) {
cp = hi;
hi = lo;
@@ -1764,7 +1791,7 @@ build_ports(char *p)
} else {
char *tmp;
- hi = strtoport(p, uflag);
+ hi = strtoport(*p, uflag);
if (asprintf(&tmp, "%d", hi) != -1)
portlist[0] = tmp;
else
@@ -1802,6 +1829,15 @@ set_common_sockopts(int s, const struct
int x = 1;
int af = sa->sa_family;
+# if defined(SO_BROADCAST)
+ if (bflag) {
+ /* allow datagram sockets to send packets to a broadcast address
+ * (this option has no effect on stream-oriented sockets) */
+ if (setsockopt(s, SOL_SOCKET, SO_BROADCAST,
+ &x, sizeof(x)) == -1)
+ err(1, NULL);
+ }
+# endif
# if defined(TCP_MD5SIG) && defined(TCP_MD5SIG_MAXKEYLEN)
if (Sflag) {
struct tcp_md5sig sig;
@@ -2042,6 +2078,7 @@ help(void)
fprintf(stderr, "\tCommand Summary:\n\
\t-4 Use IPv4\n\
\t-6 Use IPv6\n\
+ \t-b Allow broadcast\n\
\t-C Send CRLF as line-ending\n\
\t-D Enable the debug socket option\n\
\t-d Detach from stdin\n\
++++++ port-to-linux-with-libsd.patch ++++++
From: Aron Xu <aron(a)debian.org>
Date: Mon, 13 Feb 2012 15:59:31 +0800
Subject: port to linux with libsd
---
Makefile | 15 +++++++-
nc.1 | 4 --
netcat.c | 118 +++++++++++++++++++++++++++++++++++++++++++++++----------------
socks.c | 46 ++++++++++++------------
4 files changed, 127 insertions(+), 56 deletions(-)
--- a/Makefile
+++ b/Makefile
@@ -5,4 +5,17 @@ SRCS= netcat.c atomicio.c socks.c
LDADD+= -ltls -lssl -lcrypto
DPADD+= ${LIBTLS} ${LIBSSL} ${LIBCRYPTO}
-.include <bsd.prog.mk>
+LIBS= `pkg-config --libs libbsd` -lresolv
+OBJS= $(SRCS:.c=.o)
+CFLAGS= -g -O2
+LDFLAGS= -Wl,--no-add-needed
+
+all: nc
+nc: $(OBJS)
+ $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) $(LIBS) -o nc
+
+$(OBJS): %.o: %.c
+ $(CC) $(CFLAGS) -c $< -o $@
+
+clean:
+ rm -f $(OBJS) nc
--- a/nc.1
+++ b/nc.1
@@ -202,9 +202,6 @@ Proxy authentication is only supported f
Specifies the source port
.Nm
should use, subject to privilege restrictions and availability.
-It is an error to use this option in conjunction with the
-.Fl l
-option.
.It Fl R Ar CAfile
Specifies the filename from which the root CA bundle for certificate
verification is loaded, in PEM format.
@@ -249,6 +246,7 @@ For IPv4 TOS value
may be one of
.Ar critical ,
.Ar inetcontrol ,
+.Ar lowcost ,
.Ar lowdelay ,
.Ar netcontrol ,
.Ar throughput ,
--- a/netcat.c
+++ b/netcat.c
@@ -32,6 +32,8 @@
* *Hobbit* <hobbit(a)avian.org>.
*/
+#define _GNU_SOURCE
+
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/uio.h>
@@ -41,6 +43,49 @@
#include <netinet/tcp.h>
#include <netinet/ip.h>
#include <arpa/telnet.h>
+#ifdef __linux__
+# include <linux/in6.h>
+#endif
+
+#ifndef IPTOS_LOWDELAY
+# define IPTOS_LOWDELAY 0x10
+# define IPTOS_THROUGHPUT 0x08
+# define IPTOS_RELIABILITY 0x04
+# define IPTOS_LOWCOST 0x02
+# define IPTOS_MINCOST IPTOS_LOWCOST
+#endif /* IPTOS_LOWDELAY */
+
+# ifndef IPTOS_DSCP_AF11
+# define IPTOS_DSCP_AF11 0x28
+# define IPTOS_DSCP_AF12 0x30
+# define IPTOS_DSCP_AF13 0x38
+# define IPTOS_DSCP_AF21 0x48
+# define IPTOS_DSCP_AF22 0x50
+# define IPTOS_DSCP_AF23 0x58
+# define IPTOS_DSCP_AF31 0x68
+# define IPTOS_DSCP_AF32 0x70
+# define IPTOS_DSCP_AF33 0x78
+# define IPTOS_DSCP_AF41 0x88
+# define IPTOS_DSCP_AF42 0x90
+# define IPTOS_DSCP_AF43 0x98
+# define IPTOS_DSCP_EF 0xb8
+#endif /* IPTOS_DSCP_AF11 */
+
+#ifndef IPTOS_DSCP_CS0
+# define IPTOS_DSCP_CS0 0x00
+# define IPTOS_DSCP_CS1 0x20
+# define IPTOS_DSCP_CS2 0x40
+# define IPTOS_DSCP_CS3 0x60
+# define IPTOS_DSCP_CS4 0x80
+# define IPTOS_DSCP_CS5 0xa0
+# define IPTOS_DSCP_CS6 0xc0
+# define IPTOS_DSCP_CS7 0xe0
+#endif /* IPTOS_DSCP_CS0 */
+
+#ifndef IPTOS_DSCP_EF
+# define IPTOS_DSCP_EF 0xb8
+#endif /* IPTOS_DSCP_EF */
+
#include <err.h>
#include <errno.h>
@@ -55,6 +100,8 @@
#include <time.h>
#include <unistd.h>
#include <tls.h>
+#include <bsd/stdlib.h>
+#include <bsd/string.h>
#include "atomicio.h"
#define PORT_MAX 65535
@@ -260,10 +307,14 @@ main(int argc, char *argv[])
uflag = 1;
break;
case 'V':
+# if defined(RT_TABLEID_MAX)
rtableid = (int)strtonum(optarg, 0,
RT_TABLEID_MAX, &errstr);
if (errstr)
errx(1, "rtable %s: %s", errstr, optarg);
+# else
+ errx(1, "no alternate routing table support available");
+# endif
break;
case 'v':
vflag = 1;
@@ -301,7 +352,11 @@ main(int argc, char *argv[])
oflag = optarg;
break;
case 'S':
+# if defined(TCP_MD5SIG)
Sflag = 1;
+# else
+ errx(1, "no TCP MD5 signature support available");
+# endif
break;
case 'T':
errstr = NULL;
@@ -326,32 +381,23 @@ main(int argc, char *argv[])
argc -= optind;
argv += optind;
+# if defined(RT_TABLEID_MAX)
if (rtableid >= 0)
if (setrtable(rtableid) == -1)
err(1, "setrtable");
-
- if (family == AF_UNIX) {
- if (pledge("stdio rpath wpath cpath tmppath unix", NULL) == -1)
- err(1, "pledge");
- } else if (Fflag) {
- if (Pflag) {
- if (pledge("stdio inet dns sendfd tty", NULL) == -1)
- err(1, "pledge");
- } else if (pledge("stdio inet dns sendfd", NULL) == -1)
- err(1, "pledge");
- } else if (Pflag) {
- if (pledge("stdio inet dns tty", NULL) == -1)
- err(1, "pledge");
- } else if (usetls) {
- if (pledge("stdio rpath inet dns", NULL) == -1)
- err(1, "pledge");
- } else if (pledge("stdio inet dns", NULL) == -1)
- err(1, "pledge");
+# endif
/* Cruft to make sure options are clean, and used properly. */
if (argv[0] && !argv[1] && family == AF_UNIX) {
host = argv[0];
uport = NULL;
+ } else if (!argv[0] && lflag) {
+ if (sflag)
+ errx(1, "cannot use -s and -l");
+ if (zflag)
+ errx(1, "cannot use -z and -l");
+ if (pflag)
+ uport=pflag;
} else if (argv[0] && !argv[1]) {
if (!lflag)
usage(1);
@@ -363,12 +409,6 @@ main(int argc, char *argv[])
} else
usage(1);
- if (lflag && sflag)
- errx(1, "cannot use -s and -l");
- if (lflag && pflag)
- errx(1, "cannot use -p and -l");
- if (lflag && zflag)
- errx(1, "cannot use -z and -l");
if (!lflag && kflag)
errx(1, "must use -l with -k");
if (uflag && usetls)
@@ -401,8 +441,8 @@ main(int argc, char *argv[])
} else {
strlcpy(unix_dg_tmp_socket_buf, "/tmp/nc.XXXXXXXXXX",
UNIX_DG_TMP_SOCKET_SIZE);
- if (mktemp(unix_dg_tmp_socket_buf) == NULL)
- err(1, "mktemp");
+ if (mkstemp(unix_dg_tmp_socket_buf) == -1)
+ err(1, "mkstemp");
unix_dg_tmp_socket = unix_dg_tmp_socket_buf;
}
}
@@ -880,8 +920,10 @@ remote_connect(const char *host, const c
if (sflag || pflag) {
struct addrinfo ahints, *ares;
+# if defined (SO_BINDANY)
/* try SO_BINDANY, but don't insist */
setsockopt(s, SOL_SOCKET, SO_BINDANY, &on, sizeof(on));
+# endif
memset(&ahints, 0, sizeof(struct addrinfo));
ahints.ai_family = res->ai_family;
ahints.ai_socktype = uflag ? SOCK_DGRAM : SOCK_STREAM;
@@ -973,9 +1015,15 @@ local_listen(char *host, char *port, str
res->ai_protocol)) < 0)
continue;
+ ret = setsockopt(s, SOL_SOCKET, SO_REUSEADDR, &x, sizeof(x));
+ if (ret == -1)
+ err(1, NULL);
+
+# if defined(SO_REUSEPORT)
ret = setsockopt(s, SOL_SOCKET, SO_REUSEPORT, &x, sizeof(x));
if (ret == -1)
err(1, NULL);
+# endif
set_common_sockopts(s, res->ai_family);
@@ -1425,11 +1473,13 @@ set_common_sockopts(int s, int af)
{
int x = 1;
+# if defined(TCP_MD5SIG)
if (Sflag) {
if (setsockopt(s, IPPROTO_TCP, TCP_MD5SIG,
&x, sizeof(x)) == -1)
err(1, NULL);
}
+# endif
if (Dflag) {
if (setsockopt(s, SOL_SOCKET, SO_DEBUG,
&x, sizeof(x)) == -1)
@@ -1460,8 +1510,11 @@ set_common_sockopts(int s, int af)
IP_TTL, &ttl, sizeof(ttl)))
err(1, "set IP TTL");
- else if (af == AF_INET6 && setsockopt(s, IPPROTO_IPV6,
+ else
+#if defined(IPV6_UNICAST_HOPS)
+ if (af == AF_INET6 && setsockopt(s, IPPROTO_IPV6,
IPV6_UNICAST_HOPS, &ttl, sizeof(ttl)))
+#endif
err(1, "set IPv6 unicast hops");
}
@@ -1470,8 +1523,11 @@ set_common_sockopts(int s, int af)
IP_MINTTL, &minttl, sizeof(minttl)))
err(1, "set IP min TTL");
- else if (af == AF_INET6 && setsockopt(s, IPPROTO_IPV6,
+ else
+#if defined(IPV6_MINHOPCOUNT)
+ if (af == AF_INET6 && setsockopt(s, IPPROTO_IPV6,
IPV6_MINHOPCOUNT, &minttl, sizeof(minttl)))
+#endif
err(1, "set IPv6 min hop count");
}
}
@@ -1507,6 +1563,7 @@ map_tos(char *s, int *val)
{ "cs7", IPTOS_DSCP_CS7 },
{ "ef", IPTOS_DSCP_EF },
{ "inetcontrol", IPTOS_PREC_INTERNETCONTROL },
+ { "lowcost", IPTOS_LOWCOST },
{ "lowdelay", IPTOS_LOWDELAY },
{ "netcontrol", IPTOS_PREC_NETCONTROL },
{ "reliability", IPTOS_RELIABILITY },
@@ -1640,6 +1697,9 @@ report_connect(const struct sockaddr *sa
void
help(void)
{
+# if defined(DEBIAN_VERSION)
+ fprintf(stderr, "OpenBSD netcat (Debian patchlevel " DEBIAN_VERSION ")\n");
+# endif
usage(0);
fprintf(stderr, "\tCommand Summary:\n\
\t-4 Use IPv4\n\
@@ -1680,7 +1740,7 @@ help(void)
\t-x addr[:port]\tSpecify proxy address and port\n\
\t-z Zero-I/O mode [used for scanning]\n\
Port numbers can be individual or ranges: lo-hi [inclusive]\n");
- exit(1);
+ exit(0);
}
void
--- a/socks.c
+++ b/socks.c
@@ -38,7 +38,7 @@
#include <string.h>
#include <unistd.h>
#include <resolv.h>
-#include <readpassphrase.h>
+#include <bsd/readpassphrase.h>
#include "atomicio.h"
#define SOCKS_PORT "1080"
@@ -219,11 +219,11 @@ socks_connect(const char *host, const ch
buf[2] = SOCKS_NOAUTH;
cnt = atomicio(vwrite, proxyfd, buf, 3);
if (cnt != 3)
- err(1, "write failed (%zu/3)", cnt);
+ err(1, "write failed (%zu/3)", (size_t)cnt);
cnt = atomicio(read, proxyfd, buf, 2);
if (cnt != 2)
- err(1, "read failed (%zu/3)", cnt);
+ err(1, "read failed (%zu/3)", (size_t)cnt);
if (buf[1] == SOCKS_NOMETHOD)
errx(1, "authentication method negotiation failed");
@@ -272,11 +272,11 @@ socks_connect(const char *host, const ch
cnt = atomicio(vwrite, proxyfd, buf, wlen);
if (cnt != wlen)
- err(1, "write failed (%zu/%zu)", cnt, wlen);
+ err(1, "write failed (%zu/%zu)", (size_t)cnt, (size_t)wlen);
cnt = atomicio(read, proxyfd, buf, 4);
if (cnt != 4)
- err(1, "read failed (%zu/4)", cnt);
+ err(1, "read failed (%zu/4)", (size_t)cnt);
if (buf[1] != 0) {
errx(1, "connection failed, SOCKSv5 error: %s",
socks5_strerror(buf[1]));
@@ -285,12 +285,12 @@ socks_connect(const char *host, const ch
case SOCKS_IPV4:
cnt = atomicio(read, proxyfd, buf + 4, 6);
if (cnt != 6)
- err(1, "read failed (%zu/6)", cnt);
+ err(1, "read failed (%zu/6)", (size_t)cnt);
break;
case SOCKS_IPV6:
cnt = atomicio(read, proxyfd, buf + 4, 18);
if (cnt != 18)
- err(1, "read failed (%zu/18)", cnt);
+ err(1, "read failed (%zu/18)", (size_t)cnt);
break;
default:
errx(1, "connection failed, unsupported address type");
@@ -310,11 +310,11 @@ socks_connect(const char *host, const ch
cnt = atomicio(vwrite, proxyfd, buf, wlen);
if (cnt != wlen)
- err(1, "write failed (%zu/%zu)", cnt, wlen);
+ err(1, "write failed (%zu/%zu)", (size_t)cnt, (size_t)wlen);
cnt = atomicio(read, proxyfd, buf, 8);
if (cnt != 8)
- err(1, "read failed (%zu/8)", cnt);
+ err(1, "read failed (%zu/8)", (size_t)cnt);
if (buf[1] != 90) {
errx(1, "connection failed, SOCKSv4 error: %s",
socks4_strerror(buf[1]));
@@ -328,39 +328,39 @@ socks_connect(const char *host, const ch
/* Try to be sane about numeric IPv6 addresses */
if (strchr(host, ':') != NULL) {
- r = snprintf(buf, sizeof(buf),
+ r = snprintf((char*)buf, sizeof(buf),
"CONNECT [%s]:%d HTTP/1.0\r\n",
host, ntohs(serverport));
} else {
- r = snprintf(buf, sizeof(buf),
+ r = snprintf((char*)buf, sizeof(buf),
"CONNECT %s:%d HTTP/1.0\r\n",
host, ntohs(serverport));
}
if (r == -1 || (size_t)r >= sizeof(buf))
errx(1, "hostname too long");
- r = strlen(buf);
+ r = strlen((char*)buf);
cnt = atomicio(vwrite, proxyfd, buf, r);
if (cnt != r)
- err(1, "write failed (%zu/%d)", cnt, r);
+ err(1, "write failed (%zu/%d)", (size_t)cnt, (int)r);
if (authretry > 1) {
char resp[1024];
proxypass = getproxypass(proxyuser, proxyhost);
- r = snprintf(buf, sizeof(buf), "%s:%s",
+ r = snprintf((char*)buf, sizeof(buf), "%s:%s",
proxyuser, proxypass);
if (r == -1 || (size_t)r >= sizeof(buf) ||
- b64_ntop(buf, strlen(buf), resp,
+ b64_ntop(buf, strlen((char*)buf), resp,
sizeof(resp)) == -1)
errx(1, "Proxy username/password too long");
- r = snprintf(buf, sizeof(buf), "Proxy-Authorization: "
+ r = snprintf((char*)buf, sizeof(buf), "Proxy-Authorization: "
"Basic %s\r\n", resp);
if (r == -1 || (size_t)r >= sizeof(buf))
errx(1, "Proxy auth response too long");
- r = strlen(buf);
+ r = strlen((char*)buf);
if ((cnt = atomicio(vwrite, proxyfd, buf, r)) != r)
- err(1, "write failed (%zu/%d)", cnt, r);
+ err(1, "write failed (%zu/%d)", (size_t)cnt, r);
}
/* Terminate headers */
@@ -368,22 +368,22 @@ socks_connect(const char *host, const ch
err(1, "write failed (%zu/2)", cnt);
/* Read status reply */
- proxy_read_line(proxyfd, buf, sizeof(buf));
+ proxy_read_line(proxyfd, (char*)buf, sizeof(buf));
if (proxyuser != NULL &&
- strncmp(buf, "HTTP/1.0 407 ", 12) == 0) {
+ strncmp((char*)buf, "HTTP/1.0 407 ", 12) == 0) {
if (authretry > 1) {
fprintf(stderr, "Proxy authentication "
"failed\n");
}
close(proxyfd);
goto again;
- } else if (strncmp(buf, "HTTP/1.0 200 ", 12) != 0 &&
- strncmp(buf, "HTTP/1.1 200 ", 12) != 0)
+ } else if (strncmp((char*)buf, "HTTP/1.0 200 ", 12) != 0 &&
+ strncmp((char*)buf, "HTTP/1.1 200 ", 12) != 0)
errx(1, "Proxy error: \"%s\"", buf);
/* Headers continue until we hit an empty line */
for (r = 0; r < HTTP_MAXHDRS; r++) {
- proxy_read_line(proxyfd, buf, sizeof(buf));
+ proxy_read_line(proxyfd, (char*)buf, sizeof(buf));
if (*buf == '\0')
break;
}
++++++ quit-timer.patch ++++++
--- /var/tmp/diff_new_pack.GhUzhQ/_old 2017-07-30 11:25:15.747323012 +0200
+++ /var/tmp/diff_new_pack.GhUzhQ/_new 2017-07-30 11:25:15.747323012 +0200
@@ -1,74 +1,133 @@
-Index: netcat-openbsd-1.89/netcat.c
-===================================================================
---- netcat-openbsd-1.89.orig/netcat.c 2010-04-18 20:02:55.240980186 -0400
-+++ netcat-openbsd-1.89/netcat.c 2010-04-18 20:04:41.987984568 -0400
-@@ -47,6 +47,7 @@
- #include <errno.h>
- #include <netdb.h>
- #include <poll.h>
-+#include <signal.h>
- #include <stdarg.h>
- #include <stdio.h>
- #include <stdlib.h>
-@@ -82,6 +83,7 @@
+From: Aron Xu <aron(a)debian.org>
+Date: Mon, 13 Feb 2012 15:16:04 +0800
+Subject: quit timer
+
+---
+ nc.1 | 10 ++++++++++
+ netcat.c | 50 +++++++++++++++++++++++++++++++++++++++++---------
+ 2 files changed, 51 insertions(+), 9 deletions(-)
+
+--- a/nc.1
++++ b/nc.1
+@@ -41,6 +41,7 @@
+ .Op Fl O Ar length
+ .Op Fl P Ar proxy_username
+ .Op Fl p Ar source_port
++.Op Fl q Ar seconds
+ .Op Fl s Ar source
+ .Op Fl T Ar keyword
+ .Op Fl V Ar rtable
+@@ -173,6 +174,15 @@ Proxy authentication is only supported f
+ Specifies the source port
+ .Nm
+ should use, subject to privilege restrictions and availability.
++.It Fl q Ar seconds
++after EOF on stdin, wait the specified number of
++.Ar seconds
++and then quit. If
++.Ar seconds
++is negative, wait forever (default). Specifying a non-negative
++.Ar seconds
++implies
++.Fl N .
+ .It Fl r
+ Specifies that source and/or destination ports should be chosen randomly
+ instead of sequentially within a range or in the order that the system
+--- a/netcat.c
++++ b/netcat.c
+@@ -139,6 +139,7 @@ int Nflag; /* shutdown() network soc
int nflag; /* Don't do name look up */
char *Pflag; /* Proxy username */
char *pflag; /* Localport flag */
-+int qflag = -1; /* Quit after some secs */
++int qflag = -1; /* Quit after some secs */
int rflag; /* Random ports flag */
char *sflag; /* Source Address */
int tflag; /* Telnet Emulation */
-@@ -114,6 +116,7 @@
+@@ -218,6 +219,8 @@ ssize_t fillbuf(int, unsigned char *, si
+ static int connect_with_timeout(int fd, const struct sockaddr *sa,
+ socklen_t salen, int ctimeout);
- static int connect_with_timeout(int fd, const struct sockaddr *sa,
- socklen_t salen, int ctimeout);
+static void quit();
-
++
int
main(int argc, char *argv[])
-@@ -137,7 +140,7 @@
- sv = NULL;
+ {
+@@ -246,9 +249,9 @@ main(int argc, char *argv[])
while ((ch = getopt(argc, argv,
-- "46Ddhi:jklnP:p:rSs:tT:Uuvw:X:x:zC")) != -1) {
-+ "46Ddhi:jklnP:p:q:rSs:tT:Uuvw:X:x:zC")) != -1) {
+ # if defined(TLS)
+- "46C:cDde:FH:hI:i:K:klM:m:NnO:o:P:p:R:rSs:T:tUuV:vw:X:x:z")) != -1) {
++ "46C:cDde:FH:hI:i:K:klM:m:NnO:o:P:p:q:R:rSs:T:tUuV:vw:X:x:z")) != -1) {
+ # else
+- "46CDdFhI:i:klM:m:NnO:P:p:rSs:T:tUuV:vw:X:x:z")) != -1) {
++ "46CDdFhI:i:klM:m:NnO:P:p:q:rSs:T:tUuV:vw:X:x:z")) != -1) {
+ # endif
switch (ch) {
case '4':
- family = AF_INET;
-@@ -187,6 +190,9 @@
+@@ -339,6 +342,13 @@ main(int argc, char *argv[])
case 'p':
pflag = optarg;
break;
-+ case 'q':
-+ qflag = (int)strtoul(optarg, &endp, 10);
++ case 'q':
++ qflag = strtonum(optarg, INT_MIN, INT_MAX, &errstr);
++ if (errstr)
++ errx(1, "quit timer %s: %s", errstr, optarg);
++ if (qflag >= 0)
++ Nflag = 1;
+ break;
- case 'r':
- rflag = 1;
- break;
-@@ -756,7 +762,13 @@
- }
- else if (pfd[1].revents & POLLHUP) {
- shutdown_wr:
-- shutdown(nfd, SHUT_WR);
-+ /* if user asked to die after a while, arrange for it */
-+ if (qflag > 0) {
-+ signal(SIGALRM, quit);
-+ alarm(qflag);
-+ } else {
-+ shutdown(nfd, SHUT_WR);
-+ }
- pfd[1].fd = -1;
- pfd[1].events = 0;
- }
-@@ -951,6 +963,7 @@
- \t-n Suppress name/port resolutions\n\
+ # if defined(TLS)
+ case 'R':
+ tls_cachanged = 1;
+@@ -1253,15 +1263,27 @@ readwrite(int net_fd)
+ while (1) {
+ /* both inputs are gone, buffers are empty, we are done */
+ if (pfd[POLL_STDIN].fd == -1 && pfd[POLL_NETIN].fd == -1 &&
+- stdinbufpos == 0 && netinbufpos == 0)
+- return;
++ stdinbufpos == 0 && netinbufpos == 0) {
++ if (qflag <= 0)
++ return;
++ goto delay_exit;
++ }
+ /* both outputs are gone, we can't continue */
+- if (pfd[POLL_NETOUT].fd == -1 && pfd[POLL_STDOUT].fd == -1)
+- return;
++ if (pfd[POLL_NETOUT].fd == -1 && pfd[POLL_STDOUT].fd == -1) {
++ if (qflag <= 0)
++ return;
++ goto delay_exit;
++ }
+ /* listen and net in gone, queues empty, done */
+ if (lflag && pfd[POLL_NETIN].fd == -1 &&
+- stdinbufpos == 0 && netinbufpos == 0)
+- return;
++ stdinbufpos == 0 && netinbufpos == 0) {
++ if (qflag <= 0)
++ return;
++delay_exit:
++ close(net_fd);
++ signal(SIGALRM, quit);
++ alarm(qflag);
++ }
+
+ /* poll */
+ num_fds = poll(pfd, 4, timeout);
+@@ -1936,6 +1958,7 @@ help(void)
+ \t-O length TCP send buffer length\n\
\t-P proxyuser\tUsername for proxy authentication\n\
\t-p port\t Specify local port for remote connects\n\
+ \t-q secs\t quit after EOF on stdin and delay of secs\n\
- \t-r Randomize remote ports\n "
- #ifdef TCP_MD5SIG
- " \t-S Enable the TCP MD5 signature option\n"
-@@ -979,3 +992,13 @@
+ \t-r Randomize remote ports\n\
+ \t-S Enable the TCP MD5 signature option\n\
+ \t-s source Local source address\n\
+@@ -1959,9 +1982,18 @@ usage(int ret)
+ fprintf(stderr,
+ "usage: nc [-46CDdFhklNnrStUuvz] [-I length] [-i interval] [-M ttl]\n"
+ "\t [-m minttl] [-O length] [-P proxy_username] [-p source_port]\n"
+- "\t [-s source] [-T keyword] [-V rtable] [-w timeout] "
++ "\t [-q seconds] [-s source] [-T keyword] [-V rtable] [-w timeout] "
+ "[-X proxy_protocol]\n"
+ "\t [-x proxy_address[:port]] [destination] [port]\n");
if (ret)
exit(1);
}
@@ -79,6 +138,5 @@
+ */
+static void quit()
+{
-+ /* XXX: should explicitly close fds here */
+ exit(0);
+}
++++++ send-crlf.patch ++++++
--- /var/tmp/diff_new_pack.GhUzhQ/_old 2017-07-30 11:25:15.771319626 +0200
+++ /var/tmp/diff_new_pack.GhUzhQ/_new 2017-07-30 11:25:15.771319626 +0200
@@ -1,109 +1,187 @@
-Index: netcat-openbsd-1.89/netcat.c
-===================================================================
---- netcat-openbsd-1.89.orig/netcat.c 2008-06-19 16:49:57.000000000 -0400
-+++ netcat-openbsd-1.89/netcat.c 2008-06-19 17:04:22.000000000 -0400
-@@ -73,6 +73,7 @@
- #define UDP_SCAN_TIMEOUT 3 /* Seconds */
-
- /* Command Line Options */
-+int Cflag = 0; /* CRLF line-ending */
- int dflag; /* detached, no stdin */
- int iflag; /* Interval Flag */
- int jflag; /* use jumbo frames if we can */
-@@ -136,7 +137,7 @@
- sv = NULL;
-
- while ((ch = getopt(argc, argv,
-- "46Ddhi:jklnP:p:rSs:tT:Uuvw:X:x:z")) != -1) {
-+ "46Ddhi:jklnP:p:rSs:tT:Uuvw:X:x:zC")) != -1) {
- switch (ch) {
- case '4':
- family = AF_INET;
-@@ -226,6 +227,9 @@
- case 'T':
- Tflag = parse_iptos(optarg);
- break;
-+ case 'C':
-+ Cflag = 1;
-+ break;
- default:
- usage(1);
- }
-@@ -738,8 +742,16 @@
- else if (n == 0) {
- goto shutdown_wr;
- } else {
-- if (atomicio(vwrite, nfd, buf, n) != n)
-- return;
-+ if ((Cflag) && (buf[n-1]=='\n')) {
-+ if (atomicio(vwrite, nfd, buf, n-1) != (n-1))
-+ return;
-+ if (atomicio(vwrite, nfd, "\r\n", 2) != 2)
-+ return;
-+ }
-+ else {
-+ if (atomicio(vwrite, nfd, buf, n) != n)
-+ return;
-+ }
- }
- }
- else if (pfd[1].revents & POLLHUP) {
-@@ -944,6 +956,7 @@
- #endif
- " \t-s addr\t Local source address\n\
- \t-T ToS\t Set IP Type of Service\n\
-+ \t-C Send CRLF as line-ending\n\
- \t-t Answer TELNET negotiation\n\
- \t-U Use UNIX domain socket\n\
- \t-u UDP mode\n\
-@@ -959,7 +972,7 @@
- void
- usage(int ret)
- {
-- fprintf(stderr, "usage: nc [-46DdhklnrStUuvz] [-i interval] [-P proxy_username] [-p source_port]\n");
-+ fprintf(stderr, "usage: nc [-46DdhklnrStUuvzC] [-i interval] [-P proxy_username] [-p source_port]\n");
- fprintf(stderr, "\t [-s source_ip_address] [-T ToS] [-w timeout] [-X proxy_protocol]\n");
- fprintf(stderr, "\t [-x proxy_address[:port]] [hostname] [port[s]]\n");
- if (ret)
-Index: netcat-openbsd-1.89/nc.1
-===================================================================
---- netcat-openbsd-1.89.orig/nc.1 2008-06-19 16:49:39.000000000 -0400
-+++ netcat-openbsd-1.89/nc.1 2008-06-19 16:54:36.000000000 -0400
-@@ -34,7 +34,7 @@
+From: Aron Xu <aron(a)debian.org>
+Date: Mon, 13 Feb 2012 14:57:45 +0800
+Subject: send crlf
+
+---
+ nc.1 | 6 +++--
+ netcat.c | 72 +++++++++++++++++++++++++++++++++++----------------------------
+ 2 files changed, 45 insertions(+), 33 deletions(-)
+
+--- a/nc.1
++++ b/nc.1
+@@ -33,7 +33,7 @@
+ .Nd arbitrary TCP and UDP connections and listens
.Sh SYNOPSIS
.Nm nc
- .Bk -words
--.Op Fl 46DdhklnrStUuvz
-+.Op Fl 46DdhklnrStUuvzC
+-.Op Fl 46DdFhklNnrStUuvz
++.Op Fl 46CDdFhklNnrStUuvz
+ .Op Fl I Ar length
.Op Fl i Ar interval
- .Op Fl P Ar proxy_username
- .Op Fl p Ar source_port
-@@ -140,6 +140,10 @@
- It is an error to use this option in conjunction with the
- .Fl l
- option.
-+.It Fl q
-+after EOF on stdin, wait the specified number of seconds and then quit. If
-+.Ar seconds
-+is negative, wait forever.
- .It Fl r
- Specifies that source and/or destination ports should be chosen randomly
- instead of sequentially within a range or in the order that the system
-@@ -159,6 +163,8 @@
- .Dq reliability ,
- or an 8-bit hexadecimal value preceded by
- .Dq 0x .
-+.It Fl C
-+Send CRLF as line-ending
- .It Fl t
- Causes
+ .Op Fl M Ar ttl
+@@ -95,6 +95,8 @@ to use IPv4 addresses only.
+ Forces
.Nm
-@@ -317,7 +323,7 @@
+ to use IPv6 addresses only.
++.It Fl C
++Send CRLF as line-ending.
+ .It Fl D
+ Enable debugging on the socket.
+ .It Fl d
+@@ -379,7 +381,7 @@ More complicated examples can be built u
of requests required by the server.
As another example, an email may be submitted to an SMTP server using:
.Bd -literal -offset indent
-$ nc localhost 25 \*(Lt\*(Lt EOF
-+$ nc [-C] localhost 25 \*(Lt\*(Lt EOF
++$ nc [\-C] localhost 25 \*(Lt\*(Lt EOF
HELO host.example.com
MAIL FROM:\*(Ltuser@host.example.com\*(Gt
RCPT TO:\*(Ltuser2@host.example.com\*(Gt
+--- a/netcat.c
++++ b/netcat.c
+@@ -163,6 +163,8 @@ int tls_cachanged; /* Using non-defau
+ int TLSopt; /* TLS options */
+ char *tls_expectname; /* required name in peer cert */
+ char *tls_expecthash; /* required hash of peer cert */
++# else
++int Cflag = 0; /* CRLF line-ending */
+ # endif
+
+ int timeout = -1;
+@@ -209,7 +211,7 @@ ssize_t fillbuf(int, unsigned char *, si
+ void tls_setup_client(struct tls *, int, char *);
+ struct tls *tls_setup_server(struct tls *, int, char *);
+ # else
+-ssize_t drainbuf(int, unsigned char *, size_t *);
++ssize_t drainbuf(int, unsigned char *, size_t *, int);
+ ssize_t fillbuf(int, unsigned char *, size_t *);
+ # endif
+
+@@ -246,7 +248,7 @@ main(int argc, char *argv[])
+ # if defined(TLS)
+ "46C:cDde:FH:hI:i:K:klM:m:NnO:o:P:p:R:rSs:T:tUuV:vw:X:x:z")) != -1) {
+ # else
+- "46DdFhI:i:klM:m:NnO:P:p:rSs:T:tUuV:vw:X:x:z")) != -1) {
++ "46CDdFhI:i:klM:m:NnO:P:p:rSs:T:tUuV:vw:X:x:z")) != -1) {
+ # endif
+ switch (ch) {
+ case '4':
+@@ -275,6 +277,10 @@ main(int argc, char *argv[])
+ case 'c':
+ usetls = 1;
+ break;
++# else
++ case 'C':
++ Cflag = 1;
++ break;
+ # endif
+ case 'd':
+ dflag = 1;
+@@ -1257,12 +1263,6 @@ readwrite(int net_fd)
+ stdinbufpos == 0 && netinbufpos == 0)
+ return;
+
+- /* help says -i is for "wait between lines sent". We read and
+- * write arbitrary amounts of data, and we don't want to start
+- * scanning for newlines, so this is as good as it gets */
+- if (iflag)
+- sleep(iflag);
+-
+ /* poll */
+ num_fds = poll(pfd, 4, timeout);
+
+@@ -1342,7 +1342,7 @@ readwrite(int net_fd)
+ pfd[POLL_NETOUT].events = POLLOUT;
+ else
+ # else
+- &stdinbufpos);
++ &stdinbufpos, (iflag || Cflag) ? 1 : 0);
+ # endif
+ if (ret == -1)
+ pfd[POLL_NETOUT].fd = -1;
+@@ -1395,7 +1395,7 @@ readwrite(int net_fd)
+ pfd[POLL_STDOUT].events = POLLOUT;
+ else
+ # else
+- &netinbufpos);
++ &netinbufpos, 0);
+ # endif
+ if (ret == -1)
+ pfd[POLL_STDOUT].fd = -1;
+@@ -1421,31 +1421,40 @@ readwrite(int net_fd)
+ }
+
+ ssize_t
+-# if defined(TLS)
+-drainbuf(int fd, unsigned char *buf, size_t *bufpos, struct tls *tls)
+-# else
+-drainbuf(int fd, unsigned char *buf, size_t *bufpos)
+-# endif
++drainbuf(int fd, unsigned char *buf, size_t *bufpos, int oneline)
+ {
+- ssize_t n;
++ ssize_t n, r;
+ ssize_t adjust;
++ unsigned char *lf = NULL;
+
+-# if defined(TLS)
+- if (tls)
+- n = tls_write(tls, buf, *bufpos);
+- else {
+-# endif
+- n = write(fd, buf, *bufpos);
+- /* don't treat EAGAIN, EINTR as error */
+- if (n == -1 && (errno == EAGAIN || errno == EINTR))
+-# if defined(TLS)
+- n = TLS_WANT_POLLOUT;
+- }
+-# else
+- n = -2;
+-# endif
++ if (oneline)
++ lf = memchr(buf, '\n', *bufpos);
++ if (lf == NULL) {
++ n = *bufpos;
++ oneline = 0;
++ }
++ else if (Cflag && (lf == buf || buf[lf - buf - 1] != '\r')) {
++ n = lf - buf;
++ oneline = 2;
++ }
++ else
++ n = lf - buf + 1;
++ if (n > 0)
++ n = write(fd, buf, n);
++
++ /* don't treat EAGAIN, EINTR as error */
++ if (n == -1 && (errno == EAGAIN || errno == EINTR))
++ n = -2;
++ if (oneline == 2 && n >= 0)
++ n++;
+ if (n <= 0)
+ return n;
++
++ if (oneline == 2 && (r = atomicio(vwrite, fd, "\r\n", 2)) != 2)
++ err(1, "write failed (%zu/2)", r);
++ if (oneline > 0 && iflag)
++ sleep(iflag);
++
+ /* adjust buffer */
+ adjust = *bufpos - n;
+ if (adjust > 0)
+@@ -1911,6 +1920,7 @@ help(void)
+ fprintf(stderr, "\tCommand Summary:\n\
+ \t-4 Use IPv4\n\
+ \t-6 Use IPv6\n\
++ \t-C Send CRLF as line-ending\n\
+ \t-D Enable the debug socket option\n\
+ \t-d Detach from stdin\n\
+ \t-F Pass socket fd\n\
+@@ -1947,7 +1957,7 @@ void
+ usage(int ret)
+ {
+ fprintf(stderr,
+- "usage: nc [-46DdFhklNnrStUuvz] [-I length] [-i interval] [-M ttl]\n"
++ "usage: nc [-46CDdFhklNnrStUuvz] [-I length] [-i interval] [-M ttl]\n"
+ "\t [-m minttl] [-O length] [-P proxy_username] [-p source_port]\n"
+ "\t [-s source] [-T keyword] [-V rtable] [-w timeout] "
+ "[-X proxy_protocol]\n"
++++++ serialized-handling-multiple-clients.patch ++++++
From: Aron Xu <aron(a)debian.org>
Date: Tue, 14 Feb 2012 23:02:00 +0800
Subject: serialized handling multiple clients
---
netcat.c | 41 ++++++++++++++++++++---------------------
1 file changed, 20 insertions(+), 21 deletions(-)
--- a/netcat.c
+++ b/netcat.c
@@ -664,7 +664,20 @@ main(int argc, char *argv[])
s = unix_bind(host, 0);
else
s = unix_listen(host);
- }
+ } else
+ s = local_listen(host, uport, hints);
+ if (s < 0)
+ err(1, NULL);
+
+ char* local;
+ if (family == AF_INET6)
+ local = ":::";
+ else
+ local = "0.0.0.0";
+ fprintf(stderr, "Listening on [%s] (family %d, port %d)\n",
+ host ?: local,
+ family,
+ *uport);
# if defined(TLS)
if (usetls) {
@@ -678,22 +691,7 @@ main(int argc, char *argv[])
# endif
/* Allow only one connection at a time, but stay alive. */
for (;;) {
- if (family != AF_UNIX)
- s = local_listen(host, uport, hints);
- if (s < 0)
- err(1, NULL);
-
- char* local;
- if (family == AF_INET6)
- local = "0.0.0.0";
- else if (family == AF_INET)
- local = ":::";
- else
- local = "unknown";
- fprintf(stderr, "Listening on [%s] (family %d, port %d)\n",
- host ?: local,
- family,
- *uport);
+
/*
* For UDP and -k, don't connect the socket, let it
* receive datagrams from multiple socket pairs.
@@ -760,15 +758,16 @@ main(int argc, char *argv[])
# endif
close(connfd);
}
- if (family != AF_UNIX)
+ if (kflag)
+ continue;
+ if (family != AF_UNIX) {
close(s);
+ }
else if (uflag) {
if (connect(s, NULL, 0) < 0)
err(1, "connect");
}
-
- if (!kflag)
- break;
+ break;
}
} else if (family == AF_UNIX) {
ret = 0;
++++++ set-TCP-MD5SIG-correctly-for-client-connections.patch ++++++
From: Thomas Habets <habets(a)google.com>
Date: Sat, 18 Feb 2017 21:07:22 +0000
Subject: Set TCP MD5SIG correctly for client connections
---
netcat.c | 31 ++++++++++++++++++++++++-------
1 file changed, 24 insertions(+), 7 deletions(-)
--- a/netcat.c
+++ b/netcat.c
@@ -47,6 +47,9 @@
#ifdef __linux__
# include <linux/in6.h>
#endif
+#if defined(TCP_MD5SIG) && defined(TCP_MD5SIG_MAXKEYLEN)
+# include <bsd/readpassphrase.h>
+#endif
#ifndef IPTOS_LOWDELAY
# define IPTOS_LOWDELAY 0x10
@@ -172,6 +175,9 @@ char *tls_expecthash; /* required hash
int Cflag = 0; /* CRLF line-ending */
# endif
+# if defined(TCP_MD5SIG) && defined(TCP_MD5SIG_MAXKEYLEN)
+char Sflag_password[TCP_MD5SIG_MAXKEYLEN];
+# endif
int timeout = -1;
int family = AF_UNSPEC;
char *portlist[PORT_MAX+1];
@@ -200,7 +206,7 @@ int udptest(int);
int unix_bind(char *, int);
int unix_connect(char *);
int unix_listen(char *);
-void set_common_sockopts(int, int);
+void set_common_sockopts(int, const struct sockaddr *);
int map_tos(char *, int *);
# if defined(TLS)
int map_tls(char *, int *);
@@ -427,7 +433,10 @@ main(int argc, char *argv[])
break;
# endif
case 'S':
-# if defined(TCP_MD5SIG)
+# if defined(TCP_MD5SIG) && defined(TCP_MD5SIG_MAXKEYLEN)
+ if (readpassphrase("TCP MD5SIG password: ",
+ Sflag_password, TCP_MD5SIG_MAXKEYLEN, RPP_REQUIRE_TTY) == NULL)
+ errx(1, "Unable to read TCP MD5SIG password");
Sflag = 1;
# else
errx(1, "no TCP MD5 signature support available");
@@ -1120,7 +1129,7 @@ remote_connect(const char *host, const c
freeaddrinfo(ares);
}
- set_common_sockopts(s, res->ai_family);
+ set_common_sockopts(s, res->ai_addr);
char *proto = proto_name(uflag, dccpflag);
if ((error = connect_with_timeout(s, res->ai_addr, res->ai_addrlen, timeout)) == CONNECTION_SUCCESS)
@@ -1274,7 +1283,7 @@ local_listen(char *host, char *port, str
err(1, NULL);
# endif
- set_common_sockopts(s, res->ai_family);
+ set_common_sockopts(s, res->ai_addr);
if (bind(s, (struct sockaddr *)res->ai_addr,
res->ai_addrlen) == 0)
@@ -1788,14 +1797,22 @@ udptest(int s)
}
void
-set_common_sockopts(int s, int af)
+set_common_sockopts(int s, const struct sockaddr* sa)
{
int x = 1;
+ int af = sa->sa_family;
-# if defined(TCP_MD5SIG)
+# if defined(TCP_MD5SIG) && defined(TCP_MD5SIG_MAXKEYLEN)
if (Sflag) {
+ struct tcp_md5sig sig;
+ memset(&sig, 0, sizeof(sig));
+ memcpy(&sig.tcpm_addr, sa, sizeof(struct sockaddr_storage));
+ sig.tcpm_keylen = TCP_MD5SIG_MAXKEYLEN < strlen(Sflag_password)
+ ? TCP_MD5SIG_MAXKEYLEN
+ : strlen(Sflag_password);
+ strlcpy(sig.tcpm_key, Sflag_password, sig.tcpm_keylen);
if (setsockopt(s, IPPROTO_TCP, TCP_MD5SIG,
- &x, sizeof(x)) == -1)
+ &sig, sizeof(sig)) == -1)
err(1, NULL);
}
# endif
++++++ udp-scan-timeout.patch ++++++
--- /var/tmp/diff_new_pack.GhUzhQ/_old 2017-07-30 11:25:15.811313982 +0200
+++ /var/tmp/diff_new_pack.GhUzhQ/_new 2017-07-30 11:25:15.811313982 +0200
@@ -1,8 +1,14 @@
-Index: netcat-openbsd-1.89/netcat.c
-===================================================================
---- netcat-openbsd-1.89.orig/netcat.c 2008-01-22 16:17:30.000000000 -0500
-+++ netcat-openbsd-1.89/netcat.c 2008-01-22 16:17:34.000000000 -0500
-@@ -69,6 +69,8 @@
+From: Aron Xu <aron(a)debian.org>
+Date: Mon, 13 Feb 2012 15:29:37 +0800
+Subject: udp scan timeout
+
+---
+ netcat.c | 23 +++++++++++++++--------
+ 1 file changed, 15 insertions(+), 8 deletions(-)
+
+--- a/netcat.c
++++ b/netcat.c
+@@ -129,6 +129,8 @@
#define CONNECTION_FAILED 1
#define CONNECTION_TIMEOUT 2
@@ -10,17 +16,17 @@
+
/* Command Line Options */
int dflag; /* detached, no stdin */
- int iflag; /* Interval Flag */
-@@ -376,7 +378,7 @@
+ int Fflag; /* fdpass sock to stdout */
+@@ -774,7 +776,7 @@ main(int argc, char *argv[])
continue;
ret = 0;
-- if (vflag) {
-+ if (vflag && !uflag) {
+- if (vflag || zflag) {
++ if (vflag) {
/* For UDP, make sure we are connected. */
if (uflag) {
if (udptest(s) == -1) {
-@@ -841,15 +843,20 @@
+@@ -1693,15 +1695,20 @@ build_ports(char *p)
int
udptest(int s)
{
++++++ verbose-numeric-port.patch ++++++
--- /var/tmp/diff_new_pack.GhUzhQ/_old 2017-07-30 11:25:15.831311161 +0200
+++ /var/tmp/diff_new_pack.GhUzhQ/_new 2017-07-30 11:25:15.839310032 +0200
@@ -1,24 +1,47 @@
-Index: netcat-openbsd-1.89/netcat.c
-===================================================================
---- netcat-openbsd-1.89.orig/netcat.c 2008-01-22 16:17:34.000000000 -0500
-+++ netcat-openbsd-1.89/netcat.c 2008-01-22 16:17:44.000000000 -0500
-@@ -41,6 +41,7 @@
+From: Aron Xu <aron(a)debian.org>
+Date: Mon, 13 Feb 2012 15:38:15 +0800
+Subject: verbose numeric port
+
+---
+ netcat.c | 19 ++++++++++++++++---
+ 1 file changed, 16 insertions(+), 3 deletions(-)
+
+--- a/netcat.c
++++ b/netcat.c
+@@ -43,6 +43,7 @@
#include <netinet/tcp.h>
#include <netinet/ip.h>
#include <arpa/telnet.h>
+#include <arpa/inet.h>
-
- #include <err.h>
- #include <errno.h>
-@@ -317,16 +318,15 @@
- if (uflag) {
- int rv, plen;
- char buf[8192];
-- struct sockaddr_storage z;
+ #ifdef __linux__
+ # include <linux/in6.h>
+ #endif
+@@ -651,6 +652,18 @@ main(int argc, char *argv[])
+ s = local_listen(host, uport, hints);
+ if (s < 0)
+ err(1, NULL);
++
++ char* local;
++ if (family == AF_INET6)
++ local = "0.0.0.0";
++ else if (family == AF_INET)
++ local = ":::";
++ else
++ local = "unknown";
++ fprintf(stderr, "Listening on [%s] (family %d, port %d)\n",
++ host ?: local,
++ family,
++ *uport);
+ /*
+ * For UDP and -k, don't connect the socket, let it
+ * receive datagrams from multiple socket pairs.
+@@ -671,14 +684,14 @@ main(int argc, char *argv[])
+ char buf[16384];
+ struct sockaddr_storage z;
- len = sizeof(z);
+ len = sizeof(cliaddr);
- plen = jflag ? 8192 : 1024;
+ plen = 2048;
rv = recvfrom(s, buf, plen, MSG_PEEK,
- (struct sockaddr *)&z, &len);
+ (struct sockaddr *)&cliaddr, &len);
@@ -30,25 +53,3 @@
if (rv < 0)
err(1, "connect");
-@@ -337,6 +337,21 @@
- &len);
- }
-
-+ if(vflag) {
-+ /* Don't look up port if -n. */
-+ if (nflag)
-+ sv = NULL;
-+ else
-+ sv = getservbyport(ntohs(atoi(uport)),
-+ uflag ? "udp" : "tcp");
-+
-+ fprintf(stderr, "Connection from %s port %s [%s/%s] accepted\n",
-+ inet_ntoa(((struct sockaddr_in *)(&cliaddr))->sin_addr),
-+ uport,
-+ uflag ? "udp" : "tcp",
-+ sv ? sv->s_name : "*");
-+ }
-+
- readwrite(connfd);
- close(connfd);
- if (family != AF_UNIX)
1
0
Hello community,
here is the log from the commit of package openSUSE-EULAs for openSUSE:Factory checked in at 2017-07-30 11:25:05
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openSUSE-EULAs (Old)
and /work/SRC/openSUSE:Factory/.openSUSE-EULAs.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openSUSE-EULAs"
Sun Jul 30 11:25:05 2017 rev:14 rq:510981 version:84.87.20170717.0223e19
Changes:
--------
--- /work/SRC/openSUSE:Factory/openSUSE-EULAs/openSUSE-EULAs.changes 2017-07-17 09:03:13.650952789 +0200
+++ /work/SRC/openSUSE:Factory/.openSUSE-EULAs.new/openSUSE-EULAs.changes 2017-07-30 11:25:06.980560068 +0200
@@ -1,0 +2,7 @@
+Mon Jul 17 13:22:43 UTC 2017 - lnussel(a)suse.de
+
+- Update to version 84.87.20170717.0223e19:
+ * Added translation using Weblate (Norwegian Nynorsk)
+ * Translated using Weblate (German)
+
+-------------------------------------------------------------------
Old:
----
openSUSE-EULAs-84.87.20170615.dcb55c2.tar.xz
New:
----
openSUSE-EULAs-84.87.20170717.0223e19.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openSUSE-EULAs.spec ++++++
--- /var/tmp/diff_new_pack.1TUBr8/_old 2017-07-30 11:25:08.360365367 +0200
+++ /var/tmp/diff_new_pack.1TUBr8/_new 2017-07-30 11:25:08.364364802 +0200
@@ -19,7 +19,7 @@
%bcond_without java
Name: openSUSE-EULAs
-Version: 84.87.20170615.dcb55c2
+Version: 84.87.20170717.0223e19
Release: 0
Url: https://github.com/openSUSE/openSUSE-EULAs
Summary: Collection of EULAs for openSUSE
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.1TUBr8/_old 2017-07-30 11:25:08.456351822 +0200
+++ /var/tmp/diff_new_pack.1TUBr8/_new 2017-07-30 11:25:08.460351258 +0200
@@ -1,4 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">git://github.com/openSUSE/openSUSE-EULAs.git</param>
- <param name="changesrevision">dcb55c2872ebd5d9c5d2fda2c59388e6e50f9ab7</param></service></servicedata>
\ No newline at end of file
+ <param name="changesrevision">0223e195f292c9565a54b6783754f0dd611eb383</param></service></servicedata>
\ No newline at end of file
++++++ openSUSE-EULAs-84.87.20170615.dcb55c2.tar.xz -> openSUSE-EULAs-84.87.20170717.0223e19.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-EULAs-84.87.20170615.dcb55c2/Mesa-dri-nouveau/Mesa-dri-nouveau.de.po new/openSUSE-EULAs-84.87.20170717.0223e19/Mesa-dri-nouveau/Mesa-dri-nouveau.de.po
--- old/openSUSE-EULAs-84.87.20170615.dcb55c2/Mesa-dri-nouveau/Mesa-dri-nouveau.de.po 2017-06-15 23:00:56.000000000 +0200
+++ new/openSUSE-EULAs-84.87.20170717.0223e19/Mesa-dri-nouveau/Mesa-dri-nouveau.de.po 2017-07-17 14:04:21.000000000 +0200
@@ -4,7 +4,7 @@
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-27 15:27+0200\n"
-"PO-Revision-Date: 2016-10-27 13:33+0000\n"
+"PO-Revision-Date: 2017-07-17 09:32+0000\n"
"Last-Translator: Ludwig Nussel <lnussel(a)suse.com>\n"
"Language-Team: German <https://l10n.opensuse.org/projects/opensuse-eulas"
"/mesa-dri-nouveau-master/de/>\n"
@@ -13,7 +13,7 @@
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 2.6\n"
+"X-Generator: Weblate 2.13.1\n"
#: Mesa-dri-nouveau/Mesa-dri-nouveau.en:1
msgid "WARNING: Nouveau DRI/3D driver selected."
@@ -27,7 +27,7 @@
msgstr ""
"Der Treiber ist als Experimentell eingestuft und bekannt dafür, Probleme mit "
"\n"
-"Anwendungen, die 3D-Beschleunigung moderner NVIDIA Hardware nutzen zu\n"
+"Anwendungen, die 3D-Beschleunigung moderner NVIDIA Hardware nutzen, zu\n"
"haben."
#: Mesa-dri-nouveau/Mesa-dri-nouveau.en:7
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/openSUSE-EULAs-84.87.20170615.dcb55c2/Mesa-dri-nouveau/Mesa-dri-nouveau.nn.po new/openSUSE-EULAs-84.87.20170717.0223e19/Mesa-dri-nouveau/Mesa-dri-nouveau.nn.po
--- old/openSUSE-EULAs-84.87.20170615.dcb55c2/Mesa-dri-nouveau/Mesa-dri-nouveau.nn.po 1970-01-01 01:00:00.000000000 +0100
+++ new/openSUSE-EULAs-84.87.20170717.0223e19/Mesa-dri-nouveau/Mesa-dri-nouveau.nn.po 2017-07-17 14:04:21.000000000 +0200
@@ -0,0 +1,53 @@
+#. extracted from Mesa-dri-nouveau/Mesa-dri-nouveau.en
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2016-10-27 15:27+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: nn\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Translate Toolkit 1.13.0\n"
+
+#: Mesa-dri-nouveau/Mesa-dri-nouveau.en:1
+msgid "WARNING: Nouveau DRI/3D driver selected."
+msgstr ""
+
+#: Mesa-dri-nouveau/Mesa-dri-nouveau.en:3
+msgid ""
+"This driver is considered experimental and is known to have issues with\n"
+"applications that use certain 3D acceleration features of modern\n"
+"NVIDIA hardware."
+msgstr ""
+
+#: Mesa-dri-nouveau/Mesa-dri-nouveau.en:7
+msgid ""
+"Symptoms include application crashes or lockups & crashes of your system's\n"
+"graphical environment. Older Hardware and less demanding applications may "
+"work\n"
+"just fine and do benefit from the Hardware acceleration features this "
+"driver\n"
+"offers over software emulation."
+msgstr ""
+
+#: Mesa-dri-nouveau/Mesa-dri-nouveau.en:12
+msgid ""
+"Use of this driver is especially not recommended for use with the KDE "
+"Desktop\n"
+"Environment or Qt-based Applications."
+msgstr ""
+
+#: Mesa-dri-nouveau/Mesa-dri-nouveau.en:15
+msgid "The hardware vendor potentially offers alternative drivers."
+msgstr ""
+
+#: Mesa-dri-nouveau/Mesa-dri-nouveau.en:17
+msgid ""
+"Please click \"I Agree\" if you accept the risks that may come with the\n"
+"installation of this driver. Choose \"I Disagree\" to prevent installation\n"
+"of the driver and use software emulation instead."
+msgstr ""
1
0
Hello community,
here is the log from the commit of package skelcd-openSUSE for openSUSE:Factory checked in at 2017-07-30 11:24:53
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/skelcd-openSUSE (Old)
and /work/SRC/openSUSE:Factory/.skelcd-openSUSE.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "skelcd-openSUSE"
Sun Jul 30 11:24:53 2017 rev:97 rq:510979 version:84.87.20170712.1dc7ffa
Changes:
--------
--- /work/SRC/openSUSE:Factory/skelcd-openSUSE/skelcd-openSUSE.changes 2017-07-12 19:34:49.682332381 +0200
+++ /work/SRC/openSUSE:Factory/.skelcd-openSUSE.new/skelcd-openSUSE.changes 2017-07-30 11:24:59.801573076 +0200
@@ -1,0 +2,9 @@
+Mon Jul 17 13:06:35 UTC 2017 - opensuse-packaging(a)opensuse.org
+
+- Update to version 84.87.20170712.1dc7ffa:
+ * Added translation using Weblate (Norwegian Nynorsk)
+ * Translated using Weblate (Catalan)
+ * Translated using Weblate (Danish)
+ * Translated using Weblate (Greek)
+
+-------------------------------------------------------------------
Old:
----
skelcd-openSUSE-84.87.20170608.7282c44.tar.xz
New:
----
skelcd-openSUSE-84.87.20170712.1dc7ffa.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ skelcd-openSUSE.spec ++++++
--- /var/tmp/diff_new_pack.hjlxVq/_old 2017-07-30 11:25:01.377350723 +0200
+++ /var/tmp/diff_new_pack.hjlxVq/_new 2017-07-30 11:25:01.377350723 +0200
@@ -16,7 +16,7 @@
#
-%define version_unconverted 84.87.20170608.7282c44
+%define version_unconverted 84.87.20170712.1dc7ffa
Name: skelcd-openSUSE
BuildRequires: build-key
@@ -27,7 +27,7 @@
BuildRequires: translate-toolkit
%endif
Conflicts: skelcd-sles skelcd-sled skelcd-openSUSE-non-OSS skelcd-openSUSE-non-OSS-CD
-Version: 84.87.20170608.7282c44
+Version: 84.87.20170712.1dc7ffa
Release: 0
Summary: Skeleton for openSUSE OSS Media Sets
License: MIT
++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.hjlxVq/_old 2017-07-30 11:25:01.449340564 +0200
+++ /var/tmp/diff_new_pack.hjlxVq/_new 2017-07-30 11:25:01.449340564 +0200
@@ -1,4 +1,4 @@
<servicedata>
<service name="tar_scm">
<param name="url">git://github.com/openSUSE/skelcd-openSUSE.git</param>
- <param name="changesrevision">7282c44b7176c8bc3f4cadb0dac792bf2f384380</param></service></servicedata>
\ No newline at end of file
+ <param name="changesrevision">1dc7ffa6504180fca15b25c3c92c6ee706b203ad</param></service></servicedata>
\ No newline at end of file
++++++ skelcd-openSUSE-84.87.20170608.7282c44.tar.xz -> skelcd-openSUSE-84.87.20170712.1dc7ffa.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/skelcd-openSUSE-84.87.20170608.7282c44/license/license.ca.po new/skelcd-openSUSE-84.87.20170712.1dc7ffa/license/license.ca.po
--- old/skelcd-openSUSE-84.87.20170608.7282c44/license/license.ca.po 2017-06-08 18:03:04.000000000 +0200
+++ new/skelcd-openSUSE-84.87.20170712.1dc7ffa/license/license.ca.po 2017-07-12 20:04:44.000000000 +0200
@@ -4,8 +4,8 @@
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-08-31 11:11+0200\n"
-"PO-Revision-Date: 2016-10-13 08:16+0000\n"
-"Last-Translator: David Medina <medipas(a)gmail.com>\n"
+"PO-Revision-Date: 2017-07-11 19:31+0000\n"
+"Last-Translator: anonymous <>\n"
"Language-Team: Catalan <https://l10n.opensuse.org/projects/skelcd-"
"opensuse/master/ca/>\n"
"Language: ca\n"
@@ -13,7 +13,7 @@
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 2.6\n"
+"X-Generator: Weblate 2.13.1\n"
#: license/TEMPLATE:1
msgid ""
@@ -33,12 +33,12 @@
msgstr ""
"Aquesta és una traducció no oficial de la llicència d'openSUSE #VERSION# al "
"\n"
-"$LANGUAGE. No fa constar legalment els termes de la distribució per a "
-"openSUSE \n"
+"català. No fa constar legalment els termes de la distribució per a openSUSE "
+"\n"
"#VERSION#, només ho fa el text original en anglès de la llicència d'openSUSE "
"\n"
-"l#VERSION#. Tanmateix, esperem que aquestra traducció ajudi als parlants de\n"
-"$LANGUAGE a entendre-la millor."
+"l#VERSION#. Tanmateix, esperem que aquestra traducció ajudi els parlants de\n"
+"català a entendre-la millor."
#: license/TEMPLATE:10
msgid ""
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/skelcd-openSUSE-84.87.20170608.7282c44/license/license.da.po new/skelcd-openSUSE-84.87.20170712.1dc7ffa/license/license.da.po
--- old/skelcd-openSUSE-84.87.20170608.7282c44/license/license.da.po 2017-06-08 18:03:04.000000000 +0200
+++ new/skelcd-openSUSE-84.87.20170712.1dc7ffa/license/license.da.po 2017-07-12 20:04:44.000000000 +0200
@@ -4,8 +4,8 @@
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-08-31 11:11+0200\n"
-"PO-Revision-Date: 2017-06-08 13:00+0000\n"
-"Last-Translator: scootergrisen <scootergrisen(a)gmail.com>\n"
+"PO-Revision-Date: 2017-07-11 17:07+0000\n"
+"Last-Translator: Martin Schlander <martin.schlander(a)gmail.com>\n"
"Language-Team: Danish <https://l10n.opensuse.org/projects/skelcd-"
"opensuse/master/da/>\n"
"Language: da\n"
@@ -13,7 +13,7 @@
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 2.6\n"
+"X-Generator: Weblate 2.13.1\n"
#: license/TEMPLATE:1
msgid ""
@@ -31,8 +31,7 @@
"license does that. However, we hope that this translation will help\n"
"$LANGUAGE speakers understand the license better."
msgstr ""
-"Dette er en uofficiel $LANGUAGE oversættelse af openSUSE-licensen #VERSION#."
-"\n"
+"Dette er en uofficiel dansk oversættelse af openSUSE-licensen #VERSION#.\n"
"Den erklærer ikke de juridiske distributionsvilkår til openSUSE #VERSION# - "
"det\n"
"gør kun den originale engelske tekst af openSUSE-licensen #VERSION#. Vi "
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/skelcd-openSUSE-84.87.20170608.7282c44/license/license.el.po new/skelcd-openSUSE-84.87.20170712.1dc7ffa/license/license.el.po
--- old/skelcd-openSUSE-84.87.20170608.7282c44/license/license.el.po 2017-06-08 18:03:04.000000000 +0200
+++ new/skelcd-openSUSE-84.87.20170712.1dc7ffa/license/license.el.po 2017-07-12 20:04:44.000000000 +0200
@@ -4,8 +4,8 @@
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-08-31 11:11+0200\n"
-"PO-Revision-Date: 2016-11-04 22:09+0000\n"
-"Last-Translator: Nick Mantas <nmantas.archery(a)gmail.com>\n"
+"PO-Revision-Date: 2017-07-12 13:38+0000\n"
+"Last-Translator: Efstathios Iosifidis <eiosifidis(a)gmail.com>\n"
"Language-Team: Greek <https://l10n.opensuse.org/projects/skelcd-"
"opensuse/master/el/>\n"
"Language: el\n"
@@ -13,7 +13,7 @@
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Generator: Weblate 2.6\n"
+"X-Generator: Weblate 2.13.1\n"
#: license/TEMPLATE:1
msgid ""
@@ -33,12 +33,12 @@
msgstr ""
"Αυτή είναι η ανεπίσημη μετάφραση της άδειας της έκδοσης openSUSE #VERSION# "
"στα\n"
-"$LANGUAGE. Δεν αναφέρει νομικά τους όρους διανομής για το openSUSE\n"
+"Ελληνικά. Δεν αναφέρει νομικά τους όρους διανομής για το openSUSE\n"
"#VERSION# - μόνο το πρωτότυπο κείμενο στα Αγγλικά της άδειας για το openSUSE "
"#VERSION#\n"
"τους καλύπτει.Παρόλα αυτά πιστεύουμε ότι αυτή η μετάφραση θα βοηθήσει αυτούς "
"που μιλάνε \n"
-"$LANGUAGE να καταλάβουν την άδεια χρήσης καλύτερα."
+"Ελληνικά να καταλάβουν την άδεια χρήσης καλύτερα."
#: license/TEMPLATE:10
msgid ""
@@ -56,9 +56,9 @@
"από την \n"
"Αμερικανική Νομοθεσία Πνευματικής Ιδιοκτησίας. Υπακούοντας τους ακόλουθους "
"όρους, το openSUSE Project σας παρέχει,\n"
-"μια άδεια χρήσης για αυη τη συλλογική δουλειά ακολουθόντας την έκδοση 2 της "
+"μια άδεια χρήσης για αυτή τη συλλογική δουλειά ακολουθώντας την έκδοση 2 της "
"GNU General\n"
-"Public License. Κατεβάζοντας, εγκαθιστόντας ή χρησιμοποιώντας openSUSE "
+"Public License. Κατεβάζοντας, εγκαθιστώντας ή χρησιμοποιώντας openSUSE "
"#VERSION# συμφωνείτε με αυτούς τους όρους."
#: license/TEMPLATE:18
@@ -107,7 +107,7 @@
"guidelines when distributing openSUSE #VERSION#, regardless of whether\n"
"openSUSE #VERSION# has been modified."
msgstr ""
-"Το openSUSE #VERSION# και κάθένα από τα συστατικά, συμπεριλαμβανομένου του "
+"Το openSUSE #VERSION# και καθένα από τα συστατικά, συμπεριλαμβανομένου του "
"πηγαίου\n"
"κώδικα, η τεκμηρίωση, η εμφάνιση, η δομή και η οργάνωση είναι\n"
"σήματα κατατεθέν από το openSUSE Project και λοιπούς και προστατεύονται από "
@@ -124,12 +124,12 @@
"\n"
"μη τροποποιημένα ή τροποποιημένα αντίγραφα του openSUSE #VERSION# "
"χρησιμοποιώντας\n"
-"το σήμα κατατεθέν με την προυπόθεση ότι ακολουθείτε τις οδηγίες πνευματικών "
+"το σήμα κατατεθέν με την προϋπόθεση ότι ακολουθείτε τις οδηγίες πνευματικών "
"δικαιωμάτων του\n"
"openSUSE Project που βρίσκονται στο http://en.opensuse.org/Legal. "
"Υποχρεούστε να συμμορφώνεστε \n"
"με αυτές τις οδηγίες όταν διανέμετε το openSUSE #VERSION#, ανεξάρτητα αν "
-"έχετε τρποποιήσει το openSUSE #VERSION#."
+"έχετε τροποποιήσει το openSUSE #VERSION#."
#: license/TEMPLATE:45
msgid ""
@@ -215,7 +215,7 @@
"Αναγνωρίζετε ότι το openSUSE #VERSION# υπόκειται στις Ρυθμίσεις Διοικητικών "
"\n"
"Εξαγωγών των Η.Π.Α (“EAR”) και συμφωνείτε να συμμορφώνεστε με \n"
-"αυτην. Δεν θα εξάγετε ή επανεξάγετε το openSUSE #VERSION# άμεσα ή\n"
+"αυτήν. Δεν θα εξάγετε ή επανεξάγετε το openSUSE #VERSION# άμεσα ή\n"
"έμμεσα, σε: (1) οποιεσδήποτε χώρες που υπόκεινται σε περιορισμούς\n"
"εξαγωγών των Η.Π.Α (2) κάθε τελικό χρήστη που γνωρίζετε ή έχετε λόγο να "
"γνωρίζετε ότι θα\n"
@@ -230,7 +230,7 @@
"σε\n"
"εξαγωγικές συναλλαγές των Η.Π.Α από οποιαδήποτε ομοσπονδιακή υπηρεσία της "
"κυβέρνησης των Η.Π.Α. Με\n"
-"τη λήψη ή χρήση του openSUSE # ΕΚΔΟΣΗ #, συμφωνείτε με τα ανωτέρω\n"
+"τη λήψη ή χρήση του openSUSE #VERSION#, συμφωνείτε με τα ανωτέρω\n"
"και σας εκπροσωπούν και να δικαιολογούν ότι δεν είστε βρίσκεται στην, υπό\n"
"ο έλεγχος, ή υπήκοος ή κάτοικος οποιασδήποτε από αυτές τις χώρες ή σε "
"οποιαδήποτε\n"
@@ -238,7 +238,7 @@
"τοπικούς νόμους\n"
"στην περιοχή δικαιοδοσίας σας που μπορεί να επηρεάσουν το δικαίωμα σας για "
"την εισαγωγή, εξαγωγή ή χρήση\n"
-"του openSUSE #VERSION# . Παρακαλούμε να συμβουλευθείτε τη σελιδα του "
+"του openSUSE #VERSION# . Παρακαλούμε να συμβουλευθείτε τη σελίδα του "
"Γραφείου Βιομηχανίας και Διαδικτυακής Ασφαλείας\n"
"www.bis.doc.gov πριν την εξαγωγή ειδών που υπόκεινται στο EAR. Είναι δική "
"σας\n"
@@ -301,7 +301,7 @@
"Πνευματική ιδιοκτησία © 2008-2017 openSUSE Project. Mε επιφύλαξη\n"
"όλων των δικαιωμάτων. Τα \"SUSE\" και \"openSUSE\" είναι σήματα κατατεθέντα "
"της SUSE LLC,\n"
-"ή των θυγατικών, που ίδρυθηκαν, χορήγηθηκαν ή σχεδίαστηκαν από το The "
+"ή των θυγατρικών, που ιδρύθηκαν, χορηγήθηκαν ή σχεδιάστηκαν από το The "
"openSUSE\n"
"Project. Το \"Linux\" είναι σήμα κατατεθέν του Linus Torvalds. Όλα \n"
"τα άλλα εμπορικά σήματα είναι ιδιοκτησία των αντίστοιχων ιδιοκτητών."
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/skelcd-openSUSE-84.87.20170608.7282c44/license/license.nn.po new/skelcd-openSUSE-84.87.20170712.1dc7ffa/license/license.nn.po
--- old/skelcd-openSUSE-84.87.20170608.7282c44/license/license.nn.po 1970-01-01 01:00:00.000000000 +0100
+++ new/skelcd-openSUSE-84.87.20170712.1dc7ffa/license/license.nn.po 2017-07-12 20:04:44.000000000 +0200
@@ -0,0 +1,157 @@
+#. extracted from license/TEMPLATE
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2016-08-31 11:11+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: Automatically generated\n"
+"Language-Team: none\n"
+"Language: nn\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: Translate Toolkit 1.13.0\n"
+
+#: license/TEMPLATE:1
+msgid ""
+"LICENSE AGREEMENT\n"
+"openSUSE® #VERSION#"
+msgstr ""
+
+#: license/TEMPLATE:4
+msgid ""
+"This is an unofficial translation of the openSUSE #VERSION# license into \n"
+"$LANGUAGE. It does not legally state the distribution terms for openSUSE \n"
+"#VERSION# - only the original English text of the openSUSE #VERSION#\n"
+"license does that. However, we hope that this translation will help\n"
+"$LANGUAGE speakers understand the license better."
+msgstr ""
+
+#: license/TEMPLATE:10
+msgid ""
+"This agreement governs your download, installation, or use\n"
+"of openSUSE #VERSION# and its updates, regardless of the delivery\n"
+"mechanism. openSUSE #VERSION# is a collective work under US Copyright\n"
+"Law. Subject to the following terms, The openSUSE Project grants to\n"
+"you a license to this collective work pursuant to the GNU General\n"
+"Public License version 2. By downloading, installing, or using\n"
+"openSUSE #VERSION#, you agree to the terms of this agreement."
+msgstr ""
+
+#: license/TEMPLATE:18
+msgid ""
+"openSUSE #VERSION# is a modular Linux operating system consisting of\n"
+"hundreds of software components. The license agreement for each\n"
+"component is generally located in the component's source code. With\n"
+"the exception of certain files containing the “openSUSE”\n"
+"trademark discussed below, the license terms for the components\n"
+"permit you to copy and redistribute the component. With the\n"
+"potential exception of certain firmware files, the license terms\n"
+"for the components permit you to copy, modify, and redistribute the\n"
+"component, in both source code and binary code forms. This agreement\n"
+"does not limit your rights under, or grant you rights that supersede,\n"
+"the license terms of any particular component."
+msgstr ""
+
+#: license/TEMPLATE:30
+msgid ""
+"openSUSE #VERSION# and each of its components, including the source\n"
+"code, documentation, appearance, structure, and organization, are\n"
+"copyrighted by The openSUSE Project and others and are protected under\n"
+"copyright and other laws. Title to openSUSE #VERSION# and any\n"
+"component, or to any copy, will remain with the aforementioned or its\n"
+"licensors, subject to the applicable license. The \"openSUSE\" trademark\n"
+"is a trademark of SUSE, LLC. in the US and other countries and is\n"
+"used by permission. This agreement permits you to distribute\n"
+"unmodified or modified copies of openSUSE #VERSION# using the\n"
+"“openSUSE” trademark on the condition that you follow The openSUSE\n"
+"Project’s trademark guidelines located at\n"
+"http://en.opensuse.org/Legal. You must abide by these trademark\n"
+"guidelines when distributing openSUSE #VERSION#, regardless of whether\n"
+"openSUSE #VERSION# has been modified."
+msgstr ""
+
+#: license/TEMPLATE:45
+msgid ""
+"Except as specifically stated in this agreement or a license for\n"
+"a particular component, TO THE MAXIMUM EXTENT PERMITTED UNDER\n"
+"APPLICABLE LAW, OPENSUSE #VERSION# AND THE COMPONENTS ARE PROVIDED\n"
+"AND LICENSED \"AS IS\" WITHOUT WARRANTY OF ANY KIND, EXPRESSED OR\n"
+"IMPLIED, INCLUDING THE IMPLIED WARRANTIES OF MERCHANTABILITY, TITLE,\n"
+"NON-INFRINGEMENT, OR FITNESS FOR A PARTICULAR PURPOSE. The openSUSE\n"
+"Project does not warrant that the functions contained in openSUSE\n"
+"#VERSION# will meet your requirements or that the operation of openSUSE\n"
+"#VERSION# will be entirely error free or appear precisely as described\n"
+"in the accompanying documentation. USE OF OPENSUSE #VERSION# IS AT YOUR\n"
+"OWN RISK."
+msgstr ""
+
+#: license/TEMPLATE:57
+msgid ""
+"TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THE OPENSUSE\n"
+"PROJECT (AND ITS LICENSORS, SUBSIDIARIES, AND EMPLOYEES) WILL NOT\n"
+"BE LIABLE TO YOU FOR ANY DAMAGES, INCLUDING DIRECT, INCIDENTAL,\n"
+"OR CONSEQUENTIAL DAMAGES, LOST PROFITS, OR LOST SAVINGS ARISING OUT\n"
+"OF THE USE OR INABILITY TO USE OPENSUSE #VERSION#, EVEN IF THE OPENSUSE\n"
+"PROJECT HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. IN A\n"
+"JURISDICTION THAT LIMITS THE EXCLUSION OR LIMITATION OF DAMAGES,\n"
+"THE OPENSUSE PROJECT’S (AND ITS LICENSORS’, SUBSIDIARIES’, AND\n"
+"EMPLOYEES’) AGGREGATE LIABILITY IS LIMITED TO $50US, OR IF SUCH A\n"
+"LIMITATION IS NOT ALLOWED, IS LIMITED TO THE MAXIMUM EXTENT ALLOWED."
+msgstr ""
+
+#: license/TEMPLATE:68
+msgid ""
+"You acknowledge that openSUSE #VERSION# is subject to the U.S. Export\n"
+"Administration Regulations (the “EAR”) and you agree to comply with the\n"
+"EAR. You will not export or re-export openSUSE #VERSION# directly or\n"
+"indirectly, to: (1) any countries that are subject to US export\n"
+"restrictions; (2) any end user who you know or have reason to know will\n"
+"utilize openSUSE #VERSION# in the design, development or production of\n"
+"nuclear, chemical or biological weapons, or rocket systems, space launch\n"
+"vehicles, and sounding rockets, or unmanned air vehicle systems, except\n"
+"as authorized by the relevant government agency by regulation or specific\n"
+"license; or (3) any end user who has been prohibited from participating in\n"
+"the US export transactions by any federal agency of the US government. By\n"
+"downloading or using openSUSE #VERSION#, you are agreeing to the foregoing\n"
+"and you are representing and warranting that You are not located in,under\n"
+"the control of, or a national or resident of any such country or on any\n"
+"such list. In addition, you are responsible for complying with any local "
+"laws\n"
+"in Your jurisdiction which may impact Your right to import, export or use\n"
+"openSUSE #VERSION#. Please consult the Bureau of Industry and Security web\n"
+"page www.bis.doc.gov before exporting items subject to the EAR. It is your\n"
+"responsibility to obtain any necessary export approvals."
+msgstr ""
+
+#: license/TEMPLATE:88
+msgid ""
+"If any provision of this agreement is held to be unenforceable, that\n"
+"will not affect the enforceability of the remaining provisions. This\n"
+"agreement will be governed by the laws of the State of Utah and\n"
+"of the US, without regard to any conflict of laws provisions,\n"
+"except that the United Nations Convention on the International\n"
+"Sale of Goods will not apply. This agreement sets forth the entire\n"
+"understanding and agreement between you and The openSUSE Project\n"
+"regarding its subject matter and may be amended only in a writing\n"
+"signed by both parties. No waiver of any right under this agreement\n"
+"will be effective unless in writing, signed by a duly authorized\n"
+"representative of the party to be bound. No waiver of any past or\n"
+"present right arising from any breach or failure to perform will\n"
+"be deemed to be a waiver of any future right arising under this\n"
+"agreement. Use, duplication, or disclosure by the U.S. Government\n"
+"is subject to the restrictions in FAR 52.227-14 (Dec 2007)\n"
+"Alternate III (Dec 2007), FAR 52.227-19 (Dec 2007), or DFARS\n"
+"252.227-7013(b)(3) (Nov 1995), or applicable successor clauses."
+msgstr ""
+
+#: license/TEMPLATE:106
+msgid ""
+"Copyright © 2008-2017 The openSUSE Project. All rights\n"
+"reserved. \"SUSE\" and \"openSUSE\" are registered trademarks of SUSE LLC,\n"
+"or its affiliates, which founded, sponsors, and is designated by, The "
+"openSUSE\n"
+"Project. \"Linux\" is a registered trademark of Linus Torvalds. All\n"
+"other trademarks are the property of their respective owners."
+msgstr ""
1
0
Hello community,
here is the log from the commit of package fltk for openSUSE:Factory checked in at 2017-07-30 11:24:49
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/fltk (Old)
and /work/SRC/openSUSE:Factory/.fltk.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "fltk"
Sun Jul 30 11:24:49 2017 rev:38 rq:510970 version:1.3.4
Changes:
--------
--- /work/SRC/openSUSE:Factory/fltk/fltk.changes 2017-02-16 16:42:14.105965652 +0100
+++ /work/SRC/openSUSE:Factory/.fltk.new/fltk.changes 2017-07-30 11:24:50.406898737 +0200
@@ -1,0 +2,7 @@
+Mon Jul 17 12:34:53 UTC 2017 - tchvatal(a)suse.com
+
+- Drop patch fltk-1.3.2-do_not_add_unneeded_extra_dependencies.patch
+ as upstream closed the ticked stating it is wrong
+- Add patch fltk-1.3.4-fltk_config.patch
+
+-------------------------------------------------------------------
Old:
----
fltk-1.3.2-do_not_add_unneeded_extra_dependencies.patch
New:
----
fltk-1.3.4-fltk_config.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ fltk.spec ++++++
--- /var/tmp/diff_new_pack.zwqi6q/_old 2017-07-30 11:24:51.242780787 +0200
+++ /var/tmp/diff_new_pack.zwqi6q/_new 2017-07-30 11:24:51.246780223 +0200
@@ -17,7 +17,6 @@
Name: fltk
-# Migrating Code from FLTK 1.1 to 1.3: http://www.fltk.org/doc-1.3/migration_1_3.html
Version: 1.3.4
Release: 0
Summary: Free C++ GUI Toolkit for the X Window System, OpenGL, and WIN32
@@ -26,11 +25,10 @@
Url: http://www.fltk.org/
Source: http://fltk.org/pub/fltk/%{version}/fltk-%{version}-source.tar.gz
Source2: baselibs.conf
-# PATCH-FIX-UPSTREAM fltk-1.3.2-do_not_add_unneeded_extra_dependencies.patch http://www.fltk.org/str.php?L2918 reddwarf(a)opensuse.org -- Don't ask dependent libraries to link against Xft without need. Broke games/toycars.
-Patch0: fltk-1.3.2-do_not_add_unneeded_extra_dependencies.patch
+# PATCH-FIX-UPSTREAM fltk-1.3.4-fltk_config.patch tchvatal(a)suse.com -- obey libdir and other options in fltk-config taken from Fedora
+Patch0: fltk-1.3.4-fltk_config.patch
# PATCH-FIX-OPENSUSE fltk-1.3.2-verbose_build.patch reddwarf(a)opensuse.org -- Make the build verbose so the post build checks can verify the CFLAGS
Patch2: fltk-1.3.2-verbose_build.patch
-BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: doxygen
BuildRequires: gcc-c++
BuildRequires: libjpeg-devel
@@ -56,9 +54,9 @@
Summary: Include Files and Libraries mandatory for Development
Group: Development/Libraries/C and C++
Requires: libfltk1 = %{version}
-Provides: fltk = %{version}
Requires: pkgconfig(gl)
Requires: pkgconfig(x11)
+Provides: fltk = %{version}
%description devel
The Fast Light Tool Kit ("FLTK", pronounced "fulltick") is a C++
@@ -100,31 +98,29 @@
%prep
%setup -q
-%patch0
+%patch0 -p1
%patch2
%build
%configure \
- --enable-shared --enable-threads
+ --enable-shared \
+ --enable-threads
make %{?_smp_mflags}
cd documentation
make html %{?_smp_mflags}
%install
-make install libdir=${RPM_BUILD_ROOT}%{_libdir}/ \
- includedir=${RPM_BUILD_ROOT}%{_includedir} \
- bindir=${RPM_BUILD_ROOT}%{_bindir} \
- docdir=${RPM_BUILD_ROOT}/%{_docdir}/fltk-devel/html/ \
- mandir=${RPM_BUILD_ROOT}%{_mandir} STRIP=true
-rm -r ${RPM_BUILD_ROOT}%{_mandir}/cat*
-# rm ${RPM_BUILD_ROOT}%{_libdir}/libfltk*.a
+make install libdir=%{buildroot}%{_libdir}/ \
+ includedir=%{buildroot}%{_includedir} \
+ bindir=%{buildroot}%{_bindir} \
+ docdir=%{buildroot}/%{_docdir}/fltk-devel/html/ \
+ mandir=%{buildroot}%{_mandir} STRIP=true
+rm -r %{buildroot}%{_mandir}/cat*
%post -n libfltk1 -p /sbin/ldconfig
-
%postun -n libfltk1 -p /sbin/ldconfig
%files devel
-%defattr(-,root,root)
%doc examples makeinclude
%doc %{_docdir}/fltk-devel
%{_mandir}/man*/*
@@ -133,12 +129,10 @@
%{_bindir}/*
%files -n libfltk1
-%defattr(-,root,root)
%doc CHANGES COPYING README
%{_libdir}/*.so.*
%files devel-static
-%defattr(0644,root,root)
%{_libdir}/libfltk*.a
%changelog
++++++ fltk-1.3.4-fltk_config.patch ++++++
diff -up fltk-1.3.4-1/fltk-config.in.fltk_config fltk-1.3.4-1/fltk-config.in
--- fltk-1.3.4-1/fltk-config.in.fltk_config 2016-01-30 20:49:56.000000000 -0600
+++ fltk-1.3.4-1/fltk-config.in 2017-03-04 12:29:28.910316677 -0600
@@ -44,8 +44,8 @@ CXX="@CXX@"
# flags for C++ compiler:
ARCHFLAGS="@ARCHFLAGS@"
-CFLAGS="@CFLAGS@ @LARGEFILE@ @PTHREAD_FLAGS@"
-CXXFLAGS="@CXXFLAGS@ @LARGEFILE@ @PTHREAD_FLAGS@"
+CFLAGS=""
+CXXFLAGS=""
LDFLAGS="@LDFLAGS@"
LDLIBS="@LIBS@"
OPTIM="@OPTIM@"
@@ -228,7 +228,7 @@ if test "$BINARY_DIR" != ""; then
includes="-I$BINARY_DIR $includes"
fi
-if test "$libdir" != /usr/lib -a "$libdir" != /usr/lib32; then
+if test "$libdir" != /usr/lib -a "$libdir" != /usr/lib32 -a "$libdir" != /usr/lib64; then
libs=-L$libdir
else
libs=
@@ -236,28 +236,28 @@ fi
# Calculate needed libraries
LDSTATIC="$libdir/libfltk.a $LDLIBS"
-LDLIBS="-lfltk$SHAREDSUFFIX $LDLIBS"
+LDLIBS="-lfltk$SHAREDSUFFIX"
if test x$use_forms = xyes; then
LDLIBS="-lfltk_forms$SHAREDSUFFIX $LDLIBS"
LDSTATIC="$libdir/libfltk_forms.a $LDSTATIC"
fi
if test x$use_gl = xyes; then
- LDLIBS="-lfltk_gl$SHAREDSUFFIX @GLLIB@ $LDLIBS"
+ LDLIBS="-lfltk_gl$SHAREDSUFFIX $LDLIBS"
LDSTATIC="$libdir/libfltk_gl.a @GLLIB@ $LDSTATIC"
fi
if test x$use_images = xyes; then
- LDLIBS="-lfltk_images$SHAREDSUFFIX $IMAGELIBS $LDLIBS"
+ LDLIBS="-lfltk_images$SHAREDSUFFIX $LDLIBS"
LDSTATIC="$libdir/libfltk_images.a $STATICIMAGELIBS $LDSTATIC"
fi
if test x$use_cairo = xyes; then
- LDLIBS="-lfltk_cairo$SHAREDSUFFIX $CAIROLIBS $LDLIBS"
+ LDLIBS="-lfltk_cairo$SHAREDSUFFIX $LDLIBS"
LDSTATIC="$libdir/libfltk_cairo.a $CAIROLIBS $LDSTATIC"
fi
-LDLIBS="$DSOLINK $LDFLAGS $libs $LDLIBS"
-LDSTATIC="$LDFLAGS $LDSTATIC"
+LDLIBS="$libs $LDLIBS"
+#LDSTATIC="$LDFLAGS $LDSTATIC"
# Answer to user requests
if test -n "$echo_help"; then
1
0
Hello community,
here is the log from the commit of package patterns-devel-base for openSUSE:Factory checked in at 2017-07-30 11:24:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/patterns-devel-base (Old)
and /work/SRC/openSUSE:Factory/.patterns-devel-base.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "patterns-devel-base"
Sun Jul 30 11:24:44 2017 rev:3 rq:510965 version:20170319
Changes:
--------
--- /work/SRC/openSUSE:Factory/patterns-devel-base/patterns-devel-base.changes 2017-05-20 10:09:18.336825921 +0200
+++ /work/SRC/openSUSE:Factory/.patterns-devel-base.new/patterns-devel-base.changes 2017-07-30 11:24:45.215631264 +0200
@@ -1,0 +2,6 @@
+Mon Jul 17 06:32:17 UTC 2017 - sflees(a)suse.de
+
+- Don't require cvs anymore (not common anymore).
+- Recommend git.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ patterns-devel-base.spec ++++++
--- /var/tmp/diff_new_pack.2b3khz/_old 2017-07-30 11:24:45.779551691 +0200
+++ /var/tmp/diff_new_pack.2b3khz/_new 2017-07-30 11:24:45.783551126 +0200
@@ -55,7 +55,6 @@
Requires: binutils
Requires: bison
Requires: cpp
-Requires: cvs
Requires: flex
Requires: gcc
Requires: gdbm-devel
@@ -72,6 +71,7 @@
Recommends: db-devel
Recommends: gcc-c++
Recommends: gcc-info
+Recommends: git
Recommends: glibc-info
Recommends: gmp-devel
Recommends: gperf
1
0
Hello community,
here is the log from the commit of package perl-Encode-JIS2K for openSUSE:Factory checked in at 2017-07-30 11:24:38
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Encode-JIS2K (Old)
and /work/SRC/openSUSE:Factory/.perl-Encode-JIS2K.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-Encode-JIS2K"
Sun Jul 30 11:24:38 2017 rev:22 rq:510961 version:0.02
Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Encode-JIS2K/perl-Encode-JIS2K.changes 2014-11-13 09:19:33.000000000 +0100
+++ /work/SRC/openSUSE:Factory/.perl-Encode-JIS2K.new/perl-Encode-JIS2K.changes 2017-07-30 11:24:41.228193922 +0200
@@ -1,0 +2,5 @@
+Mon Jul 3 10:58:01 UTC 2017 - bwiedemann(a)suse.com
+
+- Add reproducible.patch to sort hash keys to fix build-compare
+
+-------------------------------------------------------------------
New:
----
reproducible.patch
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-Encode-JIS2K.spec ++++++
--- /var/tmp/diff_new_pack.HqN3VP/_old 2017-07-30 11:24:42.607999221 +0200
+++ /var/tmp/diff_new_pack.HqN3VP/_new 2017-07-30 11:24:42.611998656 +0200
@@ -23,6 +23,8 @@
Url: http://search.cpan.org/~dankogai/Encode-JIS2K-0.02/
Source0: http://search.cpan.org/CPAN/authors/id/D/DA/DANKOGAI/Encode-JIS2K-0.02.tar.…
Patch0: perl-Encode-JIS2K.patch
+# PATCH-FIX-UPSTREAM in 0.03
+Patch1: reproducible.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
Summary: JIS X 0212 (aka JIS 2000) Encodings
License: Artistic-1.0
@@ -47,6 +49,7 @@
%prep
%setup -q -n Encode-JIS2K-%{version}
%patch0 -p1
+%patch1 -p1
%build
CFLAGS="$RPM_OPT_FLAGS" perl Makefile.PL
++++++ reproducible.patch ++++++
Sort hash keys list
because we want reproducible output
even though hash order is undeterministic
See https://reproducible-builds.org/ for why this is good.
Index: Encode-JIS2K-0.02/Makefile.PL
===================================================================
--- Encode-JIS2K-0.02.orig/Makefile.PL
+++ Encode-JIS2K-0.02/Makefile.PL
@@ -73,7 +73,7 @@ sub post_initialize
$self->{'C'} = ["$name.c"];
# $self->{'H'} = [$self->catfile($self->updir,'encode.h')];
my %xs;
- foreach my $table (keys %tables) {
+ foreach my $table (sort keys %tables) {
push (@{$self->{'C'}},"$table.c");
# Do NOT add $table.h etc. to H_FILES unless we own up as to how they
# get built.
@@ -91,7 +91,7 @@ sub post_initialize
#define U8 U8
#include "encode.h"
END
- foreach my $table (keys %tables) {
+ foreach my $table (sort keys %tables) {
print XS qq[#include "${table}.h"\n];
}
print XS <<"END";
@@ -120,7 +120,7 @@ PROTOTYPES: DISABLE
BOOT:
{
END
- foreach my $table (keys %tables) {
+ foreach my $table (sort keys %tables) {
print XS qq[#include "${table}.exh"\n];
}
print XS "}\n";
@@ -134,14 +134,14 @@ sub postamble
my $dir = "."; # $self->catdir('Encode');
my $str = "# $name\$(OBJ_EXT) depends on .h and .exh files not .c files - but all written by enc2xs\n";
$str .= "$name.c : $name.xs ";
- foreach my $table (keys %tables)
+ foreach my $table (sort keys %tables)
{
$str .= " $table.c";
}
$str .= "\n\n";
$str .= "$name\$(OBJ_EXT) : $name.c\n\n";
- foreach my $table (keys %tables)
+ foreach my $table (sort keys %tables)
{
my $numlines = 1;
my $lengthsofar = length($str);
1
0
Hello community,
here is the log from the commit of package openmpi for openSUSE:Factory checked in at 2017-07-30 11:24:32
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/openmpi (Old)
and /work/SRC/openSUSE:Factory/.openmpi.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "openmpi"
Sun Jul 30 11:24:32 2017 rev:63 rq:510960 version:1.10.7
Changes:
--------
--- /work/SRC/openSUSE:Factory/openmpi/openmpi-testsuite.changes 2017-07-12 19:34:07.632270352 +0200
+++ /work/SRC/openSUSE:Factory/.openmpi.new/openmpi-testsuite.changes 2017-07-30 11:24:34.281174200 +0200
@@ -1,0 +2,10 @@
+Thu Jul 13 08:00:03 UTC 2017 - nmoreychaisemartin(a)suse.com
+
+- Disable rpath in pkgconfig files
+
+-------------------------------------------------------------------
+Tue Jul 11 09:44:34 UTC 2017 - nmoreychaisemartin(a)suse.com
+
+- Do not require openucx libs for suse_version < 1320
+
+-------------------------------------------------------------------
--- /work/SRC/openSUSE:Factory/openmpi/openmpi.changes 2017-07-12 19:34:08.516145646 +0200
+++ /work/SRC/openSUSE:Factory/.openmpi.new/openmpi.changes 2017-07-30 11:24:35.892946766 +0200
@@ -1,0 +2,15 @@
+Mon Jul 17 10:53:05 UTC 2017 - dmueller(a)suse.com
+
+- disable ucx on all ARM platform variants (all of them are 32bit)
+
+-------------------------------------------------------------------
+Thu Jul 13 08:00:03 UTC 2017 - nmoreychaisemartin(a)suse.com
+
+- Disable rpath in pkgconfig files
+
+-------------------------------------------------------------------
+Tue Jul 11 09:44:34 UTC 2017 - nmoreychaisemartin(a)suse.com
+
+- Do not require openucx libs for suse_version < 1320
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ openmpi-testsuite.spec ++++++
--- /var/tmp/diff_new_pack.PSpbyr/_old 2017-07-30 11:24:36.988792134 +0200
+++ /var/tmp/diff_new_pack.PSpbyr/_new 2017-07-30 11:24:36.996791006 +0200
@@ -26,9 +26,11 @@
# To enable them, simply uncomment:
# % define build_static_devel 1
+%if 0%{?suse_version} >= 1320
%ifnarch s390 armv7hl %{ix86}
%define with_ucx 1
%endif
+%endif
Name: openmpi-testsuite
Version: 1.10.7
@@ -195,6 +197,7 @@
%{!?build_static_devel:--disable-static} \
--with-libltdl=%{_prefix} \
--with-verbs \
+ --disable-wrapper-rpath \
%if 0%{?with_ucx}
--with-ucx \
--with-ucx-libdir=/usr/%_lib \
++++++ openmpi.spec ++++++
--- /var/tmp/diff_new_pack.PSpbyr/_old 2017-07-30 11:24:37.032785926 +0200
+++ /var/tmp/diff_new_pack.PSpbyr/_new 2017-07-30 11:24:37.036785362 +0200
@@ -26,9 +26,11 @@
# To enable them, simply uncomment:
# % define build_static_devel 1
-%ifnarch s390 armv7hl %{ix86}
+%if 0%{?suse_version} >= 1320
+%ifnarch s390 %arm %ix86
%define with_ucx 1
%endif
+%endif
Name: openmpi
Version: 1.10.7
@@ -195,6 +197,7 @@
%{!?build_static_devel:--disable-static} \
--with-libltdl=%{_prefix} \
--with-verbs \
+ --disable-wrapper-rpath \
%if 0%{?with_ucx}
--with-ucx \
--with-ucx-libdir=/usr/%_lib \
1
0
Hello community,
here is the log from the commit of package chromaprint for openSUSE:Factory checked in at 2017-07-30 11:24:22
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/chromaprint (Old)
and /work/SRC/openSUSE:Factory/.chromaprint.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "chromaprint"
Sun Jul 30 11:24:22 2017 rev:15 rq:510937 version:1.4.2
Changes:
--------
--- /work/SRC/openSUSE:Factory/chromaprint/chromaprint.changes 2017-02-06 14:33:00.608359929 +0100
+++ /work/SRC/openSUSE:Factory/.chromaprint.new/chromaprint.changes 2017-07-30 11:24:30.241744195 +0200
@@ -1,0 +2,36 @@
+Mon Jul 17 07:28:37 UTC 2017 - alarrosa(a)suse.com
+
+- Update to 1.4.2:
+ * Fixed invalid memory access when decoding base64-encoded fingerprints.
+ * Removed unnecessary library dependencies libchromaprint to avoid
+ circular dependency problems with FFmpeg.
+- Rebase chromaprint-ffmpeg-pkgconfig.patch
+- Drop chromaprint-ffmpeg-API.patch which isn't needed anymore.
+
+- Update to 1.4.1:
+ * Restored the -v/-version parameter for fpcalc that got accidentally
+ removed in 1.4.
+ * Fixed processing of some short audio files. They were ignored in 1.4.
+ * The DURATION field in the default output of fpcalc is now printed as an
+ integer again.
+ * Added missing version number to libchromaprint.pc.
+ * Linux fpcalc builds are now fully static.
+
+- Update to 1.4.0:
+ * Fully streaming audio processing without any post-processing step
+ for the fingerprint generation.
+ * Many performance optimizations. Especially when processing long streams,
+ operations should be faster and use less memory.
+ * C++11 compiler is now required for building the library.
+ * The public C API now uses standard fixed-size int types from stdint.h
+ (breaks backwards compatibility).
+ * All code written for the library is now distributed under the MIT license.
+ * Kiss FFT is now included with the library and automatically used if
+ no other FFT library is found.
+ * Added support for using the FFTW3F version of FFTW3.
+ * Boost is no longer used.
+
+- Update to 1.3.2:
+ * Fixed crash on an invalid audio file that FFmpeg could not decode.
+
+-------------------------------------------------------------------
Old:
----
chromaprint-1.3.1.tar.gz
chromaprint-ffmpeg-API.patch
New:
----
chromaprint-1.4.2.tar.gz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ chromaprint.spec ++++++
--- /var/tmp/diff_new_pack.r0gsGR/_old 2017-07-30 11:24:31.117620601 +0200
+++ /var/tmp/diff_new_pack.r0gsGR/_new 2017-07-30 11:24:31.121620038 +0200
@@ -20,21 +20,15 @@
%define soname 1
%bcond_without ffmpeg
Name: chromaprint
-Version: 1.3.1
+Version: 1.4.2
Release: 0
Summary: Audio Fingerprinting Library
-License: GPL-2.0+
+License: MIT and LGPL-2.1
Group: System/Libraries
Url: http://acoustid.org/chromaprint
Source0: https://bitbucket.org/acoustid/chromaprint/downloads/chromaprint-%{version}…
Source1: baselibs.conf
Patch0: chromaprint-ffmpeg-pkgconfig.patch
-Patch1: chromaprint-ffmpeg-API.patch
-%if 0%{?suse_version} > 1325
-BuildRequires: libboost_headers-devel
-%else
-BuildRequires: boost-devel
-%endif
BuildRequires: cmake
BuildRequires: fftw3-devel
BuildRequires: gcc-c++
@@ -96,15 +90,14 @@
%prep
%setup -q
%patch0 -p1
-%patch1 -p1
%build
%cmake \
-DCMAKE_SKIP_RPATH=TRUE \
-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE \
%if %{with ffmpeg}
- -DWITH_AVFFT=ON \
- -DBUILD_EXAMPLES=ON \
+ -DUSE_AVFFT=ON \
+ -DBUILD_TOOLS=ON
%endif
make %{?_smp_mflags}
@@ -118,7 +111,7 @@
%files -n libchromaprint%{soname}
%defattr(-,root,root)
-%doc COPYING.txt NEWS.txt README.md
+%doc LICENSE.md NEWS.txt README.md
%{_libdir}/libchromaprint.so.%{soname}
%{_libdir}/libchromaprint.so.%{soname}.*
++++++ chromaprint-1.3.1.tar.gz -> chromaprint-1.4.2.tar.gz ++++++
++++ 21190 lines of diff (skipped)
++++++ chromaprint-ffmpeg-pkgconfig.patch ++++++
--- /var/tmp/diff_new_pack.r0gsGR/_old 2017-07-30 11:24:31.369585048 +0200
+++ /var/tmp/diff_new_pack.r0gsGR/_new 2017-07-30 11:24:31.373584483 +0200
@@ -99,8 +99,8 @@
SET(FFMPEG_FOUND "NO")
# Note we don't check FFMPEG_LIBSWSCALE_FOUND here, it's optional.
--IF (FFMPEG_LIBAVFORMAT_FOUND AND FFMPEG_LIBAVDEVICE_FOUND AND FFMPEG_LIBAVCODEC_FOUND AND FFMPEG_LIBAVUTIL_FOUND AND FFMPEG_STDINT_INCLUDE_DIR)
-+IF (FFMPEG_LIBAVFORMAT_FOUND AND FFMPEG_LIBAVDEVICE_FOUND AND FFMPEG_LIBAVCODEC_FOUND AND FFMPEG_LIBAVUTIL_FOUND)
+-IF (FFMPEG_LIBAVFORMAT_FOUND AND FFMPEG_LIBAVCODEC_FOUND AND FFMPEG_LIBAVUTIL_FOUND AND FFMPEG_STDINT_INCLUDE_DIR)
++IF (FFMPEG_LIBAVFORMAT_FOUND AND FFMPEG_LIBAVCODEC_FOUND AND FFMPEG_LIBAVUTIL_FOUND)
SET(FFMPEG_FOUND "YES")
1
0