Development Using Samba 4

Similar documents
Samba 4 Status Report

Gerald Carter Samba Team/HP

Samba4 Status - April Andrew Tridgell Samba Team

Samba4 Progress - March Andrew Tridgell Samba Team

Advances in the Samba Testsuite

Samba. OpenLDAP Developer s Day. Volker Lendecke, Günther Deschner Samba Team

Badlock. One Year In Security Hell. Stefan Metzmacher Samba Team / SerNet

Beyond the Horizon. What's after Samba 3.0? (Or is the earth really flat?)

Jelmer Vernooij. April 21, 2008

Towards full NTFS semantics in Samba. Andrew Tridgell

Clustered Samba Not just a hack any more

CTDB + Samba: Scalable Network Storage For The Cloud. Storage Networking World Europe 2011

A new DCERPC infrastructure for Samba

DCERPC and Endpoint Mapper

A new DCERPC infrastructure for Samba

Distributed Systems. Hajussüsteemid MTAT Distributed File Systems. (slides: adopted from Meelis Roos DS12 course) 1/25

Clustered NAS For Everyone Clustering Samba With CTDB. NLUUG Spring Conference 2009 File Systems and Storage

SMB. / / 80-. /,,,, /scalability/ mainframe. / . ",,!. # $ " fail sharing,,. % ,,. " 90-, 12, /.! database.! /DBMS/.

SMB3 and Linux Seamless POSIX file serving. Jeremy Allison Samba Team.

Implementing the Witness protocol in Samba

Beyond Technical Fulfillment

Exploring SMB. Andrew Tridgell. May 8, 2000

As for the requirement of having a USB 3.0 port, you will come to know the reason in the next section.

Clustered NAS For Everyone Clustering Samba With CTDB A Tutorial At sambaxp 2009

Jeremy Allison Samba Team

Clustering Samba With CTDB A Tutorial At sambaxp 2010

Clustering Samba With CTDB A Tutorial At sambaxp 2010

Chapter 64 Filesystems

Microsoft SMB Looking Forward. Tom Talpey Microsoft

To Boldly Go.. The effect of Microsoft's protocol documents on the appliance industry

The State of Samba (June 2011) Jeremy Allison Samba Team/Google Open Source Programs Office

Emulating Windows file serving on POSIX. Jeremy Allison Samba Team

Nathan Rittenhouse

The CephFS Gateways Samba and NFS-Ganesha. David Disseldorp Supriti Singh

Introducing Microsoft s commitment to interoperability (Office, Windows, and SQL)

Chapter 2. Switch Concepts and Configuration. Part II

FILE EXCHANGE PROTOCOLS AND ZERO CONFIGURATION NETWORKING

SMB3.1.1 POSIX Protocol Extensions: Summary and Current Implementation Status

Samba in a cross protocol environment

POSTGRESQL PROJECT ITS ORGANIZATION, ITS CONTRIBUTORS

Improving DCERPC Security

Setting Up SAMBA. And the response was: salmonberry samba sawtimber scramble. Thus, the name Samba was born.

Improving DCERPC Security Hardening

What s New for Oracle Java Cloud Service. On Oracle Cloud Infrastructure and Oracle Cloud Infrastructure Classic. Topics: Oracle Cloud

InDepth A Guided Tour of Ethereal

Level 3 Computing Year 2 Lecturer: Phil Smith

From an open storage solution to a clustered NAS appliance

Distributed file systems

Table des matières. SAP NetWeaver 7.5 on SUSE Linux Enterprise Server for SAP. Installation Guide

Linux File Systems: Challenges and Futures Ric Wheeler Red Hat

Simo Sorce Samba Team.

IPv6 implementation testing: Results from some TAHI tests

Solving Linux File System Pain Points. Steve French Samba Team & Linux Kernel CIFS VFS maintainer Principal Software Engineer Azure Storage

QuickSpecs. HP Advanced Server V5.1B-5 for UNIX. Overview. Retired

WebDAV and Apache. Greg Stein.

SharkFest'17 US. Analysis Visualizations. Robert Bullen Blue Cross and Blue Shield of Minnesota

ZAP Innovations. OWASP Zed Attack Proxy. Simon Bennetts. OWASP AppSec EU Hamburg The OWASP Foundation

Name : Bobby Davasia Title : Technology Specialist Company : Microsoft

Implementing SMB2 in Samba. Opening Windows to a Wider. Jeremy Allison Samba Team/Google Open Source Programs Office

CPSC 467: Cryptography and Computer Security

Lecture 15: Network File Systems

Chapter 1 Preliminaries

Architecture for Massively Parallel HDL Simulations Rich Porter Art of Silicon

Operational Interface: Requirements and Design Considerations. EVLA Monitor & Control Software PDR

Computer Forensics: Investigating Network Intrusions and Cybercrime, 2nd Edition. Chapter 2 Investigating Network Traffic

HP Advanced Server V5.1B-3 for UNIX. Overview

SDC EMEA 2019 Tel Aviv

The User in the Loop Extensibility, Guile, and GNU GNU Hackers Meeting 2011 Andy Wingo

ClearEnv Advantage What ClearEnv adds to your ClearCase Platform. A GoMidjets White Paper

PLAYING NICE WITH OTHERS: Samba HA with Pacemaker

e4 Project 0.9 Release Review

What s New for Oracle Internet of Things Cloud Service. Topics: Oracle Cloud. What's New for Oracle Internet of Things Cloud Service Release 17.4.

Chapter 1. Preliminaries

The Challenge. Thank you for helping us get more leads and increase sales from the website! - Clara Custodio Marketing Manager, Consensus

Chapter 2. Operating-System Structures

Lecture #1 4 th Year M.Sc. Dina Rafaa Ahmed

The opensuse project. Motivation, Goals, and Opportunities. Sonja Krause-Harder Michael Löffler. March 6, 2006

CIFS Acceleration. BoF Discussion Topic. Led by Mark Rabinovich Architect, Visuality Systems, Israel

Open Source Storage. Ric Wheeler Architect & Senior Manager April 30, 2012

Target Management New and Noteworthy. Martin Oberhuber, Wind River

IBM TPF Toolkit VisualAge TPF

How to use TLS in MyPBX

Samba4: War Stories. Andrew Bartlett Samba Team / Red Hat

MQ Jumping... Or, move to the front of the queue, pass go and collect 200

Chapter 2: Operating-System Structures

Chapter 1. Preliminaries

The Future of Protocol and SMB2/3 Analysis Paul Long Dave MacDonald Microsoft

An Introduction to Unix Power Tools

Alfresco ACE001. Alfresco Certified Engineer. Download Full Version :

The Storage Networking Industry Association (SNIA) Data Preservation and Metadata Projects. Bob Rogers, Application Matrix

Oracle Application Express How It s Made November 15, 2011

Oracle Communications WebRTC Session Controller

Programmable Peer-to-Peer Systems

Automate to Innovate L EA RN WHAT SCRIPTING CAN DO FOR YOU P U N E E T S I N G H

An Introduction to GPFS

Experiences in Clustering CIFS for IBM Scale Out Network Attached Storage (SONAS)

CASE STUDY USER INTERNET MANAGEMENT DESIGN CHOICES

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edition

Scope Statement For Shared Key Authentication and Encryption in Lustre 2.X

FUDConBrussels. Fedora Project 24 February Fedora/ RedHat Directory Server. by Jens Kühnel (Germany) Jens Kühnel

Transcription:

Development Using Jelmer Vernooij Samba Team / OpenChange Team jelmer@samba.org Epitech November 2007 1

Agenda The SMB protocol Samba Quick history Development Process Exported libraries OpenChange 2

The SMB protocol Protocol for simple file sharing between DOS machines Created in 1983 at IBM by Barry Feigenbaum Aimed at low-end pcs, so optimized for speed Development continued by Microsoft as of later 80's Somewhat documented 3

Feature Creep Used as transport for other protocols: RAP: Remote administration Mailslots: Browsing the network DCE/RPC: Printing, Remote Login, Registry,... Several extensions: Dialects for different Windows versions Various mechanisms for authentication 4

DCE/RPC Generic protocol for remote function calls Interface specified in Interface Description Language (IDL) Marshalling code generated by IDL compiler Used for printing, registry,... 5

Samba 6

Samba Implementation of SMB and related protocols for POSIX-systems Originally developed in '91 by Andrew Tridgell Free Software (GPL) Development team of ~30 people 10-15 active contributors 7

Samba Mapping Differences in semantics Unix: case-sensitive Windows: case-insensitive, but case-preserving Strange attributes: Delete-on-close Streams Jelmer Vernooij 8

Samba - The Code Languages used: Mostly C Some perl (during building only) Scripting in JavaScript Soon to be replaced by Python Test driven development (... mostly) 9

Originally started in 2003, as an effort to improve the SMB server Later became the effort to get an AD DC working Strong focus on the right infrastructure 14000 commits since April 2004, 4000 in the last year 10

- On our way to an alpha Improvements in the last year Protocol knowledge Protocol Coverage Usability Improvements Development Tool Improvements 11

Development Process 12

Test driven development 1)Write test that checks a feature is present 2)Check that test fails 3)Implement the feature 4)Make sure test succeeds 13

Samba Interoperability Reasonably well documented at first Competition with NFS original reason for specification RFC1000/RFC1001 Renamed to CIFS : Common Internet File System Since '98 mostly undocumented Jelmer Vernooij 14

Samba Specifications The only spec I trust is written in C - Andrew Tridgell Jelmer Vernooij 15

Samba Network Analysis Passive 1.Try operation between two Windows machines 2.Hardcode result in own implementation 3.Change input to determine other fields Active Try other values for fields and see if that changes the return value Not the same thing as reverse engineering French Café Jelmer Vernooij 16

Samba Network Analysis - Example Jelmer Vernooij 17

Samba Wireshark Most important tool during network analysis Already decodes a lot of protocols Free Software Jelmer Vernooij 18

Samba Man in the middle Intercepts server traffic Change it Send modified request to client Jelmer Vernooij 19

Samba Gentest 1)Generate random commands 2)Send commands to Windows and Samba 3)Compare results 4)Repeat 1-3 until there is a difference 5)Backtrack Jelmer Vernooij 20

Code Coverage Percentage of the code that is run during the testsuite 41.6% now! 21

22

Static Analysis (checker) Analyses source code without running it Developed by IBM Run regularly on the build farm 23

Build Farm http://build.samba.org/ Continuously builds Samba on various hosts Different operating systems Now shows test coverage List with most often broken tests 24

Samba Libraries libsmbclient Used by GNOME, KDE for accessing files on remote machines DCE/RPC Used by OpenChange 25

OpenChange Built on top of Samba4 Uses the DCE/RPC library for client side access and the IDL compiler Hooks into smbtorture 26

Releases TP4: January 2007 TP5: May 2007 Alpha1: September Alpha2: January 2008? 27

Contribute! IRC: #samba-technical on irc.freenode.net Mailing list: samba-technical@samba.org Wiki: http://wiki.samba.org/ 28