Portsnap
Encyclopedia
Portsnap is a system written by Colin Percival for secure distribution of compressed
Data compression
In computer science and information theory, data compression, source coding or bit-rate reduction is the process of encoding information using fewer bits than the original representation would use....

, digitally signed
Cryptography
Cryptography is the practice and study of techniques for secure communication in the presence of third parties...

 snapshots of the FreeBSD ports tree
FreeBSD Ports
The FreeBSD Ports collection is a package management system for the FreeBSD operating system, providing an easy and consistent way of installing software packages. As of October 2011, there are over 22,700 ports available in the collection...

. The distribution follows the client–server model and uses the transport
Transport layer
In computer networking, the transport layer or layer 4 provides end-to-end communication services for applications within a layered architecture of network components and protocols...

 protocol HTTP (pipelined HTTP).

As of FreeBSD 6.0, portsnap is a part of the base system (including 5.5). In previous versions it was installed from ports. It's a standalone program which can be run manually or in a cron job.

As such, it is one of alternatives to the classic cvsup
CVSup
CVSup is a computer program written for Unix/Linux based systems that synchronizes files and directories from one location to another while minimizing data transfer using file-type specific delta encoding when appropriate...

 method. Its advantages include:
  • secure transfer - encrypted and signed data stream, not vulnerable to man-in-the-middle attack
    Man-in-the-middle attack
    In cryptography, the man-in-the-middle attack , bucket-brigade attack, or sometimes Janus attack, is a form of active eavesdropping in which the attacker makes independent connections with the victims and relays messages between them, making them believe that they are talking directly to each other...

    s
  • end-to-end
    End-to-end
    End-to-end or End to End may refer to:*Land's End to John o'Groats, the journey from "End to End" across Great Britain*End-to-end auditable voting systems, a voting system*End-to-end principle, a principal design element of the Internet...

     connectivity (as opposed to mirrors with cvsup)
  • delta-based distribution - effective for small and frequent updates
  • HTTP is used as protocol (as opposed to custom protocol of cvsup)


Another alternative to cvsup is CVSync (used to manage the OpenBSD source tree), it shares cvsup disadvantages, though.

The portsnap package is distributed under the 2-clause BSD license.
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK